diff --git a/README.md b/README.md index 4f5ba9a..6adf388 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,30 @@ agentic git commit generate tool - 架构文档:`docs/architecture.md` - 功能文档:`docs/features.md` - 路线图文档:`docs/roadmap.md` +- 桌面端进度:`docs/desktop-status.md` - Copilot DCOS:`docs/copilot-dcos.md` +## Desktop Client (Wails v3) + +- 桌面端代码位于:`desktop/` +- 该子项目不会影响现有 CLI(`main.go` / `bootstrap.Main()` 保持不变) + +快速启动: + +```bash +cd desktop +go run github.com/wailsapp/wails/v3/cmd/wails3@latest generate bindings -clean=true -ts -i +cd frontend && npm install && npm run build +cd .. +go run . +``` + +如果本机已安装 `wails3`,可直接在 `desktop/` 下执行: + +```bash +wails3 dev +``` + ## Command Overview - `fastgit commit`: AI 提交流程(保留原行为) - `fastgit commit ai`: AI 提交流程显式入口(新增) diff --git a/Taskfile.yml b/Taskfile.yml index 337caf8..6996cbd 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -5,6 +5,8 @@ version: '3' dotenv: [ '.env' ] vars: Project: "fastgit" + DesktopDir: "./desktop" + FrontendDir: "./desktop/frontend" Base: "github.com/pubgo/funk/buildinfo" VERSION: sh: "git tag --sort=committerdate | tail -n 1" @@ -70,3 +72,68 @@ tasks: lint: cmds: - golangci-lint run --verbose ./... + + desktop:bindings: + desc: "generate Wails bindings for desktop frontend" + dir: "{{.DesktopDir}}" + cmds: + - go run github.com/wailsapp/wails/v3/cmd/wails3@latest generate bindings -clean=true -ts -i + + desktop:node:check: + desc: "check Node.js version for Vite 8 (>=20.19 or >=22.12)" + run: once + cmds: + - | + node -e ' + const [maj, min] = process.versions.node.split(".").map(Number); + const ok = (maj === 20 && min >= 19) || (maj === 22 && min >= 12) || maj > 22; + if (!ok) { + console.error("Node.js " + process.versions.node + " is not supported."); + console.error("Please use Node >=20.19.0 or >=22.12.0 for Vite 8."); + process.exit(1); + } + console.log("Node.js " + process.versions.node + " OK"); + ' + + desktop:frontend:install: + desc: "install desktop frontend dependencies" + dir: "{{.FrontendDir}}" + deps: + - desktop:node:check + cmds: + - npm install + + desktop:frontend:build: + desc: "build desktop frontend assets" + dir: "{{.FrontendDir}}" + cmds: + - task: desktop:frontend:install + - task: desktop:bindings + - npm run build + + desktop:test: + desc: "run desktop go tests" + dir: "{{.DesktopDir}}" + cmds: + - go test ./... + + desktop:run: + desc: "run desktop app from embedded frontend dist" + dir: "{{.DesktopDir}}" + cmds: + - task: desktop:frontend:build + - go run . + + desktop:dev: + desc: "run desktop app in local dev mode (no wails3 hot reload)" + dir: "{{.DesktopDir}}" + cmds: + - task: desktop:node:check + - task: desktop:frontend:build + - go run . + + desktop:verify: + desc: "desktop regression baseline (build + tests)" + cmds: + - task: desktop:frontend:build + - task: desktop:test diff --git a/assets/fastgit-logo-icon.svg b/assets/fastgit-logo-icon.svg new file mode 100644 index 0000000..205e3fb --- /dev/null +++ b/assets/fastgit-logo-icon.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fastgit-logo.svg b/assets/fastgit-logo.svg new file mode 100644 index 0000000..6f241be --- /dev/null +++ b/assets/fastgit-logo.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + fastgit + diff --git a/desktop/.gitignore b/desktop/.gitignore new file mode 100644 index 0000000..f786193 --- /dev/null +++ b/desktop/.gitignore @@ -0,0 +1 @@ +frontend/node_modules diff --git a/desktop/README.md b/desktop/README.md new file mode 100644 index 0000000..fffe795 --- /dev/null +++ b/desktop/README.md @@ -0,0 +1,58 @@ +# fastgit desktop (Wails v3) + +该桌面端当前采用“SDK/方法调用”模型,不再通过输入命令字符串再解析执行。 +前端采用 React + feature 分层组织(参考 colanode 的 app/layout/features 结构)。 + +## 当前开发状态 + +最新进度见: + +- `../docs/desktop-status.md` + +当前桌面端已覆盖模块: + +- repo / remote / branch / worktree / issue / pr / tag + +并支持: + +- 全局 project/repo 命名空间切换 +- 项目默认值(base branch / remote) +- 列表页搜索、过滤、排序、批量操作 +- 高风险动作 `RESET` 二次确认(force sync 类) + +## Quick Tasks (from repo root) + +```bash +task desktop:frontend:build +task desktop:test +task desktop:verify +task desktop:run +task desktop:dev +``` + +`task desktop:dev` 当前是本地开发运行(会先构建前端,然后 `go run .`),不依赖 `build/config.yml`。 + +## Run in dev mode + +```bash +cd desktop/frontend +npm install +npm run build +cd .. +go run . +``` + +> 如果你本机安装了 `wails3`,也可使用 `wails3 dev`。 + +## Build desktop app + +```bash +wails3 build +``` + +## 最小验证建议 + +1. 启动后切换不同模块,确认会自动进入对应列表页。 +2. 在列表页执行搜索/过滤/排序,确认计数与详情联动。 +3. 对 `强制对齐` 类动作,确认未输入 `RESET` 无法执行。 +4. 配置会话 GitHub Token 后,Issue/PR 列表可正常读取。 diff --git a/desktop/assets/fastgit-icon.png b/desktop/assets/fastgit-icon.png new file mode 100644 index 0000000..5637fc5 Binary files /dev/null and b/desktop/assets/fastgit-icon.png differ diff --git a/desktop/frontend/bindings/fastgitdesktop/fastgitservice.ts b/desktop/frontend/bindings/fastgitdesktop/fastgitservice.ts new file mode 100644 index 0000000..374659f --- /dev/null +++ b/desktop/frontend/bindings/fastgitdesktop/fastgitservice.ts @@ -0,0 +1,34 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore: Unused imports +import { Call as $Call, CancellablePromise as $CancellablePromise } from "@wailsio/runtime"; + +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore: Unused imports +import * as $models from "./models.js"; + +export function GetGitHubAuthStatus(): $CancellablePromise<$models.GitHubAuthStatus> { + return $Call.ByID(2218531742); +} + +export function GetModules(): $CancellablePromise<$models.DesktopModule[] | null> { + return $Call.ByID(1211788486); +} + +export function GetRepoRoot(): $CancellablePromise { + return $Call.ByID(853311305); +} + +export function RunAction(req: $models.ActionRunRequest): $CancellablePromise<$models.CommandResult> { + return $Call.ByID(465937298, req); +} + +export function SetGitHubToken(token: string): $CancellablePromise { + return $Call.ByID(35429655, token); +} + +export function SetRepoRoot(path: string): $CancellablePromise { + return $Call.ByID(2463093517, path); +} diff --git a/desktop/frontend/bindings/fastgitdesktop/index.ts b/desktop/frontend/bindings/fastgitdesktop/index.ts new file mode 100644 index 0000000..24ef5bf --- /dev/null +++ b/desktop/frontend/bindings/fastgitdesktop/index.ts @@ -0,0 +1,16 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +import * as FastgitService from "./fastgitservice.js"; +export { + FastgitService +}; + +export type { + ActionField, + ActionRunRequest, + CommandResult, + DesktopModule, + GitHubAuthStatus, + ModuleAction +} from "./models.js"; diff --git a/desktop/frontend/bindings/fastgitdesktop/models.ts b/desktop/frontend/bindings/fastgitdesktop/models.ts new file mode 100644 index 0000000..8979e3a --- /dev/null +++ b/desktop/frontend/bindings/fastgitdesktop/models.ts @@ -0,0 +1,44 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export interface ActionField { + "key": string; + "label": string; + "placeholder": string; + "required": boolean; + "default": string; +} + +export interface ActionRunRequest { + "moduleID": string; + "actionID": string; + "values": { [_ in string]?: string } | null; +} + +export interface CommandResult { + "command": string; + "output": string; + "exitCode": number; + "startedAt": string; + "endedAt": string; +} + +export interface DesktopModule { + "id": string; + "title": string; + "description": string; + "actions": ModuleAction[] | null; +} + +export interface GitHubAuthStatus { + "configured": boolean; + "source": string; + "message": string; +} + +export interface ModuleAction { + "id": string; + "title": string; + "description": string; + "fields": ActionField[] | null; +} diff --git a/desktop/frontend/bindings/github.com/wailsapp/wails/v3/internal/eventcreate.ts b/desktop/frontend/bindings/github.com/wailsapp/wails/v3/internal/eventcreate.ts new file mode 100644 index 0000000..1ea1058 --- /dev/null +++ b/desktop/frontend/bindings/github.com/wailsapp/wails/v3/internal/eventcreate.ts @@ -0,0 +1,9 @@ +//@ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore: Unused imports +import { Create as $Create } from "@wailsio/runtime"; + +Object.freeze($Create.Events); diff --git a/desktop/frontend/bindings/github.com/wailsapp/wails/v3/internal/eventdata.d.ts b/desktop/frontend/bindings/github.com/wailsapp/wails/v3/internal/eventdata.d.ts new file mode 100644 index 0000000..3dd1807 --- /dev/null +++ b/desktop/frontend/bindings/github.com/wailsapp/wails/v3/internal/eventdata.d.ts @@ -0,0 +1,2 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT diff --git a/desktop/frontend/dist/assets/action-dialog-CI5VSazp.js b/desktop/frontend/dist/assets/action-dialog-CI5VSazp.js new file mode 100644 index 0000000..4a46da2 --- /dev/null +++ b/desktop/frontend/dist/assets/action-dialog-CI5VSazp.js @@ -0,0 +1 @@ +import{t as e}from"./app-CCqtl2WX.js";export{e as ActionDialog}; \ No newline at end of file diff --git a/desktop/frontend/dist/assets/app-CCqtl2WX.js b/desktop/frontend/dist/assets/app-CCqtl2WX.js new file mode 100644 index 0000000..a3fc73f --- /dev/null +++ b/desktop/frontend/dist/assets/app-CCqtl2WX.js @@ -0,0 +1,149 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/repo-switcher-BudR4k4a.js","assets/index-BaDRNaZh.js","assets/index-Dj7MsT2x.css","assets/input-DPo2rTu5.js","assets/button-DLXsC9bG.js"])))=>i.map(i=>d[i]); +import{a as e,i as t,n,o as r,s as i,t as a}from"./index-BaDRNaZh.js";import{$ as o,$t as s,A as c,An as l,At as u,B as d,Bt as f,C as p,Cn as m,Ct as h,D as g,Dn as _,Dt as v,E as y,En as b,Et as x,F as S,Fn as C,Ft as w,G as T,Gt as E,H as D,Ht as O,I as k,In as A,It as j,J as M,Jt as N,K as P,Kt as F,L as I,Ln as L,Lt as R,M as z,Mn as B,Mt as V,N as H,Nn as U,Nt as W,O as G,On as ee,Ot as K,P as te,Pn as ne,Pt as q,Q as J,Qt as re,R as ie,Rt as Y,S as ae,Sn as oe,St as se,T as ce,Tn as le,Tt as ue,U as de,Ut as fe,V as pe,Vt as me,W as he,Wt as ge,X as _e,Xt as ve,Y as ye,Yt as be,Z as xe,Zt as X,_ as Se,_n as Ce,_t as we,a as Te,an as Ee,at as De,b as Oe,bn as ke,bt as Ae,c as je,cn as Me,ct as Ne,d as Pe,dn as Fe,dt as Ie,en as Le,et as Re,f as ze,fn as Be,ft as Ve,g as He,gn as Ue,gt as We,h as Ge,hn as Ke,ht as qe,i as Je,in as Ye,it as Xe,j as Ze,jn as Qe,jt as $e,k as et,kn as tt,kt as nt,l as rt,ln as it,lt as at,m as ot,mn as st,mt as ct,n as lt,nn as ut,nt as dt,o as ft,on as pt,ot as mt,p as ht,pn as gt,pt as _t,q as vt,qt as yt,r as bt,rn as xt,rt as St,s as Ct,sn as wt,st as Tt,t as Et,tn as Dt,tt as Ot,u as kt,un as At,ut as jt,v as Mt,vn as Nt,vt as Pt,w as Ft,wn as It,wt as Lt,x as Rt,xn as zt,xt as Bt,y as Vt,yn as Ht,yt as Ut,z as Wt,zt as Gt}from"./input-DPo2rTu5.js";import{i as Kt,n as qt,r as Jt,t as Yt}from"./button-DLXsC9bG.js";var Xt=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z`}}]},name:`check-circle`,theme:`filled`}})),Z=i(e()),Zt=i(Xt());function Qt(){return Qt=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Qt({},e,{ref:t,icon:Zt.default}))),en=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z`}}]},name:`exclamation-circle`,theme:`filled`}}))());function tn(){return tn=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,tn({},e,{ref:t,icon:en.default}))),rn=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z`}}]},name:`info-circle`,theme:`filled`}}))());function an(){return an=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,an({},e,{ref:t,icon:rn.default})));function sn(e,t){return Ae.reduce((n,r)=>{let i=e[`${r}1`],a=e[`${r}3`],o=e[`${r}6`],s=e[`${r}7`];return{...n,...t(r,{lightColor:i,lightBorderColor:a,darkColor:o,textColor:s})}},{})}var cn=(e,t,n)=>({background:e,[`${n}-icon`]:{color:t}}),ln=e=>{let{componentCls:t,motionDurationSlow:n,marginXS:r,marginSM:i,fontSize:a,fontSizeLG:o,lineHeight:s,borderRadiusLG:c,motionEaseInOutCirc:l,withDescriptionIconSize:u,colorText:d,colorTextHeading:f,withDescriptionPadding:p,defaultPadding:m,lineWidth:h,lineType:g,colorSuccessBorder:_,colorWarningBorder:v,colorErrorBorder:y,colorInfoBorder:b}=e;return{[t]:{...q(e),position:`relative`,display:`flex`,alignItems:`center`,padding:m,wordWrap:`break-word`,borderRadius:c,borderWidth:Y(h),borderStyle:g,[`&${t}-success`]:{borderColor:_},[`&${t}-info`]:{borderColor:b},[`&${t}-warning`]:{borderColor:v},[`&${t}-error`]:{borderColor:y},[`&${t}-filled`]:{borderColor:`transparent`},[`&${t}-rtl`]:{direction:`rtl`},[`${t}-section`]:{flex:1,minWidth:0},[`${t}-icon`]:{marginInlineEnd:r,lineHeight:0},"&-description":{display:`none`,fontSize:a,lineHeight:s},"&-title":{color:f},[`&${t}-motion-leave`]:{overflow:`hidden`,opacity:1,transition:[`max-height`,`opacity`,`padding-top`,`padding-bottom`,`margin-bottom`].map(e=>`${e} ${n} ${l}`).join(`, `)},[`&${t}-motion-leave-active`]:{maxHeight:0,marginBottom:`0 !important`,paddingTop:0,paddingBottom:0,opacity:0},[`&${t}-with-description`]:{alignItems:`flex-start`,padding:p,[`${t}-icon`]:{marginInlineEnd:i,fontSize:u,lineHeight:0},[`${t}-title`]:{display:`block`,marginBottom:r,color:f,fontSize:o},[`${t}-description`]:{display:`block`,color:d}},[`&${t}-banner`]:{marginBottom:0,border:`0 !important`,borderRadius:0}}}},un=e=>{let{componentCls:t,colorSuccess:n,colorSuccessBg:r,colorWarning:i,colorWarningBg:a,colorError:o,colorErrorBg:s,colorInfo:c,colorInfoBg:l}=e;return{[t]:{"&-success":cn(r,n,t),"&-info":cn(l,c,t),"&-warning":cn(a,i,t),"&-error":{...cn(s,o,t),[`${t}-description > pre`]:{margin:0,padding:0}}}}},dn=e=>{let{componentCls:t,iconCls:n,motionDurationMid:r,marginXS:i,fontSizeIcon:a,colorIcon:o,colorIconHover:s}=e;return{[t]:{[`${t}-actions`]:{marginInlineStart:i},[`${t}-close-icon`]:{marginInlineStart:i,padding:0,overflow:`hidden`,fontSize:a,lineHeight:Y(a),backgroundColor:`transparent`,border:`none`,cursor:`pointer`,...V(e),[`${n}-close`]:{color:o,transition:`color ${r}`,"&:hover":{color:s}}},"&-close-text":{color:o,transition:`color ${r}`,"&:hover":{color:s}}}}},fn=we(`Alert`,e=>[ln(e),un(e),dn(e)],e=>({withDescriptionIconSize:e.fontSizeHeading3,defaultPadding:`${e.paddingContentVerticalSM}px 12px`,withDescriptionPadding:`${e.paddingMD}px ${e.paddingContentHorizontalLG}px`})),pn=e=>{let{icon:t,type:n,className:r,style:i,successIcon:a,infoIcon:o,warningIcon:s,errorIcon:c}=e,l={success:a??Z.createElement($t,null),info:o??Z.createElement(on,null),error:c??Z.createElement(C,null),warning:s??Z.createElement(nn,null)};return Z.createElement(`span`,{className:r,style:i},t??l[n])},mn=e=>{let{isClosable:t,prefixCls:n,closeIcon:r,handleClose:i,ariaProps:a,className:o,style:s}=e,c=r===!0||r===void 0?Z.createElement(ne,null):r;return t?Z.createElement(`button`,{type:`button`,onClick:i,className:L(`${n}-close-icon`,o),tabIndex:0,style:s,...a},c):null},hn=Z.forwardRef((e,t)=>{let{description:n,prefixCls:r,message:i,title:a,banner:o,className:s,rootClassName:c,style:l,onMouseEnter:u,onMouseLeave:d,onClick:p,afterClose:m,showIcon:h,closable:g,closeText:_,closeIcon:v,action:y,id:b,styles:x,classNames:S,...C}=e,w=a??i,[T,D]=Z.useState(!1),k=Z.useRef(null);Z.useImperativeHandle(t,()=>({nativeElement:k.current}));let{getPrefixCls:A,direction:j,variant:M,closable:N,closeIcon:P,className:F,style:I,classNames:R,styles:z,successIcon:B,infoIcon:V,warningIcon:H,errorIcon:U}=f(`alert`),W=A(`alert`,r),[G,ee]=fn(W),{onClose:K,afterClose:te}=yt(g)?g:{},ne=t=>{D(!0),(K??e.onClose)?.(t)},q=Z.useMemo(()=>e.type===void 0?o?`warning`:`info`:e.type,[e.type,o]),J=e.variant??M??`outlined`,ie=Z.useMemo(()=>yt(g)&&g.closeIcon||_?!0:typeof g==`boolean`?g:v!==!1&&E(v)?!0:!!N,[_,v,g,N]),Y=o&&h===void 0?!0:h,ae={...e,prefixCls:W,variant:J,type:q,showIcon:Y,closable:ie},oe=fe(I),se=fe(l),[ce,le]=O([R,S],[z,oe,x,se],{props:ae}),ue=L(W,`${W}-${q}`,`${W}-${J}`,{[`${W}-with-description`]:!!n,[`${W}-no-icon`]:!Y,[`${W}-banner`]:!!o,[`${W}-rtl`]:j===`rtl`},F,s,c,ce.root,ee,G),de=Ee(C,{aria:!0,data:!0}),pe=Z.useMemo(()=>yt(g)&&g.closeIcon?g.closeIcon:_||(v===void 0?yt(N)&&N.closeIcon?N.closeIcon:P:v),[v,g,N,_,P]),me=Z.useMemo(()=>{let e=g??N;return yt(e)?Ee(e,{data:!0,aria:!0}):{}},[g,N]);return Z.createElement(re,{visible:!T,motionName:`${W}-motion`,motionAppear:!1,motionEnter:!1,onLeaveStart:e=>({maxHeight:e.offsetHeight}),onLeaveEnd:te??m},({className:t,style:r},i)=>Z.createElement(`div`,{id:b,ref:Ht(k,i),"data-show":!T,className:L(ue,t),style:{...le.root,...r},onMouseEnter:u,onMouseLeave:d,onClick:p,role:`alert`,...de},Y?Z.createElement(pn,{className:L(`${W}-icon`,ce.icon),style:le.icon,description:n,icon:e.icon,prefixCls:W,type:q,successIcon:B,infoIcon:V,warningIcon:H,errorIcon:U}):null,Z.createElement(`div`,{className:L(`${W}-section`,ce.section),style:le.section},w?Z.createElement(`div`,{className:L(`${W}-title`,ce.title),style:le.title},w):null,n?Z.createElement(`div`,{className:L(`${W}-description`,ce.description),style:le.description},n):null),y?Z.createElement(`div`,{className:L(`${W}-actions`,ce.actions),style:le.actions},y):null,Z.createElement(mn,{className:ce.close,style:le.close,isClosable:ie,prefixCls:W,closeIcon:pe,handleClose:ne,ariaProps:me})))});function gn(e,t,n){return t=x(t),Lt(e,ue()?Reflect.construct(t,n||[],x(e).constructor):t.apply(e,n))}var _n=function(e){function t(){var e;return nt(this,t),e=gn(this,t,arguments),e.state={error:void 0,info:{}},e}return v(t,e),K(t,[{key:`componentDidCatch`,value:function(e,t){this.setState({error:e,info:t})}},{key:`render`,value:function(){let{message:e,title:t,description:n,id:r,children:i}=this.props,{error:a,info:o}=this.state,s=t??e,c=o?.componentStack||null,l=E(s)?s:a?.toString(),u=E(n)?n:c;return a?Z.createElement(hn,{id:r,type:`error`,title:l,description:Z.createElement(`pre`,{style:{fontSize:`0.9em`,overflowX:`auto`}},u)}):i}}])}(Z.PureComponent),vn=hn;vn.ErrorBoundary=_n;var yn=e=>{if(!e)return;let{closable:t,closeIcon:n}=e;return{closable:t,closeIcon:n}},bn={},xn=(e,t)=>{if(!e&&(e===!1||t===!1||t===null))return!1;if(!E(e)&&!E(t))return null;let n={closeIcon:typeof t!=`boolean`&&E(t)?t:void 0};return yt(e)&&(n={...n,...e}),n},Sn=(e,t,n)=>e===!1?!1:e?ut(n,t,e):t===!1?!1:t?ut(n,t):n.closable?n:!1,Cn=(e,t,n)=>{let{closeIconRender:r}=t,{closeIcon:i,...a}=e,o=i,s=Ee(a,!0);return E(o)&&(r&&(o=r(o)),o=Z.isValidElement(o)?Z.cloneElement(o,{"aria-label":n,...o.props,...s}):Z.createElement(`span`,{"aria-label":n,...s},o)),[o,s]},wn=(e,t,n=bn,r=`Close`)=>{let i=xn(e?.closable,e?.closeIcon),a=xn(t?.closable,t?.closeIcon),o={closeIcon:Z.createElement(ne,null),...n},s=Sn(i,a,o),c=typeof s==`boolean`?!1:!!s?.disabled;if(s===!1)return[!1,null,c,{}];let[l,u]=Cn(s,o,r);return[!0,l,c,u]},Tn=(e,t,n=bn)=>{let[r]=Ve(`global`,ct.global);return Z.useMemo(()=>wn(e,t,{closeIcon:Z.createElement(ne,null),...n},r.close),[e,t,n,r.close])},En=()=>Z.useReducer(e=>e+1,0),Dn=(e,t)=>{let n={};return yt(e)&&(n=e),typeof e==`boolean`&&(n={enabled:e}),n.closable===void 0&&t!==void 0&&(n.closable=t),n},On=(e,t,n,r)=>(0,Z.useMemo)(()=>{let i=Dn(e,r),a=Dn(t),o={blur:!1,...a,...i,closable:i.closable??r??a.closable??!0},s=o.blur?`${n}-mask-blur`:void 0;return[o.enabled!==!1,{mask:s},!!o.closable]},[e,t,n,r]),kn=e=>{let[t,n]=(0,Z.useState)(null);return[(0,Z.useCallback)((r,i,a)=>{let o=t??r,s=Math.min(o||0,r),c=Math.max(o||0,r),l=i.slice(s,c+1).map(e),u=l.some(e=>!a.has(e)),d=[];return l.forEach(e=>{u?(a.has(e)||d.push(e),a.add(e)):(a.delete(e),d.push(e))}),n(u?c:null),d},[t]),n]},An=()=>{let[e,t]=Z.useState([]);return[e,Z.useCallback(e=>(t(t=>[].concat(X(t),[e])),()=>{t(t=>t.filter(t=>t!==e))}),[])]},jn=(e,t)=>(e._antProxy=e._antProxy||{},Object.keys(t).forEach(n=>{if(!(n in e._antProxy)){let r=e[n];e._antProxy[n]=r,e[n]=t[n]}}),e),Mn=(e,t)=>(0,Z.useImperativeHandle)(e,()=>{let e=t(),{nativeElement:n}=e;return typeof Proxy<`u`?new Proxy(n,{get(t,n){return e[n]?e[n]:Reflect.get(t,n)}}):jn(n,e)}),Nn=e=>{let t=Z.useRef(e),[,n]=En();return[()=>t.current,e=>{t.current=e,n()}]},Pn=e=>{let{componentCls:t,antCls:n,motionDurationMid:r,motionEaseInOut:i}=e;return{[t]:{[`${n}-motion-collapse-legacy`]:{overflow:`hidden`,"&-active":{transition:`${[`height`,`opacity`].map(e=>`${e} ${r} ${i}`).join(`, `)} !important`}},[`${n}-motion-collapse`]:{overflow:`hidden`,transition:`${[`height`,`opacity`].map(e=>`${e} ${r} ${i}`).join(`, `)} !important`}}}},Fn=new R(`antFadeIn`,{"0%":{opacity:0},"100%":{opacity:1}}),In=new R(`antFadeOut`,{"0%":{opacity:1},"100%":{opacity:0}}),Ln=(e,t=!1)=>{let{antCls:n}=e,r=`${n}-fade`,i=t?`&`:``;return[he(r,Fn,In,e.motionDurationMid,t),{[` + ${i}${r}-enter, + ${i}${r}-appear + `]:{opacity:0,animationTimingFunction:`linear`},[`${i}${r}-leave`]:{animationTimingFunction:`linear`}}]},Rn=new R(`antZoomIn`,{"0%":{transform:`scale(0.2)`,opacity:0},"100%":{transform:`scale(1)`,opacity:1}}),zn=new R(`antZoomOut`,{"0%":{transform:`scale(1)`},"100%":{transform:`scale(0.2)`,opacity:0}}),Bn=new R(`antZoomBigIn`,{"0%":{transform:`scale(0.8)`,opacity:0},"100%":{transform:`scale(1)`,opacity:1}}),Vn=new R(`antZoomBigOut`,{"0%":{transform:`scale(1)`},"100%":{transform:`scale(0.8)`,opacity:0}}),Hn=new R(`antZoomUpIn`,{"0%":{transform:`scale(0.8)`,transformOrigin:`50% 0%`,opacity:0},"100%":{transform:`scale(1)`,transformOrigin:`50% 0%`}}),Un=new R(`antZoomUpOut`,{"0%":{transform:`scale(1)`,transformOrigin:`50% 0%`},"100%":{transform:`scale(0.8)`,transformOrigin:`50% 0%`,opacity:0}}),Wn=new R(`antZoomLeftIn`,{"0%":{transform:`scale(0.8)`,transformOrigin:`0% 50%`,opacity:0},"100%":{transform:`scale(1)`,transformOrigin:`0% 50%`}}),Gn=new R(`antZoomLeftOut`,{"0%":{transform:`scale(1)`,transformOrigin:`0% 50%`},"100%":{transform:`scale(0.8)`,transformOrigin:`0% 50%`,opacity:0}}),Kn=new R(`antZoomRightIn`,{"0%":{transform:`scale(0.8)`,transformOrigin:`100% 50%`,opacity:0},"100%":{transform:`scale(1)`,transformOrigin:`100% 50%`}}),qn=new R(`antZoomRightOut`,{"0%":{transform:`scale(1)`,transformOrigin:`100% 50%`},"100%":{transform:`scale(0.8)`,transformOrigin:`100% 50%`,opacity:0}}),Jn=new R(`antZoomDownIn`,{"0%":{transform:`scale(0.8)`,transformOrigin:`50% 100%`,opacity:0},"100%":{transform:`scale(1)`,transformOrigin:`50% 100%`}}),Yn=new R(`antZoomDownOut`,{"0%":{transform:`scale(1)`,transformOrigin:`50% 100%`},"100%":{transform:`scale(0.8)`,transformOrigin:`50% 100%`,opacity:0}}),Xn={zoom:{inKeyframes:Rn,outKeyframes:zn},"zoom-big":{inKeyframes:Bn,outKeyframes:Vn},"zoom-big-fast":{inKeyframes:Bn,outKeyframes:Vn},"zoom-left":{inKeyframes:Wn,outKeyframes:Gn},"zoom-right":{inKeyframes:Kn,outKeyframes:qn},"zoom-up":{inKeyframes:Hn,outKeyframes:Un},"zoom-down":{inKeyframes:Jn,outKeyframes:Yn}},Zn=(e,t)=>{let{antCls:n}=e,r=`${n}-${t}`,{inKeyframes:i,outKeyframes:a}=Xn[t];return[he(r,i,a,t===`zoom-big-fast`?e.motionDurationFast:e.motionDurationMid),{[` + ${r}-enter, + ${r}-appear + `]:{transform:`scale(0)`,opacity:0,animationTimingFunction:e.motionEaseOutCirc,"&-prepare":{transform:`none`}},[`${r}-leave`]:{animationTimingFunction:e.motionEaseInOutCirc}}]},Qn=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z`}}]},name:`right`,theme:`outlined`}}))());function $n(){return $n=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,$n({},e,{ref:t,icon:Qn.default})));function tr(){return tr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n=`rc-checkbox`,className:r,style:i,checked:a,disabled:o,defaultChecked:s=!1,type:c=`checkbox`,title:l,onChange:u,...d}=e,f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),[m,h]=ee(s,a);(0,Z.useImperativeHandle)(t,()=>({focus:e=>{f.current?.focus(e)},blur:()=>{f.current?.blur()},input:f.current,nativeElement:p.current}));let g=L(n,r,{[`${n}-checked`]:m,[`${n}-disabled`]:o});return Z.createElement(`span`,{className:g,title:l,style:i,ref:p},Z.createElement(`input`,tr({},d,{className:`${n}-input`,ref:f,onChange:t=>{o||(`checked`in e||h(t.target.checked),u?.({target:{...e,type:c,checked:t.target.checked},stopPropagation(){t.stopPropagation()},preventDefault(){t.preventDefault()},nativeEvent:t.nativeEvent}))},disabled:o,checked:!!m,type:c})))}),rr=Z.createContext(null),ir=e=>{let{checkboxCls:t,checkboxSize:n,lineWidth:r}=e,i=`${t}-wrapper`,a=`@media (hover: hover) and (pointer: fine)`;return[{[`${t}-group`]:{...q(e),display:`inline-flex`,flexWrap:`wrap`,columnGap:e.marginXS,[`> ${e.antCls}-row`]:{flex:1}},[i]:{...q(e),display:`inline-flex`,alignItems:`baseline`,cursor:`pointer`,"&:after":{display:`inline-block`,width:0,overflow:`hidden`,content:`'\\a0'`},[`& + ${i}`]:{marginInlineStart:0}},[t]:{...q(e),position:`relative`,whiteSpace:`nowrap`,lineHeight:1,cursor:`pointer`,alignSelf:`center`,boxSizing:`border-box`,display:`block`,width:n,height:n,direction:`ltr`,backgroundColor:e.colorBgContainer,border:`${Y(r)} ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadiusSM,borderCollapse:`separate`,transition:`all ${e.motionDurationSlow}`,flex:`none`,...H(),"&:after":{boxSizing:`border-box`,position:`absolute`,top:`calc(${n} / 2 - ${r})`,insetInlineStart:`calc(${n} / 4 - ${r})`,display:`table`,width:e.calc(n).div(14).mul(5).equal(),height:e.calc(n).div(14).mul(8).equal(),border:`${Y(e.lineWidthBold)} solid ${e.colorWhite}`,borderTop:0,borderInlineStart:0,transform:`rotate(45deg) scale(0) translate(-50%,-50%)`,opacity:0,content:`""`,transition:`all ${e.motionDurationFast} ${e.motionEaseInBack}, opacity ${e.motionDurationFast}`,...H()},[`${t}-input`]:{position:`absolute`,inset:`calc(-1 * (${r}))`,zIndex:1,cursor:`pointer`,opacity:0,margin:0},[`&:has(${t}-input:focus-visible)`]:$e(e),"& + span":{paddingInlineStart:e.paddingXS,paddingInlineEnd:e.paddingXS}}},{[a]:{[` + ${i}:not(${i}-disabled), + ${t}:not(${t}-disabled) + `]:{[`&:hover ${t}`]:{borderColor:e.colorPrimary}},[`${i}:not(${i}-disabled)`]:{[`&:hover ${t}-checked:not(${t}-disabled)`]:{backgroundColor:e.colorPrimaryHover,borderColor:`transparent`}}}},{[`${t}-checked`]:{backgroundColor:e.colorPrimary,borderColor:e.colorPrimary,"&:after":{opacity:1,transform:`rotate(45deg) scale(1) translate(-50%,-50%)`,transition:`all ${e.motionDurationMid} ${e.motionEaseOutBack} ${e.motionDurationFast}`,...H()},[a]:{[`&:not(${t}-disabled):hover`]:{backgroundColor:e.colorPrimaryHover,borderColor:`transparent`}}}},{[t]:{"&-indeterminate":{backgroundColor:e.colorBgContainer,borderColor:e.colorBorder,"&:after":{top:`50%`,insetInlineStart:`50%`,width:e.calc(e.fontSizeLG).div(2).equal(),height:e.calc(e.fontSizeLG).div(2).equal(),backgroundColor:e.colorPrimary,border:0,transform:`translate(-50%, -50%) scale(1)`,opacity:1,content:`""`},[a]:{[`&:not(${t}-disabled):hover`]:{backgroundColor:e.colorBgContainer,borderColor:e.colorPrimary}}}}},{[`${i}-disabled`]:{cursor:`not-allowed`},[`${t}-disabled`]:{[`&, ${t}-input`]:{cursor:`not-allowed`,pointerEvents:`none`},background:e.colorBgContainerDisabled,borderColor:e.colorBorder,"&:after":{borderColor:e.colorTextDisabled},"& + span":{color:e.colorTextDisabled},[`&${t}-indeterminate::after`]:{background:e.colorTextDisabled}}}]};function ar(e,t){return ir(h(t,{checkboxCls:`.${e}`,checkboxSize:t.controlInteractiveSize}))}var or=we(`Checkbox`,(e,{prefixCls:t})=>[ar(t,e)]);function sr(e){let t=Z.useRef(null),n=()=>{Ye.cancel(t.current),t.current=null};return[()=>{n(),t.current=Ye(()=>{t.current=null})},r=>{t.current&&(r.stopPropagation(),n()),e?.(r)}]}var cr=Z.forwardRef((e,t)=>{let{prefixCls:n,children:r,indeterminate:i=!1,onMouseEnter:a,onMouseLeave:o,skipGroup:s=!1,disabled:c,rootClassName:l,className:u,style:d,classNames:p,styles:m,name:h,value:_,checked:v,defaultChecked:b,onChange:x,...S}=e,{getPrefixCls:C,direction:w,className:T,style:E,classNames:D,styles:k}=f(`checkbox`),A=Z.useContext(rr),{isFormItemInput:j}=Z.useContext(y),M=Z.useContext(Xe),N=(A?.disabled||c)??M,[P,F]=ee(b,v),I=P,R=U(e=>{F(e.target.checked),x?.(e),!s&&A?.toggleOption&&A.toggleOption({label:r,value:_})});A&&!s&&(I=A.value.includes(_));let z=Z.useRef(null),B=It(t,z);Z.useEffect(()=>{if(!(s||!A))return A.registerValue(_),()=>{A.cancelValue(_)}},[_,s]),Z.useEffect(()=>{z.current?.input&&(z.current.input.indeterminate=i)},[i]);let V=C(`checkbox`,n),H=g(V),[W,G]=or(V,H),K={...S},te={...e,indeterminate:i,disabled:N,checked:I},ne=fe(E),q=fe(d),[J,re]=O([D,p],[k,ne,m,q],{props:te}),ie=L(`${V}-wrapper`,{[`${V}-rtl`]:w===`rtl`,[`${V}-wrapper-checked`]:I,[`${V}-wrapper-disabled`]:N,[`${V}-wrapper-in-form-item`]:j},T,u,J.root,l,G,H,W),Y=L(J.icon,{[`${V}-indeterminate`]:i},Ot,W),[ae,oe]=sr(K.onClick);return Z.createElement(Re,{component:`Checkbox`,disabled:N},Z.createElement(`label`,{className:ie,style:re.root,onMouseEnter:a,onMouseLeave:o,onClick:ae},Z.createElement(nr,{...K,name:!s&&A?A.name:h,checked:I,onClick:oe,onChange:R,prefixCls:V,className:Y,style:re.icon,disabled:N,ref:B,value:_}),be(r)&&Z.createElement(`span`,{className:L(`${V}-label`,J.label),style:re.label},r)))}),lr=Z.forwardRef((e,t)=>{let{defaultValue:n,children:r,options:i=[],prefixCls:a,className:o,rootClassName:s,style:c,onChange:l,role:u=`group`,...d}=e,{getPrefixCls:f,direction:p}=Z.useContext(Gt),[m,h]=Z.useState(d.value||n||[]),[_,v]=Z.useState([]);Z.useEffect(()=>{`value`in d&&h(d.value||[])},[d.value]);let y=Z.useMemo(()=>i.map(e=>typeof e==`string`||F(e)?{label:e,value:e}:e),[i]),b=e=>{v(t=>t.filter(t=>t!==e))},x=e=>{v(t=>[].concat(X(t),[e]))},S=e=>{let t=m.indexOf(e.value),n=X(m);t===-1?n.push(e.value):n.splice(t,1),`value`in d||h(n),l?.(n.filter(e=>_.includes(e)).sort((e,t)=>y.findIndex(t=>t.value===e)-y.findIndex(e=>e.value===t)))},C=f(`checkbox`,a),w=`${C}-group`,T=g(C),[E,D]=or(C,T),O=pt(d,[`value`,`disabled`]),k=i.length?y.map(e=>Z.createElement(cr,{prefixCls:C,key:e.value.toString(),disabled:`disabled`in e?e.disabled:d.disabled,value:e.value,checked:m.includes(e.value),onChange:e.onChange,className:L(`${w}-item`,e.className),style:e.style,title:e.title,id:e.id,required:e.required},e.label)):r,A=Z.useMemo(()=>({toggleOption:S,value:m,disabled:d.disabled,name:d.name,registerValue:x,cancelValue:b}),[S,m,d.disabled,d.name,x,b]),j=L(w,{[`${w}-rtl`]:p===`rtl`},o,s,D,T,E);return Z.createElement(`div`,{className:j,style:c,role:u,...O,ref:t},Z.createElement(rr.Provider,{value:A},k))}),ur=cr;ur.Group=lr,ur.__ANT_CHECKBOX=!0;var dr=e=>{let{type:t,children:n,prefixCls:r,buttonProps:i,close:a,autoFocus:o,emitEvent:s,isSilent:c,quitOnNullishReturnValue:l,actionFn:u}=e,d=Z.useRef(!1),f=Z.useRef(null),[p,m]=tt(!1),h=(...e)=>{a?.(...e)};Z.useEffect(()=>{let e=null;return o&&(e=setTimeout(()=>{f.current?.focus({preventScroll:!0})})),()=>{e&&clearTimeout(e)}},[o]);let g=e=>{ve(e)&&(m(!0),e.then((...e)=>{m(!1,!0),h.apply(void 0,e),d.current=!1},e=>{if(m(!1,!0),d.current=!1,!c?.())return Promise.reject(e)}))},_=e=>{if(d.current)return;if(d.current=!0,!u){h();return}let t;if(s){if(t=u(e),l&&!ve(t)){d.current=!1,h(e);return}}else if(u.length)t=u(a),d.current=!1;else if(t=u(),!ve(t)){h();return}g(t)};return Z.createElement(G,{...P(t),onClick:_,loading:p,prefixCls:r,...i,ref:f},n)},fr=Z.createContext({}),{Provider:pr}=fr,mr=()=>{let{autoFocusButton:e,cancelButtonProps:t,cancelTextLocale:n,isSilent:r,mergedOkCancel:i,rootPrefixCls:a,close:o,onCancel:s,onConfirm:c,onClose:l}=(0,Z.useContext)(fr);return i?Z.createElement(dr,{isSilent:r,actionFn:s,close:(...e)=>{o?.(...e),c?.(!1),l?.()},autoFocus:e===`cancel`,buttonProps:t,prefixCls:`${a}-btn`},n):null},hr=()=>{let{autoFocusButton:e,close:t,isSilent:n,okButtonProps:r,rootPrefixCls:i,okTextLocale:a,okType:o,onConfirm:s,onOk:c,onClose:l}=(0,Z.useContext)(fr);return Z.createElement(dr,{isSilent:n,type:o||`primary`,actionFn:c,close:(...e)=>{t?.(...e),s?.(!0),l?.()},autoFocus:e===`ok`,buttonProps:r,prefixCls:`${i}-btn`},a)},gr=Z.createContext({});function _r(e,t,n){let r=t;return!r&&n&&(r=`${e}-${n}`),r}function vr(e,t){let n=e[`page${t?`Y`:`X`}Offset`],r=`scroll${t?`Top`:`Left`}`;if(typeof n!=`number`){let t=e.document;n=t.documentElement[r],typeof n!=`number`&&(n=t.body[r])}return n}function yr(e){let t=e.getBoundingClientRect(),n={left:t.left,top:t.top},r=e.ownerDocument,i=r.defaultView||r.parentWindow;return n.left+=vr(i),n.top+=vr(i,!0),n}var br=Z.memo(({children:e})=>e,(e,{shouldUpdate:t})=>!t);function xr(){return xr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n,className:r,style:i,title:a,ariaId:o,footer:s,closable:c,closeIcon:l,onClose:u,children:d,bodyStyle:f,bodyProps:p,modalRender:m,onMouseDown:h,onMouseUp:g,holderRef:_,visible:v,forceRender:y,width:b,height:x,classNames:S,styles:C,isFixedPos:w,focusTrap:T}=e,{panel:E}=Z.useContext(gr),D=(0,Z.useRef)(null),O=It(_,E,D),[k]=Ke(v&&w&&T!==!1,()=>D.current);Z.useImperativeHandle(t,()=>({focus:()=>{D.current?.focus({preventScroll:!0})}}));let A={};b!==void 0&&(A.width=b),x!==void 0&&(A.height=x);let j=s?Z.createElement(`div`,{className:L(`${n}-footer`,S?.footer),style:{...C?.footer}},s):null,M=a?Z.createElement(`div`,{className:L(`${n}-header`,S?.header),style:{...C?.header}},Z.createElement(`div`,{className:L(`${n}-title`,S?.title),id:o,style:{...C?.title}},a)):null,N=(0,Z.useMemo)(()=>typeof c==`object`&&c?c:c?{closeIcon:l??Z.createElement(`span`,{className:`${n}-close-x`})}:{},[c,l,n]),P=Ee(N,!0),F=typeof c==`object`&&c.disabled,I=c?Z.createElement(`button`,xr({type:`button`,onClick:u,"aria-label":`Close`},P,{className:L(`${n}-close`,S?.close),disabled:F,style:C?.close}),N.closeIcon):null,R=Z.createElement(`div`,{className:L(`${n}-container`,S?.container),style:C?.container},I,M,Z.createElement(`div`,xr({className:L(`${n}-body`,S?.body),style:{...f,...C?.body}},p),d),j);return Z.createElement(`div`,{key:`dialog-element`,role:`dialog`,"aria-labelledby":a?o:null,"aria-modal":`true`,ref:O,style:{...i,...A},className:L(n,r),onMouseDown:h,onMouseUp:g,tabIndex:-1,onFocus:e=>{k(e.target)}},Z.createElement(br,{shouldUpdate:v||y},m?m(R):R))});function Cr(){return Cr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n,title:r,style:i,className:a,visible:o,forceRender:s,destroyOnHidden:c,motionName:l,ariaId:u,onVisibleChanged:d,mousePosition:f}=e,p=(0,Z.useRef)(null),m=(0,Z.useRef)(null);Z.useImperativeHandle(t,()=>({...m.current,inMotion:p.current.inMotion,enableMotion:p.current.enableMotion}));let[h,g]=Z.useState(),_={};h&&(_.transformOrigin=h);function v(){if(!p.current?.nativeElement)return;let e=yr(p.current.nativeElement);g(f&&(f.x||f.y)?`${f.x-e.left}px ${f.y-e.top}px`:``)}return Z.createElement(re,{visible:o,onVisibleChanged:d,onAppearPrepare:v,onEnterPrepare:v,forceRender:s,motionName:l,removeOnLeave:c,ref:p},({className:t,style:o},s)=>Z.createElement(Sr,Cr({},e,{ref:m,title:r,ariaId:u,prefixCls:n,holderRef:s,style:{...o,...i,..._},className:L(a,t)})))});function Tr(){return Tr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:t,style:n,visible:r,maskProps:i,motionName:a,className:o}=e;return Z.createElement(re,{key:`mask`,visible:r,motionName:a,leavedClassName:`${t}-mask-hidden`},({className:e,style:r},a)=>Z.createElement(`div`,Tr({ref:a,style:{...r,...n},className:L(`${t}-mask`,e,o)},i)))};function Dr(){return Dr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:t=`rc-dialog`,zIndex:n,visible:r=!1,focusTriggerAfterClose:i=!0,wrapStyle:a,wrapClassName:o,wrapProps:s,onClose:c,afterOpenChange:l,afterClose:u,transitionName:d,animation:f,closable:p=!0,mask:m=!0,maskTransitionName:h,maskAnimation:g,maskClosable:v=!0,maskStyle:y,maskProps:b,rootClassName:x,rootStyle:S,classNames:C,styles:w}=e,T=(0,Z.useRef)(null),E=(0,Z.useRef)(null),D=(0,Z.useRef)(null),[O,k]=Z.useState(r),[A,j]=Z.useState(!1),M=_();function N(){Nt(E.current,document.activeElement)||(T.current=document.activeElement)}function P(){Nt(E.current,document.activeElement)||D.current?.focus()}function F(){if(k(!1),m&&T.current&&i){try{T.current.focus({preventScroll:!0})}catch{}T.current=null}O&&u?.()}function I(e){e?P():F(),l?.(e)}function R(e){c?.(e)}let z=(0,Z.useRef)(!1),B=null;v&&(B=e=>{E.current===e.target&&z.current&&R(e)});function V(e){z.current=e.target===E.current}(0,Z.useEffect)(()=>{r?(z.current=!1,k(!0),N(),E.current&&j(getComputedStyle(E.current).position===`fixed`)):O&&D.current.enableMotion()&&!D.current.inMotion()&&F()},[r]);let H={zIndex:n,...a,...w?.wrapper,display:O?null:`none`};return Z.createElement(`div`,Dr({className:L(`${t}-root`,x),style:S},Ee(e,{data:!0})),Z.createElement(Er,{prefixCls:t,visible:m&&r,motionName:_r(t,h,g),style:{zIndex:n,...y,...w?.mask},maskProps:b,className:C?.mask}),Z.createElement(`div`,Dr({className:L(`${t}-wrap`,o,C?.wrapper),ref:E,onClick:B,onMouseDown:V,style:H},s),Z.createElement(wr,Dr({},e,{isFixedPos:A,ref:D,closable:p,ariaId:M,prefixCls:t,visible:r&&O,onClose:R,onVisibleChanged:I,motionName:_r(t,d,f)}))))};function kr(){return kr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{visible:t,getContainer:n,forceRender:r,destroyOnHidden:i=!1,afterClose:a,closable:o,panelRef:s,keyboard:c=!0,scrollLock:l=!0,onClose:u}=e,{scrollLock:d,...f}=e,[p,m]=Z.useState(t),h=Z.useMemo(()=>({panel:s}),[s]);return Z.useEffect(()=>{t&&m(!0)},[t]),!r&&i&&!p?null:Z.createElement(gr.Provider,{value:h},Z.createElement(Ie,{open:t||r||p,onEsc:({top:e,event:t})=>{if(e&&c){t.stopPropagation(),u?.(t);return}},autoDestroy:!1,getContainer:n,autoLock:l&&(t||p)},Z.createElement(Or,kr({},f,{destroyOnHidden:i,afterClose:()=>{let{afterClose:e}=(o&&typeof o==`object`?o:{})||{};e?.(),a?.(),m(!1)}}))))},jr=()=>B()&&window.document.documentElement;function Mr(e,t,n){return(0,Z.useMemo)(()=>({trap:t??!0,focusTriggerAfterClose:n??!0,...e}),[e,t,n])}var Nr=e=>{let{prefixCls:t,className:n,style:r,size:i,shape:a}=e,o=L({[`${t}-lg`]:i===`large`,[`${t}-sm`]:i===`small`}),s=L({[`${t}-circle`]:a===`circle`,[`${t}-square`]:a===`square`,[`${t}-round`]:a===`round`}),c=Z.useMemo(()=>F(i)?{width:i,height:i,lineHeight:`${i}px`}:{},[i]);return Z.createElement(`span`,{className:L(t,o,s,n),style:{...c,...r}})},Pr=new R(`ant-skeleton-loading`,{"0%":{backgroundPosition:`100% 50%`},"100%":{backgroundPosition:`0 50%`}}),Fr=e=>({height:e,lineHeight:Y(e)}),Ir=e=>({width:e,...Fr(e)}),Lr=e=>({background:e.skeletonLoadingBackground,backgroundSize:`400% 100%`,animationName:Pr,animationDuration:e.skeletonLoadingMotionDuration,animationTimingFunction:`ease`,animationIterationCount:`infinite`}),Rr=(e,t)=>({width:t(e).mul(5).equal(),minWidth:t(e).mul(5).equal(),...Fr(e)}),zr=e=>{let{skeletonAvatarCls:t,gradientFromColor:n,controlHeight:r,controlHeightLG:i,controlHeightSM:a}=e;return{[t]:{display:`inline-block`,verticalAlign:`top`,background:n,...Ir(r)},[`${t}${t}-circle`]:{borderRadius:`50%`},[`${t}${t}-lg`]:{...Ir(i)},[`${t}${t}-sm`]:{...Ir(a)}}},Br=e=>{let{controlHeight:t,borderRadiusSM:n,skeletonInputCls:r,controlHeightLG:i,controlHeightSM:a,gradientFromColor:o,calc:s}=e;return{[r]:{display:`inline-block`,verticalAlign:`top`,background:o,borderRadius:n,...Rr(t,s)},[`${r}-lg`]:{...Rr(i,s)},[`${r}-sm`]:{...Rr(a,s)}}},Vr=e=>{let{gradientFromColor:t,borderRadiusSM:n,imageSizeBase:r,calc:i}=e;return{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,verticalAlign:`middle`,background:t,borderRadius:n,...Ir(i(r).mul(2).equal())}},Hr=e=>({[e.skeletonNodeCls]:{...Vr(e)}}),Ur=e=>{let{skeletonImageCls:t,imageSizeBase:n,calc:r}=e;return{[t]:{...Vr(e),[`${t}-path`]:{fill:`#bfbfbf`},[`${t}-svg`]:{...Ir(n),maxWidth:r(n).mul(4).equal(),maxHeight:r(n).mul(4).equal()},[`${t}-svg${t}-svg-circle`]:{borderRadius:`50%`}},[`${t}${t}-circle`]:{borderRadius:`50%`}}},Wr=(e,t,n)=>{let{skeletonButtonCls:r}=e;return{[`${n}${r}-circle`]:{width:t,minWidth:t,borderRadius:`50%`},[`${n}${r}-round`]:{borderRadius:t}}},Gr=(e,t)=>({width:t(e).mul(2).equal(),minWidth:t(e).mul(2).equal(),...Fr(e)}),Kr=e=>{let{borderRadiusSM:t,skeletonButtonCls:n,controlHeight:r,controlHeightLG:i,controlHeightSM:a,gradientFromColor:o,calc:s}=e;return{[n]:{display:`inline-block`,verticalAlign:`top`,background:o,borderRadius:t,width:s(r).mul(2).equal(),minWidth:s(r).mul(2).equal(),...Gr(r,s)},...Wr(e,r,n),[`${n}-lg`]:{...Gr(i,s)},...Wr(e,i,`${n}-lg`),[`${n}-sm`]:{...Gr(a,s)},...Wr(e,a,`${n}-sm`)}},qr=e=>{let{componentCls:t,skeletonAvatarCls:n,skeletonTitleCls:r,skeletonParagraphCls:i,skeletonButtonCls:a,skeletonInputCls:o,skeletonNodeCls:s,skeletonImageCls:c,controlHeight:l,controlHeightLG:u,controlHeightSM:d,gradientFromColor:f,padding:p,marginSM:m,borderRadius:h,titleHeight:g,blockRadius:_,paragraphLiHeight:v,controlHeightXS:y,paragraphMarginTop:b}=e;return{[t]:{display:`table`,width:`100%`,[`${t}-header`]:{display:`table-cell`,paddingInlineEnd:p,verticalAlign:`top`,[n]:{display:`inline-block`,verticalAlign:`top`,background:f,...Ir(l)},[`${n}-circle`]:{borderRadius:`50%`},[`${n}-lg`]:{...Ir(u)},[`${n}-sm`]:{...Ir(d)}},[`${t}-section`]:{display:`table-cell`,width:`100%`,verticalAlign:`top`,[r]:{width:`100%`,height:g,background:f,borderRadius:_,[`+ ${i}`]:{marginBlockStart:d}},[i]:{padding:0,"> li":{width:`100%`,height:v,listStyle:`none`,background:f,borderRadius:_,"+ li":{marginBlockStart:y}}},[`${i}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:`61%`}},[`&-round ${t}-section`]:{[`${r}, ${i} > li`]:{borderRadius:h}}},[`${t}-with-avatar ${t}-section`]:{[r]:{marginBlockStart:m,[`+ ${i}`]:{marginBlockStart:b}}},[`${t}${t}-element`]:{display:`inline-block`,width:`auto`,...Kr(e),...zr(e),...Br(e),...Hr(e),...Ur(e)},[`${t}${t}-block`]:{width:`100%`,[a]:{width:`100%`},[o]:{width:`100%`}},[`${t}${t}-active`]:{[` + ${r}, + ${i} > li, + ${n}, + ${a}, + ${o}, + ${s}, + ${c} + `]:{...Lr(e)}}}},Jr=we(`Skeleton`,e=>{let{componentCls:t,calc:n}=e;return qr(h(e,{skeletonAvatarCls:`${t}-avatar`,skeletonTitleCls:`${t}-title`,skeletonParagraphCls:`${t}-paragraph`,skeletonButtonCls:`${t}-button`,skeletonInputCls:`${t}-input`,skeletonNodeCls:`${t}-node`,skeletonImageCls:`${t}-image`,imageSizeBase:n(e.controlHeight).mul(1.5).equal(),borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${e.gradientFromColor} 25%, ${e.gradientToColor} 37%, ${e.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:`1.4s`}))},e=>{let{colorFillContent:t,colorFill:n}=e,r=t,i=n;return{color:r,colorGradientEnd:i,gradientFromColor:r,gradientToColor:i,titleHeight:e.controlHeight/2,blockRadius:e.borderRadiusSM,paragraphMarginTop:e.marginLG+e.marginXXS,paragraphLiHeight:e.controlHeight/2}},{deprecatedTokens:[[`color`,`gradientFromColor`],[`colorGradientEnd`,`gradientToColor`]]}),Yr=e=>{let{prefixCls:t,className:n,classNames:r,rootClassName:i,active:a,style:s,styles:c,shape:l=`circle`,size:u,...d}=e,{getPrefixCls:f}=Z.useContext(Gt),p=f(`skeleton`,t),[m,h]=Jr(p),g=o(e=>u??e),_=L(p,`${p}-element`,{[`${p}-active`]:a},r?.root,n,i,m,h);return Z.createElement(`div`,{className:_,style:c?.root},Z.createElement(Nr,{prefixCls:`${p}-avatar`,className:r?.content,style:{...c?.content,...s},shape:l,size:g,...d}))},Xr=e=>{let{prefixCls:t,className:n,rootClassName:r,classNames:i,active:a,style:s,styles:c,block:l=!1,size:u,...d}=e,{getPrefixCls:f}=Z.useContext(Gt),p=f(`skeleton`,t),[m,h]=Jr(p),g=o(e=>u??e),_=L(p,`${p}-element`,{[`${p}-active`]:a,[`${p}-block`]:l},i?.root,n,r,m,h);return Z.createElement(`div`,{className:_,style:c?.root},Z.createElement(Nr,{prefixCls:`${p}-button`,className:i?.content,style:{...c?.content,...s},size:g,...d}))},Zr=e=>{let{prefixCls:t,className:n,classNames:r,rootClassName:i,internalClassName:a,style:o,styles:s,active:c,children:l}=e,{getPrefixCls:u}=Z.useContext(Gt),d=u(`skeleton`,t),[f,p]=Jr(d),m=L(d,`${d}-element`,{[`${d}-active`]:c},f,r?.root,n,i,p);return Z.createElement(`div`,{className:m,style:s?.root},Z.createElement(`div`,{className:L(r?.content,a||`${d}-node`),style:{...s?.content,...o}},l))},Qr=e=>{let{getPrefixCls:t}=Z.useContext(Gt),n=t(`skeleton`,e.prefixCls);return Z.createElement(Zr,{...e,internalClassName:`${n}-image`},Z.createElement(`svg`,{viewBox:`0 0 1098 1024`,xmlns:`http://www.w3.org/2000/svg`,className:`${n}-image-svg`},Z.createElement(`title`,null,`Image placeholder`),Z.createElement(`path`,{d:`M365.7 329.1q0 45.8-32 77.7t-77.7 32-77.7-32-32-77.7 32-77.6 77.7-32 77.7 32 32 77.6M951 548.6v256H146.3V694.9L329 512l91.5 91.4L713 311zm54.8-402.3H91.4q-7.4 0-12.8 5.4T73 164.6v694.8q0 7.5 5.5 12.9t12.8 5.4h914.3q7.5 0 12.9-5.4t5.4-12.9V164.6q0-7.5-5.4-12.9t-12.9-5.4m91.4 18.3v694.8q0 37.8-26.8 64.6t-64.6 26.9H91.4q-37.7 0-64.6-26.9T0 859.4V164.6q0-37.8 26.8-64.6T91.4 73h914.3q37.8 0 64.6 26.9t26.8 64.6`,className:`${n}-image-path`})))},$r=e=>{let{prefixCls:t,className:n,classNames:r,rootClassName:i,active:a,block:s,style:c,styles:l,size:u,...d}=e,{getPrefixCls:f}=Z.useContext(Gt),p=f(`skeleton`,t),[m,h]=Jr(p),g=o(e=>u??e),_=L(p,`${p}-element`,{[`${p}-active`]:a,[`${p}-block`]:s},r?.root,n,i,m,h);return Z.createElement(`div`,{className:_,style:l?.root},Z.createElement(Nr,{prefixCls:`${p}-input`,className:r?.content,style:{...l?.content,...c},size:g,...d}))},ei=(e,t)=>{let{width:n,rows:r=2}=t;if(Array.isArray(n))return n[e];if(r-1===e)return n},ti=e=>{let{prefixCls:t,className:n,style:r,rows:i=0}=e,a=Array.from({length:i}).map((t,n)=>Z.createElement(`li`,{key:n,style:{width:ei(n,e)}}));return Z.createElement(`ul`,{className:L(t,n),style:r},a)},ni=({prefixCls:e,className:t,width:n,style:r})=>Z.createElement(`h3`,{className:L(e,t),style:{width:n,...r}});function ri(e){return yt(e)?e:{}}function ii(e,t){return e&&!t?{size:`large`,shape:`square`}:{size:`large`,shape:`circle`}}function ai(e,t){return!e&&t?{width:`38%`}:e&&t?{width:`50%`}:{}}function oi(e,t){let n={};return(!e||!t)&&(n.width=`61%`),!e&&t?n.rows=3:n.rows=2,n}var si=e=>{let{prefixCls:t,loading:n,className:r,rootClassName:i,classNames:a,style:o,styles:s,children:c,avatar:l=!1,title:u=!0,paragraph:d=!0,active:p,round:m}=e,{getPrefixCls:h,direction:g,className:_,style:v,classNames:y,styles:b}=f(`skeleton`),x=h(`skeleton`,t),[S,C]=Jr(x),w={...e,avatar:l,title:u,paragraph:d},T=fe(v),E=fe(o),[D,k]=O([y,a],[b,T,s,E],{props:w});if(n||!(`loading`in e)){let e=!!l,t=!!u,n=!!d,a;if(e){let e={className:D.avatar,prefixCls:`${x}-avatar`,...ii(t,n),...ri(l),style:k.avatar};a=Z.createElement(`div`,{className:L(D.header,`${x}-header`),style:k.header},Z.createElement(Nr,{...e}))}let o;if(t||n){let r;if(t){let t={className:D.title,prefixCls:`${x}-title`,...ai(e,n),...ri(u),style:k.title};r=Z.createElement(ni,{...t})}let i;if(n){let n={className:D.paragraph,prefixCls:`${x}-paragraph`,...oi(e,t),...ri(d),style:k.paragraph};i=Z.createElement(ti,{...n})}o=Z.createElement(`div`,{className:L(D.section,`${x}-section`),style:k.section},r,i)}let s=L(x,{[`${x}-with-avatar`]:e,[`${x}-active`]:p,[`${x}-rtl`]:g===`rtl`,[`${x}-round`]:m},D.root,_,r,i,S,C);return Z.createElement(`div`,{className:s,style:k.root},a,o)}return c??null};si.Button=Xr,si.Avatar=Yr,si.Input=$r,si.Image=Qr,si.Node=Zr;var ci=si;function li(){}var ui=Z.createContext({add:li,remove:li});function di(e){let t=Z.useContext(ui),n=Z.useRef(null);return U(r=>{if(r){let i=e?r.querySelector(e):r;i&&(t.add(i),n.current=i)}else t.remove(n.current)})}var fi=()=>{let{cancelButtonProps:e,cancelTextLocale:t,onCancel:n}=(0,Z.useContext)(fr);return Z.createElement(G,{onClick:n,...e},t)},pi=()=>{let{confirmLoading:e,okButtonProps:t,okType:n,okTextLocale:r,onOk:i}=(0,Z.useContext)(fr);return Z.createElement(G,{...P(n),loading:e,onClick:i,...t},r)};function mi(e,t){return Z.createElement(`span`,{className:`${e}-close-x`},t||Z.createElement(ne,{className:`${e}-close-icon`}))}var hi=e=>{let{okText:t,okType:n=`primary`,cancelText:r,confirmLoading:i,onOk:a,onCancel:o,okButtonProps:s,cancelButtonProps:c,footer:l}=e,[u]=Ve(`Modal`,_t()),d=t||u?.okText,f=r||u?.cancelText,p=Z.useMemo(()=>({confirmLoading:i,okButtonProps:s,cancelButtonProps:c,okTextLocale:d,cancelTextLocale:f,okType:n,onOk:a,onCancel:o}),[i,s,c,d,f,n,a,o]),m;return ge(l)||l===void 0?(m=Z.createElement(Z.Fragment,null,Z.createElement(fi,null),Z.createElement(pi,null)),ge(l)&&(m=l(m,{OkBtn:pi,CancelBtn:fi})),m=Z.createElement(pr,{value:p},m)):m=l,Z.createElement(De,{disabled:!1},m)},gi=e=>{let{componentCls:t}=e;return{[t]:{display:`flex`,flexFlow:`row wrap`,minWidth:0,"&::before, &::after":{display:`flex`},"&-no-wrap":{flexWrap:`nowrap`},"&-start":{justifyContent:`flex-start`},"&-center":{justifyContent:`center`},"&-end":{justifyContent:`flex-end`},"&-space-between":{justifyContent:`space-between`},"&-space-around":{justifyContent:`space-around`},"&-space-evenly":{justifyContent:`space-evenly`},"&-top":{alignItems:`flex-start`},"&-middle":{alignItems:`center`},"&-bottom":{alignItems:`flex-end`}}}},_i=e=>{let{componentCls:t}=e;return{[t]:{position:`relative`,maxWidth:`100%`,minHeight:1}}},vi=(e,t)=>{let{componentCls:n,gridColumns:r,antCls:i}=e,[a,o]=We(i,`grid`),[,s]=We(i,`col`),c={};for(let e=r;e>=0;e--)e===0?(c[`${n}${t}-${e}`]={display:`none`},c[`${n}-push-${e}`]={insetInlineStart:`auto`},c[`${n}-pull-${e}`]={insetInlineEnd:`auto`},c[`${n}${t}-push-${e}`]={insetInlineStart:`auto`},c[`${n}${t}-pull-${e}`]={insetInlineEnd:`auto`},c[`${n}${t}-offset-${e}`]={marginInlineStart:0},c[`${n}${t}-order-${e}`]={order:0}):(c[`${n}${t}-${e}`]=[{[a(`display`)]:`block`,display:`block`},{display:o(`display`),flex:`0 0 ${e/r*100}%`,maxWidth:`${e/r*100}%`}],c[`${n}${t}-push-${e}`]={insetInlineStart:`${e/r*100}%`},c[`${n}${t}-pull-${e}`]={insetInlineEnd:`${e/r*100}%`},c[`${n}${t}-offset-${e}`]={marginInlineStart:`${e/r*100}%`},c[`${n}${t}-order-${e}`]={order:e});return c[`${n}${t}-flex`]={flex:s(`${t.replace(/-/,``)}-flex`)},c},yi=(e,t)=>vi(e,t),bi=(e,t,n)=>({[`@media (min-width: ${Y(t)})`]:{...yi(e,n)}}),xi=()=>({}),Si=()=>({});we(`Grid`,gi,xi);var Ci=e=>({xs:e.screenXSMin,sm:e.screenSMMin,md:e.screenMDMin,lg:e.screenLGMin,xl:e.screenXLMin,xxl:e.screenXXLMin,xxxl:e.screenXXXLMin});we(`Grid`,e=>{let t=h(e,{gridColumns:24}),n=Ci(t);return delete n.xs,[_i(t),yi(t,``),yi(t,`-xs`),Object.keys(n).map(e=>bi(t,n[e],`-${e}`)).reduce((e,t)=>({...e,...t}),{})]},Si);function wi(e){return{position:e,inset:0}}var Ti=e=>{let{componentCls:t,antCls:n}=e;return[{[`${t}-root`]:{[`${t}${n}-zoom-enter, ${t}${n}-zoom-appear`]:{transform:`none`,opacity:0,animationDuration:e.motionDurationSlow,userSelect:`none`},[`${t}${n}-zoom-leave ${t}-container`]:{pointerEvents:`none`},[`${t}-mask`]:{...wi(`fixed`),zIndex:e.zIndexPopupBase,height:`100%`,backgroundColor:e.colorBgMask,pointerEvents:`none`,[`&${t}-mask-blur`]:{backdropFilter:`blur(4px)`},[`${t}-hidden`]:{display:`none`}},[`${t}-wrap`]:{...wi(`fixed`),zIndex:e.zIndexPopupBase,overflow:`auto`,outline:0,WebkitOverflowScrolling:`touch`}}},{[`${t}-root`]:Ln(e)}]},Ei=e=>{let{componentCls:t,motionDurationMid:n}=e;return[{[`${t}-root`]:{[`${t}-wrap-rtl`]:{direction:`rtl`},[`${t}-centered`]:{textAlign:`center`,"&::before":{display:`inline-block`,width:0,height:`100%`,verticalAlign:`middle`,content:`""`},[t]:{top:0,display:`inline-block`,paddingBottom:0,textAlign:`start`,verticalAlign:`middle`}},[`@media (max-width: ${e.screenSMMax}px)`]:{[t]:{maxWidth:`calc(100vw - 16px)`,margin:`${Y(e.marginXS)} auto`},[`${t}-centered`]:{[t]:{flex:1}}}}},{[t]:{...q(e),pointerEvents:`none`,position:`relative`,top:100,width:`auto`,maxWidth:`calc(100vw - ${Y(e.calc(e.margin).mul(2).equal())})`,margin:`0 auto`,"&:focus-visible":{borderRadius:e.borderRadiusLG,...$e(e)},[`${t}-title`]:{margin:0,color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.titleFontSize,lineHeight:e.titleLineHeight,wordWrap:`break-word`},[`${t}-container`]:{position:`relative`,backgroundColor:e.contentBg,backgroundClip:`padding-box`,border:0,borderRadius:e.borderRadiusLG,boxShadow:e.boxShadow,pointerEvents:`auto`,padding:e.contentPadding},[`${t}-close`]:{position:`absolute`,top:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),insetInlineEnd:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),zIndex:e.calc(e.zIndexPopupBase).add(10).equal(),padding:0,color:e.modalCloseIconColor,fontWeight:e.fontWeightStrong,lineHeight:1,textDecoration:`none`,background:`transparent`,borderRadius:e.borderRadiusSM,width:e.modalCloseBtnSize,height:e.modalCloseBtnSize,border:0,outline:0,cursor:`pointer`,transition:[`color`,`background-color`].map(e=>`${e} ${n}`).join(`, `),"&-x":{display:`flex`,fontSize:e.fontSizeLG,fontStyle:`normal`,lineHeight:Y(e.modalCloseBtnSize),justifyContent:`center`,textTransform:`none`,textRendering:`auto`},"&:disabled":{pointerEvents:`none`},"&:hover":{color:e.modalCloseIconHoverColor,backgroundColor:e.colorBgTextHover,textDecoration:`none`},"&:active":{backgroundColor:e.colorBgTextActive},...V(e)},[`${t}-header`]:{color:e.colorText,background:e.headerBg,borderRadius:`${Y(e.borderRadiusLG)} ${Y(e.borderRadiusLG)} 0 0`,marginBottom:e.headerMarginBottom,padding:e.headerPadding,borderBottom:e.headerBorderBottom},[`${t}-body`]:{fontSize:e.fontSize,lineHeight:e.lineHeight,wordWrap:`break-word`,padding:e.bodyPadding,[`${t}-body-skeleton`]:{width:`100%`,height:`100%`,display:`flex`,justifyContent:`center`,alignItems:`center`,margin:`${Y(e.margin)} auto`}},[`${t}-footer`]:{textAlign:`end`,background:e.footerBg,marginTop:e.footerMarginTop,padding:e.footerPadding,borderTop:e.footerBorderTop,borderRadius:e.footerBorderRadius,[`> ${e.antCls}-btn + ${e.antCls}-btn`]:{marginInlineStart:e.marginXS}},[`${t}-open`]:{overflow:`hidden`}}},{[`${t}-pure-panel`]:{top:`auto`,padding:0,display:`flex`,flexDirection:`column`,[`${t}-container, + ${t}-body, + ${t}-confirm-body-wrapper`]:{display:`flex`,flexDirection:`column`,flex:`auto`},[`${t}-confirm-body`]:{marginBottom:`auto`}}}]},Di=e=>{let{componentCls:t}=e;return{[`${t}-root`]:{[`${t}-wrap-rtl`]:{direction:`rtl`,[`${t}-confirm-body`]:{direction:`rtl`}}}}},Oi=e=>{let{componentCls:t}=e,n=Ci(e),r={...n};delete r.xs;let i=`--${t.replace(`.`,``)}-`,a=Object.keys(r).map(e=>({[`@media (min-width: ${Y(r[e])})`]:{width:`var(${i}${e}-width)`}}));return{[`${t}-root`]:{[t]:[].concat(X(Object.keys(n).map((e,t)=>{let r=Object.keys(n)[t-1];return r?{[`${i}${e}-width`]:`var(${i}${r}-width)`}:null})),[{width:`var(${i}xs-width)`}],X(a))}}},ki=e=>{let t=e.padding,n=e.fontSizeHeading5,r=e.lineHeightHeading5;return h(e,{modalHeaderHeight:e.calc(e.calc(r).mul(n).equal()).add(e.calc(t).mul(2).equal()).equal(),modalFooterBorderColorSplit:e.colorSplit,modalFooterBorderStyle:e.lineType,modalFooterBorderWidth:e.lineWidth,modalCloseIconColor:e.colorIcon,modalCloseIconHoverColor:e.colorIconHover,modalCloseBtnSize:e.controlHeight,modalConfirmIconSize:e.fontHeight,modalTitleHeight:e.calc(e.titleFontSize).mul(e.titleLineHeight).equal()})},Ai=e=>({footerBg:`transparent`,headerBg:`transparent`,titleLineHeight:e.lineHeightHeading5,titleFontSize:e.fontSizeHeading5,contentBg:e.colorBgElevated,titleColor:e.colorTextHeading,contentPadding:e.wireframe?0:`${Y(e.paddingMD)} ${Y(e.paddingContentHorizontalLG)}`,headerPadding:e.wireframe?`${Y(e.padding)} ${Y(e.paddingLG)}`:0,headerBorderBottom:e.wireframe?`${Y(e.lineWidth)} ${e.lineType} ${e.colorSplit}`:`none`,headerMarginBottom:e.wireframe?0:e.marginXS,bodyPadding:e.wireframe?e.paddingLG:0,footerPadding:e.wireframe?`${Y(e.paddingXS)} ${Y(e.padding)}`:0,footerBorderTop:e.wireframe?`${Y(e.lineWidth)} ${e.lineType} ${e.colorSplit}`:`none`,footerBorderRadius:e.wireframe?`0 0 ${Y(e.borderRadiusLG)} ${Y(e.borderRadiusLG)}`:0,footerMarginTop:e.wireframe?0:e.marginSM,confirmBodyPadding:e.wireframe?`${Y(e.padding*2)} ${Y(e.padding*2)} ${Y(e.paddingLG)}`:0,confirmIconMarginInlineEnd:e.wireframe?e.margin:e.marginSM,confirmBtnsMarginTop:e.wireframe?e.marginLG:e.marginSM,mask:!0}),ji=we(`Modal`,e=>{let t=ki(e);return[Ei(t),Di(t),Ti(t),Zn(t,`zoom`),Oi(t)]},Ai,{unitless:{titleLineHeight:!0}}),Mi;jr()&&document.documentElement.addEventListener(`click`,e=>{Mi={x:e.pageX,y:e.pageY},setTimeout(()=>{Mi=null},100)},!0);var Ni=e=>{let{prefixCls:t,className:n,rootClassName:r,open:i,wrapClassName:a,centered:o,getContainer:s,style:l,width:u=520,footer:d,classNames:p,styles:m,children:h,loading:_,confirmLoading:v,zIndex:y,mousePosition:b,onOk:x,onCancel:S,okButtonProps:C,cancelButtonProps:w,destroyOnHidden:T,destroyOnClose:D,panelRef:k=null,closable:A,mask:j,modalRender:M,maskClosable:N,scrollLock:P,focusTriggerAfterClose:I,focusable:R,...z}=e,{getPopupContainer:B,getPrefixCls:V,direction:H,className:U,style:W,classNames:G,styles:ee,centered:K,cancelButtonProps:te,okButtonProps:q,mask:J,focusable:re}=f(`modal`),{modal:ie}=Z.useContext(Gt),[Y,ae]=Z.useMemo(()=>typeof A==`boolean`?[void 0,void 0]:[A?.afterClose,A?.onClose],[A]),oe=V(`modal`,t),se=V(),[ce,le,ue]=On(j,J,oe,N),de=Mr({...re,...R},ce,I),fe=e=>{v||(S?.(e),ae?.())},pe=e=>{x?.(e),ae?.()},me=g(oe),[he,ge]=ji(oe,me),ve=L(a,{[`${oe}-centered`]:o??K,[`${oe}-wrap-rtl`]:H===`rtl`}),be=d!==null&&!_?Z.createElement(hi,{...e,okButtonProps:{...q,...C},onOk:pe,cancelButtonProps:{...te,...w},onCancel:fe}):null,[xe,X,Ce,we]=Tn(yn(e),yn(ie),{closable:!0,closeIcon:Z.createElement(ne,{className:`${oe}-close-icon`}),closeIconRender:e=>mi(oe,e)}),Te=xe?{disabled:Ce,closeIcon:X,afterClose:Y,...we}:!1,Ee=M?e=>Z.createElement(`div`,{className:`${oe}-render`},M(e)):void 0,De=Ht(k,di(`.${oe}-${M?`render`:`container`}`)),[Oe,ke]=ye(`Modal`,y),Ae={...e,width:u,panelRef:k,focusTriggerAfterClose:de.focusTriggerAfterClose,focusable:de,mask:ce,maskClosable:ue,zIndex:Oe},[je,Me]=O([G,p,le],[ee,m],{props:Ae}),[Ne,Pe]=Z.useMemo(()=>yt(u)?[void 0,u]:[u,void 0],[u]),Fe=Z.useMemo(()=>{let e={};return Pe&&Object.keys(Pe).forEach(t=>{let n=Pe[t];E(n)&&(e[`--${oe}-${t}-width`]=F(n)?`${n}px`:n)}),e},[oe,Pe]);return Z.createElement(Se,{form:!0,space:!0},Z.createElement(_e.Provider,{value:ke},Z.createElement(Ar,{width:Ne,...z,zIndex:Oe,getContainer:s===void 0?B:s,prefixCls:oe,rootClassName:L(he,r,ge,me,je.root),rootStyle:Me.root,footer:be,visible:i,mousePosition:b??Mi,onClose:fe,closable:Te,closeIcon:X,transitionName:c(se,`zoom`,e.transitionName),maskTransitionName:c(se,`fade`,e.maskTransitionName),mask:ce,maskClosable:ue,scrollLock:P,className:L(he,n,U),style:{...W,...l,...Fe},classNames:{...je,wrapper:L(je.wrapper,ve)},styles:Me,panelRef:De,destroyOnHidden:T??D,modalRender:Ee,focusTriggerAfterClose:de.focusTriggerAfterClose,focusTrap:de.trap},_?Z.createElement(ci,{active:!0,title:!1,paragraph:{rows:4},className:`${oe}-body-skeleton`}):h)))},Pi=e=>{let{componentCls:t,titleFontSize:n,titleLineHeight:r,modalConfirmIconSize:i,fontSize:a,lineHeight:o,modalTitleHeight:s,fontHeight:c,confirmBodyPadding:l}=e,d=`${t}-confirm`;return{[d]:{"&-rtl":{direction:`rtl`},[`${e.antCls}-modal-header`]:{display:`none`},[`${d}-body-wrapper`]:{...u()},[`&${t} ${t}-body`]:{padding:l},[`${d}-body`]:{display:`flex`,flexWrap:`nowrap`,alignItems:`start`,[`> ${e.iconCls}`]:{flex:`none`,fontSize:i,marginInlineEnd:e.confirmIconMarginInlineEnd,marginTop:e.calc(e.calc(c).sub(i).equal()).div(2).equal()},[`&-has-title > ${e.iconCls}`]:{marginTop:e.calc(e.calc(s).sub(i).equal()).div(2).equal()}},[`${d}-paragraph`]:{display:`flex`,flexDirection:`column`,flex:`auto`,rowGap:e.marginXS,maxWidth:`calc(100% - ${Y(e.marginSM)})`},[`${d}-body-no-icon ${d}-paragraph`]:{maxWidth:`100%`},[`${e.iconCls} + ${d}-paragraph`]:{maxWidth:`calc(100% - ${Y(e.calc(e.modalConfirmIconSize).add(e.marginSM).equal())})`},[`${d}-title`]:{color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:n,lineHeight:r},[`${d}-container`]:{color:e.colorText,fontSize:a,lineHeight:o},[`${d}-btns`]:{textAlign:`end`,marginTop:e.confirmBtnsMarginTop,[`${e.antCls}-btn + ${e.antCls}-btn`]:{marginBottom:0,marginInlineStart:e.marginXS}}},[`${d}-error ${d}-body > ${e.iconCls}`]:{color:e.colorError},[`${d}-warning ${d}-body > ${e.iconCls}, + ${d}-confirm ${d}-body > ${e.iconCls}`]:{color:e.colorWarning},[`${d}-info ${d}-body > ${e.iconCls}`]:{color:e.colorInfo},[`${d}-success ${d}-body > ${e.iconCls}`]:{color:e.colorSuccess}}},Fi=Pt([`Modal`,`confirm`],e=>Pi(ki(e)),Ai,{order:-1e3}),Ii=e=>{let{prefixCls:t,icon:n,okText:r,cancelText:i,confirmPrefixCls:a,type:o,okCancel:s,footer:c,locale:l,autoFocusButton:u,focusable:d,...p}=e,{infoIcon:m,successIcon:h,errorIcon:g,warningIcon:_}=f(`modal`),v=n;if(n===void 0)switch(o){case`info`:v=J(m,Z.createElement(on,null));break;case`success`:v=J(h,Z.createElement($t,null));break;case`error`:v=J(g,Z.createElement(C,null));break;default:v=J(_,Z.createElement(nn,null))}let y=s??o===`confirm`,b=Z.useMemo(()=>{let e=d?.autoFocusButton||u;return e||e===null?e:`ok`},[u,d?.autoFocusButton]),[x]=Ve(`Modal`),S=l||x,w=r||(y?S?.okText:S?.justOkText),T=i||S?.cancelText,{closable:E}=p,{onClose:D}=yt(E)?E:{},O=Z.useMemo(()=>({autoFocusButton:b,cancelTextLocale:T,okTextLocale:w,mergedOkCancel:y,onClose:D,...p}),[b,T,w,y,D,p]),k=Z.createElement(Z.Fragment,null,Z.createElement(mr,null),Z.createElement(hr,null)),A=be(e.title),j=be(v),M=`${a}-body`;return Z.createElement(`div`,{className:`${a}-body-wrapper`},Z.createElement(`div`,{className:L(M,{[`${M}-has-title`]:A,[`${M}-no-icon`]:!j})},v,Z.createElement(`div`,{className:`${a}-paragraph`},A&&Z.createElement(`span`,{className:`${a}-title`},e.title),Z.createElement(`div`,{className:`${a}-content`},e.content))),c===void 0||ge(c)?Z.createElement(pr,{value:O},Z.createElement(`div`,{className:`${a}-btns`},ge(c)?c(k,{OkBtn:hr,CancelBtn:mr}):k)):c,Z.createElement(Fi,{prefixCls:t}))},Li=e=>{let{close:t,zIndex:n,maskStyle:r,direction:i,prefixCls:a,wrapClassName:o,rootPrefixCls:s,bodyStyle:l,closable:u=!1,onConfirm:d,styles:p,title:m,mask:h,maskClosable:g,okButtonProps:_,cancelButtonProps:v}=e,{cancelButtonProps:y,okButtonProps:b}=f(`modal`),x=`${a}-confirm`,S=e.width||416,C=e.style||{},w=L(x,`${x}-${e.type}`,{[`${x}-rtl`]:i===`rtl`},e.className),T=Z.useMemo(()=>{let e=Dn(h,g);return e.closable??=!1,e},[h,g]),[,E]=Ut(),D=Z.useMemo(()=>n===void 0?E.zIndexPopupBase+M:n,[n,E]);return Z.createElement(Ni,{...e,className:w,wrapClassName:L({[`${x}-centered`]:!!e.centered},o),onCancel:()=>{t?.({triggerCancel:!0}),d?.(!1)},title:m,footer:null,transitionName:c(s||``,`zoom`,e.transitionName),maskTransitionName:c(s||``,`fade`,e.maskTransitionName),mask:T,style:C,styles:{body:l,mask:r,...p},width:S,zIndex:D,closable:u},Z.createElement(Ii,{...e,confirmPrefixCls:x,okButtonProps:{...b,..._},cancelButtonProps:{...y,...v}}))},Ri=e=>{let{rootPrefixCls:t,iconPrefixCls:n,direction:r,theme:i}=e;return Z.createElement(dt,{prefixCls:t,iconPrefixCls:n,direction:r,theme:i},Z.createElement(Li,{...e}))},zi=[],Bi=``;function Vi(){return Bi}var Hi=e=>{let{prefixCls:t,getContainer:n,direction:r}=e,i=_t(),a=(0,Z.useContext)(Gt),o=Vi()||a.getPrefixCls(),s=t||`${o}-modal`,c=n;return c===!1&&(c=void 0),Z.createElement(Ri,{...e,rootPrefixCls:o,prefixCls:s,iconPrefixCls:a.iconPrefixCls,theme:a.theme,direction:r??a.direction,locale:a.locale?.Modal??i,getContainer:c})};function Ui(e){let t=St(),n=document.createDocumentFragment(),r={...e,close:c,open:!0},i;function a(...t){t.some(e=>e?.triggerCancel)&&e.onCancel?.(()=>{},...t.slice(1));for(let e=0;e{})}let o=e=>{clearTimeout(i),i=setTimeout(()=>{let r=t.getPrefixCls(void 0,Vi()),i=t.getIconPrefixCls(),a=t.getTheme(),o=Z.createElement(Hi,{...e});s(Z.createElement(dt,{prefixCls:r,iconPrefixCls:i,theme:a},ge(t.holderRender)?t.holderRender(o):o),n)})};function c(...t){r={...r,open:!1,afterClose:()=>{ge(e.afterClose)&&e.afterClose(),a.apply(this,t)}},o(r)}function l(e){r=ge(e)?e(r):{...r,...e},o(r)}return o(r),zi.push(c),{destroy:c,update:l}}function Wi(e){return{...e,type:`warning`}}function Gi(e){return{...e,type:`info`}}function Ki(e){return{...e,type:`success`}}function qi(e){return{...e,type:`error`}}function Ji(e){return{...e,type:`confirm`}}function Yi({rootPrefixCls:e}){Bi=e}var Xi=Pe(e=>{let{prefixCls:t,className:n,closeIcon:r,closable:i,type:a,title:o,children:s,footer:c,classNames:l,styles:u,...d}=e,{getPrefixCls:p}=Z.useContext(Gt),{className:m,style:h,classNames:_,styles:v}=f(`modal`),y=p(),b=t||p(`modal`),x=g(y),[S,C]=ji(b,x),[w,T]=O([_,l],[v,u],{props:e}),E=`${b}-confirm`,D={};return D=a?{closable:i??!1,title:``,footer:``,children:Z.createElement(Ii,{...e,prefixCls:b,confirmPrefixCls:E,rootPrefixCls:y,content:s})}:{closable:i??!0,title:o,footer:c!==null&&Z.createElement(hi,{...e}),children:s},Z.createElement(Sr,{prefixCls:b,className:L(S,`${b}-pure-panel`,a&&E,a&&`${E}-${a}`,n,m,C,x,w.root),style:{...h,...T.root},...d,closeIcon:mi(b,r),closable:i,classNames:w,styles:T,...D})}),Zi=Z.forwardRef((e,t)=>{let{afterClose:n,config:r,...i}=e,[a,o]=Z.useState(!0),[s,c]=Z.useState(r),{direction:l,getPrefixCls:u}=Z.useContext(Gt),d=u(`modal`),f=u(),p=()=>{n(),s.afterClose?.()},m=(...e)=>{o(!1),e.some(e=>e?.triggerCancel)&&s.onCancel?.(()=>{},...e.slice(1))};Z.useImperativeHandle(t,()=>({destroy:m,update:e=>{c(t=>{let n=ge(e)?e(t):e;return{...t,...n}})}}));let h=s.okCancel??s.type===`confirm`,[g]=Ve(`Modal`,ct.Modal);return Z.createElement(Ri,{prefixCls:d,rootPrefixCls:f,...s,close:m,open:a,afterClose:p,okText:s.okText||(h?g?.okText:g?.justOkText),direction:s.direction||l,cancelText:s.cancelText||g?.cancelText,...i})}),Qi=0,$i=Z.memo(Z.forwardRef((e,t)=>{let[n,r]=An();return Z.useImperativeHandle(t,()=>({patchElement:r}),[r]),Z.createElement(Z.Fragment,null,n)}));function ea(){let e=Z.useRef(null),[t,n]=Z.useState([]);Z.useEffect(()=>{t.length&&(X(t).forEach(e=>{e()}),n([]))},[t]);let r=Z.useCallback(t=>function(r){Qi+=1;let i=Z.createRef(),a,o=new Promise(e=>{a=e}),s=!1,c,l=Z.createElement(Zi,{key:`modal-${Qi}`,config:t(r),ref:i,afterClose:()=>{c?.()},isSilent:()=>s,onConfirm:e=>{a(e)}});return c=e.current?.patchElement(l),c&&zi.push(c),{destroy:()=>{function e(){i.current?.destroy()}i.current?e():n(t=>[].concat(X(t),[e]))},update:e=>{function t(){i.current?.update(e)}i.current?t():n(e=>[].concat(X(e),[t]))},then:e=>(s=!0,o.then(e))}},[]);return[Z.useMemo(()=>({info:r(Gi),success:r(Ki),error:r(qi),warning:r(Wi),confirm:r(Ji)}),[r]),Z.createElement($i,{key:`modal-holder`,ref:e})]}function ta(e){return Ui(Wi(e))}var na=Ni;na.useModal=ea,na.info=function(e){return Ui(Gi(e))},na.success=function(e){return Ui(Ki(e))},na.error=function(e){return Ui(qi(e))},na.warning=ta,na.warn=ta,na.confirm=function(e){return Ui(Ji(e))},na.destroyAll=function(){for(;zi.length;){let e=zi.pop();e&&e()}},na.config=Yi,na._InternalPanelDoNotUseOrYouWillBeFired=Xi;var ra=(e,t)=>{if(!e)return null;let n={left:e.offsetLeft,right:e.parentElement.clientWidth-e.clientWidth-e.offsetLeft,width:e.clientWidth,top:e.offsetTop,bottom:e.parentElement.clientHeight-e.clientHeight-e.offsetTop,height:e.clientHeight};return t?{left:0,right:0,width:0,top:n.top,bottom:n.bottom,height:n.height}:{left:n.left,right:n.right,width:n.width,top:0,bottom:0,height:0}},ia=e=>e===void 0?void 0:`${e}px`;function aa(e){let{prefixCls:t,containerRef:n,value:r,getValueIndex:i,motionName:a,onMotionStart:o,onMotionEnd:s,direction:c,vertical:u=!1}=e,d=Z.useRef(null),[f,p]=Z.useState(r),m=e=>{let r=i(e),a=n.current?.querySelectorAll(`.${t}-item`)[r];return a?.offsetParent&&a},[h,g]=Z.useState(null),[_,v]=Z.useState(null);l(()=>{if(f!==r){let e=m(f),t=m(r),n=ra(e,u),i=ra(t,u);p(r),g(n),v(i),e&&t?o():s()}},[r]);let y=Z.useMemo(()=>ia(u?h?.top??0:c===`rtl`?-h?.right:h?.left),[u,c,h]),b=Z.useMemo(()=>ia(u?_?.top??0:c===`rtl`?-_?.right:_?.left),[u,c,_]);return!h||!_?null:Z.createElement(re,{visible:!0,motionName:a,motionAppear:!0,onAppearStart:()=>u?{transform:`translateY(var(--thumb-start-top))`,height:`var(--thumb-start-height)`}:{transform:`translateX(var(--thumb-start-left))`,width:`var(--thumb-start-width)`},onAppearActive:()=>u?{transform:`translateY(var(--thumb-active-top))`,height:`var(--thumb-active-height)`}:{transform:`translateX(var(--thumb-active-left))`,width:`var(--thumb-active-width)`},onVisibleChanged:()=>{g(null),v(null),s()}},({className:e,style:n},r)=>{let i={...n,"--thumb-start-left":y,"--thumb-start-width":ia(h?.width),"--thumb-active-left":b,"--thumb-active-width":ia(_?.width),"--thumb-start-top":y,"--thumb-start-height":ia(h?.height),"--thumb-active-top":b,"--thumb-active-height":ia(_?.height)},a={ref:Ht(d,r),style:i,className:L(`${t}-thumb`,e)};return Z.createElement(`div`,a)})}function oa(e){if(e.title!==void 0)return e.title;if(typeof e.label!=`object`)return e.label?.toString()}function sa(e){return e.map(e=>{if(typeof e==`object`&&e){let t=oa(e);return{...e,title:t}}return{label:e?.toString(),title:e?.toString(),value:e}})}var ca=({prefixCls:e,className:t,style:n,styles:r,classNames:i,data:a,disabled:o,checked:s,label:c,title:l,value:u,name:d,onChange:f,onFocus:p,onBlur:m,onKeyDown:h,onKeyUp:g,onMouseDown:_,itemRender:v=e=>e})=>{let y=e=>{o||f(e,u)};return v(Z.createElement(`label`,{className:L(t,{[`${e}-item-disabled`]:o}),style:n,onMouseDown:_},Z.createElement(`input`,{name:d,className:`${e}-item-input`,type:`radio`,disabled:o,checked:s,onChange:y,onFocus:p,onBlur:m,onKeyDown:h,onKeyUp:g}),Z.createElement(`div`,{className:L(`${e}-item-label`,i?.label),title:l,style:r?.label},c)),{item:a})},la=Z.forwardRef((e,t)=>{let{prefixCls:n=`rc-segmented`,direction:r,vertical:i,options:a=[],disabled:o,defaultValue:s,value:c,name:l,onChange:u,className:d=``,style:f,styles:p,classNames:m,motionName:h=`thumb-motion`,itemRender:g,..._}=e,v=Z.useRef(null),y=Z.useMemo(()=>Ht(v,t),[v,t]),b=Z.useMemo(()=>sa(a),[a]),[x,S]=ee(s??b[0]?.value,c),[C,w]=Z.useState(!1),T=(e,t)=>{S(t),u?.(t)},E=pt(_,[`children`]),[D,O]=Z.useState(!1),[k,A]=Z.useState(!1),j=()=>{A(!0)},M=()=>{A(!1)},N=()=>{O(!1)},P=e=>{e.key===`Tab`&&O(!0)},F=e=>{let t=b.findIndex(e=>e.value===x),n=b.length,r=b[(t+e+n)%n];r&&(S(r.value),u?.(r.value))},I=e=>{switch(e.key){case`ArrowLeft`:case`ArrowUp`:F(-1);break;case`ArrowRight`:case`ArrowDown`:F(1);break}},R=e=>{let{value:t,disabled:r}=e;return Z.createElement(ca,z({},e,{name:l,data:e,itemRender:g,key:t,prefixCls:n,className:L(e.className,`${n}-item`,m?.item,{[`${n}-item-selected`]:t===x&&!C,[`${n}-item-focused`]:k&&D&&t===x}),style:p?.item,classNames:m,styles:p,checked:t===x,onChange:T,onFocus:j,onBlur:M,onKeyDown:I,onKeyUp:P,onMouseDown:N,disabled:!!o||!!r}))};return Z.createElement(`div`,z({role:`radiogroup`,"aria-label":`segmented control`,tabIndex:o?void 0:0,"aria-orientation":i?`vertical`:`horizontal`,style:f},E,{className:L(n,{[`${n}-rtl`]:r===`rtl`,[`${n}-disabled`]:o,[`${n}-vertical`]:i},d),ref:y}),Z.createElement(`div`,{className:`${n}-group`},Z.createElement(aa,{vertical:i,prefixCls:n,value:x,containerRef:v,motionName:`${n}-${h}`,direction:r,getValueIndex:e=>b.findIndex(t=>t.value===e),onMotionStart:()=>{w(!0)},onMotionEnd:()=>{w(!1)}}),b.map(R)))}),ua=e=>{let{children:t,prefixCls:n,id:r,classNames:i,styles:a,className:o,style:s}=e;return Z.createElement(`div`,{id:r,className:L(`${n}-container`,i?.container,o),style:{...a?.container,...s},role:`tooltip`},typeof t==`function`?t():t)},da={shiftX:64,adjustY:1},fa={adjustX:1,shiftY:!0},pa=[0,0],ma={left:{points:[`cr`,`cl`],overflow:fa,offset:[-4,0],targetOffset:pa},right:{points:[`cl`,`cr`],overflow:fa,offset:[4,0],targetOffset:pa},top:{points:[`bc`,`tc`],overflow:da,offset:[0,-4],targetOffset:pa},bottom:{points:[`tc`,`bc`],overflow:da,offset:[0,4],targetOffset:pa},topLeft:{points:[`bl`,`tl`],overflow:da,offset:[0,-4],targetOffset:pa},leftTop:{points:[`tr`,`tl`],overflow:fa,offset:[-4,0],targetOffset:pa},topRight:{points:[`br`,`tr`],overflow:da,offset:[0,-4],targetOffset:pa},rightTop:{points:[`tl`,`tr`],overflow:fa,offset:[4,0],targetOffset:pa},bottomRight:{points:[`tr`,`br`],overflow:da,offset:[0,4],targetOffset:pa},rightBottom:{points:[`bl`,`br`],overflow:fa,offset:[4,0],targetOffset:pa},bottomLeft:{points:[`tl`,`bl`],overflow:da,offset:[0,4],targetOffset:pa},leftBottom:{points:[`br`,`bl`],overflow:fa,offset:[-4,0],targetOffset:pa}};function ha(){return ha=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{trigger:n=[`hover`],mouseEnterDelay:r=0,mouseLeaveDelay:i=.1,prefixCls:a=`rc-tooltip`,children:o,onVisibleChange:s,afterVisibleChange:c,motion:l,placement:u=`right`,align:d={},destroyOnHidden:f=!1,defaultVisible:p,getTooltipContainer:m,arrowContent:h,overlay:g,id:v,showArrow:y=!0,classNames:b,styles:x,...S}=e,C=_(v),w=(0,Z.useRef)(null);(0,Z.useImperativeHandle)(t,()=>w.current);let T={...S};`visible`in e&&(T.popupVisible=e.visible);let E=Z.useMemo(()=>{if(!y)return!1;let e=y===!0?{}:y;return{...e,className:L(e.className,b?.arrow),style:{...e.style,...x?.arrow},content:e.content??h}},[y,b?.arrow,x?.arrow,h]);return Z.createElement(at,ha({popupClassName:b?.root,prefixCls:a,popup:Z.createElement(ua,{key:`content`,prefixCls:a,id:C,classNames:b,styles:x},g),action:n,builtinPlacements:ma,popupPlacement:u,ref:w,popupAlign:d,getPopupContainer:m,onOpenChange:s,afterOpenChange:c,popupMotion:l,defaultPopupVisible:p,autoDestroy:f,mouseLeaveDelay:i,popupStyle:x?.root,mouseEnterDelay:r,arrow:E,uniqueContainerClassName:b?.uniqueContainer,uniqueContainerStyle:x?.uniqueContainer},T),({open:e})=>{let t=Z.Children.only(o),n={"aria-describedby":g&&e?C:void 0};return Z.cloneElement(t,n)})});function _a(e){let{sizePopupArrow:t,borderRadiusXS:n,borderRadiusOuter:r}=e,i=t/2,a=i,o=r*1/Math.sqrt(2),s=i-r*(1-1/Math.sqrt(2)),c=i-1/Math.sqrt(2)*n,l=r*(Math.sqrt(2)-1)+1/Math.sqrt(2)*n,u=2*i-c,d=l,f=2*i-o,p=s,m=2*i-0,h=a,g=i*Math.sqrt(2)+r*(Math.sqrt(2)-2),_=r*(Math.sqrt(2)-1),v=`polygon(${_}px 100%, 50% ${_}px, ${2*i-_}px 100%, ${_}px 100%)`;return{arrowShadowWidth:g,arrowPath:`path('M 0 ${a} A ${r} ${r} 0 0 0 ${o} ${s} L ${c} ${l} A ${n} ${n} 0 0 1 ${u} ${d} L ${f} ${p} A ${r} ${r} 0 0 0 ${m} ${h} Z')`,arrowPolygon:v}}var va=(e,t,n)=>{let{sizePopupArrow:r,arrowPolygon:i,arrowPath:a,arrowShadowWidth:o,borderRadiusXS:s,calc:c}=e,l={content:`""`,position:`absolute`,width:o,height:o,bottom:0,insetInline:0,margin:`auto`,borderRadius:{_skip_check_:!0,value:`0 0 ${Y(s)} 0`},transform:`translateY(50%) rotate(-135deg)`,zIndex:0,background:`transparent`};return n&&(l.boxShadow=n),{pointerEvents:`none`,width:r,height:r,overflow:`hidden`,"&::before":{position:`absolute`,bottom:0,insetInlineStart:0,width:r,height:c(r).div(2).equal(),background:t,clipPath:{_multi_value_:!0,value:[i,a]},content:`""`},"&::after":l}};function ya(e){let{contentRadius:t,limitVerticalRadius:n}=e,r=t>12?t+2:12;return{arrowOffsetHorizontal:r,arrowOffsetVertical:n?8:r}}var ba=(e,t,n)=>{let{componentCls:r,boxShadowPopoverArrow:i,arrowOffsetVertical:a,arrowOffsetHorizontal:o,antCls:s}=e,[c]=We(s,`tooltip`),{arrowDistance:l=0,arrowShadow:u=!0}=n||{};return{[r]:{[`${r}-arrow`]:[{position:`absolute`,zIndex:1,display:`block`,...va(e,t,u?i:!1),"&:before":{background:t}}],[[`&-placement-top > ${r}-arrow`,`&-placement-topLeft > ${r}-arrow`,`&-placement-topRight > ${r}-arrow`].join(`,`)]:{bottom:l,transform:`translateY(100%) rotate(180deg)`},[`&-placement-top > ${r}-arrow`]:{left:{_skip_check_:!0,value:`50%`},transform:`translateX(-50%) translateY(100%) rotate(180deg)`},"&-placement-topLeft":{[c(`arrow-offset-x`)]:o,[`> ${r}-arrow`]:{left:{_skip_check_:!0,value:o}}},"&-placement-topRight":{[c(`arrow-offset-x`)]:`calc(100% - ${Y(o)})`,[`> ${r}-arrow`]:{right:{_skip_check_:!0,value:o}}},[[`&-placement-bottom > ${r}-arrow`,`&-placement-bottomLeft > ${r}-arrow`,`&-placement-bottomRight > ${r}-arrow`].join(`,`)]:{top:l,transform:`translateY(-100%)`},[`&-placement-bottom > ${r}-arrow`]:{left:{_skip_check_:!0,value:`50%`},transform:`translateX(-50%) translateY(-100%)`},"&-placement-bottomLeft":{[c(`arrow-offset-x`)]:o,[`> ${r}-arrow`]:{left:{_skip_check_:!0,value:o}}},"&-placement-bottomRight":{[c(`arrow-offset-x`)]:`calc(100% - ${Y(o)})`,[`> ${r}-arrow`]:{right:{_skip_check_:!0,value:o}}},[[`&-placement-left > ${r}-arrow`,`&-placement-leftTop > ${r}-arrow`,`&-placement-leftBottom > ${r}-arrow`].join(`,`)]:{right:{_skip_check_:!0,value:l},transform:`translateX(100%) rotate(90deg)`},[`&-placement-left > ${r}-arrow`]:{top:{_skip_check_:!0,value:`50%`},transform:`translateY(-50%) translateX(100%) rotate(90deg)`},[`&-placement-leftTop > ${r}-arrow`]:{top:a},[`&-placement-leftBottom > ${r}-arrow`]:{bottom:a},[[`&-placement-right > ${r}-arrow`,`&-placement-rightTop > ${r}-arrow`,`&-placement-rightBottom > ${r}-arrow`].join(`,`)]:{left:{_skip_check_:!0,value:l},transform:`translateX(-100%) rotate(-90deg)`},[`&-placement-right > ${r}-arrow`]:{top:{_skip_check_:!0,value:`50%`},transform:`translateY(-50%) translateX(-100%) rotate(-90deg)`},[`&-placement-rightTop > ${r}-arrow`]:{top:a},[`&-placement-rightBottom > ${r}-arrow`]:{bottom:a}}}};function xa(e,t,n,r){if(r===!1)return{adjustX:!1,adjustY:!1};let i=yt(r)?r:{},a={};switch(e){case`top`:case`bottom`:a.shiftX=t.arrowOffsetHorizontal*2+n,a.shiftY=!0,a.adjustY=!0;break;case`left`:case`right`:a.shiftY=t.arrowOffsetVertical*2+n,a.shiftX=!0,a.adjustX=!0;break}let o={...a,...i};return o.shiftX||(o.adjustX=!0),o.shiftY||(o.adjustY=!0),o}var Sa={left:{points:[`cr`,`cl`]},right:{points:[`cl`,`cr`]},top:{points:[`bc`,`tc`]},bottom:{points:[`tc`,`bc`]},topLeft:{points:[`bl`,`tl`]},leftTop:{points:[`tr`,`tl`]},topRight:{points:[`br`,`tr`]},rightTop:{points:[`tl`,`tr`]},bottomRight:{points:[`tr`,`br`]},rightBottom:{points:[`bl`,`br`]},bottomLeft:{points:[`tl`,`bl`]},leftBottom:{points:[`br`,`bl`]}},Ca={topLeft:{points:[`bl`,`tc`]},leftTop:{points:[`tr`,`cl`]},topRight:{points:[`br`,`tc`]},rightTop:{points:[`tl`,`cr`]},bottomRight:{points:[`tr`,`bc`]},rightBottom:{points:[`bl`,`cr`]},bottomLeft:{points:[`tl`,`bc`]},leftBottom:{points:[`br`,`cl`]}},wa=new Set([`topLeft`,`topRight`,`bottomLeft`,`bottomRight`,`leftTop`,`leftBottom`,`rightTop`,`rightBottom`]);function Ta(e){let{arrowWidth:t,autoAdjustOverflow:n,arrowPointAtCenter:r,offset:i,borderRadius:a,visibleFirst:o}=e,s=t/2,c={},l=ya({contentRadius:a,limitVerticalRadius:!0});return Object.keys(Sa).forEach(e=>{let a={...r&&Ca[e]||Sa[e],offset:[0,0],dynamicInset:!0};switch(c[e]=a,wa.has(e)&&(a.autoArrow=!1),e){case`top`:case`topLeft`:case`topRight`:a.offset[1]=-s-i;break;case`bottom`:case`bottomLeft`:case`bottomRight`:a.offset[1]=s+i;break;case`left`:case`leftTop`:case`leftBottom`:a.offset[0]=-s-i;break;case`right`:case`rightTop`:case`rightBottom`:a.offset[0]=s+i;break}if(r)switch(e){case`topLeft`:case`bottomLeft`:a.offset[0]=-l.arrowOffsetHorizontal-s;break;case`topRight`:case`bottomRight`:a.offset[0]=l.arrowOffsetHorizontal+s;break;case`leftTop`:case`rightTop`:a.offset[1]=-l.arrowOffsetHorizontal*2+s;break;case`leftBottom`:case`rightBottom`:a.offset[1]=l.arrowOffsetHorizontal*2-s;break}a.overflow=xa(e,l,t,n),o&&(a.htmlRegion=`visibleFirst`)}),c}var Ea=Z.createContext(!1),Da=(e,t)=>{let n=e=>typeof e==`boolean`?{show:e}:e||{};return Z.useMemo(()=>{let r=n(e),i=n(t);return{...i,...r,show:r.show??i.show??!0}},[e,t])},Oa=`50%`,ka=e=>{let{calc:t,componentCls:n,tooltipMaxWidth:r,tooltipColor:i,tooltipBg:a,tooltipBorderRadius:o,zIndexPopup:s,controlHeight:c,dropShadowPopover:l,paddingSM:u,paddingXS:d,arrowOffsetHorizontal:f,sizePopupArrow:p,antCls:m}=e,[h,g]=We(m,`tooltip`),_=t(o).add(p).add(f).equal(),v={minWidth:t(o).mul(2).add(p).equal(),minHeight:c,padding:`${Y(e.calc(u).div(2).equal())} ${Y(d)}`,color:g(`overlay-color`,i),textAlign:`start`,textDecoration:`none`,wordWrap:`break-word`,backgroundColor:a,borderRadius:o,boxSizing:`border-box`},y={[h(`valid-offset-x`)]:g(`arrow-offset-x`,`var(--arrow-x)`),transformOrigin:[g(`valid-offset-x`,Oa),`var(--arrow-y, ${Oa})`].join(` `)};return[{[n]:{...q(e),position:`absolute`,zIndex:s,display:`block`,width:`max-content`,maxWidth:r,visibility:`visible`,filter:l,...y,"&-hidden":{display:`none`},[h(`arrow-background-color`)]:a,[`${n}-container`]:[v,Ln(e,!0)],[`&:has(~ ${n}-unique-container)`]:{[`${n}-container`]:{border:`none`,background:`transparent`}},[[`&-placement-topLeft`,`&-placement-topRight`,`&-placement-bottomLeft`,`&-placement-bottomRight`].join(`,`)]:{minWidth:_},[[`&-placement-left`,`&-placement-leftTop`,`&-placement-leftBottom`,`&-placement-right`,`&-placement-rightTop`,`&-placement-rightBottom`].join(`,`)]:{[`${n}-inner`]:{borderRadius:e.min(o,8)}},[`${n}-content`]:{position:`relative`},...sn(e,(e,{darkColor:t})=>({[`&${n}-${e}`]:{[`${n}-container`]:{backgroundColor:t},[`${n}-arrow`]:{[h(`arrow-background-color`)]:t}}})),"&-rtl":{direction:`rtl`}}},ba(e,g(`arrow-background-color`),{arrowShadow:!1}),{[`${n}-pure`]:{position:`relative`,maxWidth:`none`,margin:e.sizePopupArrow}},{[`${n}-unique-container`]:{...v,...y,position:`absolute`,zIndex:t(s).sub(1).equal(),filter:l,"&-hidden":{display:`none`},"&-visible":{transition:`all ${e.motionDurationSlow}`}}}]},Aa=e=>({zIndexPopup:e.zIndexPopupBase+70,maxWidth:250,...ya({contentRadius:e.borderRadius,limitVerticalRadius:!0}),..._a(h(e,{borderRadiusOuter:Math.min(e.borderRadiusOuter,4)}))}),ja=(e,t,n=!0)=>we(`Tooltip`,e=>{let{borderRadius:t,colorTextLightSolid:n,colorBgSpotlight:r,maxWidth:i}=e;return[ka(h(e,{tooltipMaxWidth:i,tooltipColor:n,tooltipBorderRadius:t,tooltipBg:r})),Zn(e,`zoom-big-fast`)]},Aa,{resetStyle:!1,injectStyle:n})(e,t),Ma=Ae.map(e=>`${e}-inverse`);function Na(e,t=!0){return t?[].concat(X(Ma),X(Ae)).includes(e):Ae.includes(e)}var Pa=(e,t,n)=>{let r=Na(n),[i]=We(e,`tooltip`),a=L({[`${t}-${n}`]:n&&r}),o={},s={},c=et(n).toRgb(),l=(.299*c.r+.587*c.g+.114*c.b)/255<.5?`#FFF`:`#000`;return n&&!r&&(o.background=n,o[i(`overlay-color`)]=l,s[i(`arrow-background-color`)]=n),{className:a,overlayStyle:o,arrowStyle:s}},Fa=e=>{let{prefixCls:t,className:n,placement:r=`top`,title:i,color:a,overlayInnerStyle:o,classNames:s,styles:c}=e,{getPrefixCls:l}=Z.useContext(Gt),u=l(`tooltip`,t),d=l(),f=g(u),[p,m]=ja(u,f),h=Pa(d,u,a),_=h.arrowStyle,v=Z.useMemo(()=>({container:{...o,...h.overlayStyle}}),[o,h.overlayStyle]),y={...e,placement:r},[b,x]=O([s],[v,c],{props:y}),S=L(f,p,m,u,`${u}-pure`,`${u}-placement-${r}`,n,h.className);return Z.createElement(`div`,{className:S,style:_},Z.createElement(`div`,{className:`${u}-arrow`}),Z.createElement(ua,{...e,className:p,prefixCls:u,classNames:b,styles:x},i))},Ia=Z.forwardRef((e,t)=>{let{prefixCls:n,openClassName:r,getTooltipContainer:i,color:a,children:o,afterOpenChange:s,arrow:l,destroyTooltipOnHide:u,destroyOnHidden:d,title:p,overlay:m,trigger:h,builtinPlacements:_,autoAdjustOverflow:v=!0,motion:y,getPopupContainer:b,placement:x=`top`,mouseEnterDelay:S=.1,mouseLeaveDelay:C=.1,rootClassName:w,styles:T,classNames:E,onOpenChange:D,overlayInnerStyle:k,overlayStyle:A,overlayClassName:j,...M}=e,[,N]=Ut(),P=e[`data-popover-inject`],{getPopupContainer:F,getPrefixCls:I,direction:R,...z}=f(`tooltip`),{className:B,style:V,classNames:H,styles:U,arrow:W,trigger:G}=P?{}:z,K=Da(l,W),te=K.show,ne=h||G||`hover`,q=b||F,J=d??!!u,re=Z.useContext(Ea);me(`Tooltip`);let ie=Z.useRef(null),Y=()=>{ie.current?.forceAlign()};Z.useImperativeHandle(t,()=>({forceAlign:Y,nativeElement:ie.current?.nativeElement,popupElement:ie.current?.popupElement}));let[ae,oe]=ee(e.defaultOpen??!1,e.open),se=!p&&!m&&p!==0,ce=e=>{oe(se?!1:e),!se&&D&&D(e)},le=Z.useMemo(()=>_||Ta({arrowPointAtCenter:K?.pointAtCenter??!1,autoAdjustOverflow:v,arrowWidth:te?N.sizePopupArrow:0,borderRadius:N.borderRadius,offset:N.marginXXS,visibleFirst:!0}),[K,_,N,te,v]),ue=Z.useMemo(()=>p===0?p:m||p||``,[m,p]),de=Z.createElement(Se,{space:!0,form:!0},ge(ue)?ue():ue),fe={...e,trigger:ne,builtinPlacements:le,getPopupContainer:q,destroyOnHidden:J},[pe,he]=O([H,E],[U,T],{props:fe}),ve=I(`tooltip`,n),be=I(),xe=ae;(!(`open`in e)&&se||re)&&(xe=!1);let X=Z.isValidElement(o)&&!Ne(o)?o:Z.createElement(`span`,null,o),Ce=X.props,we=!Ce.className||typeof Ce.className==`string`?L(Ce.className,r||`${ve}-open`):Ce.className,Te=g(ve),[Ee,De]=ja(ve,Te,!P),Oe=Pa(be,ve,a),ke=Oe.arrowStyle,Ae=L(Te,Ee,De),je=L(j,{[`${ve}-rtl`]:R===`rtl`},Oe.className,w,Ae,B,pe.root),[Me,Pe]=ye(`Tooltip`,M.zIndex),Fe={...he.container,...k,...Oe.overlayStyle},Ie=Z.createElement(ga,{unique:!0,...M,zIndex:Me,showArrow:te,placement:x,mouseEnterDelay:S,mouseLeaveDelay:C,prefixCls:ve,classNames:{root:je,container:pe.container,arrow:pe.arrow,uniqueContainer:L(Ae,pe.container)},styles:{root:{...ke,...he.root,...V,...A},container:Fe,uniqueContainer:Fe,arrow:he.arrow},ref:ie,overlay:de,visible:xe,onVisibleChange:ce,afterVisibleChange:s,arrowContent:Z.createElement(`span`,{className:`${ve}-arrow-content`}),motion:{motionName:c(be,`zoom-big-fast`,typeof y?.motionName==`string`?y?.motionName:void 0),motionDeadline:1e3},trigger:ne,builtinPlacements:le,getTooltipContainer:q,destroyOnHidden:J},xe?Tt(X,{className:we}):X);return Z.createElement(_e.Provider,{value:Pe},Ie)});Ia._InternalPanelDoNotUseOrYouWillBeFired=Fa,Ia.UniqueProvider=mt;function La(e,t){return{[`${e}, ${e}:hover, ${e}:focus`]:{color:t.colorTextDisabled,cursor:`not-allowed`}}}var Ra=e=>({background:e.itemSelectedBg,boxShadow:e.boxShadowTertiary}),za={overflow:`hidden`,...j},Ba=e=>{let{componentCls:t,motionDurationSlow:n,motionEaseInOut:r,motionDurationMid:i}=e,a=e.calc(e.controlHeight).sub(e.calc(e.trackPadding).mul(2)).equal(),o=e.calc(e.controlHeightLG).sub(e.calc(e.trackPadding).mul(2)).equal(),s=e.calc(e.controlHeightSM).sub(e.calc(e.trackPadding).mul(2)).equal();return{[t]:{...q(e),display:`inline-block`,padding:e.trackPadding,color:e.itemColor,background:e.trackBg,borderRadius:e.borderRadius,transition:`all ${i}`,...V(e),[`${t}-group`]:{position:`relative`,display:`flex`,alignItems:`stretch`,justifyItems:`flex-start`,flexDirection:`row`,width:`100%`},[`&${t}-rtl`]:{direction:`rtl`},[`&${t}-vertical`]:{[`${t}-group`]:{flexDirection:`column`},[`${t}-thumb`]:{width:`100%`,height:0,padding:`0 ${Y(e.paddingXXS)}`}},[`&${t}-block`]:{display:`flex`},[`&${t}-block ${t}-item`]:{flex:1,minWidth:0},[`${t}-item`]:{position:`relative`,textAlign:`center`,cursor:`pointer`,transition:`color ${i}`,borderRadius:e.borderRadiusSM,transform:`translateZ(0)`,"&-selected":{...Ra(e),color:e.itemSelectedColor},"&-focused":$e(e),"&::after":{content:`""`,position:`absolute`,zIndex:-1,width:`100%`,height:`100%`,top:0,insetInlineStart:0,borderRadius:`inherit`,opacity:0,pointerEvents:`none`,transition:[`opacity`,`background-color`].map(e=>`${e} ${i}`).join(`, `)},[`&:not(${t}-item-selected):not(${t}-item-disabled)`]:{"&:hover, &:active":{color:e.itemHoverColor},"&:hover::after":{opacity:1,backgroundColor:e.itemHoverBg},"&:active::after":{opacity:1,backgroundColor:e.itemActiveBg}},"&-label":{minHeight:a,lineHeight:Y(a),padding:`0 ${Y(e.segmentedPaddingHorizontal)}`,...za},"&-icon + *":{marginInlineStart:e.calc(e.marginSM).div(2).equal()},"&-input":{position:`absolute`,insetBlockStart:0,insetInlineStart:0,width:0,height:0,opacity:0,pointerEvents:`none`}},[`${t}-thumb`]:{...Ra(e),position:`absolute`,insetBlockStart:0,insetInlineStart:0,width:0,height:`100%`,padding:`${Y(e.paddingXXS)} 0`,borderRadius:e.borderRadiusSM,[`& ~ ${t}-item:not(${t}-item-selected):not(${t}-item-disabled)::after`]:{backgroundColor:`transparent`}},[`&${t}-lg`]:{borderRadius:e.borderRadiusLG,[`${t}-item-label`]:{minHeight:o,lineHeight:Y(o),padding:`0 ${Y(e.segmentedPaddingHorizontal)}`,fontSize:e.fontSizeLG},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadius}},[`&${t}-sm`]:{borderRadius:e.borderRadiusSM,[`${t}-item-label`]:{minHeight:s,lineHeight:Y(s),padding:`0 ${Y(e.segmentedPaddingHorizontalSM)}`},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadiusXS}},...La(`&-disabled ${t}-item`,e),...La(`${t}-item-disabled`,e),[`${t}-thumb-motion-appear-active`]:{willChange:`transform, width`,transition:[`transform`,`width`].map(e=>`${e} ${n} ${r}`).join(`, `)},[`&${t}-shape-round`]:{borderRadius:9999,[`${t}-item, ${t}-thumb`]:{borderRadius:9999}}}}},Va=we(`Segmented`,e=>{let{lineWidth:t,calc:n}=e;return Ba(h(e,{segmentedPaddingHorizontal:n(e.controlPaddingHorizontal).sub(t).equal(),segmentedPaddingHorizontalSM:n(e.controlPaddingHorizontalSM).sub(t).equal()}))},e=>{let{colorTextLabel:t,colorText:n,colorFillSecondary:r,colorBgElevated:i,colorFill:a,lineWidthBold:o,colorBgLayout:s}=e;return{trackPadding:o,trackBg:s,itemColor:t,itemHoverColor:n,itemHoverBg:r,itemSelectedBg:i,itemActiveBg:a,itemSelectedColor:n}});function Ha(e){return yt(e)&&!!e?.icon}var Ua=Z.forwardRef((e,t)=>{let n=_(),{prefixCls:r,className:i,rootClassName:a,block:s,options:c=[],size:l,style:u,vertical:d,orientation:p,shape:m=`default`,name:h=n,styles:g,classNames:v,...y}=e,{getPrefixCls:b,direction:x,className:S,style:C,classNames:w,styles:T}=f(`segmented`),E={...e,options:c,size:l,shape:m},D=fe(C),k=fe(u),[A,j]=O([w,v],[T,D,g,k],{props:E}),M=b(`segmented`,r),[N,P]=Va(M),F=o(l),I=Z.useMemo(()=>c.map(e=>{if(Ha(e)){let{icon:t,label:n,...r}=e;return{...r,label:Z.createElement(Z.Fragment,null,Z.createElement(`span`,{className:L(`${M}-item-icon`,A.icon),style:j.icon},t),n&&Z.createElement(`span`,null,n))}}return e}),[c,M,A.icon,j.icon]),[,R]=xe(p,d),z=L(i,a,S,A.root,{[`${M}-block`]:s,[`${M}-sm`]:F===`small`,[`${M}-lg`]:F===`large`,[`${M}-vertical`]:R,[`${M}-shape-${m}`]:m===`round`},N,P),B=(e,{item:t})=>{if(!t.tooltip)return e;let n=yt(t.tooltip)?t.tooltip:{title:t.tooltip};return Z.createElement(Ia,{...n},e)};return Z.createElement(la,{...y,name:h,className:z,style:j.root,classNames:A,styles:j,itemRender:B,options:I,ref:t,prefixCls:M,direction:x,vertical:R})}),Wa={},Ga=`rc-table-internal-hook`,Ka=i(t());function qa(e){let t=Z.createContext(void 0);return{Context:t,Provider:({value:e,children:n})=>{let r=Z.useRef(e);r.current=e;let[i]=Z.useState(()=>({getValue:()=>r.current,listeners:new Set}));return l(()=>{(0,Ka.unstable_batchedUpdates)(()=>{i.listeners.forEach(t=>{t(e)})})},[e]),Z.createElement(t.Provider,{value:i},n)},defaultValue:e}}function Ja(e,t){let n=U(typeof t==`function`?t:e=>{if(t===void 0)return e;if(!Array.isArray(t))return e[t];let n={};return t.forEach(t=>{n[t]=e[t]}),n}),r=Z.useContext(e?.Context),{listeners:i,getValue:a}=r||{},o=Z.useRef();o.current=n(r?a():e?.defaultValue);let[,s]=Z.useState({});return l(()=>{if(!r)return;function e(e){let t=n(e);Me(o.current,t,!0)||s({})}return i.add(e),()=>{i.delete(e)}},[r]),o.current}function Ya(){return Ya=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let s=i?{ref:o}:{},c=Z.useRef(0),l=Z.useRef(a);return t()===null?((!r||r(l.current,a))&&(c.current+=1),l.current=a,Z.createElement(e.Provider,{value:c.current},Z.createElement(n,Ya({},a,s)))):Z.createElement(n,Ya({},a,s))};return i?Z.forwardRef(a):a}function r(e,n){let r=m(e),i=(n,i)=>{let a=r?{ref:i}:{};return t(),Z.createElement(e,Ya({},n,a))};return Z.memo(r?Z.forwardRef(i):i,n)}return{makeImmutable:n,responseImmutable:r,useImmutableMark:t}}var{makeImmutable:Za,responseImmutable:Qa,useImmutableMark:$a}=Xa(),{makeImmutable:eo,responseImmutable:to,useImmutableMark:no}=Xa(),ro=qa(),io=Z.createContext({renderWithProps:!1}),ao=`RC_TABLE_KEY`;function oo(e){return e==null?[]:Array.isArray(e)?e:[e]}function so(e){let t=[],n={};return e.forEach(e=>{let{key:r,dataIndex:i}=e||{},a=r||oo(i).join(`-`)||ao;for(;n[a];)a=`${a}_next`;n[a]=!0,t.push(a)}),t}function co(e){return e!=null}function lo(e){return typeof e==`number`&&!Number.isNaN(e)}function uo(e){return e&&typeof e==`object`&&!Array.isArray(e)&&!Z.isValidElement(e)}function fo(e,t,n,r,i,a){let o=Z.useContext(io);return le(()=>{if(co(r))return[r];let a=Dt(e,t==null||t===``?[]:Array.isArray(t)?t:[t]),s=a,c;if(i){let t=i(a,e,n);uo(t)?(s=t.children,c=t.props,o.renderWithProps=!0):s=t}return[s,c]},[no(),e,r,t,i,n],(e,t)=>{if(a){let[,n]=e,[,r]=t;return a(r,n)}return o.renderWithProps?!0:!Me(e,t,!0)})}function po(e,t,n,r){let i=e+t-1;return e<=r&&i>=n}function mo(e,t){return Ja(ro,n=>[po(e,t||1,n.hoverStartRow,n.hoverEndRow),n.onHover])}function ho(){return ho=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r,i=e===!0?{showTitle:!0}:e;return i&&(i.showTitle||t===`header`)&&(typeof n==`string`||typeof n==`number`?r=n.toString():Z.isValidElement(n)&&typeof n.props?.children==`string`&&(r=n.props?.children)),r},_o=Z.memo(e=>{let{component:t,children:n,ellipsis:r,scope:i,prefixCls:a,className:o,style:s,align:c,record:l,render:u,dataIndex:d,renderIndex:f,shouldCellUpdate:p,index:m,rowType:h,colSpan:g,rowSpan:_,fixStart:v,fixEnd:y,fixedStartShadow:b,fixedEndShadow:x,offsetFixedStartShadow:S,offsetFixedEndShadow:C,zIndex:w,zIndexReverse:T,appendNode:E,additionalProps:D={},isSticky:O}=e,k=`${a}-cell`,{allColumnsFixedLeft:A,rowHoverable:j}=Ja(ro,[`allColumnsFixedLeft`,`rowHoverable`]),[M,N]=fo(l,d,f,n,u,p),P={},F=typeof v==`number`&&!A,I=typeof y==`number`&&!A,[R,z]=Ja(ro,({scrollInfo:e})=>{if(!F&&!I)return[!1,!1];let[t,n]=e;return[(F&&b&&t)-S>=1,(I&&x&&n-t)-C>1]});F&&(P.insetInlineStart=v,P[`--z-offset`]=w,P[`--z-offset-reverse`]=T),I&&(P.insetInlineEnd=y,P[`--z-offset`]=w,P[`--z-offset-reverse`]=T);let B=N?.colSpan??D.colSpan??g??1,V=N?.rowSpan??D.rowSpan??_??1,[H,W]=mo(m,V),G=U(e=>{l&&W(m,m+V-1),D?.onMouseEnter?.(e)}),ee=U(e=>{l&&W(-1,-1),D?.onMouseLeave?.(e)});if(B===0||V===0)return null;let K=D.title??go({rowType:h,ellipsis:r,children:M}),te=L(k,o,{[`${k}-fix`]:F||I,[`${k}-fix-start`]:F,[`${k}-fix-end`]:I,[`${k}-fix-start-shadow`]:b,[`${k}-fix-start-shadow-show`]:b&&R,[`${k}-fix-end-shadow`]:x,[`${k}-fix-end-shadow-show`]:x&&z,[`${k}-ellipsis`]:r,[`${k}-with-append`]:E,[`${k}-fix-sticky`]:(F||I)&&O,[`${k}-row-hover`]:!N&&H},D.className,N?.className),ne={};c&&(ne.textAlign=c);let q={...N?.style,...P,...ne,...D.style,...s},J=M;return typeof J==`object`&&!Array.isArray(J)&&!Z.isValidElement(J)&&(J=null),r&&(b||x)&&(J=Z.createElement(`span`,{className:`${k}-content`},J)),Z.createElement(t,ho({},N,D,{className:te,style:q,title:K,scope:i,onMouseEnter:j?G:void 0,onMouseLeave:j?ee:void 0,colSpan:B===1?null:B,rowSpan:V===1?null:V}),E,J)});function vo(e){return e.fixed===`start`}function yo(e){return e.fixed===`end`}function bo(e,t,n,r){let i=n[e]||{},a=n[t]||{},o=null,s=null;vo(i)&&vo(a)?o=r.start[e]:yo(a)&&yo(i)&&(s=r.end[t]);let c=!1,l=!1,u=0,d=0;o!==null&&(c=!n[t+1]||!vo(n[t+1]),u=n.length*2-e,d=n.length+e),s!==null&&(l=!n[e-1]||!yo(n[e-1]),u=t,d=n.length-t);let f=0,p=0;if(c)for(let t=0;tt;--e)yo(n[e])||(p+=r.widths[e]||0);return{fixStart:o,fixEnd:s,fixedStartShadow:c,fixedEndShadow:l,offsetFixedStartShadow:f,offsetFixedEndShadow:p,isSticky:r.isSticky,zIndex:u,zIndexReverse:d}}var xo=Z.createContext({});function So(){return So=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{className:t,index:n,children:r,colSpan:i=1,rowSpan:a,align:o}=e,{prefixCls:s}=Ja(ro,[`prefixCls`]),{scrollColumnIndex:c,stickyOffsets:l,flattenColumns:u}=Z.useContext(xo),d=n+i-1+1===c?i+1:i,f=Z.useMemo(()=>bo(n,n+d-1,u,l),[n,d,u,l]);return Z.createElement(_o,So({className:t,index:n,component:`td`,prefixCls:s,record:null,dataIndex:null,align:o,colSpan:d,rowSpan:a,render:()=>r},f))},wo=e=>{let{children:t,...n}=e;return Z.createElement(`tr`,n,t)},To=e=>{let{children:t}=e;return t};To.Row=wo,To.Cell=Co;var Eo=to(e=>{let{children:t,stickyOffsets:n,flattenColumns:r}=e,i=Ja(ro,`prefixCls`),a=r.length-1,o=r[a],s=Z.useMemo(()=>({stickyOffsets:n,flattenColumns:r,scrollColumnIndex:o?.scrollbar?a:null}),[o,r,a,n]);return Z.createElement(xo.Provider,{value:s},Z.createElement(`tfoot`,{className:`${i}-summary`},t))}),Do=To;function Oo(e){return null}function ko(e){return null}function Ao(e,t,n,r,i,a,o){let s=a(t,o);e.push({record:t,indent:n,index:o,rowKey:s});let c=i?.has(s);if(t&&Array.isArray(t[r])&&c)for(let o=0;o{if(n?.size){let i=[];for(let a=0;a({record:e,indent:0,index:t,rowKey:r(e,t)}))},[e,t,n,r])}function Mo(e,t,n,r){let i=Ja(ro,[`prefixCls`,`fixedInfoList`,`flattenColumns`,`expandableType`,`expandRowByClick`,`onTriggerExpand`,`rowClassName`,`expandedRowClassName`,`indentSize`,`expandIcon`,`expandedRowRender`,`expandIconColumnIndex`,`expandedKeys`,`childrenColumnName`,`rowExpandable`,`onRow`]),{flattenColumns:a,expandableType:o,expandedKeys:s,childrenColumnName:c,onTriggerExpand:l,rowExpandable:u,onRow:d,expandRowByClick:f,rowClassName:p}=i,m=o===`nest`,h=o===`row`&&(!u||u(e)),g=h||m,_=s&&s.has(t),v=c&&e&&e[c],y=U(l),b=d?.(e,n),x=b?.onClick,S=(t,...n)=>{f&&g&&l(e,t),x?.(t,...n)},C;typeof p==`string`?C=p:typeof p==`function`&&(C=p(e,n,r));let w=so(a);return{...i,columnsKey:w,nestExpandable:m,expanded:_,hasNestChildren:v,record:e,onTriggerExpand:y,rowSupportExpand:h,expandable:g,rowProps:{...b,className:L(C,b?.className),onClick:S}}}var No=e=>{let{prefixCls:t,children:n,component:r,cellComponent:i,className:a,expanded:o,colSpan:s,isEmpty:c,stickyOffset:l=0}=e,{scrollbarSize:u,fixHeader:d,fixColumn:f,componentWidth:p,horizonScroll:m}=Ja(ro,[`scrollbarSize`,`fixHeader`,`fixColumn`,`componentWidth`,`horizonScroll`]),h=n;return(c?m&&p:f)&&(h=Z.createElement(`div`,{style:{width:p-l-(d&&!c?u:0),position:`sticky`,left:l,overflow:`hidden`},className:`${t}-expanded-row-fixed`},h)),Z.createElement(r,{className:a,style:{display:o?null:`none`}},Z.createElement(_o,{component:i,prefixCls:t,colSpan:s},h))};function Po({prefixCls:e,record:t,onExpand:n,expanded:r,expandable:i}){let a=`${e}-row-expand-icon`;if(!i)return Z.createElement(`span`,{className:L(a,`${e}-row-spaced`)});let o=e=>{n(t,e),e.stopPropagation()};return Z.createElement(`span`,{className:L(a,{[`${e}-row-expanded`]:r,[`${e}-row-collapsed`]:!r}),onClick:o})}function Fo(e,t,n){let r=[];function i(e){(e||[]).forEach((e,a)=>{r.push(t(e,a)),i(e[n])})}return i(e),r}function Io(e,t,n,r){return typeof e==`string`?e:typeof e==`function`?e(t,n,r):``}function Lo(){return Lo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{className:t,style:n,classNames:r,styles:i,record:a,index:o,renderIndex:s,rowKey:c,rowKeys:l,indent:u=0,rowComponent:d,cellComponent:f,scopeCellComponent:p,expandedRowInfo:m}=e,h=Mo(a,c,o,u),{prefixCls:g,flattenColumns:_,expandedRowClassName:v,expandedRowRender:y,rowProps:b,expanded:x,rowSupportExpand:S}=h,C=Z.useRef(!1);C.current||=x;let w=Io(v,a,o,u),T=Z.createElement(d,Lo({},b,{"data-row-key":c,className:L(t,`${g}-row`,`${g}-row-level-${u}`,b?.className,r.row,{[w]:u>=1}),style:{...n,...b?.style,...i.row}}),_.map((e,t)=>{let{render:n,dataIndex:c,className:d}=e,{key:_,fixedInfo:v,appendCellNode:y,additionalCellProps:b}=Ro(h,e,t,u,o,l,m?.offset);return Z.createElement(_o,Lo({className:L(d,r.cell),style:i.cell,ellipsis:e.ellipsis,align:e.align,scope:e.rowScope,component:e.rowScope?p:f,prefixCls:g,key:_,record:a,index:o,renderIndex:s,dataIndex:c,render:n,shouldCellUpdate:e.shouldCellUpdate},v,{appendNode:y,additionalProps:b}))})),E;if(S&&(C.current||x)){let e=y(a,o,u+1,x);E=Z.createElement(No,{expanded:x,className:L(`${g}-expanded-row`,`${g}-expanded-row-level-${u+1}`,w),prefixCls:g,component:d,cellComponent:f,colSpan:m?m.colSpan:_.length,isEmpty:!1,stickyOffset:m?.sticky},e)}return Z.createElement(Z.Fragment,null,T,E)}),Bo=e=>{let{columnKey:t,onColumnResize:n,title:r}=e,i=Z.useRef(null);return l(()=>{i.current&&n(t,i.current.offsetWidth)},[]),Z.createElement(jt,{data:t},Z.createElement(`td`,{ref:i,style:{paddingTop:0,paddingBottom:0,borderTop:0,borderBottom:0,height:0}},Z.createElement(`div`,{style:{height:0,overflow:`hidden`,fontWeight:`bold`}},r||`\xA0`)))},Vo=({prefixCls:e,columnsKey:t,onColumnResize:n,columns:r})=>{let i=Z.useRef(null),{measureRowRender:a}=Ja(ro,[`measureRowRender`]),o=Z.createElement(`tr`,{"aria-hidden":`true`,className:`${e}-measure-row`,style:{height:0},ref:i},Z.createElement(jt.Collection,{onBatchResize:e=>{Ue(i.current)&&e.forEach(({data:e,size:t})=>{n(e,t.offsetWidth)})}},t.map(e=>{let t=r.find(t=>t.key===e)?.title,i=Z.isValidElement(t)?Z.cloneElement(t,{ref:null}):t;return Z.createElement(Bo,{key:e,columnKey:e,onColumnResize:n,title:i})})));return typeof a==`function`?a(o):o},Ho=to(e=>{let{data:t,measureColumnWidth:n}=e,{prefixCls:r,getComponent:i,onColumnResize:a,flattenColumns:o,getRowKey:s,expandedKeys:c,childrenColumnName:l,emptyNode:u,classNames:d,styles:f,expandedRowOffset:p=0,colWidths:m}=Ja(ro,[`prefixCls`,`getComponent`,`onColumnResize`,`flattenColumns`,`getRowKey`,`expandedKeys`,`childrenColumnName`,`emptyNode`,`classNames`,`styles`,`expandedRowOffset`,`fixedInfoList`,`colWidths`]),{body:h={}}=d||{},{body:g={}}=f||{},_=jo(t,l,c,s),v=Z.useMemo(()=>_.map(e=>e.rowKey),[_]),y=Z.useRef({renderWithProps:!1}),b=Z.useMemo(()=>{let e=o.length-p,t=0;for(let e=0;e{let{record:n,indent:r,index:i,rowKey:a}=e;return Z.createElement(zo,{classNames:h,styles:g,key:a,rowKey:a,rowKeys:v,record:n,index:t,renderIndex:i,rowComponent:S,cellComponent:C,scopeCellComponent:w,indent:r,expandedRowInfo:b})}):Z.createElement(No,{expanded:!0,className:`${r}-placeholder`,prefixCls:r,component:S,cellComponent:C,colSpan:o.length,isEmpty:!0},u);let E=so(o);return Z.createElement(io.Provider,{value:y.current},Z.createElement(x,{style:g.wrapper,className:L(`${r}-tbody`,h.wrapper)},n&&Z.createElement(Vo,{prefixCls:r,columnsKey:E,onColumnResize:a,columns:o}),T))}),Uo=`RC_TABLE_INTERNAL_COL_DEFINE`;function Wo(e){let{expandable:t,...n}=e,r;return r=`expandable`in e?{...n,...t}:n,r.showExpandColumn===!1&&(r.expandIconColumnIndex=-1),r}function Go(){return Go=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{colWidths:t,columns:n,columCount:r}=e,{tableLayout:i}=Ja(ro,[`tableLayout`]),a=[],o=r||n.length,s=!1;for(let e=o-1;e>=0;--e){let r=t[e],o=n&&n[e],c,l;if(o&&(c=o[Uo],i===`auto`&&(l=o.minWidth)),r||l||c||s){let{columnType:t,...n}=c||{};a.unshift(Z.createElement(`col`,Go({key:e,style:{width:r,minWidth:l}},n))),s=!0}}return a.length>0?Z.createElement(`colgroup`,null,a):null};function qo(e,t){return(0,Z.useMemo)(()=>{let n=[];for(let r=0;r{let{className:n,style:r,noData:i,columns:a,flattenColumns:o,colWidths:s,colGroup:c,columCount:l,stickyOffsets:u,direction:d,fixHeader:f,stickyTopOffset:p,stickyBottomOffset:m,stickyClassName:h,scrollX:g,tableLayout:_=`fixed`,onScroll:v,maxContentScroll:y,children:b,...x}=e,{prefixCls:S,scrollbarSize:C,isSticky:w,getComponent:T}=Ja(ro,[`prefixCls`,`scrollbarSize`,`isSticky`,`getComponent`]),E=T([`header`,`table`],`table`),D=w&&!f?0:C,O=Z.useRef(null),k=Z.useCallback(e=>{ke(t,e),ke(O,e)},[]);Z.useEffect(()=>{function e(e){let{currentTarget:t,deltaX:n}=e;if(n){let{scrollLeft:r,scrollWidth:i,clientWidth:a}=t,o=i-a,s=r+n;d===`rtl`?(s=Math.max(-o,s),s=Math.min(0,s)):(s=Math.min(o,s),s=Math.max(0,s)),v({currentTarget:t,scrollLeft:s}),e.preventDefault()}}let t=O.current;return t?.addEventListener(`wheel`,e,{passive:!1}),()=>{t?.removeEventListener(`wheel`,e)}},[]);let A=o[o.length-1],j={fixed:A?A.fixed:null,scrollbar:!0,onHeaderCell:()=>({className:`${S}-cell-scrollbar`})},M=(0,Z.useMemo)(()=>D?[...a,j]:a,[D,a]),N=(0,Z.useMemo)(()=>D?[...o,j]:o,[D,o]),P=(0,Z.useMemo)(()=>{let{start:e,end:t}=u;return{...u,start:e,end:[...t.map(e=>e+D),0],isSticky:w}},[D,u,w]),F=qo(s,l),I=(0,Z.useMemo)(()=>{let e=!F||!F.length||F.every(e=>!e);return i||e},[i,F]);return Z.createElement(`div`,{style:{overflow:`hidden`,...w?{top:p,bottom:m}:{},...r},ref:k,className:L(n,{[h]:!!h})},Z.createElement(E,{style:{tableLayout:_,minWidth:`100%`,width:g}},I?c:Z.createElement(Ko,{colWidths:[...F,D],columCount:l+1,columns:N}),b({...x,stickyOffsets:P,columns:M,flattenColumns:N})))}),Yo=Z.memo(Jo);function Xo(){return Xo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{cells:t,stickyOffsets:n,flattenColumns:r,rowComponent:i,cellComponent:a,onHeaderRow:o,index:s,classNames:c,styles:l}=e,{prefixCls:u}=Ja(ro,[`prefixCls`]),d;o&&(d=o(t.map(e=>e.column),s));let f=so(t.map(e=>e.column));return Z.createElement(i,Xo({},d,{className:c.row,style:l.row}),t.map((e,t)=>{let{column:i,colStart:o,colEnd:s,colSpan:c}=e,l=bo(o,s,r,n),d=i?.onHeaderCell?.(i)||{};return Z.createElement(_o,Xo({},e,{scope:i.title?c>1?`colgroup`:`col`:null,ellipsis:i.ellipsis,align:i.align,component:a,prefixCls:u,key:f[t]},l,{additionalProps:d,rowType:`header`}))}))};function Qo(e,t,n){let r=[];function i(e,a,o=0){r[o]=r[o]||[];let s=a;return e.filter(Boolean).map(e=>{let a={key:e.key,className:L(e.className,t.cell)||``,style:n.cell,children:e.title,column:e,colStart:s},c=1,l=e.children;return l&&l.length>0&&(c=i(l,s,o+1).reduce((e,t)=>e+t,0),a.hasSubColumns=!0),`colSpan`in e&&({colSpan:c}=e),`rowSpan`in e&&(a.rowSpan=e.rowSpan),a.colSpan=c,a.colEnd=a.colStart+c-1,r[o].push(a),s+=c,c})}i(e,0);let a=r.length;for(let e=0;e{!(`rowSpan`in t)&&!t.hasSubColumns&&(t.rowSpan=a-e)});return r}var $o=to(e=>{let{stickyOffsets:t,columns:n,flattenColumns:r,onHeaderRow:i}=e,{prefixCls:a,getComponent:o,classNames:s,styles:c}=Ja(ro,[`prefixCls`,`getComponent`,`classNames`,`styles`]),{header:l={}}=s||{},{header:u={}}=c||{},d=Z.useMemo(()=>Qo(n,l,u),[n,l,u]),f=o([`header`,`wrapper`],`thead`),p=o([`header`,`row`],`tr`),m=o([`header`,`cell`],`th`);return Z.createElement(f,{className:L(`${a}-thead`,l.wrapper),style:u.wrapper},d.map((e,n)=>Z.createElement(Zo,{classNames:l,styles:u,key:n,flattenColumns:r,cells:e,stickyOffsets:t,rowComponent:p,cellComponent:m,onHeaderRow:i,index:n})))});function es(e,t=``){return typeof t==`number`?t:t.endsWith(`%`)?e*parseFloat(t)/100:null}function ts(e,t,n){return Z.useMemo(()=>{if(t&&t>0){let r=0,i=0;e.forEach(e=>{let n=es(t,e.width);n?r+=n:i+=1});let a=Math.max(t,n),o=Math.max(a-r,i),s=i,c=o/i,l=0,u=e.map(e=>{let n={...e},r=es(t,n.width);if(r)n.width=r;else{let e=Math.floor(c);n.width=s===1?o:e,o-=e,--s}return l+=n.width,n});if(l{let r=Math.floor(t.width*e);t.width=n===u.length-1?o:r,o-=r})}return[u,Math.max(l,a)]}return[e,t]},[e,t,n])}function ns(e){return xt(e).filter(e=>Z.isValidElement(e)).map(e=>{let{key:t,props:n}=e,{children:r,...i}=n,a={key:t,...i};return r&&(a.children=ns(r)),a})}function rs(e){return e.filter(e=>e&&typeof e==`object`&&!e.hidden).map(e=>{let t=e.children;return t&&t.length>0?{...e,children:rs(t)}:e})}function is(e,t=`key`){return e.filter(e=>e&&typeof e==`object`).reduce((e,n,r)=>{let{fixed:i}=n,a=i===!0||i===`left`?`start`:i===`right`?`end`:i,o=`${t}-${r}`,s=n.children;return s&&s.length>0?[...e,...is(s,o).map(e=>({...e,fixed:e.fixed??a}))]:[...e,{key:o,...n,fixed:a}]},[])}function as({prefixCls:e,columns:t,children:n,expandable:r,expandedKeys:i,columnTitle:a,getRowKey:o,onTriggerExpand:s,expandIcon:c,rowExpandable:l,expandIconColumnIndex:u,expandedRowOffset:d=0,direction:f,expandRowByClick:p,columnWidth:m,fixed:h,scrollWidth:g,clientWidth:_},v){let y=Z.useMemo(()=>rs((t||ns(n)||[]).slice()),[t,n]),b=Z.useMemo(()=>{if(r){let t=y.slice();if(!t.includes(Wa)){let e=u||0,n=e===0&&(h===`right`||h===`end`)?y.length:e;n>=0&&t.splice(n,0,Wa)}let n=t.indexOf(Wa);t=t.filter((e,t)=>e!==Wa||t===n);let r=y[n],f;f=h||(r?r.fixed:null);let g={[Uo]:{className:`${e}-expand-icon-col`,columnType:`EXPAND_COLUMN`},title:a,fixed:f,className:`${e}-row-expand-icon-cell`,width:m,render:(t,n,r)=>{let a=o(n,r),u=c({prefixCls:e,expanded:i.has(a),expandable:l?l(n):!0,record:n,onExpand:s});return p?Z.createElement(`span`,{onClick:e=>e.stopPropagation()},u):u}};return t.map((e,t)=>{let n=e===Wa?g:e;return te!==Wa)},[r,y,o,i,c,f,d]),x=Z.useMemo(()=>{let e=b;return v&&(e=v(e)),e.length||(e=[{render:()=>null}]),e},[v,b,f]),[S,C]=ts(Z.useMemo(()=>is(x),[x,f,g]),g,_);return[x,S,C]}function os(e,t,n){let r=Wo(e),{expandIcon:i,expandedRowKeys:a,defaultExpandedRowKeys:o,defaultExpandAllRows:s,expandedRowRender:c,onExpand:l,onExpandedRowsChange:u,childrenColumnName:d}=r,f=i||Po,p=d||`children`,m=Z.useMemo(()=>c?`row`:e.expandable&&e.internalHooks===`rc-table-internal-hook`&&e.expandable.__PARENT_RENDER_ICON__||t.some(e=>e&&typeof e==`object`&&e[p])?`nest`:!1,[!!c,t]),[h,g]=Z.useState(()=>o||(s?Fo(t,n,p):[])),_=Z.useMemo(()=>new Set(a||h||[]),[a,h]);return[r,m,_,f,p,Z.useCallback(e=>{let r=n(e,t.indexOf(e)),i,a=_.has(r);a?(_.delete(r),i=[..._]):i=[..._,r],g(i),l&&l(!a,e),u&&u(i)},[n,_,t,l,u])]}function ss(e,t){let n=Z.useMemo(()=>e.map((n,r)=>bo(r,r,e,t)),[e,t]);return le(()=>n,[n],(e,t)=>!Me(e,t))}function cs(e){let t=(0,Z.useRef)(e),[,n]=(0,Z.useState)({}),r=(0,Z.useRef)(null),i=(0,Z.useRef)([]);function a(e){i.current.push(e);let a=Promise.resolve();r.current=a,a.then(()=>{if(r.current===a){let e=i.current,a=t.current;i.current=[],e.forEach(e=>{t.current=e(t.current)}),r.current=null,a!==t.current&&n({})}})}return(0,Z.useEffect)(()=>()=>{r.current=null},[]),[t.current,a]}function ls(e){let t=(0,Z.useRef)(e||null),n=(0,Z.useRef)(null);function r(){clearTimeout(n.current)}function i(e){t.current=e,r(),n.current=setTimeout(()=>{t.current=null,n.current=void 0},100)}function a(){return t.current}return(0,Z.useEffect)(()=>r,[]),[i,a]}function us(){let[e,t]=Z.useState(-1),[n,r]=Z.useState(-1);return[e,n,Z.useCallback((e,n)=>{t(e),r(n)},[])]}var ds=B()?window:null;function fs(e,t){let{offsetHeader:n=0,offsetSummary:r=0,offsetScroll:i=0,getContainer:a=()=>ds}=typeof e==`object`?e:{},o=a()||ds,s=!!e;return Z.useMemo(()=>({isSticky:s,stickyClassName:s?`${t}-sticky-holder`:``,offsetHeader:n,offsetSummary:r,offsetScroll:i,container:o}),[s,i,n,r,t,o])}function ps(e,t){return(0,Z.useMemo)(()=>{let n=t.length,r=(n,r,i)=>{let a=[],o=0;for(let s=n;s!==r;s+=i)a.push(o),t[s].fixed&&(o+=e[s]||0);return a};return{start:r(0,n,1),end:r(n-1,-1,-1).reverse(),widths:e}},[e,t])}var ms=e=>{let{children:t,className:n,style:r}=e;return Z.createElement(`div`,{className:n,style:r},t)};function hs(e){let t=Ce(e).getBoundingClientRect(),n=document.documentElement;return{left:t.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||document.body.clientLeft||0),top:t.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||document.body.clientTop||0)}}var gs=`mouseup`,_s=`mousemove`,vs=`scroll`,ys=`resize`,bs=Z.forwardRef((e,t)=>{let{scrollBodyRef:n,onScroll:r,offsetScroll:i,container:a,direction:o}=e,s=Ja(ro,`prefixCls`),c=n.current?.scrollWidth||0,l=n.current?.clientWidth||0,u=c&&l/c*l,d=Z.useRef(null),[f,p]=cs({scrollLeft:0,isHiddenScrollBar:!0}),m=Z.useRef({delta:0,x:0}),[h,g]=Z.useState(!1),_=Z.useRef(null);Z.useEffect(()=>()=>{Ye.cancel(_.current)},[]);let v=()=>{g(!1)},y=e=>{e.persist(),m.current.delta=e.pageX-f.scrollLeft,m.current.x=0,g(!0),e.preventDefault()},b=e=>{let{buttons:t}=e||window?.event;if(!h||t===0){h&&g(!1);return}let n=m.current.x+e.pageX-m.current.x-m.current.delta,i=o===`rtl`;n=Math.max(i?u-l:0,Math.min(i?0:l-u,n)),(!i||Math.abs(n)+Math.abs(u){Ye.cancel(_.current),_.current=Ye(()=>{if(!n.current)return;let e=hs(n.current).top,t=e+n.current.offsetHeight,r=a===window?document.documentElement.scrollTop+window.innerHeight:hs(a).top+a.clientHeight;t-At()<=r||e>=r-i?p(e=>({...e,isHiddenScrollBar:!0})):p(e=>({...e,isHiddenScrollBar:!1}))})},S=e=>{p(t=>({...t,scrollLeft:e/c*l||0}))};return Z.useImperativeHandle(t,()=>({setScrollLeft:S,checkScrollBarVisible:x})),Z.useEffect(()=>(document.body.addEventListener(gs,v,!1),document.body.addEventListener(_s,b,!1),x(),()=>{document.body.removeEventListener(gs,v),document.body.removeEventListener(_s,b)}),[u,h]),Z.useEffect(()=>{if(n.current){let e=[],t=Ce(n.current);for(;t;)e.push(t),t=t.parentElement;return e.forEach(e=>{e.addEventListener(vs,x,!1)}),window.addEventListener(ys,x,!1),window.addEventListener(vs,x,!1),a.addEventListener(vs,x,!1),()=>{e.forEach(e=>{e.removeEventListener(vs,x)}),window.removeEventListener(ys,x),window.removeEventListener(vs,x),a.removeEventListener(vs,x)}}},[a]),Z.useEffect(()=>{f.isHiddenScrollBar||p(e=>{let t=n.current;return t?{...e,scrollLeft:t.scrollLeft/t.scrollWidth*t.clientWidth}:e})},[f.isHiddenScrollBar]),c<=l||!u||f.isHiddenScrollBar?null:Z.createElement(`div`,{style:{height:At(),width:l,bottom:i},className:`${s}-sticky-scroll`},Z.createElement(`div`,{onMouseDown:y,ref:d,className:L(`${s}-sticky-scroll-bar`,{[`${s}-sticky-scroll-bar-active`]:h}),style:{width:`${u}px`,transform:`translate3d(${f.scrollLeft}px, 0, 0)`}}))});function xs(){return xs=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let n={rowKey:`key`,prefixCls:Ss,emptyText:Ts,...e},{prefixCls:r,className:i,rowClassName:a,style:o,classNames:s,styles:c,data:u,rowKey:d,scroll:f,tableLayout:p,direction:m,title:h,footer:g,summary:_,caption:v,id:y,showHeader:b,components:x,emptyText:S,onRow:C,onHeaderRow:w,measureRowRender:T,onScroll:E,internalHooks:D,transformColumns:O,internalRefs:k,tailor:A,getContainerWidth:j,sticky:M,rowHoverable:N=!0}=n,P=u||Cs,F=!!P.length,I=D===Ga,R=Z.useCallback((e,t)=>Dt(x,e)||t,[x]),z=Z.useMemo(()=>typeof d==`function`?d:e=>e&&e[d],[d]),B=R([`body`]),[V,H,W]=us(),[G,ee,K,te,ne,q]=os(n,P,z),J=f?.x,[re,ie]=Z.useState(0),[Y,ae,oe]=as({...n,...G,expandable:!!G.expandedRowRender,columnTitle:G.columnTitle,expandedKeys:K,getRowKey:z,onTriggerExpand:q,expandIcon:te,expandIconColumnIndex:G.expandIconColumnIndex,direction:m,scrollWidth:I&&A&&typeof J==`number`?J:null,clientWidth:re},I?O:null),se=oe??J,ce=Z.useMemo(()=>({columns:Y,flattenColumns:ae}),[Y,ae]),le=Z.useRef(null),ue=Z.useRef(null),de=Z.useRef(null),fe=Z.useRef(null);Z.useImperativeHandle(t,()=>({nativeElement:le.current,scrollTo:e=>{if(de.current instanceof HTMLElement){let{index:t,top:n,key:r,offset:i,align:a=`nearest`}=e;if(lo(n))de.current?.scrollTo({top:n});else{let e=r??z(P[t]),n=de.current.querySelector(`[data-row-key="${e}"]`);if(n&&(n.scrollIntoView({block:a}),i)){let e=de.current;e.scrollTo({top:e.scrollTop+i})}}}else de.current?.scrollTo&&de.current.scrollTo(e)}}));let pe=Z.useRef(null),[me,he]=Z.useState(!1),[ge,_e]=Z.useState(!1),[ve,ye]=Z.useState(new Map),be=so(ae).map(e=>ve.get(e)),xe=Z.useMemo(()=>be,[be.join(`_`)]),X=ps(xe,ae),Se=f&&co(f.y),we=f&&co(se)||!!G.fixed,Te=we&&ae.some(({fixed:e})=>e),De=Z.useRef(null),{isSticky:Oe,offsetHeader:ke,offsetSummary:Ae,offsetScroll:je,stickyClassName:Ne,container:Pe}=fs(M,r),Ie=Z.useMemo(()=>_?.(P),[_,P]),Le=(Se||Oe)&&Z.isValidElement(Ie)&&Ie.type===To&&Ie.props.fixed,Re,ze,Be;Se&&(ze={overflowY:F?`scroll`:`auto`,maxHeight:f.y}),we&&(Re={overflowX:`auto`},Se||(ze={overflowY:`hidden`}),Be={width:se===!0?`auto`:se,minWidth:`100%`});let Ve=Z.useCallback((e,t)=>{ye(n=>{if(n.get(e)!==t){let r=new Map(n);return r.set(e,t),r}return n})},[]),[He,Ue]=ls(null);function We(e,t){t&&(typeof t==`function`?t(e):t.scrollLeft!==e&&(t.scrollLeft=e,t.scrollLeft!==e&&setTimeout(()=>{t.scrollLeft=e},0)))}let[Ge,Ke]=Z.useState([0,0]),qe=U(({currentTarget:e,scrollLeft:t})=>{let n=typeof t==`number`?t:e.scrollLeft,r=e||ws;(!Ue()||Ue()===r)&&(He(r),We(n,ue.current),We(n,de.current),We(n,pe.current),We(n,De.current?.setScrollLeft));let i=e||ue.current;if(i){let e=I&&A&&typeof se==`number`?se:i.scrollWidth,t=i.clientWidth,r=Math.abs(n);if(Ke(n=>{let i=[r,e-t];return Me(n,i)?n:i}),e===t){he(!1),_e(!1);return}he(r>0),_e(r{qe(e),E?.(e)}),Ye=()=>{we&&de.current?qe({currentTarget:Ce(de.current),scrollLeft:de.current?.scrollLeft}):(he(!1),_e(!1))},Xe=e=>{De.current?.checkScrollBarVisible();let t=e??le.current?.offsetWidth??0;I&&j&&le.current&&(t=j(le.current,t)||t),t!==re&&(Ye(),ie(t))};l(()=>{we&&Xe()},[we]);let Ze=Z.useRef(!1);Z.useEffect(()=>{Ze.current&&Ye()},[we,u,Y.length]),Z.useEffect(()=>{Ze.current=!0},[]);let[Qe,$e]=Z.useState(0);l(()=>{(!A||!I)&&(de.current instanceof Element?$e(Fe(de.current).width):$e(Fe(fe.current).width))},[]),Z.useEffect(()=>{I&&k&&(k.body.current=de.current)});let et=Z.useCallback(e=>Z.createElement(Z.Fragment,null,Z.createElement($o,e),Le===`top`&&Z.createElement(Eo,e,Ie)),[Le,Ie]),tt=Z.useCallback(e=>Z.createElement(Eo,e,Ie),[Ie]),nt=R([`table`],`table`),rt=Z.useMemo(()=>p||(Te?se===`max-content`?`auto`:`fixed`:Se||Oe||ae.some(({ellipsis:e})=>e)?`fixed`:`auto`),[Se,Te,ae,p,Oe]),it,at={colWidths:xe,columCount:ae.length,stickyOffsets:X,onHeaderRow:w,fixHeader:Se,scroll:f},ot=Z.useMemo(()=>F?null:typeof S==`function`?S():S,[F,S]),st=Z.createElement(Ho,{data:P,measureColumnWidth:Se||we||Oe}),ct=Z.createElement(Ko,{colWidths:ae.map(({width:e})=>e),columns:ae}),lt=v==null?void 0:Z.createElement(`caption`,{className:`${r}-caption`},v),ut=Ee(n,{data:!0}),dt=Ee(n,{aria:!0});if(Se||Oe){let e;typeof B==`function`?(e=B(P,{scrollbarSize:Qe,ref:de,onScroll:qe}),at.colWidths=ae.map(({width:e},t)=>{let n=t===ae.length-1?e-Qe:e;return typeof n==`number`&&!Number.isNaN(n)?n:0})):e=Z.createElement(`div`,{style:{...Re,...ze},onScroll:Je,ref:de,className:`${r}-body`},Z.createElement(nt,xs({style:{...Be,tableLayout:rt}},dt),lt,ct,st,!Le&&Ie&&Z.createElement(Eo,{stickyOffsets:X,flattenColumns:ae},Ie)));let t={noData:!P.length,maxContentScroll:we&&se===`max-content`,...at,...ce,direction:m,stickyClassName:Ne,scrollX:se,tableLayout:rt,onScroll:qe};it=Z.createElement(Z.Fragment,null,b!==!1&&Z.createElement(Yo,xs({},t,{stickyTopOffset:ke,className:`${r}-header`,ref:ue,colGroup:ct}),et),e,Le&&Le!==`top`&&Z.createElement(Yo,xs({},t,{stickyBottomOffset:Ae,className:`${r}-summary`,ref:pe,colGroup:ct}),tt),Oe&&de.current&&de.current instanceof Element&&Z.createElement(bs,{ref:De,offsetScroll:je,scrollBodyRef:de,onScroll:qe,container:Pe,direction:m}))}else it=Z.createElement(`div`,{style:{...Re,...ze,...c?.content},className:L(`${r}-content`,s?.content),onScroll:qe,ref:de},Z.createElement(nt,xs({style:{...Be,tableLayout:rt}},dt),lt,ct,b!==!1&&Z.createElement($o,xs({},at,ce)),st,Ie&&Z.createElement(Eo,{stickyOffsets:X,flattenColumns:ae},Ie)));let ft={...o};Oe&&(ft[`--columns-count`]=ae.length);let pt=Z.createElement(`div`,xs({className:L(r,i,{[`${r}-rtl`]:m===`rtl`,[`${r}-fix-start-shadow`]:we,[`${r}-fix-end-shadow`]:we,[`${r}-fix-start-shadow-show`]:we&&me,[`${r}-fix-end-shadow-show`]:we&&ge,[`${r}-layout-fixed`]:p===`fixed`,[`${r}-fixed-header`]:Se,[`${r}-fixed-column`]:Te,[`${r}-scroll-horizontal`]:we,[`${r}-has-fix-start`]:ae[0]?.fixed,[`${r}-has-fix-end`]:ae[ae.length-1]?.fixed===`end`}),style:ft,id:y,ref:le},ut),h&&Z.createElement(ms,{className:L(`${r}-title`,s?.title),style:c?.title},h(P)),Z.createElement(`div`,{ref:fe,className:L(`${r}-container`,s?.section),style:c?.section},it),g&&Z.createElement(ms,{className:L(`${r}-footer`,s?.footer),style:c?.footer},g(P)));we&&(pt=Z.createElement(jt,{onResize:({offsetWidth:e})=>Xe(e)},pt));let mt=ss(ae,X),ht=Z.useMemo(()=>({scrollX:se,scrollInfo:Ge,classNames:s,styles:c,prefixCls:r,getComponent:R,scrollbarSize:Qe,direction:m,fixedInfoList:mt,isSticky:Oe,componentWidth:re,fixHeader:Se,fixColumn:Te,horizonScroll:we,tableLayout:rt,rowClassName:a,expandedRowClassName:G.expandedRowClassName,expandIcon:te,expandableType:ee,expandRowByClick:G.expandRowByClick,expandedRowRender:G.expandedRowRender,expandedRowOffset:G.expandedRowOffset,onTriggerExpand:q,expandIconColumnIndex:G.expandIconColumnIndex,indentSize:G.indentSize,allColumnsFixedLeft:ae.every(e=>e.fixed===`start`),emptyNode:ot,columns:Y,flattenColumns:ae,onColumnResize:Ve,colWidths:xe,hoverStartRow:V,hoverEndRow:H,onHover:W,rowExpandable:G.rowExpandable,onRow:C,getRowKey:z,expandedKeys:K,childrenColumnName:ne,rowHoverable:N,measureRowRender:T}),[se,Ge,s,c,r,R,Qe,m,mt,Oe,re,Se,Te,we,rt,a,G.expandedRowClassName,te,ee,G.expandRowByClick,G.expandedRowRender,G.expandedRowOffset,q,G.expandIconColumnIndex,G.indentSize,ot,Y,ae,Ve,xe,V,H,W,G.rowExpandable,C,z,K,ne,N,T]);return Z.createElement(ro.Provider,{value:ht},pt)}),Ds=e=>eo(Es,e),Os=Ds();Os.EXPAND_COLUMN=Wa,Os.INTERNAL_HOOKS=Ga,Os.Column=Oo,Os.ColumnGroup=ko,Os.Summary=Do;var ks=qa(null),As=qa(null);function js(){return js=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{rowInfo:t,column:n,colIndex:r,indent:i,index:a,component:o,renderIndex:s,record:c,style:l,className:u,inverse:d,getHeight:f}=e,{render:p,dataIndex:m,className:h,width:g}=n,{columnsOffset:_}=Ja(As,[`columnsOffset`]),{key:v,fixedInfo:y,appendCellNode:b,additionalCellProps:x}=Ro(t,n,r,i,a),{style:S,colSpan:C=1,rowSpan:w=1}=x,T=Ms(r-1,C,_),E=C>1?g-T:0,D={...S,...l,flex:`0 0 ${T}px`,width:`${T}px`,marginRight:E,pointerEvents:`auto`},O=Z.useMemo(()=>d?w<=1:C===0||w===0||w>1,[w,C,d]);O?D.visibility=`hidden`:d&&(D.height=f?.(w));let k=O?()=>null:p,A={};return(w===0||C===0)&&(A.rowSpan=1,A.colSpan=1),Z.createElement(_o,js({className:L(h,u),ellipsis:n.ellipsis,align:n.align,scope:n.rowScope,component:o,prefixCls:t.prefixCls,key:v,record:c,index:a,renderIndex:s,dataIndex:m,render:k,shouldCellUpdate:n.shouldCellUpdate},y,{appendNode:b,additionalProps:{...x,style:D,...A}}))};function Ps(){return Ps=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{data:n,index:r,className:i,rowKey:a,style:o,extra:s,getHeight:c,...l}=e,{record:u,indent:d,index:f}=n,{scrollX:p,flattenColumns:m,prefixCls:h,fixColumn:g,componentWidth:_,classNames:v,styles:y}=Ja(ro,[`prefixCls`,`flattenColumns`,`fixColumn`,`componentWidth`,`scrollX`,`classNames`,`styles`]),{getComponent:b}=Ja(ks,[`getComponent`]),x=Mo(u,a,r,d),S=b([`body`,`row`],`div`),C=b([`body`,`cell`],`div`),{rowSupportExpand:w,expanded:T,rowProps:E,expandedRowRender:D,expandedRowClassName:O}=x,k=Io(O,u,r,d),A;if(w&&T){let e=D(u,r,d+1,T),t={};g&&(t={style:{"--virtual-width":`${_}px`}});let n=`${h}-expanded-row-cell`;A=Z.createElement(S,{className:L(`${h}-expanded-row`,`${h}-expanded-row-level-${d+1}`,k)},Z.createElement(_o,{component:C,prefixCls:h,className:L(n,{[`${n}-fixed`]:g}),additionalProps:t},e))}let j={...o,width:p};s&&(j.position=`absolute`,j.pointerEvents=`none`);let M=Z.createElement(S,Ps({},E,l,{"data-row-key":a,ref:w?null:t,className:L(i,`${h}-row`,E?.className,v?.body?.row,{[k]:d>=1,[`${h}-row-extra`]:s}),style:{...j,...E?.style,...y?.body?.row}}),m.map((e,t)=>Z.createElement(Ns,{key:t,className:v?.body?.cell,style:y?.body?.cell,component:C,rowInfo:x,column:e,colIndex:t,indent:d,index:r,renderIndex:f,record:u,inverse:s,getHeight:c})));return w?Z.createElement(`div`,{ref:t},M,A):M})),Is={start:`top`,end:`bottom`,nearest:`auto`},Ls=to(Z.forwardRef((e,t)=>{let{data:n,onScroll:r}=e,{flattenColumns:i,onColumnResize:a,getRowKey:o,expandedKeys:s,prefixCls:c,childrenColumnName:l,scrollX:u,direction:d}=Ja(ro,[`flattenColumns`,`onColumnResize`,`getRowKey`,`prefixCls`,`expandedKeys`,`childrenColumnName`,`scrollX`,`direction`]),{sticky:f,scrollY:p,listItemHeight:m,getComponent:h,onScroll:g}=Ja(ks),_=Z.useRef(null),v=jo(n,l,s,o),y=Z.useMemo(()=>{let e=0;return i.map(({width:t,minWidth:n,key:r})=>{let i=Math.max(t||0,n||0);return e+=i,[r,i,e]})},[i]),b=Z.useMemo(()=>y.map(e=>e[2]),[y]);Z.useEffect(()=>{y.forEach(([e,t])=>{a(e,t)})},[y]),Z.useImperativeHandle(t,()=>{let e={scrollTo:e=>{let{align:t,offset:n,...r}=e,i=Is[t]??(n?`top`:`auto`);_.current?.scrollTo({...r,offset:n,align:i})},nativeElement:_.current?.nativeElement};return Object.defineProperty(e,"scrollLeft",{get:()=>_.current?.getScrollInfo().x||0,set:e=>{_.current?.scrollTo({left:e})}}),Object.defineProperty(e,"scrollTop",{get:()=>_.current?.getScrollInfo().y||0,set:e=>{_.current?.scrollTo({top:e})}}),e});let x=(e,t)=>{let n=v[t]?.record,{onCell:r}=e;return r?r(n,t)?.rowSpan??1:1},S=e=>{let{start:t,end:n,getSize:r,offsetY:a}=e;if(n<0)return null;let s=i.filter(e=>x(e,t)===0),c=t;for(let e=t;e>=0;--e)if(s=s.filter(t=>x(t,e)===0),!s.length){c=e;break}let l=i.filter(e=>x(e,n)!==1),u=n;for(let e=n;ex(t,e)!==1),!l.length){u=Math.max(e-1,n);break}let d=[];for(let e=c;e<=u;e+=1)v[e]&&i.some(t=>x(t,e)>1)&&d.push(e);return d.map(e=>{let t=v[e],n=o(t.record,e),i=t=>{let i=e+t-1,a=v[i];if(!a||!a.record){let e=Math.min(i,v.length-1),t=v[e],a=r(n,o(t.record,e));return a.bottom-a.top}let s=r(n,o(a.record,i));return s.bottom-s.top},s=r(n);return Z.createElement(Fs,{key:e,data:t,rowKey:n,index:e,style:{top:-a+s.top},extra:!0,getHeight:i})})},C=Z.useMemo(()=>({columnsOffset:b}),[b]),w=`${c}-tbody`,T=h([`body`,`wrapper`]),E={};return f&&(E.position=`sticky`,E.bottom=0,typeof f==`object`&&f.offsetScroll&&(E.bottom=f.offsetScroll)),Z.createElement(As.Provider,{value:C},Z.createElement(je,{fullHeight:!1,ref:_,prefixCls:`${w}-virtual`,styles:{horizontalScrollBar:E},className:w,height:p,itemHeight:m||24,data:v,itemKey:e=>o(e.record),component:T,scrollWidth:u,direction:d,onVirtualScroll:({x:e})=>{r({currentTarget:_.current?.nativeElement,scrollLeft:e})},onScroll:g,extraRender:S},(e,t,n)=>{let r=o(e.record,t);return Z.createElement(Fs,{data:e,rowKey:r,index:t,style:n.style})}))}));function Rs(){return Rs=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{ref:n,onScroll:r}=t;return Z.createElement(Ls,{ref:n,data:e,onScroll:r})},Bs=Z.forwardRef((e,t)=>{let{data:n,columns:r,scroll:i,sticky:a,prefixCls:o=Ss,className:s,listItemHeight:c,components:l,onScroll:u}=e,{x:d,y:f}=i||{};typeof d!=`number`&&(d=1),typeof f!=`number`&&(f=500);let p=U((e,t)=>Dt(l,e)||t),m=U(u),h=Z.useMemo(()=>({sticky:a,scrollY:f,listItemHeight:c,getComponent:p,onScroll:m}),[a,f,c,p,m]);return Z.createElement(ks.Provider,{value:h},Z.createElement(Os,Rs({},e,{className:L(s,`${o}-virtual`),scroll:{...i,x:d},components:{...l,body:n?.length?zs:void 0},columns:r,internalHooks:Ga,tailor:!0,ref:t})))}),Vs=e=>eo(Bs,e);Vs();var Hs=e=>null,Us=e=>null,Ws=Z.createContext(null),Gs=Z.createContext({}),Ks=e=>{let{dropPosition:t,dropLevelOffset:n,indent:r}=e,i={pointerEvents:`none`,position:`absolute`,right:0,backgroundColor:`red`,height:2};switch(t){case-1:i.top=0,i.left=-n*r;break;case 1:i.bottom=0,i.left=-n*r;break;case 0:i.bottom=0,i.left=r;break}return Z.createElement(`div`,{style:i})},qs=Z.memo(({prefixCls:e,level:t,isStart:n,isEnd:r})=>{let i=`${e}-indent-unit`,a=[];for(let e=0;e{if(!Xs(e))return it(!e,`Tree/TreeNode can only accept TreeNode as children.`),null;let{key:n}=e,{children:r,...i}=e.props,a={key:n,...i},o=t(r);return o.length&&(a.children=o),a}).filter(e=>e)}return t(e)}function ec(e,t,n){let{_title:r,key:i,children:a}=Qs(n),o=new Set(t===!0?[]:t),s=[];function c(e,n=null){return e.map((l,u)=>{let d=Ys(n?n.pos:`0`,u),f=Zs(l[i],d),p;for(let e=0;ee[a]:typeof a==`function`&&(u=e=>a(e)):u=(e,t)=>Zs(e[s],t);function d(n,r,i,a){let o=n?n[l]:e,s=n?Ys(i.pos,r):`0`,c=n?[...a,n]:[];n&&t({node:n,index:r,pos:s,key:u(n,s),parentPos:i.node?i.pos:null,level:i.level+1,nodes:c}),o&&o.forEach((e,t)=>{d(e,t,{node:n,pos:s,level:i?i.level+1:-1},c)})}d(null)}function nc(e,{initWrapper:t,processEntity:n,onProcessFinished:r,externalGetKey:i,childrenPropName:a,fieldNames:o}={},s){let c=i||s,l={},u={},d={posEntities:l,keyEntities:u};return t&&(d=t(d)||d),tc(e,e=>{let{node:t,index:r,pos:i,key:a,parentPos:o,level:s,nodes:c}=e,f={node:t,nodes:c,index:r,key:a,pos:i,level:s},p=Zs(a,i);l[i]=f,u[p]=f,f.parent=l[o],f.parent&&(f.parent.children=f.parent.children||[],f.parent.children.push(f)),n&&n(f,d)},{externalGetKey:c,childrenPropName:a,fieldNames:o}),r&&r(d),d}function rc(e,t,n,r){return e===!1?!1:e||!t&&!n||t&&r&&!n}function ic(e,{expandedKeys:t,selectedKeys:n,loadedKeys:r,loadingKeys:i,checkedKeys:a,halfCheckedKeys:o,dragOverNodeKey:s,dropPosition:c,keyEntities:l}){let u=Js(l,e);return{eventKey:e,expanded:t.indexOf(e)!==-1,selected:n.indexOf(e)!==-1,loaded:r.indexOf(e)!==-1,loading:i.indexOf(e)!==-1,checked:a.indexOf(e)!==-1,halfChecked:o.indexOf(e)!==-1,pos:String(u?u.pos:``),dragOver:s===e&&c===0,dragOverGapTop:s===e&&c===-1,dragOverGapBottom:s===e&&c===1}}function ac(e){let{data:t,expanded:n,selected:r,checked:i,loaded:a,loading:o,halfChecked:s,dragOver:c,dragOverGapTop:l,dragOverGapBottom:u,pos:d,active:f,eventKey:p}=e,m={...t,expanded:n,selected:r,checked:i,loaded:a,loading:o,halfChecked:s,dragOver:c,dragOverGapTop:l,dragOverGapBottom:u,pos:d,active:f,key:p};return`props`in m||Object.defineProperty(m,"props",{get(){return it(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),e}}),m}function oc(){return oc=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{eventKey:t,className:n,style:r,dragOver:i,dragOverGapTop:a,dragOverGapBottom:o,isLeaf:s,isStart:c,isEnd:l,expanded:u,selected:d,checked:f,halfChecked:p,loading:m,domRef:h,active:g,data:_,onMouseMove:v,selectable:y,treeId:x,...S}=e,C=b(x,t),w=Z.useContext(Ws),{classNames:T,styles:E}=w||{},D=Z.useContext(Gs),O=Z.useRef(null),[k,A]=Z.useState(!1),j=!!(w.disabled||e.disabled||D.nodeDisabled?.(_)),M=Z.useMemo(()=>!w.checkable||e.checkable===!1?!1:w.checkable,[w.checkable,e.checkable]),N=t=>{j||w.onNodeSelect(t,ac(e))},P=t=>{j||!M||e.disableCheckbox||w.onNodeCheck(t,ac(e),!f)},F=Z.useMemo(()=>typeof y==`boolean`?y:w.selectable,[y,w.selectable]),I=t=>{w.onNodeClick(t,ac(e)),F?N(t):P(t)},R=t=>{w.onNodeDoubleClick(t,ac(e))},z=t=>{w.onNodeMouseEnter(t,ac(e))},B=t=>{w.onNodeMouseLeave(t,ac(e))},V=t=>{w.onNodeContextMenu(t,ac(e))},H=Z.useMemo(()=>!!(w.draggable&&(!w.draggable.nodeDraggable||w.draggable.nodeDraggable(_))),[w.draggable,_]),U=t=>{t.stopPropagation(),A(!0),w.onNodeDragStart(t,e);try{t.dataTransfer.setData(`text/plain`,``)}catch{}},W=t=>{t.preventDefault(),t.stopPropagation(),w.onNodeDragEnter(t,e)},G=t=>{t.preventDefault(),t.stopPropagation(),w.onNodeDragOver(t,e)},ee=t=>{t.stopPropagation(),w.onNodeDragLeave(t,e)},K=t=>{t.stopPropagation(),A(!1),w.onNodeDragEnd(t,e)},te=t=>{t.preventDefault(),t.stopPropagation(),A(!1),w.onNodeDrop(t,e)},ne=t=>{m||w.onNodeExpand(t,ac(e))},q=Z.useMemo(()=>{let{children:e}=Js(w.keyEntities,t)||{};return!!(e||[]).length},[w.keyEntities,t]),J=Z.useMemo(()=>rc(s,w.loadData,q,e.loaded),[s,w.loadData,q,e.loaded]);Z.useEffect(()=>{m||typeof w.loadData==`function`&&u&&!J&&!e.loaded&&w.onNodeLoad(ac(e))},[m,w.loadData,w.onNodeLoad,u,J,e]);let re=Z.useMemo(()=>w.draggable?.icon?Z.createElement(`span`,{className:`${w.prefixCls}-draggable-icon`},w.draggable.icon):null,[w.draggable]),ie=t=>{let n=e.switcherIcon||w.switcherIcon;return typeof n==`function`?n({...e,isLeaf:t}):n},Y=()=>{if(J){let e=ie(!0);return e===!1?null:Z.createElement(`span`,{className:L(`${w.prefixCls}-switcher`,`${w.prefixCls}-switcher-noop`,T?.itemSwitcher),style:E?.itemSwitcher},e)}let e=ie(!1);return e===!1?null:Z.createElement(`span`,{onClick:ne,className:L(`${w.prefixCls}-switcher`,`${w.prefixCls}-switcher_${u?sc:cc}`,T?.itemSwitcher),style:E?.itemSwitcher},e)},ae=Z.useMemo(()=>{if(!M)return null;let t=typeof M==`boolean`?null:M;return Z.createElement(`span`,{className:L(`${w.prefixCls}-checkbox`,{[`${w.prefixCls}-checkbox-checked`]:f,[`${w.prefixCls}-checkbox-indeterminate`]:!f&&p,[`${w.prefixCls}-checkbox-disabled`]:j||e.disableCheckbox}),onClick:P,role:`checkbox`,"aria-checked":p?`mixed`:f,"aria-disabled":j||e.disableCheckbox,"aria-labelledby":C},t)},[M,f,p,j,e.disableCheckbox,C]),oe=Z.useMemo(()=>J?null:u?sc:cc,[J,u]),se=Z.useMemo(()=>Z.createElement(`span`,{className:L(T?.itemIcon,`${w.prefixCls}-iconEle`,`${w.prefixCls}-icon__${oe||`docu`}`,{[`${w.prefixCls}-icon_loading`]:m}),style:E?.itemIcon}),[w.prefixCls,oe,m]),ce=Z.useMemo(()=>{let n=!!w.draggable;return!e.disabled&&n&&w.dragOverNodeKey===t?w.dropIndicatorRender({dropPosition:w.dropPosition,dropLevelOffset:w.dropLevelOffset,indent:w.indent,prefixCls:w.prefixCls,direction:w.direction}):null},[w.dropPosition,w.dropLevelOffset,w.indent,w.prefixCls,w.direction,w.draggable,w.dragOverNodeKey,w.dropIndicatorRender]),le=Z.useMemo(()=>{let{title:t=lc}=e,n=`${w.prefixCls}-node-content-wrapper`,r;if(w.showIcon){let t=e.icon||w.icon;r=t?Z.createElement(`span`,{className:L(T?.itemIcon,`${w.prefixCls}-iconEle`,`${w.prefixCls}-icon__customize`),style:E?.itemIcon},typeof t==`function`?t(e):t):se}else w.loadData&&m&&(r=se);let i;return i=typeof t==`function`?t(_):w.titleRender?w.titleRender(_):t,Z.createElement(`span`,{ref:O,title:typeof t==`string`?t:``,className:L(n,`${n}-${oe||`normal`}`,{[`${w.prefixCls}-node-selected`]:!j&&(d||k)}),onMouseEnter:z,onMouseLeave:B,onContextMenu:V,onClick:I,onDoubleClick:R},r,Z.createElement(`span`,{className:L(`${w.prefixCls}-title`,T?.itemTitle),style:E?.itemTitle},i),ce)},[w.prefixCls,w.showIcon,e,w.icon,se,w.titleRender,_,oe,z,B,V,I,R]),ue=Ee(S,{aria:!0,data:!0}),{level:de}=Js(w.keyEntities,t)||{},fe=l[l.length-1],pe=!j&&H,me=w.draggingNodeKey===t;return Z.createElement(`div`,oc({ref:h,role:`treeitem`,id:C,"aria-expanded":J?void 0:u,"aria-selected":F&&!j?d:void 0,"aria-checked":M&&!j?p?`mixed`:f:void 0,"aria-disabled":j,className:L(n,`${w.prefixCls}-treenode`,T?.item,{[`${w.prefixCls}-treenode-disabled`]:j,[`${w.prefixCls}-treenode-switcher-${u?`open`:`close`}`]:!s,[`${w.prefixCls}-treenode-checkbox-checked`]:f,[`${w.prefixCls}-treenode-checkbox-indeterminate`]:p,[`${w.prefixCls}-treenode-selected`]:d,[`${w.prefixCls}-treenode-loading`]:m,[`${w.prefixCls}-treenode-active`]:g,[`${w.prefixCls}-treenode-leaf-last`]:fe,[`${w.prefixCls}-treenode-draggable`]:H,dragging:me,"drop-target":w.dropTargetKey===t,"drop-container":w.dropContainerKey===t,"drag-over":!j&&i,"drag-over-gap-top":!j&&a,"drag-over-gap-bottom":!j&&o,"filter-node":w.filterTreeNode?.(ac(e)),[`${w.prefixCls}-treenode-leaf`]:J}),style:{...r,...E?.item},draggable:pe,onDragStart:pe?U:void 0,onDragEnter:H?W:void 0,onDragOver:H?G:void 0,onDragLeave:H?ee:void 0,onDrop:H?te:void 0,onDragEnd:H?K:void 0,onMouseMove:v},ue),Z.createElement(qs,{prefixCls:w.prefixCls,level:de,isStart:c,isEnd:l}),re,Y(),ae,le)};uc.isTreeNode=1;function dc(e,t){let[n,r]=Z.useState(!1);l(()=>{if(n)return e(),()=>{t()}},[n]),l(()=>(r(!0),()=>{r(!1)}),[])}function fc(){return fc=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{className:n,style:r,motion:i,motionNodes:a,motionType:o,onMotionStart:s,onMotionEnd:c,active:u,treeNodeRequiredProps:d,...f}=e,[p,m]=Z.useState(!0),{prefixCls:h}=Z.useContext(Ws),g=a&&o!==`hide`;l(()=>{a&&g!==p&&m(g)},[a]);let _=()=>{a&&s()},v=Z.useRef(!1),y=()=>{a&&!v.current&&(v.current=!0,c())};return dc(_,y),a?Z.createElement(re,fc({ref:t,visible:p},i,{motionAppear:o===`show`,onVisibleChanged:e=>{g===e&&y()}}),({className:e,style:t},n)=>Z.createElement(`div`,{ref:n,className:L(`${h}-treenode-motion`,e),style:t},a.map(e=>{let{data:{...t},title:n,key:r,isStart:i,isEnd:a}=e;delete t.children;let o=ic(r,d);return Z.createElement(uc,fc({},t,o,{title:n,active:u,data:e.data,key:r,isStart:i,isEnd:a}))}))):Z.createElement(uc,fc({domRef:t,className:n,style:r},f,{active:u}))});function mc(e=[],t=[]){let n=e.length,r=t.length;if(Math.abs(n-r)!==1)return{add:!1,key:null};function i(e,t){let n=new Map;e.forEach(e=>{n.set(e,!0)});let r=t.filter(e=>!n.has(e));return r.length===1?r[0]:null}return ne.key===n)+1],i=t.findIndex(e=>e.key===n);if(r){let e=t.findIndex(e=>e.key===r.key);return t.slice(i+1,e)}return t.slice(i+1)}function gc(){return gc=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n,data:r,selectable:i,checkable:a,expandedKeys:o,selectedKeys:s,checkedKeys:c,loadedKeys:u,loadingKeys:d,halfCheckedKeys:f,keyEntities:p,disabled:m,dragging:h,dragOverNodeKey:g,dropPosition:v,motion:y,height:x,itemHeight:S,virtual:C,scrollWidth:w,focusable:T,activeItem:E,tabIndex:D,onKeyDown:O,onFocus:k,onBlur:A,onMouseDown:j,onActiveChange:M,onListChangeStart:N,onListChangeEnd:P,...F}=e,I=_(),L=Z.useRef(null),R=Z.useRef(null);Z.useImperativeHandle(t,()=>({scrollTo:e=>{L.current.scrollTo(e)},getIndentWidth:()=>R.current.offsetWidth}));let[z,B]=Z.useState(o),[V,H]=Z.useState(r),[U,W]=Z.useState(r),[G,ee]=Z.useState([]),[K,te]=Z.useState(null),ne=Z.useRef(r);ne.current=r;function q(){let e=ne.current;H(e),W(e),ee([]),te(null),P()}l(()=>{B(o);let e=mc(z,o);if(e.key!==null)if(e.add){let t=V.findIndex(({key:t})=>t===e.key),n=xc(hc(V,r,e.key),C,x,S),i=V.slice();i.splice(t+1,0,bc),W(i),ee(n),te(`show`)}else{let t=r.findIndex(({key:t})=>t===e.key),n=xc(hc(r,V,e.key),C,x,S),i=r.slice();i.splice(t+1,0,bc),W(i),ee(n),te(`hide`)}else V!==r&&(H(r),W(r))},[o,r]),Z.useEffect(()=>{h||q()},[h]);let J=y?U:r,re={expandedKeys:o,selectedKeys:s,loadedKeys:u,loadingKeys:d,checkedKeys:c,halfCheckedKeys:f,dragOverNodeKey:g,dropPosition:v,keyEntities:p};return Z.createElement(Z.Fragment,null,Z.createElement(`div`,{className:`${n}-treenode`,"aria-hidden":!0,style:{position:`absolute`,pointerEvents:`none`,visibility:`hidden`,height:0,overflow:`hidden`,border:0,padding:0}},Z.createElement(`div`,{className:`${n}-indent`},Z.createElement(`div`,{ref:R,className:`${n}-indent-unit`}))),Z.createElement(je,gc({},F,{data:J,itemKey:Sc,height:x,fullHeight:!1,virtual:C,itemHeight:S,scrollWidth:w,prefixCls:`${n}-list`,ref:L,role:`tree`,tabIndex:T!==!1&&!m?D:void 0,"aria-activedescendant":E?b(I,E.key):void 0,onKeyDown:O,onFocus:k,onBlur:A,onMouseDown:j,onVisibleChange:e=>{e.every(e=>Sc(e)!==_c)&&q()}}),e=>{let{pos:t,data:{...n},title:r,key:i,isStart:a,isEnd:o}=e,s=Zs(i,t);delete n.key,delete n.children;let c=ic(s,re);return Z.createElement(pc,gc({},n,c,{title:r,active:!!E&&i===E.key,pos:t,data:e.data,isStart:a,isEnd:o,motion:y,motionNodes:i===_c?G:null,motionType:K,onMotionStart:N,onMotionEnd:q,treeNodeRequiredProps:re,treeId:I,onMouseMove:()=>{M(null)}}))}))});function wc(e,t){if(!e)return[];let n=e.slice(),r=n.indexOf(t);return r>=0&&n.splice(r,1),n}function Tc(e,t){let n=(e||[]).slice();return n.indexOf(t)===-1&&n.push(t),n}function Ec(e){return e.split(`-`)}function Dc(e,t){let n=[],r=Js(t,e);function i(e=[]){e.forEach(({key:e,children:t})=>{n.push(e),i(t)})}return i(r.children),n}function Oc(e){if(e.parent){let t=Ec(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function kc(e){let t=Ec(e.pos);return Number(t[t.length-1])===0}function Ac(e,t,n,r,i,a,o,s,c,l){let{clientX:u,clientY:d}=e,{top:f,height:p}=e.target.getBoundingClientRect(),m=((l===`rtl`?-1:1)*((i?.x||0)-u)-12)/r,h=c.filter(e=>s[e]?.children?.length),g=Js(s,n.eventKey);if(de.key===g.key),t=o[e<=0?0:e-1].key;g=Js(s,t)}let _=g.key,v=g,y=g.key,b=0,x=0;if(!h.includes(_))for(let e=0;e-1.5?a({dragNode:S,dropNode:C,dropPosition:1})?b=1:w=!1:a({dragNode:S,dropNode:C,dropPosition:0})?b=0:a({dragNode:S,dropNode:C,dropPosition:1})?b=1:w=!1:a({dragNode:S,dropNode:C,dropPosition:1})?b=1:w=!1,{dropPosition:b,dropLevelOffset:x,dropTargetKey:g.key,dropTargetPos:g.pos,dragOverNodeKey:y,dropContainerKey:b===0?null:g.parent?.key||null,dropAllowed:w}}function jc(e,t){if(!e)return;let{multiple:n}=t;return n?e.slice():e.length?[e[0]]:e}function Mc(e){if(!e)return null;let t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else if(typeof e==`object`)t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0};else return it(!1,"`checkedKeys` is not an array or an object"),null;return t}function Nc(e,t){let n=new Set;function r(e){if(n.has(e))return;let i=Js(t,e);if(!i)return;n.add(e);let{parent:a,node:o}=i;o.disabled||a&&r(a.key)}return(e||[]).forEach(e=>{r(e)}),[...n]}function Pc(e,t){let n=new Set;return e.forEach(e=>{t.has(e)||n.add(e)}),n}function Fc(e){let{disabled:t,disableCheckbox:n,checkable:r}=e||{};return!!(t||n)||r===!1}function Ic(e,t,n,r){let i=new Set(e),a=new Set;for(let e=0;e<=n;e+=1)(t.get(e)||new Set).forEach(e=>{let{key:t,node:n,children:a=[]}=e;i.has(t)&&!r(n)&&a.filter(e=>!r(e.node)).forEach(e=>{i.add(e.key)})});let o=new Set;for(let e=n;e>=0;--e)(t.get(e)||new Set).forEach(e=>{let{parent:t,node:n}=e;if(r(n)||!e.parent||o.has(e.parent.key))return;if(r(e.parent.node)){o.add(t.key);return}let s=!0,c=!1;(t.children||[]).filter(e=>!r(e.node)).forEach(({key:e})=>{let t=i.has(e);s&&!t&&(s=!1),!c&&(t||a.has(e))&&(c=!0)}),s&&i.add(t.key),c&&a.add(t.key),o.add(t.key)});return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(Pc(a,i))}}function Lc(e,t,n,r,i){let a=new Set(e),o=new Set(t);for(let e=0;e<=r;e+=1)(n.get(e)||new Set).forEach(e=>{let{key:t,node:n,children:r=[]}=e;!a.has(t)&&!o.has(t)&&!i(n)&&r.filter(e=>!i(e.node)).forEach(e=>{a.delete(e.key)})});o=new Set;let s=new Set;for(let e=r;e>=0;--e)(n.get(e)||new Set).forEach(e=>{let{parent:t,node:n}=e;if(i(n)||!e.parent||s.has(e.parent.key))return;if(i(e.parent.node)){s.add(t.key);return}let r=!0,c=!1;(t.children||[]).filter(e=>!i(e.node)).forEach(({key:e})=>{let t=a.has(e);r&&!t&&(r=!1),!c&&(t||o.has(e))&&(c=!0)}),r||a.delete(t.key),c&&o.add(t.key),s.add(t.key)});return{checkedKeys:Array.from(a),halfCheckedKeys:Array.from(Pc(o,a))}}function Rc(e,t,n,r){let i=[],a;a=r||Fc;let o=new Set(e.filter(e=>{let t=!!Js(n,e);return t||i.push(e),t})),s=new Map,c=0;Object.keys(n).forEach(e=>{let t=n[e],{level:r}=t,i=s.get(r);i||(i=new Set,s.set(r,i)),i.add(t),c=Math.max(c,r)}),it(!i.length,`Tree missing follow keys: ${i.slice(0,100).map(e=>`'${e}'`).join(`, `)}`);let l;return l=t===!0?Ic(o,s,c,a):Lc(o,t.halfCheckedKeys,s,c,a),l}function zc(){return zc=Object.assign?Object.assign.bind():function(e){for(var t=1;t!0,expandAction:!1};static TreeNode=uc;destroyed=!1;delayedDragEnterLogic;loadingRetryTimes={};state={keyEntities:{},indent:null,selectedKeys:[],checkedKeys:[],halfCheckedKeys:[],loadedKeys:[],loadingKeys:[],expandedKeys:[],draggingNodeKey:null,dragChildrenKeys:[],dropTargetKey:null,dropPosition:null,dropContainerKey:null,dropLevelOffset:null,dropTargetPos:null,dropAllowed:!0,dragOverNodeKey:null,treeData:[],flattenNodes:[],activeKey:null,listChanging:!1,prevProps:null,fieldNames:Qs()};dragStartMousePosition=null;dragNodeProps=null;currentMouseOverDroppableNodeKey=null;focusedByMouse=!1;listRef=Z.createRef();componentDidMount(){this.destroyed=!1,this.onUpdated(),window.addEventListener(`mouseup`,this.onGlobalMouseUp)}componentDidUpdate(){this.onUpdated()}onUpdated(){let{activeKey:e,itemScrollOffset:t=0}=this.props;e!==void 0&&e!==this.state.activeKey&&(this.setState({activeKey:e}),e!==null&&this.scrollTo({key:e,offset:t}))}componentWillUnmount(){window.removeEventListener(`dragend`,this.onWindowDragEnd),window.removeEventListener(`mouseup`,this.onGlobalMouseUp),this.destroyed=!0}static getDerivedStateFromProps(e,t){let{prevProps:n}=t,r={prevProps:e};function i(t){return!n&&e.hasOwnProperty(t)||n&&n[t]!==e[t]}let a,{fieldNames:o}=t;if(i(`fieldNames`)&&(o=Qs(e.fieldNames),r.fieldNames=o),i(`treeData`)?{treeData:a}=e:i(`children`)&&(it(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),a=$s(e.children)),a){r.treeData=a;let e=nc(a,{fieldNames:o});r.keyEntities={[_c]:yc,...e.keyEntities}}let s=r.keyEntities||t.keyEntities;if(i(`expandedKeys`)||n&&i(`autoExpandParent`))r.expandedKeys=e.autoExpandParent||!n&&e.defaultExpandParent?Nc(e.expandedKeys,s):e.expandedKeys;else if(!n&&e.defaultExpandAll){let e={...s};delete e[_c];let t=[];Object.keys(e).forEach(n=>{let r=e[n];r.children&&r.children.length&&t.push(r.key)}),r.expandedKeys=t}else!n&&e.defaultExpandedKeys&&(r.expandedKeys=e.autoExpandParent||e.defaultExpandParent?Nc(e.defaultExpandedKeys,s):e.defaultExpandedKeys);if(r.expandedKeys||delete r.expandedKeys,(a||r.expandedKeys)&&(r.flattenNodes=ec(a||t.treeData,r.expandedKeys||t.expandedKeys,o)),e.selectable&&(i(`selectedKeys`)?r.selectedKeys=jc(e.selectedKeys,e):!n&&e.defaultSelectedKeys&&(r.selectedKeys=jc(e.defaultSelectedKeys,e))),e.checkable){let o;if(i(`checkedKeys`)?o=Mc(e.checkedKeys)||{}:!n&&e.defaultCheckedKeys?o=Mc(e.defaultCheckedKeys)||{}:a&&(o=Mc(e.checkedKeys)||{checkedKeys:t.checkedKeys,halfCheckedKeys:t.halfCheckedKeys}),o){let{checkedKeys:t=[],halfCheckedKeys:n=[]}=o;if(!e.checkStrictly){let e=Rc(t,!0,s);({checkedKeys:t,halfCheckedKeys:n}=e)}r.checkedKeys=t,r.halfCheckedKeys=n}}return i(`loadedKeys`)&&(r.loadedKeys=e.loadedKeys),r}onNodeDragStart=(e,t)=>{let{expandedKeys:n,keyEntities:r}=this.state,{onDragStart:i}=this.props,{eventKey:a}=t;this.dragNodeProps=t,this.dragStartMousePosition={x:e.clientX,y:e.clientY};let o=wc(n,a);this.setState({draggingNodeKey:a,dragChildrenKeys:Dc(a,r),indent:this.listRef.current.getIndentWidth()}),this.setExpandedKeys(o),window.addEventListener(`dragend`,this.onWindowDragEnd),i?.({event:e,node:ac(t)})};onNodeDragEnter=(e,t)=>{let{expandedKeys:n,keyEntities:r,dragChildrenKeys:i,flattenNodes:a,indent:o}=this.state,{onDragEnter:s,onExpand:c,allowDrop:l,direction:u}=this.props,{pos:d,eventKey:f}=t;if(this.currentMouseOverDroppableNodeKey!==f&&(this.currentMouseOverDroppableNodeKey=f),!this.dragNodeProps){this.resetDragState();return}let{dropPosition:p,dropLevelOffset:m,dropTargetKey:h,dropContainerKey:g,dropTargetPos:_,dropAllowed:v,dragOverNodeKey:y}=Ac(e,this.dragNodeProps,t,o,this.dragStartMousePosition,l,a,r,n,u);if(i.includes(h)||!v){this.resetDragState();return}if(this.delayedDragEnterLogic||={},Object.keys(this.delayedDragEnterLogic).forEach(e=>{clearTimeout(this.delayedDragEnterLogic[e])}),this.dragNodeProps.eventKey!==t.eventKey&&(e.persist(),this.delayedDragEnterLogic[d]=window.setTimeout(()=>{if(this.state.draggingNodeKey===null)return;let i=[...n],a=Js(r,t.eventKey);a&&(a.children||[]).length&&(i=Tc(n,t.eventKey)),this.props.hasOwnProperty(`expandedKeys`)||this.setExpandedKeys(i),c?.(i,{node:ac(t),expanded:!0,nativeEvent:e.nativeEvent})},800)),this.dragNodeProps.eventKey===h&&m===0){this.resetDragState();return}this.setState({dragOverNodeKey:y,dropPosition:p,dropLevelOffset:m,dropTargetKey:h,dropContainerKey:g,dropTargetPos:_,dropAllowed:v}),s?.({event:e,node:ac(t),expandedKeys:n})};onNodeDragOver=(e,t)=>{let{dragChildrenKeys:n,flattenNodes:r,keyEntities:i,expandedKeys:a,indent:o}=this.state,{onDragOver:s,allowDrop:c,direction:l}=this.props;if(!this.dragNodeProps)return;let{dropPosition:u,dropLevelOffset:d,dropTargetKey:f,dropContainerKey:p,dropTargetPos:m,dropAllowed:h,dragOverNodeKey:g}=Ac(e,this.dragNodeProps,t,o,this.dragStartMousePosition,c,r,i,a,l);n.includes(f)||!h||(this.dragNodeProps.eventKey===f&&d===0?this.state.dropPosition===null&&this.state.dropLevelOffset===null&&this.state.dropTargetKey===null&&this.state.dropContainerKey===null&&this.state.dropTargetPos===null&&this.state.dropAllowed===!1&&this.state.dragOverNodeKey===null||this.resetDragState():u===this.state.dropPosition&&d===this.state.dropLevelOffset&&f===this.state.dropTargetKey&&p===this.state.dropContainerKey&&m===this.state.dropTargetPos&&h===this.state.dropAllowed&&g===this.state.dragOverNodeKey||this.setState({dropPosition:u,dropLevelOffset:d,dropTargetKey:f,dropContainerKey:p,dropTargetPos:m,dropAllowed:h,dragOverNodeKey:g}),s?.({event:e,node:ac(t)}))};onNodeDragLeave=(e,t)=>{this.currentMouseOverDroppableNodeKey===t.eventKey&&!e.currentTarget.contains(e.relatedTarget)&&(this.resetDragState(),this.currentMouseOverDroppableNodeKey=null);let{onDragLeave:n}=this.props;n?.({event:e,node:ac(t)})};onWindowDragEnd=e=>{this.onNodeDragEnd(e,null,!0),window.removeEventListener(`dragend`,this.onWindowDragEnd)};onNodeDragEnd=(e,t)=>{let{onDragEnd:n}=this.props;this.setState({dragOverNodeKey:null}),this.cleanDragState(),n?.({event:e,node:ac(t)}),this.dragNodeProps=null,window.removeEventListener(`dragend`,this.onWindowDragEnd)};onNodeDrop=(e,t,n=!1)=>{let{dragChildrenKeys:r,dropPosition:i,dropTargetKey:a,dropTargetPos:o,dropAllowed:s}=this.state;if(!s)return;let{onDrop:c}=this.props;if(this.setState({dragOverNodeKey:null}),this.cleanDragState(),a===null)return;let l={...ic(a,this.getTreeNodeRequiredProps()),active:this.getActiveItem()?.key===a,data:Js(this.state.keyEntities,a).node};it(!r.includes(a),`Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.`);let u=Ec(o),d={event:e,node:ac(l),dragNode:this.dragNodeProps?ac(this.dragNodeProps):null,dragNodesKeys:[this.dragNodeProps.eventKey].concat(r),dropToGap:i!==0,dropPosition:i+Number(u[u.length-1])};n||c?.(d),this.dragNodeProps=null};resetDragState(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}cleanDragState=()=>{let{draggingNodeKey:e}=this.state;e!==null&&this.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),this.dragStartMousePosition=null,this.currentMouseOverDroppableNodeKey=null};triggerExpandActionExpand=(e,t)=>{let{expandedKeys:n,flattenNodes:r}=this.state,{expanded:i,key:a,isLeaf:o}=t;if(o||e.shiftKey||e.metaKey||e.ctrlKey)return;let s=r.filter(e=>e.key===a)[0],c=ac({...ic(a,this.getTreeNodeRequiredProps()),data:s.data});this.setExpandedKeys(i?wc(n,a):Tc(n,a)),this.onNodeExpand(e,c)};onNodeClick=(e,t)=>{let{onClick:n,expandAction:r}=this.props;r===`click`&&this.triggerExpandActionExpand(e,t),n?.(e,t)};onNodeDoubleClick=(e,t)=>{let{onDoubleClick:n,expandAction:r}=this.props;r===`doubleClick`&&this.triggerExpandActionExpand(e,t),n?.(e,t)};onNodeSelect=(e,t)=>{let{selectedKeys:n}=this.state,{keyEntities:r,fieldNames:i}=this.state,{onSelect:a,multiple:o}=this.props,{selected:s}=t,c=t[i.key],l=!s;n=l?o?Tc(n,c):[c]:wc(n,c);let u=n.map(e=>{let t=Js(r,e);return t?t.node:null}).filter(Boolean);this.setUncontrolledState({selectedKeys:n}),a?.(n,{event:`select`,selected:l,node:t,selectedNodes:u,nativeEvent:e.nativeEvent})};onNodeCheck=(e,t,n)=>{let{keyEntities:r,checkedKeys:i,halfCheckedKeys:a}=this.state,{checkStrictly:o,onCheck:s}=this.props,{key:c}=t,l,u={event:`check`,node:t,checked:n,nativeEvent:e.nativeEvent};if(o){let e=n?Tc(i,c):wc(i,c);l={checked:e,halfChecked:wc(a,c)},u.checkedNodes=e.map(e=>Js(r,e)).filter(Boolean).map(e=>e.node),this.setUncontrolledState({checkedKeys:e})}else{let{checkedKeys:e,halfCheckedKeys:t}=Rc([...i,c],!0,r);if(!n){let n=new Set(e);n.delete(c),{checkedKeys:e,halfCheckedKeys:t}=Rc(Array.from(n),{checked:!1,halfCheckedKeys:t},r)}l=e,u.checkedNodes=[],u.checkedNodesPositions=[],u.halfCheckedKeys=t,e.forEach(e=>{let t=Js(r,e);if(!t)return;let{node:n,pos:i}=t;u.checkedNodes.push(n),u.checkedNodesPositions.push({node:n,pos:i})}),this.setUncontrolledState({checkedKeys:e},!1,{halfCheckedKeys:t})}s?.(l,u)};onNodeLoad=e=>{let{key:t}=e,{keyEntities:n}=this.state;if(Js(n,t)?.children?.length)return;let r=new Promise((n,r)=>{this.setState(({loadedKeys:i=[],loadingKeys:a=[]})=>{let{loadData:o,onLoad:s}=this.props;return!o||i.includes(t)||a.includes(t)?null:(o(e).then(()=>{let{loadedKeys:r}=this.state,i=Tc(r,t);s?.(i,{event:`load`,node:e}),this.setUncontrolledState({loadedKeys:i}),this.setState(e=>({loadingKeys:wc(e.loadingKeys,t)})),n()}).catch(e=>{if(this.setState(e=>({loadingKeys:wc(e.loadingKeys,t)})),this.loadingRetryTimes[t]=(this.loadingRetryTimes[t]||0)+1,this.loadingRetryTimes[t]>=Bc){let{loadedKeys:e}=this.state;it(!1,"Retry for `loadData` many times but still failed. No more retry."),this.setUncontrolledState({loadedKeys:Tc(e,t)}),n()}r(e)}),{loadingKeys:Tc(a,t)})})});return r.catch(()=>{}),r};onNodeMouseEnter=(e,t)=>{let{onMouseEnter:n}=this.props;n?.({event:e,node:t})};onNodeMouseLeave=(e,t)=>{let{onMouseLeave:n}=this.props;n?.({event:e,node:t})};onNodeContextMenu=(e,t)=>{let{onRightClick:n}=this.props;n&&(e.preventDefault(),n({event:e,node:t}))};onMouseDown=e=>{this.focusedByMouse=!0;let{onMouseDown:t}=this.props;t?.(e)};onGlobalMouseUp=()=>{this.focusedByMouse=!1};onFocus=(...e)=>{let{onFocus:t,disabled:n}=this.props,{activeKey:r,selectedKeys:i,flattenNodes:a}=this.state;if(!this.focusedByMouse&&!n&&r===null){let e=i.find(e=>a.some(t=>t.key===e));e===void 0?this.onActiveChange(a?.[0]?.key||null):this.onActiveChange(e)}t?.(...e)};onBlur=(...e)=>{let{onBlur:t}=this.props;this.onActiveChange(null),t?.(...e)};getTreeNodeRequiredProps=()=>{let{expandedKeys:e,selectedKeys:t,loadedKeys:n,loadingKeys:r,checkedKeys:i,halfCheckedKeys:a,dragOverNodeKey:o,dropPosition:s,keyEntities:c}=this.state;return{expandedKeys:e||[],selectedKeys:t||[],loadedKeys:n||[],loadingKeys:r||[],checkedKeys:i||[],halfCheckedKeys:a||[],dragOverNodeKey:o,dropPosition:s,keyEntities:c}};setExpandedKeys=e=>{let{treeData:t,fieldNames:n}=this.state,r=ec(t,e,n);this.setUncontrolledState({expandedKeys:e,flattenNodes:r},!0)};onNodeExpand=(e,t)=>{let{expandedKeys:n}=this.state,{listChanging:r,fieldNames:i}=this.state,{onExpand:a,loadData:o}=this.props,{expanded:s}=t,c=t[i.key];if(r)return;let l=n.includes(c),u=!s;if(it(s&&l||!s&&!l,`Expand state not sync with index check`),n=u?Tc(n,c):wc(n,c),this.setExpandedKeys(n),a?.(n,{node:t,expanded:u,nativeEvent:e.nativeEvent}),u&&o){let e=this.onNodeLoad(t);e&&e.then(()=>{let e=ec(this.state.treeData,n,i);this.setUncontrolledState({flattenNodes:e})}).catch(()=>{let{expandedKeys:e}=this.state,t=wc(e,c);this.setExpandedKeys(t)})}};onListChangeStart=()=>{this.setUncontrolledState({listChanging:!0})};onListChangeEnd=()=>{setTimeout(()=>{this.setUncontrolledState({listChanging:!1})})};onActiveChange=e=>{let{activeKey:t}=this.state,{onActiveChange:n,itemScrollOffset:r=0}=this.props;t!==e&&(this.setState({activeKey:e}),e!==null&&this.scrollTo({key:e,offset:r}),n?.(e))};getActiveItem=()=>{let{activeKey:e,flattenNodes:t}=this.state;return e===null?null:t.find(({key:t})=>t===e)||null};offsetActiveKey=e=>{let{flattenNodes:t,activeKey:n}=this.state,r=t.findIndex(({key:e})=>e===n);r===-1&&e<0&&(r=t.length),r=(r+e+t.length)%t.length;let i=t[r];if(i){let{key:e}=i;this.onActiveChange(e)}else this.onActiveChange(null)};onKeyDown=e=>{let{activeKey:t,expandedKeys:n,checkedKeys:r,flattenNodes:i,keyEntities:a}=this.state,{onKeyDown:o,checkable:s,selectable:c,disabled:l,loadData:u}=this.props;if(l)return;switch(e.key){case`ArrowUp`:this.offsetActiveKey(-1),e.preventDefault();break;case`ArrowDown`:this.offsetActiveKey(1),e.preventDefault();break;case`Home`:this.onActiveChange(i?.[0]?.key),e.preventDefault();break;case`End`:this.onActiveChange(i?.[i.length-1]?.key),e.preventDefault();break}let d=this.getActiveItem();if(d&&d.data){let i=ac({...ic(t,this.getTreeNodeRequiredProps()),data:d.data,active:!0}),o=!!Js(a,t)?.children?.length,l=!rc(d.data.isLeaf,u,o,i.loaded),f=s&&!i.disabled&&i.checkable!==!1&&!i.disableCheckbox,p=!s&&c&&!i.disabled&&i.selectable!==!1;switch(e.key){case`ArrowLeft`:l&&n.includes(t)?this.onNodeExpand({},i):d.parent&&this.onActiveChange(d.parent.key),e.preventDefault();break;case`ArrowRight`:l&&!n.includes(t)?this.onNodeExpand({},i):d.children&&d.children.length&&this.onActiveChange(d.children[0].key),e.preventDefault();break;case`Enter`:l?(e.preventDefault(),this.onNodeExpand({},i)):f?r.includes(t)||(e.preventDefault(),this.onNodeCheck({},i,!0)):p&&!i.selected&&(e.preventDefault(),this.onNodeSelect({},i));break;case` `:f?(e.preventDefault(),this.onNodeCheck({},i,!r.includes(t))):p&&(e.preventDefault(),this.onNodeSelect({},i));break}}o?.(e)};setUncontrolledState=(e,t=!1,n=null)=>{if(!this.destroyed){let r=!1,i=!0,a={};Object.keys(e).forEach(t=>{if(this.props.hasOwnProperty(t)){i=!1;return}r=!0,a[t]=e[t]}),r&&(!t||i)&&this.setState({...a,...n})}};scrollTo=e=>{this.listRef.current.scrollTo(e)};render(){let{flattenNodes:e,keyEntities:t,draggingNodeKey:n,dropLevelOffset:r,dropContainerKey:i,dropTargetKey:a,dropPosition:o,dragOverNodeKey:s,indent:c}=this.state,{prefixCls:l,className:u,style:d,styles:f,classNames:p,showLine:m,focusable:h,tabIndex:g=0,selectable:_,showIcon:v,icon:y,switcherIcon:b,draggable:x,checkable:S,checkStrictly:C,disabled:w,motion:T,loadData:E,filterTreeNode:D,height:O,itemHeight:k,scrollWidth:A,virtual:j,titleRender:M,dropIndicatorRender:N,onContextMenu:P,onScroll:F,direction:I,rootClassName:R,rootStyle:z}=this.props,B=Ee(this.props,{aria:!0,data:!0}),V;x&&(V=typeof x==`object`?x:typeof x==`function`?{nodeDraggable:x}:{});let H={styles:f,classNames:p,prefixCls:l,selectable:_,showIcon:v,icon:y,switcherIcon:b,draggable:V,draggingNodeKey:n,checkable:S,checkStrictly:C,disabled:w,keyEntities:t,dropLevelOffset:r,dropContainerKey:i,dropTargetKey:a,dropPosition:o,dragOverNodeKey:s,indent:c,direction:I,dropIndicatorRender:N,loadData:E,filterTreeNode:D,titleRender:M,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop};return Z.createElement(Ws.Provider,{value:H},Z.createElement(`div`,{className:L(l,u,R,{[`${l}-show-line`]:m}),style:z},Z.createElement(Cc,zc({ref:this.listRef,prefixCls:l,style:d,data:e,disabled:w,selectable:_,checkable:!!S,motion:T,dragging:n!==null,height:O,itemHeight:k,virtual:j,focusable:h,tabIndex:g,activeItem:this.getActiveItem(),onFocus:this.onFocus,onMouseDown:this.onMouseDown,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:P,onScroll:F,scrollWidth:A},this.getTreeNodeRequiredProps(),B))))}},Hc=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z`}}]},name:`left`,theme:`outlined`}}))());function Uc(){return Uc=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Uc({},e,{ref:t,icon:Hc.default}))),{ESC:Gc,TAB:Kc}=Be;function qc({visible:e,triggerRef:t,onVisibleChange:n,autoFocus:r,overlayRef:i}){let a=Z.useRef(!1),o=()=>{e&&(t.current?.focus?.(),n?.(!1))},s=()=>i.current?.focus?(i.current.focus(),a.current=!0,!0):!1,c=e=>{switch(e.keyCode){case Gc:o();break;case Kc:{let t=!1;a.current||(t=s()),t?e.preventDefault():o();break}}};Z.useEffect(()=>e?(window.addEventListener(`keydown`,c),r&&Ye(s,3),()=>{window.removeEventListener(`keydown`,c),a.current=!1}):()=>{a.current=!1},[e])}var Jc=(0,Z.forwardRef)((e,t)=>{let{overlay:n,arrow:r,prefixCls:i}=e,a=(0,Z.useMemo)(()=>{let e;return e=typeof n==`function`?n():n,e},[n]),o=Ht(t,zt(a));return Z.createElement(Z.Fragment,null,r&&Z.createElement(`div`,{className:`${i}-arrow`}),Z.cloneElement(a,{ref:m(a)?o:void 0}))}),Yc={adjustX:1,adjustY:1},Xc=[0,0],Zc={topLeft:{points:[`bl`,`tl`],overflow:Yc,offset:[0,-4],targetOffset:Xc},top:{points:[`bc`,`tc`],overflow:Yc,offset:[0,-4],targetOffset:Xc},topRight:{points:[`br`,`tr`],overflow:Yc,offset:[0,-4],targetOffset:Xc},bottomLeft:{points:[`tl`,`bl`],overflow:Yc,offset:[0,4],targetOffset:Xc},bottom:{points:[`tc`,`bc`],overflow:Yc,offset:[0,4],targetOffset:Xc},bottomRight:{points:[`tr`,`br`],overflow:Yc,offset:[0,4],targetOffset:Xc}};function Qc(){return Qc=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{arrow:n=!1,prefixCls:r=`rc-dropdown`,transitionName:i,animation:a,align:o,placement:s=`bottomLeft`,placements:c=Zc,getPopupContainer:l,showAction:u,hideAction:d,overlayClassName:f,overlayStyle:p,visible:h,trigger:g=[`hover`],autoFocus:_,overlay:v,children:y,onVisibleChange:b,...x}=e,[S,C]=Z.useState(),w=`visible`in e?h:S,T=a?`${r}-${a}`:i,E=Z.useRef(null),D=Z.useRef(null),O=Z.useRef(null);Z.useImperativeHandle(t,()=>E.current);let k=e=>{C(e),b?.(e)};qc({visible:w,triggerRef:O,onVisibleChange:k,autoFocus:_,overlayRef:D});let A=t=>{let{onOverlayClick:n}=e;C(!1),n&&n(t)},j=()=>Z.createElement(Jc,{ref:D,overlay:v,prefixCls:r,arrow:n}),M=()=>typeof v==`function`?j:j(),N=()=>{let{minOverlayWidthMatchTrigger:t,alignPoint:n}=e;return`minOverlayWidthMatchTrigger`in e?t:!n},P=Z.cloneElement(y,{className:L(y.props?.className,w&&(()=>{let{openClassName:t}=e;return t===void 0?`${r}-open`:t})()),ref:m(y)?Ht(O,zt(y)):void 0}),F=d;return!F&&g.indexOf(`contextMenu`)!==-1&&(F=[`click`]),Z.createElement(at,Qc({builtinPlacements:c},x,{prefixCls:r,ref:E,popupClassName:L(f,{[`${r}-show-arrow`]:n}),popupStyle:p,action:g,showAction:u,hideAction:F,popupPlacement:s,popupAlign:o,popupMotion:{motionName:T},popupVisible:w,stretch:N()?`minWidth`:``,popup:M(),onOpenChange:k,onPopupClick:A,getPopupContainer:l}),P)}),el=Z.createContext(null);function tl(e,t){return`${e}-${t}`}function nl(e){return tl(Z.useContext(el),e)}var rl=Z.createContext(null);function il(e,t){let n={...e};return Object.keys(t).forEach(e=>{let r=t[e];r!==void 0&&(n[e]=r)}),n}function al({children:e,locked:t,...n}){let r=Z.useContext(rl),i=le(()=>il(r,n),[r,n],(e,n)=>!t&&(e[0]!==n[0]||!Me(e[1],n[1],!0)));return Z.createElement(rl.Provider,{value:i},e)}var ol=[],sl=Z.createContext(null);function cl(){return Z.useContext(sl)}var ll=Z.createContext(ol);function ul(e){let t=Z.useContext(ll);return Z.useMemo(()=>e===void 0?t:[...t,e],[t,e])}var dl=Z.createContext(null),fl=Z.createContext({}),{LEFT:pl,RIGHT:ml,UP:hl,DOWN:gl,ENTER:_l,ESC:vl,HOME:yl,END:bl}=Be,xl=[hl,gl,pl,ml];function Sl(e,t,n,r){let i=`prev`,a=`next`,o=`children`,s=`parent`;if(e===`inline`&&r===_l)return{inlineTrigger:!0};let c={[hl]:i,[gl]:a},l={[pl]:n?a:i,[ml]:n?i:a,[gl]:o,[_l]:o},u={[hl]:i,[gl]:a,[_l]:o,[vl]:s,[pl]:n?o:s,[ml]:n?s:o};switch({inline:c,horizontal:l,vertical:u,inlineSub:c,horizontalSub:u,verticalSub:u}[`${e}${t?``:`Sub`}`]?.[r]){case i:return{offset:-1,sibling:!0};case a:return{offset:1,sibling:!0};case s:return{offset:-1,sibling:!1};case o:return{offset:1,sibling:!1};default:return null}}function Cl(e){let t=e;for(;t;){if(t.getAttribute(`data-menu-list`))return t;t=t.parentElement}return null}function wl(e,t){let n=e||document.activeElement;for(;n;){if(t.has(n))return n;n=n.parentElement}return null}function Tl(e,t){return st(e,!0).filter(e=>t.has(e))}function El(e,t,n,r=1){if(!e)return null;let i=Tl(e,t),a=i.length,o=i.findIndex(e=>n===e);return r<0?o===-1?o=a-1:--o:r>0&&(o+=1),o=(o+a)%a,i[o]}var Dl=(e,t)=>{let n=new Set,r=new Map,i=new Map;return e.forEach(e=>{let a=document.querySelector(`[data-menu-id='${tl(t,e)}']`);a&&(n.add(a),i.set(a,e),r.set(e,a))}),{elements:n,key2element:r,element2key:i}};function Ol(e,t,n,r,i,a,o,s,c,l){let u=Z.useRef(),d=Z.useRef();d.current=t;let f=()=>{Ye.cancel(u.current)};return Z.useEffect(()=>()=>{f()},[]),p=>{let{which:m}=p;if([...xl,_l,vl,yl,bl].includes(m)){let l=a(),h=Dl(l,r),{elements:g,key2element:_,element2key:v}=h,y=wl(_.get(t),g),b=v.get(y),x=Sl(e,o(b,!0).length===1,n,m);if(!x&&m!==yl&&m!==bl)return;(xl.includes(m)||[yl,bl].includes(m))&&p.preventDefault();let S=e=>{if(e){let t=e,n=e.querySelector(`a`);n?.getAttribute(`href`)&&(t=n);let r=v.get(e);s(r),f(),u.current=Ye(()=>{d.current===r&&t.focus()})}};if([yl,bl].includes(m)||x.sibling||!y){let t;t=!y||e===`inline`?i.current:Cl(y);let n,r=Tl(t,g);n=m===yl?r[0]:m===bl?r[r.length-1]:El(t,g,y,x.offset),S(n)}else if(x.inlineTrigger)c(b);else if(x.offset>0)c(b,!0),f(),u.current=Ye(()=>{h=Dl(l,r);let e=y.getAttribute(`aria-controls`);S(El(document.getElementById(e),h.elements))},5);else if(x.offset<0){let e=o(b,!0),t=e[e.length-2],n=_.get(t);c(t,!1),S(n)}}l?.(p)}}function kl(e){Promise.resolve().then(e)}var Al=`__RC_UTIL_PATH_SPLIT__`,jl=e=>e.join(Al),Ml=e=>e.split(Al),Nl=`rc-menu-more`;function Pl(){let[,e]=Z.useState({}),t=(0,Z.useRef)(new Map),n=(0,Z.useRef)(new Map),[r,i]=Z.useState([]),a=(0,Z.useRef)(0),o=(0,Z.useRef)(!1),s=()=>{o.current||e({})},c=(0,Z.useCallback)((e,r)=>{let i=jl(r);n.current.set(i,e),t.current.set(e,i),a.current+=1;let o=a.current;kl(()=>{o===a.current&&s()})},[]),l=(0,Z.useCallback)((e,r)=>{let i=jl(r);n.current.delete(i),t.current.delete(e)},[]),u=(0,Z.useCallback)(e=>{i(e)},[]),d=(0,Z.useCallback)((e,n)=>{let i=Ml(t.current.get(e)||``);return n&&r.includes(i[0])&&i.unshift(Nl),i},[r]),f=(0,Z.useCallback)((e,t)=>e.filter(e=>e!==void 0).some(e=>d(e,!0).includes(t)),[d]),p=()=>{let e=[...t.current.keys()];return r.length&&e.push(Nl),e},m=(0,Z.useCallback)(e=>{let r=`${t.current.get(e)}${Al}`,i=new Set;return[...n.current.keys()].forEach(e=>{e.startsWith(r)&&i.add(n.current.get(e))}),i},[]);return Z.useEffect(()=>()=>{o.current=!0},[]),{registerPath:c,unregisterPath:l,refreshOverflowKeys:u,isSubPathKey:f,getKeyPath:d,getKeys:p,getSubPathKeys:m}}function Fl(e){let t=Z.useRef(e);t.current=e;let n=Z.useCallback((...e)=>t.current?.(...e),[]);return e?n:void 0}function Il(e,t,n,r){let{activeKey:i,onActive:a,onInactive:o}=Z.useContext(rl),s={active:i===e};return t||(s.onMouseEnter=t=>{n?.({key:e,domEvent:t}),a(e)},s.onMouseLeave=t=>{r?.({key:e,domEvent:t}),o(e)}),s}function Ll(e){let{mode:t,rtl:n,inlineIndent:r}=Z.useContext(rl);if(t!==`inline`)return null;let i=e;return n?{paddingRight:i*r}:{paddingLeft:i*r}}function Rl({icon:e,props:t,children:n}){let r;return e===null||e===!1?null:(typeof e==`function`?r=Z.createElement(e,{...t}):typeof e!=`boolean`&&(r=e),r||n||null)}function zl({item:e,...t}){return Object.defineProperty(t,"item",{get:()=>(it(!1,"`info.item` is deprecated since we will move to function component that not provides React Node instance in future."),e)}),t}function Bl(){return Bl=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{style:n,className:r,eventKey:i,warnKey:a,disabled:o,itemIcon:s,children:c,itemData:l,role:u,onMouseEnter:d,onMouseLeave:f,onClick:p,onKeyDown:m,onFocus:h,...g}=e,_=nl(i),{prefixCls:v,onItemClick:y,disabled:b,overflowDisabled:x,itemIcon:S,selectedKeys:C,onActive:w}=Z.useContext(rl),{_internalRenderMenuItem:T}=Z.useContext(fl),E=`${v}-item`,D=Z.useRef(),O=Z.useRef(),k=b||o,A=It(t,O),j=ul(i),M=t=>{let n=l||{key:i||``,label:c,itemIcon:s,extra:e.extra,title:e.title};return{key:i,keyPath:[...j].reverse(),item:D.current,domEvent:t,itemData:l||n}},N=s||S,{active:P,...F}=Il(i,k,d,f),I=C.includes(i),R=Ll(j.length),z=e=>{if(k)return;let t=M(e);p?.(zl(t)),y(t)},B=e=>{if(m?.(e),e.which===Be.ENTER){let t=M(e);p?.(zl(t)),y(t)}},V=e=>{w(i),h?.(e)},H={};e.role===`option`&&(H[`aria-selected`]=I);let U=Z.createElement(Vl,Bl({ref:D,elementRef:A,role:u===null?`none`:u||`menuitem`,tabIndex:o?null:-1,"data-menu-id":x&&_?null:_},pt(g,[`extra`]),F,H,{component:`li`,"aria-disabled":o,style:{...R,...n},className:L(E,{[`${E}-active`]:P,[`${E}-selected`]:I,[`${E}-disabled`]:k},r),onClick:z,onKeyDown:B,onFocus:V}),c,Z.createElement(Rl,{props:{...e,isSelected:I},icon:N}));return T&&(U=T(U,e,{selected:I})),U});function Ul(e,t){let{eventKey:n}=e,r=cl(),i=ul(n);return Z.useEffect(()=>{if(r)return r.registerPath(n,i),()=>{r.unregisterPath(n,i)}},[i]),r?null:Z.createElement(Hl,Bl({},e,{ref:t}))}var Wl=Z.forwardRef(Ul);function Gl(){return Gl=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:i,mode:a,rtl:o}=Z.useContext(rl);return Z.createElement(`ul`,Gl({className:L(i,o&&`${i}-rtl`,`${i}-sub`,`${i}-${a===`inline`?`inline`:`vertical`}`,e),role:`menu`},n,{"data-menu-list":!0,ref:r}),t)});function ql(e,t){return xt(e).map((e,n)=>{if(Z.isValidElement(e)){let{key:r}=e,i=e.props?.eventKey??r;i??=`tmp_key-${[...t,n].join(`-`)}`;let a={key:i,eventKey:i};return Z.cloneElement(e,a)}return e})}var Jl={adjustX:1,adjustY:1},Yl={topLeft:{points:[`bl`,`tl`],overflow:Jl},topRight:{points:[`br`,`tr`],overflow:Jl},bottomLeft:{points:[`tl`,`bl`],overflow:Jl},bottomRight:{points:[`tr`,`br`],overflow:Jl},leftTop:{points:[`tr`,`tl`],overflow:Jl},leftBottom:{points:[`br`,`bl`],overflow:Jl},rightTop:{points:[`tl`,`tr`],overflow:Jl},rightBottom:{points:[`bl`,`br`],overflow:Jl}},Xl={topLeft:{points:[`bl`,`tl`],overflow:Jl},topRight:{points:[`br`,`tr`],overflow:Jl},bottomLeft:{points:[`tl`,`bl`],overflow:Jl},bottomRight:{points:[`tr`,`br`],overflow:Jl},rightTop:{points:[`tr`,`tl`],overflow:Jl},rightBottom:{points:[`br`,`bl`],overflow:Jl},leftTop:{points:[`tl`,`tr`],overflow:Jl},leftBottom:{points:[`bl`,`br`],overflow:Jl}};function Zl(e,t,n){if(t)return t;if(n)return n[e]||n.other}var Ql={horizontal:`bottomLeft`,vertical:`rightTop`,"vertical-left":`rightTop`,"vertical-right":`leftTop`};function $l({prefixCls:e,visible:t,children:n,popup:r,popupStyle:i,popupClassName:a,popupOffset:o,disabled:s,mode:c,onVisibleChange:l}){let{getPopupContainer:u,rtl:d,subMenuOpenDelay:f,subMenuCloseDelay:p,builtinPlacements:m,triggerSubMenuAction:h,forceSubMenuRender:g,rootClassName:_,motion:v,defaultMotions:y}=Z.useContext(rl),[b,x]=Z.useState(!1),S=d?{...Xl,...m}:{...Yl,...m},C=Ql[c],w=Zl(c,v,y),T=Z.useRef(w);c!==`inline`&&(T.current=w);let E={...T.current,leavedClassName:`${e}-hidden`,removeOnLeave:!1,motionAppear:!0},D=Z.useRef();return Z.useEffect(()=>(D.current=Ye(()=>{x(t)}),()=>{Ye.cancel(D.current)}),[t]),Z.createElement(at,{prefixCls:e,popupClassName:L(`${e}-popup`,{[`${e}-rtl`]:d},a,_),stretch:c===`horizontal`?`minWidth`:null,getPopupContainer:u,builtinPlacements:S,popupPlacement:C,popupVisible:b,popup:r,popupStyle:i,popupAlign:o&&{offset:o},action:s?[]:[h],mouseEnterDelay:f,mouseLeaveDelay:p,onPopupVisibleChange:l,forceRender:g,popupMotion:E,fresh:!0},n)}function eu(){return eu=Object.assign?Object.assign.bind():function(e){for(var t=1;t{u.current&&f(!1)},[l]);let m={...Zl(i,s,c)};n.length>1&&(m.motionAppear=!1);let h=m.onVisibleChanged;return m.onVisibleChanged=e=>(!u.current&&!e&&f(!0),h?.(e)),d?null:Z.createElement(al,{mode:i,locked:!u.current},Z.createElement(re,eu({visible:p},m,{forceRender:o,removeOnLeave:!1,leavedClassName:`${a}-hidden`}),({className:t,style:n})=>Z.createElement(Kl,{id:e,className:t,style:n},r)))}function nu(){return nu=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{style:n,className:r,styles:i,classNames:a,title:o,eventKey:s,warnKey:c,disabled:l,internalPopupClose:u,children:d,itemIcon:f,expandIcon:p,popupClassName:m,popupOffset:h,popupStyle:g,onClick:_,onMouseEnter:v,onMouseLeave:y,onTitleClick:b,onTitleMouseEnter:x,onTitleMouseLeave:S,popupRender:C,...w}=e,T=nl(s),{prefixCls:E,mode:D,openKeys:O,disabled:k,overflowDisabled:A,activeKey:j,selectedKeys:M,itemIcon:N,expandIcon:P,onItemClick:F,onOpenChange:I,onActive:R,popupRender:z}=Z.useContext(rl),{_internalRenderSubMenuItem:B}=Z.useContext(fl),{isSubPathKey:V}=Z.useContext(dl),H=ul(),U=`${E}-submenu`,W=k||l,G=Z.useRef(),ee=Z.useRef(),K=f??N,te=p??P,ne=O.includes(s),q=!A&&ne,J=V(M,s),{active:re,...ie}=Il(s,W,x,S),[Y,ae]=Z.useState(!1),oe=e=>{W||ae(e)},se=e=>{oe(!0),v?.({key:s,domEvent:e})},ce=e=>{oe(!1),y?.({key:s,domEvent:e})},le=Z.useMemo(()=>re||(D===`inline`?!1:Y||V([j],s)),[D,re,j,Y,s,V]),ue=Ll(H.length),de=e=>{W||(b?.({key:s,domEvent:e}),D===`inline`&&I(s,!ne))},fe=Fl(e=>{_?.(zl(e)),F(e)}),pe=e=>{D!==`inline`&&I(s,e)},me=()=>{R(s)},he=T&&`${T}-popup`,ge=Z.useMemo(()=>Z.createElement(Rl,{icon:D===`horizontal`?void 0:te,props:{...e,isOpen:q,isSubMenu:!0}},Z.createElement(`i`,{className:`${U}-arrow`})),[D,te,e,q,U]),_e=Z.createElement(`div`,nu({role:`menuitem`,style:ue,className:`${U}-title`,tabIndex:W?null:-1,ref:G,title:typeof o==`string`?o:null,"data-menu-id":A&&T?null:T,"aria-expanded":q,"aria-haspopup":!0,"aria-controls":he,"aria-disabled":W,onClick:de,onFocus:me},ie),o,ge),ve=Z.useRef(D);D!==`inline`&&H.length>1?ve.current=`vertical`:ve.current=D;let ye=ve.current,be=Z.useMemo(()=>{let t=Z.createElement(al,{classNames:a,styles:i,mode:ye===`horizontal`?`vertical`:ye},Z.createElement(Kl,{id:he,ref:ee},d)),n=C||z;return n?n(t,{item:e,keys:H}):t},[C,z,H,he,d,e,ye]);if(!A){let e=ve.current;_e=Z.createElement($l,{mode:e,prefixCls:U,visible:!u&&q&&D!==`inline`,popupClassName:m,popupOffset:h,popupStyle:g,popup:be,disabled:W,onVisibleChange:pe},_e)}let xe=Z.createElement(rt.Item,nu({ref:t,role:`none`},w,{component:`li`,style:n,className:L(U,`${U}-${D}`,r,{[`${U}-open`]:q,[`${U}-active`]:le,[`${U}-selected`]:J,[`${U}-disabled`]:W}),onMouseEnter:se,onMouseLeave:ce}),_e,!A&&Z.createElement(tu,{id:he,open:q,keyPath:H},d));return B&&(xe=B(xe,e,{selected:J,active:le,open:q,disabled:W})),Z.createElement(al,{classNames:a,styles:i,onItemClick:fe,mode:D===`horizontal`?`vertical`:D,itemIcon:K,expandIcon:te},xe)}),iu=Z.forwardRef((e,t)=>{let{eventKey:n,children:r}=e,i=ul(n),a=ql(r,i),o=cl();Z.useEffect(()=>{if(o)return o.registerPath(n,i),()=>{o.unregisterPath(n,i)}},[i]);let s;return s=o?a:Z.createElement(ru,nu({ref:t},e),a),Z.createElement(ll.Provider,{value:i},s)});function au({className:e,style:t}){let{prefixCls:n}=Z.useContext(rl);return cl()?null:Z.createElement(`li`,{role:`separator`,className:L(`${n}-item-divider`,e),style:t})}function ou(){return ou=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{className:n,title:r,eventKey:i,children:a,...o}=e,{prefixCls:s,classNames:c,styles:l}=Z.useContext(rl),u=`${s}-item-group`;return Z.createElement(`li`,ou({ref:t,role:`presentation`},o,{onClick:e=>e.stopPropagation(),className:L(u,n)}),Z.createElement(`div`,{role:`presentation`,className:L(`${u}-title`,c?.listTitle),style:l?.listTitle,title:typeof r==`string`?r:void 0},r),Z.createElement(`ul`,{role:`group`,className:L(`${u}-list`,c?.list),style:l?.list},a))}),cu=Z.forwardRef((e,t)=>{let{eventKey:n,children:r}=e,i=ql(r,ul(n));return cl()?i:Z.createElement(su,ou({ref:t},pt(e,[`warnKey`])),i)});function lu(){return lu=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(e&&typeof e==`object`){let{label:c,children:l,key:u,type:d,extra:f,...p}=e,m=u??`tmp-${s}`;if(l||d===`group`)return d===`group`?Z.createElement(i,lu({key:m},p,{title:c}),uu(l,t,n)):Z.createElement(a,lu({key:m},p,{title:c}),uu(l,t,n));if(d===`divider`)return Z.createElement(o,lu({key:m},p));let h=!!f||f===0;return Z.createElement(r,lu({key:m},p,{extra:f,itemData:{...e,key:m}}),h?Z.createElement(Z.Fragment,null,Z.createElement(`span`,{className:`${n}-item-label`},c),Z.createElement(`span`,{className:`${n}-item-extra`},f)):c)}return null}).filter(e=>e)}function du(e,t,n,r,i){let a=e,o={divider:au,item:Wl,group:cu,submenu:iu,...r};return t&&(a=uu(t,o,i)),ql(a,n)}function fu(){return fu=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n=`rc-menu`,rootClassName:r,style:i,className:a,styles:o,classNames:s,tabIndex:c=0,items:l,children:u,direction:d,id:f,mode:p=`vertical`,inlineCollapsed:m,disabled:h,disabledOverflow:g,subMenuOpenDelay:v=.1,subMenuCloseDelay:y=.1,forceSubMenuRender:b,defaultOpenKeys:x,openKeys:S,activeKey:C,defaultActiveFirst:w,selectable:T=!0,multiple:E=!1,defaultSelectedKeys:D,selectedKeys:O,onSelect:k,onDeselect:A,inlineIndent:j=24,motion:M,defaultMotions:N,triggerSubMenuAction:P=`hover`,builtinPlacements:F,itemIcon:I,expandIcon:R,overflowedIndicator:z=`...`,overflowedIndicatorPopupClassName:B,getPopupContainer:V,onClick:H,onOpenChange:U,onKeyDown:W,openAnimation:G,openTransitionName:K,_internalRenderMenuItem:te,_internalRenderSubMenuItem:ne,_internalComponents:q,popupRender:J,...re}=e,[ie,Y]=Z.useMemo(()=>[du(u,l,pu,q,n),du(u,l,pu,{},n)],[u,l,q]),[ae,oe]=Z.useState(!1),se=Z.useRef(),ce=_(f?`rc-menu-uuid-${f}`:`rc-menu-uuid`),le=d===`rtl`,[ue,de]=ee(x,S),fe=ue||pu,pe=(e,t=!1)=>{function n(){de(e),U?.(e)}t?(0,Ka.flushSync)(n):n()},[me,he]=Z.useState(fe),ge=Z.useRef(!1),[_e,ve]=Z.useMemo(()=>(p===`inline`||p===`vertical`)&&m?[`vertical`,m]:[p,!1],[p,m]),ye=_e===`inline`,[be,xe]=Z.useState(_e),[X,Se]=Z.useState(ve);Z.useEffect(()=>{xe(_e),Se(ve),ge.current&&(ye?de(me):pe(pu))},[_e,ve]);let[Ce,we]=Z.useState(0),Te=Ce>=ie.length-1||be!==`horizontal`||g;Z.useEffect(()=>{ye&&he(fe)},[fe]),Z.useEffect(()=>(ge.current=!0,()=>{ge.current=!1}),[]);let{registerPath:Ee,unregisterPath:De,refreshOverflowKeys:Oe,isSubPathKey:ke,getKeyPath:Ae,getKeys:je,getSubPathKeys:Ne}=Pl(),Pe=Z.useMemo(()=>({registerPath:Ee,unregisterPath:De}),[Ee,De]),Fe=Z.useMemo(()=>({isSubPathKey:ke}),[ke]);Z.useEffect(()=>{Oe(Te?pu:ie.slice(Ce+1).map(e=>e.key))},[Ce,Te]);let[Ie,Le]=ee(C||w&&ie[0]?.key,C),Re=Fl(e=>{Le(e)}),ze=Fl(()=>{Le(void 0)});(0,Z.useImperativeHandle)(t,()=>({list:se.current,focus:e=>{let t=je(),{elements:n,key2element:r,element2key:i}=Dl(t,ce),a=Tl(se.current,n),o;o=Ie&&t.includes(Ie)?Ie:a[0]?i.get(a[0]):ie.find(e=>!e.props.disabled)?.key;let s=r.get(o);o&&s&&s?.focus?.(e)},findItem:({key:e})=>{let{key2element:t}=Dl(je(),ce);return t.get(e)||null}}));let[Be,Ve]=ee(D||[],O),He=Z.useMemo(()=>Array.isArray(Be)?Be:Be==null?pu:[Be],[Be]),Ue=e=>{if(T){let{key:t}=e,n=He.includes(t),r;r=E?n?He.filter(e=>e!==t):[...He,t]:[t],Ve(r);let i={...e,selectedKeys:r};n?A?.(i):k?.(i)}!E&&fe.length&&be!==`inline`&&pe(pu)},We=Fl(e=>{H?.(zl(e)),Ue(e)}),Ge=Fl((e,t)=>{let n=fe.filter(t=>t!==e);if(t)n.push(e);else if(be!==`inline`){let t=Ne(e);n=n.filter(e=>!t.has(e))}Me(fe,n,!0)||pe(n,!0)}),Ke=Ol(be,Ie,le,ce,se,je,Ae,Le,(e,t)=>{Ge(e,t??!fe.includes(e))},W);Z.useEffect(()=>{oe(!0)},[]);let qe=Z.useMemo(()=>({_internalRenderMenuItem:te,_internalRenderSubMenuItem:ne}),[te,ne]),Je=be!==`horizontal`||g?ie:ie.map((e,t)=>Z.createElement(al,{key:e.key,overflowDisabled:t>Ce,classNames:s,styles:o},e)),Ye=Z.createElement(rt,fu({id:f,ref:se,prefixCls:`${n}-overflow`,component:`ul`,itemComponent:Wl,className:L(n,`${n}-root`,`${n}-${be}`,a,{[`${n}-inline-collapsed`]:X,[`${n}-rtl`]:le},r),dir:d,style:i,role:`menu`,tabIndex:c,data:Je,renderRawItem:e=>e,renderRawRest:e=>{let t=e.length,n=t?ie.slice(-t):null;return Z.createElement(iu,{eventKey:Nl,title:z,disabled:Te,internalPopupClose:t===0,popupClassName:B},n)},maxCount:be!==`horizontal`||g?rt.INVALIDATE:rt.RESPONSIVE,ssr:`full`,"data-menu-list":!0,onVisibleChange:e=>{we(e)},onKeyDown:Ke},re));return Z.createElement(fl.Provider,{value:qe},Z.createElement(el.Provider,{value:ce},Z.createElement(al,{prefixCls:n,rootClassName:r,classNames:s,styles:o,mode:be,openKeys:fe,rtl:le,disabled:h,motion:ae?M:null,defaultMotions:ae?N:null,activeKey:Ie,onActive:Re,onInactive:ze,selectedKeys:He,inlineIndent:j,subMenuOpenDelay:v,subMenuCloseDelay:y,forceSubMenuRender:b,builtinPlacements:F,triggerSubMenuAction:P,getPopupContainer:V,itemIcon:I,expandIcon:R,onItemClick:We,onOpenChange:Ge,popupRender:J},Z.createElement(dl.Provider,{value:Fe},Ye),Z.createElement(`div`,{style:{display:`none`},"aria-hidden":!0},Z.createElement(sl.Provider,{value:Pe},Y)))))});mu.Item=Wl,mu.SubMenu=iu,mu.ItemGroup=cu,mu.Divider=au;var hu=Z.createContext({});(()=>{let e=0;return(t=``)=>(e+=1,`${t}${e}`)})();var gu=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z`}}]},name:`ellipsis`,theme:`outlined`}}))());function _u(){return _u=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,_u({},e,{ref:t,icon:gu.default}))),yu=(0,Z.createContext)({prefixCls:``,firstLevel:!0,inlineCollapsed:!1,styles:null,classNames:null}),bu=e=>{let{prefixCls:t,className:n,dashed:r,...i}=e,{getPrefixCls:a}=Z.useContext(Gt),o=L({[`${a(`menu`,t)}-item-divider-dashed`]:!!r},n);return Z.createElement(au,{className:o,...i})},xu=e=>{let{className:t,children:n,icon:r,title:i,danger:a,extra:o}=e,{prefixCls:s,firstLevel:c,direction:l,disableMenuItemTitleTooltip:u,tooltip:d,inlineCollapsed:f,styles:p,classNames:m}=Z.useContext(yu),h=e=>{let t=n?.[0],i=Z.createElement(`span`,{className:L(`${s}-title-content`,c?m?.itemContent:m?.subMenu?.itemContent,{[`${s}-title-content-with-extra`]:!!o||o===0}),style:c?p?.itemContent:p?.subMenu?.itemContent},n);return(!r||Z.isValidElement(n)&&n.type===`span`)&&n&&e&&c&&typeof t==`string`?Z.createElement(`div`,{className:`${s}-inline-collapsed-noicon`},t.charAt(0)):i},{siderCollapsed:g}=Z.useContext(hu),_=i;i===void 0?_=c?n:``:i===!1&&(_=``);let v=d===!1?void 0:d,y=v&&v.title!==void 0?v.title:_,b={...v??null,title:y};!g&&!f&&(b.title=null,b.open=!1);let x=xt(n).length,S=Z.createElement(Wl,{...pt(e,[`title`,`icon`,`danger`]),className:L(c?m?.item:m?.subMenu?.item,{[`${s}-item-danger`]:a,[`${s}-item-only-child`]:(r?x+1:x)===1},t),style:{...c?p?.item:p?.subMenu?.item,...e.style},title:typeof i==`string`?i:void 0,itemData:e?.itemData??{...e,key:e.eventKey}},Tt(r,e=>({className:L(`${s}-item-icon`,c?m?.itemIcon:m?.subMenu?.itemIcon,e.className),style:{...c?p?.itemIcon:p?.subMenu?.itemIcon,...e.style}})),h(f));if(!u&&d!==!1){let e=v&&v.placement?v.placement:l===`rtl`?`left`:`right`,t=`${s}-inline-collapsed-tooltip`,n=e=>({...e,root:L(t,e?.root)}),r=ge(v?.classNames)?e=>n(v.classNames(e)):n(v?.classNames);S=Z.createElement(Ia,{...b,placement:e,classNames:r},S)}return S},Su=Z.createContext(null),Cu=Z.forwardRef((e,t)=>{let{children:n,...r}=e,i=Z.useContext(Su),a=Z.useMemo(()=>({...i,...r}),[i,r.prefixCls,r.mode,r.selectable,r.rootClassName]),o=oe(n),s=It(t,o?zt(n):null);return Z.createElement(Su.Provider,{value:a},Z.createElement(Se,{space:!0},o?Z.cloneElement(n,{ref:s}):n))}),wu=e=>{let{componentCls:t,motionDurationSlow:n,horizontalLineHeight:r,colorSplit:i,lineWidth:a,lineType:o,itemPaddingInline:s}=e;return{[`${t}-horizontal`]:{lineHeight:r,border:0,borderBottom:`${Y(a)} ${o} ${i}`,boxShadow:`none`,"&::after":{display:`block`,clear:`both`,height:0,content:`"\\20"`},[`${t}-item, ${t}-submenu`]:{position:`relative`,display:`inline-block`,verticalAlign:`bottom`,paddingInline:s},[`> ${t}-item:hover, + > ${t}-item-active, + > ${t}-submenu ${t}-submenu-title:hover`]:{backgroundColor:`transparent`},[`${t}-item, ${t}-submenu-title`]:{transition:[`border-color`,`background-color`].map(e=>`${e} ${n}`).join(`,`)},[`${t}-submenu-arrow`]:{display:`none`}}}},Tu=({componentCls:e,menuArrowOffset:t,calc:n})=>({[`${e}-rtl`]:{direction:`rtl`},[`${e}-submenu-rtl`]:{transformOrigin:`100% 0`},[`${e}-rtl${e}-vertical, + ${e}-submenu-rtl ${e}-vertical`]:{[`${e}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(${Y(n(t).mul(-1).equal())})`},"&::after":{transform:`rotate(45deg) translateY(${Y(t)})`}}}}),Eu=e=>$e(e),Du=(e,t)=>{let{componentCls:n,itemColor:r,itemSelectedColor:i,subMenuItemSelectedColor:a,groupTitleColor:o,itemBg:s,subMenuItemBg:c,itemSelectedBg:l,activeBarHeight:u,activeBarWidth:d,activeBarBorderWidth:f,motionDurationSlow:p,motionEaseInOut:m,motionEaseOut:h,itemPaddingInline:g,motionDurationMid:_,itemHoverColor:v,lineType:y,colorSplit:b,itemDisabledColor:x,dangerItemColor:S,dangerItemHoverColor:C,dangerItemSelectedColor:w,dangerItemActiveBg:T,dangerItemSelectedBg:E,popupBg:D,itemHoverBg:O,itemActiveBg:k,menuSubMenuBg:A,horizontalItemSelectedColor:j,horizontalItemSelectedBg:M,horizontalItemBorderRadius:N,horizontalItemHoverBg:P}=e;return{[`${n}-${t}, ${n}-${t} > ${n}`]:{color:r,background:s,[`&${n}-root:focus-visible`]:{...Eu(e)},[`${n}-item`]:{"&-group-title, &-extra":{color:o}},[`${n}-submenu-selected > ${n}-submenu-title`]:{color:a},[`${n}-item, ${n}-submenu-title`]:{color:r,[`&:not(${n}-item-disabled):focus-visible`]:{...Eu(e)}},[`${n}-item-disabled, ${n}-submenu-disabled`]:{color:`${x} !important`},[`${n}-item:not(${n}-item-selected):not(${n}-submenu-selected)`]:{[`&:hover, > ${n}-submenu-title:hover`]:{color:v}},[`${n}-submenu:not(${n}-submenu-selected)`]:{[`> ${n}-submenu-title:hover`]:{color:v}},[`&:not(${n}-horizontal)`]:{[`${n}-item:not(${n}-item-selected)`]:{"&:hover":{backgroundColor:O},"&:active":{backgroundColor:k}},[`${n}-submenu-title`]:{"&:hover":{backgroundColor:O},"&:active":{backgroundColor:k}}},[`${n}-item-danger`]:{color:S,[`&${n}-item:hover`]:{[`&:not(${n}-item-selected):not(${n}-submenu-selected)`]:{color:C}},[`&${n}-item:active`]:{background:T}},[`${n}-item a`]:{"&, &:hover":{color:`inherit`}},[`${n}-item-selected`]:{color:i,[`&${n}-item-danger`]:{color:w},"a, a:hover":{color:`inherit`}},[`& ${n}-item-selected`]:{backgroundColor:l,[`&${n}-item-danger`]:{backgroundColor:E}},[`&${n}-submenu > ${n}`]:{backgroundColor:A},[`&${n}-popup > ${n}`]:{backgroundColor:D},[`&${n}-submenu-popup > ${n}`]:{backgroundColor:D},[`&${n}-horizontal`]:{...t===`dark`?{borderBottom:0}:{},[`> ${n}-item, > ${n}-submenu`]:{top:f,marginTop:e.calc(f).mul(-1).equal(),marginBottom:0,borderRadius:N,"&::after":{position:`absolute`,insetInline:g,bottom:0,borderBottom:`${Y(u)} solid transparent`,transition:`border-color ${p} ${m}`,content:`""`},"&:hover, &-active, &-open":{background:P,"&::after":{borderBottomWidth:u,borderBottomColor:j}},"&-selected":{color:j,backgroundColor:M,"&:hover":{backgroundColor:M},"&::after":{borderBottomWidth:u,borderBottomColor:j}}}},[`&${n}-root`]:{[`&${n}-inline, &${n}-vertical`]:{borderInlineEnd:`${Y(f)} ${y} ${b}`}},[`&${n}-inline`]:{[`${n}-sub${n}-inline`]:{background:c},[`${n}-item`]:{position:`relative`,"&::after":{position:`absolute`,insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${Y(d)} solid ${i}`,transform:`scaleY(0.0001)`,opacity:0,transition:[`transform`,`opacity`].map(e=>`${e} ${_} ${h}`).join(`,`),content:`""`},[`&${n}-item-danger`]:{"&::after":{borderInlineEndColor:w}}},[`${n}-selected, ${n}-item-selected`]:{"&::after":{transform:`scaleY(1)`,opacity:1,transition:[`transform`,`opacity`].map(e=>`${e} ${_} ${m}`).join(`,`)}}}}}},Ou=e=>{let{componentCls:t,itemHeight:n,itemMarginInline:r,padding:i,menuArrowSize:a,marginXS:o,itemMarginBlock:s,itemWidth:c,itemPaddingInline:l}=e,u=e.calc(a).add(i).add(o).equal();return{[`${t}-item`]:{position:`relative`,overflow:`hidden`},[`${t}-item, ${t}-submenu-title`]:{height:n,lineHeight:Y(n),paddingInline:l,overflow:`hidden`,textOverflow:`ellipsis`,marginInline:r,marginBlock:s,width:c},[`> ${t}-item, + > ${t}-submenu > ${t}-submenu-title`]:{height:n,lineHeight:Y(n)},[`${t}-item-group-list ${t}-submenu-title, + ${t}-submenu-title`]:{paddingInlineEnd:u}}},ku=e=>{let{componentCls:t,iconCls:n,itemHeight:r,colorTextLightSolid:i,dropdownWidth:a,controlHeightLG:o,motionEaseOut:s,padding:c,paddingXL:l,itemMarginInline:u,fontSizeLG:d,motionDurationFast:f,motionDurationSlow:p,paddingXS:m,boxShadowSecondary:h,collapsedWidth:g,collapsedIconSize:_}=e,v={height:r,lineHeight:Y(r),listStylePosition:`inside`,listStyleType:`disc`};return[{[t]:{"&-inline, &-vertical":{[`&${t}-root`]:{boxShadow:`none`},...Ou(e)}},[`${t}-submenu-popup`]:{[`${t}-vertical`]:{...Ou(e),boxShadow:h}}},{[`${t}-submenu-popup ${t}-vertical${t}-sub`]:{minWidth:a,maxHeight:`calc(100vh - ${Y(e.calc(o).mul(2.5).equal())})`,padding:`0`,overflow:`hidden`,borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:`hidden`,overflowY:`auto`}}},{[`${t}-inline`]:{width:`100%`,[`&${t}-root`]:{[`${t}-item, ${t}-submenu-title`]:{display:`flex`,alignItems:`center`,transition:[`border-color ${p}`,`background-color ${p}`,`padding ${f} ${s}`].join(`,`),[`> ${t}-title-content`]:{flex:`auto`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`},"> *":{flex:`none`}}},[`${t}-sub${t}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:`none`,[`& > ${t}-submenu > ${t}-submenu-title`]:v,[`& ${t}-item-group-title`]:{paddingInlineStart:l}},[`${t}-item`]:v}},{[`${t}-inline-collapsed`]:{width:g,[`&${t}-root`]:{[`${t}-item, ${t}-submenu ${t}-submenu-title`]:{[`> ${t}-inline-collapsed-noicon`]:{fontSize:d,textAlign:`center`,width:`100%`}}},[`> ${t}-item, + > ${t}-item-group > ${t}-item-group-list > ${t}-item, + > ${t}-item-group > ${t}-item-group-list > ${t}-submenu > ${t}-submenu-title, + > ${t}-submenu > ${t}-submenu-title`]:{display:`flex`,alignItems:`center`,justifyContent:`flex-start`,insetInlineStart:0,paddingInline:`calc(50% - ${Y(e.calc(_).div(2).equal())} - ${Y(u)})`,textOverflow:`clip`,[` + ${t}-submenu-arrow, + ${t}-submenu-expand-icon + `]:{opacity:0},[`> ${t}-title-content`]:{width:0,opacity:0,overflow:`hidden`},[`${t}-item-icon, ${n}`]:{margin:0,fontSize:_,lineHeight:Y(r),"+ span":{display:`inline-block`,width:0,opacity:0,overflow:`hidden`,marginInlineStart:0}}},[`${t}-item-icon, ${n}`]:{display:`inline-block`},"&-tooltip":{pointerEvents:`none`,[`${t}-item-icon, ${n}`]:{display:`none`},[`${t}-item-extra`]:{paddingInlineStart:c},"a, a:hover":{color:i}},[`${t}-item-group-title`]:{...j,paddingInline:m}}}]},Au=e=>{let{componentCls:t,motionDurationSlow:n,motionDurationMid:r,motionEaseInOut:i,motionEaseOut:a,iconCls:o,iconSize:s,iconMarginInlineEnd:c}=e;return{[`${t}-item, ${t}-submenu-title`]:{position:`relative`,display:`block`,margin:0,whiteSpace:`nowrap`,cursor:`pointer`,transition:[`border-color ${n}`,`background-color ${n}`,`padding calc(${n} + 0.1s) ${i}`].join(`,`),[`${t}-item-icon, ${o}`]:{minWidth:s,fontSize:s,transition:[`font-size ${r} ${a}`,`margin ${n} ${i}`,`color ${n}`].join(`,`),"+ span":{marginInlineStart:c,opacity:1,transition:[`opacity ${n} ${i}`,`margin ${n}`,`color ${n}`].join(`,`)}},[`${t}-item-icon`]:{...w()},[`&${t}-item-only-child`]:{[`> ${o}, > ${t}-item-icon`]:{marginInlineEnd:0}}},[`${t}-item-disabled, ${t}-submenu-disabled`]:{background:`none !important`,cursor:`not-allowed`,"&::after":{borderColor:`transparent !important`},a:{color:`inherit !important`,cursor:`not-allowed`,pointerEvents:`none`},[`> ${t}-submenu-title`]:{color:`inherit !important`,cursor:`not-allowed`}}}},ju=e=>{let{componentCls:t,motionDurationSlow:n,motionEaseInOut:r,borderRadius:i,menuArrowSize:a,menuArrowOffset:o}=e;return{[`${t}-submenu`]:{"&-expand-icon, &-arrow":{position:`absolute`,top:`50%`,insetInlineEnd:e.margin,width:a,color:`currentcolor`,transform:`translateY(-50%)`,transition:[`transform`,`opacity`].map(e=>`${e} ${n}`).join(`,`)},"&-arrow":{"&::before, &::after":{position:`absolute`,width:e.calc(a).mul(.6).equal(),height:e.calc(a).mul(.15).equal(),backgroundColor:`currentcolor`,borderRadius:i,transition:[`background-color`,`transform`,`top`,`color`].map(e=>`${e} ${n} ${r}`).join(`,`),content:`""`},"&::before":{transform:`rotate(45deg) translateY(${Y(e.calc(o).mul(-1).equal())})`},"&::after":{transform:`rotate(-45deg) translateY(${Y(o)})`}}}}},Mu=e=>{let{antCls:t,componentCls:n,fontSize:r,motionDurationSlow:i,motionDurationMid:a,motionEaseInOut:o,paddingXS:s,padding:c,colorSplit:l,lineWidth:d,zIndexPopup:f,borderRadiusLG:p,subMenuItemBorderRadius:m,menuArrowSize:h,menuArrowOffset:g,lineType:_,groupTitleLineHeight:v,groupTitleFontSize:y,iconSize:b,iconMarginInlineEnd:x}=e,S=[`> ${t}-typography-ellipsis-single-line`,`> ${n}-item-label > ${t}-typography-ellipsis-single-line`].join(`,`);return[{"":{[n]:{...u(),"&-hidden":{display:`none`}}},[`${n}-submenu-hidden`]:{display:`none`}},{[n]:{...q(e),...u(),marginBottom:0,paddingInlineStart:0,fontSize:r,lineHeight:0,listStyle:`none`,outline:`none`,transition:`width ${i} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:`none`},"&-overflow":{display:`flex`,[`${n}-item`]:{flex:`none`}},[`${n}-item, ${n}-submenu, ${n}-submenu-title`]:{borderRadius:e.itemBorderRadius},[`${n}-item-group-title`]:{padding:`${Y(s)} ${Y(c)}`,fontSize:y,lineHeight:v,transition:`all ${i}`},[`&-horizontal ${n}-submenu`]:{transition:[`border-color`,`background-color`].map(e=>`${e} ${i} ${o}`).join(`,`)},[`${n}-submenu, ${n}-submenu-inline`]:{transition:[`border-color ${i}`,`background-color ${i}`,`padding ${a}`].map(e=>`${e} ${o}`).join(`,`)},[`${n}-submenu ${n}-sub`]:{cursor:`initial`,transition:[`background-color`,`padding`].map(e=>`${e} ${i} ${o}`).join(`,`)},[`${n}-title-content`]:{transition:`color ${i}`,"&-with-extra":{display:`inline-flex`,alignItems:`center`,width:`100%`,minWidth:0},[`${n}-item-label`]:{flex:`auto`,minWidth:0,...j},[S]:{display:`inline`,verticalAlign:`unset`},[`${n}-item-extra`]:{flex:`none`,marginInlineStart:`auto`,paddingInlineStart:e.padding}},[`${n}-item-icon + ${n}-title-content-with-extra`]:{width:`calc(100% - ${Y(e.calc(b).add(x??0).equal())})`},[`${n}-item a`]:{"&::before":{position:`absolute`,inset:0,backgroundColor:`transparent`,content:`""`}},[`${n}-item-divider`]:{overflow:`hidden`,lineHeight:0,borderColor:l,borderStyle:_,borderWidth:0,borderTopWidth:d,marginBlock:d,padding:0,"&-dashed":{borderStyle:`dashed`}},...Au(e),[`${n}-item-group`]:{[`${n}-item-group-list`]:{margin:0,padding:0,[`${n}-item, ${n}-submenu-title`]:{paddingInline:`${Y(e.calc(r).mul(2).equal())} ${Y(c)}`}}},"&-submenu":{"&-popup":{position:`absolute`,zIndex:f,borderRadius:p,boxShadow:`none`,transformOrigin:`0 0`,[`&${n}-submenu`]:{background:`transparent`},"&::before":{position:`absolute`,inset:0,zIndex:-1,width:`100%`,height:`100%`,opacity:0,content:`""`},[`> ${n}`]:{borderRadius:p,...Au(e),...ju(e),[`${n}-item, ${n}-submenu > ${n}-submenu-title`]:{borderRadius:m},[`${n}-submenu-title::after`]:{transition:`transform ${i} ${o}`}}},"&-placement-leftTop, &-placement-bottomRight":{transformOrigin:`100% 0`},"&-placement-leftBottom, &-placement-topRight":{transformOrigin:`100% 100%`},"&-placement-rightBottom, &-placement-topLeft":{transformOrigin:`0 100%`},"&-placement-bottomLeft, &-placement-rightTop":{transformOrigin:`0 0`},"&-placement-leftTop, &-placement-leftBottom":{paddingInlineEnd:e.paddingXS},"&-placement-rightTop, &-placement-rightBottom":{paddingInlineStart:e.paddingXS},"&-placement-topRight, &-placement-topLeft":{paddingBottom:e.paddingXS},"&-placement-bottomRight, &-placement-bottomLeft":{paddingTop:e.paddingXS}},...ju(e),[`&-inline-collapsed ${n}-submenu-arrow, + &-inline ${n}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Y(g)})`},"&::after":{transform:`rotate(45deg) translateX(${Y(e.calc(g).mul(-1).equal())})`}},[`${n}-submenu-open${n}-submenu-inline > ${n}-submenu-title > ${n}-submenu-arrow`]:{transform:`translateY(${Y(e.calc(h).mul(.2).mul(-1).equal())})`,"&::after":{transform:`rotate(-45deg) translateX(${Y(e.calc(g).mul(-1).equal())})`},"&::before":{transform:`rotate(45deg) translateX(${Y(g)})`}}}},{[`${t}-layout-header`]:{[n]:{lineHeight:`inherit`}}}]},Nu=e=>{let{colorPrimary:t,colorError:n,colorTextDisabled:r,colorErrorBg:i,colorText:a,colorTextDescription:o,colorBgContainer:s,colorFillAlter:c,colorFillContent:l,lineWidth:u,lineWidthBold:d,controlItemBgActive:f,colorBgTextHover:p,controlHeightLG:m,lineHeight:h,colorBgElevated:g,marginXXS:_,padding:v,fontSize:y,controlHeightSM:b,fontSizeLG:x,colorTextLightSolid:S,colorErrorHover:C}=e,w=e.activeBarWidth??0,T=e.activeBarBorderWidth??u,E=e.itemMarginInline??e.marginXXS,D=new se(S).setA(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:e.zIndexPopupBase+50,radiusItem:e.borderRadiusLG,itemBorderRadius:e.borderRadiusLG,radiusSubMenuItem:e.borderRadiusSM,subMenuItemBorderRadius:e.borderRadiusSM,colorItemText:a,itemColor:a,colorItemTextHover:a,itemHoverColor:a,colorItemTextHoverHorizontal:t,horizontalItemHoverColor:t,colorGroupTitle:o,groupTitleColor:o,colorItemTextSelected:t,itemSelectedColor:t,subMenuItemSelectedColor:t,colorItemTextSelectedHorizontal:t,horizontalItemSelectedColor:t,colorItemBg:s,itemBg:s,colorItemBgHover:p,itemHoverBg:p,colorItemBgActive:l,itemActiveBg:f,colorSubItemBg:c,subMenuItemBg:c,colorItemBgSelected:f,itemSelectedBg:f,colorItemBgSelectedHorizontal:`transparent`,horizontalItemSelectedBg:`transparent`,colorActiveBarWidth:0,activeBarWidth:w,colorActiveBarHeight:d,activeBarHeight:d,colorActiveBarBorderSize:u,activeBarBorderWidth:T,colorItemTextDisabled:r,itemDisabledColor:r,colorDangerItemText:n,dangerItemColor:n,colorDangerItemTextHover:n,dangerItemHoverColor:n,colorDangerItemTextSelected:n,dangerItemSelectedColor:n,colorDangerItemBgActive:i,dangerItemActiveBg:i,colorDangerItemBgSelected:i,dangerItemSelectedBg:i,itemMarginInline:E,horizontalItemBorderRadius:0,horizontalItemHoverBg:`transparent`,itemHeight:m,groupTitleLineHeight:h,collapsedWidth:m*2,popupBg:g,itemMarginBlock:_,itemPaddingInline:v,horizontalLineHeight:`${m*1.15}px`,iconSize:y,iconMarginInlineEnd:b-y,collapsedIconSize:x,groupTitleFontSize:y,darkItemDisabledColor:new se(S).setA(.25).toRgbString(),darkItemColor:D,darkDangerItemColor:n,darkItemBg:`#001529`,darkPopupBg:`#001529`,darkSubMenuItemBg:`#000c17`,darkItemSelectedColor:S,darkItemSelectedBg:t,darkDangerItemSelectedBg:n,darkItemHoverBg:`transparent`,darkGroupTitleColor:D,darkItemHoverColor:S,darkDangerItemHoverColor:C,darkDangerItemSelectedColor:S,darkDangerItemActiveBg:n,itemWidth:w?`calc(100% + ${T}px)`:`calc(100% - ${E*2}px)`}},Pu=(e,t=e,n=!0)=>we(`Menu`,e=>{let{colorBgElevated:t,controlHeightLG:n,fontSize:r,darkItemColor:i,darkDangerItemColor:a,darkItemBg:o,darkSubMenuItemBg:s,darkItemSelectedColor:c,darkItemSelectedBg:l,darkDangerItemSelectedBg:u,darkItemHoverBg:d,darkGroupTitleColor:f,darkItemHoverColor:p,darkItemDisabledColor:m,darkDangerItemHoverColor:g,darkDangerItemSelectedColor:_,darkDangerItemActiveBg:v,popupBg:y,darkPopupBg:b}=e,x=e.calc(r).div(7).mul(5).equal(),S=h(e,{menuArrowSize:x,menuHorizontalHeight:e.calc(n).mul(1.15).equal(),menuArrowOffset:e.calc(x).mul(.25).equal(),menuSubMenuBg:t,calc:e.calc,popupBg:y}),C=h(S,{itemColor:i,itemHoverColor:p,groupTitleColor:f,itemSelectedColor:c,subMenuItemSelectedColor:c,itemBg:o,popupBg:b,subMenuItemBg:s,itemActiveBg:`transparent`,itemSelectedBg:l,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:d,itemDisabledColor:m,dangerItemColor:a,dangerItemHoverColor:g,dangerItemSelectedColor:_,dangerItemActiveBg:v,dangerItemSelectedBg:u,menuSubMenuBg:s,horizontalItemSelectedColor:c,horizontalItemSelectedBg:l});return[Mu(S),wu(S),ku(S),Du(S,`light`),Du(C,`dark`),Tu(S),Pn(S),te(S,`slide-up`),te(S,`slide-down`),Zn(S,`zoom-big`)]},Nu,{deprecatedTokens:[[`colorGroupTitle`,`groupTitleColor`],[`radiusItem`,`itemBorderRadius`],[`radiusSubMenuItem`,`subMenuItemBorderRadius`],[`colorItemText`,`itemColor`],[`colorItemTextHover`,`itemHoverColor`],[`colorItemTextHoverHorizontal`,`horizontalItemHoverColor`],[`colorItemTextSelected`,`itemSelectedColor`],[`colorItemTextSelectedHorizontal`,`horizontalItemSelectedColor`],[`colorItemTextDisabled`,`itemDisabledColor`],[`colorDangerItemText`,`dangerItemColor`],[`colorDangerItemTextHover`,`dangerItemHoverColor`],[`colorDangerItemTextSelected`,`dangerItemSelectedColor`],[`colorDangerItemBgActive`,`dangerItemActiveBg`],[`colorDangerItemBgSelected`,`dangerItemSelectedBg`],[`colorItemBg`,`itemBg`],[`colorItemBgHover`,`itemHoverBg`],[`colorSubItemBg`,`subMenuItemBg`],[`colorItemBgActive`,`itemActiveBg`],[`colorItemBgSelectedHorizontal`,`horizontalItemSelectedBg`],[`colorActiveBarWidth`,`activeBarWidth`],[`colorActiveBarHeight`,`activeBarHeight`],[`colorActiveBarBorderSize`,`activeBarBorderWidth`],[`colorItemBgSelected`,`itemSelectedBg`]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(e,t),Fu=e=>{let{popupClassName:t,icon:n,title:r,theme:i}=e,a=Z.useContext(yu),{prefixCls:o,inlineCollapsed:s,theme:c,classNames:l,styles:u}=a,d=ul(),f;if(!n)f=s&&!d.length&&r&&typeof r==`string`?Z.createElement(`div`,{className:`${o}-inline-collapsed-noicon`},r.charAt(0)):Z.createElement(`span`,{className:`${o}-title-content`},r);else{let e=Z.isValidElement(r)&&r.type===`span`;f=Z.createElement(Z.Fragment,null,Tt(n,e=>({className:L(e.className,`${o}-item-icon`,l?.itemIcon),style:{...e.style,...u?.itemIcon}})),e?r:Z.createElement(`span`,{className:`${o}-title-content`},r))}let p=Z.useMemo(()=>({...a,firstLevel:!1}),[a]),[m]=ye(`Menu`);return Z.createElement(yu.Provider,{value:p},Z.createElement(iu,{...pt(e,[`icon`]),title:f,classNames:{list:l?.subMenu?.list,listTitle:l?.subMenu?.itemTitle},styles:{list:u?.subMenu?.list,listTitle:u?.subMenu?.itemTitle},popupClassName:L(o,t,l?.popup?.root,`${o}-${i||c}`),popupStyle:{zIndex:m,...e.popupStyle,...u?.popup?.root}}))};function Iu(e){return e===null||e===!1}var Lu={item:xu,submenu:Fu,divider:bu},Ru=(0,Z.forwardRef)((e,t)=>{let n=Z.useContext(Su),r=n||{},{prefixCls:i,className:a,style:o,theme:s=`light`,expandIcon:c,_internalDisableMenuItemTitleTooltip:l,tooltip:u,inlineCollapsed:d,siderCollapsed:p,rootClassName:m,mode:h,selectable:_,onClick:v,overflowedIndicatorPopupClassName:y,classNames:b,styles:x,...S}=e,{menu:C}=Z.useContext(Gt),{getPrefixCls:w,getPopupContainer:T,direction:E,className:D,style:k,classNames:A,styles:j}=f(`menu`),M=w(),N=pt(S,[`collapsedWidth`]);r.validator?.({mode:h});let P=U((...e)=>{v?.(...e),r.onClick?.()}),F=r.mode||h,I=_??r.selectable,R=d??p,z={...e,mode:F,inlineCollapsed:R,selectable:I,theme:s},B=fe(k),V=fe(o),[H,W]=O([A,b],[j,B,x,V],{props:z},{popup:{_default:`root`},subMenu:{_default:`item`}}),G={horizontal:{motionName:`${M}-slide-up`},inline:Ze(M),other:{motionName:`${M}-zoom-big`}},ee=w(`menu`,i||r.prefixCls),K=g(ee),[te,ne]=Pu(ee,K,!n),q=L(`${ee}-${s}`,D,a),J=Z.useMemo(()=>{if(ge(c)||Iu(c))return c||null;if(ge(r.expandIcon)||Iu(r.expandIcon))return r.expandIcon||null;if(ge(C?.expandIcon)||Iu(C?.expandIcon))return C?.expandIcon||null;let e=c??r?.expandIcon??C?.expandIcon;return Tt(e,{className:L(`${ee}-submenu-expand-icon`,Z.isValidElement(e)?e.props?.className:void 0)})},[c,r?.expandIcon,C?.expandIcon,ee]),re=Z.useMemo(()=>({prefixCls:ee,inlineCollapsed:R||!1,direction:E,firstLevel:!0,theme:s,mode:F,disableMenuItemTitleTooltip:l,tooltip:u,classNames:H,styles:W}),[ee,R,E,l,s,F,H,W,u]);return Z.createElement(Su.Provider,{value:null},Z.createElement(yu.Provider,{value:re},Z.createElement(mu,{getPopupContainer:T,overflowedIndicator:Z.createElement(vu,null),overflowedIndicatorPopupClassName:L(ee,`${ee}-${s}`,y),classNames:{list:H.list,listTitle:H.itemTitle},styles:{list:W.list,listTitle:W.itemTitle},mode:F,selectable:I,onClick:P,...N,inlineCollapsed:R,style:W.root,className:q,prefixCls:ee,direction:E,defaultMotions:G,expandIcon:J,ref:t,rootClassName:L(m,te,r.rootClassName,ne,K,H.root),_internalComponents:Lu})))}),zu=(0,Z.forwardRef)((e,t)=>{let n=(0,Z.useRef)(null),r=Z.useContext(hu);return(0,Z.useImperativeHandle)(t,()=>({menu:n.current,focus:e=>{n.current?.focus(e)}})),Z.createElement(Ru,{ref:n,...e,...r})});zu.Item=xu,zu.SubMenu=Fu,zu.Divider=bu,zu.ItemGroup=cu;var Bu=e=>{let{componentCls:t,menuCls:n,colorError:r,colorTextLightSolid:i}=e,a=`${n}-item`;return{[`${t}, ${t}-menu-submenu`]:{[`${n} ${a}`]:{[`&${a}-danger:not(${a}-disabled)`]:{color:r,"&:hover":{color:i,backgroundColor:r}}}}}},Vu=e=>{let{componentCls:t,menuCls:n,zIndexPopup:r,dropdownArrowDistance:i,sizePopupArrow:a,antCls:o,iconCls:s,motionDurationMid:c,paddingBlock:l,fontSize:u,dropdownEdgeChildPadding:f,colorTextDisabled:p,fontSizeIcon:m,controlPaddingHorizontal:h,colorBgElevated:g,controlHeightLG:_}=e;return[{[t]:{position:`absolute`,top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:r,display:`block`,"&::before":{position:`absolute`,insetBlock:e.calc(a).div(2).sub(i).equal(),zIndex:-9999,opacity:1e-4,content:`""`},"&-menu-vertical":{maxHeight:`calc(100vh - ${Y(e.calc(_).mul(2.5).equal())})`,overflowY:`auto`},[`&-trigger${o}-btn`]:{[`& > ${s}-down, & > ${o}-btn-icon > ${s}-down`]:{fontSize:m}},[`${t}-wrap`]:{position:`relative`,[`${o}-btn > ${s}-down`]:{fontSize:m},[`${s}-down::before`]:{transition:`transform ${c}`}},[`${t}-wrap-open`]:{[`${s}-down::before`]:{transform:`rotate(180deg)`}},"&-hidden, &-menu-hidden, &-menu-submenu-hidden":{display:`none`},[`&${o}-slide-down-enter${o}-slide-down-enter-active${t}-placement-bottomLeft, + &${o}-slide-down-appear${o}-slide-down-appear-active${t}-placement-bottomLeft, + &${o}-slide-down-enter${o}-slide-down-enter-active${t}-placement-bottom, + &${o}-slide-down-appear${o}-slide-down-appear-active${t}-placement-bottom, + &${o}-slide-down-enter${o}-slide-down-enter-active${t}-placement-bottomRight, + &${o}-slide-down-appear${o}-slide-down-appear-active${t}-placement-bottomRight`]:{animationName:pe},[`&${o}-slide-up-enter${o}-slide-up-enter-active${t}-placement-topLeft, + &${o}-slide-up-appear${o}-slide-up-appear-active${t}-placement-topLeft, + &${o}-slide-up-enter${o}-slide-up-enter-active${t}-placement-top, + &${o}-slide-up-appear${o}-slide-up-appear-active${t}-placement-top, + &${o}-slide-up-enter${o}-slide-up-enter-active${t}-placement-topRight, + &${o}-slide-up-appear${o}-slide-up-appear-active${t}-placement-topRight`]:{animationName:S},[`&${o}-slide-down-leave${o}-slide-down-leave-active${t}-placement-bottomLeft, + &${o}-slide-down-leave${o}-slide-down-leave-active${t}-placement-bottom, + &${o}-slide-down-leave${o}-slide-down-leave-active${t}-placement-bottomRight`]:{animationName:D},[`&${o}-slide-up-leave${o}-slide-up-leave-active${t}-placement-topLeft, + &${o}-slide-up-leave${o}-slide-up-leave-active${t}-placement-top, + &${o}-slide-up-leave${o}-slide-up-leave-active${t}-placement-topRight`]:{animationName:k},[`&${o}-slide-right-enter${o}-slide-right-enter-active${t}-placement-right, + &${o}-slide-right-appear${o}-slide-right-appear-active${t}-placement-right, + &${o}-slide-right-enter${o}-slide-right-enter-active${t}-placement-rightTop, + &${o}-slide-right-appear${o}-slide-right-appear-active${t}-placement-rightTop, + &${o}-slide-right-enter${o}-slide-right-enter-active${t}-placement-rightBottom, + &${o}-slide-right-appear${o}-slide-right-appear-active${t}-placement-rightBottom`]:{animationName:I},[`&${o}-slide-left-enter${o}-slide-left-enter-active${t}-placement-left, + &${o}-slide-left-appear${o}-slide-left-appear-active${t}-placement-left, + &${o}-slide-left-enter${o}-slide-left-enter-active${t}-placement-leftTop, + &${o}-slide-left-appear${o}-slide-left-appear-active${t}-placement-leftTop, + &${o}-slide-left-enter${o}-slide-left-enter-active${t}-placement-leftBottom, + &${o}-slide-left-appear${o}-slide-left-appear-active${t}-placement-leftBottom`]:{animationName:Wt},[`&${o}-slide-right-leave${o}-slide-right-leave-active${t}-placement-right, + &${o}-slide-right-leave${o}-slide-right-leave-active${t}-placement-rightTop, + &${o}-slide-right-leave${o}-slide-right-leave-active${t}-placement-rightBottom`]:{animationName:ie},[`&${o}-slide-left-leave${o}-slide-left-leave-active${t}-placement-left, + &${o}-slide-left-leave${o}-slide-left-leave-active${t}-placement-leftTop, + &${o}-slide-left-leave${o}-slide-left-leave-active${t}-placement-leftBottom`]:{animationName:d}}},ba(e,g),{[`${t} ${n}`]:{position:`relative`,margin:0},[`${n}-submenu-popup`]:{position:`absolute`,zIndex:r,background:`transparent`,boxShadow:`none`,transformOrigin:`0 0`,"ul, li":{listStyle:`none`,margin:0}},[`${t}, ${t}-menu-submenu`]:{...q(e),[n]:{padding:f,listStyleType:`none`,backgroundColor:g,backgroundClip:`padding-box`,borderRadius:e.borderRadiusLG,outline:`none`,boxShadow:e.boxShadowSecondary,...V(e),"&:empty":{padding:0,boxShadow:`none`},[`${n}-item-group-title`]:{padding:`${Y(l)} ${Y(h)}`,color:e.colorTextDescription,transition:`all ${c}`},[`${n}-item`]:{position:`relative`,display:`flex`,alignItems:`center`},[`${n}-item-icon`]:{minWidth:u,marginInlineEnd:e.marginXS,fontSize:e.fontSizeSM},[`${n}-title-content`]:{flex:`auto`,"&-with-extra":{display:`inline-flex`,alignItems:`center`,width:`100%`},[`> a, > ${n}-item-label > a`]:{color:`inherit`,transition:`all ${c}`,"&:hover":{color:`inherit`},"&::after":{position:`absolute`,inset:0,content:`""`}},[`${n}-item-extra`]:{paddingInlineStart:e.padding,marginInlineStart:`auto`,fontSize:e.fontSizeSM,color:e.colorTextDescription}},[`${n}-item, ${n}-submenu-title`]:{display:`flex`,margin:0,padding:`${Y(l)} ${Y(h)}`,color:e.colorText,fontWeight:`normal`,fontSize:u,lineHeight:e.lineHeight,cursor:`pointer`,transition:`all ${c}`,borderRadius:e.borderRadiusSM,"&:hover, &-active":{backgroundColor:e.controlItemBgHover},...V(e),"&-selected":{color:e.colorPrimary,backgroundColor:e.controlItemBgActive,"&:hover, &-active":{backgroundColor:e.controlItemBgActiveHover}},"&-disabled":{color:p,cursor:`not-allowed`,"&:hover":{color:p,backgroundColor:g,cursor:`not-allowed`},a:{pointerEvents:`none`}},"&-divider":{height:1,margin:`${Y(e.marginXXS)} 0`,overflow:`hidden`,lineHeight:0,backgroundColor:e.colorSplit},[`${t}-menu-submenu-expand-icon`]:{position:`absolute`,insetInlineEnd:e.paddingXS,[`${t}-menu-submenu-arrow-icon`]:{marginInlineEnd:`0 !important`,color:e.colorIcon,fontSize:m,fontStyle:`normal`}}},[`${n}-item-group-list`]:{margin:`0 ${Y(e.marginXS)}`,padding:0,listStyle:`none`},[`${n}-submenu-title`]:{paddingInlineEnd:e.calc(h).add(e.fontSizeSM).equal()},[`${n}-submenu-vertical`]:{position:`relative`},[`${n}-submenu${n}-submenu-disabled ${t}-menu-submenu-title`]:{[`&, ${t}-menu-submenu-arrow-icon`]:{color:p,backgroundColor:g,cursor:`not-allowed`}},[`${n}-submenu-selected ${t}-menu-submenu-title`]:{color:e.colorPrimary}}}},[te(e,`slide-up`),te(e,`slide-down`),te(e,`slide-left`),te(e,`slide-right`),de(e,`move-up`),de(e,`move-down`),Zn(e,`zoom-big`)]]},Hu=we(`Dropdown`,e=>{let{marginXXS:t,sizePopupArrow:n,paddingXXS:r,componentCls:i}=e,a=h(e,{menuCls:`${i}-menu`,dropdownArrowDistance:e.calc(n).div(2).add(t).equal(),dropdownEdgeChildPadding:r});return[Vu(a),Bu(a)]},e=>({zIndexPopup:e.zIndexPopupBase+50,paddingBlock:(e.controlHeight-e.fontSize*e.lineHeight)/2,...ya({contentRadius:e.borderRadiusLG,limitVerticalRadius:!0}),..._a(e)}),{resetStyle:!1}),Uu=Z.forwardRef((e,t)=>{let{menu:n,arrow:r,prefixCls:i,children:a,trigger:o,disabled:s,dropdownRender:c,popupRender:l,getPopupContainer:u,overlayClassName:d,rootClassName:p,overlayStyle:m,open:h,onOpenChange:_,mouseEnterDelay:v=.15,mouseLeaveDelay:y=.1,autoAdjustOverflow:b=!0,placement:x=``,transitionName:S,classNames:C,styles:w,destroyPopupOnHide:T,destroyOnHidden:E}=e,{getPrefixCls:D,direction:k,getPopupContainer:A,className:j,style:M,classNames:P,styles:F}=f(`dropdown`),I={...e,mouseEnterDelay:v,mouseLeaveDelay:y,autoAdjustOverflow:b},[R,z]=O([P,C],[F,w],{props:I}),B={...M,...m,...z.root},V=l||c;me(`Dropdown`);let H=Z.useMemo(()=>{let e=D();return S===void 0?x.startsWith(`top`)?`${e}-slide-down`:x.startsWith(`left`)?`${e}-slide-right`:x.startsWith(`right`)?`${e}-slide-left`:`${e}-slide-up`:S},[D,x,S]),W=Z.useMemo(()=>x?x.includes(`Center`)?x.slice(0,x.indexOf(`Center`)):x:k===`rtl`?`bottomRight`:`bottomLeft`,[x,k]),G=D(`dropdown`,i),K=g(G),[te,ne]=Hu(G,K),[,q]=Ut(),J=Z.Children.only(N(a)?Z.createElement(`span`,null,a):a),re=It(t,zt(J)),ie=Tt(J,{className:L(`${G}-trigger`,{[`${G}-rtl`]:k===`rtl`},J.props.className),disabled:J.props.disabled??s,ref:re}),Y=s?[]:o,ae=!!Y?.includes(`contextMenu`),[oe,se]=ee(!1,h),ce=U(e=>{_?.(e,{source:`trigger`}),se(e)}),le=L(d,p,te,ne,K,j,R.root,{[`${G}-rtl`]:k===`rtl`}),ue=Ta({arrowPointAtCenter:yt(r)&&r.pointAtCenter,autoAdjustOverflow:b,offset:q.marginXXS,arrowWidth:r?q.sizePopupArrow:0,borderRadius:q.borderRadius}),de=U(()=>{n?.selectable&&n?.multiple||(_?.(!1,{source:`menu`}),se(!1))}),fe=()=>{let e=pt(R,[`root`]),t=pt(z,[`root`]),r;return n?.items&&(r=Z.createElement(zu,{...n,classNames:{...e,subMenu:{...e}},styles:{...t,subMenu:{...t}}})),V&&(r=V(r)),r=Z.Children.only(typeof r==`string`?Z.createElement(`span`,null,r):r),Z.createElement(Cu,{prefixCls:`${G}-menu`,rootClassName:L(ne,K),expandIcon:Z.createElement(`span`,{className:`${G}-menu-submenu-arrow`},k===`rtl`?Z.createElement(Wc,{className:`${G}-menu-submenu-arrow-icon`}):Z.createElement(er,{className:`${G}-menu-submenu-arrow-icon`})),mode:`vertical`,selectable:!1,onClick:de,validator:({mode:e})=>{}},r)},[pe,he]=ye(`Dropdown`,B.zIndex),ge=Z.createElement($c,{alignPoint:ae,...pt(e,[`rootClassName`,`onOpenChange`]),mouseEnterDelay:v,mouseLeaveDelay:y,visible:oe,builtinPlacements:ue,arrow:!!r,overlayClassName:le,prefixCls:G,getPopupContainer:u||A,transitionName:H,trigger:Y,overlay:fe,placement:W,onVisibleChange:ce,overlayStyle:{...B,zIndex:pe},autoDestroy:E??T},ie);return pe&&(ge=Z.createElement(_e.Provider,{value:he},ge)),ge}),Wu=kt(Uu,`align`,void 0,`dropdown`,e=>e);Uu._InternalPanelDoNotUseOrYouWillBeFired=e=>Z.createElement(Wu,{...e},Z.createElement(`span`,null));var Gu=e=>{let{getPopupContainer:t,getPrefixCls:n,direction:r}=Z.useContext(Gt),{prefixCls:i,type:a=`default`,danger:o,disabled:s,loading:c,onClick:l,htmlType:u,children:d,className:f,menu:p,arrow:m,autoFocus:h,trigger:g,align:_,open:v,onOpenChange:y,placement:b,getPopupContainer:x,href:S,icon:C=Z.createElement(vu,null),title:w,buttonsRender:T=e=>e,mouseEnterDelay:E,mouseLeaveDelay:D,overlayClassName:O,overlayStyle:k,destroyOnHidden:A,destroyPopupOnHide:j,dropdownRender:M,popupRender:N,...P}=e,F=n(`dropdown`,i),I=`${F}-button`,R={menu:p,arrow:m,autoFocus:h,align:_,disabled:s,trigger:s?[]:g,onOpenChange:y,getPopupContainer:x||t,mouseEnterDelay:E,mouseLeaveDelay:D,classNames:{root:O},styles:{root:k},destroyOnHidden:A,popupRender:N||M},{compactSize:z,compactItemClassnames:B}=vt(F,r),V=L(I,B,f);`destroyPopupOnHide`in e&&(R.destroyPopupOnHide=j),`open`in e&&(R.open=v),`placement`in e?R.placement=b:R.placement=r===`rtl`?`bottomLeft`:`bottomRight`;let[H,U]=T([Z.createElement(Kt,{type:a,danger:o,disabled:s,loading:c,onClick:l,htmlType:u,href:S,title:w},d),Z.createElement(Kt,{type:a,danger:o,icon:C})]);return Z.createElement(ce.Compact,{className:V,size:z,block:!0,...P},H,Z.createElement(Uu,{...R},U))};Gu.__ANT_BUTTON=!0;var Ku=Uu;Ku.Button=Gu;function qu(e){return e===void 0||e===!1?[]:Array.isArray(e)?e:[e]}function Ju(e){return qu(e).join(`_`)}var Yu=Z.createContext(void 0),Xu=Yu.Provider,Zu=Z.createContext(void 0),Qu=Zu.Provider,$u=e=>{let{componentCls:t,antCls:n,lineWidth:r,borderRadius:i,borderRadiusLG:a,borderRadiusSM:o,calc:s}=e,c=`${t}-group`,l=`${t}-button-wrapper`,u=`${n}-badge`,d=e=>({[`> ${u}`]:{width:`auto`},[`> ${u} > ${l}`]:{width:`100%`},[`> ${u}:not(:last-child)`]:{marginBlockEnd:s(r).mul(-1).equal()},[`> ${u} > ${l}:not(:last-child)`]:{marginBlockEnd:0},[`> ${u}:first-child > ${l}`]:{borderStartStartRadius:e,borderStartEndRadius:e,borderEndStartRadius:0,borderEndEndRadius:0},[`> ${u}:last-child > ${l}`]:{borderStartStartRadius:0,borderStartEndRadius:0,borderEndStartRadius:e,borderEndEndRadius:e},[`> ${u}:not(:first-child):not(:last-child) > ${l}`]:{borderRadius:0},[`> ${u}:first-child:last-child > ${l}`]:{borderRadius:e}});return{[c]:{...q(e),display:`inline-block`,fontSize:0,[`&${c}-rtl`]:{direction:`rtl`},[`&${c}-block`]:{display:`flex`},[`${n}-badge ${n}-badge-count`]:{zIndex:1},[`> ${n}-badge:not(:first-child) > ${n}-button-wrapper`]:{borderInlineStart:`none`},"&-vertical":{display:`flex`,flexDirection:`column`,rowGap:e.marginXS,[`&:has(> ${l}, > ${u} > ${l})`]:{rowGap:0},[`${t}-wrapper`]:{marginInlineEnd:0},...d(i),[`&${c}-large`]:{...d(a)},[`&${c}-small`]:{...d(o)}}}}},ed=e=>{let{componentCls:t,wrapperMarginInlineEnd:n,colorPrimary:r,colorPrimaryHover:i,radioSize:a,motionDurationSlow:o,motionDurationMid:s,motionEaseInOutCirc:c,colorBgContainer:l,colorBorder:u,lineWidth:d,colorBgContainerDisabled:f,colorTextDisabled:p,paddingXS:m,dotColorDisabled:h,dotSize:g,lineType:_,radioColor:v,radioBgColor:y}=e;return{[`${t}-wrapper`]:{...q(e),display:`inline-flex`,alignItems:`baseline`,marginInlineStart:0,marginInlineEnd:n,cursor:`pointer`,"&:last-child":{marginInlineEnd:0},[`&${t}-wrapper-rtl`]:{direction:`rtl`},"&-disabled":{cursor:`not-allowed`,color:e.colorTextDisabled},"&::after":{display:`inline-block`,width:0,overflow:`hidden`,content:`"\\a0"`},"&-block":{flex:1,justifyContent:`center`},[t]:{...q(e),position:`relative`,whiteSpace:`nowrap`,lineHeight:1,cursor:`pointer`,alignSelf:`center`,boxSizing:`border-box`,display:`block`,width:`calc(${a} * 1px)`,height:`calc(${a} * 1px)`,backgroundColor:l,border:`${Y(d)} ${_} ${u}`,borderRadius:`50%`,transition:`all ${s}`,flex:`none`,"&:after":{content:`""`,position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%) scale(0)`,width:`calc(${g} * 1px)`,height:`calc(${g} * 1px)`,backgroundColor:v,borderRadius:`50%`,transformOrigin:`50% 50%`,opacity:0,transition:`all ${o} ${c}`},[`${t}-input`]:{position:`absolute`,inset:0,zIndex:1,cursor:`pointer`,opacity:0,margin:0},[`&:has(${t}-input:focus-visible)`]:$e(e)},[`&:hover:not(${t}-wrapper-disabled) ${t}`]:{borderColor:r},[`&:hover ${t}-checked:not(${t}-disabled)`]:{backgroundColor:i,borderColor:`transparent`},[`${t}-checked`]:{backgroundColor:y,borderColor:r,"&::after":{transform:`translate(-50%, -50%)`,opacity:1}},[`${t}-disabled`]:{[`&, ${t}-input`]:{cursor:`not-allowed`,pointerEvents:`none`},background:f,borderColor:u,"&::after":{backgroundColor:h}},[`${t}-disabled + span`]:{color:p,cursor:`not-allowed`},[`span${t} + *`]:{paddingInlineStart:m,paddingInlineEnd:m}}}},td=e=>{let{buttonColor:t,controlHeight:n,componentCls:r,lineWidth:i,lineType:a,colorBorder:o,motionDurationMid:s,buttonPaddingInline:c,fontSize:l,buttonBg:u,fontSizeLG:d,controlHeightLG:f,controlHeightSM:p,paddingXS:m,borderRadius:h,borderRadiusSM:g,borderRadiusLG:_,buttonCheckedBg:v,buttonSolidCheckedColor:y,colorTextDisabled:b,colorBgContainerDisabled:x,buttonCheckedBgDisabled:S,buttonCheckedColorDisabled:C,colorPrimary:w,colorPrimaryHover:T,colorPrimaryActive:E,buttonSolidCheckedBg:D,buttonSolidCheckedHoverBg:O,buttonSolidCheckedActiveBg:k,calc:A}=e;return{[`${r}-button-wrapper`]:{position:`relative`,display:`inline-block`,height:n,margin:0,paddingInline:c,paddingBlock:0,color:t,fontSize:l,lineHeight:Y(A(n).sub(A(i).mul(2)).equal()),background:u,border:`${Y(i)} ${a} ${o}`,borderBlockStartWidth:A(i).add(.02).equal(),borderInlineEndWidth:i,cursor:`pointer`,transition:[`color`,`background-color`,`box-shadow`].map(e=>`${e} ${s}`).join(`,`),a:{color:t},[`> ${r}-button`]:{position:`absolute`,insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:`100%`,height:`100%`},"&:not(:last-child)":{marginInlineEnd:A(i).mul(-1).equal()},"&:first-child":{borderInlineStart:`${Y(i)} ${a} ${o}`,borderStartStartRadius:h,borderEndStartRadius:h},"&:last-child":{borderStartEndRadius:h,borderEndEndRadius:h},"&:first-child:last-child":{borderRadius:h},[`${r}-group-large &`]:{height:f,fontSize:d,lineHeight:Y(A(f).sub(A(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:_,borderEndStartRadius:_},"&:last-child":{borderStartEndRadius:_,borderEndEndRadius:_}},[`${r}-group-small &`]:{height:p,paddingInline:A(m).sub(i).equal(),paddingBlock:0,lineHeight:Y(A(p).sub(A(i).mul(2)).equal()),"&:first-child":{borderStartStartRadius:g,borderEndStartRadius:g},"&:last-child":{borderStartEndRadius:g,borderEndEndRadius:g}},[`${r}-group-vertical > &`]:{marginInlineEnd:0,borderRadius:0,"&:not(:last-child)":{marginBlockEnd:A(i).mul(-1).equal()},"&:first-child":{borderStartStartRadius:h,borderStartEndRadius:h,borderEndStartRadius:0,borderEndEndRadius:0},"&:last-child":{borderStartStartRadius:0,borderStartEndRadius:0,borderEndStartRadius:h,borderEndEndRadius:h},"&:first-child:last-child":{borderRadius:h}},[`${r}-group-vertical${r}-group-large > &`]:{"&:first-child":{borderStartStartRadius:_,borderStartEndRadius:_},"&:last-child":{borderEndStartRadius:_,borderEndEndRadius:_},"&:first-child:last-child":{borderRadius:_}},[`${r}-group-vertical${r}-group-small > &`]:{"&:first-child":{borderStartStartRadius:g,borderStartEndRadius:g},"&:last-child":{borderEndStartRadius:g,borderEndEndRadius:g},"&:first-child:last-child":{borderRadius:g}},"&:hover":{position:`relative`,color:w},"&:has(:focus-visible)":$e(e),[`${r}, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:`none`},[`&-checked:not(${r}-button-wrapper-disabled)`]:{zIndex:1,color:w,background:v,borderColor:w,"&::before":{backgroundColor:w},"&:first-child":{borderColor:w},"&:hover":{color:T,borderColor:T,"&::before":{backgroundColor:T}},"&:active":{color:E,borderColor:E,"&::before":{backgroundColor:E}}},[`${r}-group-solid &-checked:not(${r}-button-wrapper-disabled)`]:{color:y,background:D,borderColor:D,"&:hover":{color:y,background:O,borderColor:O},"&:active":{color:y,background:k,borderColor:k}},"&-disabled":{color:b,backgroundColor:x,borderColor:o,cursor:`not-allowed`,"&:first-child, &:hover":{color:b,backgroundColor:x,borderColor:o}},[`&-disabled${r}-button-wrapper-checked`]:{color:C,backgroundColor:S,borderColor:o,boxShadow:`none`},"&-block":{flex:1,textAlign:`center`}}}},nd=we(`Radio`,e=>{let{controlOutline:t,controlOutlineWidth:n}=e,r=`0 0 0 ${Y(n)} ${t}`,i=h(e,{radioFocusShadow:r,radioButtonFocusShadow:r});return[$u(i),ed(i),td(i)]},e=>{let{wireframe:t,padding:n,marginXS:r,lineWidth:i,fontSizeLG:a,colorText:o,colorBgContainer:s,colorTextDisabled:c,controlItemBgActiveDisabled:l,colorTextLightSolid:u,colorPrimary:d,colorPrimaryHover:f,colorPrimaryActive:p,colorWhite:m}=e,h=a;return{radioSize:h,dotSize:t?h-8:h-(4+i)*2,dotColorDisabled:c,buttonSolidCheckedColor:u,buttonSolidCheckedBg:d,buttonSolidCheckedHoverBg:f,buttonSolidCheckedActiveBg:p,buttonBg:s,buttonCheckedBg:s,buttonColor:o,buttonCheckedBgDisabled:l,buttonCheckedColorDisabled:c,buttonPaddingInline:n-i,wrapperMarginInlineEnd:r,radioColor:t?d:m,radioBgColor:t?s:d}},{unitless:{radioSize:!0,dotSize:!0}}),rd=Z.forwardRef((e,t)=>{let n=Z.useContext(Yu),r=Z.useContext(Zu),{getPrefixCls:i,direction:a,className:o,style:s,classNames:c,styles:l}=f(`radio`),u=Ht(t,Z.useRef(null)),{isFormItemInput:d}=Z.useContext(y),p=t=>{e.onChange?.(t),n?.onChange?.(t)},{prefixCls:m,className:h,rootClassName:_,children:v,style:b,title:x,classNames:S,styles:C,checked:w,...T}=e,E=i(`radio`,m),D=(n?.optionType||r)===`button`,k=D?`${E}-button`:E,A=g(E),[j,M]=nd(E,A),N={...T},P=Z.useContext(Xe),F=`checked`in e,I=w;n&&(N.name=n.name,N.onChange=p,I=e.value===n.value,N.disabled=N.disabled??n.disabled),(F||n)&&(N.checked=I),N.disabled=N.disabled??P;let R={...e,...N,checked:I},z=fe(s),B=fe(b),[V,H]=O([c,S],[l,z,C,B],{props:R}),U=L(`${k}-wrapper`,{[`${k}-wrapper-checked`]:I,[`${k}-wrapper-disabled`]:N.disabled,[`${k}-wrapper-rtl`]:a===`rtl`,[`${k}-wrapper-in-form-item`]:d,[`${k}-wrapper-block`]:!!n?.block},o,h,_,V.root,j,M,A),[W,G]=sr(N.onClick);return Z.createElement(Re,{component:`Radio`,disabled:N.disabled},Z.createElement(`label`,{className:U,style:H.root,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,title:x,onClick:W},Z.createElement(nr,{...N,className:L(V.icon,{[Ot]:!D}),style:H.icon,type:`radio`,prefixCls:k,ref:u,onClick:G}),be(v)?Z.createElement(`span`,{className:L(`${k}-label`,V.label),style:H.label},v):null))}),id=Z.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r}=Z.useContext(Gt),{name:i}=Z.useContext(y),a=_(Ju(i)),{prefixCls:s,className:c,rootClassName:l,options:u,buttonStyle:d=`outline`,disabled:f,children:p,size:m,style:h,id:v,optionType:b,name:x=a,defaultValue:S,value:C,block:w=!1,onChange:T,onMouseEnter:E,onMouseLeave:D,onFocus:O,onBlur:k,orientation:A,vertical:j,role:M=`radiogroup`}=e,[N,P]=ee(S,C),I=Z.useCallback(t=>{let n=N,r=t.target.value;`value`in e||P(r),r!==n&&T?.(t)},[N,P,T]),R=n(`radio`,s),z=`${R}-group`,B=g(R),[V,H]=nd(R,B),U=p;u&&u.length>0&&(U=u.map(e=>typeof e==`string`||F(e)?Z.createElement(rd,{key:e.toString(),prefixCls:R,disabled:f,value:e,checked:N===e},e):Z.createElement(rd,{key:`radio-group-value-options-${e.value}`,prefixCls:R,disabled:e.disabled||f,value:e.value,checked:N===e.value,title:e.title,style:e.style,className:e.className,id:e.id,required:e.required},e.label)));let W=o(m),[,G]=xe(A,j),K=L(z,`${z}-${d}`,{[`${z}-large`]:W===`large`,[`${z}-small`]:W===`small`,[`${z}-rtl`]:r===`rtl`,[`${z}-block`]:w},c,l,V,H,B),te=Z.useMemo(()=>({onChange:I,value:N,disabled:f,name:x,optionType:b,block:w}),[I,N,f,x,b,w]);return Z.createElement(`div`,{...Ee(e,{aria:!0,data:!0}),role:M,className:L(K,{[`${R}-group-vertical`]:G}),style:h,onMouseEnter:E,onMouseLeave:D,onFocus:O,onBlur:k,id:v,ref:t},Z.createElement(Xu,{value:te},U))}),ad=Z.memo(id),od=Z.forwardRef((e,t)=>{let{getPrefixCls:n}=Z.useContext(Gt),{prefixCls:r,...i}=e,a=n(`radio`,r);return Z.createElement(Qu,{value:`button`},Z.createElement(rd,{prefixCls:a,...i,type:`radio`,ref:t}))}),sd=rd;sd.Button=od,sd.Group=ad,sd.__ANT_RADIO=!0;var cd={},ld=`SELECT_ALL`,ud=`SELECT_INVERT`,dd=`SELECT_NONE`,fd=[],pd=(e,t,n=[])=>((t||[]).forEach(t=>{n.push(t),yt(t)&&e in t&&pd(e,t[e],n)}),n),md=(e,t)=>{let{preserveSelectedRowKeys:n,selectedRowKeys:r,defaultSelectedRowKeys:i,getCheckboxProps:a,getTitleCheckboxProps:o,onChange:s,onSelect:c,onSelectAll:l,onSelectInvert:u,onSelectNone:d,onSelectMultiple:f,columnWidth:p,type:m,selections:h,fixed:g,renderCell:_,hideSelectAll:v,checkStrictly:y=!0}=t||{},{prefixCls:b,data:x,pageData:S,getRecordByKey:C,getRowKey:w,expandType:T,childrenColumnName:E,locale:D,getPopupContainer:O}=e,k=me(`Table`),[A,j]=kn(e=>e),[M,N]=ee(i||fd,r),P=M??fd,F=Z.useRef(new Map),I=(0,Z.useCallback)(e=>{if(n){let t=new Map;e.forEach(e=>{let n=C(e);!n&&F.current.has(e)&&(n=F.current.get(e)),t.set(e,n)}),F.current=t}},[C,n]);Z.useEffect(()=>{I(P)},[P,I]);let R=(0,Z.useMemo)(()=>pd(E,S),[E,S]),{keyEntities:z}=(0,Z.useMemo)(()=>{if(y)return{keyEntities:null};let e=x;if(n){let t=new Set(R.map(w)),n=Array.from(F.current).reduce((e,[n,r])=>t.has(n)?e:e.concat(r),[]);e=[].concat(X(e),X(n))}return nc(e,{externalGetKey:w,childrenPropName:E})},[x,w,y,E,n,R]),B=(0,Z.useMemo)(()=>{let e=new Map;return R.forEach((t,n)=>{let r=w(t,n),i=(a?a(t):null)||{};e.set(r,i)}),e},[R,w,a]),V=(0,Z.useCallback)(e=>{let t=w(e),n;return n=B.has(t)?B.get(w(e)):a?a(e):void 0,!!n?.disabled},[B,w]),[H,U]=(0,Z.useMemo)(()=>{if(y)return[P,[]];let{checkedKeys:e,halfCheckedKeys:t}=Rc(P,!0,z,V);return[e||[],t]},[P,y,z,V]),W=(0,Z.useMemo)(()=>{let e=m===`radio`?H.slice(0,1):H;return new Set(e)},[H,m]),G=(0,Z.useMemo)(()=>m===`radio`?new Set:new Set(U),[U,m]);Z.useEffect(()=>{t||N(fd)},[!!t]);let K=(0,Z.useCallback)((e,t)=>{let r,i;I(e),n?(r=e,i=e.map(e=>F.current.get(e))):(r=[],i=[],e.forEach(e=>{let t=C(e);t!==void 0&&(r.push(e),i.push(t))})),N(r),s?.(r,i,{type:t})},[N,C,s,n]),te=(0,Z.useCallback)((e,t,n,r)=>{if(c){let i=n.map(C);c(C(e),t,i,r)}K(n,`single`)},[c,C,K]),ne=(0,Z.useMemo)(()=>!h||v?null:(h===!0?[ld,ud,dd]:h).map(e=>{let t;return t=e===`SELECT_ALL`?{key:`all`,text:D.selectionAll,onSelect(){K(x.reduce((e,t,n)=>{let r=w(t,n);return(!B.get(r)?.disabled||W.has(r))&&e.push(r),e},[]),`all`)}}:e===`SELECT_INVERT`?{key:`invert`,text:D.selectInvert,onSelect(){let e=new Set(W);S.forEach((t,n)=>{let r=w(t,n);B.get(r)?.disabled||(e.has(r)?e.delete(r):e.add(r))});let t=Array.from(e);u&&(k.deprecated(!1,`onSelectInvert`,`onChange`),u(t)),K(t,`invert`)}}:e===`SELECT_NONE`?{key:`none`,text:D.selectNone,onSelect(){d?.(),K(Array.from(W).filter(e=>B.get(e)?.disabled),`none`)}}:e,{...t,onSelect:e=>{t.onSelect?.(e),j(null)}}}),[h,v,D.selectionAll,D.selectInvert,D.selectNone,B,W,x,S,w,u,K]);return[(0,Z.useCallback)(e=>{if(!t)return e.filter(e=>e!==cd);let n=X(e),r=new Set(W),i=R.reduce((e,t,n)=>{let r=w(t,n);return B.get(r).disabled||e.push(r),e},[]),a=i.every(e=>r.has(e)),s=i.some(e=>r.has(e)),c=()=>{let e=[];a?i.forEach(t=>{r.delete(t),e.push(t)}):i.forEach(t=>{r.has(t)||(r.add(t),e.push(t))});let t=Array.from(r);l?.(!a,t.map(C),e.map(C)),K(t,`all`),j(null)},u,d;if(m!==`radio`){let e;if(ne){let t={getPopupContainer:O,items:ne.map((e,t)=>{let{key:n,text:r,onSelect:a}=e;return{key:n??t,onClick:()=>{a?.(i)},label:r}})};e=Z.createElement(`div`,{className:`${b}-selection-extra`},Z.createElement(Ku,{menu:t,getPopupContainer:O},Z.createElement(`span`,null,Z.createElement(Je,null))))}let t=R.reduce((e,t,n)=>{let i=w(t,n),a=B.get(i)||{},o={checked:r.has(i),...a};return o.disabled&&e.push(o),e},[]),n=!!t.length&&t.length===R.length,l=n&&t.every(({checked:e})=>e),f=n&&t.some(({checked:e})=>e),p=o?.()||{},{onChange:m,disabled:h}=p;d=Z.createElement(ur,{"aria-label":e?`Custom selection`:`Select all`,...p,checked:n?l:!!R.length&&a,indeterminate:n?!l&&f:!a&&s,onChange:e=>{c(),m?.(e)},disabled:h??(R.length===0||n),skipGroup:!0}),u=!v&&Z.createElement(`div`,{className:`${b}-selection`},d,e)}let x;x=m===`radio`?(e,t,n)=>{let i=w(t,n),a=r.has(i),o=B.get(i),s=`Select row ${n+1}`;return{node:Z.createElement(sd,{"aria-label":s,...o,checked:a,onClick:e=>{e.stopPropagation(),o?.onClick?.(e)},onChange:e=>{r.has(i)||te(i,!0,[i],e.nativeEvent),o?.onChange?.(e)}}),checked:a}}:(e,t,n)=>{let a=w(t,n),o=r.has(a),s=G.has(a),c=B.get(a),l;l=T===`nest`?s:c?.indeterminate??s;let u=o?`Row ${n+1} selected`:`Select row ${n+1}`;return{node:Z.createElement(ur,{"aria-label":u,...c,indeterminate:l,checked:o,skipGroup:!0,onClick:e=>{e.stopPropagation(),c?.onClick?.(e)},onChange:e=>{let{nativeEvent:t}=e,{shiftKey:n}=t,s=i.indexOf(a),l=W.size>0&&i.some(e=>W.has(e));if(n&&y&&l){let e=A(s,i,r),t=Array.from(r);f?.(!o,t.map(C),e.map(C)),K(t,`multiple`)}else{let e=H;if(y){let n=o?wc(e,a):Tc(e,a);te(a,!o,n,t)}else{let{checkedKeys:n,halfCheckedKeys:r}=Rc([].concat(X(e),[a]),!0,z,V),i=n;if(o){let e=new Set(n);e.delete(a),i=Rc(Array.from(e),{checked:!1,halfCheckedKeys:r},z,V).checkedKeys}te(a,!o,i,t)}}j(o?null:s),c?.onChange?.(e)}}),checked:o}};let S=(e,t,n)=>{let{node:r,checked:i}=x(e,t,n);return _?_(i,t,n,r):r};if(!n.includes(cd))if(n.findIndex(e=>e.RC_TABLE_INTERNAL_COL_DEFINE?.columnType===`EXPAND_COLUMN`)===0){let[e,...t]=n;n=[e,cd].concat(X(t))}else n=[cd].concat(X(n));let E=n.indexOf(cd);n=n.filter((e,t)=>e!==cd||t===E);let D=n[E-1],k=n[E+1],M=g;M===void 0&&(k?.fixed===void 0?D?.fixed!==void 0&&(M=D.fixed):M=k.fixed),M&&D&&D.RC_TABLE_INTERNAL_COL_DEFINE?.columnType===`EXPAND_COLUMN`&&D.fixed===void 0&&(D.fixed=M);let N=L(`${b}-selection-col`,{[`${b}-selection-col-with-dropdown`]:h&&m===`checkbox`}),P={fixed:M,width:p,className:`${b}-selection-column`,title:t?.columnTitle?ge(t.columnTitle)?t.columnTitle(d):t.columnTitle:u,render:S,onCell:t.onCell,align:t.align,[Uo]:{className:N}};return n.map(e=>e===cd?P:e)},[w,R,t,H,W,G,p,ne,T,B,f,te,V]),W]};function hd(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}var gd=e=>E(e)&&e===e.window,_d=e=>{if(typeof window>`u`)return 0;let t=0;return gd(e)?t=e.pageYOffset:e instanceof Document?t=e.documentElement.scrollTop:(e instanceof HTMLElement||e)&&(t=e.scrollTop),e&&!gd(e)&&!F(t)&&(t=(e.ownerDocument??e).documentElement?.scrollTop),t};function vd(e,t={}){let{getContainer:n=()=>window,callback:r,duration:i=450}=t,a=n(),o=_d(a),s=Date.now(),c,l=()=>{let t=Date.now()-s,n=hd(t>i?i:t,o,e,i);gd(a)?a.scrollTo(window.pageXOffset,n):a instanceof Document||a.constructor.name===`HTMLDocument`?a.documentElement.scrollTop=n:a.scrollTop=n,t{Ye.cancel(c)}}var yd=[`xxxl`,`xxl`,`xl`,`lg`,`md`,`sm`,`xs`];[].concat(yd).reverse();var bd=e=>({xs:`(max-width: ${e.screenXSMax}px)`,sm:`(min-width: ${e.screenSM}px)`,md:`(min-width: ${e.screenMD}px)`,lg:`(min-width: ${e.screenLG}px)`,xl:`(min-width: ${e.screenXL}px)`,xxl:`(min-width: ${e.screenXXL}px)`,xxxl:`(min-width: ${e.screenXXXL}px)`}),xd=e=>{let t=e,n=[].concat(yd).reverse();return n.forEach((e,r)=>{let i=e.toUpperCase(),a=`screen${i}Min`,o=`screen${i}`;if(!(t[a]<=t[o]))throw Error(`${a}<=${o} fails : !(${t[a]}<=${t[o]})`);if(r{let[,e]=Ut(),t=bd(xd(e));return Z.useMemo(()=>{let e=new Map,n=-1,r={};return{responsiveMap:t,matchHandlers:{},dispatch(t){return r=t,e.forEach(e=>{e(r)}),e.size>=1},subscribe(t){return e.size||this.register(),n+=1,e.set(n,t),t(r),n},unsubscribe(t){e.delete(t),e.size||this.unregister()},register(){Object.entries(t).forEach(([e,t])=>{let n=({matches:t})=>{this.dispatch({...r,[e]:t})},i=window.matchMedia(t);ge(i.addEventListener)&&i.addEventListener(`change`,n),this.matchHandlers[t]={mql:i,listener:n},n(i)})},unregister(){Object.values(t).forEach(e=>{let t=this.matchHandlers[e];ge(t?.mql.removeEventListener)&&t.mql.removeEventListener(`change`,t?.listener)}),e.clear()}}},[t])};function Cd(e=!0,t={}){let n=(0,Z.useRef)(t),[,r]=En(),i=Sd();return l(()=>{let t=i.subscribe(t=>{n.current=t,e&&r()});return()=>i.unsubscribe(t)},[]),n.current}var wd=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z`}}]},name:`double-left`,theme:`outlined`}}))());function Td(){return Td=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Td({},e,{ref:t,icon:wd.default}))),Dd=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z`}}]},name:`double-right`,theme:`outlined`}}))());function Od(){return Od=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Od({},e,{ref:t,icon:Dd.default}))),Ad={items_per_page:`条/页`,jump_to:`跳至`,jump_to_confirm:`确定`,page:`页`,prev_page:`上一页`,next_page:`下一页`,prev_5:`向前 5 页`,next_5:`向后 5 页`,prev_3:`向前 3 页`,next_3:`向后 3 页`,page_size:`页码`},jd=[10,20,50,100],Md=e=>{let{pageSizeOptions:t=jd,locale:n,changeSize:r,pageSize:i,goButton:a,quickGo:o,rootPrefixCls:s,disabled:c,buildOptionText:l,showSizeChanger:u,sizeChangerRender:d}=e,[f,p]=Z.useState(``),m=Z.useMemo(()=>!f||Number.isNaN(f)?void 0:Number(f),[f]),h=typeof l==`function`?l:e=>`${e} ${n.items_per_page}`,g=e=>{let t=e.target.value;/^\d*$/.test(t)&&p(t)},_=e=>{a||f===``||(p(``),!(e.relatedTarget&&(e.relatedTarget.className.includes(`${s}-item-link`)||e.relatedTarget.className.includes(`${s}-item`)))&&o?.(m))},v=e=>{f!==``&&(e.keyCode===Be.ENTER||e.type===`click`)&&(p(``),o?.(m))},y=()=>t.some(e=>e.toString()===i.toString())?t:t.concat([i]).sort((e,t)=>(Number.isNaN(Number(e))?0:Number(e))-(Number.isNaN(Number(t))?0:Number(t))),b=`${s}-options`;if(!u&&!o)return null;let x=null,S=null,C=null;return u&&d&&(x=d({disabled:c,size:i,onSizeChange:e=>{r?.(Number(e))},"aria-label":n.page_size,className:`${b}-size-changer`,options:y().map(e=>({label:h(e),value:e}))})),o&&(a&&(C=typeof a==`boolean`?Z.createElement(`button`,{type:`button`,onClick:v,onKeyUp:v,disabled:c,className:`${b}-quick-jumper-button`},n.jump_to_confirm):Z.createElement(`span`,{onClick:v,onKeyUp:v},a)),S=Z.createElement(`div`,{className:`${b}-quick-jumper`},n.jump_to,Z.createElement(`input`,{disabled:c,type:`text`,value:f,onChange:g,onKeyUp:v,onBlur:_,"aria-label":n.page}),n.page,C)),Z.createElement(`li`,{className:b},x,S)},Nd=e=>{let{rootPrefixCls:t,page:n,active:r,className:i,style:a,showTitle:o,onClick:s,onKeyPress:c,itemRender:l}=e,u=`${t}-item`,d=L(u,`${u}-${n}`,{[`${u}-active`]:r,[`${u}-disabled`]:!n},i),f=()=>{s(n)},p=e=>{c(e,s,n)},m=l(n,`page`,Z.createElement(`a`,{rel:`nofollow`},n));return m?Z.createElement(`li`,{title:o?String(n):null,className:d,style:a,onClick:f,onKeyDown:p,tabIndex:0},m):null};function Pd(){return Pd=Object.assign?Object.assign.bind():function(e){for(var t=1;tn;function Id(){}function Ld(e){let t=Number(e);return typeof t==`number`&&!Number.isNaN(t)&&isFinite(t)&&Math.floor(t)===t}function Rd(e,t,n){let r=e===void 0?t:e;return Math.floor((n-1)/r)+1}var zd=e=>{let{prefixCls:t=`rc-pagination`,selectPrefixCls:n=`rc-select`,className:r,classNames:i,styles:a,current:o,defaultCurrent:s=1,total:c=0,pageSize:l,defaultPageSize:u=10,onChange:d=Id,hideOnSinglePage:f,align:p,showPrevNextJumpers:m=!0,showQuickJumper:h,showLessItems:g,showTitle:_=!0,onShowSizeChange:v=Id,locale:y=Ad,style:b,totalBoundaryShowSizeChanger:x=50,disabled:S,simple:C,showTotal:w,showSizeChanger:T=c>x,sizeChangerRender:E,pageSizeOptions:D,itemRender:O=Fd,jumpPrevIcon:k,jumpNextIcon:A,prevIcon:j,nextIcon:M}=e,N=Z.useRef(null),[P,F]=ee(u,l),[I,R]=ee(s,o),z=Math.max(1,Math.min(I,Rd(void 0,P,c))),[B,V]=Z.useState(z);(0,Z.useEffect)(()=>{V(z)},[z]),`current`in e;let H=Math.max(1,z-(g?3:5)),U=Math.min(Rd(void 0,P,c),z+(g?3:5));function W(n,r){let i=n||Z.createElement(`button`,{type:`button`,"aria-label":r,className:`${t}-item-link`});return typeof n==`function`&&(i=Z.createElement(n,e)),i}function G(e){let t=e.target.value,n=Rd(void 0,P,c),r;return r=t===``?t:Number.isNaN(Number(t))?B:t>=n?n:Number(t),r}function K(e){return Ld(e)&&e!==z&&Ld(c)&&c>0}let te=c>P?h:!1;function ne(e){(e.keyCode===Be.UP||e.keyCode===Be.DOWN)&&e.preventDefault()}function q(e){let t=G(e);switch(t!==B&&V(t),e.keyCode){case Be.ENTER:ie(t);break;case Be.UP:ie(t-1);break;case Be.DOWN:ie(t+1);break;default:break}}function J(e){ie(G(e))}function re(e){let t=Rd(e,P,c),n=z>t&&t!==0?t:z;F(e),V(n),v?.(z,e),R(n),d?.(n,e)}function ie(e){if(K(e)&&!S){let t=Rd(void 0,P,c),n=e;return e>t?n=t:e<1&&(n=1),n!==B&&V(n),R(n),d?.(n,P),n}return z}let Y=z>1,ae=zc?c:z*P])),xe=null,X=Rd(void 0,P,c);if(f&&c<=P)return null;let Se=[],Ce={rootPrefixCls:t,onClick:ie,onKeyPress:ue,showTitle:_,itemRender:O,page:-1,className:i?.item,style:a?.item},we=z-1>0?z-1:0,Te=z+1=je*2&&z!==3,c=!!xe&&X-z>=je*2&&z!==X-2;!g&&s&&o!==X&&(a+=1),!g&&c&&a!==1&&--o;for(let e=a;e<=o;e+=1)Se.push(Z.createElement(Nd,Pd({},Ce,{key:e,page:e,active:z===e})));if(s&&(Se[0]=Z.cloneElement(Se[0],{className:L(`${t}-item-after-jump-prev`,Se[0].props.className)}),Se.unshift(ve)),c){let e=Se[Se.length-1];Se[Se.length-1]=Z.cloneElement(e,{className:L(`${t}-item-before-jump-next`,e.props.className)}),Se.push(xe)}a!==1&&Se.unshift(Z.createElement(Nd,Pd({},Ce,{key:1,page:1}))),o!==X&&Se.push(Z.createElement(Nd,Pd({},Ce,{key:X,page:X})))}let Me=he(we);if(Me){let e=!Y||!X;Me=Z.createElement(`li`,{title:_?y.prev_page:null,onClick:oe,tabIndex:e?null:0,onKeyDown:de,className:L(`${t}-prev`,i?.item,{[`${t}-disabled`]:e}),style:a?.item,"aria-disabled":e},Me)}let Ne=ge(Te);if(Ne){let e,n;C?(e=!ae,n=Y?0:null):(e=!ae||!X,n=e?null:0),Ne=Z.createElement(`li`,{title:_?y.next_page:null,onClick:se,tabIndex:n,onKeyDown:fe,className:L(`${t}-next`,i?.item,{[`${t}-disabled`]:e}),style:a?.item,"aria-disabled":e},Ne)}let Pe=L(t,r,{[`${t}-start`]:p===`start`,[`${t}-center`]:p===`center`,[`${t}-end`]:p===`end`,[`${t}-simple`]:C,[`${t}-disabled`]:S});return Z.createElement(`ul`,Pd({className:Pe,style:b,ref:N},ye),be,Me,C?Ae:Se,Ne,Z.createElement(Md,{locale:y,rootPrefixCls:t,disabled:S,selectPrefixCls:n,changeSize:re,pageSize:P,pageSizeOptions:D,quickGo:te?ie:null,goButton:ke,showSizeChanger:T,sizeChangerRender:E}))},Bd=e=>{let{componentCls:t}=e;return{[`${t}-disabled`]:{"&, &:hover":{cursor:`not-allowed`,[`${t}-item-link`]:{color:e.colorTextDisabled,cursor:`not-allowed`}},"&:focus-visible":{cursor:`not-allowed`,[`${t}-item-link`]:{color:e.colorTextDisabled,cursor:`not-allowed`}}},[`&${t}-disabled`]:{cursor:`not-allowed`,[`${t}-item`]:{cursor:`not-allowed`,backgroundColor:`transparent`,"&:hover, &:active":{backgroundColor:`transparent`},a:{color:e.colorTextDisabled,backgroundColor:`transparent`,border:`none`,cursor:`not-allowed`},"&-active":{borderColor:e.colorBorder,backgroundColor:e.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:e.itemActiveBgDisabled},a:{color:e.itemActiveColorDisabled}}},[`${t}-item-link`]:{color:e.colorTextDisabled,cursor:`not-allowed`,"&:hover, &:active":{backgroundColor:`transparent`},[`${t}-simple&`]:{backgroundColor:`transparent`,"&:hover, &:active":{backgroundColor:`transparent`}}},[`${t}-simple-pager`]:{color:e.colorTextDisabled},[`${t}-jump-prev, ${t}-jump-next`]:{[`${t}-item-link-icon`]:{opacity:0},[`${t}-item-ellipsis`]:{opacity:1}}}}},Vd=e=>{let{componentCls:t}=e;return{[`&${t}-small ${t}-options`]:{marginInlineStart:e.paginationMiniOptionsMarginInlineStart,"&-quick-jumper":{input:{...Oe(e),width:e.paginationMiniQuickJumperInputWidth}}}}},Hd=e=>{let{componentCls:t}=e;return{[`&${t}-large ${t}-options`]:{"&-quick-jumper":{input:{...Vt(e)}}}}},Ud=e=>{let{componentCls:t,antCls:n}=e,[,r]=We(n,`pagination`);return{[`&${t}-simple`]:{[`${t}-prev, ${t}-next`]:{height:r(`item-size-actual`),lineHeight:r(`item-size-actual`),verticalAlign:`top`,[`${t}-item-link`]:{height:r(`item-size-actual`),backgroundColor:`transparent`,border:0,"&:hover":{backgroundColor:e.colorBgTextHover},"&:active":{backgroundColor:e.colorBgTextActive},"&::after":{height:r(`item-size-actual`),lineHeight:r(`item-size-actual`)}}},[`${t}-simple-pager`]:{display:`inline-flex`,alignItems:`center`,height:r(`item-size-actual`),marginInlineEnd:r(`item-spacing-actual`),input:{boxSizing:`border-box`,height:`100%`,width:e.quickJumperInputWidth,padding:`0 ${Y(e.paginationItemPaddingInline)}`,textAlign:`center`,backgroundColor:e.itemInputBg,border:`${Y(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadius,outline:`none`,transition:`border-color ${e.motionDurationMid}`,color:`inherit`,"&:hover":{borderColor:e.colorPrimary},"&:focus":{borderColor:e.colorPrimaryHover,boxShadow:`${Y(e.inputOutlineOffset)} 0 ${Y(e.controlOutlineWidth)} ${e.controlOutline}`},"&[disabled]":{color:e.colorTextDisabled,backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorder,cursor:`not-allowed`}}},[`&${t}-disabled`]:{[`${t}-prev, ${t}-next`]:{[`${t}-item-link`]:{"&:hover, &:active":{backgroundColor:`transparent`}}}},[`&${t}-small`]:{[`${t}-simple-pager`]:{input:{width:e.paginationMiniQuickJumperInputWidth}}}}}},Wd=e=>{let{componentCls:t}=e,n=`${t}-options-quick-jumper input, ${t}-simple-pager input`;return{[`&${t}-filled`]:{[n]:{background:e.colorFillTertiary,borderColor:`transparent`,"&:hover":{background:e.colorFillSecondary},"&:focus":{borderColor:e.activeBorderColor,outline:0,backgroundColor:e.activeBg},"&[disabled]":{...ae(e)}}},[`&${t}-borderless`]:{[n]:{background:`transparent`,border:`none`,"&:focus":{outline:`none`,boxShadow:`none`},"&[disabled]":{color:e.colorTextDisabled,cursor:`not-allowed`}}},[`&${t}-underlined`]:{[n]:{background:e.colorBgContainer,borderWidth:`${Y(e.lineWidth)} 0`,borderStyle:`${e.lineType} none`,borderColor:`transparent transparent ${e.colorBorder} transparent`,borderRadius:0,"&:hover":{borderColor:`transparent transparent ${e.hoverBorderColor} transparent`,backgroundColor:e.hoverBg},"&:focus":{borderColor:`transparent transparent ${e.activeBorderColor} transparent`,outline:0,backgroundColor:e.activeBg},"&[disabled]":{color:e.colorTextDisabled,boxShadow:`none`,cursor:`not-allowed`}}}}},Gd=e=>{let{componentCls:t,iconCls:n,sizeLG:r,antCls:i}=e,[,a]=We(i,`pagination`);return{[`${t}-jump-prev, ${t}-jump-next`]:{outline:0,[`${t}-item-container`]:{position:`relative`,[`${t}-item-link-icon`]:{color:e.colorPrimary,fontSize:e.fontSizeSM,opacity:0,transition:`all ${e.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:`auto`}},[`${t}-item-ellipsis`]:{position:`absolute`,inset:0,display:`inline-flex`,justifyContent:`center`,alignItems:`center`,margin:`auto`,color:e.colorTextDisabled,textAlign:`center`,opacity:1,transition:`all ${e.motionDurationMid}`,[`${n}-ellipsis > svg`]:{width:r,height:r}}},"&:hover":{[`${t}-item-link-icon`]:{opacity:1},[`${t}-item-ellipsis`]:{opacity:0}}},[` + ${t}-prev, + ${t}-jump-prev, + ${t}-jump-next + `]:{marginInlineEnd:a(`item-spacing-actual`)},[` + ${t}-prev, + ${t}-next, + ${t}-jump-prev, + ${t}-jump-next + `]:{display:`inline-block`,minWidth:a(`item-size-actual`),height:a(`item-size-actual`),color:e.colorText,fontFamily:e.fontFamily,lineHeight:a(`item-size-actual`),textAlign:`center`,verticalAlign:`middle`,listStyle:`none`,borderRadius:e.borderRadius,cursor:`pointer`,transition:`all ${e.motionDurationMid}`},[`${t}-prev, ${t}-next`]:{outline:0,button:{color:e.colorText,cursor:`pointer`,userSelect:`none`},[`${t}-item-link`]:{display:`block`,width:`100%`,height:`100%`,padding:0,fontSize:e.fontSizeSM,textAlign:`center`,backgroundColor:`transparent`,border:`${Y(e.lineWidth)} ${e.lineType} transparent`,borderRadius:e.borderRadius,outline:`none`,transition:`all ${e.motionDurationMid}`},[`&:hover ${t}-item-link`]:{backgroundColor:e.colorBgTextHover},[`&:active ${t}-item-link`]:{backgroundColor:e.colorBgTextActive},[`&${t}-disabled:hover`]:{[`${t}-item-link`]:{backgroundColor:`transparent`}}},[`${t}-slash`]:{marginInlineEnd:e.paginationSlashMarginInlineEnd,marginInlineStart:e.paginationSlashMarginInlineStart},[`${t}-options`]:{display:`inline-block`,marginInlineStart:e.margin,verticalAlign:`middle`,"&-size-changer":{width:`auto`},"&-quick-jumper":{display:`inline-block`,height:a(`item-size-actual`),marginInlineStart:e.marginXS,lineHeight:a(`item-size-actual`),verticalAlign:`baseline`,input:{...Mt(e),...Rt(e,{borderColor:e.colorBorder,hoverBorderColor:e.colorPrimaryHover,activeBorderColor:e.colorPrimary,activeShadow:e.activeShadow}),"&[disabled]":{...ae(e)},width:e.quickJumperInputWidth,height:a(`item-size-actual`),boxSizing:`border-box`,margin:0,marginInlineStart:a(`item-spacing-actual`),marginInlineEnd:a(`item-spacing-actual`)}}}}},Kd=e=>{let{componentCls:t,antCls:n}=e,[,r]=We(n,`pagination`);return{[`${t}-item`]:{display:`inline-block`,minWidth:r(`item-size-actual`),height:r(`item-size-actual`),marginInlineEnd:r(`item-spacing-actual`),fontFamily:e.fontFamily,lineHeight:Y(e.calc(r(`item-size-actual`)).sub(2).equal()),textAlign:`center`,verticalAlign:`middle`,listStyle:`none`,backgroundColor:e.itemBg,border:`${Y(e.lineWidth)} ${e.lineType} transparent`,borderRadius:e.borderRadius,outline:0,cursor:`pointer`,userSelect:`none`,a:{display:`block`,padding:`0 ${Y(e.paginationItemPaddingInline)}`,color:e.colorText,"&:hover":{textDecoration:`none`}},[`&:not(${t}-item-active)`]:{"&:hover":{transition:`all ${e.motionDurationMid}`,backgroundColor:e.colorBgTextHover},"&:active":{backgroundColor:e.colorBgTextActive}},"&-active":{fontWeight:e.fontWeightStrong,backgroundColor:e.itemActiveBg,borderColor:e.colorPrimary,a:{color:e.itemActiveColor},"&:hover":{borderColor:e.colorPrimaryHover},"&:hover a":{color:e.itemActiveColorHover}}}}},qd=e=>{let{componentCls:t,antCls:n}=e,[r,i]=We(n,`pagination`);return{[t]:{[r(`item-size-actual`)]:Y(e.itemSize),[r(`item-spacing-actual`)]:Y(e.marginXS),"&-small":{[r(`item-size-actual`)]:Y(e.itemSizeSM),[r(`item-spacing-actual`)]:Y(e.marginXXS)},"&-large":{[r(`item-size-actual`)]:Y(e.itemSizeLG),[r(`item-spacing-actual`)]:Y(e.marginSM)},...q(e),display:`flex`,alignItems:`center`,"&-start":{justifyContent:`start`},"&-center":{justifyContent:`center`},"&-end":{justifyContent:`end`},"ul, ol":{margin:0,padding:0,listStyle:`none`},"&::after":{display:`block`,clear:`both`,height:0,overflow:`hidden`,visibility:`hidden`,content:`""`},[`${t}-total-text`]:{display:`inline-block`,height:i(`item-size-actual`),marginInlineEnd:i(`item-spacing-actual`),lineHeight:Y(e.calc(i(`item-size-actual`)).sub(2).equal()),verticalAlign:`middle`},...Kd(e),...Gd(e),...Ud(e),...Wd(e),...Vd(e),...Hd(e),...Bd(e),[`@media only screen and (max-width: ${e.screenLG}px)`]:{[`${t}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:`none`}}},[`@media only screen and (max-width: ${e.screenSM}px)`]:{[`${t}-options`]:{display:`none`}}},[`&${e.componentCls}-rtl`]:{direction:`rtl`}}},Jd=e=>{let{componentCls:t}=e;return{[`${t}:not(${t}-disabled)`]:{[`${t}-item`]:{...V(e)},[`${t}-jump-prev, ${t}-jump-next`]:{"&:focus-visible":{[`${t}-item-link-icon`]:{opacity:1},[`${t}-item-ellipsis`]:{opacity:0},...$e(e)}},[`${t}-prev, ${t}-next`]:{[`&:focus-visible ${t}-item-link`]:$e(e)}}}},Yd=e=>({itemBg:e.colorBgContainer,itemSize:e.controlHeight,itemSizeSM:e.controlHeightSM,itemSizeLG:e.controlHeightLG,itemActiveBg:e.colorBgContainer,itemActiveColor:e.colorPrimary,itemActiveColorHover:e.colorPrimaryHover,itemLinkBg:e.colorBgContainer,itemActiveColorDisabled:e.colorTextDisabled,itemActiveBgDisabled:e.controlItemBgActiveDisabled,itemInputBg:e.colorBgContainer,miniOptionsSizeChangerTop:0,...p(e)}),Xd=e=>h(e,{inputOutlineOffset:0,quickJumperInputWidth:e.calc(e.controlHeightLG).mul(1.25).equal(),paginationMiniOptionsMarginInlineStart:e.calc(e.marginXXS).div(2).equal(),paginationMiniQuickJumperInputWidth:e.calc(e.controlHeightLG).mul(1.1).equal(),paginationItemPaddingInline:e.calc(e.marginXXS).mul(1.5).equal(),paginationEllipsisLetterSpacing:e.calc(e.marginXXS).div(2).equal(),paginationSlashMarginInlineStart:e.marginSM,paginationSlashMarginInlineEnd:e.marginSM,paginationEllipsisTextIndent:`0.13em`},Ft(e)),Zd=we(`Pagination`,e=>{let t=Xd(e);return[qd(t),Jd(t)]},Yd),Qd=e=>{let{componentCls:t}=e;return{[`${t}${t}-bordered${t}-disabled`]:{"&, &:hover":{[`${t}-item-link`]:{borderColor:e.colorBorder}},"&:focus-visible":{[`${t}-item-link`]:{borderColor:e.colorBorder}},[`${t}-item, ${t}-item-link`]:{backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorder,[`&:hover:not(${t}-item-active)`]:{backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorder,a:{color:e.colorTextDisabled}},[`&${t}-item-active`]:{backgroundColor:e.itemActiveBgDisabled}},[`${t}-prev, ${t}-next`]:{"&:hover button":{backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorder,color:e.colorTextDisabled},[`${t}-item-link`]:{backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorder}}},[`${t}${t}-bordered`]:{[`${t}-prev, ${t}-next`]:{"&:hover button":{borderColor:e.colorPrimaryHover,backgroundColor:e.itemBg},[`${t}-item-link`]:{backgroundColor:e.itemLinkBg,borderColor:e.colorBorder},[`&:hover ${t}-item-link`]:{borderColor:e.colorPrimary,backgroundColor:e.itemBg,color:e.colorPrimary},[`&${t}-disabled`]:{[`${t}-item-link`]:{borderColor:e.colorBorder,color:e.colorTextDisabled}}},[`${t}-item`]:{backgroundColor:e.itemBg,border:`${Y(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,[`&:hover:not(${t}-item-active)`]:{borderColor:e.colorPrimary,backgroundColor:e.itemBg,a:{color:e.colorPrimary}},"&-active":{borderColor:e.colorPrimary}}}}},$d=Pt([`Pagination`,`bordered`],e=>Qd(Xd(e)),Yd);function ef(e){return(0,Z.useMemo)(()=>typeof e==`boolean`?[e,{}]:yt(e)?[!0,e]:[void 0,void 0],[e])}var tf=e=>{let{align:t,prefixCls:n,selectPrefixCls:r,className:i,rootClassName:a,style:s,size:c,locale:l,responsive:u,showSizeChanger:d,selectComponentClass:p,pageSizeOptions:m,styles:h,classNames:g,..._}=e,{xs:v}=Cd(u),[,y]=Ut(),{getPrefixCls:b,direction:x,showSizeChanger:S,className:C,style:w,classNames:T,styles:E,totalBoundaryShowSizeChanger:D}=f(`pagination`),k=b(`pagination`,n),[A,j]=Zd(k),M=o(c),N=M===`small`||!!(v&&!M&&u),[P,F]=He(`input`),I={...e,size:M},R=fe(w),z=fe(s),[B,V]=O([T,g],[E,R,h,z],{props:I}),[H]=Ve(`Pagination`,qe),U={...H,...l},[W,G]=ef(d),[ee,K]=ef(S),te=W??ee,ne=G??K,q=p||bt,J=Z.useMemo(()=>m?m.map(Number):void 0,[m]),re=e=>{let{disabled:t,size:n,onSizeChange:r,"aria-label":i,className:a,options:o}=e,{className:s,onChange:c}=ne||{},l=o.find(e=>String(e.value)===String(n))?.value;return Z.createElement(q,{disabled:t,showSearch:!0,popupMatchSelectWidth:!1,getPopupContainer:e=>e.parentNode,"aria-label":i,options:o,...ne,value:l,onChange:(e,t)=>{r?.(e),c?.(e,t)},size:M,className:L(a,s)})},ie=Z.useMemo(()=>{let e=Z.createElement(`span`,{className:`${k}-item-ellipsis`},Z.createElement(vu,null));return{prevIcon:Z.createElement(`button`,{className:`${k}-item-link`,type:`button`,tabIndex:-1},x===`rtl`?Z.createElement(er,null):Z.createElement(Wc,null)),nextIcon:Z.createElement(`button`,{className:`${k}-item-link`,type:`button`,tabIndex:-1},x===`rtl`?Z.createElement(Wc,null):Z.createElement(er,null)),jumpPrevIcon:Z.createElement(`a`,{className:`${k}-item-link`},Z.createElement(`div`,{className:`${k}-item-container`},x===`rtl`?Z.createElement(kd,{className:`${k}-item-link-icon`}):Z.createElement(Ed,{className:`${k}-item-link-icon`}),e)),jumpNextIcon:Z.createElement(`a`,{className:`${k}-item-link`},Z.createElement(`div`,{className:`${k}-item-container`},x===`rtl`?Z.createElement(Ed,{className:`${k}-item-link-icon`}):Z.createElement(kd,{className:`${k}-item-link-icon`}),e))}},[x,k]),Y=b(`select`,r),ae=L({[`${k}-${t}`]:!!t,[`${k}-${M}`]:M,[`${k}-${P}`]:F&&P!==`outlined`,[`${k}-mini`]:N,[`${k}-rtl`]:x===`rtl`,[`${k}-bordered`]:y.wireframe},C,i,a,B.root,A,j),oe={...V.root};return Z.createElement(Z.Fragment,null,y.wireframe&&Z.createElement($d,{prefixCls:k}),Z.createElement(zd,{...ie,..._,styles:V,classNames:B,style:oe,prefixCls:k,selectPrefixCls:Y,className:ae,locale:U,pageSizeOptions:J,showSizeChanger:te,totalBoundaryShowSizeChanger:_.totalBoundaryShowSizeChanger??D,sizeChangerRender:re}))};function nf(e,t,n){var r=n||{},i=r.noTrailing,a=i===void 0?!1:i,o=r.noLeading,s=o===void 0?!1:o,c=r.debounceMode,l=c===void 0?void 0:c,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function m(e){var t=(e||{}).upcomingOnly,n=t===void 0?!1:t;p(),d=!n}function h(){var n=[...arguments],r=this,i=Date.now()-f;if(d)return;function o(){f=Date.now(),t.apply(r,n)}function c(){u=void 0}!s&&l&&!u&&o(),p(),l===void 0&&i>e?s?(f=Date.now(),a||(u=setTimeout(l?c:o,e))):o():a!==!0&&(u=setTimeout(l?c:o,l===void 0?e-i:e))}return h.cancel=m,h}function rf(e,t,n){var r=(n||{}).atBegin;return nf(e,t,{debounceMode:(r===void 0?!1:r)!==!1})}var af=100,of=af/5,sf=af/2-of/2,cf=sf*2*Math.PI,lf=50,uf=e=>{let{dotClassName:t,style:n,hasCircleCls:r}=e;return Z.createElement(`circle`,{className:L(`${t}-circle`,{[`${t}-circle-bg`]:r}),r:sf,cx:lf,cy:lf,strokeWidth:of,style:n})},df=({percent:e,prefixCls:t})=>{let n=`${t}-dot`,r=`${n}-holder`,i=`${r}-hidden`,[a,o]=Z.useState(!1);l(()=>{e!==0&&o(!0)},[e!==0]);let s=Math.max(Math.min(e,100),0);if(!a)return null;let c={strokeDashoffset:`${cf/4}`,strokeDasharray:`${cf*s/100} ${cf*(100-s)/100}`};return Z.createElement(`span`,{className:L(r,`${n}-progress`,{[i]:s<=0})},Z.createElement(`svg`,{viewBox:`0 0 ${af} ${af}`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":s},Z.createElement(uf,{dotClassName:n,hasCircleCls:!0}),Z.createElement(uf,{dotClassName:n,style:c})))};function ff(e){let{prefixCls:t,percent:n=0,className:r,style:i}=e,a=`${t}-dot`,o=`${a}-holder`,s=`${o}-hidden`;return Z.createElement(Z.Fragment,null,Z.createElement(`span`,{className:L(o,r,n>0&&s),style:i},Z.createElement(`span`,{className:L(a,`${t}-dot-spin`)},[1,2,3,4].map(e=>Z.createElement(`i`,{className:`${t}-dot-item`,key:e})))),Z.createElement(df,{prefixCls:t,percent:n}))}function pf(e){let{prefixCls:t,indicator:n,percent:r,className:i,style:a}=e,o=`${t}-dot`;return n&&Z.isValidElement(n)?Tt(n,e=>({className:L(e.className,o,i),style:{...e.style,...a},percent:r})):Z.createElement(ff,{prefixCls:t,percent:r,className:i,style:a})}var mf=new R(`antSpinMove`,{to:{opacity:1}}),hf=new R(`antRotate`,{to:{transform:`rotate(405deg)`}}),gf=e=>{let{componentCls:t}=e,n=`${t}-section`;return{[t]:{...q(e),position:`relative`,"&-rtl":{direction:`rtl`},[`&${n}, ${n}`]:{display:`flex`,alignItems:`center`,flexDirection:`column`,gap:e.paddingSM,color:e.colorPrimary},[`&${n}`]:{display:`inline-flex`},[n]:{position:`absolute`,top:`50%`,left:{_skip_check_:!0,value:`50%`},transform:`translate(-50%, -50%)`,zIndex:1},[`${t}-description`]:{fontSize:e.fontSize,lineHeight:1},[`${t}-container`]:{position:`relative`,transition:`opacity ${e.motionDurationSlow}`,"&::after":{position:`absolute`,top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:10,width:`100%`,height:`100%`,background:e.colorBgContainer,opacity:0,transition:`all ${e.motionDurationSlow}`,content:`""`,pointerEvents:`none`}},"&-spinning":{[`${t}-description`]:{textShadow:`0 0px 5px ${e.colorBgContainer}`},[`${t}-container`]:{clear:`both`,opacity:.5,userSelect:`none`,pointerEvents:`none`,"&::after":{opacity:.4,pointerEvents:`auto`}}},"&-fullscreen":{position:`fixed`,inset:0,backgroundColor:e.colorBgMask,zIndex:e.zIndexPopupBase,opacity:0,pointerEvents:`none`,transition:`all ${e.motionDurationMid}`,[`&${t}-spinning`]:{opacity:1,pointerEvents:`auto`},[n]:{color:e.colorWhite,[`${t}-description`]:{color:e.colorTextLightSolid}}}}}},_f=e=>{let{componentCls:t,antCls:n,motionDurationSlow:r}=e,[i,a]=We(n,`spin`);return{[t]:{[i(`dot-holder-size`)]:e.dotSize,[i(`dot-item-size`)]:`calc((${a(`dot-holder-size`)} - ${e.marginXXS} / 2) / 2)`,[`${t}-dot`]:{"&-holder":{width:`1em`,height:`1em`,fontSize:a(`dot-holder-size`),display:`inline-block`,transition:[`transform`,`opacity`].map(e=>`${e} ${r} ease`).join(`, `),transformOrigin:`50% 50%`,lineHeight:1,"&-hidden":{transform:`scale(0.3)`,opacity:0}},position:`relative`,display:`inline-block`,fontSize:a(`dot-holder-size`),width:`1em`,height:`1em`,"&-spin":{transform:`rotate(45deg)`,animationName:hf,animationDuration:`1.2s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`},"&-item":{position:`absolute`,display:`block`,width:a(`dot-item-size`),height:a(`dot-item-size`),background:`currentColor`,borderRadius:`100%`,transform:`scale(0.75)`,transformOrigin:`50% 50%`,opacity:.3,animationName:mf,animationDuration:`1s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`,animationDirection:`alternate`,"&:nth-child(1)":{top:0,insetInlineStart:0,animationDelay:`0s`},"&:nth-child(2)":{top:0,insetInlineEnd:0,animationDelay:`0.4s`},"&:nth-child(3)":{insetInlineEnd:0,bottom:0,animationDelay:`0.8s`},"&:nth-child(4)":{bottom:0,insetInlineStart:0,animationDelay:`1.2s`}},"&-progress":{position:`absolute`,left:`50%`,top:0,transform:`translateX(-50%)`},"&-circle":{strokeLinecap:`round`,transition:[`stroke-dashoffset`,`stroke-dasharray`,`stroke`,`stroke-width`,`opacity`].map(e=>`${e} ${r} ease`).join(`,`),fillOpacity:0,stroke:`currentcolor`},"&-circle-bg":{stroke:e.colorFillSecondary}}}}},vf=e=>{let{componentCls:t}=e,[n]=We(e.antCls,`spin`);return{[t]:{"&-sm":{[n(`dot-holder-size`)]:e.dotSizeSM},"&-lg":{[n(`dot-holder-size`)]:e.dotSizeLG}}}},yf=we(`Spin`,e=>{let t=h(e,{spinDotDefault:e.colorTextDescription});return[gf(t),_f(t),vf(t)]},e=>{let{controlHeightLG:t,controlHeight:n}=e;return{contentHeight:400,dotSize:t/2,dotSizeSM:t*.35,dotSizeLG:n}}),bf=200,xf=[[30,.05],[70,.03],[96,.01]];function Sf(e,t){let[n,r]=Z.useState(0),i=Z.useRef(null),a=t===`auto`;return Z.useEffect(()=>(a&&e&&(r(0),i.current=setInterval(()=>{r(e=>{let t=100-e;for(let n=0;n{i.current&&=(clearInterval(i.current),null)}),[a,e]),a?n:t}var Cf;function wf(e,t){return!!e&&!!t&&!Number.isNaN(Number(t))}var Tf=e=>{let{prefixCls:t,spinning:n=!0,delay:r=0,className:i,rootClassName:a,size:s,tip:c,description:l,wrapperClassName:u,style:d,children:p,fullscreen:m=!1,indicator:h,percent:g,classNames:_,styles:v,...y}=e,{getPrefixCls:b,direction:x,indicator:S,className:C,style:w,classNames:T,styles:E}=f(`spin`),D=b(`spin`,t),[k,A]=yf(D),[j,M]=Z.useState(()=>n&&!wf(n,r)),N=Sf(j,g);Z.useEffect(()=>{if(n){let e=rf(r,()=>{M(!0)});return e(),()=>{e?.cancel?.()}}M(!1)},[r,n]);let P=o(e=>s??e),F=l??c,I={...e,size:P,spinning:j,tip:F,description:F,fullscreen:m,children:p,percent:N},[R,z]=O([T,_],[E,v],{props:I}),B=h??S??Cf,V=p!==void 0,H=V||m,U=Z.createElement(Z.Fragment,null,Z.createElement(pf,{className:L(R.indicator),style:z.indicator,prefixCls:D,indicator:B,percent:N}),F&&Z.createElement(`div`,{className:L(`${D}-description`,R.tip,R.description),style:{...z.tip,...z.description}},F));return Z.createElement(`div`,{className:L(D,{[`${D}-sm`]:P===`small`,[`${D}-lg`]:P===`large`,[`${D}-spinning`]:j,[`${D}-rtl`]:x===`rtl`,[`${D}-fullscreen`]:m},a,R.root,m&&R.mask,H?u:[`${D}-section`,R.section],C,i,k,A),style:{...z.root,...H?{}:z.section,...m?z.mask:{},...w,...d},"aria-live":`polite`,"aria-busy":j,...y},j&&(H?Z.createElement(`div`,{className:L(`${D}-section`,R.section),style:z.section},U):U),V&&Z.createElement(`div`,{className:L(`${D}-container`,R.container),style:z.container},p))};Tf.setDefaultIndicator=e=>{Cf=e};function Ef(e){return t=>{let{prefixCls:n,onExpand:r,record:i,expanded:a,expandable:o}=t,s=`${n}-row-expand-icon`;return Z.createElement(`button`,{type:`button`,onClick:e=>{r(i,e),e.stopPropagation()},className:L(s,{[`${s}-spaced`]:!o,[`${s}-expanded`]:o&&a,[`${s}-collapsed`]:o&&!a}),"aria-label":a?e.collapse:e.expand,"aria-expanded":a})}}function Df(e){return(t,n)=>{let r=t.querySelector(`.${e}-container`),i=n;if(r){let e=getComputedStyle(r),t=Number.parseInt(e.borderLeftWidth,10),a=Number.parseInt(e.borderRightWidth,10);i=n-t-a}return i}}var Of=(e,t)=>Z.useMemo(()=>{if(!t)return e;let n=e=>e.map(e=>e===cd||e===Wa?e:`children`in e&&Array.isArray(e.children)?{...ut(t,e),children:n(e.children)}:ut(pt(t,[`children`]),e));return n(e)},[e,t]),kf=(e,t)=>`key`in e&&E(e.key)?e.key:e.dataIndex?Array.isArray(e.dataIndex)?e.dataIndex.join(`.`):e.dataIndex:t;function Af(e,t){return t?`${t}-${e}`:`${e}`}var jf=(e,t)=>ge(e)?e(t):e,Mf=(e,t)=>{let n=jf(e,t);return yt(n)||Array.isArray(n)?``:n},Nf=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z`}}]},name:`filter`,theme:`filled`}}))());function Pf(){return Pf=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Pf({},e,{ref:t,icon:Nf.default}))),If=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z`}}]},name:`file`,theme:`outlined`}}))());function Lf(){return Lf=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Lf({},e,{ref:t,icon:If.default}))),zf=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z`}}]},name:`folder-open`,theme:`outlined`}}))());function Bf(){return Bf=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Bf({},e,{ref:t,icon:zf.default}))),Hf=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z`}}]},name:`folder`,theme:`outlined`}}))());function Uf(){return Uf=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Uf({},e,{ref:t,icon:Hf.default}))),Gf=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z`}}]},name:`holder`,theme:`outlined`}}))());function Kf(){return Kf=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Kf({},e,{ref:t,icon:Gf.default}))),Jf=({treeCls:e,treeNodeCls:t,directoryNodeSelectedBg:n,directoryNodeSelectedColor:r,motionDurationMid:i,borderRadius:a,controlItemBgHover:o})=>({[`${e}${e}-directory ${t}`]:{[`${e}-node-content-wrapper`]:{position:`static`,[`&:has(${e}-drop-indicator)`]:{position:`relative`},[`> *:not(${e}-drop-indicator)`]:{position:`relative`},"&:hover":{background:`transparent`},"&:before":{position:`absolute`,inset:0,transition:`background-color ${i}`,content:`""`,borderRadius:a},"&:hover:before":{background:o}},[`${e}-switcher, ${e}-checkbox, ${e}-draggable-icon`]:{zIndex:1},"&-selected":{background:n,borderRadius:a,[`${e}-switcher, ${e}-draggable-icon`]:{color:r},[`${e}-node-content-wrapper`]:{color:r,background:`transparent`,"&, &:hover":{color:r},"&:before, &:hover:before":{background:n}}}}}),Yf=new R(`ant-tree-node-fx-do-not-use`,{"0%":{opacity:0},"100%":{opacity:1}}),Xf=(e,t)=>({[`.${e}-switcher-icon`]:{display:`inline-block`,fontSize:10,verticalAlign:`baseline`,svg:{transition:`transform ${t.motionDurationSlow}`}}}),Zf=(e,t)=>({[`.${e}-drop-indicator`]:{position:`absolute`,zIndex:1,height:2,backgroundColor:t.colorPrimary,borderRadius:1,pointerEvents:`none`,"&:after":{position:`absolute`,top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:`transparent`,border:`${Y(t.lineWidthBold)} solid ${t.colorPrimary}`,borderRadius:`50%`,content:`""`}}}),Qf=(e,t)=>{let{treeCls:n,treeNodeCls:r,treeNodePadding:i,titleHeight:a,indentSize:o,switcherSize:s,motionDurationMid:c,nodeSelectedBg:l,nodeHoverBg:u,colorTextQuaternary:d,controlItemBgActiveDisabled:f}=t;return{[n]:{...q(t),"--rc-virtual-list-scrollbar-bg":t.colorSplit,background:t.colorBgContainer,borderRadius:t.borderRadius,transition:`background-color ${t.motionDurationSlow}`,"&-rtl":{direction:`rtl`},[`&${n}-rtl ${n}-switcher_close ${n}-switcher-icon svg`]:{transform:`rotate(90deg)`},[`${n}-list`]:{"&:focus-visible":{outline:`none`,[`${r}-active ${n}-node-content-wrapper`]:{...$e(t)}}},[`${n}-list-holder-inner`]:{alignItems:`flex-start`},[`&${n}-block-node`]:{[`${n}-list-holder-inner`]:{alignItems:`stretch`,[`${n}-node-content-wrapper`]:{flex:`auto`},[`${r}.dragging:after`]:{position:`absolute`,inset:0,border:`1px solid ${t.colorPrimary}`,opacity:0,animationName:Yf,animationDuration:t.motionDurationSlow,animationPlayState:`running`,animationFillMode:`forwards`,content:`""`,pointerEvents:`none`,borderRadius:t.borderRadius}}},[r]:{display:`flex`,alignItems:`flex-start`,marginBottom:i,lineHeight:Y(a),position:`relative`,"&:before":{content:`""`,position:`absolute`,zIndex:1,insetInlineStart:0,width:`100%`,top:`100%`,height:i},[`&-disabled ${n}-node-content-wrapper`]:{color:t.colorTextDisabled,cursor:`not-allowed`,"&:hover":{background:`transparent`}},[`${n}-checkbox-disabled + ${n}-node-selected,&${r}-disabled${r}-selected ${n}-node-content-wrapper`]:{backgroundColor:f},[`${n}-checkbox-disabled`]:{pointerEvents:`unset`},[`&:not(${r}-disabled)`]:{[`${n}-node-content-wrapper`]:{"&:hover":{color:t.nodeHoverColor}}},[`&-active ${n}-node-content-wrapper`]:{background:t.controlItemBgHover},[`&:not(${r}-disabled).filter-node ${n}-title`]:{color:t.colorPrimary,fontWeight:t.fontWeightStrong},"&-draggable":{cursor:`grab`,[`${n}-draggable-icon`]:{flexShrink:0,width:s,textAlign:`center`,visibility:`visible`,color:d},[`&${r}-disabled ${n}-draggable-icon`]:{visibility:`hidden`}}},[`${n}-indent`]:{alignSelf:`stretch`,whiteSpace:`nowrap`,userSelect:`none`,"&-unit":{display:`inline-block`,width:o}},[`${n}-draggable-icon`]:{visibility:`hidden`},[`${n}-switcher, ${n}-checkbox`]:{marginInlineEnd:t.calc(t.calc(s).sub(t.controlInteractiveSize)).div(2).equal()},[`${n}-checkbox`]:{flexShrink:0,alignSelf:`flex-start`,marginBlockStart:t.calc(t.calc(a).sub(t.controlInteractiveSize)).div(2).equal()},[`${n}-switcher`]:{...Xf(e,t),position:`relative`,flex:`none`,alignSelf:`stretch`,width:s,textAlign:`center`,cursor:`pointer`,userSelect:`none`,transition:`all ${t.motionDurationSlow}`,"&-noop":{cursor:`unset`},"&:before":{pointerEvents:`none`,content:`""`,width:s,height:a,position:`absolute`,left:{_skip_check_:!0,value:0},top:0,borderRadius:t.borderRadius,transition:`all ${t.motionDurationSlow}`},[`&:not(${n}-switcher-noop):hover:before`]:{backgroundColor:t.colorBgTextHover},[`&_close ${n}-switcher-icon svg`]:{transform:`rotate(-90deg)`},"&-loading-icon":{color:t.colorPrimary},"&-leaf-line":{position:`relative`,zIndex:1,display:`inline-block`,width:`100%`,height:`100%`,"&:before":{position:`absolute`,top:0,insetInlineEnd:t.calc(s).div(2).equal(),bottom:t.calc(i).mul(-1).equal(),marginInlineStart:-1,borderInlineEnd:`1px solid ${t.colorBorder}`,content:`""`},"&:after":{position:`absolute`,width:t.calc(t.calc(s).div(2).equal()).mul(.8).equal(),height:t.calc(a).div(2).equal(),borderBottom:`1px solid ${t.colorBorder}`,content:`""`}}},[`${n}-node-content-wrapper`]:{position:`relative`,minHeight:a,paddingBlock:0,paddingInline:t.paddingXS,background:`transparent`,borderRadius:t.borderRadius,cursor:`pointer`,transition:[`all ${c}`,`border 0s`,`line-height 0s`,`box-shadow 0s`].join(`, `),...Zf(e,t),"&:hover":{backgroundColor:u},[`&${n}-node-selected`]:{color:t.nodeSelectedColor,backgroundColor:l},[`${n}-iconEle`]:{display:`inline-block`,width:s,height:a,textAlign:`center`,verticalAlign:`top`,"&:empty":{display:`none`}}},[`${n}-unselectable ${n}-node-content-wrapper:hover`]:{backgroundColor:`transparent`},[`${r}.drop-container > [draggable]`]:{boxShadow:`0 0 0 2px ${t.colorPrimary}`},"&-show-line":{[`${n}-indent-unit`]:{position:`relative`,height:`100%`,"&:before":{position:`absolute`,top:0,insetInlineEnd:t.calc(s).div(2).equal(),bottom:t.calc(i).mul(-1).equal(),borderInlineEnd:`1px solid ${t.colorBorder}`,content:`""`},"&-end:before":{display:`none`}},[`${n}-switcher`]:{background:`transparent`,"&-line-icon":{verticalAlign:`-0.15em`}}},[`${r}-leaf-last ${n}-switcher-leaf-line:before`]:{top:`auto !important`,bottom:`auto !important`,height:`${Y(t.calc(a).div(2).equal())} !important`}}}},$f=(e,t,n=!0)=>{let r=`.${e}`,i=h(t,{treeCls:r,treeNodeCls:`${r}-treenode`,treeNodePadding:t.calc(t.paddingXS).div(2).equal()});return[Qf(e,i),n&&Jf(i)].filter(Boolean)},ep=e=>{let{controlHeightSM:t,controlItemBgHover:n,controlItemBgActive:r}=e,i=t;return{titleHeight:i,switcherSize:i,indentSize:i,nodeHoverBg:n,nodeHoverColor:e.colorText,nodeSelectedBg:r,nodeSelectedColor:e.colorText}},tp=we(`Tree`,(e,{prefixCls:t})=>[{[e.componentCls]:ar(`${t}-checkbox`,e)},$f(t,e),Pn(e)],e=>{let{colorTextLightSolid:t,colorPrimary:n}=e;return{...ep(e),directoryNodeSelectedColor:t,directoryNodeSelectedBg:n}}),np=e=>{let{dropPosition:t,dropLevelOffset:n,prefixCls:r,indent:i,direction:a=`ltr`}=e,o=a===`ltr`?`left`:`right`,s=a===`ltr`?`right`:`left`,c={[o]:-n*i+4,[s]:0};switch(t){case-1:c.top=-3;break;case 1:c.bottom=-3;break;default:c.bottom=-3,c[o]=i+4;break}return Z.createElement(`div`,{style:c,className:`${r}-drop-indicator`})},rp=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z`}}]},name:`caret-down`,theme:`filled`}}))());function ip(){return ip=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,ip({},e,{ref:t,icon:rp.default}))),op=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z`}},{tag:`path`,attrs:{d:`M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z`}}]},name:`minus-square`,theme:`outlined`}}))());function sp(){return sp=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,sp({},e,{ref:t,icon:op.default}))),lp=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z`}},{tag:`path`,attrs:{d:`M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z`}}]},name:`plus-square`,theme:`outlined`}}))());function up(){return up=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,up({},e,{ref:t,icon:lp.default}))),fp=e=>{let{prefixCls:t,switcherIcon:n,treeNodeProps:r,showLine:i,switcherLoadingIcon:a}=e,{isLeaf:o,expanded:s,loading:c}=r;if(c)return Z.isValidElement(a)?a:Z.createElement(T,{className:`${t}-switcher-loading-icon`});let l;if(yt(i)&&(l=i.showLeafIcon),o){if(!i)return null;if(typeof l!=`boolean`&&l){let e=ge(l)?l(r):l,n=`${t}-switcher-line-custom-icon`;return Z.isValidElement(e)?Tt(e,{className:L(e.props?.className,n)}):e}return l?Z.createElement(Rf,{className:`${t}-switcher-line-icon`}):Z.createElement(`span`,{className:`${t}-switcher-leaf-line`})}let u=`${t}-switcher-icon`,d=ge(n)?n(r):n;return Z.isValidElement(d)?Tt(d,{className:L(d.props?.className,i?`${t}-switcher-line-icon`:u)}):d===void 0?i?s?Z.createElement(cp,{className:`${t}-switcher-line-icon`}):Z.createElement(dp,{className:`${t}-switcher-line-icon`}):Z.createElement(ap,{className:u}):d},pp=Z.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r,className:i,style:a,classNames:o,styles:s}=f(`tree`),{virtual:c}=Z.useContext(Gt),{prefixCls:l,className:u,showIcon:d=!1,showLine:p,switcherIcon:m,switcherLoadingIcon:h,blockNode:g=!1,children:_,checkable:v=!1,selectable:y=!0,draggable:b,disabled:x,motion:S,style:C,rootClassName:w,classNames:T,styles:E,icon:D}=e,k=Z.useContext(Xe),A=x??k,j=n(`tree`,l),M=n(),N=S??{...Ze(M),motionAppear:!1},P={...e,showIcon:d,blockNode:g,checkable:v,selectable:y,disabled:A,motion:N},[F,I]=O([o,T],[s,E],{props:P}),R={...P,showLine:!!p,icon:D,dropIndicatorRender:np},[z,B]=tp(j),[,V]=Ut(),H=V.paddingXS/2+(V.Tree?.titleHeight||V.controlHeightSM),U=Z.useMemo(()=>{if(!b)return!1;let e={};switch(typeof b){case`function`:e.nodeDraggable=b;break;case`object`:e={...b};break;default:break}return e.icon!==!1&&(e.icon=e.icon||Z.createElement(qf,null)),e},[b]),W=e=>Z.createElement(fp,{prefixCls:j,switcherIcon:m,switcherLoadingIcon:h,treeNodeProps:e,showLine:p});return Z.createElement(Vc,{itemHeight:H,ref:t,virtual:c,...R,prefixCls:j,className:L({[`${j}-icon-hide`]:!d,[`${j}-block-node`]:g,[`${j}-unselectable`]:!y,[`${j}-rtl`]:r===`rtl`,[`${j}-disabled`]:A},i,u,z,B),style:{...a,...C},rootClassName:L(F.root,w),rootStyle:I.root,classNames:F,styles:I,direction:r,checkable:v&&Z.createElement(`span`,{className:`${j}-checkbox-inner`}),selectable:y,switcherIcon:W,draggable:U},_)}),mp=0,hp=1,gp=2;function _p(e,t,n){let{key:r,children:i}=n;function a(e){let a=e[r],o=e[i];t(a,e)!==!1&&_p(o||[],t,n)}e.forEach(a)}function vp({treeData:e,expandedKeys:t,startKey:n,endKey:r,fieldNames:i}){let a=[],o=mp;if(n&&n===r)return[n];if(!n||!r)return[];function s(e){return e===n||e===r}return _p(e,e=>{if(o===gp)return!1;if(s(e)){if(a.push(e),o===mp)o=hp;else if(o===hp)return o=gp,!1}else o===hp&&a.push(e);return t.includes(e)},Qs(i)),a}function yp(e,t,n){let r=X(t),i=[];return _p(e,(e,t)=>{let n=r.indexOf(e);return n!==-1&&(i.push(t),r.splice(n,1)),!!r.length},Qs(n)),i}function bp(e){let{isLeaf:t,expanded:n}=e;return t?Z.createElement(Rf,null):n?Z.createElement(Vf,null):Z.createElement(Wf,null)}function xp({treeData:e,children:t}){return e||$s(t)}var Sp=Z.forwardRef((e,t)=>{let{defaultExpandAll:n,defaultExpandParent:r=!0,defaultExpandedKeys:i,...a}=e,o=Z.useRef(null),s=Z.useRef(null),c=()=>{let{keyEntities:e}=nc(xp(a),{fieldNames:a.fieldNames}),t,o=a.expandedKeys||i||[];return t=n?Object.keys(e):r?Nc(o,e):o,t},[l,u]=Z.useState(a.selectedKeys||a.defaultSelectedKeys||[]),[d,f]=Z.useState(()=>c());Z.useEffect(()=>{`selectedKeys`in a&&u(a.selectedKeys)},[a.selectedKeys]),Z.useEffect(()=>{`expandedKeys`in a&&f(a.expandedKeys)},[a.expandedKeys]);let p=(e,t)=>(`expandedKeys`in a||f(e),a.onExpand?.(e,t)),m=(e,t)=>{let{multiple:n,fieldNames:r}=a,{node:i,nativeEvent:c}=t,{key:l=``}=i,f=xp(a),p={...t,selected:!0},m=c?.ctrlKey||c?.metaKey,h=c?.shiftKey,g;n&&m?(g=e,o.current=l,s.current=g,p.selectedNodes=yp(f,g,r)):n&&h?(g=Array.from(new Set([].concat(X(s.current||[]),X(vp({treeData:f,expandedKeys:d,startKey:l,endKey:o.current,fieldNames:r}))))),p.selectedNodes=yp(f,g,r)):(g=[l],o.current=l,s.current=g,p.selectedNodes=yp(f,g,r)),a.onSelect?.(g,p),`selectedKeys`in a||u(g)},{getPrefixCls:h,direction:g}=Z.useContext(Gt),{prefixCls:_,className:v,showIcon:y=!0,expandAction:b=`click`,...x}=a,S=h(`tree`,_),C=L(`${S}-directory`,{[`${S}-directory-rtl`]:g===`rtl`},v);return Z.createElement(pp,{icon:bp,ref:t,blockNode:!0,...x,showIcon:y,expandAction:b,prefixCls:S,className:C,defaultExpandParent:r,expandedKeys:d,selectedKeys:l,onSelect:m,onExpand:p})}),Cp=pp;Cp.DirectoryTree=Sp,Cp.TreeNode=uc;var wp=e=>{let{value:t,filterSearch:n,tablePrefixCls:r,locale:i,onChange:a}=e;return n?Z.createElement(`div`,{className:`${r}-filter-dropdown-search`},Z.createElement(Ge,{prefix:Z.createElement(ot,null),placeholder:i.filterSearchPlaceholder,onChange:a,value:t,htmlSize:1,className:`${r}-filter-dropdown-search-input`})):null},Tp=e=>{let{keyCode:t}=e;t===Be.ENTER&&e.stopPropagation()},Ep=Z.forwardRef((e,t)=>Z.createElement(`div`,{className:e.className,onClick:e=>e.stopPropagation(),onKeyDown:Tp,ref:t,role:`presentation`},e.children));function Dp(e){let t=[];return(e||[]).forEach(({value:e,children:n})=>{t.push(e),n&&(t=[].concat(X(t),X(Dp(n))))}),t}function Op(e){return e.some(({children:e})=>e)}var kp=(e,t)=>typeof t==`string`||F(t)?t.toString().toLowerCase().includes(e):!1,Ap=e=>{let{filters:t,prefixCls:n,filteredKeys:r,filterMultiple:i,searchValue:a,normalizedSearchValue:o,filterSearch:s}=e;return t.map((e,t)=>{let c=String(e.value);if(e.children)return{key:c||t,label:e.text,popupClassName:`${n}-dropdown-submenu`,children:Ap({filters:e.children,prefixCls:n,filteredKeys:r,filterMultiple:i,searchValue:a,normalizedSearchValue:o,filterSearch:s})};let l=i?ur:sd,u={key:e.value===void 0?t:c,label:Z.createElement(Z.Fragment,null,Z.createElement(l,{checked:r.includes(c)}),Z.createElement(`span`,null,e.text))};return o?ge(s)?s(o,e)?u:null:kp(o,e.text)?u:null:u})};function jp(e){return e||[]}var Mp=e=>{let{tablePrefixCls:t,prefixCls:n,column:r,dropdownPrefixCls:i,columnKey:a,filterOnClose:o,filterMultiple:s,filterMode:c=`menu`,filterSearch:l=!1,filterState:u,triggerFilter:d,locale:f,children:p,getPopupContainer:m,rootClassName:h}=e,{filterResetToDefaultFilteredValue:g,defaultFilteredValue:_,filterDropdownProps:v={},filterDropdownOpen:y,onFilterDropdownOpenChange:b}=r,[x,S]=Z.useState(!1),C=Z.useContext(Ea),w=!!(u&&(u.filteredKeys?.length||u.forceFiltered)),T=e=>{S(e),v.onOpenChange?.(e),b?.(e)},E=v.open??y??x,D=u?.filteredKeys,[O,k]=Nn(jp(D)),A=({selectedKeys:e})=>{k(e)},j=(e,{node:t,checked:n})=>{A(s?{selectedKeys:e}:{selectedKeys:n&&t.key?[t.key]:[]})};Z.useEffect(()=>{x&&A({selectedKeys:jp(D)})},[D]);let[M,N]=Z.useState([]),P=e=>{N(e)},[F,I]=Z.useState(``),R=Z.useMemo(()=>F.trim().toLowerCase(),[F]),z=e=>{let{value:t}=e.target;I(t)};Z.useEffect(()=>{x||I(``)},[x]);let B=e=>{let t=e?.length?e:null;if(t===null&&(!u||!u.filteredKeys)||Me(t,u?.filteredKeys,!0))return null;d({column:r,key:a,filteredKeys:t})},V=()=>{T(!1),B(O())},H=({confirm:e,closeDropdown:t}={confirm:!1,closeDropdown:!1})=>{e&&B([]),t&&T(!1),I(``),k(g?(_||[]).map(String):[])},U=({closeDropdown:e}={closeDropdown:!0})=>{e&&T(!1),B(O())},W=(e,t)=>{t.source===`trigger`&&(e&&D!==void 0&&k(jp(D)),T(e),!e&&!r.filterDropdown&&o&&V())},ee=L({[`${i}-menu-without-submenu`]:!Op(r.filters||[])}),K=e=>{e.target.checked?k(Dp(r?.filters).map(String)):k([])},te=({filters:e})=>(e||[]).map((e,t)=>{let n=String(e.value),r={title:e.text,key:e.value===void 0?String(t):n};return e.children&&(r.children=te({filters:e.children})),r}),ne=e=>({...e,text:e.title,value:e.key,children:e.children?.map(ne)||[]}),q,{direction:J,renderEmpty:re}=Z.useContext(Gt);if(ge(r.filterDropdown))q=r.filterDropdown({prefixCls:`${i}-custom`,setSelectedKeys:e=>A({selectedKeys:e}),selectedKeys:O(),confirm:U,clearFilters:H,filters:r.filters,visible:E,close:()=>{T(!1)}});else if(r.filterDropdown)q=r.filterDropdown;else{let e=O()||[];q=Z.createElement(Z.Fragment,null,(()=>{let a=re?.(`Table.filter`)??Z.createElement(Ct,{image:Ct.PRESENTED_IMAGE_SIMPLE,description:f.filterEmptyText,styles:{image:{height:24}},style:{margin:0,padding:`16px 0`}});if((r.filters||[]).length===0)return a;if(c===`tree`)return Z.createElement(Z.Fragment,null,Z.createElement(wp,{filterSearch:l,value:F,onChange:z,tablePrefixCls:t,locale:f}),Z.createElement(`div`,{className:`${t}-filter-dropdown-tree`},s?Z.createElement(ur,{checked:e.length===Dp(r.filters).length,indeterminate:e.length>0&&e.lengthge(l)?l(F,ne(e)):kp(R,e.title):void 0})));let o=Ap({filters:r.filters||[],filterSearch:l,prefixCls:n,filteredKeys:O(),filterMultiple:s,searchValue:F,normalizedSearchValue:R}),u=o.every(e=>e===null);return Z.createElement(Z.Fragment,null,Z.createElement(wp,{filterSearch:l,value:F,onChange:z,tablePrefixCls:t,locale:f}),u?a:Z.createElement(zu,{selectable:!0,multiple:s,prefixCls:`${i}-menu`,className:ee,onSelect:A,onDeselect:A,selectedKeys:e,getPopupContainer:m,openKeys:M,onOpenChange:P,items:o}))})(),Z.createElement(`div`,{className:`${n}-dropdown-btns`},Z.createElement(G,{type:`link`,size:`small`,disabled:g?Me((_||[]).map(String),e,!0):e.length===0,onClick:()=>H()},f.filterReset),Z.createElement(G,{type:`primary`,size:`small`,onClick:V},f.filterConfirm)))}r.filterDropdown&&(q=Z.createElement(Cu,{selectable:void 0},q)),q=Z.createElement(Ep,{className:`${n}-dropdown`},q);let ie=(()=>{let e;return e=ge(r.filterIcon)?r.filterIcon(w):r.filterIcon?r.filterIcon:Z.createElement(Ff,null),Z.createElement(`span`,{role:`button`,tabIndex:-1,className:L(`${n}-trigger`,{active:w}),onClick:e=>{e.stopPropagation()}},e)})();if(C)return Z.createElement(`div`,{className:`${n}-column`},Z.createElement(`span`,{className:`${t}-column-title`},p),ie);let Y=ut({trigger:[`click`],placement:J===`rtl`?`bottomLeft`:`bottomRight`,children:ie,getPopupContainer:m},{...v,rootClassName:L(h,v.rootClassName),open:E,onOpenChange:W,popupRender:()=>ge(v?.dropdownRender)?v.dropdownRender(q):q});return Z.createElement(`div`,{className:`${n}-column`},Z.createElement(`span`,{className:`${t}-column-title`},p),Z.createElement(Ku,{...Y}))},Np=(e,t,n)=>{let r=[];return(e||[]).forEach((e,i)=>{let a=Af(i,n),o=e.filterDropdown!==void 0;if(e.filters||o||`onFilter`in e)if(`filteredValue`in e){let t=e.filteredValue;o||(t=t?.map(String)??t),r.push({column:e,key:kf(e,a),filteredKeys:t,forceFiltered:e.filtered})}else r.push({column:e,key:kf(e,a),filteredKeys:t&&e.defaultFilteredValue?e.defaultFilteredValue:void 0,forceFiltered:e.filtered});`children`in e&&(r=[].concat(X(r),X(Np(e.children,t,a))))}),r};function Pp(e,t,n,r,i,a,o,s,c){return n.map((n,l)=>{let u=Af(l,s),{filterOnClose:d=!0,filterMultiple:f=!0,filterMode:p,filterSearch:m}=n,h=n;if(h.filters||h.filterDropdown){let s=kf(h,u),l=r.find(({key:e})=>s===e);h={...h,title:r=>Z.createElement(Mp,{tablePrefixCls:e,prefixCls:`${e}-filter`,dropdownPrefixCls:t,column:h,columnKey:s,filterState:l,filterOnClose:d,filterMultiple:f,filterMode:p,filterSearch:m,triggerFilter:a,locale:i,getPopupContainer:o,rootClassName:c},jf(n.title,r))}}return`children`in h&&(h={...h,children:Pp(e,t,h.children,r,i,a,o,u,c)}),h})}var Fp=e=>{let t={};return e.forEach(({key:e,filteredKeys:n,column:r})=>{let i=e,{filters:a,filterDropdown:o}=r;o?t[i]=n||null:Array.isArray(n)?t[i]=Dp(a).filter(e=>n.includes(String(e))):t[i]=null}),t},Ip=(e,t,n)=>t.reduce((e,r)=>{let{column:{onFilter:i,filters:a},filteredKeys:o}=r;if(i&&o&&o.length){let r=Dp(a),s=new Map;r.forEach(e=>{let t=String(e);s.has(t)||s.set(t,e)});let c=o.map(e=>{let t=String(e);return s.get(t)??e});return(e=>e.reduce((e,r)=>{let a={...r};return a[n]&&(a[n]=Ip(a[n],t,n)),c.some(e=>i(e,a))&&e.push(a),e},[]))(e)}return e},e),Lp=e=>e.flatMap(e=>`children`in e?[e].concat(X(Lp(e.children||[]))):[e]),Rp=e=>{let{prefixCls:t,dropdownPrefixCls:n,mergedColumns:r,onFilterChange:i,getPopupContainer:a,locale:o,rootClassName:s}=e;me(`Table`);let c=Z.useMemo(()=>Lp(r||[]),[r]),[l,u]=Z.useState(()=>Np(c,!0)),d=Z.useMemo(()=>{let e=Np(c,!1);if(e.length===0)return e;let t=!0;if(e.forEach(({filteredKeys:e})=>{e!==void 0&&(t=!1)}),t){let e=(c||[]).map((e,t)=>kf(e,Af(t)));return l.reduce((t,n)=>{let r=e.indexOf(n.key);if(r!==-1){let e=c[r];t.push({...n,column:{...n.column,...e},forceFiltered:e.filtered})}return t},[])}return e},[c,l]),f=Z.useMemo(()=>Fp(d),[d]),p=e=>{let t=d.filter(({key:t})=>t!==e.key);t.push(e),u(t),i(Fp(t),t)};return[e=>Pp(t,n,e,d,o,p,a,void 0,s),d,f]},zp=(e,t,n)=>{let r=Z.useRef({});function i(i){if(!r.current||r.current.data!==e||r.current.childrenColumnName!==t||r.current.getRowKey!==n){let i=new Map;function a(e){e.forEach((e,r)=>{let o=n(e,r);i.set(o,e),yt(e)&&t in e&&a(e[t]||[])})}a(e),r.current={data:e,childrenColumnName:t,kvMap:i,getRowKey:n}}return r.current.kvMap?.get(i)}return[i]};function Bp(e,t){let n={current:e.current,pageSize:e.pageSize},r=yt(t)?t:{};return Object.keys(r).forEach(t=>{let r=e[t];ge(r)||(n[t]=r)}),n}function Vp(e,t,n){let{total:r=0,...i}=yt(n)?n:{},[a,o]=(0,Z.useState)(()=>({current:`defaultCurrent`in i?i.defaultCurrent:1,pageSize:`defaultPageSize`in i?i.defaultPageSize:10})),s=ut(a,i,{total:r>0?r:e}),c=Math.ceil((r||e)/s.pageSize);s.current>c&&(s.current=c||1);let l=(e,t)=>{o({current:e??1,pageSize:t||s.pageSize})},u=(e,r)=>{n&&n.onChange?.(e,r),l(e,r),t(e,r||s?.pageSize)};return n===!1?[{},()=>{}]:[{...s,onChange:u},l]}var Hp=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z`}}]},name:`caret-down`,theme:`outlined`}}))());function Up(){return Up=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Up({},e,{ref:t,icon:Hp.default}))),Gp=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z`}}]},name:`caret-up`,theme:`outlined`}}))());function Kp(){return Kp=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Kp({},e,{ref:t,icon:Gp.default}))),Jp=`ascend`,Yp=`descend`,Xp=e=>yt(e.sorter)&&F(e.sorter.multiple)?e.sorter.multiple:!1,Zp=e=>ge(e)?e:yt(e)&&e.compare?e.compare:!1,Qp=(e,t)=>t?e[e.indexOf(t)+1]:e[0],$p=(e,t,n)=>{let r=[],i=(e,t)=>{r.push({column:e,key:kf(e,t),multiplePriority:Xp(e),sortOrder:e.sortOrder})};return(e||[]).forEach((e,a)=>{let o=Af(a,n);e.children?(`sortOrder`in e&&i(e,o),r=[].concat(X(r),X($p(e.children,t,o)))):e.sorter&&(`sortOrder`in e?i(e,o):t&&e.defaultSortOrder&&r.push({column:e,key:kf(e,o),multiplePriority:Xp(e),sortOrder:e.defaultSortOrder}))}),r},em=(e,t,n,r,i,a,o,s,c)=>(t||[]).map((t,l)=>{let u=Af(l,s),d=t;if(d.sorter){let s=d.sortDirections||i,l=d.showSorterTooltip===void 0?o:d.showSorterTooltip,f=kf(d,u),p=n.find(({key:e})=>e===f),m=p?p.sortOrder:null,h=Qp(s,m),g;if(t.sortIcon)g=t.sortIcon({sortOrder:m});else{let t=s.includes(Jp)&&Z.createElement(qp,{className:L(`${e}-column-sorter-up`,{active:m===Jp})}),n=s.includes(Yp)&&Z.createElement(Wp,{className:L(`${e}-column-sorter-down`,{active:m===Yp})});g=Z.createElement(`span`,{className:L(`${e}-column-sorter`,{[`${e}-column-sorter-full`]:!!(t&&n)})},Z.createElement(`span`,{className:`${e}-column-sorter-inner`,"aria-hidden":`true`},t,n))}let{cancelSort:_,triggerAsc:v,triggerDesc:y}=a||{},b=_;h===Yp?b=y:h===Jp&&(b=v);let x=yt(l)?{title:b,...l}:{title:b};d={...d,className:L(d.className,{[`${e}-column-sort`]:m}),title:n=>{let r=`${e}-column-sorters`,i=Z.createElement(`span`,{className:`${e}-column-title`},jf(t.title,n)),a=Z.createElement(`div`,{className:r},i,g);return l?typeof l!=`boolean`&&l?.target===`sorter-icon`?Z.createElement(`div`,{className:L(r,`${r}-tooltip-target-sorter`)},i,Z.createElement(Ia,{...x},g)):Z.createElement(Ia,{...x},a):a},onHeaderCell:n=>{let i=t.onHeaderCell?.(n)||{},a=i.onClick,o=i.onKeyDown;i.onClick=e=>{r({column:t,key:f,sortOrder:h,multiplePriority:Xp(t)}),a?.(e)},i.onKeyDown=e=>{e.keyCode===Be.ENTER&&(r({column:t,key:f,sortOrder:h,multiplePriority:Xp(t)}),o?.(e))};let s=Mf(t.title,{}),l=s?.toString();return m&&(i[`aria-sort`]=m===`ascend`?`ascending`:`descending`),i[`aria-description`]=c?.sortable,i[`aria-label`]=l||``,i.className=L(i.className,`${e}-column-has-sorters`),i.tabIndex=0,t.ellipsis&&(i.title=(s??``).toString()),i}}}return`children`in d&&(d={...d,children:em(e,d.children,n,r,i,a,o,u,c)}),d}),tm=e=>{let{column:t,sortOrder:n}=e;return{column:t,order:n,field:t.dataIndex,columnKey:t.key}},nm=e=>{let t=e.reduce((e,t)=>(t.sortOrder&&e.push(tm(t)),e),[]);return t.length===0&&e.length?{...tm(e[e.length-1]),column:void 0,order:void 0,field:void 0,columnKey:void 0}:t.length<=1?t[0]||{}:t},rm=(e,t,n)=>{let r=t.slice().sort((e,t)=>t.multiplePriority-e.multiplePriority),i=e.slice(),a=r.filter(({column:{sorter:e},sortOrder:t})=>Zp(e)&&t);return a.length?i.sort((e,t)=>{for(let n=0;n{let r=e[n];return r?{...e,[n]:rm(r,t,n)}:e}):i},im=e=>{let{prefixCls:t,mergedColumns:n,baseColumns:r,sortDirections:i,tableLocale:a,showSorterTooltip:o,onSorterChange:s,globalLocale:c}=e,l=r??n,[u,d]=Z.useState(()=>$p(l,!0)),f=(e,t)=>{let n=[];return e.forEach((e,r)=>{let i=Af(r,t);if(n.push(kf(e,i)),Array.isArray(e.children)){let t=f(e.children,i);n.push.apply(n,X(t))}}),n},p=Z.useMemo(()=>{let e=!0,t=$p(l,!1);if(!t.length){let e=f(l);return u.filter(({key:t})=>e.includes(t))}let n=[];function r(t){e?n.push(t):n.push({...t,sortOrder:null})}let i=null;return t.forEach(t=>{i===null?(r(t),t.sortOrder&&(t.multiplePriority===!1?e=!1:i=!0)):(i&&t.multiplePriority!==!1||(e=!1),r(t))}),n},[l,u]),m=Z.useMemo(()=>{let e=p.map(({column:e,sortOrder:t})=>({column:e,order:t}));return{sortColumns:e,sortColumn:e[0]?.column,sortOrder:e[0]?.order}},[p]),h=e=>{let t;t=e.multiplePriority===!1||!p.length||p[0].multiplePriority===!1?[e]:[].concat(X(p.filter(({key:t})=>t!==e.key)),[e]),d(t),s(nm(t),t)};return[e=>em(t,e,p,h,i,a,o,void 0,c),p,m,()=>nm(p)]},am=(e,t)=>e.map(e=>{let n={...e};return n.title=jf(e.title,t),`children`in n&&(n.children=am(n.children,t)),n}),om=e=>[Z.useCallback(t=>am(t,e),[e])],sm=Ds((e,t)=>{let{_renderTimes:n}=e,{_renderTimes:r}=t;return n!==r}),cm=Vs((e,t)=>{let{_renderTimes:n}=e,{_renderTimes:r}=t;return n!==r}),lm=e=>{let{componentCls:t,lineWidth:n,lineType:r,tableBorderColor:i,tableHeaderBg:a,tablePaddingVertical:o,tablePaddingHorizontal:s,calc:c}=e,l=`${Y(n)} ${r} ${i}`,u=(e,r,i)=>({[`&${t}-${e}`]:{[`> ${t}-container`]:{[`> ${t}-content, > ${t}-body`]:{"> table > tbody > tr > th, > table > tbody > tr > td":{[`> ${t}-expanded-row-fixed`]:{margin:`${Y(c(r).mul(-1).equal())} + ${Y(c(c(i).add(n)).mul(-1).equal())}`}}}}}});return{[`${t}-wrapper`]:{[`${t}${t}-bordered`]:{[`> ${t}-title`]:{border:l,borderBottom:0},[`> ${t}-container`]:{borderInlineStart:l,borderTop:l,[`> ${t}-header${t}-sticky-holder`]:{marginTop:c(n).mul(-1).equal(),borderTop:l},[`> ${t}-content, > ${t}-header, > ${t}-body, > ${t}-summary`]:{"> table":{"> thead > tr > th, > thead > tr > td, > tbody > tr > th, > tbody > tr > td, > tfoot > tr > th, > tfoot > tr > td":{borderInlineEnd:l},"> thead":{"> tr:not(:last-child) > th":{borderBottom:l},"> tr > th::before":{backgroundColor:`transparent !important`}},"> thead > tr, > tbody > tr, > tfoot > tr":{[`> ${t}-cell-fix-right-first:not(${t}-cell-fix-right-last)::after`]:{borderInlineEnd:l}},"> tbody > tr > th, > tbody > tr > td":{[`> ${t}-expanded-row-fixed`]:{margin:`${Y(c(o).mul(-1).equal())} ${Y(c(c(s).add(n)).mul(-1).equal())}`,"&::after":{position:`absolute`,top:0,insetInlineEnd:n,bottom:0,borderInlineEnd:l,content:`""`}}}}}},[`&${t}-scroll-horizontal`]:{[`> ${t}-container > ${t}-body`]:{"> table > tbody":{[` + > tr${t}-expanded-row, + > tr${t}-placeholder + `]:{"> th, > td":{borderInlineEnd:0}}}}},...u(`medium`,e.tablePaddingVerticalMiddle,e.tablePaddingHorizontalMiddle),...u(`small`,e.tablePaddingVerticalSmall,e.tablePaddingHorizontalSmall),[`> ${t}-footer`]:{border:l,borderTop:0}},[`${t}-cell`]:{[`${t}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Y(n)} 0 ${Y(n)} ${a}`}},[`${t}-bordered ${t}-cell-scrollbar`]:{borderInlineEnd:l}}}},um=e=>{let{componentCls:t}=e;return{[`${t}-wrapper`]:{[`${t}-cell-ellipsis`]:{...j,wordBreak:`keep-all`,[` + &${t}-cell-fix-start-shadow, + &${t}-cell-fix-end-shadow + `]:{overflow:`visible`,[`${t}-cell-content`]:{...j,display:`block`}},[`${t}-column-title`]:{...j,wordBreak:`keep-all`}}}}},dm=e=>{let{componentCls:t}=e;return{[`${t}-wrapper`]:{[`${t}-tbody > tr${t}-placeholder`]:{textAlign:`center`,color:e.colorTextDisabled,"&:hover > th, &:hover > td":{background:e.colorBgContainer}}}}},fm=e=>{let{componentCls:t,antCls:n,motionDurationSlow:r,lineWidth:i,paddingXS:a,lineType:o,tableBorderColor:s,tableExpandIconBg:c,tableExpandColumnWidth:l,borderRadius:u,tablePaddingVertical:d,tablePaddingHorizontal:f,tableExpandedRowBg:p,paddingXXS:m,expandIconMarginTop:h,expandIconSize:g,expandIconHalfInner:_,expandIconScale:v,calc:y}=e,b=`${Y(i)} ${o} ${s}`,x=y(m).sub(i).equal();return{[`${t}-wrapper`]:{[`${t}-expand-icon-col`]:{width:l},[`${t}-row-expand-icon-cell`]:{textAlign:`center`,[`${t}-row-expand-icon`]:{display:`inline-flex`,float:`none`,verticalAlign:`sub`}},[`${t}-row-indent`]:{height:1,float:`left`},[`${t}-row-expand-icon`]:{...W(e),position:`relative`,float:`left`,width:g,height:g,color:`inherit`,lineHeight:Y(g),background:c,border:b,borderRadius:u,transform:`scale(${v})`,"&:focus, &:hover, &:active":{borderColor:`currentcolor`},"&::before, &::after":{position:`absolute`,background:`currentcolor`,transition:`transform ${r} ease-out`,content:`""`},"&::before":{top:_,insetInlineEnd:x,insetInlineStart:x,height:i},"&::after":{top:x,bottom:x,insetInlineStart:_,width:i,transform:`rotate(90deg)`},"&-collapsed::before":{transform:`rotate(-180deg)`},"&-collapsed::after":{transform:`rotate(0deg)`},"&-spaced":{"&::before, &::after":{display:`none`,content:`none`},background:`transparent`,border:0,visibility:`hidden`}},[`${t}-row-indent + ${t}-row-expand-icon`]:{marginTop:h,marginInlineEnd:a},[`tr${t}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:p}},[`${n}-descriptions-view`]:{display:`flex`,table:{flex:`auto`,width:`100%`}}},[`${t}-expanded-row-fixed`]:{position:`relative`,margin:`${Y(y(d).mul(-1).equal())} ${Y(y(f).mul(-1).equal())}`,padding:`${Y(d)} ${Y(f)}`}}}},pm=e=>{let{componentCls:t,antCls:n,iconCls:r,tableFilterDropdownWidth:i,tableFilterDropdownSearchWidth:a,paddingXXS:o,paddingXS:s,colorText:c,lineWidth:l,lineType:u,tableBorderColor:d,headerIconColor:f,fontSizeSM:p,tablePaddingHorizontal:m,borderRadius:h,motionDurationSlow:g,colorIcon:_,colorPrimary:v,tableHeaderFilterActiveBg:y,colorTextDisabled:b,tableFilterDropdownBg:x,tableFilterDropdownHeight:S,controlItemBgHover:C,controlItemBgActive:w,boxShadowSecondary:T,filterDropdownMenuBg:E,calc:D}=e,O=`${n}-dropdown`,k=`${t}-filter-dropdown`,A=`${n}-tree`,j=`${Y(l)} ${u} ${d}`;return[{[`${t}-wrapper`]:{[`${t}-filter-column`]:{display:`flex`,justifyContent:`space-between`},[`${t}-filter-trigger`]:{position:`relative`,display:`flex`,alignItems:`center`,marginBlock:D(o).mul(-1).equal(),marginInline:`${Y(o)} ${Y(D(m).div(2).mul(-1).equal())}`,padding:`0 ${Y(o)}`,color:f,fontSize:p,borderRadius:h,cursor:`pointer`,transition:`all ${g}`,"&:hover":{color:_,background:y},"&.active":{color:v}}}},{[`${n}-dropdown`]:{[k]:{...q(e),minWidth:i,backgroundColor:x,borderRadius:h,boxShadow:T,overflow:`hidden`,[`${O}-menu`]:{maxHeight:S,overflowX:`hidden`,border:0,boxShadow:`none`,borderRadius:`unset`,backgroundColor:E,"&:empty::after":{display:`block`,padding:`${Y(s)} 0`,color:b,fontSize:p,textAlign:`center`,content:`"Not Found"`}},[`${k}-tree`]:{paddingBlock:`${Y(s)} 0`,paddingInline:s,[A]:{padding:0},[`${A}-treenode ${A}-node-content-wrapper:hover`]:{backgroundColor:C},[`${A}-treenode-checkbox-checked ${A}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:w}}},[`${k}-search`]:{padding:s,borderBottom:j,"&-input":{input:{minWidth:a},[r]:{color:b}}},[`${k}-checkall`]:{width:`100%`,marginBottom:o,marginInlineStart:o},[`${k}-btns`]:{display:`flex`,justifyContent:`space-between`,padding:`${Y(D(s).sub(l).equal())} ${Y(s)}`,overflow:`hidden`,borderTop:j}}}},{[`${n}-dropdown ${k}, ${k}-submenu`]:{[`${n}-checkbox-wrapper + span`]:{paddingInlineStart:s,color:c},"> ul":{maxHeight:`calc(100vh - 130px)`,overflowX:`hidden`,overflowY:`auto`}}}]};function mm({colorSplit:e}){return[{boxShadow:`inset 10px 0 8px -8px ${e}`},{boxShadow:`inset -10px 0 8px -8px ${e}`}]}var hm=e=>{let{componentCls:t,lineWidth:n,motionDurationSlow:r,zIndexTableFixed:i,tableBg:a,calc:o}=e,s=`${t}-cell`,c=`${s}-fix`,l={position:`absolute`,top:0,bottom:o(n).mul(-1).equal(),width:30,transition:`box-shadow ${r}`,content:`""`,pointerEvents:`none`},[u,d]=mm(e);return{[`${t}-wrapper`]:{[`${s}${c}`]:{position:`sticky`},[c]:{zIndex:`calc(var(--z-offset-reverse) + ${i})`,background:a,"&:after":l,"&-start:after":{insetInlineStart:`100%`},"&-end:after":{insetInlineEnd:`100%`},"&-start-shadow-show:after":u,"&-end-shadow-show:after":d},[`${t}-container`]:{position:`relative`,"&:before, &:after":{...l,zIndex:`calc(var(--columns-count) * 2 + ${i} + 1)`},"&:before":{insetInlineStart:0},"&:after":{insetInlineEnd:0}},[`${t}-has-fix-start ${t}-container:before`]:{display:`none`},[`${t}-has-fix-end ${t}-container:after`]:{display:`none`},[`${t}-fix-start-shadow-show ${t}-container:before`]:u,[`${t}-fix-end-shadow-show ${t}-container:after`]:d}}},gm=e=>{let{componentCls:t,antCls:n,margin:r}=e;return{[`${t}-wrapper`]:{[`${t}-pagination${n}-pagination`]:{margin:`${Y(r)} 0`},[`${t}-pagination`]:{display:`flex`,flexWrap:`wrap`,rowGap:e.paddingXS,"> *":{flex:`none`},"&-start":{justifyContent:`flex-start`},"&-center":{justifyContent:`center`},"&-end":{justifyContent:`flex-end`}}}}},_m=e=>{let{componentCls:t,tableRadius:n}=e;return{[`${t}-wrapper`]:{[t]:{[`${t}-title, ${t}-header`]:{borderRadius:`${Y(n)} ${Y(n)} 0 0`},[`${t}-title + ${t}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${t}-header, table`]:{borderRadius:0},"table > thead > tr:first-child":{"th:first-child, th:last-child, td:first-child, td:last-child":{borderRadius:0}}},"&-container":{borderStartStartRadius:n,borderStartEndRadius:n,"&::before":{borderStartStartRadius:n},"&::after":{borderStartEndRadius:n},[`> ${t}-content`]:{borderStartStartRadius:n,borderStartEndRadius:n},"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:n},"> *:last-child":{borderStartEndRadius:n}}},"&-footer":{borderRadius:`0 0 ${Y(n)} ${Y(n)}`}}}}},vm=e=>{let{componentCls:t}=e,[n,r]=mm(e);return{[`${t}-wrapper-rtl`]:{direction:`rtl`,table:{direction:`rtl`},[`${t}-row-expand-icon`]:{float:`right`,"&::after":{transform:`rotate(-90deg)`},"&-collapsed::before":{transform:`rotate(180deg)`},"&-collapsed::after":{transform:`rotate(0deg)`}},[`${t}-cell-fix`]:{"&-start-shadow-show:after":r,"&-end-shadow-show:after":n},[`${t}-container`]:{[`${t}-row-indent`]:{float:`right`}},[`${t}-fix-start-shadow-show ${t}-container:before`]:r,[`${t}-fix-end-shadow-show ${t}-container:after`]:n}}},ym=e=>{let{componentCls:t,antCls:n,iconCls:r,fontSizeIcon:i,padding:a,paddingXS:o,headerIconColor:s,headerIconHoverColor:c,tableSelectionColumnWidth:l,tableSelectedRowBg:u,tableSelectedRowHoverBg:d,tableRowHoverBg:f,tablePaddingHorizontal:p,calc:m}=e;return{[`${t}-wrapper`]:{[`${t}-selection-col`]:{width:l,[`&${t}-selection-col-with-dropdown`]:{width:m(l).add(i).add(m(a).div(4)).equal()}},[`${t}-bordered ${t}-selection-col`]:{width:m(l).add(m(o).mul(2)).equal(),[`&${t}-selection-col-with-dropdown`]:{width:m(l).add(i).add(m(a).div(4)).add(m(o).mul(2)).equal()}},[` + table tr th${t}-selection-column, + table tr td${t}-selection-column, + ${t}-selection-column + `]:{paddingInlineEnd:e.paddingXS,paddingInlineStart:e.paddingXS,textAlign:`center`,[`${n}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${t}-selection-column${t}-cell-fix-left`]:{zIndex:m(e.zIndexTableFixed).add(1).equal({unit:!1})},[`table tr th${t}-selection-column::after`]:{backgroundColor:`transparent !important`},[`${t}-selection`]:{position:`relative`,display:`inline-flex`,flexDirection:`column`},[`${t}-selection-extra`]:{position:`absolute`,top:0,zIndex:1,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`,marginInlineStart:`100%`,paddingInlineStart:Y(m(p).div(4).equal()),[r]:{color:s,fontSize:i,verticalAlign:`baseline`,"&:hover":{color:c}}},[`${t}-tbody`]:{[`${t}-row`]:{[`&${t}-row-selected`]:{[`> ${t}-cell`]:{background:u,"&-row-hover":{background:d}}},[`> ${t}-cell-row-hover`]:{background:f}}}}}},bm=e=>{let{componentCls:t,tableExpandColumnWidth:n,calc:r}=e,i=(e,i,a,o)=>({[`${t}${t}-${e}`]:{fontSize:o,[` + ${t}-title, + ${t}-footer, + ${t}-cell, + ${t}-thead > tr > th, + ${t}-tbody > tr > th, + ${t}-tbody > tr > td, + tfoot > tr > th, + tfoot > tr > td + `]:{padding:`${Y(i)} ${Y(a)}`},[`${t}-filter-trigger`]:{marginInlineEnd:Y(r(a).div(2).mul(-1).equal())},[`${t}-expanded-row-fixed`]:{margin:`${Y(r(i).mul(-1).equal())} ${Y(r(a).mul(-1).equal())}`},[`${t}-tbody`]:{[`${t}-wrapper:only-child ${t}`]:{marginBlock:Y(r(i).mul(-1).equal()),marginInline:`${Y(r(n).sub(a).equal())} ${Y(r(a).mul(-1).equal())}`}},[`${t}-selection-extra`]:{paddingInlineStart:Y(r(a).div(4).equal())}}});return{[`${t}-wrapper`]:{...i(`medium`,e.tablePaddingVerticalMiddle,e.tablePaddingHorizontalMiddle,e.tableFontSizeMiddle),...i(`small`,e.tablePaddingVerticalSmall,e.tablePaddingHorizontalSmall,e.tableFontSizeSmall)}}},xm=e=>{let{componentCls:t,marginXXS:n,fontSizeIcon:r,headerIconColor:i,headerIconHoverColor:a}=e;return{[`${t}-wrapper`]:{[`${t}-thead th${t}-column-has-sorters`]:{outline:`none`,cursor:`pointer`,transition:`all ${e.motionDurationSlow}, left 0s`,"&:hover":{background:e.tableHeaderSortHoverBg,"&::before":{backgroundColor:`transparent !important`}},"&:focus-visible":{color:e.colorPrimary},[` + &${t}-cell-fix-left:hover, + &${t}-cell-fix-right:hover + `]:{background:e.tableFixedHeaderSortActiveBg}},[`${t}-thead th${t}-column-sort`]:{background:e.tableHeaderSortBg,"&::before":{backgroundColor:`transparent !important`}},[`td${t}-column-sort`]:{background:e.tableBodySortBg},[`${t}-column-title`]:{position:`relative`,zIndex:1,flex:1,minWidth:0},[`${t}-column-sorters`]:{display:`flex`,flex:`auto`,alignItems:`center`,justifyContent:`space-between`,"&::after":{position:`absolute`,inset:0,width:`100%`,height:`100%`,content:`""`}},[`${t}-column-sorters-tooltip-target-sorter`]:{"&::after":{content:`none`}},[`${t}-column-sorter`]:{marginInlineStart:n,color:i,fontSize:0,transition:`color ${e.motionDurationSlow}`,"&-inner":{display:`inline-flex`,flexDirection:`column`,alignItems:`center`},"&-up, &-down":{fontSize:r,"&.active":{color:e.colorPrimary}},[`${t}-column-sorter-up + ${t}-column-sorter-down`]:{marginTop:`-0.3em`}},[`${t}-column-sorters:hover ${t}-column-sorter`]:{color:a}}}},Sm=e=>{let{componentCls:t,opacityLoading:n,tableScrollThumbBg:r,tableScrollThumbBgHover:i,tableScrollThumbSize:a,tableScrollBg:o,stickyScrollBarBorderRadius:s,lineWidth:c,lineType:l,tableBorderColor:u,zIndexTableFixed:d}=e,f=`${Y(c)} ${l} ${u}`;return{[`${t}-wrapper`]:{[`${t}-sticky`]:{"&-holder":{position:`sticky`,zIndex:`calc(var(--columns-count) * 2 + ${d} + 1)`,background:e.colorBgContainer},"&-scroll":{position:`sticky`,bottom:0,height:`${Y(a)} !important`,zIndex:`calc(var(--columns-count) * 2 + ${d} + 1)`,display:`flex`,alignItems:`center`,background:o,borderTop:f,opacity:n,"&:hover":{transformOrigin:`center bottom`},"&-bar":{height:a,backgroundColor:r,borderRadius:s,transition:`all ${e.motionDurationSlow}, transform 0s`,position:`absolute`,bottom:0,"&:hover, &-active":{backgroundColor:i}}}}}}},Cm=e=>{let{componentCls:t,lineWidth:n,tableBorderColor:r,calc:i}=e,a=`${Y(n)} ${e.lineType} ${r}`;return{[`${t}-wrapper`]:{[`${t}-summary`]:{position:`relative`,zIndex:e.zIndexTableFixed,background:e.tableBg,"> tr":{"> th, > td":{borderBottom:a}}},[`div${t}-summary`]:{boxShadow:`0 ${Y(i(n).mul(-1).equal())} 0 ${r}`}}}},wm=e=>{let{componentCls:t,motionDurationMid:n,lineWidth:r,lineType:i,tableBorderColor:a,calc:o}=e,s=`${Y(r)} ${i} ${a}`,c=`${t}-expanded-row-cell`;return{[`${t}-wrapper`]:{[`${t}-tbody-virtual`]:{[`${t}-tbody-virtual-holder-inner`]:{[` + & > ${t}-row, + & > div:not(${t}-row) > ${t}-row + `]:{display:`flex`,boxSizing:`border-box`,width:`100%`}},[`${t}-cell`]:{borderBottom:s,transition:`background-color ${n}`},[`${t}-expanded-row`]:{[`${c}${c}-fixed`]:{position:`sticky`,insetInlineStart:0,overflow:`hidden`,width:`calc(var(--virtual-width) - ${Y(r)})`,borderInlineEnd:`none`}}},[`${t}-bordered`]:{[`${t}-tbody-virtual`]:{"&:after":{content:`""`,insetInline:0,bottom:0,borderBottom:s,position:`absolute`},[`${t}-cell`]:{borderInlineEnd:s,[`&${t}-cell-fix-right-first:before`]:{content:`""`,position:`absolute`,insetBlock:0,insetInlineStart:o(r).mul(-1).equal(),borderInlineStart:s}}},[`&${t}-virtual`]:{[`${t}-placeholder ${t}-cell`]:{borderInlineEnd:s,borderBottom:s}}}}}},Tm=e=>{let{componentCls:t,fontWeightStrong:n,tablePaddingVertical:r,tablePaddingHorizontal:i,tableExpandColumnWidth:a,lineWidth:o,lineType:s,tableBorderColor:c,tableFontSize:l,tableBg:d,tableRadius:f,tableHeaderTextColor:p,motionDurationMid:m,tableHeaderBg:h,tableHeaderCellSplitColor:g,tableFooterTextColor:_,tableFooterBg:v,calc:y}=e,b=`${Y(o)} ${s} ${c}`;return{[`${t}-wrapper`]:{clear:`both`,maxWidth:`100%`,"--rc-virtual-list-scrollbar-bg":e.tableScrollBg,...u(),[t]:{...q(e),fontSize:l,background:d,borderRadius:`${Y(f)} ${Y(f)} 0 0`,scrollbarColor:`${e.tableScrollThumbBg} ${e.tableScrollBg}`},table:{width:`100%`,textAlign:`start`,borderRadius:`${Y(f)} ${Y(f)} 0 0`,borderCollapse:`separate`,borderSpacing:0},[` + ${t}-cell, + ${t}-thead > tr > th, + ${t}-tbody > tr > th, + ${t}-tbody > tr > td, + tfoot > tr > th, + tfoot > tr > td + `]:{position:`relative`,padding:`${Y(r)} ${Y(i)}`,overflowWrap:`break-word`},[`${t}-title`]:{padding:`${Y(r)} ${Y(i)}`},[`${t}-thead`]:{"> tr > th, > tr > td":{position:`relative`,color:p,fontWeight:n,textAlign:`start`,background:h,borderBottom:b,transition:`background-color ${m} ease`,"&[colspan]:not([colspan='1'])":{textAlign:`center`},[`&:not(:last-child):not(${t}-selection-column):not(${t}-row-expand-icon-cell):not([colspan])::before`]:{position:`absolute`,top:`50%`,insetInlineEnd:0,width:1,height:`1.6em`,backgroundColor:g,transform:`translateY(-50%)`,transition:`background-color ${m}`,content:`""`}},"> tr:not(:last-child) > th[colspan]":{borderBottom:0}},[`${t}-tbody`]:{"> tr":{"> th, > td":{borderBottom:b,transition:[`background-color`,`border-color`].map(e=>`${e} ${m}`).join(`, `),[` + > ${t}-wrapper:only-child, + > ${t}-expanded-row-fixed > ${t}-wrapper:only-child + `]:{[t]:{marginBlock:Y(y(r).mul(-1).equal()),marginInline:`${Y(y(a).sub(i).equal())} + ${Y(y(i).mul(-1).equal())}`,[`${t}-tbody > tr:last-child > td`]:{borderBottomWidth:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:`relative`,color:p,fontWeight:n,textAlign:`start`,background:h,borderBottom:b,transition:`background-color ${m} ease`},[`& > ${t}-measure-cell`]:{paddingBlock:`0 !important`,borderBlock:`0 !important`,[`${t}-measure-cell-content`]:{height:0,overflow:`hidden`,pointerEvents:`none`}}}},[`${t}-footer`]:{padding:`${Y(r)} ${Y(i)}`,color:_,background:v}}}},Em=e=>{let{colorFillAlter:t,colorBgContainer:n,colorTextHeading:r,colorFillSecondary:i,colorFillContent:a,controlItemBgActive:o,controlItemBgActiveHover:s,padding:c,paddingSM:l,paddingXS:u,colorBorderSecondary:d,borderRadiusLG:f,controlHeight:p,colorTextPlaceholder:m,fontSize:h,fontSizeSM:g,lineHeight:_,lineWidth:v,colorIcon:y,colorIconHover:b,opacityLoading:x,controlInteractiveSize:S}=e,C=new se(i).onBackground(n).toHexString(),w=new se(a).onBackground(n).toHexString(),T=new se(t).onBackground(n).toHexString(),E=new se(y),D=new se(b),O=S/2-v,k=O*2+v*3;return{headerBg:T,headerColor:r,headerSortActiveBg:C,headerSortHoverBg:w,bodySortBg:T,rowHoverBg:T,rowSelectedBg:o,rowSelectedHoverBg:s,rowExpandedBg:t,cellPaddingBlock:c,cellPaddingInline:c,cellPaddingBlockMD:l,cellPaddingInlineMD:u,cellPaddingBlockSM:u,cellPaddingInlineSM:u,borderColor:d,headerBorderRadius:f,footerBg:T,footerColor:r,cellFontSize:h,cellFontSizeMD:h,cellFontSizeSM:h,headerSplitColor:d,fixedHeaderSortActiveBg:C,headerFilterHoverBg:a,filterDropdownMenuBg:n,filterDropdownBg:n,expandIconBg:n,selectionColumnWidth:p,stickyScrollBarBg:m,stickyScrollBarBorderRadius:100,expandIconMarginTop:(h*_-v*3)/2-Math.ceil((g*1.4-v*3)/2),headerIconColor:E.clone().setA(E.a*x).toRgbString(),headerIconHoverColor:D.clone().setA(D.a*x).toRgbString(),expandIconHalfInner:O,expandIconSize:k,expandIconScale:S/k}},Dm=2,Om=we(`Table`,e=>{let{colorTextHeading:t,colorSplit:n,colorBgContainer:r,controlInteractiveSize:i,headerBg:a,headerColor:o,headerSortActiveBg:s,headerSortHoverBg:c,bodySortBg:l,rowHoverBg:u,rowSelectedBg:d,rowSelectedHoverBg:f,rowExpandedBg:p,cellPaddingBlock:m,cellPaddingInline:g,cellPaddingBlockMD:_,cellPaddingInlineMD:v,cellPaddingBlockSM:y,cellPaddingInlineSM:b,borderColor:x,footerBg:S,footerColor:C,headerBorderRadius:w,cellFontSize:T,cellFontSizeMD:E,cellFontSizeSM:D,headerSplitColor:O,fixedHeaderSortActiveBg:k,headerFilterHoverBg:A,filterDropdownBg:j,expandIconBg:M,selectionColumnWidth:N,stickyScrollBarBg:P,calc:F}=e,I=h(e,{tableFontSize:T,tableBg:r,tableRadius:w,tablePaddingVertical:m,tablePaddingHorizontal:g,tablePaddingVerticalMiddle:_,tablePaddingHorizontalMiddle:v,tablePaddingVerticalSmall:y,tablePaddingHorizontalSmall:b,tableBorderColor:x,tableHeaderTextColor:o,tableHeaderBg:a,tableFooterTextColor:C,tableFooterBg:S,tableHeaderCellSplitColor:O,tableHeaderSortBg:s,tableHeaderSortHoverBg:c,tableBodySortBg:l,tableFixedHeaderSortActiveBg:k,tableHeaderFilterActiveBg:A,tableFilterDropdownBg:j,tableRowHoverBg:u,tableSelectedRowBg:d,tableSelectedRowHoverBg:f,zIndexTableFixed:Dm,tableFontSizeMiddle:E,tableFontSizeSmall:D,tableSelectionColumnWidth:N,tableExpandIconBg:M,tableExpandColumnWidth:F(i).add(F(e.padding).mul(2)).equal(),tableExpandedRowBg:p,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:P,tableScrollThumbBgHover:t,tableScrollBg:n});return[Tm(I),gm(I),Cm(I),xm(I),pm(I),lm(I),_m(I),fm(I),Cm(I),dm(I),ym(I),hm(I),Sm(I),um(I),bm(I),vm(I),wm(I)]},Em,{resetFont:!1,unitless:{expandIconScale:!0}}),km=[],Am=Z.createContext({}),jm=e=>{let{ariaProps:t,component:n=`table`}=Z.useContext(Am);return Z.createElement(n,{...t,...e})},Mm=Z.forwardRef((e,t)=>{let{prefixCls:n,className:r,rootClassName:i,style:a,classNames:s,styles:c,size:l,bordered:u,dropdownPrefixCls:d,dataSource:p,pagination:m,rowSelection:h,rowKey:_,rowClassName:v,column:y,columns:b,children:x,childrenColumnName:S,onChange:C,getPopupContainer:w,loading:T,expandIcon:E,expandable:D,expandedRowRender:k,expandIconColumnIndex:A,indentSize:j,scroll:M,sortDirections:N,locale:P,showSorterTooltip:I={target:`full-header`},virtual:R}=e;me(`Table`);let z=Of(Z.useMemo(()=>b||ns(x),[b,x]),y),B=Cd(Z.useMemo(()=>z.some(e=>e.responsive),[z])),V=Z.useMemo(()=>{let e=new Set(Object.keys(B).filter(e=>B[e]));return z.filter(t=>!t.responsive||t.responsive.some(t=>e.has(t)))},[z,B]),H=pt(e,[`className`,`style`,`column`,`columns`]),U=H.components,W=Ee(H,{aria:!0}),G=Object.keys(W).length>0,ee=Z.useMemo(()=>({ariaProps:W,component:U?.header?.table}),[W,U?.header?.table]),K=Z.useMemo(()=>G?{...U,header:{...U?.header,table:jm}}:U,[U,G]),{locale:te=ct,table:ne}=Z.useContext(Gt),{getPrefixCls:q,direction:J,renderEmpty:re,getPopupContainer:ie,className:Y,style:ae,classNames:oe,styles:se}=f(`table`),ce=o(e=>l===`middle`?`medium`:l??e),le={...e,size:ce,bordered:u},ue=fe(ae),de=fe(a),[pe,he]=O([oe,s],[se,ue,c,de],{props:le},{pagination:{_default:`root`},header:{_default:`wrapper`},body:{_default:`wrapper`}}),_e={...te.Table,...P},[ve]=Ve(`global`,ct.global),ye=p||km,be=q(`table`,n),xe=q(`dropdown`,d),[,X]=Ut(),Se=Z.useMemo(()=>yt(h)?{columnWidth:X.Table?.selectionColumnWidth,...h}:h,[h,X.Table?.selectionColumnWidth]),Ce=g(be),[we,Te]=Om(be,Ce),De={childrenColumnName:S,expandIconColumnIndex:A,...D,expandIcon:D?.expandIcon??ne?.expandable?.expandIcon},{childrenColumnName:Oe=`children`}=De,ke=Z.useMemo(()=>ye.some(e=>e?.[Oe])?`nest`:k||D?.expandedRowRender?`row`:null,[Oe,ye]),Ae={body:Z.useRef(null)},je=Df(be),Me=Z.useRef(null),Ne=Z.useRef(null);Mn(t,()=>({...Ne.current,nativeElement:Me.current}));let Pe=_||ne?.rowKey||`key`,Fe=M??ne?.scroll,Ie=Z.useMemo(()=>ge(Pe)?Pe:e=>e?.[Pe],[Pe]),[Le]=zp(ye,Oe,Ie),Re={},ze=(e,t,n=!1)=>{let r={...Re,...e};n&&(Re.resetPagination?.(),r.pagination?.current&&(r.pagination.current=1),m&&m.onChange?.(1,r.pagination?.pageSize)),M&&M.scrollToFirstRowOnChange!==!1&&Ae.body.current&&vd(0,{getContainer:()=>Ae.body.current}),C?.(r.pagination,r.filters,r.sorter,{currentDataSource:Ip(rm(ye,r.sorterStates,Oe),r.filterStates,Oe),action:t})},[Be,He,Ue,We]=im({prefixCls:be,mergedColumns:V,baseColumns:z,onSorterChange:(e,t)=>{ze({sorter:e,sorterStates:t},`sort`,!1)},sortDirections:N||[`ascend`,`descend`],tableLocale:_e,showSorterTooltip:I,globalLocale:ve}),Ge=Z.useMemo(()=>rm(ye,He,Oe),[Oe,ye,He]);Re.sorter=We(),Re.sorterStates=He;let[Ke,qe,Je]=Rp({prefixCls:be,locale:_e,dropdownPrefixCls:xe,mergedColumns:V,onFilterChange:(e,t)=>{ze({filters:e,filterStates:t},`filter`,!0)},getPopupContainer:w||ie,rootClassName:L(i,Ce)}),Ye=Ip(Ge,qe,Oe);Re.filters=Je,Re.filterStates=qe;let[Xe]=om(Z.useMemo(()=>{let e={};return Object.keys(Je).forEach(t=>{Je[t]!==null&&(e[t]=Je[t])}),{...Ue,filters:e}},[Ue,Je])),[Ze,Qe]=Vp(Ye.length,(e,t)=>{ze({pagination:{...Re.pagination,current:e,pageSize:t}},`paginate`)},m);Re.pagination=m===!1?{}:Bp(Ze,m),Re.resetPagination=Qe;let $e=Z.useMemo(()=>{if(m===!1||!Ze.pageSize)return Ye;let{current:e=1,total:t,pageSize:n=10}=Ze;return Ye.lengthn?Ye.slice((e-1)*n,e*n):Ye:Ye.slice((e-1)*n,e*n)},[!!m,Ye,Ze?.current,Ze?.pageSize,Ze?.total]),[et,tt]=md({prefixCls:be,data:Ye,pageData:$e,getRowKey:Ie,getRecordByKey:Le,expandType:ke,childrenColumnName:Oe,locale:_e,getPopupContainer:w||ie},Se),nt=(e,t,n)=>L({[`${be}-row-selected`]:tt.has(Ie(e,t))},ge(v)?v(e,t,n):v);De.__PARENT_RENDER_ICON__=De.expandIcon,De.expandIcon=De.expandIcon||E||Ef(_e),ke===`nest`&&De.expandIconColumnIndex===void 0?De.expandIconColumnIndex=+!!Se:De.expandIconColumnIndex>0&&Se&&--De.expandIconColumnIndex,F(De.indentSize)||(De.indentSize=F(j)?j:15);let rt=Z.useCallback(e=>Xe(et(Ke(Be(e)))),[Be,Ke,et]),it,at;if(m!==!1&&Ze?.total){let e;e=Ze.size?Ze.size:ce===`small`||ce===`medium`?`small`:void 0;let t=(t=`end`)=>Z.createElement(tf,{...Ze,classNames:pe.pagination,styles:he.pagination,className:L(`${be}-pagination ${be}-pagination-${t}`,Ze.className),size:e}),{placement:n,position:r}=Ze,i=n??r,a=e=>{let t=e.toLowerCase();return t.includes(`center`)?`center`:t.includes(`left`)||t.includes(`start`)?`start`:`end`};if(Array.isArray(i)){let[e,n]=[`top`,`bottom`].map(e=>i.find(t=>t.includes(e))),r=i.every(e=>`${e}`==`none`);!e&&!n&&!r&&(at=t()),e&&(it=t(a(e))),n&&(at=t(a(n)))}else at=t()}let ot=Z.useMemo(()=>{if(typeof T==`boolean`)return{spinning:T};if(yt(T))return{spinning:!0,...T}},[T]),st=L(Te,Ce,`${be}-wrapper`,Y,{[`${be}-wrapper-rtl`]:J===`rtl`},r,i,pe.root,we),lt=Z.useMemo(()=>ot?.spinning&&ye===km?null:P?.emptyText===void 0?re?.(`Table`)||Z.createElement(ft,{componentName:`Table`}):P.emptyText,[ot?.spinning,ye,P?.emptyText,re]),ut=R?cm:sm,mt={},ht=Z.useMemo(()=>{let{fontSize:e,lineHeight:t,lineWidth:n,padding:r,paddingXS:i,paddingSM:a}=X,o=Math.floor(e*t);switch(ce){case`medium`:return a*2+o+n;case`small`:return i*2+o+n;default:return r*2+o+n}},[X,ce]);return R&&(mt.listItemHeight=ht),Z.createElement(`div`,{ref:Me,className:st,style:he.root},Z.createElement(Tf,{spinning:!1,...ot},it,Z.createElement(Am.Provider,{value:ee},Z.createElement(ut,{...mt,...H,components:K,scroll:Fe,classNames:pe,styles:he,ref:Ne,columns:V,direction:J,expandable:De,prefixCls:be,className:L({[`${be}-medium`]:ce===`medium`,[`${be}-small`]:ce===`small`,[`${be}-bordered`]:u,[`${be}-empty`]:ye.length===0},Te,Ce,we),data:$e,rowKey:Ie,rowClassName:nt,emptyText:lt,internalHooks:Ga,internalRefs:Ae,transformColumns:rt,getContainerWidth:je,measureRowRender:e=>Z.createElement(Ea.Provider,{value:!0},Z.createElement(dt,{getPopupContainer:e=>e},e))})),at))}),Nm=Z.forwardRef((e,t)=>{let n=Z.useRef(0);return n.current+=1,Z.createElement(Mm,{...e,ref:t,_renderTimes:n.current})});Nm.SELECTION_COLUMN=cd,Nm.EXPAND_COLUMN=Wa,Nm.SELECTION_ALL=ld,Nm.SELECTION_INVERT=ud,Nm.SELECTION_NONE=dd,Nm.Column=Hs,Nm.ColumnGroup=Us,Nm.Summary=Do;var Pm=Nm,Fm=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z`}},{tag:`path`,attrs:{d:`M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z`}}]},name:`plus`,theme:`outlined`}}))());function Im(){return Im=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Im({},e,{ref:t,icon:Fm.default}))),Rm=(0,Z.createContext)(null),zm=e=>{let{activeTabOffset:t,horizontal:n,rtl:r,indicator:i={}}=e,{size:a,align:o=`center`}=i,[s,c]=(0,Z.useState)(),l=(0,Z.useRef)(),u=Z.useCallback(e=>typeof a==`function`?a(e):typeof a==`number`?a:e,[a]);function d(){Ye.cancel(l.current)}return(0,Z.useEffect)(()=>{let e={};if(t)if(n){e.width=u(t.width);let n=r?`right`:`left`;o===`start`&&(e[n]=t[n]),o===`center`&&(e[n]=t[n]+t.width/2,e.transform=r?`translateX(50%)`:`translateX(-50%)`),o===`end`&&(e[n]=t[n]+t.width,e.transform=`translateX(-100%)`)}else e.height=u(t.height),o===`start`&&(e.top=t.top),o===`center`&&(e.top=t.top+t.height/2,e.transform=`translateY(-50%)`),o===`end`&&(e.top=t.top+t.height,e.transform=`translateY(-100%)`);return d(),l.current=Ye(()=>{s&&e&&Object.keys(e).every(t=>{let n=e[t],r=s[t];return typeof n==`number`&&typeof r==`number`?Math.round(n)===Math.round(r):n===r})||c(e)}),d},[JSON.stringify(t),n,r,o,u]),{style:s}},Bm={width:0,height:0,left:0,top:0};function Vm(e,t,n){return(0,Z.useMemo)(()=>{let n=new Map,r=t.get(e[0]?.key)||Bm,i=r.left+r.width;for(let r=0;re.key).join(`_`),t,n])}function Hm(e,t){let n=Z.useRef(e),[,r]=Z.useState({});function i(e){let i=typeof e==`function`?e(n.current):e;i!==n.current&&t(i,n.current),n.current=i,r({})}return[n.current,i]}var Um=.1,Wm=.01,Gm=20,Km=.995**Gm;function qm(e,t){let[n,r]=(0,Z.useState)(),[i,a]=(0,Z.useState)(0),[o,s]=(0,Z.useState)(0),[c,l]=(0,Z.useState)(),u=(0,Z.useRef)();function d(e){let{screenX:t,screenY:n}=e.touches[0];r({x:t,y:n}),window.clearInterval(u.current)}function f(e){if(!n)return;let{screenX:o,screenY:c}=e.touches[0];r({x:o,y:c});let u=o-n.x,d=c-n.y;t(u,d);let f=Date.now();a(f),s(f-i),l({x:u,y:d})}function p(){if(n&&(r(null),l(null),c)){let e=c.x/o,n=c.y/o;if(Math.max(Math.abs(e),Math.abs(n)){if(Math.abs(r)o?(i=n,m.current=`x`):(i=r,m.current=`y`),t(-i,-i)&&e.preventDefault()}let g=(0,Z.useRef)(null);g.current={onTouchStart:d,onTouchMove:f,onTouchEnd:p,onWheel:h},Z.useEffect(()=>{function t(e){g.current.onTouchStart(e)}function n(e){g.current.onTouchMove(e)}function r(e){g.current.onTouchEnd(e)}function i(e){g.current.onWheel(e)}return document.addEventListener(`touchmove`,n,{passive:!1}),document.addEventListener(`touchend`,r,{passive:!0}),e.current.addEventListener(`touchstart`,t,{passive:!0}),e.current.addEventListener(`wheel`,i,{passive:!1}),()=>{document.removeEventListener(`touchmove`,n),document.removeEventListener(`touchend`,r)}},[])}function Jm(e){let[t,n]=(0,Z.useState)(0),r=(0,Z.useRef)(0),i=(0,Z.useRef)();return i.current=e,Qe(()=>{i.current?.()},[t]),()=>{r.current===t&&(r.current+=1,n(r.current))}}function Ym(e){let t=(0,Z.useRef)([]),[,n]=(0,Z.useState)({}),r=(0,Z.useRef)(typeof e==`function`?e():e),i=Jm(()=>{let e=r.current;t.current.forEach(t=>{e=t(e)}),t.current=[],r.current=e,n({})});function a(e){t.current.push(e),i()}return[r.current,a]}var Xm={width:0,height:0,left:0,top:0,right:0};function Zm(e,t,n,r,i,a,{tabs:o,tabPosition:s,rtl:c}){let l,u,d;return[`top`,`bottom`].includes(s)?(l=`width`,u=c?`right`:`left`,d=Math.abs(n)):(l=`height`,u=`top`,d=-n),(0,Z.useMemo)(()=>{if(!o.length)return[0,0];let n=o.length,r=n;for(let i=0;iMath.floor(d+t)){r=i-1;break}}let i=0;for(let t=n-1;t>=0;--t)if((e.get(o[t].key)||Xm)[u]r?[0,-1]:[i,r]},[e,t,r,i,a,d,s,o.map(e=>e.key).join(`_`),c])}function Qm(e){let t;return e instanceof Map?(t={},e.forEach((e,n)=>{t[n]=e})):t=e,JSON.stringify(t)}var $m=`TABS_DQ`;function eh(e){return String(e).replace(/"/g,$m)}function th(e,t,n,r){return!(!n||r||e===!1||e===void 0&&(t===!1||t===null))}var nh=Z.forwardRef((e,t)=>{let{prefixCls:n,editable:r,locale:i,style:a}=e;return!r||r.showAdd===!1?null:Z.createElement(`button`,{ref:t,type:`button`,className:`${n}-nav-add`,style:a,"aria-label":i?.addAriaLabel||`Add tab`,onClick:e=>{r.onEdit(`add`,{event:e})}},r.addIcon||`+`)}),rh=Z.forwardRef((e,t)=>{let{position:n,prefixCls:r,extra:i}=e;if(!i)return null;let a,o={};return typeof i==`object`&&!Z.isValidElement(i)?o=i:o.right=i,n===`right`&&(a=o.right),n===`left`&&(a=o.left),a?Z.createElement(`div`,{className:`${r}-extra-content`,ref:t},a):null});function ih(){return ih=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n,id:r,tabs:i,locale:a,mobile:o,more:s={},style:c,className:l,editable:u,tabBarGutter:d,rtl:f,removeAriaLabel:p,onTabClick:m,getPopupContainer:h,popupClassName:g,popupStyle:_,classNames:v,styles:y}=e,[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(null),{icon:w=`More`}=s,T=`${r}-more-popup`,E=`${n}-dropdown`,D=S===null?null:`${T}-${S}`,O=a?.dropdownAriaLabel;function k(e,t){e.preventDefault(),e.stopPropagation(),u.onEdit(`remove`,{key:t,event:e})}let A=Z.createElement(mu,{onClick:({key:e,domEvent:t})=>{m(e,t),x(!1)},prefixCls:`${E}-menu`,id:T,tabIndex:-1,role:`listbox`,"aria-activedescendant":D,selectedKeys:[S],"aria-label":O===void 0?`expanded dropdown`:O},i.map(e=>{let{closable:t,disabled:n,closeIcon:i,key:a,label:o}=e,s=th(t,i,u,n);return Z.createElement(Wl,{key:a,id:`${T}-${a}`,role:`option`,"aria-controls":r&&`${r}-panel-${a}`,disabled:n},Z.createElement(`span`,null,o),s&&Z.createElement(`button`,{type:`button`,"aria-label":p||`remove`,tabIndex:0,className:L(`${E}-menu-item-remove`,v?.remove),style:y?.remove,onClick:e=>{e.stopPropagation(),k(e,a)}},i||u.removeIcon||`×`))}));function j(e){let t=i.filter(e=>!e.disabled),n=t.findIndex(e=>e.key===S)||0,r=t.length;for(let i=0;i{let e=document.getElementById(D);e?.scrollIntoView&&e.scrollIntoView(!1)},[D,S]),(0,Z.useEffect)(()=>{b||C(null)},[b]);let N={marginInlineStart:d};i.length||(N.visibility=`hidden`,N.order=1);let P=L(g,{[`${E}-rtl`]:f}),F=o?null:Z.createElement($c,ih({prefixCls:E,overlay:A,visible:i.length?b:!1,onVisibleChange:x,overlayClassName:P,overlayStyle:_,mouseEnterDelay:.1,mouseLeaveDelay:.1,getPopupContainer:h},s),Z.createElement(`button`,{type:`button`,className:`${n}-nav-more`,style:N,"aria-haspopup":`listbox`,"aria-controls":T,id:`${r}-more`,"aria-expanded":b,onKeyDown:M},w));return Z.createElement(`div`,{className:L(`${n}-nav-operations`,l),style:c,ref:t},F,Z.createElement(nh,{prefixCls:n,locale:a,editable:u}))}),oh=Z.memo(ah,(e,t)=>t.tabMoving),sh=e=>{let{prefixCls:t,id:n,active:r,focus:i,tab:{key:a,label:o,disabled:s,closeIcon:c,icon:l},closable:u,renderWrapper:d,removeAriaLabel:f,editable:p,onClick:m,onFocus:h,onBlur:g,onKeyDown:_,onMouseDown:v,onMouseUp:y,styles:b,classNames:x,tabCount:S,currentPosition:C}=e,w=`${t}-tab`,T=th(u,c,p,s);function E(e){s||m(e)}function D(e){e.preventDefault(),e.stopPropagation(),p.onEdit(`remove`,{key:a,event:e})}let O=Z.useMemo(()=>l&&typeof o==`string`?Z.createElement(`span`,null,o):o,[o,l]),k=Z.useRef(null);Z.useEffect(()=>{i&&k.current&&k.current.focus()},[i]);let A=Z.createElement(`div`,{key:a,"data-node-key":eh(a),className:L(w,x?.item,{[`${w}-with-remove`]:T,[`${w}-active`]:r,[`${w}-disabled`]:s,[`${w}-focus`]:i}),style:b?.item,onClick:E},Z.createElement(`div`,{ref:k,role:`tab`,"aria-selected":r,id:n&&`${n}-tab-${a}`,className:`${w}-btn`,"aria-controls":n&&`${n}-panel-${a}`,"aria-disabled":s,tabIndex:s?null:r?0:-1,onClick:e=>{e.stopPropagation(),E(e)},onKeyDown:_,onMouseDown:v,onMouseUp:y,onFocus:h,onBlur:g},i&&Z.createElement(`div`,{"aria-live":`polite`,style:{width:0,height:0,position:`absolute`,overflow:`hidden`,opacity:0}},`Tab ${C} of ${S}`),l&&Z.createElement(`span`,{className:`${w}-icon`},l),o&&O),T&&Z.createElement(`button`,{type:`button`,"aria-label":f||`remove`,tabIndex:r?0:-1,className:L(`${w}-remove`,x?.remove),style:b?.remove,onClick:e=>{e.stopPropagation(),D(e)}},c||p.removeIcon||`×`));return d?d(A):A};function ch(){return ch=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{offsetWidth:n,offsetHeight:r,offsetTop:i,offsetLeft:a}=e,{width:o,height:s,left:c,top:l}=e.getBoundingClientRect();return Math.abs(o-n)<1?[o,s,c-t.left,l-t.top]:[n,r,a,i]},uh=e=>{let{offsetWidth:t=0,offsetHeight:n=0}=e.current||{};if(e.current){let{width:n,height:r}=e.current.getBoundingClientRect();if(Math.abs(n-t)<1)return[n,r]}return[t,n]},dh=(e,t)=>e[+!t],fh=Z.forwardRef((e,t)=>{let{className:n,style:r,id:i,animated:a,activeKey:o,rtl:s,extra:c,editable:l,locale:u,tabPosition:d,tabBarGutter:f,children:p,onTabClick:m,onTabScroll:h,indicator:g,classNames:_,styles:v}=e,{prefixCls:y,tabs:b}=Z.useContext(Rm),x=(0,Z.useRef)(null),S=(0,Z.useRef)(null),C=(0,Z.useRef)(null),w=(0,Z.useRef)(null),T=(0,Z.useRef)(null),E=(0,Z.useRef)(null),D=(0,Z.useRef)(null),O=d===`top`||d===`bottom`,[k,A]=Hm(0,(e,t)=>{O&&h&&h({direction:e>t?`left`:`right`})}),[j,M]=Hm(0,(e,t)=>{!O&&h&&h({direction:e>t?`top`:`bottom`})}),[N,P]=(0,Z.useState)([0,0]),[F,I]=(0,Z.useState)([0,0]),[R,z]=(0,Z.useState)([0,0]),[B,V]=(0,Z.useState)([0,0]),[H,W]=Ym(new Map),G=Vm(b,H,F[0]),ee=dh(N,O),K=dh(F,O),te=dh(R,O),ne=dh(B,O),q=Math.floor(ee)Y?Y:e}let oe=(0,Z.useRef)(null),[se,ce]=(0,Z.useState)();function le(){ce(Date.now())}function ue(){oe.current&&clearTimeout(oe.current)}qm(w,(e,t)=>{function n(e,t){e(e=>ae(e+t))}return q?(O?n(A,e):n(M,t),ue(),le(),!0):!1}),(0,Z.useEffect)(()=>(ue(),se&&(oe.current=setTimeout(()=>{ce(0)},100)),ue),[se]);let[de,fe]=Zm(G,J,O?k:j,K,te,ne,{...e,tabs:b}),pe=U((e=o)=>{let t=G.get(e)||{width:0,height:0,left:0,right:0,top:0};if(O){let e=k;s?t.rightk+J&&(e=t.right+t.width-J):t.left<-k?e=-t.left:t.left+t.width>-k+J&&(e=-(t.left+t.width-J)),M(0),A(ae(e))}else{let e=j;t.top<-j?e=-t.top:t.top+t.height>-j+J&&(e=-(t.top+t.height-J)),A(0),M(ae(e))}}),[me,he]=(0,Z.useState)(),[ge,_e]=(0,Z.useState)(!1),ve=b.filter(e=>!e.disabled).map(e=>e.key),ye=e=>{let t=ve.indexOf(me||o),n=ve.length,r=ve[(t+e+n)%n];he(r)},be=(e,t)=>{let n=ve.indexOf(e),r=b.find(t=>t.key===e);th(r?.closable,r?.closeIcon,l,r?.disabled)&&(t.preventDefault(),t.stopPropagation(),l.onEdit(`remove`,{key:e,event:t}),n===ve.length-1?ye(-1):ye(1))},xe=(e,t)=>{_e(!0),t.button===1&&be(e,t)},X=e=>{let{code:t}=e,n=s&&O,r=ve[0],i=ve[ve.length-1];switch(t){case`ArrowLeft`:O&&ye(n?1:-1);break;case`ArrowRight`:O&&ye(n?-1:1);break;case`ArrowUp`:e.preventDefault(),O||ye(-1);break;case`ArrowDown`:e.preventDefault(),O||ye(1);break;case`Home`:e.preventDefault(),he(r);break;case`End`:e.preventDefault(),he(i);break;case`Enter`:case`Space`:e.preventDefault(),m(me??o,e);break;case`Backspace`:case`Delete`:be(me,e);break}},Se={};O?Se.marginInlineStart=f:Se.marginTop=f;let Ce=b.map((e,t)=>{let{key:n}=e;return Z.createElement(sh,{id:i,prefixCls:y,key:n,tab:e,classNames:{item:_?.item,remove:_?.remove},styles:{item:t===0?v?.item:{...Se,...v?.item},remove:v?.remove},closable:e.closable,editable:l,active:n===o,focus:n===me,renderWrapper:p,removeAriaLabel:u?.removeAriaLabel,tabCount:ve.length,currentPosition:t+1,onClick:e=>{m(n,e)},onKeyDown:X,onFocus:()=>{ge||he(n),pe(n),le(),w.current&&(s||(w.current.scrollLeft=0),w.current.scrollTop=0)},onBlur:()=>{he(void 0)},onMouseDown:e=>xe(n,e),onMouseUp:()=>{_e(!1)}})}),we=()=>W(()=>{let e=new Map,t=T.current?.getBoundingClientRect();return b.forEach(({key:n})=>{let r=T.current?.querySelector(`[data-node-key="${eh(n)}"]`);if(r){let[i,a,o,s]=lh(r,t);e.set(n,{width:i,height:a,left:o,top:s})}}),e});(0,Z.useEffect)(()=>{we()},[b.map(e=>e.key).join(`_`)]);let Te=Jm(()=>{let e=uh(x),t=uh(S),n=uh(C);P([e[0]-t[0]-n[0],e[1]-t[1]-n[1]]);let r=uh(D);z(r),V(uh(E));let i=uh(T);I([i[0]-r[0],i[1]-r[1]]),we()}),Ee=b.slice(0,de),De=b.slice(fe+1),Oe=[...Ee,...De],ke=G.get(o),{style:Ae}=zm({activeTabOffset:ke,horizontal:O,indicator:g,rtl:s});(0,Z.useEffect)(()=>{pe()},[o,ie,Y,Qm(ke),Qm(G),O]),(0,Z.useEffect)(()=>{Te()},[s]);let je=!!Oe.length,Me=`${y}-nav-wrap`,Ne,Pe,Fe,Ie;return O?s?(Pe=k>0,Ne=k!==Y):(Ne=k<0,Pe=k!==ie):(Fe=j<0,Ie=j!==ie),Z.createElement(jt,{onResize:Te},Z.createElement(`div`,{ref:It(t,x),role:`tablist`,"aria-orientation":O?`horizontal`:`vertical`,className:L(`${y}-nav`,n,_?.header),style:{...v?.header,...r},onKeyDown:()=>{le()}},Z.createElement(rh,{ref:S,position:`left`,extra:c,prefixCls:y}),Z.createElement(jt,{onResize:Te},Z.createElement(`div`,{className:L(Me,{[`${Me}-ping-left`]:Ne,[`${Me}-ping-right`]:Pe,[`${Me}-ping-top`]:Fe,[`${Me}-ping-bottom`]:Ie}),ref:w},Z.createElement(jt,{onResize:Te},Z.createElement(`div`,{ref:T,className:`${y}-nav-list`,style:{transform:`translate(${k}px, ${j}px)`,transition:se?`none`:void 0}},Ce,Z.createElement(nh,{ref:D,prefixCls:y,locale:u,editable:l,style:{...Ce.length===0?void 0:Se,visibility:je?`hidden`:null}}),Z.createElement(`div`,{className:L(`${y}-ink-bar`,_?.indicator,{[`${y}-ink-bar-animated`]:a.inkBar}),style:{...Ae,...v?.indicator}}))))),Z.createElement(oh,ch({},e,{removeAriaLabel:u?.removeAriaLabel,ref:E,prefixCls:y,tabs:Oe,className:!je&&re,popupStyle:v?.popup,tabMoving:!!se})),Z.createElement(rh,{ref:C,position:`right`,extra:c,prefixCls:y})))}),ph=({renderTabBar:e,...t})=>e?e(t,fh):Z.createElement(fh,t),mh=Z.forwardRef((e,t)=>{let{prefixCls:n,className:r,style:i,id:a,active:o,tabKey:s,children:c}=e,l=Z.Children.count(c)>0;return Z.createElement(`div`,{id:a&&`${a}-panel-${s}`,role:`tabpanel`,tabIndex:o&&l?0:-1,"aria-labelledby":a&&`${a}-tab-${s}`,"aria-hidden":!o,style:i,className:L(n,o&&`${n}-active`,r),ref:t},c)});function hh(){return hh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{id:t,activeKey:n,animated:r,tabPosition:i,destroyOnHidden:a,bodyStyle:o,bodyClassName:s,contentStyle:c,contentClassName:l}=e,{prefixCls:u,tabs:d}=Z.useContext(Rm),f=r.tabPane,p=`${u}-body`,m=`${u}-content`;return Z.createElement(`div`,{className:L(`${p}-holder`)},Z.createElement(`div`,{className:L(p,`${p}-${i}`,{[`${p}-animated`]:f},s),style:o},d.map(e=>{let{key:i,forceRender:o,style:s,className:u,destroyOnHidden:d,...p}=e,h=i===n;return Z.createElement(re,hh({key:i,visible:h,forceRender:o,removeOnLeave:!!(a??d),leavedClassName:`${m}-hidden`},r.tabPaneMotion),({style:e,className:n},r)=>Z.createElement(mh,hh({},p,{prefixCls:m,id:t,tabKey:i,animated:f,active:h,style:{...c,...s,...e},className:L(l,u,n),ref:r})))})))};function _h(e={inkBar:!0,tabPane:!1}){let t;return t=e===!1?{inkBar:!1,tabPane:!1}:e===!0?{inkBar:!0,tabPane:!1}:{inkBar:!0,...typeof e==`object`?e:{}},t.tabPaneMotion&&t.tabPane===void 0&&(t.tabPane=!0),!t.tabPaneMotion&&t.tabPane&&(t.tabPane=!1),t}function vh(){return vh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{id:n,prefixCls:r=`rc-tabs`,className:i,items:a,direction:o,activeKey:s,defaultActiveKey:c,editable:l,animated:u,tabPosition:d=`top`,tabBarGutter:f,tabBarStyle:p,tabBarExtraContent:m,locale:h,more:g,destroyOnHidden:_,renderTabBar:v,onChange:y,onTabClick:b,onTabScroll:x,getPopupContainer:S,popupClassName:C,indicator:w,classNames:T,styles:E,...D}=e,O=Z.useMemo(()=>(a||[]).filter(e=>e&&typeof e==`object`&&`key`in e),[a]),k=o===`rtl`,A=_h(u),[j,M]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{M(wt())},[]);let[N,P]=ee(c??O[0]?.key,s),[F,I]=(0,Z.useState)(()=>O.findIndex(e=>e.key===N));(0,Z.useEffect)(()=>{let e=O.findIndex(e=>e.key===N);e===-1&&(e=Math.max(0,Math.min(F,O.length-1)),P(O[e]?.key)),I(e)},[O.map(e=>e.key).join(`_`),N,F]);let[R,z]=ee(null,n);(0,Z.useEffect)(()=>{n||(z(`rc-tabs-${yh}`),yh+=1)},[]);function B(e,t){b?.(e,t);let n=e!==N;P(e),n&&y?.(e)}let V={id:R,activeKey:N,animated:A,tabPosition:d,rtl:k,mobile:j},H={...V,editable:l,locale:h,more:g,tabBarGutter:f,onTabClick:B,onTabScroll:x,extra:m,style:p,getPopupContainer:S,popupClassName:L(C,T?.popup),indicator:w,styles:E,classNames:T},U=Z.useMemo(()=>({tabs:O,prefixCls:r}),[O,r]);return Z.createElement(Rm.Provider,{value:U},Z.createElement(`div`,vh({ref:t,id:n,className:L(r,`${r}-${d}`,{[`${r}-mobile`]:j,[`${r}-editable`]:l,[`${r}-rtl`]:k},i)},D),Z.createElement(ph,vh({},H,{renderTabBar:v})),Z.createElement(gh,vh({destroyOnHidden:_},V,{bodyStyle:E?.body,bodyClassName:T?.body,contentStyle:E?.content,contentClassName:T?.content,animated:A}))))}),xh={motionAppear:!1,motionEnter:!0,motionLeave:!0};function Sh(e,t={inkBar:!0,tabPane:!1}){let n;return n=t===!1?{inkBar:!1,tabPane:!1}:t===!0?{inkBar:!0,tabPane:!0}:{inkBar:!0,...yt(t)?t:{}},n.tabPane&&(n.tabPaneMotion={...xh,motionName:c(e,`switch`)}),n}function Ch(e){return e.filter(e=>e)}function wh(e,t){return e?e.map(e=>({...e,destroyOnHidden:e.destroyOnHidden??e.destroyInactiveTabPane})):Ch(xt(t).map(e=>{if(Z.isValidElement(e)){let{key:t,props:n}=e,{tab:r,...i}=n||{};return{key:String(t),...i,label:r}}return null}))}var Th=e=>{let{componentCls:t,motionDurationSlow:n}=e;return[{[t]:{[`${t}-switch`]:{"&-appear, &-enter":{transition:`none`,"&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${n}`}},"&-leave":{position:`absolute`,transition:`none`,inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${n}`}}}}},[te(e,`slide-up`),te(e,`slide-down`)]]},Eh=e=>{let{componentCls:t,tabsCardPadding:n,cardBg:r,cardGutter:i,colorBorderSecondary:a,itemSelectedColor:o}=e;return{[`${t}-card`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{margin:0,padding:n,background:r,border:`${Y(e.lineWidth)} ${e.lineType} ${a}`,transition:`all ${e.motionDurationSlow} ${e.motionEaseInOut}`},[`${t}-tab-active`]:{color:o,background:e.colorBgContainer},[`${t}-tab-focus:has(${t}-tab-btn:focus-visible)`]:$e(e,-3),[`& ${t}-tab${t}-tab-focus ${t}-tab-btn:focus-visible`]:{outline:`none`},[`${t}-ink-bar`]:{visibility:`hidden`}},[`&${t}-top, &${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab + ${t}-tab`]:{marginLeft:{_skip_check_:!0,value:Y(i)}}}},[`&${t}-top`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:`${Y(e.borderRadiusLG)} ${Y(e.borderRadiusLG)} 0 0`},[`${t}-tab-active`]:{borderBottomColor:e.colorBgContainer}}},[`&${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:`0 0 ${Y(e.borderRadiusLG)} ${Y(e.borderRadiusLG)}`},[`${t}-tab-active`]:{borderTopColor:e.colorBgContainer}}},[`&${t}-left, &${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab + ${t}-tab`]:{marginTop:Y(i)}}},[`&${t}-left`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Y(e.borderRadiusLG)} 0 0 ${Y(e.borderRadiusLG)}`}},[`${t}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:e.colorBgContainer}}}},[`&${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Y(e.borderRadiusLG)} ${Y(e.borderRadiusLG)} 0`}},[`${t}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:e.colorBgContainer}}}}}}},Dh=e=>{let{antCls:t,componentCls:n,itemHoverColor:r,dropdownEdgeChildVerticalPadding:i}=e;return{[`${n}-dropdown`]:{...q(e),position:`absolute`,top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:e.zIndexPopup,display:`block`,"&-hidden":{display:`none`},[`&${t}-slide-down-enter${t}-slide-down-enter-active${n}-dropdown-placement-bottomLeft, + &${t}-slide-down-appear${t}-slide-down-appear-active${n}-dropdown-placement-bottomLeft, + &${t}-slide-down-enter${t}-slide-down-enter-active${n}-dropdown-placement-bottom, + &${t}-slide-down-appear${t}-slide-down-appear-active${n}-dropdown-placement-bottom, + &${t}-slide-down-enter${t}-slide-down-enter-active${n}-dropdown-placement-bottomRight, + &${t}-slide-down-appear${t}-slide-down-appear-active${n}-dropdown-placement-bottomRight`]:{animationName:pe},[`&${t}-slide-up-enter${t}-slide-up-enter-active${n}-dropdown-placement-topLeft, + &${t}-slide-up-appear${t}-slide-up-appear-active${n}-dropdown-placement-topLeft, + &${t}-slide-up-enter${t}-slide-up-enter-active${n}-dropdown-placement-top, + &${t}-slide-up-appear${t}-slide-up-appear-active${n}-dropdown-placement-top, + &${t}-slide-up-enter${t}-slide-up-enter-active${n}-dropdown-placement-topRight, + &${t}-slide-up-appear${t}-slide-up-appear-active${n}-dropdown-placement-topRight`]:{animationName:S},[`&${t}-slide-down-leave${t}-slide-down-leave-active${n}-dropdown-placement-bottomLeft, + &${t}-slide-down-leave${t}-slide-down-leave-active${n}-dropdown-placement-bottom, + &${t}-slide-down-leave${t}-slide-down-leave-active${n}-dropdown-placement-bottomRight`]:{animationName:D},[`&${t}-slide-up-leave${t}-slide-up-leave-active${n}-dropdown-placement-topLeft, + &${t}-slide-up-leave${t}-slide-up-leave-active${n}-dropdown-placement-top, + &${t}-slide-up-leave${t}-slide-up-leave-active${n}-dropdown-placement-topRight`]:{animationName:k},[`${n}-dropdown-menu`]:{maxHeight:e.tabsDropdownHeight,margin:0,padding:`${Y(i)} 0`,overflowX:`hidden`,overflowY:`auto`,textAlign:{_skip_check_:!0,value:`left`},listStyleType:`none`,backgroundColor:e.colorBgContainer,backgroundClip:`padding-box`,borderRadius:e.borderRadiusLG,outline:`none`,boxShadow:e.boxShadowSecondary,"&-item":{...j,display:`flex`,alignItems:`center`,minWidth:e.tabsDropdownWidth,margin:0,padding:`${Y(e.paddingXXS)} ${Y(e.paddingSM)}`,color:e.colorText,fontWeight:`normal`,fontSize:e.fontSize,lineHeight:e.lineHeight,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`,"> span":{flex:1,whiteSpace:`nowrap`},"&-remove":{flex:`none`,marginLeft:{_skip_check_:!0,value:e.marginSM},color:e.colorIcon,fontSize:e.fontSizeSM,background:`transparent`,border:0,cursor:`pointer`,"&:hover":{color:r}},"&:hover":{background:e.controlItemBgHover},"&-disabled":{"&, &:hover":{color:e.colorTextDisabled,background:`transparent`,cursor:`not-allowed`}}}}}}},Oh=e=>{let{componentCls:t,margin:n,colorBorderSecondary:r,horizontalMargin:i,verticalItemPadding:a,verticalItemMargin:o,motionDurationSlow:s,calc:c}=e;return{[`${t}-top, ${t}-bottom`]:{flexDirection:`column`,[`> ${t}-nav, > div > ${t}-nav`]:{margin:i,"&::before":{position:`absolute`,right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${Y(e.lineWidth)} ${e.lineType} ${r}`,content:`''`},[`${t}-ink-bar`]:{height:e.lineWidthBold,"&-animated":{transition:[`width`,`left`,`right`].map(e=>`${e} ${s}`).join(`, `)}},[`${t}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:e.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:e.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:e.boxShadowTabsOverflowRight},[`&${t}-nav-wrap-ping-left::before`]:{opacity:1},[`&${t}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${t}-top`]:{[`> ${t}-nav, + > div > ${t}-nav`]:{"&::before":{bottom:0},[`${t}-ink-bar`]:{bottom:0}}},[`${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{order:1,marginTop:n,marginBottom:0,"&::before":{top:0},[`${t}-ink-bar`]:{top:0}},[`> ${t}-body-holder, > div > ${t}-body-holder`]:{order:0}},[`${t}-left, ${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{flexDirection:`column`,minWidth:c(e.controlHeight).mul(1.25).equal(),[`${t}-tab`]:{padding:a,textAlign:`center`},[`${t}-tab + ${t}-tab`]:{margin:o},[`${t}-nav-wrap`]:{flexDirection:`column`,"&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:e.controlHeight},"&::before":{top:0,boxShadow:e.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:e.boxShadowTabsOverflowBottom},[`&${t}-nav-wrap-ping-top::before`]:{opacity:1},[`&${t}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${t}-ink-bar`]:{width:e.lineWidthBold,"&-animated":{transition:[`height`,`top`].map(e=>`${e} ${s}`).join(`, `)}},[`${t}-nav-list, ${t}-nav-operations`]:{flex:`1 0 auto`,flexDirection:`column`}}},[`${t}-left`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${t}-body-holder, > div > ${t}-body-holder`]:{marginLeft:{_skip_check_:!0,value:Y(c(e.lineWidth).mul(-1).equal())},borderLeft:{_skip_check_:!0,value:`${Y(e.lineWidth)} ${e.lineType} ${e.colorBorder}`},[`> ${t}-body > ${t}-content`]:{paddingLeft:{_skip_check_:!0,value:e.paddingLG}}}},[`${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{order:1,[`${t}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${t}-body-holder, > div > ${t}-body-holder`]:{order:0,marginRight:{_skip_check_:!0,value:c(e.lineWidth).mul(-1).equal()},borderRight:{_skip_check_:!0,value:`${Y(e.lineWidth)} ${e.lineType} ${e.colorBorder}`},[`> ${t}-body > ${t}-content`]:{paddingRight:{_skip_check_:!0,value:e.paddingLG}}}}}},kh=e=>{let{componentCls:t,cardPaddingSM:n,cardPaddingLG:r,cardHeightSM:i,cardHeightLG:a,horizontalItemPaddingSM:o,horizontalItemPaddingLG:s}=e;return{[t]:{"&-small":{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:o,fontSize:e.titleFontSizeSM}}},"&-large":{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:s,fontSize:e.titleFontSizeLG,lineHeight:e.lineHeightLG}}}},[`${t}-card`]:{[`&${t}-small`]:{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:n},[`${t}-nav-add`]:{minWidth:i,minHeight:i}},[`&${t}-bottom`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:`0 0 ${Y(e.borderRadius)} ${Y(e.borderRadius)}`}},[`&${t}-top`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:`${Y(e.borderRadius)} ${Y(e.borderRadius)} 0 0`}},[`&${t}-right`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${Y(e.borderRadius)} ${Y(e.borderRadius)} 0`}}},[`&${t}-left`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`${Y(e.borderRadius)} 0 0 ${Y(e.borderRadius)}`}}}},[`&${t}-large`]:{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:r},[`${t}-nav-add`]:{minWidth:a,minHeight:a}}}}}},Ah=e=>{let{componentCls:t,itemActiveColor:n,itemHoverColor:r,iconCls:i,tabsHorizontalItemMargin:a,horizontalItemPadding:o,itemSelectedColor:s,itemColor:c}=e,l=`${t}-tab`;return{[l]:{position:`relative`,WebkitTouchCallout:`none`,WebkitTapHighlightColor:`transparent`,display:`inline-flex`,alignItems:`center`,padding:o,fontSize:e.titleFontSize,background:`transparent`,border:0,outline:`none`,cursor:`pointer`,color:c,"&-btn, &-remove":{"&:focus:not(:focus-visible), &:active":{color:n}},"&-btn":{outline:`none`,transition:`all ${e.motionDurationSlow}`,[`${l}-icon:not(:last-child)`]:{marginInlineEnd:e.marginSM}},"&-remove":{flex:`none`,lineHeight:1,marginRight:{_skip_check_:!0,value:e.calc(e.marginXXS).mul(-1).equal()},marginLeft:{_skip_check_:!0,value:e.marginXS},color:e.colorIcon,fontSize:e.fontSizeSM,background:`transparent`,border:`none`,outline:`none`,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`,"&:hover":{color:e.colorTextHeading},...V(e)},"&:hover":{color:r},[`&${l}-active ${l}-btn`]:{color:s},[`&${l}-focus ${l}-btn:focus-visible`]:$e(e),[`&${l}-disabled`]:{color:e.colorTextDisabled,cursor:`not-allowed`},[`&${l}-disabled ${l}-btn, &${l}-disabled ${t}-remove`]:{"&:focus, &:active":{color:e.colorTextDisabled}},[`& ${l}-remove ${i}`]:{margin:0,verticalAlign:`middle`},[`${i}:not(:last-child)`]:{marginRight:{_skip_check_:!0,value:e.marginSM}}},[`${l} + ${l}`]:{margin:{_skip_check_:!0,value:a}}}},jh=e=>{let{componentCls:t,tabsHorizontalItemMarginRTL:n,iconCls:r,cardGutter:i,calc:a}=e;return{[`${t}-rtl`]:{direction:`rtl`,[`${t}-nav`]:{[`${t}-tab`]:{margin:{_skip_check_:!0,value:n},[`${t}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[r]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:e.marginSM}},[`${t}-tab-remove`]:{marginRight:{_skip_check_:!0,value:e.marginXS},marginLeft:{_skip_check_:!0,value:a(e.marginXXS).mul(-1).equal()},[r]:{margin:0}}}},[`&${t}-left`]:{[`> ${t}-nav`]:{order:1},[`> ${t}-body-holder`]:{order:0}},[`&${t}-right`]:{[`> ${t}-nav`]:{order:0},[`> ${t}-body-holder`]:{order:1}},[`&${t}-card${t}-top, &${t}-card${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab + ${t}-tab`]:{marginRight:{_skip_check_:!0,value:i},marginLeft:{_skip_check_:!0,value:0}}}}},[`${t}-dropdown-rtl`]:{direction:`rtl`},[`${t}-menu-item`]:{[`${t}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:`right`}}}}},Mh=e=>{let{componentCls:t,tabsCardPadding:n,cardHeight:r,cardGutter:i,itemHoverColor:a,itemActiveColor:o,colorBorderSecondary:s}=e;return{[t]:{...q(e),display:`flex`,[`> ${t}-nav, > div > ${t}-nav`]:{position:`relative`,display:`flex`,flex:`none`,alignItems:`center`,[`${t}-nav-wrap`]:{position:`relative`,display:`flex`,flex:`auto`,alignSelf:`stretch`,overflow:`hidden`,whiteSpace:`nowrap`,transform:`translate(0)`,"&::before, &::after":{position:`absolute`,zIndex:1,opacity:0,transition:`opacity ${e.motionDurationSlow}`,content:`''`,pointerEvents:`none`}},[`${t}-nav-list`]:{position:`relative`,display:`flex`,transition:`opacity ${e.motionDurationSlow}`},[`${t}-nav-operations`]:{display:`flex`,alignSelf:`stretch`},[`${t}-nav-operations-hidden`]:{position:`absolute`,visibility:`hidden`,pointerEvents:`none`},[`${t}-nav-more`]:{position:`relative`,padding:n,background:`transparent`,border:0,color:e.colorText,"&::after":{position:`absolute`,right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:e.calc(e.controlHeightLG).div(8).equal(),transform:`translateY(100%)`,content:`''`}},[`${t}-nav-add`]:{minWidth:r,minHeight:r,marginLeft:{_skip_check_:!0,value:i},background:`transparent`,border:`${Y(e.lineWidth)} ${e.lineType} ${s}`,borderRadius:`${Y(e.borderRadiusLG)} ${Y(e.borderRadiusLG)} 0 0`,outline:`none`,cursor:`pointer`,color:e.colorText,transition:`all ${e.motionDurationSlow} ${e.motionEaseInOut}`,"&:hover":{color:a},"&:active, &:focus:not(:focus-visible)":{color:o},...V(e,-3)}},[`${t}-extra-content`]:{flex:`none`},[`${t}-ink-bar`]:{position:`absolute`,background:e.inkBarColor,pointerEvents:`none`},...Ah(e),[`${t}-body`]:{position:`relative`,width:`100%`},[`${t}-body-holder`]:{flex:`auto`,minWidth:0,minHeight:0},[`${t}-content`]:{...V(e),"&-hidden":{display:`none`}}},[`${t}-centered`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-nav-wrap`]:{[`&:not([class*='${t}-nav-wrap-ping']) > ${t}-nav-list`]:{margin:`auto`}}}}}},Nh=we(`Tabs`,e=>{let t=h(e,{tabsCardPadding:e.cardPadding,dropdownEdgeChildVerticalPadding:e.paddingXXS,tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${Y(e.horizontalItemGutter)}`,tabsHorizontalItemMarginRTL:`0 0 0 ${Y(e.horizontalItemGutter)}`});return[kh(t),jh(t),Oh(t),Dh(t),Eh(t),Mh(t),Th(t)]},e=>{let{cardHeight:t,cardHeightSM:n,cardHeightLG:r,controlHeight:i,controlHeightLG:a}=e,o=t||a,s=n||i,c=r||a+8;return{zIndexPopup:e.zIndexPopupBase+50,cardBg:e.colorFillAlter,cardHeight:o,cardHeightSM:s,cardHeightLG:c,cardPadding:`${(o-e.fontHeight)/2-e.lineWidth}px ${e.padding}px`,cardPaddingSM:`${(s-e.fontHeight)/2-e.lineWidth}px ${e.paddingXS}px`,cardPaddingLG:`${(c-e.fontHeightLG)/2-e.lineWidth}px ${e.padding}px`,titleFontSize:e.fontSize,titleFontSizeLG:e.fontSizeLG,titleFontSizeSM:e.fontSize,inkBarColor:e.colorPrimary,horizontalMargin:`0 0 ${e.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:``,horizontalItemMarginRTL:``,horizontalItemPadding:`${e.paddingSM}px 0`,horizontalItemPaddingSM:`${e.paddingXS}px 0`,horizontalItemPaddingLG:`${e.padding}px 0`,verticalItemPadding:`${e.paddingXS}px ${e.paddingLG}px`,verticalItemMargin:`${e.margin}px 0 0 0`,itemColor:e.colorText,itemSelectedColor:e.colorPrimary,itemHoverColor:e.colorPrimaryHover,itemActiveColor:e.colorPrimaryActive,cardGutter:e.marginXXS/2}}),Ph=()=>null,Fh=Z.forwardRef((e,t)=>{let{type:n,className:r,rootClassName:i,size:a,onEdit:s,hideAdd:c,centered:l,addIcon:u,removeIcon:d,moreIcon:p,more:m,popupClassName:h,children:_,items:v,animated:y,style:b,indicatorSize:x,indicator:S,classNames:C,styles:w,destroyInactiveTabPane:T,destroyOnHidden:E,tabPlacement:D,tabPosition:k,...A}=e,{prefixCls:j}=A,{getPrefixCls:M,direction:N,getPopupContainer:P,className:F,style:I,classNames:R,styles:z}=f(`tabs`),{tabs:B}=Z.useContext(Gt),V=M(`tabs`,j),H=g(V),[U,W]=Nh(V,H),G=Z.useRef(null);Z.useImperativeHandle(t,()=>({nativeElement:G.current}));let ee;n===`editable-card`&&(ee={onEdit:(e,{key:t,event:n})=>{s?.(e===`add`?n:t,e)},removeIcon:d??B?.removeIcon??Z.createElement(ne,null),addIcon:(u??B?.addIcon)||Z.createElement(Lm,null),showAdd:c!==!0});let K=M(),te=o(a),q=wh(v,_),J=Sh(V,y),re={align:S?.align??B?.indicator?.align,size:S?.size??x??B?.indicator?.size??B?.indicatorSize},ie=Z.useMemo(()=>{let e=D??k??void 0,t=N===`rtl`;switch(e){case`start`:return t?`right`:`left`;case`end`:return t?`left`:`right`;default:return e}},[D,k,N]),Y={...e,size:te,tabPlacement:ie,items:q},ae=fe(I),oe=fe(b),[se,ce]=O([R,C],[z,ae,w,oe],{props:Y},{popup:{_default:`root`}});return Z.createElement(bh,{ref:G,direction:N,getPopupContainer:P,...A,items:q,className:L({[`${V}-large`]:te===`large`,[`${V}-small`]:te===`small`,[`${V}-card`]:[`card`,`editable-card`].includes(n),[`${V}-editable-card`]:n===`editable-card`,[`${V}-centered`]:l},F,r,i,se.root,U,W,H),classNames:{...se,popup:L(h,U,W,H,se.popup?.root)},styles:ce,style:ce.root,editable:ee,more:{icon:B?.more?.icon??B?.moreIcon??p??Z.createElement(vu,null),transitionName:`${K}-slide-up`,...m},prefixCls:V,animated:J,indicator:re,destroyOnHidden:E??T,tabPosition:ie})});Fh.TabPane=Ph;var Ih=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z`}}]},name:`edit`,theme:`outlined`}}))());function Lh(){return Lh=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Lh({},e,{ref:t,icon:Ih.default}))),zh=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z`}}]},name:`enter`,theme:`outlined`}}))());function Bh(){return Bh=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,Bh({},e,{ref:t,icon:zh.default}))),Hh=(e,t,n,r)=>{let{titleMarginBottom:i,fontWeightStrong:a}=r;return{marginBottom:i,color:n,fontWeight:a,fontSize:e,lineHeight:t}},Uh=e=>{let t=[1,2,3,4,5],n={};return t.forEach(t=>{n[` + h${t}&, + div&-h${t}, + div&-h${t} > textarea, + h${t} + `]=Hh(e[`fontSizeHeading${t}`],e[`lineHeightHeading${t}`],e.colorTextHeading,e)}),n},Wh=e=>{let{componentCls:t}=e;return{[`&${`${t}-link`}`]:{...W(e),userSelect:`text`,[`&[disabled], &${t}-disabled`]:{color:e.colorTextDisabled,cursor:`not-allowed`,"&:active, &:hover":{color:e.colorTextDisabled},"&:active":{pointerEvents:`none`,[`${t}-actions`]:{pointerEvents:`auto`}}}}}},Gh=e=>({code:{margin:`0 0.2em`,paddingInline:`0.4em`,paddingBlock:`0.2em 0.1em`,fontSize:`85%`,fontFamily:e.fontFamilyCode,background:`rgba(150, 150, 150, 0.1)`,border:`1px solid rgba(100, 100, 100, 0.2)`,borderRadius:3},kbd:{margin:`0 0.2em`,paddingInline:`0.4em`,paddingBlock:`0.15em 0.1em`,fontSize:`90%`,fontFamily:e.fontFamilyCode,background:`rgba(150, 150, 150, 0.06)`,border:`1px solid rgba(100, 100, 100, 0.2)`,borderBottomWidth:2,borderRadius:3},mark:{padding:0,backgroundColor:Bt[2]},"u, ins":{textDecoration:`underline`,textDecorationSkipInk:`auto`},"s, del":{textDecoration:`line-through`},strong:{fontWeight:e.fontWeightStrong},"ul, ol":{marginInline:0,marginBlock:`0 1em`,padding:0,li:{marginInline:`20px 0`,marginBlock:0,paddingInline:`4px 0`,paddingBlock:0}},ul:{listStyleType:`circle`,ul:{listStyleType:`disc`}},ol:{listStyleType:`decimal`},"pre, blockquote":{margin:`1em 0`},pre:{padding:`0.4em 0.6em`,whiteSpace:`pre-wrap`,wordWrap:`break-word`,background:`rgba(150, 150, 150, 0.1)`,border:`1px solid rgba(100, 100, 100, 0.2)`,borderRadius:3,fontFamily:e.fontFamilyCode,code:{display:`inline`,margin:0,padding:0,fontSize:`inherit`,fontFamily:`inherit`,background:`transparent`,border:0}},blockquote:{paddingInline:`0.6em 0`,paddingBlock:0,borderInlineStart:`4px solid rgba(100, 100, 100, 0.2)`,opacity:.85},table:{width:`100%`,textAlign:`start`,borderCollapse:`separate`,borderSpacing:0,marginBlock:`1em`,"th, td":{padding:Y(e.padding),overflowWrap:`break-word`,borderBottom:`${Y(e.lineWidth)} ${e.lineType} ${e.colorSplit}`},"thead > tr:first-child > th:first-child":{borderStartStartRadius:e.borderRadiusLG},"thead > tr:first-child > th:last-child":{borderStartEndRadius:e.borderRadiusLG},"thead > tr > th":{textAlign:`start`,position:`relative`,color:e.colorTextHeading,fontWeight:e.fontWeightStrong,backgroundColor:e.colorFillAlter,transition:`background-color ${e.motionDurationMid} ease`,"&:not(:last-child)::before":{position:`absolute`,top:`50%`,insetInlineEnd:0,width:1,height:`1.6em`,backgroundColor:e.colorSplit,transform:`translateY(-50%)`,content:`""`}},"tbody > tr":{"> th, > td":{transition:`background-color ${e.motionDurationMid} ease`},"&:hover > th, &:hover > td":{backgroundColor:e.colorFillAlter}}}}),Kh=e=>{let{componentCls:t,paddingSM:n}=e,r=n;return{"&-edit-content":{position:`relative`,"div&":{insetInlineStart:e.calc(e.paddingSM).mul(-1).equal(),insetBlockStart:e.calc(r).div(-2).add(1).equal(),marginBottom:e.calc(r).div(2).sub(2).equal()},[`${t}-edit-content-confirm`]:{position:`absolute`,insetInlineEnd:e.calc(e.marginXS).add(2).equal(),insetBlockEnd:e.marginXS,color:e.colorIcon,fontWeight:`normal`,fontSize:e.fontSize,fontStyle:`normal`,pointerEvents:`none`},textarea:{margin:`0!important`,MozTransition:`none`,height:`1em`}}}},qh=e=>({[`${e.componentCls}-copy-success`]:{"&, &:hover, &:focus":{color:e.colorSuccess}},[`${e.componentCls}-copy-icon-only`]:{marginInlineStart:0}}),Jh=()=>({"a&-ellipsis, span&-ellipsis":{display:`inline-block`,maxWidth:`100%`},"&-ellipsis-single-line":{...j,"a&, span&":{verticalAlign:`bottom`},"> code":{paddingBlock:0,maxWidth:`calc(100% - 1.2em)`,display:`inline-block`,overflow:`hidden`,textOverflow:`ellipsis`,verticalAlign:`bottom`,boxSizing:`content-box`}},"&-ellipsis-multiple-line":{display:`-webkit-box`,overflow:`hidden`,WebkitLineClamp:3,WebkitBoxOrient:`vertical`}}),Yh=we(`Typography`,e=>{let{componentCls:t,titleMarginTop:n}=e;return{[t]:{color:e.colorText,wordBreak:`break-word`,lineHeight:e.lineHeight,[`&${t}-secondary, &${t}-link${t}-secondary`]:{color:e.colorTextDescription},[`&${t}-success, &${t}-link${t}-success`]:{color:e.colorSuccessText},[`&${t}-warning, &${t}-link${t}-warning`]:{color:e.colorWarningText},[`&${t}-danger, &${t}-link${t}-danger`]:{color:e.colorErrorText,[`&${t}-link:active, &${t}-link:focus`]:{color:e.colorErrorTextActive},[`&${t}-link:hover`]:{color:e.colorErrorTextHover}},[`&${t}-disabled`]:{color:e.colorTextDisabled,cursor:`not-allowed`,userSelect:`none`},"div&, p":{marginBottom:`1em`},...Uh(e),[`& + h1${t}, & + h2${t}, & + h3${t}, & + h4${t}, & + h5${t}`]:{marginTop:n},"div, ul, li, p, h1, h2, h3, h4, h5":{"+ h1, + h2, + h3, + h4, + h5":{marginTop:n}},...Gh(e),...Wh(e),[`${t}-actions`]:{display:`inline`},[` + ${t}-expand, + ${t}-collapse, + ${t}-edit, + ${t}-copy + `]:{...W(e),marginInlineStart:e.marginXXS},[`${t}-actions-start`]:{[` + ${t}-expand, + ${t}-collapse, + ${t}-edit, + ${t}-copy:not(${t}-copy-icon-only) + `]:{marginInlineStart:0,marginInlineEnd:e.marginXXS}},...Kh(e),...qh(e),...Jh(),"&-rtl":{direction:`rtl`}}}},()=>({titleMarginTop:`1.2em`,titleMarginBottom:`0.5em`})),Xh=e=>{let{prefixCls:t,"aria-label":n,className:r,style:i,classNames:a,styles:o,direction:s,maxLength:c,autoSize:l=!0,value:u,onSave:d,onCancel:f,onEnd:p,component:m,enterIcon:h=Z.createElement(Vh,null)}=e,g=Z.useRef(null),_=Z.useRef(!1),v=Z.useRef(null),[y,b]=Z.useState(u);Z.useEffect(()=>{b(u)},[u]),Z.useEffect(()=>{if(g.current?.resizableTextArea){let{textArea:e}=g.current.resizableTextArea;e.focus();let{length:t}=e.value;e.setSelectionRange(t,t)}},[]);let x=({target:e})=>{b(e.value.replace(/[\n\r]/g,``))},S=()=>{_.current=!0},C=()=>{_.current=!1},w=({keyCode:e})=>{_.current||(v.current=e)},T=()=>{d(y.trim())},E=({keyCode:e,ctrlKey:t,altKey:n,metaKey:r,shiftKey:i})=>{v.current!==e||_.current||t||n||r||i||(e===Be.ENTER?(T(),p?.()):e===Be.ESC&&f())},D=()=>{T()},[O,k]=Yh(t),A=L(t,`${t}-edit-content`,{[`${t}-rtl`]:s===`rtl`,[`${t}-${m}`]:!!m},r,a.root,O,k);return Z.createElement(`div`,{className:A,style:{...o.root,...i}},Z.createElement(ht,{ref:g,maxLength:c,value:y,onChange:x,onKeyDown:w,onKeyUp:E,onCompositionStart:S,onCompositionEnd:C,onBlur:D,"aria-label":n,rows:1,autoSize:l,className:a.textarea,style:o.textarea}),h===null?null:Tt(h,{className:`${t}-edit-content-confirm`}))},Zh=(e,t)=>{let n=!1,r=r=>{r.stopPropagation(),r.preventDefault(),r.clipboardData?.clearData(),r.clipboardData?.setData(`text/plain`,e),t&&r.clipboardData?.setData(`text/html`,e),n=!0};try{return document.addEventListener(`copy`,r,{capture:!0}),document.execCommand(`copy`),n}catch{return!1}finally{document.removeEventListener(`copy`,r,{capture:!0})}},Qh=async(e,t)=>{try{return t?await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([e],{type:`text/html`}),"text/plain":new Blob([e],{type:`text/plain`})})]):await navigator.clipboard.writeText(e),!0}catch{return!1}};async function $h(e,t){if(typeof e!=`string`)return!1;let n=t?.format===`text/html`;return!!(await Qh(e,n)||Zh(e,n))}var eg=(e,t={})=>!E(e)&&t?.skipEmpty?[]:Array.isArray(e)?e:[e],tg=({copyConfig:e,children:t})=>{let[n,r]=Z.useState(!1),[i,a]=Z.useState(!1),o=Z.useRef(null),s=()=>{o.current&&clearTimeout(o.current)},c={};return e.format&&(c.format=e.format),Z.useEffect(()=>s,[]),{copied:n,copyLoading:i,onClick:U(async n=>{n?.preventDefault(),n?.stopPropagation(),a(!0);try{await $h((ge(e.text)?await e.text():e.text)||eg(t,{skipEmpty:!0}).join(``)||``,c),a(!1),r(!0),s(),o.current=setTimeout(()=>{r(!1)},3e3),e.onCopy?.(n)}catch(e){throw a(!1),e}})}},ng=(e,t)=>{let n=!!e;return Z.useMemo(()=>[n,{...t,...n&&yt(e)?e:null}],[n,e,t])},rg=e=>{let t=(0,Z.useRef)(void 0);return(0,Z.useEffect)(()=>{t.current=e}),t.current},ig=(e,t,n)=>(0,Z.useMemo)(()=>e===!0?{title:t??n}:(0,Z.isValidElement)(e)?{title:e}:yt(e)?{title:t??n,...e}:{title:e},[e,t,n]),ag=(e,t,n,r,i)=>{let{getPrefixCls:a,direction:o,className:s,style:c,classNames:l,styles:u}=f(`typography`),d=r??o,p=a(`typography`,e),m={...i,prefixCls:p,direction:d},h=(0,Z.useMemo)(()=>({root:s}),[s]),g=(0,Z.useMemo)(()=>({root:c}),[c]),[_,v]=O([h,l,t],[g,u,n],{props:m});return[_,v,p,d]},og=Z.forwardRef((e,t)=>{let{component:n=`article`,className:r,rootClassName:i,children:a,direction:o,style:s,classNames:c,styles:l,prefixCls:u,...d}=e,[f,p]=Yh(u),m=L(u,{[`${u}-rtl`]:o===`rtl`},r,i,f,p,c?.root),h={...l?.root,...s};return Z.createElement(n,{...d,className:m,style:h,ref:t},a)}),sg=Z.forwardRef((e,t)=>{let{prefixCls:n,className:r,rootClassName:i,direction:a,classNames:o,styles:s,...c}=e,[l,u,d,f]=ag(n,o,s,a,e);return Z.createElement(og,{ref:t,className:L(r,i),direction:f,classNames:l,styles:u,prefixCls:d,...c})}),cg=i(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z`}}]},name:`copy`,theme:`outlined`}}))());function lg(){return lg=Object.assign?Object.assign.bind():function(e){for(var t=1;tZ.createElement(A,lg({},e,{ref:t,icon:cg.default}))),dg=e=>e===!1?[!1,!1]:eg(e);function fg(e,t,n){return e===!0||e===void 0?t:e||n&&t}function pg(e){let t=document.createElement(`em`);e.appendChild(t);let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return e.removeChild(t),n.left>r.left||r.right>n.right||n.top>r.top||r.bottom>n.bottom}var mg=e=>[`string`,`number`].includes(typeof e),hg=e=>{let{prefixCls:t,copied:n,locale:r,iconOnly:i,tooltips:a,icon:o,tabIndex:s,onCopy:c,loading:l,className:u,style:d}=e,f=dg(a),p=dg(o),{copied:m,copy:h}=r??{},g=n?m:h,_=fg(f[+!!n],g),v=typeof _==`string`?_:g;return Z.createElement(Ia,{title:_},Z.createElement(`button`,{type:`button`,className:L(`${t}-copy`,u,{[`${t}-copy-success`]:n,[`${t}-copy-icon-only`]:i}),style:d,onClick:c,"aria-label":v,tabIndex:s},n?fg(p[1],Z.createElement(Te,null),!0):fg(p[0],l?Z.createElement(T,null):Z.createElement(ug,null),!0)))},gg=Z.forwardRef(({style:e,children:t},n)=>{let r=Z.useRef(null);return Z.useImperativeHandle(n,()=>({isExceed:()=>{let e=r.current;return e.scrollHeight>e.clientHeight},getHeight:()=>r.current.clientHeight})),Z.createElement(`span`,{"aria-hidden":!0,ref:r,style:{position:`fixed`,display:`block`,left:0,top:0,pointerEvents:`none`,backgroundColor:`rgba(255, 0, 0, 0.65)`,...e}},t)}),_g=e=>e.reduce((e,t)=>e+(mg(t)?String(t).length:1),0);function vg(e,t){let n=0,r=[];for(let i=0;it){let e=t-n;return r.push(String(a).slice(0,e)),r}r.push(a),n=s}return e}var yg=0,bg=1,xg=2,Sg=3,Cg=4,wg={display:`-webkit-box`,overflow:`hidden`,WebkitBoxOrient:`vertical`};function Tg(e){let{enableMeasure:t,width:n,text:r,children:i,rows:a,expanded:o,measureDeps:s,miscDeps:c,onEllipsis:u}=e,d=Z.useMemo(()=>xt(r),[r]),f=Z.useMemo(()=>_g(d),[r]),p=Z.useMemo(()=>i(d,!1),[r].concat(X(s))),[m,h]=Z.useState(null),g=Z.useRef(null),_=Z.useRef(null),v=Z.useRef(null),y=Z.useRef(null),b=Z.useRef(null),[x,S]=Z.useState(!1),[C,w]=Z.useState(yg),[T,E]=Z.useState(0),[D,O]=Z.useState(null);l(()=>{w(t&&n&&f?bg:yg)},[n,r,a,t,d].concat(X(s))),l(()=>{if(C===bg)w(xg),O(_.current&&getComputedStyle(_.current).whiteSpace);else if(C===xg){let e=!!v.current?.isExceed();w(e?Sg:Cg),h(e?[0,f]:null),S(e);let t=v.current?.getHeight()||0,n=a===1?0:y.current?.getHeight()||0,r=b.current?.getHeight()||0;E(Math.max(t,n+r)+1),u(e)}},[C]);let k=m?Math.ceil((m[0]+m[1])/2):0;l(()=>{let[e,t]=m||[0,0];if(e!==t){let n=(g.current?.getHeight()||0)>T,r=k;t-e===1&&(r=n?e:t),h(n?[e,r]:[r,t])}},[m,k]);let A=Z.useMemo(()=>{if(!t)return i(d,!1);if(C!==Sg||!m||m[0]!==m[1]){let e=i(d,!1);return[Cg,yg].includes(C)?e:Z.createElement(`span`,{style:{...wg,WebkitLineClamp:a}},e)}return i(o?d:vg(d,m[0]),x)},[o,C,m,d].concat(X(c))),j={width:n,margin:0,padding:0,whiteSpace:D===`nowrap`?`normal`:`inherit`};return Z.createElement(Z.Fragment,null,A,C===xg&&Z.createElement(Z.Fragment,null,Z.createElement(gg,{style:{...j,...wg,WebkitLineClamp:a},ref:v},p),Z.createElement(gg,{style:{...j,...wg,WebkitLineClamp:a-1},ref:y},p),Z.createElement(gg,{style:{...j,...wg,WebkitLineClamp:1},ref:b},i([],!0))),C===Sg&&m&&m[0]!==m[1]&&Z.createElement(gg,{style:{...j,top:400},ref:g},i(vg(d,k),!0)),C===bg&&Z.createElement(`span`,{style:{whiteSpace:`inherit`},ref:_}))}var Eg=({enableEllipsis:e,isEllipsis:t,open:n,children:r,tooltipProps:i})=>{if(!i?.title||!e)return r;let a=n&&t;return Z.createElement(Ia,{open:a,...i},r)};function Dg({mark:e,code:t,underline:n,delete:r,strong:i,keyboard:a,italic:o},s){let c=s;function l(e,t){t&&(c=Z.createElement(e,{},c))}return l(`strong`,i),l(`u`,n),l(`del`,r),l(`code`,t),l(`mark`,e),l(`kbd`,a),l(`i`,o),c}var Og=`...`,kg=[`delete`,`mark`,`code`,`underline`,`strong`,`keyboard`,`italic`],Ag=Z.forwardRef((e,t)=>{let{prefixCls:n,className:r,style:i,classNames:a,styles:o,direction:s,type:c,disabled:u,children:d,ellipsis:f,editable:p,copyable:m,actions:h,component:g,title:_,onMouseEnter:v,onMouseLeave:y,...b}=e,[x]=Ve(`Text`),S=Z.useRef(null),C=Z.useRef(null),[w,T,E,D]=ag(n,a,o,s,e),O=pt(b,kg),[k,A]=ng(p),[j,M]=ee(!1,A.editing),{triggerType:N=[`icon`]}=A,P=e=>{e&&A.onStart?.(),M(e)},F=rg(j);l(()=>{!j&&F&&C.current?.focus()},[j]);let I=e=>{e?.preventDefault(),P(!0)},R=e=>{A.onChange?.(e),P(!1)},z=()=>{A.onCancel?.(),P(!1)},[B,V]=ng(m),{placement:H=`end`}=h??{},{copied:U,copyLoading:W,onClick:G}=tg({copyConfig:V,children:d}),[K,te]=Z.useState(!1),[ne,q]=Z.useState(!1),[J,re]=Z.useState(!1),[ie,Y]=Z.useState(!1),[ae,oe]=Z.useState(!0),[se,ce]=ng(f,{expandable:!1,symbol:e=>e?x?.collapse:x?.expand}),[le,ue]=ee(ce.defaultExpanded||!1,ce.expanded),de=se&&(!le||ce.expandable===`collapsible`),{rows:fe=1}=ce,pe=Z.useMemo(()=>de&&(ce.suffix!==void 0||ce.onEllipsis||ce.expandable||k||B),[de,ce,k,B]);l(()=>{se&&!pe&&(te(gt(`webkitLineClamp`)),q(gt(`textOverflow`)))},[pe,se]);let[me,he]=Z.useState(de),_e=Z.useMemo(()=>pe?!1:fe===1?ne:K,[pe,ne,K]);l(()=>{he(_e&&de)},[_e,de]);let ve=ig(ce.tooltip,A.text,d),ye=me&&!!ve.title,xe=de&&(me?ye&&ie:J),Se=de&&fe===1&&me,Ce=de&&fe>1&&me,we=(e,t)=>{ue(t.expanded),ce.onExpand?.(e,t)},[Te,Ee]=Z.useState(0),[De,Oe]=Z.useState(!1),[ke,Ae]=Z.useState(!1),je=({offsetWidth:e})=>{Ee(e)},Me=e=>{re(e),J!==e&&ce.onEllipsis?.(e)};Z.useEffect(()=>{let e=S.current;if(se&&ye&&e){let t=pg(e);ie!==t&&Y(t)}},[se,ye,d,Ce,ae,Te]),Z.useEffect(()=>{let e=S.current;if(typeof IntersectionObserver>`u`||!e||!ye||!de)return;let t=new IntersectionObserver(()=>{oe(!!e.offsetParent)});return t.observe(e),()=>{t.disconnect()}},[ye,de]);let Ne=Z.useMemo(()=>{if(!(!se||me))return[A.text,d,_,ve.title].find(mg)},[se,me,_,ve.title,xe]);if(j)return Z.createElement(Xh,{value:A.text??(typeof d==`string`?d:``),onSave:R,onCancel:z,onEnd:A.onEnd,prefixCls:E,className:r,style:i,direction:D,component:g,maxLength:A.maxLength,autoSize:A.autoSize,enterIcon:A.enterIcon,classNames:w,styles:T});let Pe=()=>{let{expandable:e,symbol:t}=ce;return e?Z.createElement(`button`,{type:`button`,key:`expand`,className:L(`${E}-${le?`collapse`:`expand`}`,w.action),style:T.action,onClick:e=>we(e,{expanded:!le}),"aria-label":le?x.collapse:x?.expand},ge(t)?t(le):t):null},Fe=()=>{if(!k)return;let{icon:e,tooltip:t,tabIndex:n}=A,r=xt(t)[0]||x?.edit,i=typeof r==`string`?r:``;return N.includes(`icon`)?Z.createElement(Ia,{key:`edit`,title:t===!1?``:r},Z.createElement(`button`,{type:`button`,ref:C,className:L(`${E}-edit`,w.action),style:T.action,onClick:I,"aria-label":i,tabIndex:n},e||Z.createElement(Rh,{role:`button`}))):null},Ie=()=>B?Z.createElement(hg,{key:`copy`,...V,prefixCls:E,copied:U,locale:x,onCopy:G,loading:W,iconOnly:!be(d),className:w.action,style:T.action}):null,Le=e=>{let t=e&&Pe(),n=Fe(),r=Ie();return!t&&!n&&!r?null:Z.createElement(`span`,{key:`operations`,className:L(`${E}-actions`,w.actions,{[`${E}-actions-start`]:H===`start`}),style:T.actions,onMouseEnter:()=>Oe(!0),onMouseLeave:()=>Oe(!1)},t,n,r)},Re=e=>[e&&!le&&Z.createElement(`span`,{"aria-hidden":!0,key:`ellipsis`},Og),ce.suffix];return Z.createElement(jt,{onResize:je,disabled:!de},n=>Z.createElement(Eg,{tooltipProps:ve,enableEllipsis:de,isEllipsis:xe,open:ke&&!De},Z.createElement(og,{onMouseEnter:e=>{Ae(!0),v?.(e)},onMouseLeave:e=>{Ae(!1),y?.(e)},className:L({[`${E}-${c}`]:c,[`${E}-disabled`]:u,[`${E}-ellipsis`]:se,[`${E}-ellipsis-single-line`]:Se,[`${E}-ellipsis-multiple-line`]:Ce,[`${E}-link`]:g===`a`},r),classNames:w,styles:T,prefixCls:E,style:{...i,WebkitLineClamp:Ce?fe:void 0},component:g,ref:Ht(n,S,t),direction:D,onClick:N.includes(`text`)?I:void 0,"aria-label":Ne?.toString(),title:_,...O},Z.createElement(Tg,{enableMeasure:de&&!me,text:d,rows:fe,width:Te,onEllipsis:Me,expanded:le,measureDeps:[H],miscDeps:[U,le,W,k,B,H,x].concat(X(kg.map(t=>e[t])))},(t,n)=>Dg(e,Z.createElement(Z.Fragment,null,H===`start`?Le(n):null,t.length>0&&n&&!le&&Ne?Z.createElement(`span`,{key:`show-content`,"aria-hidden":!0},t):t,Re(n),H===`start`?null:Le(n)))))))}),jg=Z.forwardRef((e,t)=>{let{ellipsis:n,rel:r,children:i,navigate:a,...o}=e,s={...o,rel:r===void 0&&o.target===`_blank`?`noopener noreferrer`:r};return Z.createElement(Ag,{...s,ref:t,ellipsis:!!n,component:`a`},i)}),Mg=Z.forwardRef((e,t)=>{let{children:n,...r}=e;return Z.createElement(Ag,{ref:t,...r,component:`div`},n)}),Ng=Z.forwardRef((e,t)=>{let{ellipsis:n,children:r,...i}=e,a=Z.useMemo(()=>yt(n)?pt(n,[`expandable`,`rows`]):n,[n]);return Z.createElement(Ag,{ref:t,...i,ellipsis:a,component:`span`},r)}),Pg=[1,2,3,4,5],Fg=Z.forwardRef((e,t)=>{let{level:n=1,children:r,...i}=e,a=Pg.includes(n)?`h${n}`:`h1`;return Z.createElement(Ag,{ref:t,...i,component:a},r)}),Ig=sg;Ig.Text=Ng,Ig.Link=jg,Ig.Title=Fg,Ig.Paragraph=Mg;var Lg=typeof window<`u`&&typeof document<`u`,Rg=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function zg(e=21){let t=``,n=e|0;for(;n--;)t+=Rg[Math.random()*64|0];return t}function Bg(){return window.location.origin+`/wails/runtime`}var Vg=512*1024,Hg=Object.freeze({Call:0,Clipboard:1,Application:2,Events:3,ContextMenu:4,Dialog:5,Window:6,Screens:7,System:8,Browser:9,CancelCall:10,IOS:11,Android:12}),Ug=zg(),Wg=null;function Gg(e,t=``){return function(n,r=null){return Kg(e,n,t,r)}}async function Kg(e,t,n,r){if(Wg)return Wg.call(e,t,n,r);let i=new URL(Bg()),a={object:e,method:t};r!=null&&(a.args=r);let o={"x-wails-client-id":Ug,"Content-Type":`application/json`};n&&(o[`x-wails-window-name`]=n);let s=JSON.stringify(a),c;if(c=s.length>Vg?await qg(i,o,s):await fetch(i,{method:`POST`,headers:o,body:s}),!c.ok)throw Error(await c.text());return(c.headers.get(`Content-Type`)?.indexOf(`application/json`)??-1)===-1?c.text():c.json()}async function qg(e,t,n){let r=zg(),i=new TextEncoder().encode(n),a=Math.ceil(i.length/Vg);for(let n=0;n{let i=e.get(t);if(i){if(e.delete(t),r){i.reject(Error(r));return}try{let e=JSON.parse(n??`{}`);if(!e.ok){i.reject(Error(e.error??`unknown runtime call error`));return}i.resolve(`text`in e?e.text:e.data)}catch(e){i.reject(e)}}},Wg={call(t,n,r,i){return new Promise((a,o)=>{let s=zg();e.set(s,{resolve:a,reject:o});try{Jg.invokeAsync(s,JSON.stringify({object:t,method:n,windowName:r,args:i??null,clientId:Ug}))}catch(t){e.delete(s),o(t)}})}}}Hg.System;var Yg=(function(){try{if(window.chrome?.webview?.postMessage)return window.chrome.webview.postMessage.bind(window.chrome.webview);if(window.webkit?.messageHandlers?.external?.postMessage)return window.webkit.messageHandlers.external.postMessage.bind(window.webkit.messageHandlers.external);if(window.wails?.invoke)return e=>window.wails.invoke(typeof e==`string`?e:JSON.stringify(e))}catch{}return console.warn(` +%c⚠️ Browser Environment Detected %c + +%cOnly UI previews are available in the browser. For full functionality, please run the application in desktop mode. +More information at: https://v3.wails.io/learn/build/#using-a-browser-for-development +`,`background: #ffffff; color: #000000; font-weight: bold; padding: 4px 8px; border-radius: 4px; border: 2px solid #000000;`,`background: transparent;`,`color: #ffffff; font-style: italic; font-weight: bold;`),null})();function Xg(e){Yg?.(e)}function Zg(){return window._wails?.environment?.OS===`windows`}function Qg(){return window._wails?.environment?.OS===`linux`}function $g(){return!!window._wails?.environment?.Debug}function e_(){return new MouseEvent(`mousedown`).buttons===0}function t_(e){return e.target instanceof HTMLElement?e.target:!(e.target instanceof HTMLElement)&&e.target instanceof Node?e.target.parentElement??document.body:document.body}Lg&&document.addEventListener(`DOMContentLoaded`,()=>{}),Lg&&window.addEventListener(`contextmenu`,a_);var n_=Gg(Hg.ContextMenu),r_=0;function i_(e,t,n,r){n_(r_,{id:e,x:t,y:n,data:r})}function a_(e){let t=t_(e),n=window.getComputedStyle(t).getPropertyValue(`--custom-contextmenu`).trim();if(n){e.preventDefault();let r=window.getComputedStyle(t).getPropertyValue(`--custom-contextmenu-data`);i_(n,e.clientX,e.clientY,r)}else o_(e,t)}function o_(e,t){if($g())return;switch(window.getComputedStyle(t).getPropertyValue(`--default-contextmenu`).trim()){case`show`:return;case`hide`:e.preventDefault();return}if(t.isContentEditable)return;let n=window.getSelection(),r=n&&n.toString().length>0;if(r)for(let e=0;e{u_=e,u_||(d_=f_=!1,O_())});var __=!1;function v_(){let e=window._wails?.environment?.OS;if(e===`ios`||e===`android`)return!0;let t=navigator.userAgent||navigator.vendor||window.opera||``;return/android|iphone|ipad|ipod|iemobile|wpdesktop/i.test(t)}function y_(){if(!__&&!v_()){window.addEventListener(`mousedown`,w_,{capture:!0}),window.addEventListener(`mousemove`,w_,{capture:!0}),window.addEventListener(`mouseup`,w_,{capture:!0});for(let e of[`click`,`contextmenu`,`dblclick`])window.addEventListener(e,b_,{capture:!0});__=!0}}if(Lg){y_(),document.addEventListener(`DOMContentLoaded`,y_,{once:!0});let e=0,t=window.setInterval(()=>{if(__){window.clearInterval(t);return}y_(),++e>100&&window.clearInterval(t)},50)}function b_(e){(l_||f_)&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())}var x_=0,S_=1,C_=2;function w_(e){let t,n=e.buttons;switch(e.type){case`mousedown`:t=x_,g_||(n=h_|1<{n=e,r=t}),this.constructor[tv]!==Promise)throw TypeError(`CancellablePromise does not support transparent subclassing. Please refrain from overriding the [Symbol.species] static property.`);let i={promise:this,resolve:n,reject:r,get oncancelled(){return t??null},set oncancelled(e){t=e??void 0}},a={get root(){return a},resolving:!1,settled:!1};Object.defineProperties(this,{[$_]:{configurable:!1,enumerable:!1,writable:!0,value:null},[ev]:{configurable:!1,enumerable:!1,writable:!1,value:rv(i,a)}});let o=av(i,a);try{e(iv(i,a),o)}catch(e){a.resolving?console.log(`Unhandled exception in CancellablePromise executor.`,e):o(e)}}cancel(t){return new e(e=>{Promise.all([this[ev](new Z_(`Promise cancelled.`,{cause:t})),uv(this)]).then(()=>e(),()=>e())})}cancelOn(e){return e.aborted?this.cancel(e.reason):e.addEventListener(`abort`,()=>void this.cancel(e.reason),{capture:!0}),this}then(t,n,r){if(!(this instanceof e))throw TypeError(`CancellablePromise.prototype.then called on an invalid object.`);if(X_(t)||(t=sv),X_(n)||(n=cv),t===sv&&n==cv)return new e(e=>e(this));let i={};return this[$_]=i,new e((e,r)=>{super.then(n=>{var a;this[$_]===i&&(this[$_]=null),(a=i.resolve)==null||a.call(i);try{e(t(n))}catch(e){r(e)}},t=>{var a;this[$_]===i&&(this[$_]=null),(a=i.resolve)==null||a.call(i);try{e(n(t))}catch(e){r(e)}})},async e=>{try{return r?.(e)}finally{await this.cancel(e)}})}catch(e,t){return this.then(void 0,e,t)}finally(t,n){if(!(this instanceof e))throw TypeError(`CancellablePromise.prototype.finally called on an invalid object.`);return X_(t)?this.then(n=>e.resolve(t()).then(()=>n),n=>e.resolve(t()).then(()=>{throw n}),n):this.then(t,t,n)}static get[tv](){return Promise}static all(t){let n=Array.from(t),r=n.length===0?e.resolve(n):new e((e,t)=>{Promise.all(n).then(e,t)},e=>ov(r,n,e));return r}static allSettled(t){let n=Array.from(t),r=n.length===0?e.resolve(n):new e((e,t)=>{Promise.allSettled(n).then(e,t)},e=>ov(r,n,e));return r}static any(t){let n=Array.from(t),r=n.length===0?e.resolve(n):new e((e,t)=>{Promise.any(n).then(e,t)},e=>ov(r,n,e));return r}static race(t){let n=Array.from(t),r=new e((e,t)=>{Promise.race(n).then(e,t)},e=>ov(r,n,e));return r}static cancel(t){let n=new e(()=>{});return n.cancel(t),n}static timeout(t,n){let r=new e(()=>{});return AbortSignal&&typeof AbortSignal==`function`&&AbortSignal.timeout&&typeof AbortSignal.timeout==`function`?AbortSignal.timeout(t).addEventListener(`abort`,()=>void r.cancel(n)):setTimeout(()=>void r.cancel(n),t),r}static sleep(t,n){return new e(e=>{setTimeout(()=>e(n),t)})}static reject(t){return new e((e,n)=>n(t))}static resolve(t){return t instanceof e?t:new e(e=>e(t))}static withResolvers(){let t={oncancelled:null};return t.promise=new e((e,n)=>{t.resolve=e,t.reject=n},e=>{var n;(n=t.oncancelled)==null||n.call(t,e)}),t}};function rv(e,t){let n;return r=>{if(t.settled||(t.settled=!0,t.reason=r,e.reject(r),Promise.prototype.then.call(e.promise,void 0,e=>{if(e!==r)throw e})),!(!t.reason||!e.oncancelled))return n=new Promise(n=>{try{n(e.oncancelled(t.reason.cause))}catch(t){Promise.reject(new Q_(e.promise,t,`Unhandled exception in oncancelled callback.`))}}).catch(t=>{Promise.reject(new Q_(e.promise,t,`Unhandled rejection in oncancelled callback.`))}),e.oncancelled=null,n}}function iv(e,t){return n=>{if(!t.resolving){if(t.resolving=!0,n===e.promise){if(t.settled)return;t.settled=!0,e.reject(TypeError(`A promise cannot be resolved with itself.`));return}if(n!=null&&(typeof n==`object`||typeof n==`function`)){let r;try{r=n.then}catch(n){t.settled=!0,e.reject(n);return}if(X_(r)){try{let r=n.cancel;if(X_(r)){let i=e=>{Reflect.apply(r,n,[e])};t.reason?rv(Object.assign(Object.assign({},e),{oncancelled:i}),t)(t.reason):e.oncancelled=i}}catch{}let i={root:t.root,resolving:!1,get settled(){return this.root.settled},set settled(e){this.root.settled=e},get reason(){return this.root.reason}},a=av(e,i);try{Reflect.apply(r,n,[iv(e,i),a])}catch(e){a(e)}return}}t.settled||(t.settled=!0,e.resolve(n))}}}function av(e,t){return n=>{if(!t.resolving)if(t.resolving=!0,t.settled){try{if(n instanceof Z_&&t.reason instanceof Z_&&Object.is(n.cause,t.reason.cause))return}catch{}Promise.reject(new Q_(e.promise,n))}else t.settled=!0,e.reject(n)}}function ov(e,t,n){let r=[];for(let i of t){let t;try{if(!X_(i.then)||(t=i.cancel,!X_(t)))continue}catch{continue}let a;try{a=Reflect.apply(t,i,[n])}catch(t){Promise.reject(new Q_(e,t,`Unhandled exception in cancel method.`));continue}a&&r.push((a instanceof Promise?a:Promise.resolve(a)).catch(t=>{Promise.reject(new Q_(e,t,`Unhandled rejection in cancel method.`))}))}return Promise.all(r)}function sv(e){return e}function cv(e){throw e}function lv(e){try{if(e instanceof Error||typeof e!=`object`||e.toString!==Object.prototype.toString)return``+e}catch{}try{return JSON.stringify(e)}catch{}try{return Object.prototype.toString.call(e)}catch{}return``}function uv(e){let t=e[$_]??{};return`promise`in t||Object.assign(t,dv()),e[$_]??(t.resolve(),e[$_]=t),t.promise}var dv=Promise.withResolvers;dv=dv&&typeof dv==`function`?dv.bind(Promise):function(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}},Lg&&(window._wails=window._wails||{});var fv=Gg(Hg.Call),pv=Gg(Hg.CancelCall),mv=new Map,hv=0,gv=0;function _v(){let e;do e=zg();while(mv.has(e));return e}function vv(e){let t=_v(),n=nv.withResolvers();mv.set(t,{resolve:n.resolve,reject:n.reject});let r=fv(hv,Object.assign({"call-id":t},e)),i=!0;r.then(e=>{i=!1,mv.delete(t),n.resolve(e)},e=>{i=!1,mv.delete(t),n.reject(e)});let a=()=>(mv.delete(t),pv(gv,{"call-id":t}).catch(e=>{console.error(`Error while requesting binding call cancellation:`,e)}));return n.oncancelled=()=>i?a():r.then(a),n.promise}function yv(e,...t){return vv({methodID:e,args:t})}var bv=`data-file-drop-target`,xv=`file-drop-target-active`,Sv=null,Cv=0,wv=1,Tv=2,Ev=3,Dv=4,Ov=5,kv=6,Av=7,jv=8,Mv=9,Nv=10,Pv=11,Fv=12,Iv=13,Lv=14,Rv=15,zv=16,Bv=17,Vv=18,Hv=19,Uv=20,Wv=21,Gv=22,Kv=23,qv=24,Jv=25,Yv=26,Xv=27,Zv=28,Qv=29,$v=30,ey=31,ty=32,ny=33,ry=34,iy=35,ay=36,oy=37,sy=38,cy=39,ly=40,uy=41,dy=42,fy=43,py=44,my=45,hy=46,gy=47,_y=48,vy=49,yy=50,by=51,xy=52;function Sy(e){return e?e.closest(`[${bv}]`):null}function Cy(){return window.chrome?.webview?.postMessageWithAdditionalObjects==null?!1:window._wails?.flags?.enableFileDrop===!0}function wy(e,t,n){window.chrome?.webview?.postMessageWithAdditionalObjects&&window.chrome.webview.postMessageWithAdditionalObjects(`file:drop:${e}:${t}`,n)}var Ty=!1;function Ey(){Ty=!1,Sv&&=(Sv.classList.remove(xv),null)}function Dy(){window._wails?.flags?.enableFileDrop!==!1&&(Ty=!0)}function Oy(){Ey()}function ky(e,t){if(!Ty||window._wails?.flags?.enableFileDrop===!1)return;let n=Sy(document.elementFromPoint(e,t));Sv&&Sv!==n&&Sv.classList.remove(xv),n?(n.classList.add(xv),Sv=n):Sv=null}var Ay=Symbol(`caller`),jy=new class e{constructor(t=``){this[Ay]=Gg(Hg.Window,t);for(let t of Object.getOwnPropertyNames(e.prototype))t!==`constructor`&&typeof this[t]==`function`&&(this[t]=this[t].bind(this))}Get(t){return new e(t)}Position(){return this[Ay](Cv)}Center(){return this[Ay](wv)}Close(){return this[Ay](Tv)}DisableSizeConstraints(){return this[Ay](Ev)}EnableSizeConstraints(){return this[Ay](Dv)}Focus(){return this[Ay](Ov)}ForceReload(){return this[Ay](kv)}Fullscreen(){return this[Ay](Av)}GetScreen(){return this[Ay](jv)}GetZoom(){return this[Ay](Mv)}Height(){return this[Ay](Nv)}Hide(){return this[Ay](Pv)}IsFocused(){return this[Ay](Fv)}IsFullscreen(){return this[Ay](Iv)}IsMaximised(){return this[Ay](Lv)}IsMinimised(){return this[Ay](Rv)}Maximise(){return this[Ay](zv)}Minimise(){return this[Ay](Bv)}Name(){return this[Ay](Vv)}OpenDevTools(){return this[Ay](Hv)}RelativePosition(){return this[Ay](Uv)}Reload(){return this[Ay](Wv)}Resizable(){return this[Ay](Gv)}Restore(){return this[Ay](Kv)}SetPosition(e,t){return this[Ay](qv,{x:e,y:t})}SetAlwaysOnTop(e){return this[Ay](Jv,{alwaysOnTop:e})}SetBackgroundColour(e,t,n,r){return this[Ay](Yv,{r:e,g:t,b:n,a:r})}SetFrameless(e){return this[Ay](Xv,{frameless:e})}SetFullscreenButtonEnabled(e){return this[Ay](Zv,{enabled:e})}SetMaxSize(e,t){return this[Ay](Qv,{width:e,height:t})}SetMinSize(e,t){return this[Ay]($v,{width:e,height:t})}SetRelativePosition(e,t){return this[Ay](ey,{x:e,y:t})}SetResizable(e){return this[Ay](ty,{resizable:e})}SetSize(e,t){return this[Ay](ny,{width:e,height:t})}SetTitle(e){return this[Ay](ry,{title:e})}SetZoom(e){return this[Ay](iy,{zoom:e})}Show(){return this[Ay](ay)}Size(){return this[Ay](oy)}ToggleFullscreen(){return this[Ay](sy)}ToggleMaximise(){return this[Ay](cy)}ToggleFrameless(){return this[Ay](ly)}UnFullscreen(){return this[Ay](uy)}UnMaximise(){return this[Ay](dy)}UnMinimise(){return this[Ay](fy)}Width(){return this[Ay](py)}Zoom(){return this[Ay](my)}ZoomIn(){return this[Ay](hy)}ZoomOut(){return this[Ay](gy)}ZoomReset(){return this[Ay](_y)}HandlePlatformFileDrop(e,t,n){if(window._wails?.flags?.enableFileDrop===!1)return;let r=Sy(document.elementFromPoint(t,n));if(!r)return;let i={id:r.id,classList:Array.from(r.classList),attributes:{}};for(let e=0;e{if(!e.dataTransfer?.types.includes(`Files`))return;if(e.preventDefault(),window._wails?.flags?.enableFileDrop===!1){e.dataTransfer.dropEffect=`none`;return}t++;let n=Sy(document.elementFromPoint(e.clientX,e.clientY));Sv&&Sv!==n&&Sv.classList.remove(xv),n?(n.classList.add(xv),e.dataTransfer.dropEffect=`copy`,Sv=n):(e.dataTransfer.dropEffect=`none`,Sv=null)},!1),e.addEventListener(`dragover`,e=>{if(!e.dataTransfer?.types.includes(`Files`))return;if(e.preventDefault(),window._wails?.flags?.enableFileDrop===!1){e.dataTransfer.dropEffect=`none`;return}let t=Sy(document.elementFromPoint(e.clientX,e.clientY));Sv&&Sv!==t&&Sv.classList.remove(xv),t?(t.classList.contains(xv)||t.classList.add(xv),e.dataTransfer.dropEffect=`copy`,Sv=t):(e.dataTransfer.dropEffect=`none`,Sv=null)},!1),e.addEventListener(`dragleave`,e=>{e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),window._wails?.flags?.enableFileDrop!==!1&&e.relatedTarget!==null&&(t--,(t===0||Sv&&!Sv.contains(e.relatedTarget))&&(Sv&&=(Sv.classList.remove(xv),null),t=0)))},!1),e.addEventListener(`drop`,e=>{if(e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),window._wails?.flags?.enableFileDrop!==!1&&(t=0,Sv&&=(Sv.classList.remove(xv),null),Cy()))){let t=[];if(e.dataTransfer.items){for(let n of e.dataTransfer.items)if(n.kind===`file`){let e=n.getAsFile();e&&t.push(e)}}else if(e.dataTransfer.files)for(let n of e.dataTransfer.files)t.push(n);t.length>0&&wy(e.clientX,e.clientY,t)}},!1)}typeof window<`u`&&typeof document<`u`&&My(),Lg&&(window._wails=window._wails||{}),Lg&&(window._wails.invoke=Xg,window._wails.clientId=Ug),Lg&&(window._wails.handlePlatformFileDrop=jy.HandlePlatformFileDrop.bind(jy)),Lg&&(window._wails.handleDragEnter=Dy,window._wails.handleDragLeave=Oy,window._wails.handleDragOver=ky),Lg&&Xg(`wails:runtime:ready`);function Ny(e){return fetch(e,{method:`HEAD`}).then(t=>{if(t.ok&&(t.headers.get(`content-type`)||``).toLowerCase().includes(`javascript`)){let t=document.createElement(`script`);t.src=e,document.head.appendChild(t)}}).catch(()=>{})}Lg&&Ny(`/wails/custom.js`);function Py(){return yv(2218531742)}function Fy(){return yv(1211788486)}function Iy(){return yv(853311305)}function Ly(e){return yv(465937298,e)}function Ry(e){return yv(35429655,e)}function zy(e){return yv(2463093517,e)}var By=class{getRepoRoot(){return Iy()}setRepoRoot(e){return zy(e)}async getModules(){return await Fy()??[]}async getGitHubAuthStatus(){return await Py()}setGitHubToken(e){return Ry(e)}runAction(e){return Ly(e)}};function Vy(e){switch(e){case`repo`:case`remote`:case`branch`:case`worktree`:return`source`;case`issue`:case`pr`:return`collaboration`;case`tag`:return`release`;default:return`all`}}function Hy(e,t){return t===`all`?e:e.filter(e=>Vy(e.id)===t)}var Uy=`fastgit.desktop.prefs.v1`;function Wy(){return typeof window<`u`&&window.localStorage!==void 0}function Gy(e){if(!e||typeof e!=`object`)return;let t=Object.entries(e).map(([e,t])=>{if(!e.trim()||!t||typeof t!=`object`)return null;let n=String(t.defaultBaseBranch??``).trim(),r=String(t.defaultRemote??``).trim();return[e.trim(),{defaultBaseBranch:n,defaultRemote:r}]}).filter(e=>e!==null);return Object.fromEntries(t)}function Ky(){if(!Wy())return{};try{let e=window.localStorage.getItem(Uy);if(!e)return{};let t=JSON.parse(e);if(!t||typeof t!=`object`)return{};let n=Array.isArray(t.repoNamespaces)?t.repoNamespaces.map(e=>String(e).trim()).filter(Boolean):void 0,r=typeof t.selectedRepoPath==`string`?t.selectedRepoPath.trim():void 0,i=Gy(t.projectSettings);return{...t,repoNamespaces:n,selectedRepoPath:r,projectSettings:i}}catch{return{}}}function qy(e){Wy()&&window.localStorage.setItem(Uy,JSON.stringify(e))}function Jy(e){return`fastgit.desktop.tabs:${e}`}function Yy(e){if(!Wy()||!e)return null;try{let t=window.localStorage.getItem(Jy(e));if(!t)return null;let n=JSON.parse(t);return!n||typeof n!=`object`?null:{openedModuleIds:Array.isArray(n.openedModuleIds)?n.openedModuleIds.map(e=>String(e)):[],selectedModuleId:n.selectedModuleId?String(n.selectedModuleId):null}}catch{return null}}function Xy(e,t){!Wy()||!e||window.localStorage.setItem(Jy(e),JSON.stringify(t))}var Q=n(),Zy={title:`Welcome`,command:`-`,exitCode:0,body:`请选择左侧模块并执行动作。`},Qy=new By,$y=/^#(\d+)\s+\[([^\]]+)\]\s+(.+)$/,eb=/^#(\d+)\s+\[([^\]]+)\]$/,tb=/^(.{2})\s+(.+)$/;function nb(){return{remotes:[],branches:[],issues:[],tags:[],worktrees:[],prs:[],repoStatus:[]}}function rb(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).flatMap((e,t)=>{let n=e.split(` `);if(n.length<5)return[];let[r,i,a,o,s]=n;return[{id:`${r}-${t}`,primary:r,secondary:a||void 0,badge:i||`unknown`,active:s==="default",value:r,category:i||`unknown`,keywords:[r,i,a,o,s].filter(Boolean),fields:{name:r,transport:i||`unknown`,fetch:a||`-`,push:o||`-`,status:s||`secondary`}}]})}function ib(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).flatMap((e,t)=>{let n=e.split(` `);if(n.length>=7){let[e,r,i,a,o,s,c]=n,l=Number.parseInt(s,10)||0,u=Number.parseInt(c,10)||0,d=r===`current`,f=o===`ahead`?`本地领先 ${l}`:o===`behind`?`落后远端 ${u}`:o===`diverged`?`已分叉 ${l}/${u}`:o===`in-sync`?`已同步`:o===`no-upstream`?`未跟踪`:o===`missing-upstream`?`远端缺失`:o===`invalid-upstream`?`跟踪无效`:o;return[{id:`${e}-${t}`,primary:e,secondary:a||(i?`${i}/*`:void 0),active:d,badge:f,value:e,category:o,keywords:[e,r,i,a,o,f].filter(Boolean),fields:{branch:e,status:r,remote:i,upstream:a,sync:o,sync_label:f,ahead:String(l),behind:String(u)}}]}let r=e.startsWith(`* `),i=r?e.slice(2).trim():e.replace(/^-+\s+/,``);return i?[{id:`${i}-${t}`,primary:i,active:r,badge:r?`current`:void 0,value:i,keywords:[i,r?`current`:``].filter(Boolean),fields:{branch:i,status:r?`current`:`local`,remote:``,upstream:``,sync:r?`current`:`local`,sync_label:r?`current`:`local`,ahead:`0`,behind:`0`}}]:[]})}function ab(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map((e,t)=>({id:`${e}-${t}`,primary:e,value:e,keywords:[e],fields:{tag:e}}))}function ob(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).flatMap((e,t)=>{let n=e.split(` `);if(n.length>=4){let[e,r,i,a]=n;return[{id:`${e}-${t}`,primary:`#${e} ${i}`,secondary:a||void 0,badge:r,category:r,value:e,url:a||void 0,keywords:[e,r,i,a].filter(Boolean),fields:{number:e,title:i,state:r,url:a}}]}let r=e.match($y);return r?[{id:`${r[1]}-${t}`,primary:`#${r[1]} ${r[3]}`,badge:r[2],category:r[2],value:r[1],secondary:void 0,keywords:[r[1],r[2],r[3]],fields:{number:r[1],title:r[3],state:r[2],url:``}}]:[]})}function sb(e){let t=e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(t.length===0)return[];let n=t[0].match(/^#(\d+)\s+\[([^\]]+)\]$/);if(!n)return[];let r=t[1]??`PR #${n[1]}`,i=t.find(e=>/^https?:\/\//.test(e));return[{id:`pr-${n[1]}`,primary:`#${n[1]} ${r}`,badge:n[2],category:n[2],secondary:i,url:i,value:n[1],keywords:[n[1],n[2],r,i??``].filter(Boolean),fields:{number:n[1],title:r,state:n[2],url:i??``,base:t.find(e=>e.startsWith(`base: `))?.slice(6).trim()??``,head:t.find(e=>e.startsWith(`head: `))?.slice(6).trim()??``,draft:t.find(e=>e.startsWith(`draft: `))?.slice(7).trim()??``}}]}function cb(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).flatMap((e,t)=>{let n=e.split(` `);if(n.length<7)return[];let[r,i,a,o,s,c,l]=n;return[{id:`pr-${r}`,primary:`#${r} ${a}`,secondary:o||void 0,badge:i,category:i,url:o||void 0,value:r,keywords:[r,i,a,o,s,c,l].filter(Boolean),fields:{number:r,state:i,title:a,url:o,base:s,head:c,draft:l}}]})}function lb(e){let t=e.split(/\r?\n/),n=t[0]?.trim()??``,r=t[1]?.trim()??``,i=t.find((e,t)=>t>0&&/^https?:\/\//.test(e.trim()))?.trim(),a=n.match(eb);if(!a||!r)return null;let o=t.find(e=>e.startsWith(`base: `))?.slice(6).trim(),s=t.find(e=>e.startsWith(`head: `))?.slice(6).trim(),c=t.find(e=>e.startsWith(`draft: `))?.slice(7).trim(),l=t.findIndex((e,t)=>t>1&&e.trim()===``),u=l>=0?t.slice(l+1).join(` +`).trim():``;return{targetId:`pr-${a[1]}`,primary:`#${a[1]} ${r}`,secondary:i,badge:a[2],url:i,body:u||void 0,fields:[{label:`PR`,value:`#${a[1]}`},{label:`状态`,value:a[2]},...o?[{label:`Base`,value:o}]:[],...s?[{label:`Head`,value:s}]:[],...c?[{label:`Draft`,value:c}]:[],...i?[{label:`链接`,value:i,href:i}]:[]]}}function ub(e){let t=e.split(/\r?\n/),n=t[0]?.trim()??``,r=t[1]?.trim()??``,i=t.find((e,t)=>t>0&&/^https?:\/\//.test(e.trim()))?.trim(),a=n.match(eb);if(!a||!r)return null;let o=t.findIndex((e,t)=>t>1&&e.trim()===``),s=o>=0?t.slice(o+1).join(` +`).trim():t.slice(i?3:2).join(` +`).trim();return{targetId:a[1],primary:`#${a[1]} ${r}`,secondary:i,badge:a[2],url:i,body:s||void 0,fields:[{label:`Issue`,value:`#${a[1]}`},{label:`状态`,value:a[2]},...i?[{label:`链接`,value:i,href:i}]:[]]}}function db(e,t){let n=t.match(/https?:\/\/\S+/);if(!n)return null;let r=n[0];switch(e){case`issue_create`:return{primary:`Issue 创建成功`,secondary:r,badge:`created`,url:r,fields:[{label:`链接`,value:r,href:r}]};case`pr_create`:return{primary:t.startsWith(`PR already exists:`)?`PR 已存在`:`PR 创建成功`,secondary:r,badge:t.startsWith(`PR already exists:`)?`exists`:`created`,url:r,fields:[{label:`链接`,value:r,href:r}]};case`pr_sync`:return{primary:`PR 已同步`,secondary:r,badge:`updated`,url:r,fields:[{label:`链接`,value:r,href:r}]};default:return null}}function fb(e){let t=e.match(/^merged=(true|false)\s+message=(.+)$/);return t?{primary:t[1]===`true`?`PR 合并完成`:`PR 合并未完成`,badge:t[1]===`true`?`merged`:`pending`,body:t[2],fields:[{label:`结果`,value:t[1]===`true`?`merged`:`not merged`},{label:`消息`,value:t[2]}]}:null}function pb(e,t){return e===`U`||t===`U`?`conflict`:e===`?`&&t===`?`?`untracked`:e!==` `&&t!==` `?`mixed`:e===` `?t===` `?`clean`:`unstaged`:`staged`}function mb(e){return e.split(/\r?\n/).map(e=>e.trimEnd()).filter(Boolean).flatMap((e,t)=>{let n=e.match(tb);if(!n)return[];let r=n[1],i=r[0]??` `,a=r[1]??` `,o=r.replace(/\s/g,`·`),s=pb(i,a),c=a!==` `||i===`?`&&a===`?`,l=i!==` `&&i!==`?`,u=s!==`clean`;return[{id:`repo-${t}`,primary:n[2],badge:o,category:s,keywords:[o,s,n[2],i,a],fields:{path:n[2],status:o,status_raw:r,status_category:s,staging:i,worktree:a,can_stage:c?`1`:`0`,can_unstage:l?`1`:`0`,can_discard:u?`1`:`0`}}]})}function hb(e,t){let n=e.split(/\r?\n/),r=[],i=``,a=``,o=``,s=()=>{if(!i)return;let e=[a,o?o.slice(0,8):``].filter(Boolean).join(` · `);r.push({id:`${i}-${r.length}`,primary:i,secondary:e||void 0,active:i===t,badge:i===t?`current`:void 0,value:a||i,keywords:[i,a,o,i===t?`current`:``].filter(Boolean),fields:{path:i,branch:a||`-`,commit:o?o.slice(0,8):`-`,status:i===t?`current`:`attached`}})};return n.forEach(e=>{let t=e.trim();if(t){if(t.startsWith(`worktree `)){s(),i=t.slice(9).trim(),a=``,o=``;return}if(t.startsWith(`branch `)){a=t.slice(7).trim().replace(`refs/heads/`,``);return}t.startsWith(`HEAD `)&&(o=t.slice(5).trim())}}),s(),r}function gb(e,t,n){if(!n)return e;switch(t){case`remote_list`:return{...e,remotes:n};case`branch_list`:return{...e,branches:n};case`issue_list`:return{...e,issues:n};case`tag_list`:return{...e,tags:n};case`worktree_list`:return{...e,worktrees:n};case`pr_status`:case`pr_list`:return{...e,prs:n};case`repo_status`:return{...e,repoStatus:n};default:return e}}function _b(e,t,n){let r=e.find(e=>e.id===t),i=r?.actions?.find(e=>e.id===n);return!r||!i?null:{module:r,action:i}}function vb(e,t){switch(t){case`remote_add`:case`remote_update`:case`remote_rename`:case`remote_set_url`:case`remote_set_push_url`:case`remote_remove`:case`remote_fetch`:case`remote_fetch_all`:return[{moduleId:`remote`,actionId:`remote_list`},{moduleId:`branch`,actionId:`branch_list`}];case`branch_create`:case`branch_delete`:case`branch_checkout`:case`branch_force_sync`:case`repo_force_sync`:return[{moduleId:`branch`,actionId:`branch_list`},{moduleId:`repo`,actionId:`repo_status`}];case`worktree_create`:case`worktree_remove`:return[{moduleId:`worktree`,actionId:`worktree_list`},{moduleId:`branch`,actionId:`branch_list`}];case`issue_create`:case`issue_close`:return[{moduleId:`issue`,actionId:`issue_list`}];case`tag_publish`:case`tag_push`:case`tag_force_sync`:return[{moduleId:`tag`,actionId:`tag_list`}];case`repo_pull`:case`repo_push`:case`repo_stage_path`:case`repo_unstage_path`:case`repo_discard_path`:return[{moduleId:`repo`,actionId:`repo_status`}];case`pr_create`:case`pr_sync`:case`pr_merge`:case`pr_close`:return[{moduleId:`pr`,actionId:`pr_list`}];default:return[]}}function yb(e,t,n){let r=t.trim();switch(e){case`remote_list`:{let e=rb(r);return{items:e,emptyHint:r===`no remotes`||e.length===0?`暂无 remote`:void 0}}case`branch_list`:{let e=ib(r);return{items:e,emptyHint:e.length===0?`暂无分支`:void 0}}case`tag_list`:{let e=ab(r);return{items:e,emptyHint:r===`no tags`||e.length===0?`暂无标签`:void 0}}case`worktree_list`:{let e=hb(r,n);return{items:e,emptyHint:r===`no worktree`||e.length===0?`暂无 worktree`:void 0}}case`issue_list`:{let e=ob(r);return{items:e,emptyHint:r===`no open issues`||e.length===0?`暂无 open issues`:void 0}}case`pr_status`:{let e=sb(r);return{items:e,detail:e.length>0?lb(r)??void 0:void 0,emptyHint:r===`no open PR for current branch`?`当前分支暂无 open PR`:void 0}}case`pr_list`:{let e=cb(r);return{items:e,emptyHint:r===`no open PRs`||e.length===0?`暂无 open PR`:void 0}}case`repo_status`:return{items:mb(r),emptyHint:r===`working tree clean`?`工作区干净`:void 0};case`issue_view`:case`pr_view`:return{detail:e===`issue_view`?ub(r)??void 0:lb(r)??void 0};case`issue_create`:case`pr_create`:case`pr_sync`:return{detail:db(e,r)??void 0};case`pr_merge`:return{detail:fb(r)??void 0};default:return{}}}function bb(e){return e.trim()}function xb(e,...t){let n=new Set,r=[],i=e=>{let t=bb(e);!t||n.has(t)||(n.add(t),r.push(t))};return e.forEach(i),t.forEach(i),r}function Sb(e,t){let n=bb(t);return n?[n,...e.filter(e=>bb(e)!==n)]:e}function Cb(e,t){return t?e.includes(t)?e:[...e,t]:e}function wb(e){return Math.max(220,Math.min(420,e))}function Tb(e,t,n){let r=n.filter(e=>e.exitCode===0).length,i=n.length-r,a=n.map((e,n)=>{let r=e.exitCode===0?`ok`:`error`,i=(e.output||`(no output)`).trim();return`[${r}] ${t[n]?.label??`#${n+1}`}\n${i}`});return{primary:`批量${e.title}`,secondary:`${r}/${t.length} 成功`,badge:i===0?`success`:r===0?`error`:`partial`,body:a.join(` + +`),fields:[{label:`任务数`,value:String(t.length)},{label:`成功`,value:String(r)},{label:`失败`,value:String(i)}]}}function Eb(e,t,n){let r=Hy(e,t);return n[n.length-1]??r[0]?.id??e[0]?.id??null}function Db(){let e=Ky(),t=bb(e.selectedRepoPath??``);return{repoPath:t,repoNamespaces:Sb(xb(e.repoNamespaces??[],t),t),repoStatus:`加载中...`,githubAuthStatus:null,projectSettings:e.projectSettings??{},modules:[],selectedModuleId:null,openedModuleIds:[],selectedMenu:e.selectedMenu??`source`,modulePaneWidth:wb(e.modulePaneWidth??280),modulePaneCollapsed:e.modulePaneCollapsed??!1,busy:!1,output:Zy,catalog:nb()}}function Ob({children:e}){let[t,n]=(0,Z.useState)(Db),r=(0,Z.useCallback)(async()=>{try{let e=await Qy.getGitHubAuthStatus();n(t=>({...t,githubAuthStatus:e}))}catch(e){n(t=>({...t,githubAuthStatus:{configured:!1,source:`none`,message:`GitHub 状态读取失败: ${String(e)}`}}))}},[]),i=(0,Z.useCallback)((e,t,r,i,a)=>{let o=r.exitCode===0?yb(t.id,r.output||``,i):{};n(n=>({...n,output:{title:`${e.title} / ${t.title}`,command:r.command,exitCode:r.exitCode,body:r.output||`(no output)`,moduleId:e.id,actionId:t.id,items:o.items,detail:o.detail,emptyHint:o.emptyHint,...a},catalog:r.exitCode===0?gb(n.catalog,t.id,o.items):n.catalog}))},[]),a=(0,Z.useCallback)(async(e,t,n)=>Qy.runAction({moduleID:e,actionID:t,values:n}),[]),o=(0,Z.useCallback)(e=>{n(t=>({...t,busy:e}))},[]),s=(0,Z.useCallback)(async(e,r)=>{if(!t.repoPath)return;let i=vb(e,r);await Promise.all(i.map(async e=>{let r=_b(t.modules,e.moduleId,e.actionId);if(!r)return;let i=await a(r.module.id,r.action.id,{});if(i.exitCode!==0)return;let o=yb(r.action.id,i.output||``,t.repoPath);n(e=>({...e,catalog:gb(e.catalog,r.action.id,o.items)}))}))},[a,t.modules,t.repoPath]),c=(0,Z.useCallback)(async e=>{let t=bb(e??``);o(!0);try{t&&await Qy.setRepoRoot(t);let[e,i]=await Promise.all([Qy.getRepoRoot(),Qy.getModules()]),a=bb(e);n(e=>{let n=Yy(a),r=Hy(i,e.selectedMenu),o=n?.selectedModuleId??e.selectedModuleId,s=o&&r.some(e=>e.id===o)?o:r[0]?.id??i[0]?.id??null,c=new Set(i.map(e=>e.id)),l=(n?.openedModuleIds??e.openedModuleIds).filter(e=>c.has(e)),u=e.repoPath!==a;return{...e,repoPath:a,repoNamespaces:Sb(xb(e.repoNamespaces,t,a),a),repoStatus:a?`当前项目: ${a}`:`请先选择项目命名空间`,modules:i,selectedModuleId:s,openedModuleIds:Cb(l,s),catalog:u?nb():e.catalog}}),r()}catch(e){let r=String(e);n(e=>({...e,output:{title:t?`Set Project`:`Load Error`,command:t?`SetProjectRoot`:`bootstrap`,exitCode:1,body:r},repoStatus:t?`项目切换失败: ${r}`:`加载失败: ${r}`}))}finally{o(!1)}},[r,o]),l=(0,Z.useCallback)(e=>{n(t=>({...t,selectedModuleId:e,openedModuleIds:Cb(t.openedModuleIds,e)}))},[]),u=(0,Z.useCallback)(e=>{n(t=>{if(t.selectedMenu===e)return{...t,modulePaneCollapsed:!t.modulePaneCollapsed};let n=Hy(t.modules,e),r=t.selectedModuleId&&n.some(e=>e.id===t.selectedModuleId)?t.selectedModuleId:n[0]?.id??t.modules[0]?.id??null;return{...t,selectedMenu:e,selectedModuleId:r,openedModuleIds:Cb(t.openedModuleIds,r),modulePaneCollapsed:!1}})},[]),d=(0,Z.useCallback)(e=>{n(t=>{let n=t.openedModuleIds.filter(t=>t!==e);if(t.selectedModuleId!==e)return{...t,openedModuleIds:n};let r=Eb(t.modules,t.selectedMenu,n);return{...t,openedModuleIds:n,selectedModuleId:r}})},[]),f=(0,Z.useCallback)(e=>{n(t=>t.openedModuleIds.includes(e)?{...t,openedModuleIds:[e],selectedModuleId:e}:t)},[]),p=(0,Z.useCallback)(e=>{n(t=>{let n=t.openedModuleIds.indexOf(e);if(n<0)return t;let r=t.openedModuleIds.slice(0,n+1),i=t.selectedModuleId&&r.includes(t.selectedModuleId)?t.selectedModuleId:Eb(t.modules,t.selectedMenu,r);return{...t,openedModuleIds:r,selectedModuleId:i}})},[]),m=(0,Z.useCallback)((e,t)=>{e!==t&&n(n=>{let r=n.openedModuleIds.indexOf(e),i=n.openedModuleIds.indexOf(t);if(r<0||i<0)return n;let a=[...n.openedModuleIds];a.splice(r,1);let o=a.indexOf(t);return a.splice(o,0,e),{...n,openedModuleIds:a}})},[]),h=(0,Z.useCallback)(()=>{n(e=>{let t=Hy(e.modules,e.selectedMenu).find(t=>!e.openedModuleIds.includes(t.id))??e.modules[0];return t?{...e,selectedModuleId:t.id,openedModuleIds:Cb(e.openedModuleIds,t.id),modulePaneCollapsed:!1}:e})},[]),g=(0,Z.useCallback)(e=>{n(t=>({...t,modulePaneWidth:wb(e)}))},[]),_=(0,Z.useCallback)(e=>{n(t=>({...t,modulePaneCollapsed:e}))},[]),v=(0,Z.useCallback)(async e=>{let r=bb(e);!r||r===t.repoPath||(n(e=>({...e,repoNamespaces:Sb(xb(e.repoNamespaces,r),r)})),await c(r))},[c,t.repoPath]),y=(0,Z.useCallback)(async e=>{let t=bb(e);t&&n(e=>({...e,repoNamespaces:xb(e.repoNamespaces,t),repoStatus:t===e.repoPath?`当前项目: ${e.repoPath}`:`已添加项目命名空间: ${t}`}))},[]),b=(0,Z.useCallback)(async e=>{let r=bb(e);if(!r)return;let i=t.repoNamespaces.filter(e=>e!==r);if(i.length!==t.repoNamespaces.length){if(t.repoPath===r){if(i.length===0)return;n(e=>({...e,repoNamespaces:i})),await c(i[0]);return}n(e=>({...e,repoNamespaces:i}))}},[c,t.repoNamespaces,t.repoPath]),x=(0,Z.useCallback)(async e=>{await Qy.setGitHubToken(e),await r(),n(t=>({...t,repoStatus:e.trim()?`GitHub Token 已更新(当前会话)`:t.repoStatus}))},[r]),S=(0,Z.useCallback)(e=>{n(t=>{let n=t.repoPath.trim();if(!n)return t;let r=t.projectSettings[n]??{defaultBaseBranch:``,defaultRemote:``};return{...t,projectSettings:{...t.projectSettings,[n]:{...r,...e}},repoStatus:`defaultRemote`in e?`项目默认 remote 已更新: ${e.defaultRemote||`(未设置)`}`:`defaultBaseBranch`in e?`项目默认 base branch 已更新: ${e.defaultBaseBranch||`(未设置)`}`:t.repoStatus}})},[]),C=(0,Z.useCallback)(async(e,r,c)=>{if(!t.repoPath){n(t=>({...t,output:{title:`${e.title} / ${r.title}`,command:`RunAction`,exitCode:1,body:`请先选择项目命名空间。`}}));return}o(!0);try{let n=await a(e.id,r.id,c);i(e,r,n,t.repoPath),n.exitCode===0&&await s(e.id,r.id)}catch(t){n(n=>({...n,output:{title:`${e.title} / ${r.title}`,command:`RunAction`,exitCode:1,body:String(t)}}))}finally{o(!1)}},[i,s,a,o,t.repoPath]),w=(0,Z.useCallback)(async(e,r,s,c)=>{if(!t.repoPath)return;let l=_b(t.modules,e.id,c)??_b(t.modules,t.output.moduleId??e.id,c);if(!l){await C(e,r,s);return}o(!0);try{let n=await a(e.id,r.id,s),o=n.exitCode===0?yb(r.id,n.output||``,t.repoPath):{};if(n.exitCode!==0){i(e,r,n,t.repoPath);return}let c=await a(l.module.id,l.action.id,{});if(c.exitCode===0){let e=yb(l.action.id,c.output||``,t.repoPath);i(l.module,l.action,c,t.repoPath,{detail:o.detail??e.detail})}else i(e,r,n,t.repoPath)}catch(t){n(n=>({...n,output:{title:`${e.title} / ${r.title}`,command:`RunAction`,exitCode:1,body:String(t)}}))}finally{o(!1)}},[i,a,C,o,t.modules,t.output.moduleId,t.repoPath]),T=(0,Z.useCallback)(async(e,r,i,c)=>{if(!t.repoPath||i.length===0)return;let l=c?_b(t.modules,e.id,c)??_b(t.modules,t.output.moduleId??e.id,c):null;o(!0);try{let o=[];for(let t of i){let n=await a(e.id,r.id,t.values);o.push({exitCode:n.exitCode,output:n.output||`(no output)`})}let c=Tb(r,i,o),u=c.body??``,d=+!o.every(e=>e.exitCode===0);if(l){let o=await a(l.module.id,l.action.id,{});if(o.exitCode===0){let a=yb(l.action.id,o.output||``,t.repoPath);n(t=>({...t,output:{title:`${e.title} / 批量${r.title}`,command:`sdk/${e.id}/${r.id} x${i.length}`,exitCode:d,body:u,moduleId:l.module.id,actionId:l.action.id,items:a.items,detail:c,emptyHint:a.emptyHint},catalog:gb(t.catalog,l.action.id,a.items)}))}else n(t=>({...t,output:{title:`${e.title} / 批量${r.title}`,command:`sdk/${e.id}/${r.id} x${i.length}`,exitCode:d,body:u,moduleId:e.id,actionId:r.id,detail:c}}))}else n(t=>({...t,output:{title:`${e.title} / 批量${r.title}`,command:`sdk/${e.id}/${r.id} x${i.length}`,exitCode:d,body:u,moduleId:e.id,actionId:r.id,detail:c}}));o.some(e=>e.exitCode===0)&&await s(e.id,r.id)}catch(t){n(n=>({...n,output:{title:`${e.title} / 批量${r.title}`,command:`RunBatchActions`,exitCode:1,body:String(t)}}))}finally{o(!1)}},[s,a,o,t.modules,t.output.moduleId,t.repoPath]),E=(0,Z.useCallback)(async(e,r,i={})=>{if(t.repoPath&&_b(t.modules,e,r))try{let o=await a(e,r,i);if(o.exitCode!==0)return;let s=yb(r,o.output||``,t.repoPath);if(!s.detail)return;n(e=>({...e,output:{...e.output,command:e.output.command,detail:s.detail}}))}catch{return}},[a,t.modules,t.repoPath]),D=(0,Z.useCallback)(async(e,r,i={})=>{if(t.repoPath&&_b(t.modules,e,r))try{let a=await Qy.runAction({moduleID:e,actionID:r,values:i});if(a.exitCode!==0)return;let o=yb(r,a.output||``,t.repoPath);if(!o.items)return;n(e=>({...e,catalog:gb(e.catalog,r,o.items)}))}catch{return}},[t.modules,t.repoPath]),O=(0,Z.useMemo)(()=>t.selectedModuleId?t.modules.find(e=>e.id===t.selectedModuleId)??null:null,[t.modules,t.selectedModuleId]),k=(0,Z.useMemo)(()=>Hy(t.modules,t.selectedMenu),[t.modules,t.selectedMenu]);(0,Z.useEffect)(()=>{qy({selectedMenu:t.selectedMenu,modulePaneWidth:t.modulePaneWidth,modulePaneCollapsed:t.modulePaneCollapsed,repoNamespaces:t.repoNamespaces,selectedRepoPath:t.repoPath,projectSettings:t.projectSettings})},[t.modulePaneCollapsed,t.modulePaneWidth,t.projectSettings,t.repoNamespaces,t.repoPath,t.selectedMenu]),(0,Z.useEffect)(()=>{if(!t.repoPath)return;let e=new Set(t.modules.map(e=>e.id)),n=t.openedModuleIds.filter(t=>e.has(t)),r=t.selectedModuleId&&e.has(t.selectedModuleId)?t.selectedModuleId:null;Xy(t.repoPath,{openedModuleIds:n,selectedModuleId:r})},[t.modules,t.openedModuleIds,t.repoPath,t.selectedModuleId]);let A=(0,Z.useMemo)(()=>({state:t,selectedModule:O,filteredModules:k,setSelectedModule:l,closeModuleTab:d,closeOtherModuleTabs:f,closeTabsToRight:p,reorderModuleTabs:m,addModuleTab:h,setSelectedMenu:u,setModulePaneWidth:g,setModulePaneCollapsed:_,refresh:c,refreshGitHubAuthStatus:r,addRepo:y,switchRepo:v,removeRepo:b,setGitHubToken:x,updateProjectSettings:S,runAction:C,runBatchActions:T,runActionAndReload:w,previewAction:E,prefetchAction:D}),[t,O,k,l,d,f,p,m,h,u,g,_,c,r,y,v,b,x,S,C,T,w,E,D]);return(0,Q.jsx)(qt.Provider,{value:A,children:e})}var kb=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Ab=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),jb=e=>{let t=Ab(e);return t.charAt(0).toUpperCase()+t.slice(1)},Mb=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Nb=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0},Pb={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},Fb=(0,Z.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,Z.createElement)(`svg`,{ref:c,...Pb,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Mb(`lucide`,i),...!a&&!Nb(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,Z.createElement)(e,t)),...Array.isArray(a)?a:[a]])),Ib=(e,t)=>{let n=(0,Z.forwardRef)(({className:n,...r},i)=>(0,Z.createElement)(Fb,{ref:i,iconNode:t,className:Mb(`lucide-${kb(jb(e))}`,`lucide-${e}`,n),...r}));return n.displayName=jb(e),n},Lb=Ib(`users-round`,[[`path`,{d:`M18 21a8 8 0 0 0-16 0`,key:`3ypg7q`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`,key:`10s06x`}]]),Rb=Ib(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),zb=Ib(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Bb=Ib(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),Vb=Ib(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Hb=Ib(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),Ub=Ib(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Wb=Ib(`tags`,[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`,key:`16rjxf`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`,key:`178nd4`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`12ikhr`}]]),Gb=Ib(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Kb={source:`源码与仓库`,collaboration:`协作与评审`,release:`发布与版本`,all:`全部模块`};function qb(e){return e.find(e=>(e.id.endsWith(`_list`)||e.id.endsWith(`_status`))&&(e.fields?.length??0)===0)??null}function Jb(){let{state:e,filteredModules:t,setSelectedModule:n,setModulePaneCollapsed:r,refresh:i,runAction:a}=Jt(),o=Kb[e.selectedMenu]??`模块`,s=e=>{let r=t.find(t=>t.id===e);if(!r)return;n(r.id);let i=qb(r.actions);i&&a(r,i,{})};return(0,Q.jsxs)(`aside`,{className:`module-pane`,children:[(0,Q.jsxs)(`div`,{className:`module-pane__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{children:o}),(0,Q.jsxs)(`p`,{children:[t.length,` 个模块`]})]}),(0,Q.jsxs)(`div`,{className:`module-pane__actions`,children:[(0,Q.jsx)(Yt,{variant:`ghost`,onClick:()=>void i(),children:`刷新`}),(0,Q.jsx)(Yt,{variant:`ghost`,className:`module-pane__collapse`,onClick:()=>r(!0),children:(0,Q.jsx)(Bb,{size:14})})]})]}),(0,Q.jsxs)(`div`,{className:`module-pane__list`,children:[t.map(t=>(0,Q.jsxs)(`button`,{className:lt(`module-pane__item`,e.selectedModuleId===t.id&&`module-pane__item--active`),onClick:()=>s(t.id),type:`button`,children:[(0,Q.jsx)(`strong`,{children:t.title}),(0,Q.jsx)(`span`,{children:t.description})]},t.id)),t.length===0&&(0,Q.jsx)(`div`,{className:`module-pane__empty`,children:`当前菜单下暂无模块`})]})]})}var Yb=[{id:`source`,label:`源码`,icon:Rb},{id:`collaboration`,label:`协作`,icon:Lb},{id:`release`,label:`发布`,icon:Wb},{id:`all`,label:`全部`,icon:zb}];function Xb(){let{state:e,setSelectedMenu:t,refresh:n}=Jt();return(0,Q.jsxs)(`aside`,{className:`sidebar-menu-panel`,children:[(0,Q.jsx)(`div`,{className:`sidebar-menu-panel__group`,children:Yb.map(n=>{let r=n.icon;return(0,Q.jsxs)(`button`,{className:lt(`sidebar-menu-panel__item`,e.selectedMenu===n.id&&`sidebar-menu-panel__item--active`),onClick:()=>t(n.id),title:n.label,type:`button`,children:[(0,Q.jsx)(r,{size:18,strokeWidth:2}),(0,Q.jsx)(`span`,{children:n.label})]},n.id)})}),(0,Q.jsxs)(`div`,{className:`sidebar-menu-panel__footer`,children:[(0,Q.jsx)(Yt,{variant:`ghost`,className:`sidebar-menu-panel__refresh`,onClick:()=>void n(),children:(0,Q.jsx)(Hb,{size:14})}),(0,Q.jsx)(`span`,{children:e.modulePaneCollapsed?`已收起`:e.busy?`运行中`:`空闲`})]})]})}function Zb(e){return e.map(e=>({label:e.secondary?`${e.primary} · ${e.secondary}`:e.primary,value:e.value??e.primary})).filter((e,t,n)=>e.value&&n.findIndex(t=>t.value===e.value)===t)}function Qb(e,t={},n={}){let r={...t};for(let t of e?.fields??[])r[t.key]||(r[t.key]=n[t.key]||t.default||``);return r}function $b(e,t,n,r){return n===`method`?[{label:`squash`,value:`squash`},{label:`merge`,value:`merge`},{label:`rebase`,value:`rebase`}]:n===`remote`?Zb(r.remotes):e===`repo`&&n===`path`&&(t===`repo_stage_path`||t===`repo_unstage_path`||t===`repo_discard_path`)?Zb(r.repoStatus):e===`branch`&&n===`name`&&(t===`branch_checkout`||t===`branch_delete`||t===`branch_force_sync`)?Zb(t===`branch_delete`?r.branches.filter(e=>!e.active):r.branches):e===`worktree`&&n===`base`?Zb(r.branches):e===`worktree`&&n===`target`?t===`worktree_remove`?Zb(r.worktrees):[...Zb(r.issues),...Zb(r.branches.filter(e=>!e.active))]:e===`issue`&&(t===`issue_view`||t===`issue_close`)&&n===`id`?Zb(r.issues):e===`remote`&&n===`name`&&(t===`remote_rename`||t===`remote_update`||t===`remote_set_url`||t===`remote_set_push_url`||t===`remote_remove`||t===`remote_fetch`)?Zb(r.remotes):e===`tag`&&(t===`tag_push`||t===`tag_force_sync`)&&n===`name`?Zb(r.tags):e===`pr`&&t===`pr_create`&&n===`base`?Zb(r.branches):e===`pr`&&(t===`pr_view`||t===`pr_close`)&&n===`id`?Zb(r.prs):[]}function ex(e){return e.endsWith(`_force_sync`)?`危险操作`:e.endsWith(`_list`)||e.endsWith(`_status`)?`列表`:e.endsWith(`_view`)?`详情`:e.endsWith(`_create`)||e.endsWith(`_publish`)||e.endsWith(`_add`)?`新增`:e.endsWith(`_rename`)||e.endsWith(`_update`)?`编辑`:e.endsWith(`_delete`)||e.endsWith(`_remove`)||e.endsWith(`_discard`)?`删除`:e.endsWith(`_close`)?`关闭`:e.endsWith(`_set_url`)||e.endsWith(`_set_push_url`)?`编辑`:e.endsWith(`_checkout`)||e.endsWith(`_switch`)?`切换`:e.endsWith(`_pull`)||e.endsWith(`_push`)||e.endsWith(`_sync`)||e.endsWith(`_merge`)||e.endsWith(`_fetch`)||e.endsWith(`_fetch_all`)?`执行`:`操作`}function tx(e){return(e.id.endsWith(`_list`)||e.id.endsWith(`_status`))&&(e.fields?.length??0)===0}function nx(e){return e.find(tx)??e[0]??null}function rx(e){return e.id.endsWith(`_view`)}function ix(e){return e?(e.fields?.length??0)>0?`填写并执行`:`立即执行`:`执行`}function ax(e){return e?e.id.endsWith(`_add`)||e.id.endsWith(`_create`)||e.id.endsWith(`_publish`)?`创建`:e.id.endsWith(`_rename`)||e.id.endsWith(`_update`)||e.id.endsWith(`_set_url`)||e.id.endsWith(`_set_push_url`)?`保存`:e.id.endsWith(`_delete`)||e.id.endsWith(`_remove`)?`删除`:e.id.endsWith(`_discard`)?`丢弃`:e.id.endsWith(`_close`)?`关闭`:e.id.endsWith(`_force_sync`)?`强制对齐`:e.id.endsWith(`_fetch`)||e.id.endsWith(`_fetch_all`)?`抓取`:e.id.endsWith(`_pull`)?`拉取`:e.id.endsWith(`_push`)?`推送`:e.id.endsWith(`_checkout`)||e.id.endsWith(`_switch`)?`切换`:`执行`:`执行`}function ox(e,t){return(e.fields??[]).some(e=>e.required?!String(t[e.key]??``).trim():!1)}function sx({action:e,moduleId:t,catalog:n,values:r,busy:i=!1,onChange:a,onClose:o,onSubmit:s}){let c=e.id.endsWith(`_force_sync`),l=e.id.endsWith(`_delete`)||e.id.endsWith(`_remove`)||e.id.endsWith(`_close`)||e.id.endsWith(`_discard`),u=e.id===`tag_force_sync`?`会执行 git fetch --force refs/tags/:refs/tags/,本地同名 tag 会被远端覆盖。`:`会执行 git fetch --prune 、git reset --hard、git clean -fd,本地未提交改动会被直接丢弃。`,d=e.id===`remote_remove`?`会移除当前 remote 配置;依赖它的 tracking/default 配置需要你后续自行调整。`:e.id===`repo_discard_path`?`会丢弃该文件本地改动;如果是未跟踪文件会直接删除。`:`该操作不可恢复,请确认当前选中资源正确。`,f=ox(e,r);return(0,Q.jsx)(na,{open:!0,title:e.title,onCancel:o,onOk:()=>s(r),okText:ax(e),cancelText:`取消`,confirmLoading:i,okButtonProps:{disabled:i||f,danger:l||c},destroyOnClose:!0,centered:!0,width:560,children:(0,Q.jsxs)(`div`,{className:`action-dialog__body`,children:[(0,Q.jsx)(Ig.Paragraph,{className:`action-dialog__description`,children:e.description}),c?(0,Q.jsx)(vn,{type:`warning`,showIcon:!0,message:`危险操作`,description:u}):null,l?(0,Q.jsx)(vn,{type:`warning`,showIcon:!0,message:`删除确认`,description:d}):null,(0,Q.jsx)(`div`,{className:`action-dialog__fields`,children:(e.fields??[]).map(i=>{let o=$b(t,e.id,i.key,n),s=r[i.key]??``;return(0,Q.jsxs)(`label`,{className:`action-field`,children:[(0,Q.jsxs)(`span`,{children:[i.label,i.required?` *`:``]}),i.key.toLowerCase().includes(`body`)?(0,Q.jsx)(ze.TextArea,{className:`ui-textarea`,placeholder:i.placeholder||i.label,value:s,autoSize:{minRows:4,maxRows:12},onChange:e=>a({...r,[i.key]:e.target.value})}):o.length>0?(0,Q.jsx)(bt,{className:`ui-select`,value:s||void 0,placeholder:i.placeholder||`选择${i.label}`,allowClear:!i.required,options:o.map(e=>({label:e.label,value:e.value})),onChange:e=>a({...r,[i.key]:String(e??``)})}):(0,Q.jsx)(Et,{placeholder:i.placeholder||i.label,value:s,onChange:e=>a({...r,[i.key]:e.target.value})})]},i.key)})})]})})}var cx=[`列表`,`新增`,`编辑`,`切换`,`执行`,`关闭`,`删除`,`危险操作`,`操作`],lx=[];function ux(e){return Array.from(e.entries()).sort((e,t)=>{let n=cx.indexOf(e[0]),r=cx.indexOf(t[0]);return(n===-1?cx.length:n)-(r===-1?cx.length:r)||e[0].localeCompare(t[0])})}function dx(){let{selectedModule:e,runAction:t,runActionAndReload:n,prefetchAction:r,state:i}=Jt(),a=e?.actions??lx,[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)({}),g=(0,Z.useRef)(``),_=a.find(e=>e.id===o)??nx(a),v=nx(a),y=ux(a.reduce((e,t)=>{let n=ex(t.id),r=e.get(n)??[];return r.push(t),e.set(n,r),e},new Map)),b=i.projectSettings[i.repoPath]?.defaultBaseBranch??``,x=(i.projectSettings[i.repoPath]?.defaultRemote??``)||i.catalog.remotes.find(e=>e.active)?.value||i.catalog.remotes[0]?.value||`origin`;if((0,Z.useEffect)(()=>{let e=nx(a);s(e?.id??null),d(!1),p(!1),h(Qb(e,{},{base:b,remote:x})),g.current=``},[e?.id,b,x]),(0,Z.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(max-width: 1260px)`),t=e=>{e&&d(!0)};t(e.matches);let n=e=>t(e.matches);return typeof e.addEventListener==`function`?(e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)):(e.addListener(n),()=>e.removeListener(n))},[]),(0,Z.useEffect)(()=>{if(y.length===0){l(``);return}y.some(([e])=>e===c)||l(y[0][0])},[c,y]),(0,Z.useEffect)(()=>{if(!e||!_||!tx(_))return;let n=`${e.id}:${_.id}`;g.current!==n&&(g.current=n,t(e,_,{}))},[_,t,e]),(0,Z.useEffect)(()=>{if(!e)return;let t=[];switch(e.id){case`remote`:i.catalog.remotes.length===0&&t.push({moduleId:`remote`,actionId:`remote_list`});break;case`branch`:i.catalog.branches.length===0&&t.push({moduleId:`branch`,actionId:`branch_list`}),i.catalog.remotes.length===0&&t.push({moduleId:`remote`,actionId:`remote_list`});break;case`worktree`:i.catalog.worktrees.length===0&&t.push({moduleId:`worktree`,actionId:`worktree_list`}),i.catalog.branches.length===0&&t.push({moduleId:`branch`,actionId:`branch_list`}),i.catalog.issues.length===0&&t.push({moduleId:`issue`,actionId:`issue_list`});break;case`issue`:i.catalog.issues.length===0&&t.push({moduleId:`issue`,actionId:`issue_list`});break;case`tag`:i.catalog.tags.length===0&&t.push({moduleId:`tag`,actionId:`tag_list`}),i.catalog.remotes.length===0&&t.push({moduleId:`remote`,actionId:`remote_list`});break;case`repo`:i.catalog.repoStatus.length===0&&t.push({moduleId:`repo`,actionId:`repo_status`}),i.catalog.remotes.length===0&&t.push({moduleId:`remote`,actionId:`remote_list`});break;case`pr`:i.catalog.prs.length===0&&t.push({moduleId:`pr`,actionId:`pr_list`}),i.catalog.branches.length===0&&t.push({moduleId:`branch`,actionId:`branch_list`});break;default:break}t.forEach(e=>{r(e.moduleId,e.actionId)})},[r,e,i.catalog.branches.length,i.catalog.issues.length,i.catalog.prs.length,i.catalog.remotes.length,i.catalog.repoStatus.length,i.catalog.tags.length,i.catalog.worktrees.length]),!e)return(0,Q.jsx)(`section`,{className:`module-actions min-h-0`,children:(0,Q.jsx)(`div`,{className:`empty-state`,children:`未找到模块,请刷新。`})});if(a.length===0||!_)return(0,Q.jsxs)(`section`,{className:`module-actions min-h-0`,children:[(0,Q.jsxs)(`header`,{className:`module-actions__header`,children:[(0,Q.jsx)(`h2`,{children:e.title}),(0,Q.jsx)(`p`,{children:e.description})]}),(0,Q.jsx)(`div`,{className:`empty-state`,children:`该模块暂时没有可执行动作。`})]});let S=(r,i)=>{if(e){if(!tx(r)&&!r.id.endsWith(`_view`)&&v?.id&&v){n(e,r,i,v.id);return}t(e,r,i)}},C=e=>{s(e.id),h(Qb(e,{},{base:b,remote:x})),p(!0)},w=()=>{p(!1),h(Qb(_,{},{base:b,remote:x}))},T=e=>{if(s(e.id),tx(e)){S(e,{});return}if((e.fields?.length??0)>0){C(e);return}S(e,{})},E=()=>{if((_.fields?.length??0)>0){C(_);return}S(_,{})};return(0,Q.jsxs)(`section`,{className:u?`module-actions module-actions--collapsed min-h-0`:`module-actions min-h-0`,children:[(0,Q.jsxs)(`header`,{className:`module-actions__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{children:e.title}),(0,Q.jsx)(`p`,{children:e.description})]}),(0,Q.jsxs)(`div`,{className:`module-actions__summary`,children:[(0,Q.jsxs)(`span`,{children:[a.length,` 个功能`]}),(0,Q.jsx)(`strong`,{children:ex(_.id)}),(0,Q.jsx)(Yt,{variant:`ghost`,onClick:()=>d(e=>!e),children:u?`展开方法`:`收起方法`})]})]}),u?(0,Q.jsxs)(`section`,{className:`module-actions__collapsed`,children:[(0,Q.jsxs)(`div`,{className:`module-actions__collapsed-meta`,children:[(0,Q.jsx)(`strong`,{children:_.title}),(0,Q.jsx)(`span`,{children:_.description})]}),(0,Q.jsxs)(`div`,{className:`module-actions__collapsed-actions`,children:[v?(0,Q.jsx)(Yt,{variant:`ghost`,onClick:()=>S(v,{}),disabled:i.busy,children:`刷新列表`}):null,(0,Q.jsx)(Yt,{variant:`primary`,onClick:E,disabled:i.busy,children:ix(_)})]})]}):(0,Q.jsxs)(`section`,{className:`module-toolbar`,children:[(0,Q.jsxs)(`div`,{className:`module-toolbar__meta`,children:[(0,Q.jsx)(`h3`,{children:_.title}),(0,Q.jsx)(`p`,{children:_.description})]}),(0,Q.jsxs)(`div`,{className:`module-toolbar__actions`,children:[(0,Q.jsx)(`span`,{className:`module-toolbar__hint`,children:(_.fields?.length??0)>0?`${_.fields?.length} 个参数`:`无额外参数`}),v?(0,Q.jsx)(Yt,{variant:`ghost`,onClick:()=>S(v,{}),disabled:i.busy,children:`刷新列表`}):null,(0,Q.jsx)(Yt,{variant:`primary`,onClick:E,disabled:i.busy,children:ix(_)})]})]}),u?null:(0,Q.jsx)(Fh,{className:`module-actions__tabs`,activeKey:c||y[0]?.[0],onChange:l,items:y.map(([e,t])=>({key:e,label:`${e} (${t.length})`,children:(0,Q.jsx)(`div`,{className:`module-actions__chips`,role:`list`,children:t.map(e=>(0,Q.jsxs)(`button`,{type:`button`,className:_.id===e.id?`module-actions__chip module-actions__chip--active`:`module-actions__chip`,onClick:()=>T(e),title:e.description,children:[(0,Q.jsx)(`span`,{children:e.title}),(e.fields?.length??0)>0?(0,Q.jsxs)(`small`,{children:[e.fields?.length,` 参数`]}):null]},e.id))})}))}),f?(0,Q.jsx)(sx,{action:_,moduleId:e.id,catalog:i.catalog,values:m,busy:i.busy,onChange:h,onClose:w,onSubmit:e=>{S(_,e),w()}}):null]})}var fx=(0,Z.lazy)(async()=>({default:(await a(()=>import(`./action-dialog-CI5VSazp.js`),[])).ActionDialog}));function px(e,t){return e?.find(e=>e.id===t)??null}function $(e,t,n=`-`){return e.fields?.[t]||n}function mx(e,t=`number`){let n=e.fields?.[t]??e.value??``,r=Number.parseInt(n,10);return Number.isFinite(r)?r:0}function hx(e,t){let n=(e.fields?.[t]??``).trim().toLowerCase();return n===`1`||n===`true`||n===`yes`}function gx(e){let t=$(e,`fetch`,``),n=$(e,`push`,``);return!n||n===`-`||n===t?``:n}function _x(e){return e===`remote_list`||e===`branch_list`||e===`tag_list`||e===`worktree_list`||e===`issue_list`||e===`pr_list`||e===`repo_status`}function vx(e,t){if(e===`repo_status`)switch(t){case`staged`:return`已暂存`;case`unstaged`:return`未暂存`;case`mixed`:return`已暂存 + 未暂存`;case`untracked`:return`未跟踪`;case`conflict`:return`冲突`;case`clean`:return`干净`;default:return t}if(e!==`branch_list`)return t;switch(t){case`in-sync`:return`已同步`;case`ahead`:return`本地领先`;case`behind`:return`落后远端`;case`diverged`:return`已分叉`;case`no-upstream`:return`未跟踪`;case`missing-upstream`:return`远端缺失`;case`invalid-upstream`:return`跟踪无效`;default:return t}}function yx(e,t,n){let r=t.trim().toLowerCase(),i=`${r} ${n.trim().toLowerCase()}`;if(e===`repo_status`){if(r===`conflict`||i.includes(`conflict`)||i.includes(`u`))return`danger`;if(r===`mixed`||r===`unstaged`||r===`untracked`)return`warning`;if(r===`staged`)return`info`;if(r===`clean`)return`success`}if(e===`branch_list`)switch(r){case`in-sync`:return`success`;case`ahead`:case`behind`:case`diverged`:case`no-upstream`:case`missing-upstream`:return`warning`;case`invalid-upstream`:return`danger`;default:break}if(e===`issue_list`||e===`pr_list`||e===`pr_status`){if(i.includes(`merged`)||i.includes(`closed`))return`success`;if(i.includes(`draft`))return`warning`;if(i.includes(`open`))return`info`}return i.includes(`error`)||i.includes(`failed`)||i.includes(`danger`)?`danger`:i.includes(`warn`)||i.includes(`behind`)||i.includes(`missing`)?`warning`:i.includes(`ok`)||i.includes(`success`)?`success`:i.includes(`open`)||i.includes(`current`)?`info`:`neutral`}function bx(e,t,n){return`output-list__badge output-list__badge--${yx(e,t?.fields?.status_category||t?.category||t?.fields?.sync||t?.fields?.state||``,n)}`}function xx(e){switch(e){case`remote_list`:return{searchPlaceholder:`搜索 remote 名称、协议或 URL...`,filterLabel:`全部协议`,columns:[{key:`name`,label:`Remote`,width:`minmax(160px, 0.9fr)`,className:`output-table__cell--primary`,render:e=>$(e,`name`,e.primary)},{key:`transport`,label:`协议`,width:`minmax(100px, 0.6fr)`,className:`output-table__cell--status`,render:e=>$(e,`transport`,e.badge??`-`)},{key:`role`,label:`角色`,width:`minmax(100px, 0.7fr)`,render:e=>$(e,`status`)==="default"?`默认`:`扩展`},{key:`fetch`,label:`Fetch URL`,width:`minmax(280px, 1.7fr)`,render:e=>$(e,`fetch`)},{key:`push`,label:`Push URL`,width:`minmax(280px, 1.7fr)`,render:e=>$(e,`push`)}]};case`branch_list`:return{searchPlaceholder:`搜索分支名、upstream、remote 或同步状态...`,filterLabel:`全部同步状态`,columns:[{key:`branch`,label:`分支`,width:`minmax(240px, 1.6fr)`,className:`output-table__cell--primary`,render:e=>$(e,`branch`,e.primary)},{key:`upstream`,label:`Upstream`,width:`minmax(240px, 1.6fr)`,render:e=>$(e,`upstream`)},{key:`remote`,label:`Remote`,width:`minmax(120px, 0.8fr)`,render:e=>$(e,`remote`)},{key:`sync`,label:`同步状态`,width:`minmax(140px, 0.9fr)`,className:`output-table__cell--status`,render:e=>$(e,`sync_label`,e.badge??`-`)}]};case`worktree_list`:return{searchPlaceholder:`搜索路径、分支、提交...`,filterLabel:`全部状态`,columns:[{key:`path`,label:`路径`,width:`minmax(280px, 2.2fr)`,className:`output-table__cell--primary`,render:e=>$(e,`path`,e.primary)},{key:`branch`,label:`分支`,width:`minmax(160px, 1.1fr)`,render:e=>$(e,`branch`)},{key:`commit`,label:`提交`,width:`minmax(120px, 0.8fr)`,render:e=>$(e,`commit`)},{key:`status`,label:`状态`,width:`minmax(120px, 0.8fr)`,className:`output-table__cell--status`,render:e=>$(e,`status`,e.badge??`-`)}]};case`issue_list`:return{searchPlaceholder:`搜索 issue 编号、标题、状态...`,filterLabel:`全部状态`,columns:[{key:`number`,label:`编号`,width:`minmax(100px, 0.7fr)`,render:e=>`#${$(e,`number`,e.value??e.primary)}`},{key:`title`,label:`标题`,width:`minmax(320px, 2.3fr)`,className:`output-table__cell--primary`,render:e=>$(e,`title`,e.primary)},{key:`state`,label:`状态`,width:`minmax(120px, 0.8fr)`,className:`output-table__cell--status`,render:e=>$(e,`state`,e.badge??`-`)},{key:`url`,label:`链接`,width:`minmax(240px, 1.4fr)`,render:e=>e.url??$(e,`url`,`-`)}]};case`pr_list`:case`pr_status`:return{searchPlaceholder:`搜索 PR 编号、标题、状态...`,filterLabel:`全部状态`,columns:[{key:`number`,label:`编号`,width:`minmax(100px, 0.7fr)`,render:e=>`#${$(e,`number`,e.value??e.primary)}`},{key:`title`,label:`标题`,width:`minmax(320px, 2.3fr)`,className:`output-table__cell--primary`,render:e=>$(e,`title`,e.primary)},{key:`state`,label:`状态`,width:`minmax(120px, 0.8fr)`,className:`output-table__cell--status`,render:e=>$(e,`state`,e.badge??`-`)}]};case`tag_list`:return{searchPlaceholder:`搜索 tag...`,filterLabel:`全部标签`,columns:[{key:`tag`,label:`Tag`,width:`minmax(320px, 2fr)`,className:`output-table__cell--primary`,render:e=>$(e,`tag`,e.primary)}]};case`repo_status`:return{searchPlaceholder:`搜索文件路径或状态码...`,filterLabel:`全部状态`,columns:[{key:`path`,label:`文件`,width:`minmax(320px, 2.2fr)`,className:`output-table__cell--primary`,render:e=>$(e,`path`,e.primary)},{key:`status`,label:`状态`,width:`minmax(120px, 0.8fr)`,className:`output-table__cell--status`,render:e=>$(e,`status`,e.badge??`-`)}]};default:return{searchPlaceholder:`搜索名称、状态、分支...`,filterLabel:`全部状态`,columns:[{key:`primary`,label:`资源`,width:`minmax(260px, 1.8fr)`,className:`output-table__cell--primary`,render:e=>e.primary},{key:`secondary`,label:`详情`,width:`minmax(200px, 1.2fr)`,render:e=>e.secondary??`-`},{key:`badge`,label:`状态`,width:`minmax(120px, 0.8fr)`,className:`output-table__cell--status`,render:e=>e.badge??`-`}]}}}function Sx(e,t){switch(e){case`remote_list`:return[{label:`Remote`,value:$(t,`name`,t.value??t.primary)},{label:`角色`,value:$(t,`status`)==="default"?`默认 remote`:`附加 remote`},{label:`协议`,value:$(t,`transport`,t.badge??`-`)},{label:`Fetch`,value:$(t,`fetch`)},{label:`Push`,value:$(t,`push`)},{label:`状态`,value:$(t,`status`,t.active?`default`:`secondary`)}];case`branch_list`:return[{label:`分支`,value:$(t,`branch`,t.value??t.primary)},{label:`本地状态`,value:$(t,`status`,t.active?`current`:`local`)},{label:`Remote`,value:$(t,`remote`)},{label:`Upstream`,value:$(t,`upstream`)},{label:`同步状态`,value:$(t,`sync_label`,t.badge??`-`)},{label:`Ahead`,value:$(t,`ahead`,`0`)},{label:`Behind`,value:$(t,`behind`,`0`)}];case`worktree_list`:return[{label:`路径`,value:$(t,`path`,t.primary)},{label:`分支`,value:$(t,`branch`)},{label:`提交`,value:$(t,`commit`)},{label:`状态`,value:$(t,`status`,t.badge??`ready`)}];case`issue_list`:return[{label:`Issue`,value:`#${$(t,`number`,t.value??t.primary)}`},{label:`标题`,value:$(t,`title`,t.primary)},{label:`状态`,value:$(t,`state`,t.badge??`-`)},...t.url||$(t,`url`,``)?[{label:`链接`,value:t.url??$(t,`url`),href:t.url??$(t,`url`)}]:[]];case`tag_list`:return[{label:`Tag`,value:$(t,`tag`,t.value??t.primary)}];case`repo_status`:return[{label:`文件`,value:$(t,`path`,t.primary)},{label:`状态`,value:$(t,`status`,t.badge??`-`)},{label:`类型`,value:vx(`repo_status`,$(t,`status_category`,t.category??`-`))},{label:`Staging`,value:$(t,`staging`,`-`).replace(/\s/g,`·`)},{label:`Worktree`,value:$(t,`worktree`,`-`).replace(/\s/g,`·`)}];case`pr_status`:case`pr_list`:return[{label:`PR`,value:`#${$(t,`number`,t.value??t.primary)}`},{label:`标题`,value:$(t,`title`,t.primary)},{label:`状态`,value:$(t,`state`,t.badge??`-`)},{label:`Base`,value:$(t,`base`)},{label:`Head`,value:$(t,`head`)},{label:`Draft`,value:$(t,`draft`)},{label:`链接`,value:t.url??$(t,`url`,t.secondary??`-`),href:t.url??($(t,`url`,``)||void 0)}];default:return[{label:`名称`,value:t.primary},{label:`详情`,value:t.secondary??`-`}]}}function Cx(e,t,n=``){switch(e){case`remote_list`:return[{label:`抓取`,actionId:`remote_fetch`,values:{name:t.value??t.primary}},{label:`编辑`,actionId:`remote_update`,values:{name:t.value??t.primary,url:$(t,`fetch`,``),push_url:gx(t)}},{label:`重命名`,actionId:`remote_rename`,values:{name:t.value??t.primary,new_name:t.value??t.primary}},{label:`删除`,actionId:`remote_remove`,values:{name:t.value??t.primary},tone:`danger`}];case`branch_list`:return[{label:`对齐远端`,actionId:`branch_force_sync`,values:{name:t.value??t.primary,remote:$(t,`remote`,``)},tone:`danger`},{label:`切换`,actionId:`branch_checkout`,values:{name:t.value??t.primary},disabled:t.active},{label:`删除`,actionId:`branch_delete`,values:{name:t.value??t.primary},disabled:t.active,tone:`danger`}];case`issue_list`:return[{label:`查看`,actionId:`issue_view`,values:{id:t.value??t.primary}},{label:`关闭`,actionId:`issue_close`,values:{id:t.value??t.primary},tone:`danger`}];case`tag_list`:return[{label:`推送`,actionId:`tag_push`,values:{name:t.value??t.primary,remote:n}},{label:`对齐远端`,actionId:`tag_force_sync`,values:{name:t.value??t.primary,remote:n},tone:`danger`}];case`worktree_list`:return[{label:`删除`,actionId:`worktree_remove`,values:{target:t.value??t.primary},disabled:t.active}];case`pr_status`:return[{label:`同步`,actionId:`pr_sync`,values:{}},{label:`合并`,actionId:`pr_merge`,values:{method:`squash`}}];case`pr_list`:return[{label:`查看`,actionId:`pr_view`,values:{id:t.value??t.primary}},{label:`关闭`,actionId:`pr_close`,values:{id:t.value??t.primary},tone:`danger`}];case`repo_status`:return[{label:`暂存`,actionId:`repo_stage_path`,values:{path:$(t,`path`,t.value??t.primary)},disabled:!hx(t,`can_stage`)},{label:`撤销暂存`,actionId:`repo_unstage_path`,values:{path:$(t,`path`,t.value??t.primary)},disabled:!hx(t,`can_unstage`)},{label:`丢弃`,actionId:`repo_discard_path`,values:{path:$(t,`path`,t.value??t.primary)},disabled:!hx(t,`can_discard`),tone:`danger`}];default:return[]}}function wx(e,t,n=``){switch(e){case`remote_list`:return[{label:`刷新列表`,actionId:`remote_list`,values:{},variant:`ghost`},{label:`抓取全部`,actionId:`remote_fetch_all`,values:{},variant:`ghost`},{label:`添加 Remote`,actionId:`remote_add`,values:{},variant:`primary`},...t?[{label:`抓取 Remote`,actionId:`remote_fetch`,values:{name:t.value??t.primary},variant:`ghost`},{label:`编辑 Remote`,actionId:`remote_update`,values:{name:t.value??t.primary,url:$(t,`fetch`,``),push_url:gx(t)},variant:`ghost`},{label:`重命名`,actionId:`remote_rename`,values:{name:t.value??t.primary,new_name:t.value??t.primary},variant:`ghost`},{label:`删除 Remote`,actionId:`remote_remove`,values:{name:t.value??t.primary},variant:`ghost`,tone:`danger`}]:[]];case`branch_list`:return[{label:`刷新列表`,actionId:`branch_list`,values:{},variant:`ghost`},{label:`新建分支`,actionId:`branch_create`,values:{},variant:`primary`},...t?[{label:`强制对齐远端`,actionId:`branch_force_sync`,values:{name:t.value??t.primary,remote:$(t,`remote`,``)},variant:`ghost`,tone:`danger`},{label:`切换分支`,actionId:`branch_checkout`,values:{name:t.value??t.primary},disabled:t.active,variant:`ghost`},{label:`删除分支`,actionId:`branch_delete`,values:{name:t.value??t.primary},disabled:t.active,variant:`ghost`,tone:`danger`}]:[]];case`worktree_list`:return[{label:`刷新列表`,actionId:`worktree_list`,values:{},variant:`ghost`},{label:`新建 Worktree`,actionId:`worktree_create`,values:{},variant:`primary`},...t?[{label:`删除 Worktree`,actionId:`worktree_remove`,values:{target:t.value??t.primary},disabled:t.active,variant:`ghost`,tone:`danger`}]:[]];case`issue_list`:return[{label:`刷新列表`,actionId:`issue_list`,values:{},variant:`ghost`},{label:`新建 Issue`,actionId:`issue_create`,values:{},variant:`primary`},...t?[{label:`查看详情`,actionId:`issue_view`,values:{id:t.value??t.primary},variant:`ghost`},{label:`关闭 Issue`,actionId:`issue_close`,values:{id:t.value??t.primary},variant:`ghost`,tone:`danger`}]:[]];case`pr_list`:return[{label:`刷新列表`,actionId:`pr_list`,values:{},variant:`ghost`},{label:`创建 PR`,actionId:`pr_create`,values:{},variant:`primary`},...t?[{label:`查看 PR`,actionId:`pr_view`,values:{id:t.value??t.primary},variant:`ghost`},{label:`关闭 PR`,actionId:`pr_close`,values:{id:t.value??t.primary},variant:`ghost`,tone:`danger`}]:[]];case`pr_status`:return[{label:`刷新状态`,actionId:`pr_status`,values:{},variant:`ghost`},{label:`创建 PR`,actionId:`pr_create`,values:{},variant:`primary`},...t?[{label:`同步 PR`,actionId:`pr_sync`,values:{},variant:`ghost`},{label:`合并 PR`,actionId:`pr_merge`,values:{method:`squash`},variant:`ghost`}]:[]];case`tag_list`:return[{label:`刷新列表`,actionId:`tag_list`,values:{},variant:`ghost`},{label:`创建 Tag`,actionId:`tag_publish`,values:{},variant:`primary`},...t?[{label:`推送 Tag`,actionId:`tag_push`,values:{name:t.value??t.primary,remote:n},variant:`ghost`},{label:`强制对齐远端`,actionId:`tag_force_sync`,values:{name:t.value??t.primary,remote:n},variant:`ghost`,tone:`danger`}]:[]];case`repo_status`:return[{label:`刷新状态`,actionId:`repo_status`,values:{},variant:`ghost`},{label:`拉取`,actionId:`repo_pull`,values:{remote:n},variant:`primary`},{label:`推送`,actionId:`repo_push`,values:{remote:n},variant:`ghost`},...t?[{label:`暂存文件`,actionId:`repo_stage_path`,values:{path:$(t,`path`,t.value??t.primary)},variant:`ghost`,disabled:!hx(t,`can_stage`)},{label:`撤销暂存`,actionId:`repo_unstage_path`,values:{path:$(t,`path`,t.value??t.primary)},variant:`ghost`,disabled:!hx(t,`can_unstage`)},{label:`丢弃文件`,actionId:`repo_discard_path`,values:{path:$(t,`path`,t.value??t.primary)},variant:`ghost`,disabled:!hx(t,`can_discard`),tone:`danger`}]:[],{label:`强制对齐当前分支`,actionId:`repo_force_sync`,values:{remote:n},variant:`ghost`,tone:`danger`}];default:return[]}}function Tx(e,t,n=``){switch(e){case`remote_list`:return[{label:`批量抓取 (${t.length})`,actionId:`remote_fetch`,jobs:t.map(e=>({label:e.primary,values:{name:e.value??e.primary}}))},{label:`批量删除 (${t.length})`,actionId:`remote_remove`,jobs:t.map(e=>({label:e.primary,values:{name:e.value??e.primary}})),tone:`danger`,description:`会移除选中的 remote 配置。`}];case`branch_list`:{let e=t.filter(e=>!e.active),n=t.filter(e=>!!$(e,`remote`,``));return[{label:`批量删除 (${e.length})`,actionId:`branch_delete`,jobs:e.map(e=>({label:e.primary,values:{name:e.value??e.primary}})),tone:`danger`,description:`会删除选中的本地分支,当前分支会自动跳过。`},{label:`批量对齐远端 (${n.length})`,actionId:`branch_force_sync`,jobs:n.map(e=>({label:e.primary,values:{name:e.value??e.primary,remote:$(e,`remote`,``)}})),tone:`danger`,requiresReset:!0,description:`会丢弃分支本地改动并强制对齐远端 tracking 分支。`}]}case`tag_list`:return[{label:`批量推送 (${t.length})`,actionId:`tag_push`,jobs:t.map(e=>({label:e.primary,values:{name:e.value??e.primary,remote:n}}))},{label:`批量对齐远端 (${t.length})`,actionId:`tag_force_sync`,jobs:t.map(e=>({label:e.primary,values:{name:e.value??e.primary,remote:n}})),tone:`danger`,requiresReset:!0,description:`会用远端同名 tag 覆盖本地 tag。`}];case`worktree_list`:{let e=t.filter(e=>!e.active);return[{label:`批量删除 (${e.length})`,actionId:`worktree_remove`,jobs:e.map(e=>({label:e.fields?.path??e.primary,values:{target:e.value??e.primary}})),tone:`danger`,description:`会删除选中的 worktree,当前项目 worktree 会自动跳过。`}]}case`issue_list`:return[{label:`批量关闭 (${t.length})`,actionId:`issue_close`,jobs:t.map(e=>({label:e.primary,values:{id:e.value??e.primary}})),tone:`danger`,description:`会关闭选中的 issue。`}];case`pr_list`:return[{label:`批量关闭 (${t.length})`,actionId:`pr_close`,jobs:t.map(e=>({label:e.primary,values:{id:e.value??e.primary}})),tone:`danger`,description:`会关闭选中的 PR。`}];case`repo_status`:{let e=t.filter(e=>hx(e,`can_stage`)),n=t.filter(e=>hx(e,`can_unstage`)),r=t.filter(e=>hx(e,`can_discard`));return[{label:`批量暂存 (${e.length})`,actionId:`repo_stage_path`,jobs:e.map(e=>({label:e.primary,values:{path:$(e,`path`,e.value??e.primary)}}))},{label:`批量撤销暂存 (${n.length})`,actionId:`repo_unstage_path`,jobs:n.map(e=>({label:e.primary,values:{path:$(e,`path`,e.value??e.primary)}}))},{label:`批量丢弃 (${r.length})`,actionId:`repo_discard_path`,jobs:r.map(e=>({label:e.primary,values:{path:$(e,`path`,e.value??e.primary)}})),tone:`danger`,requiresReset:!0,description:`会丢弃选中文件本地改动;未跟踪文件会直接删除。`}]}default:return[]}}function Ex(e){switch(e){case`remote_list`:return`name-asc`;case`branch_list`:case`worktree_list`:return`active-first`;case`issue_list`:case`pr_list`:case`pr_status`:return`number-desc`;case`tag_list`:return`name-desc`;case`repo_status`:return`status`;default:return`default`}}function Dx(e){switch(e){case`remote_list`:return[{value:`name-asc`,label:`名称 A-Z`},{value:`name-desc`,label:`名称 Z-A`},{value:`status`,label:`协议分组`}];case`issue_list`:case`pr_list`:case`pr_status`:return[{value:`number-desc`,label:`编号新到旧`},{value:`number-asc`,label:`编号旧到新`},{value:`name-asc`,label:`标题 A-Z`},{value:`name-desc`,label:`标题 Z-A`},{value:`status`,label:`状态分组`}];case`repo_status`:return[{value:`status`,label:`状态分组`},{value:`name-asc`,label:`文件 A-Z`},{value:`name-desc`,label:`文件 Z-A`}];case`tag_list`:return[{value:`name-desc`,label:`Tag Z-A`},{value:`name-asc`,label:`Tag A-Z`}];case`branch_list`:case`worktree_list`:return[{value:`active-first`,label:`当前项优先`},{value:`name-asc`,label:`名称 A-Z`},{value:`name-desc`,label:`名称 Z-A`}];default:return[{value:`default`,label:`默认顺序`},{value:`name-asc`,label:`名称 A-Z`},{value:`name-desc`,label:`名称 Z-A`}]}}function Ox(e,t){let n=e.fields??[];return n.length===0?!1:e.id.startsWith(`pr_`)||e.id.endsWith(`_force_sync`)||e.id.endsWith(`_rename`)||e.id.endsWith(`_update`)||e.id.endsWith(`_delete`)||e.id.endsWith(`_remove`)||e.id.endsWith(`_close`)||e.id.endsWith(`_discard`)?!0:n.some(e=>e.required&&!t[e.key])}function kx(e,t){return!e||!t?!1:e===t.id||e===t.value}function Ax(e,t){return[`## Summary`,`- branch: ${e||`-`}`,`- base: ${t||`-`}`,``,`## Changes`,`- `,``,`## Verification`,`- `].join(` +`)}function jx(){let{state:e,runAction:t,runBatchActions:n,runActionAndReload:r,previewAction:i,updateProjectSettings:a}=Jt(),o=e.output.items??[],s=o.length>0,c=!!(e.output.actionId&&(e.output.actionId.endsWith(`_list`)||e.output.actionId.endsWith(`_status`))),l=e.projectSettings[e.repoPath]?.defaultBaseBranch??``,u=e.projectSettings[e.repoPath]?.defaultRemote??``,d=u||e.catalog.remotes.find(e=>e.active)?.value||e.catalog.remotes[0]?.value||`origin`,[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(`all`),[g,_]=(0,Z.useState)(`default`),[v,y]=(0,Z.useState)(`raw`),[b,x]=(0,Z.useState)(null),[S,C]=(0,Z.useState)([]),[w,T]=(0,Z.useState)(null),[E,D]=(0,Z.useState)(null),[O,k]=(0,Z.useState)({}),[A,j]=(0,Z.useState)(null),[M,N]=(0,Z.useState)(``),P=(0,Z.useRef)(``);(0,Z.useEffect)(()=>{p(``),h(`all`),_(Ex(e.output.actionId)),y(c||o.length>0?`list`:e.output.detail?`detail`:`raw`),x(null),C([]),T(null),D(null),k({}),j(null),N(``),P.current=``},[c,o.length,e.output.actionId,e.output.command,e.output.title,e.output.detail]);let F=(0,Z.useMemo)(()=>Array.from(new Set(o.map(e=>e.category??e.badge).filter(e=>!!e))),[o]),I=(0,Z.useMemo)(()=>Dx(e.output.actionId),[e.output.actionId]),L=(0,Z.useMemo)(()=>xx(e.output.actionId),[e.output.actionId]),R=(0,Z.useMemo)(()=>{let e=f.trim().toLowerCase(),t=o.filter(t=>m!==`all`&&(t.category??t.badge)!==m?!1:e?[t.primary,t.secondary,t.badge,t.value,t.category,...Object.values(t.fields??{}),...t.keywords??[]].filter(Boolean).join(` `).toLowerCase().includes(e):!0);if(g==="default")return t;let n=[...t];return g===`active-first`?(n.sort((e,t)=>e.active===t.active?e.primary.localeCompare(t.primary):e.active?-1:1),n):g===`number-desc`||g===`number-asc`?(n.sort((e,t)=>{let n=mx(t)-mx(e);return g===`number-desc`?n:-n}),n):g===`status`?(n.sort((e,t)=>{let n=e.category??e.badge??``,r=t.category??t.badge??``;return n===r?e.primary.localeCompare(t.primary):n.localeCompare(r)}),n):(n.sort((e,t)=>g===`name-asc`?e.primary.localeCompare(t.primary):t.primary.localeCompare(e.primary)),n)},[m,o,f,g]),z=R.length>0,B=(0,Z.useMemo)(()=>(e.output.moduleId?e.modules.find(t=>t.id===e.output.moduleId)??null:null)||(!c||!e.selectedModuleId?null:e.modules.find(t=>t.id===e.selectedModuleId)??null),[c,e.modules,e.output.moduleId,e.selectedModuleId]),V=!c||!B,H=(0,Z.useMemo)(()=>new Set(S),[S]),U=(0,Z.useMemo)(()=>o.filter(e=>H.has(e.id)),[o,H]),W=_x(e.output.actionId),G=(0,Z.useMemo)(()=>W?Tx(e.output.actionId,U,d):[],[d,U,e.output.actionId,W]),ee=z&&R.every(e=>H.has(e.id)),K=R.find(e=>e.id===b)??R[0]??null,te=K?Sx(e.output.actionId,K):[],ne=B?wx(e.output.actionId,K,d):[],q=(0,Z.useMemo)(()=>{if(!c)return ne;let t=new Map,n=e=>{e&&t.set(e.actionId,e)};return n(ne.find(t=>t.actionId===e.output.actionId)),ne.filter(e=>e.variant===`primary`).forEach(n),e.output.actionId===`repo_status`&&(n(ne.find(e=>e.actionId===`repo_pull`)),n(ne.find(e=>e.actionId===`repo_push`))),e.output.actionId===`branch_list`&&(n(ne.find(e=>e.actionId===`branch_create`)),n(ne.find(e=>e.actionId===`branch_force_sync`))),e.output.actionId===`tag_list`&&(n(ne.find(e=>e.actionId===`tag_publish`)),n(ne.find(e=>e.actionId===`tag_force_sync`))),Array.from(t.values()).slice(0,4)},[c,e.output.actionId,ne]),J=e.output.detail&&(!e.output.detail.targetId||kx(e.output.detail.targetId,K))?e.output.detail:null,re=e.output.actionId===`remote_list`?K?.value??K?.primary??``:``,ie=!!(re&&u&&re===u),Y=e.catalog.branches.find(e=>e.active)??null,ae=e.output.actionId===`repo_status`?K?`当前选中文件: ${K.primary}`:`默认 remote: ${u||d||`-`}`:e.output.actionId===`branch_list`?K?`当前选中分支: ${K.primary}`:e.output.emptyHint??`暂无分支`:e.output.actionId===`tag_list`?K?`当前选中 tag: ${K.primary}`:e.output.emptyHint??`暂无标签`:e.output.actionId===`worktree_list`?K?`当前选中 worktree: ${K.fields?.path??K.primary}`:e.output.emptyHint??`暂无 worktree`:e.output.actionId===`issue_list`?K?`当前选中 issue: #${K.fields?.number??K.value??`-`}`:e.output.emptyHint??`暂无 issue`:e.output.actionId===`pr_list`?K?`当前选中 PR: #${K.fields?.number??K.value??`-`}`:e.output.emptyHint??`暂无 PR`:e.output.actionId===`pr_status`?K?`当前分支 PR: #${K.fields?.number??K.value??`-`}`:e.output.emptyHint??`当前分支暂无 PR`:K?`当前选中: ${K.primary}`:e.output.emptyHint??`暂无资源`;e.output.actionId===`remote_list`?(`${o.length}`,K&&$(K,`status`),K&&$(K,`fetch`),K&&$(K,`push`)):e.output.actionId===`branch_list`?(`${o.length}`,Y?.primary,Y?.fields?.upstream,K?.primary,K?.fields?.sync_label||Y?.fields?.sync_label):e.output.actionId===`tag_list`?(`${o.length}`,K?.primary):e.output.actionId===`worktree_list`?(`${o.length}`,e.repoPath,K?.fields?.path,K?.fields?.branch):e.output.actionId===`issue_list`?(`${o.length}`,K?.primary,K?.fields?.state):e.output.actionId===`pr_list`?(`${o.length}`,K?.primary,K?.fields?.base,K?.fields?.head,K?.fields?.draft,K?.fields?.state):e.output.actionId===`pr_status`?(Y?.primary,K?.fields?.number&&`${K.fields.number}`,K?.fields?.base,K?.fields?.head||Y?.primary,K?.fields?.draft,K?.fields?.state):e.output.actionId===`repo_status`&&(`${o.length}`,`${o.filter(e=>e.category===`staged`||e.category===`mixed`).length}`,`${o.filter(e=>e.category===`unstaged`||e.category===`mixed`).length}`,`${o.filter(e=>e.category===`untracked`).length}`,Y?.primary,Y?.fields?.upstream,Y?.fields?.sync_label),(0,Z.useEffect)(()=>{if(!(!K||!B)){if(e.output.actionId===`issue_list`){let e=K.value??K.primary,t=`issue:${e}`;if(P.current===t&&J?.targetId===e)return;P.current=t,T(K.id),i(B.id,`issue_view`,{id:e}).finally(()=>{T(e=>e===K.id?null:e)});return}if(e.output.actionId===`pr_list`){let e=K.value??K.primary,t=`pr:${e}`;if(P.current===t&&(J?.targetId===`pr-${e}`||J?.targetId===e))return;P.current=t,T(K.id),i(B.id,`pr_view`,{id:e}).finally(()=>{T(e=>e===K.id?null:e)})}}},[i,K,J?.targetId,B,e.output.actionId]);let oe=(n,a)=>rx(n)&&B?i(B.id,n.id,a):e.output.actionId&&(e.output.actionId.endsWith(`_list`)||e.output.actionId.endsWith(`_status`))&&B&&e.output.actionId&&!rx(n)?r(B,n,a,e.output.actionId):B?t(B,n,a):Promise.resolve(),se=(e,t,n)=>{let r={...n},i=Y?.primary||``;t&&e.id===`pr_sync`&&(r.title||=$(t,`title`,t.primary),!r.body&&J?.body&&kx(J.targetId,t)&&(r.body=J.body)),e.id===`pr_create`&&(!r.title&&i&&(r.title=`Update ${i}`),r.body||=Ax(i,l||`main`)),e.id===`pr_sync`&&(!r.title&&i&&(r.title=`Update ${i}`),r.body||=Ax(i,l||`main`)),D(e),k(Qb(e,r,{base:l,remote:d}))},ce=()=>{D(null),k({})},le=()=>{C(e=>{let t=new Set(e);return ee?e.filter(e=>!R.some(t=>t.id===e)):(R.forEach(e=>t.add(e.id)),Array.from(t))})},ue=()=>{j(null),N(``)},de=async(t,r=``)=>{if(!B)return;let i=px(B.actions,t.actionId);!i||t.jobs.length===0||(await n(B,i,t.jobs.map(e=>({label:e.label,values:t.requiresReset?{...e.values,confirm:r}:e.values})),e.output.actionId),C([]))},fe=!!(J||K||w),pe=!c&&(s||e.output.detail),me=pe?[...s?[{label:`列表`,value:`list`}]:[],{label:`详情`,value:`detail`,disabled:!fe&&!e.output.detail},{label:`原始输出`,value:`raw`}]:[],he=[{label:L.filterLabel,value:`all`},...F.map(t=>({label:vx(e.output.actionId,t),value:t}))],ge=I.map(e=>({label:e.label,value:e.value})),_e=e.output.actionId===`repo_status`?320:220,ve=`output-ant-table output-ant-table--${e.output.actionId??`generic`}`,ye=[...L.columns.map(t=>({title:t.label,key:t.key,ellipsis:!0,render:(n,r)=>{let i=t.render(r),a=t.className?.includes(`status`),o=t.className?.includes(`primary`);return a?(0,Q.jsx)(`span`,{className:bx(e.output.actionId,r,i),children:i}):o?(0,Q.jsx)(`p`,{className:`output-ant-table__primary`,children:i}):t.key===`url`&&r.url?(0,Q.jsx)(`a`,{href:r.url,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),children:i}):(0,Q.jsx)(`span`,{className:i===`-`?`output-table__empty`:void 0,children:i})}})),{title:`操作`,key:`actions`,width:_e,render:(t,n)=>{let r=Cx(e.output.actionId,n,d);return r.length>0&&B?(0,Q.jsx)(`div`,{className:e.output.actionId===`repo_status`?`output-list__actions output-list__actions--repo`:`output-list__actions`,children:r.map(t=>{let r=px(B.actions,t.actionId);return r?(0,Q.jsx)(Yt,{variant:`ghost`,className:t.tone===`danger`?`output-list__action output-list__action--danger`:`output-list__action`,disabled:t.disabled||e.busy,onClick:e=>{if(e.stopPropagation(),x(n.id),Ox(r,t.values)){se(r,n,t.values);return}oe(r,t.values)},children:t.label},`${n.id}-${t.actionId}`):null})}):(0,Q.jsx)(`span`,{className:`output-table__empty`,children:`-`})}}],be=W?{selectedRowKeys:S,preserveSelectedRowKeys:!0,onChange:e=>C(e.map(e=>String(e)))}:void 0;return(0,Q.jsxs)(`section`,{className:`output-panel min-h-0 overflow-hidden`,children:[V?(0,Q.jsxs)(`header`,{className:`output-panel__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{children:e.output.title}),(0,Q.jsx)(`p`,{children:e.output.command})]}),(0,Q.jsxs)(`span`,{className:e.output.exitCode===0?`status-pill status-pill--ok`:`status-pill status-pill--error`,children:[`exit `,e.output.exitCode]})]}):null,c&&B&&q.length>0?(0,Q.jsxs)(`div`,{className:`output-contextbar`,children:[(0,Q.jsxs)(`div`,{className:`output-contextbar__meta`,children:[(0,Q.jsx)(`strong`,{children:e.output.title}),(0,Q.jsx)(`span`,{children:ae})]}),(0,Q.jsxs)(`div`,{className:`output-contextbar__actions`,children:[e.output.actionId===`remote_list`&&re?(0,Q.jsx)(Yt,{variant:ie?`primary`:`ghost`,disabled:e.busy,onClick:()=>a({defaultRemote:re}),children:ie?`项目默认 Remote`:`设为项目默认`}):null,q.map(t=>{let n=px(B.actions,t.actionId);return n?(0,Q.jsx)(Yt,{variant:t.variant??`ghost`,className:t.tone===`danger`?`output-toolbar__action output-toolbar__action--danger`:`output-toolbar__action`,disabled:t.disabled||e.busy,onClick:()=>{if(Ox(n,t.values)){se(n,K,t.values);return}oe(n,t.values)},children:t.label},`toolbar-${t.actionId}`):null})]})]}):null,null,pe?(0,Q.jsx)(Ua,{className:`output-viewtabs`,value:v,options:me,onChange:e=>y(e)}):null,(0,Q.jsx)(`div`,{className:`output-content`,children:s?v===`raw`?(0,Q.jsx)(`pre`,{className:`output-panel__body`,children:e.output.body}):v===`detail`?J?(0,Q.jsxs)(`article`,{className:`output-article`,children:[(0,Q.jsxs)(`header`,{className:`output-article__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{children:J.primary}),(0,Q.jsx)(`p`,{children:J.secondary??`详情视图`})]}),J.badge?(0,Q.jsx)(`span`,{className:bx(e.output.actionId,K,J.badge),children:J.badge}):null]}),J.fields?.length?(0,Q.jsx)(`div`,{className:`output-article__meta`,children:J.fields.map(e=>(0,Q.jsxs)(`div`,{className:`output-detail__meta-item`,children:[(0,Q.jsx)(`span`,{children:e.label}),e.href?(0,Q.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,children:e.value}):(0,Q.jsx)(`strong`,{children:e.value})]},`${e.label}-${e.value}`))}):null,J.body?(0,Q.jsx)(`pre`,{className:`output-article__body`,children:J.body}):null,J.url?(0,Q.jsx)(`div`,{className:`output-detail__actions`,children:(0,Q.jsx)(`a`,{className:`output-detail__action output-detail__action--link`,href:J.url,target:`_blank`,rel:`noreferrer`,children:`在浏览器打开`})}):null]}):w&&K?.id===w?(0,Q.jsx)(`div`,{className:`output-empty`,children:`加载详情中...`}):K?(0,Q.jsxs)(`article`,{className:`output-article`,children:[(0,Q.jsxs)(`header`,{className:`output-article__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{children:K.primary}),(0,Q.jsx)(`p`,{children:K.secondary??`当前选中资源`})]}),K.badge?(0,Q.jsx)(`span`,{className:bx(e.output.actionId,K,K.badge),children:K.badge}):null]}),(0,Q.jsx)(`div`,{className:`output-article__meta`,children:te.map(e=>(0,Q.jsxs)(`div`,{className:`output-detail__meta-item`,children:[(0,Q.jsx)(`span`,{children:e.label}),e.href?(0,Q.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,children:e.value}):(0,Q.jsx)(`strong`,{children:e.value})]},`${K.id}-${e.label}`))}),B?(0,Q.jsx)(`div`,{className:`output-detail__actions`,children:Cx(e.output.actionId,K,d).map(t=>{let n=px(B.actions,t.actionId);return n?(0,Q.jsx)(Yt,{type:`button`,variant:`ghost`,className:t.tone===`danger`?`output-detail__action output-detail__action--danger`:`output-detail__action`,disabled:t.disabled||e.busy,onClick:()=>{if(Ox(n,t.values)){se(n,K,t.values);return}oe(n,t.values)},children:t.label},`${K.id}-article-${t.actionId}`):null})}):null]}):(0,Q.jsx)(`div`,{className:`output-empty`,children:`请选择一条资源`}):(0,Q.jsxs)(`div`,{className:`output-listview`,children:[W&&U.length>0?(0,Q.jsxs)(`div`,{className:`output-selectionbar`,children:[(0,Q.jsxs)(`div`,{className:`output-selectionbar__meta`,children:[(0,Q.jsxs)(`label`,{className:`output-selectionbar__toggle`,htmlFor:`output-select-all-toggle`,children:[(0,Q.jsx)(ur,{id:`output-select-all-toggle`,checked:ee,onChange:()=>le(),disabled:!z}),(0,Q.jsx)(`span`,{children:`本页全选`})]}),(0,Q.jsxs)(`span`,{className:`output-selectionbar__count`,children:[`已选 `,U.length,` 项`]}),U.length>0?(0,Q.jsx)(`button`,{type:`button`,className:`output-selectionbar__clear`,onClick:()=>C([]),children:`清空选择`}):null]}),(0,Q.jsx)(`div`,{className:`output-selectionbar__actions`,children:G.map(t=>{let n=t.jobs.length===0||e.busy;return(0,Q.jsx)(Yt,{variant:`ghost`,className:t.tone===`danger`?`output-toolbar__action output-toolbar__action--danger`:`output-toolbar__action`,disabled:n,onClick:()=>{if(t.tone===`danger`||t.requiresReset){j(t),N(``);return}de(t)},children:t.label},`batch-${t.actionId}`)})})]}):null,(0,Q.jsxs)(`div`,{className:`output-toolbar`,children:[(0,Q.jsx)(ze,{className:`output-toolbar__search`,value:f,onChange:e=>p(e.target.value),placeholder:L.searchPlaceholder}),(0,Q.jsx)(bt,{className:`output-toolbar__select`,value:m,onChange:e=>h(e),disabled:F.length===0,options:he}),(0,Q.jsx)(bt,{className:`output-toolbar__select`,value:g,onChange:e=>_(e),options:ge}),(0,Q.jsxs)(`span`,{className:`output-toolbar__count`,children:[R.length,` / `,o.length]})]}),z?(0,Q.jsxs)(`div`,{className:`output-browser`,children:[(0,Q.jsx)(`div`,{className:`output-table-wrap`,children:(0,Q.jsx)(Pm,{className:ve,size:`small`,rowKey:e=>e.id,columns:ye,dataSource:R,pagination:!1,scroll:{x:`max-content`,y:420},rowSelection:be,rowClassName:e=>[`output-table-row`,e.active?`output-table-row--active`:``,K?.id===e.id?`output-table-row--selected`:``].filter(Boolean).join(` `),onRow:e=>({onClick:()=>x(e.id)})})}),(0,Q.jsx)(`aside`,{className:`output-detail`,children:J?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`header`,{className:`output-detail__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{children:J.primary}),(0,Q.jsx)(`p`,{children:J.secondary??`详情视图`})]}),J.badge?(0,Q.jsx)(`span`,{className:bx(e.output.actionId,K,J.badge),children:J.badge}):null]}),J.fields?.length?(0,Q.jsx)(`div`,{className:`output-detail__meta`,children:J.fields.map(e=>(0,Q.jsxs)(`div`,{className:`output-detail__meta-item`,children:[(0,Q.jsx)(`span`,{children:e.label}),e.href?(0,Q.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,children:e.value}):(0,Q.jsx)(`strong`,{children:e.value})]},`${e.label}-${e.value}`))}):null,J.body?(0,Q.jsx)(`pre`,{className:`output-detail__body`,children:J.body}):null,J.url?(0,Q.jsx)(`div`,{className:`output-detail__actions`,children:(0,Q.jsx)(`a`,{className:`output-detail__action output-detail__action--link`,href:J.url,target:`_blank`,rel:`noreferrer`,children:`在浏览器打开`})}):null]}):w&&K?.id===w?(0,Q.jsx)(`div`,{className:`output-empty`,children:`加载详情中...`}):K?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`header`,{className:`output-detail__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{children:K.primary}),(0,Q.jsx)(`p`,{children:K.secondary??`当前选中资源`})]}),K.badge?(0,Q.jsx)(`span`,{className:bx(e.output.actionId,K,K.badge),children:K.badge}):null]}),(0,Q.jsx)(`div`,{className:`output-detail__meta`,children:te.map(e=>(0,Q.jsxs)(`div`,{className:`output-detail__meta-item`,children:[(0,Q.jsx)(`span`,{children:e.label}),e.href?(0,Q.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,children:e.value}):(0,Q.jsx)(`strong`,{children:e.value})]},`${K.id}-${e.label}`))}),B?(0,Q.jsx)(`div`,{className:`output-detail__actions`,children:Cx(e.output.actionId,K,d).map(t=>{let n=px(B.actions,t.actionId);return n?(0,Q.jsx)(Yt,{type:`button`,variant:`ghost`,className:t.tone===`danger`?`output-detail__action output-detail__action--danger`:`output-detail__action`,disabled:t.disabled||e.busy,onClick:()=>{if(Ox(n,t.values)){se(n,K,t.values);return}oe(n,t.values)},children:t.label},`${K.id}-detail-${t.actionId}`):null})}):null]}):(0,Q.jsx)(`div`,{className:`output-empty`,children:`请选择一条资源`})})]}):(0,Q.jsx)(`div`,{className:`output-empty`,children:`没有匹配的结果`})]}):e.output.detail?v===`raw`?(0,Q.jsx)(`pre`,{className:`output-panel__body`,children:e.output.body}):(0,Q.jsxs)(`article`,{className:`output-article`,children:[(0,Q.jsxs)(`header`,{className:`output-article__header`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{children:e.output.detail.primary}),(0,Q.jsx)(`p`,{children:e.output.detail.secondary??`详情视图`})]}),e.output.detail.badge?(0,Q.jsx)(`span`,{className:bx(e.output.actionId,null,e.output.detail.badge),children:e.output.detail.badge}):null]}),e.output.detail.fields?.length?(0,Q.jsx)(`div`,{className:`output-article__meta`,children:e.output.detail.fields.map(e=>(0,Q.jsxs)(`div`,{className:`output-detail__meta-item`,children:[(0,Q.jsx)(`span`,{children:e.label}),e.href?(0,Q.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,children:e.value}):(0,Q.jsx)(`strong`,{children:e.value})]},`${e.label}-${e.value}`))}):null,e.output.detail.body?(0,Q.jsx)(`pre`,{className:`output-article__body`,children:e.output.detail.body}):null,e.output.detail.url?(0,Q.jsx)(`div`,{className:`output-detail__actions`,children:(0,Q.jsx)(`a`,{className:`output-detail__action output-detail__action--link`,href:e.output.detail.url,target:`_blank`,rel:`noreferrer`,children:`在浏览器打开`})}):null]}):e.output.emptyHint?(0,Q.jsx)(`div`,{className:`output-empty`,children:e.output.emptyHint}):(0,Q.jsx)(`pre`,{className:`output-panel__body`,children:e.output.body})}),E&&B?(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(fx,{action:E,moduleId:B.id,catalog:e.catalog,values:O,busy:e.busy,onChange:k,onClose:ce,onSubmit:e=>{oe(E,e),ce()}})}):null,A?(0,Q.jsx)(na,{open:!0,title:A.label,onCancel:ue,onOk:()=>{de(A,M.trim()),ue()},okText:`执行批量操作`,cancelText:`取消`,confirmLoading:e.busy,okButtonProps:{danger:A.tone===`danger`,disabled:e.busy||A.jobs.length===0||A.requiresReset&&M.trim().toUpperCase()!==`RESET`},destroyOnClose:!0,centered:!0,width:560,children:(0,Q.jsxs)(`div`,{className:`action-dialog__body`,children:[(0,Q.jsx)(`p`,{className:`action-dialog__description`,children:A.description??`会按顺序执行当前选择的资源操作。`}),A.tone===`danger`?(0,Q.jsx)(vn,{type:`warning`,showIcon:!0,message:A.requiresReset?`危险操作`:`批量确认`,description:A.requiresReset?`该批量操作会丢弃本地数据,请输入 RESET 确认。`:`该批量操作不可恢复,请确认当前选择正确。`}):null,(0,Q.jsxs)(`div`,{className:`action-dialog__fields`,children:[(0,Q.jsxs)(`label`,{className:`action-field`,children:[(0,Q.jsx)(`span`,{children:`批量目标`}),(0,Q.jsx)(`div`,{className:`output-batch__targets`,children:A.jobs.map(e=>(0,Q.jsx)(`span`,{className:`output-batch__target`,children:e.label},`${A.actionId}-${e.label}`))})]}),A.requiresReset?(0,Q.jsxs)(`label`,{className:`action-field`,children:[(0,Q.jsx)(`span`,{children:`确认文本`}),(0,Q.jsx)(ze,{value:M,onChange:e=>N(e.target.value),placeholder:`输入 RESET`})]}):null]})]})}):null]})}var Mx=`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20role='img'%20aria-label='fastgit%20logo%20icon'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='72'%20y1='56'%20x2='448'%20y2='456'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%233C679F'/%3e%3cstop%20offset='1'%20stop-color='%231F2D44'/%3e%3c/linearGradient%3e%3clinearGradient%20id='stroke'%20x1='136'%20y1='152'%20x2='376'%20y2='360'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23F0F3F8'/%3e%3cstop%20offset='1'%20stop-color='%23D6DFEF'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20x='56'%20y='56'%20width='400'%20height='400'%20rx='96'%20fill='url(%23bg)'/%3e%3cpath%20d='M168%20336V208C168%20194.745%20178.745%20184%20192%20184H320C333.255%20184%20344%20194.745%20344%20208V256'%20stroke='url(%23stroke)'%20stroke-width='28'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M256%20184V256'%20stroke='url(%23stroke)'%20stroke-width='28'%20stroke-linecap='round'/%3e%3ccircle%20cx='168'%20cy='336'%20r='30'%20fill='%23E8EDF4'/%3e%3ccircle%20cx='256'%20cy='256'%20r='30'%20fill='%23E8EDF4'/%3e%3ccircle%20cx='344'%20cy='256'%20r='30'%20fill='%23E8EDF4'/%3e%3ccircle%20cx='256'%20cy='184'%20r='30'%20fill='%23E8EDF4'/%3e%3c/svg%3e`,Nx=(0,Z.lazy)(async()=>({default:(await a(()=>import(`./repo-switcher-BudR4k4a.js`),__vite__mapDeps([0,1,2,3,4]))).RepoSwitcher}));function Px(e){let t=e.split(/[\\/]/).filter(Boolean);return t[t.length-1]??`workspace`}function Fx(e){return e.split(/[\\/]/).filter(Boolean)}function Ix(e){let t=new Map;for(let n of e){let r=Fx(n);if(r.length===0){t.set(n,n);continue}let i=r[r.length-1];for(let t=1;t<=r.length;t+=1){let a=r.slice(-t).join(`/`);if(!e.some(e=>e===n?!1:Fx(e).slice(-t).join(`/`)===a)){i=a;break}i=a}t.set(n,i)}return t}function Lx(e){return e.find(e=>(e.id.endsWith(`_list`)||e.id.endsWith(`_status`))&&(e.fields?.length??0)===0)??null}function Rx(){let{state:e,addModuleTab:t,closeModuleTab:n,closeOtherModuleTabs:r,closeTabsToRight:i,reorderModuleTabs:a,setSelectedModule:o,switchRepo:s,runAction:c}=Jt(),l=(0,Z.useMemo)(()=>Ix(e.repoNamespaces),[e.repoNamespaces]),u=e.repoPath?l.get(e.repoPath)??Px(e.repoPath):`workspace`,[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(!1),C=(0,Z.useRef)(null),w=(0,Z.useRef)(null),T=(0,Z.useRef)(null),E=(0,Z.useRef)(null),D=e.openedModuleIds.map(t=>e.modules.find(e=>e.id===t)).filter(e=>e!==void 0),O=D.length,k=e.projectSettings[e.repoPath]?.defaultBaseBranch??``,A=e.projectSettings[e.repoPath]?.defaultRemote??``,j=e.githubAuthStatus?.configured?`GitHub 已连接 · ${e.githubAuthStatus.source===`session`?`会话 Token`:`环境变量`}`:`GitHub 未连接`,M=(0,Z.useMemo)(()=>{let t=y.trim().toLowerCase();return t?e.repoNamespaces.filter(e=>{let n=l.get(e)??Px(e);return e.toLowerCase().includes(t)||n.toLowerCase().includes(t)}):e.repoNamespaces},[l,y,e.repoNamespaces]),N=(0,Z.useMemo)(()=>e.repoNamespaces.map(e=>({value:e,label:l.get(e)??Px(e)})),[l,e.repoNamespaces]),P=(0,Z.useMemo)(()=>h?D.find(e=>e.id===h.moduleId)??null:null,[h,D]),F=P?D.findIndex(e=>e.id===P.id):-1,I=O>1,L=F>=0&&F{let e=e=>{if(g(null),!x&&!_)return;let t=e.target;t&&(E.current?.contains(t)||T.current?.contains(t)||w.current?.contains(t)||C.current?.contains(t)||(v(!1),S(!1)))},t=e=>{e.key===`Escape`&&(g(null),v(!1),S(!1))};return window.addEventListener(`pointerdown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e),window.removeEventListener(`keydown`,t)}},[_,x]);let R=(e,t)=>{f(t),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t)},z=(e,t)=>{e.preventDefault(),d&&d!==t&&m(t)},B=(e,t)=>{e.preventDefault(),!(!d||d===t)&&(a(d,t),m(null),f(null))},V=(e,t)=>{e.preventDefault(),e.stopPropagation(),g({x:e.clientX,y:e.clientY,moduleId:t})},H=e=>{e(),g(null)},U=e=>{let t=D.find(t=>t.id===e);if(!t)return;o(t.id);let n=Lx(t.actions);n&&c(t,n,{})};return(0,Q.jsxs)(`header`,{className:`tabs-header app-drag-region`,children:[(0,Q.jsx)(`div`,{className:`tabs-repo app-no-drag-region`,children:(0,Q.jsxs)(`button`,{ref:E,type:`button`,className:`tabs-repo__button`,onClick:()=>{v(e=>!e),b(``)},"aria-label":`open project switcher`,children:[(0,Q.jsx)(`img`,{className:`tabs-repo__logo`,src:Mx,alt:`fastgit logo`}),(0,Q.jsx)(`span`,{children:u}),k?(0,Q.jsx)(`small`,{children:k}):null]})}),(0,Q.jsx)(`div`,{className:`tabs-track app-no-drag-region`,children:D.map(t=>{let r=e.selectedModuleId===t.id;return(0,Q.jsxs)(`div`,{className:[`tabs-track__item`,r?`tabs-track__item--active`:``,p===t.id?`tabs-track__item--drag-over`:``].filter(Boolean).join(` `),onClick:()=>U(t.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),U(t.id))},onContextMenu:e=>V(e,t.id),draggable:O>1,onDragStart:e=>R(e,t.id),onDragOver:e=>z(e,t.id),onDrop:e=>B(e,t.id),onDragEnd:()=>{f(null),m(null)},role:`button`,tabIndex:0,"aria-label":`switch to ${t.title}`,"aria-pressed":r,children:[(0,Q.jsx)(`span`,{children:t.title}),(0,Q.jsx)(`button`,{className:`tabs-track__close`,onClick:e=>{e.stopPropagation(),n(t.id)},onContextMenu:e=>V(e,t.id),type:`button`,"aria-label":`close ${t.title}`,children:(0,Q.jsx)(Gb,{size:13})})]},t.id)})}),(0,Q.jsxs)(`div`,{className:`tabs-actions app-no-drag-region`,children:[(0,Q.jsx)(bt,{className:`tabs-project-select`,value:e.repoPath||void 0,options:N,placeholder:e.repoNamespaces.length===0?`未配置项目`:`选择项目`,allowClear:!0,showSearch:!0,optionFilterProp:`label`,onChange:e=>void s(String(e??``))}),(0,Q.jsx)(`button`,{ref:w,className:`tabs-settings`,onClick:()=>S(e=>!e),type:`button`,"aria-label":`open project settings`,children:(0,Q.jsx)(Ub,{size:14})}),(0,Q.jsx)(`button`,{className:`tabs-add`,onClick:t,type:`button`,"aria-label":`new tab`,children:(0,Q.jsx)(Vb,{size:14})})]}),x&&(0,Q.jsx)(`div`,{ref:C,className:`tabs-settings-panel app-no-drag-region`,onPointerDown:e=>e.stopPropagation(),children:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`tabs-project-panel__empty`,children:`加载设置...`}),children:(0,Q.jsx)(Nx,{})})}),_&&(0,Q.jsxs)(`div`,{ref:T,className:`tabs-project-panel app-no-drag-region`,onPointerDown:e=>e.stopPropagation(),children:[(0,Q.jsxs)(`div`,{className:`tabs-project-panel__header`,children:[(0,Q.jsx)(`strong`,{children:`快速切换项目`}),(0,Q.jsxs)(`span`,{children:[M.length,` / `,e.repoNamespaces.length]})]}),(0,Q.jsxs)(`div`,{className:`tabs-project-panel__summary`,children:[(0,Q.jsx)(`strong`,{children:u}),(0,Q.jsx)(`span`,{children:e.repoPath||`未选择项目`}),(0,Q.jsxs)(`div`,{className:`tabs-project-panel__summary-meta`,children:[(0,Q.jsx)(`span`,{children:k?`base ${k}`:`未设置默认 base`}),(0,Q.jsx)(`span`,{children:A?`remote ${A}`:`未设置默认 remote`}),(0,Q.jsx)(`span`,{children:j})]}),(0,Q.jsx)(`div`,{className:`tabs-project-panel__summary-actions`,children:(0,Q.jsx)(`button`,{type:`button`,className:`tabs-project-panel__summary-button`,onClick:()=>{v(!1),S(!0)},children:`打开项目设置`})})]}),(0,Q.jsx)(ze,{className:`tabs-project-panel__search`,value:y,onChange:e=>b(e.target.value),placeholder:`搜索项目...`,autoFocus:!0}),(0,Q.jsxs)(`div`,{className:`tabs-project-panel__list`,children:[M.map(t=>{let n=t===e.repoPath,r=e.projectSettings[t]?.defaultBaseBranch??``,i=e.projectSettings[t]?.defaultRemote??``;return(0,Q.jsxs)(`button`,{type:`button`,className:n?`tabs-project-item tabs-project-item--active`:`tabs-project-item`,onClick:()=>{s(t),v(!1),b(``)},children:[(0,Q.jsx)(`span`,{className:`tabs-project-item__title`,children:l.get(t)??Px(t)}),(0,Q.jsx)(`span`,{className:`tabs-project-item__path`,children:t}),(0,Q.jsxs)(`span`,{className:`tabs-project-item__meta`,children:[n?`当前项目`:`切换到该项目`,r?` · base ${r}`:``,i?` · remote ${i}`:``]})]},t)}),M.length===0?(0,Q.jsx)(`div`,{className:`tabs-project-panel__empty`,children:`没有匹配的项目`}):null]})]}),h&&P&&(0,Q.jsxs)(`div`,{className:`tabs-menu app-no-drag-region`,style:{left:`${h.x}px`,top:`${h.y}px`},onPointerDown:e=>e.stopPropagation(),children:[(0,Q.jsx)(`button`,{type:`button`,className:`tabs-menu__item`,onClick:()=>H(()=>n(P.id)),disabled:!I,children:`关闭标签`}),(0,Q.jsx)(`button`,{type:`button`,className:`tabs-menu__item`,onClick:()=>H(()=>r(P.id)),disabled:!I,children:`关闭其他标签`}),(0,Q.jsx)(`button`,{type:`button`,className:`tabs-menu__item`,onClick:()=>H(()=>i(P.id)),disabled:!L,children:`关闭右侧标签`})]})]})}function zx(){let{state:e,setModulePaneWidth:t}=Jt(),[n,r]=(0,Z.useState)(!1),i=e.output.actionId??``,a=i.endsWith(`_list`)||i.endsWith(`_status`),o=n=>{if(window.innerWidth<=900||e.modulePaneCollapsed)return;r(!0);let i=n.clientX,a=e.modulePaneWidth,o=e=>{t(a+(e.clientX-i))},s=()=>{r(!1),window.removeEventListener(`mousemove`,o),window.removeEventListener(`mouseup`,s),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,window.addEventListener(`mousemove`,o),window.addEventListener(`mouseup`,s)},s={"--module-pane-width":`${e.modulePaneWidth}px`};return(0,Q.jsxs)(`main`,{className:`desktop-shell`,children:[(0,Q.jsx)(Rx,{}),(0,Q.jsxs)(`section`,{className:[`desktop-body`,n?`desktop-body--dragging`:``,e.modulePaneCollapsed?`desktop-body--pane-collapsed`:``].filter(Boolean).join(` `),style:s,children:[(0,Q.jsx)(Xb,{}),(0,Q.jsxs)(`div`,{className:`module-pane-wrap`,children:[(0,Q.jsx)(Jb,{}),(0,Q.jsx)(`div`,{className:`module-pane-resizer`,onMouseDown:o,role:`separator`,"aria-orientation":`vertical`,"aria-label":`resize sidebar`})]}),(0,Q.jsxs)(`div`,{className:a?`desktop-main desktop-main--single`:`desktop-main`,children:[a?null:(0,Q.jsx)(dx,{}),(0,Q.jsx)(jx,{})]})]})]})}function Bx(){let{state:e,refresh:t}=Jt(),n=(0,Z.useRef)(e.repoPath);return(0,Z.useEffect)(()=>{t(n.current)},[t]),(0,Q.jsx)(zx,{})}function Vx(){return(0,Q.jsx)(dt,{theme:{token:{colorPrimary:`#4f7fc4`,colorInfo:`#4f7fc4`,borderRadius:10,fontFamily:`"Manrope", "Avenir Next", sans-serif`},components:{Button:{controlHeight:36},Input:{controlHeight:36},Select:{controlHeight:36},Modal:{borderRadiusLG:14}}},children:(0,Q.jsx)(Ob,{children:(0,Q.jsx)(Bx,{})})})}export{Vx as App,sx as t}; \ No newline at end of file diff --git a/desktop/frontend/dist/assets/button-DLXsC9bG.js b/desktop/frontend/dist/assets/button-DLXsC9bG.js new file mode 100644 index 0000000..a51a4bc --- /dev/null +++ b/desktop/frontend/dist/assets/button-DLXsC9bG.js @@ -0,0 +1 @@ +import{a as e,n as t,s as n}from"./index-BaDRNaZh.js";import{O as r,n as i}from"./input-DPo2rTu5.js";var a=r,o=n(e(),1),s=(0,o.createContext)(null);function c(){let e=(0,o.useContext)(s);if(!e)throw Error(`useAppContext must be used within AppProvider`);return e}var l=t();function u(e){return e===`primary`?{type:`primary`,ghost:!1}:e===`ghost`?{type:`default`,ghost:!0}:{type:`default`,ghost:!1}}function d({variant:e=`default`,className:t,type:n=`button`,children:r,...o}){let s=u(e);return(0,l.jsx)(a,{type:s.type,ghost:s.ghost,htmlType:n,className:i(`ui-button`,`ui-button--${e}`,t),...o,children:r})}export{a as i,s as n,c as r,d as t}; \ No newline at end of file diff --git a/desktop/frontend/dist/assets/index-BaDRNaZh.js b/desktop/frontend/dist/assets/index-BaDRNaZh.js new file mode 100644 index 0000000..07527f5 --- /dev/null +++ b/desktop/frontend/dist/assets/index-BaDRNaZh.js @@ -0,0 +1,10 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/app-CCqtl2WX.js","assets/input-DPo2rTu5.js","assets/button-DLXsC9bG.js"])))=>i.map(i=>d[i]); +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var ee=Array.isArray;function S(){}var C={H:null,A:null,T:null,S:null},te=Object.prototype.hasOwnProperty;function ne(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function re(e,t){return ne(e.type,t,e.props)}function w(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ie(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ae=/\/+/g;function oe(e,t){return typeof e==`object`&&e&&e.key!=null?ie(``+e.key):t.toString(36)}function se(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(S,S):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ce(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ce(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+oe(e,0):a,ee(o)?(i=``,c!=null&&(i=c.replace(ae,`$&/`)+`/`),ce(o,r,i,``,function(e){return e})):o!=null&&(w(o)&&(o=re(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(ae,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(ee(e))for(var u=0;u{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,ee||(ee=!0,w());else{var t=n(l);t!==null&&oe(x,t.startTime-e)}}var ee=!1,S=-1,C=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-tet&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&oe(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?w():ee=!1}}}var w;if(typeof y==`function`)w=function(){y(re)};else if(typeof MessageChannel<`u`){var ie=new MessageChannel,ae=ie.port2;ie.port1.onmessage=re,w=function(){ae.postMessage(null)}}else w=function(){_(re,0)};function oe(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,oe(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,w()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1pe||(e.current=fe[pe],fe[pe]=null,pe--)}function O(e,t){pe++,fe[pe]=e.current,e.current=t}var he=me(null),ge=me(null),_e=me(null),ve=me(null);function ye(e,t){switch(O(_e,t),O(ge,e),O(he,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}D(he),O(he,e)}function be(){D(he),D(ge),D(_e)}function xe(e){e.memoizedState!==null&&O(ve,e);var t=he.current,n=Hd(t,e.type);t!==n&&(O(ge,e),O(he,n))}function Se(e){ge.current===e&&(D(he),D(ge)),ve.current===e&&(D(ve),Qf._currentValue=de)}var Ce,we;function Te(e){if(Ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ce=t&&t[1]||``,we=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Ee=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Te(n):``}function Oe(e,t){switch(e.tag){case 26:case 27:case 5:return Te(e.type);case 16:return Te(`Lazy`);case 13:return e.child!==t&&t!==null?Te(`Suspense Fallback`):Te(`Suspense`);case 19:return Te(`SuspenseList`);case 0:case 15:return De(e.type,!1);case 11:return De(e.type.render,!1);case 1:return De(e.type,!0);case 31:return Te(`Activity`);default:return``}}function ke(e){try{var t=``,n=null;do t+=Oe(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var Ae=Object.prototype.hasOwnProperty,je=t.unstable_scheduleCallback,Me=t.unstable_cancelCallback,Ne=t.unstable_shouldYield,Pe=t.unstable_requestPaint,Fe=t.unstable_now,Ie=t.unstable_getCurrentPriorityLevel,Le=t.unstable_ImmediatePriority,Re=t.unstable_UserBlockingPriority,ze=t.unstable_NormalPriority,Be=t.unstable_LowPriority,Ve=t.unstable_IdlePriority,He=t.log,Ue=t.unstable_setDisableYieldValue,We=null,Ge=null;function Ke(e){if(typeof He==`function`&&Ue(e),Ge&&typeof Ge.setStrictMode==`function`)try{Ge.setStrictMode(We,e)}catch{}}var qe=Math.clz32?Math.clz32:Xe,Je=Math.log,Ye=Math.LN2;function Xe(e){return e>>>=0,e===0?32:31-(Je(e)/Ye|0)|0}var Ze=256,Qe=262144,$e=4194304;function et(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function tt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=et(n))):i=et(o):i=et(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=et(n))):i=et(o)):i=et(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function nt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function it(){var e=$e;return $e<<=1,!($e&62914560)&&($e=4194304),e}function at(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ot(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function st(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),yn=!1;if(vn)try{var bn={};Object.defineProperty(bn,"passive",{get:function(){yn=!0}}),window.addEventListener(`test`,bn,bn),window.removeEventListener(`test`,bn,bn)}catch{yn=!1}var xn=null,Sn=null,Cn=null;function wn(){if(Cn)return Cn;var e,t=Sn,n=t.length,r,i=`value`in xn?xn.value:xn.textContent,a=i.length;for(e=0;e=nr),ar=` `,or=!1;function sr(e,t){switch(e){case`keyup`:return er.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function cr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var lr=!1;function ur(e,t){switch(e){case`compositionend`:return cr(t);case`keypress`:return t.which===32?(or=!0,ar):null;case`textInput`:return e=t.data,e===ar&&or?null:e;default:return null}}function dr(e,t){if(lr)return e===`compositionend`||!tr&&sr(e,t)?(e=wn(),Cn=Sn=xn=null,lr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Nr(n)}}function Fr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ir(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Gt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Gt(e.document)}return t}function Lr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Rr=vn&&`documentMode`in document&&11>=document.documentMode,zr=null,Br=null,Vr=null,Hr=!1;function Ur(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Hr||zr==null||zr!==Gt(r)||(r=zr,`selectionStart`in r&&Lr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Vr&&Mr(Vr,r)||(Vr=r,r=Ed(Br,`onSelect`),0>=o,i-=o,Fi=1<<32-qe(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),j&&Li(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),j&&Li(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return j&&Li(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),j&&Li(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===w&&Fa(l)===r.type){n(e,r.sibling),c=a(r,o.props),Ha(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=Si(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=xi(o.type,o.key,o.props,null,e.mode,c),Ha(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Ti(o,e.mode,c),c.return=e,e=c}return s(e);case w:return o=Fa(o),b(e,r,o,c)}if(ue(o))return h(e,r,o,c);if(se(o)){if(l=se(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Va(o),c);if(o.$$typeof===S)return b(e,r,ua(e,o),c);Ua(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=Ci(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ba=0;var i=b(e,t,n,r);return za=null,i}catch(t){if(t===ka||t===ja)throw t;var a=_i(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ga=Wa(!0),Ka=Wa(!1),qa=!1;function Ja(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ya(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Xa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,W&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=mi(e),pi(e,null,n),t}return ui(e,r,t,n),mi(e)}function Qa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,lt(e,n)}}function $a(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var eo=!1;function to(){if(eo){var e=ba;if(e!==null)throw e}}function no(e,t,n,r){eo=!1;var i=e.updateQueue;qa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(q&f)===f:(r&f)===f){f!==0&&f===ya&&(eo=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:qa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Kl|=o,e.lanes=o,e.memoizedState=d}}function ro(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function io(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=T.T,s={};T.T=s,zs(e,!1,t,n);try{var c=i(),l=T.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Rs(e,t,Ca(c,r),pu(e)):Rs(e,t,r,pu(e))}catch(n){Rs(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{E.p=a,o!==null&&s.types!==null&&(o.types=s.types),T.T=o}}function Os(){}function ks(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=As(e).queue;Ds(e,a,t,de,n===null?Os:function(){return js(e),n(r)})}function As(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bo,lastRenderedState:de},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function js(e){var t=As(e);t.next===null&&(t=e.alternate.memoizedState),Rs(e,t.next.queue,{},pu())}function Ms(){return la(Qf)}function Ns(){return R().memoizedState}function Ps(){return R().memoizedState}function Fs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=Xa(n);var r=Za(t,e,n);r!==null&&(hu(r,t,n),Qa(r,t,n)),t={cache:ha()},e.payload=t;return}t=t.return}}function Is(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Bs(e)?Vs(t,n):(n=di(e,t,n,r),n!==null&&(hu(n,e,r),Hs(n,t,r)))}function Ls(e,t,n){Rs(e,t,n,pu())}function Rs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Bs(e))Vs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,jr(s,o))return ui(e,t,i,0),G===null&&li(),!1}catch{}if(n=di(e,t,i,r),n!==null)return hu(n,e,r),Hs(n,t,r),!0}return!1}function zs(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Bs(e)){if(t)throw Error(i(479))}else t=di(e,n,r,2),t!==null&&hu(t,e,2)}function Bs(e){var t=e.alternate;return e===P||t!==null&&t===P}function Vs(e,t){xo=bo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Hs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,lt(e,n)}}var Us={readContext:la,use:Ro,useCallback:L,useContext:L,useEffect:L,useImperativeHandle:L,useLayoutEffect:L,useInsertionEffect:L,useMemo:L,useReducer:L,useRef:L,useState:L,useDebugValue:L,useDeferredValue:L,useTransition:L,useSyncExternalStore:L,useId:L,useHostTransitionStatus:L,useFormState:L,useActionState:L,useOptimistic:L,useMemoCache:L,useCacheRefresh:L};Us.useEffectEvent=L;var Ws={readContext:la,use:Ro,useCallback:function(e,t){return Fo().memoizedState=[e,t===void 0?null:t],e},useContext:la,useEffect:ms,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),fs(4194308,4,bs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return fs(4194308,4,e,t)},useInsertionEffect:function(e,t){fs(4,2,e,t)},useMemo:function(e,t){var n=Fo();t=t===void 0?null:t;var r=e();if(So){Ke(!0);try{e()}finally{Ke(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Fo();if(n!==void 0){var i=n(t);if(So){Ke(!0);try{n(t)}finally{Ke(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Is.bind(null,P,e),[r.memoizedState,e]},useRef:function(e){var t=Fo();return e={current:e},t.memoizedState=e},useState:function(e){e=Xo(e);var t=e.queue,n=Ls.bind(null,P,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ss,useDeferredValue:function(e,t){return Ts(Fo(),e,t)},useTransition:function(){var e=Xo(!1);return e=Ds.bind(null,P,e.queue,!0,!1),Fo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=P,a=Fo();if(j){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),G===null)throw Error(i(349));q&127||Go(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ms(qo.bind(null,r,o,e),[e]),r.flags|=2048,us(9,{destroy:void 0},Ko.bind(null,r,o,n,t),null),n},useId:function(){var e=Fo(),t=G.identifierPrefix;if(j){var n=Ii,r=Fi;n=(r&~(1<<32-qe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Co++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[gt]=t,o[_t]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Lc(t)}}return B(t),Rc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Lc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=_e.current,Yi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=Hi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[gt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Ki(t,!0)}else e=Bd(e).createTextNode(r),e[gt]=t,t.stateNode=e}return B(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Yi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[gt]=t}else Xi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;B(t),e=!1}else n=Zi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(_o(t),t):(_o(t),null);if(t.flags&128)throw Error(i(558))}return B(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Yi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[gt]=t}else Xi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;B(t),a=!1}else a=Zi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(_o(t),t):(_o(t),null)}return _o(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Bc(t,t.updateQueue),B(t),null);case 4:return be(),e===null&&Sd(t.stateNode.containerInfo),B(t),null;case 10:return ra(t.type),B(t),null;case 19:if(D(N),r=t.memoizedState,r===null)return B(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Vc(r,!1);else{if(Y!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=vo(e),o!==null){for(t.flags|=128,Vc(r,!1),e=o.updateQueue,t.updateQueue=e,Bc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)bi(n,e),n=n.sibling;return O(N,N.current&1|2),j&&Li(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Fe()>nu&&(t.flags|=128,a=!0,Vc(r,!1),t.lanes=4194304)}else{if(!a)if(e=vo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Bc(t,e),Vc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!j)return B(t),null}else 2*Fe()-r.renderingStartTime>nu&&n!==536870912&&(t.flags|=128,a=!0,Vc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(B(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Fe(),e.sibling=null,n=N.current,O(N,a?n&1|2:n&1),j&&Li(t,r.treeForkCount),e);case 22:case 23:return _o(t),lo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(B(t),t.subtreeFlags&6&&(t.flags|=8192)):B(t),n=t.updateQueue,n!==null&&Bc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&D(Ta),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ra(M),B(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Uc(e,t){switch(Bi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ra(M),be(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Se(t),null;case 31:if(t.memoizedState!==null){if(_o(t),t.alternate===null)throw Error(i(340));Xi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(_o(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Xi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return D(N),null;case 4:return be(),null;case 10:return ra(t.type),null;case 22:case 23:return _o(t),lo(),e!==null&&D(Ta),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ra(M),null;case 25:return null;default:return null}}function Wc(e,t){switch(Bi(t),t.tag){case 3:ra(M),be();break;case 26:case 27:case 5:Se(t);break;case 4:be();break;case 31:t.memoizedState!==null&&_o(t);break;case 13:_o(t);break;case 19:D(N);break;case 10:ra(t.type);break;case 22:case 23:_o(t),lo(),e!==null&&D(Ta);break;case 24:ra(M)}}function Gc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Kc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function qc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{io(t,n)}catch(t){Z(e,e.return,t)}}}function Jc(e,t,n){n.props=Zs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Yc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Xc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}function Zc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function Qc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[_t]=t}catch(t){Z(e,e.return,t)}}function $c(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function el(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||$c(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function tl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ln));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(tl(e,t,n),e=e.sibling;e!==null;)tl(e,t,n),e=e.sibling}function nl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(nl(e,t,n),e=e.sibling;e!==null;)nl(e,t,n),e=e.sibling}function rl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[gt]=e,t[_t]=n}catch(t){Z(e,e.return,t)}}var il=!1,V=!1,al=!1,ol=typeof WeakSet==`function`?WeakSet:Set,H=null;function sl(e,t){if(e=e.containerInfo,Rd=sp,e=Ir(e),Lr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,H=t;H!==null;)if(t=H,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,H=e;else for(;H!==null;){switch(t=H,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[gt]=e,k(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Pr(s,h),v=Pr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,T.T=null,n=lu,lu=null;var o=au,s=su;if(X=0,ou=au=null,su=0,W&6)throw Error(i(331));var c=W;if(W|=4,Il(o.current),Ol(o,o.current,s,n),W=c,id(0,!1),Ge&&typeof Ge.onPostCommitFiberRoot==`function`)try{Ge.onPostCommitFiberRoot(We,o)}catch{}return!0}finally{E.p=a,T.T=r,Vu(e,t)}}function Wu(e,t,n){t=Di(n,t),t=rc(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(ot(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(iu===null||!iu.has(r))){e=Di(n,e),n=ic(2),r=Za(t,n,2),r!==null&&(ac(n,r,t,e),ot(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Bl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Wl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,G===e&&(q&n)===n&&(Y===4||Y===3&&(q&62914560)===q&&300>Fe()-eu?!(W&2)&&Su(e,0):Jl|=n,Xl===q&&(Xl=0)),rd(e)}function qu(e,t){t===0&&(t=it()),e=fi(e,t),e!==null&&(ot(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return je(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-qe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=q,a=tt(r,r===G?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||nt(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Fe(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}X!==0&&X!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=qt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),k(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+qt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+qt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+qt(n.imageSizes)+`"]`)):i+=`[href="`+qt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),k(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+qt(r)+`"][href="`+qt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),k(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=Ot(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);k(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=Ot(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),k(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=Ot(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),k(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=_e.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=Ot(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=Ot(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=Ot(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+qt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),k(t),e.head.appendChild(t))}function Pf(e){return`[src="`+qt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+qt(n.href)+`"]`);if(r)return t.instance=r,k(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),k(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,k(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),k(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,k(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),k(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,k(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),k(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=g(),y=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),b=o(((e,t)=>{t.exports=y()})),x=b(),ee=`modulepreload`,S=function(e){return`/`+e},C={},te=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=S(t,n),t=s(t),t in C)return;C[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:ee,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},ne=document.getElementById(`app`);if(!ne)throw Error(`#app not found`);var re=(0,v.createRoot)(ne);function w(e){let t=e instanceof Error?`${e.name}: ${e.message}`:String(e),n=e instanceof Error&&e.stack?`\n\n${e.stack}`:``;re.render((0,x.jsx)(`div`,{style:{height:`100%`,padding:`16px`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,whiteSpace:`pre-wrap`,color:`#10203a`,background:`#f2f6fc`},children:`启动失败\n${t}${n}`}))}async function ie(){try{let{App:e}=await te(async()=>{let{App:e}=await import(`./app-CCqtl2WX.js`);return{App:e}},__vite__mapDeps([0,1,2]));re.render((0,x.jsx)(_.StrictMode,{children:(0,x.jsx)(e,{})}))}catch(e){console.error(`[fastgit] bootstrap failed`,e),w(e)}}ie();export{u as a,m as i,b as n,o,g as r,c as s,te as t}; \ No newline at end of file diff --git a/desktop/frontend/dist/assets/index-Dj7MsT2x.css b/desktop/frontend/dist/assets/index-Dj7MsT2x.css new file mode 100644 index 0000000..0a6ba27 --- /dev/null +++ b/desktop/frontend/dist/assets/index-Dj7MsT2x.css @@ -0,0 +1 @@ +html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.fixed\!{position:fixed!important}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.min-h-0{min-height:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--font-heading:"Sora", "Avenir Next", sans-serif;--font-body:"Manrope", "PingFang SC", "Segoe UI", sans-serif;--bg-app:#e1e7ef;--bg-main:#edf2f8;--bg-topbar:#e3e8f0;--bg-topbar-active:#f1f4f9;--bg-pane:#e3e7ef;--bg-pane-hover:#dce3ed;--bg-card:#eef2f7;--bg-card-soft:#dfe5ee;--bg-input:#edf1f6;--bg-output:#e7edf6;--text-1:#1f2d44;--text-2:#5d708d;--text-3:#8b9ab0;--text-inverse:#fff;--text-output:#1f2d44;--line:#bfcbdb;--line-strong:#adbbd1;--line-output:#b5c4d8;--brand:#4f7fc4;--brand-strong:#3c679f;--accent:#13ad9f;--brand-soft:#4f7fc41f;--brand-soft-strong:#4f7fc42e;--brand-line:#4f7fc485;--brand-line-strong:#4f7fc47a;--ok:#1b9b4a;--error:#d83f57;--ok-soft:#1b9b4a14;--ok-line:#1b9b4a40;--error-soft:#d83f5714;--error-line:#d83f5740;--radius-xl:14px;--radius-lg:11px;--radius-md:9px;--shadow-card:0 8px 26px #121c2c14;--shadow-menu:0 8px 20px #131f322e;--highlight-stroke:#ffffff57}*{box-sizing:border-box}html,body,#app{height:100%}body{color:var(--text-1);background:var(--bg-app);font-family:var(--font-body);margin:0}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:.01em;margin:0}p{margin:0}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-drag-region{-webkit-app-region:drag}.app-no-drag-region{-webkit-app-region:no-drag}.desktop-shell{background:var(--bg-main);grid-template-rows:40px minmax(0,1fr);height:100%;min-height:0;display:grid}.tabs-header{border-bottom:1px solid var(--line);background:var(--bg-topbar);align-items:center;gap:8px;padding:0 10px;display:flex}.tabs-repo{flex:none;align-items:center;display:inline-flex}.tabs-repo__button{border:1px solid var(--line);height:28px;color:var(--text-2);background:var(--bg-topbar-active);white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.tabs-repo__button small{color:var(--brand-strong);font-size:11px;font-weight:700}.tabs-repo__logo{flex:0 0 14px;width:14px;height:14px;display:block}.tabs-track{flex:auto;align-items:stretch;gap:3px;min-width:0;display:flex;overflow-x:auto}.tabs-track__item{min-width:90px;height:30px;color:var(--text-2);font-family:var(--font-heading);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:8px 8px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:grid}.tabs-track__item span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabs-track__item--active{background:var(--bg-topbar-active);border-color:var(--line);border-bottom-color:var(--bg-topbar-active);color:var(--text-1)}.tabs-track__item--drag-over{border-color:var(--brand-line);background:var(--brand-soft)}.tabs-track__close{width:18px;height:18px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.tabs-track__close:hover{color:var(--text-1);background:var(--bg-pane-hover)}.tabs-add{border:1px solid var(--line);background:var(--bg-topbar-active);width:26px;height:26px;color:var(--text-2);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.tabs-actions{flex:0 auto;align-items:center;gap:8px;min-width:0;margin-left:auto;display:inline-flex}.tabs-project-select{width:min(240px,28vw);min-width:140px;font-size:12px}.tabs-project-select .ant-select-selector{min-height:28px!important}.tabs-settings{border:1px solid var(--line);background:var(--bg-topbar-active);width:26px;height:26px;color:var(--text-2);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.tabs-settings-panel{z-index:40;border:1px solid var(--line);background:var(--bg-card);width:min(700px,100vw - 24px);max-height:min(78vh,860px);box-shadow:var(--shadow-menu);border-radius:12px;padding:10px;position:fixed;top:46px;right:12px;overflow:auto}.tabs-project-panel{z-index:41;border:1px solid var(--line);background:var(--bg-card);width:min(420px,100vw - 20px);box-shadow:var(--shadow-menu);border-radius:12px;gap:8px;padding:10px;display:grid;position:fixed;top:46px;left:10px}.tabs-project-panel__header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tabs-project-panel__header strong{color:var(--text-1);font-size:13px}.tabs-project-panel__header span{color:var(--text-2);font-size:12px}.tabs-project-panel__search{min-width:0}.tabs-project-panel__summary{border:1px solid var(--line);background:radial-gradient(circle at top left, #4f7fc41a, transparent 42%), linear-gradient(180deg, var(--bg-card) 0%, var(--bg-card-soft) 100%);border-radius:10px;gap:4px;padding:10px;display:grid}.tabs-project-panel__summary strong{color:var(--text-1);font-size:13px}.tabs-project-panel__summary>span{color:var(--text-2);word-break:break-all;font-size:11px}.tabs-project-panel__summary-meta{flex-wrap:wrap;gap:6px;display:flex}.tabs-project-panel__summary-meta span{color:var(--text-2);border:1px solid var(--line);background:var(--bg-topbar-active);border-radius:999px;padding:3px 8px;font-size:11px}.tabs-project-panel__summary-actions{justify-content:flex-end;display:flex}.tabs-project-panel__summary-button{appearance:none;border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand-strong);font:inherit;cursor:pointer;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.tabs-project-panel__summary-button:hover{background:var(--brand-soft-strong)}.tabs-project-panel__list{gap:6px;max-height:min(50vh,420px);display:grid;overflow:auto}.tabs-project-item{border:1px solid var(--line);background:var(--bg-card-soft);text-align:left;cursor:pointer;border-radius:10px;justify-items:start;gap:3px;padding:9px 10px;display:grid}.tabs-project-item--active{border-color:var(--brand-line);background:var(--brand-soft)}.tabs-project-item__title{color:var(--text-1);font-size:12px;font-weight:700}.tabs-project-item__path,.tabs-project-item__meta,.tabs-project-panel__empty{color:var(--text-2);font-size:11px}.tabs-project-item__path{word-break:break-all}.tabs-project-panel__empty{border:1px dashed var(--line-strong);text-align:center;border-radius:10px;padding:12px}.project-contextbar{border-bottom:1px solid var(--line);background:radial-gradient(circle at 0 0,#4f7fc41f,#0000 26%),linear-gradient(#f1f4f9f5 0%,#e9eff7eb 100%);grid-template-columns:minmax(0,1.7fr) minmax(180px,.9fr) auto;align-items:center;gap:14px;padding:10px 14px;display:grid}.project-contextbar__identity,.project-contextbar__title,.project-contextbar__meta,.project-contextbar__actions{min-width:0}.project-contextbar__title{gap:2px;display:grid}.project-contextbar__title strong{color:var(--text-1);font-family:var(--font-heading);font-size:14px}.project-contextbar__title span{color:var(--text-2);word-break:break-all;font-size:11px}.project-contextbar__chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.project-contextbar__chip{border:1px solid var(--line);color:var(--text-2);background:#ffffff8a;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.project-contextbar__meta{color:var(--text-2);gap:4px;font-size:12px;display:grid}.project-contextbar__meta span:last-child{color:var(--brand-strong);font-weight:700}.project-contextbar__actions{justify-content:flex-end;display:flex}.tabs-menu{z-index:30;border:1px solid var(--line);background:var(--bg-topbar-active);min-width:150px;box-shadow:var(--shadow-menu);border-radius:10px;gap:3px;padding:6px;display:grid;position:fixed}.tabs-menu__item{color:var(--text-1);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:12px}.tabs-menu__item:hover{background:var(--bg-pane-hover)}.tabs-menu__item:disabled{color:var(--text-3);cursor:not-allowed}.desktop-body{grid-template-columns:72px var(--module-pane-width,280px) minmax(0, 1fr);height:100%;min-height:0;transition:grid-template-columns .18s;display:grid;overflow:hidden}.desktop-body--pane-collapsed{grid-template-columns:72px 0 minmax(0,1fr)}.desktop-body--dragging *{cursor:col-resize!important}.module-pane-wrap{min-width:0;transition:opacity .18s;position:relative;overflow:hidden}.desktop-body--pane-collapsed .module-pane-wrap{opacity:0}.sidebar-menu-panel{border-right:1px solid var(--line);background:var(--bg-pane);color:var(--text-2);grid-template-rows:1fr auto;min-height:0;display:grid}.sidebar-menu-panel__group{flex-direction:column;align-items:center;gap:8px;padding:12px 0;display:flex}.sidebar-menu-panel__item{width:56px;min-height:50px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:12px;align-content:center;justify-items:center;gap:4px;font-size:11px;font-weight:600;display:grid}.sidebar-menu-panel__item:hover{color:var(--text-1);background:var(--bg-pane-hover)}.sidebar-menu-panel__item--active{color:var(--text-1);background:var(--bg-card-soft);box-shadow:inset 0 0 0 1px var(--line-strong)}.sidebar-menu-panel__footer{border-top:1px solid var(--line);color:var(--text-2);justify-items:center;gap:6px;padding:10px 8px;font-size:11px;display:grid}.sidebar-menu-panel__refresh{border-color:var(--line-strong);width:36px;height:32px;color:var(--text-2);padding:0}.module-pane{border-right:1px solid var(--line);background:var(--bg-pane);grid-template-rows:auto 1fr;min-height:0;display:grid}.module-pane-resizer{cursor:col-resize;z-index:5;background:0 0;width:4px;height:100%;position:absolute;top:0;right:-2px}.module-pane-resizer:hover{background:var(--brand-line-strong)}.module-pane__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px;display:flex}.module-pane__actions{align-items:center;gap:6px;display:inline-flex}.module-pane__collapse{width:34px;min-height:34px;padding:0}.module-pane__header h2{font-size:13px;font-family:var(--font-heading)}.module-pane__header p{color:var(--text-2);margin-top:2px;font-size:12px}.module-pane__list{align-content:start;gap:6px;min-height:0;padding:8px;display:grid;overflow:auto}.module-pane__item{color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:10px}.module-pane__item:hover{background:var(--bg-pane-hover)}.module-pane__item--active{background:var(--bg-topbar-active);border-color:var(--line-strong);box-shadow:var(--shadow-card)}.module-pane__item strong{font-size:13px;display:block}.module-pane__item span{color:var(--text-2);margin-top:4px;font-size:12px;line-height:1.35;display:block}.module-pane__empty{border:1px dashed var(--line-strong);color:var(--text-2);border-radius:9px;padding:12px;font-size:12px}.desktop-main{grid-template-rows:clamp(220px,42%,520px) minmax(0,1fr);gap:10px;height:100%;min-height:0;padding:10px;display:grid;overflow:hidden;container-type:inline-size}.desktop-main--single{grid-template-rows:minmax(0,1fr)}.module-actions,.output-panel{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg-card);min-height:0;box-shadow:0 1px 0 var(--highlight-stroke), var(--shadow-card);isolation:isolate;padding:12px;container-type:inline-size}.module-actions{flex:none}.output-panel{flex:1 1 0}.workspace-panel__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workspace-panel__row--add .workspace-panel__control,.workspace-panel__row--add .ui-input{flex:1;min-width:180px}.repo-settings{grid-template-columns:220px minmax(0,1fr);gap:12px;display:grid}.repo-settings__nav,.repo-settings__content{min-width:0}.repo-settings__nav{align-content:start;gap:10px;display:grid}.repo-settings__overview{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at top left, #4f7fc41f, transparent 38%), linear-gradient(180deg, var(--bg-card) 0%, var(--bg-card-soft) 100%);gap:4px;padding:12px;display:grid}.repo-settings__overview span,.repo-settings__overview small{color:var(--text-2);font-size:11px}.repo-settings__overview strong{color:var(--text-1);font-size:14px;font-family:var(--font-heading)}.repo-settings__overview small{word-break:break-all}.repo-settings__nav-list{gap:8px;display:grid}.repo-settings__nav-item{appearance:none;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-card-soft);text-align:left;cursor:pointer;gap:4px;padding:10px 12px;display:grid}.repo-settings__nav-item strong{color:var(--text-1);font-size:13px}.repo-settings__nav-item span{color:var(--text-2);font-size:11px;line-height:1.45}.repo-settings__nav-item--active{border-color:var(--brand-line);background:radial-gradient(circle at 0 0,#4f7fc424,#0000 38%),linear-gradient(#4f7fc424 0%,#4f7fc40f 100%)}.repo-settings__content{gap:12px;display:grid}.settings-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at top left, #4f7fc414, transparent 38%), linear-gradient(180deg, var(--bg-card) 0%, var(--bg-card-soft) 100%);gap:8px;padding:10px;display:grid}.settings-section--panel{min-height:0}.repo-settings__header{justify-content:space-between;align-items:baseline;display:flex}.repo-settings__header h3{margin:0;font-size:14px}.repo-settings__header p,.repo-settings__status,.repo-settings__count{color:var(--text-2);margin:0;font-size:12px}.repo-settings__current{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-topbar-active);gap:3px;padding:8px 10px;display:grid}.repo-settings__current span{color:var(--text-2);font-size:11px}.repo-settings__current strong{color:var(--text-1);word-break:break-all;font-size:12px}.repo-settings__current small{color:var(--text-2);word-break:break-word;font-size:11px}.repo-settings__summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.repo-settings__summary-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.repo-settings__focusbar{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.repo-settings__focusmeta{gap:3px;min-width:0;display:grid}.repo-settings__focusmeta strong{color:var(--text-1);font-size:12px}.repo-settings__focusmeta span{color:var(--text-2);word-break:break-word;font-size:11px}.repo-settings__focusactions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.repo-settings__notice{border:1px solid var(--brand-line);border-radius:var(--radius-lg);background:var(--brand-soft);gap:6px;padding:10px 12px;display:grid}.repo-settings__notice strong{color:var(--brand-strong);font-size:12px}.repo-settings__notice span{color:var(--text-1);font-size:12px;line-height:1.5}.repo-list{gap:8px;max-height:min(42vh,360px);display:grid;overflow:auto}.repo-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-card-soft);cursor:pointer;gap:7px;padding:8px;display:grid}.repo-item--selected{box-shadow:inset 0 0 0 1px var(--brand-line)}.repo-item--current{background:var(--bg-topbar-active);border-color:var(--line-strong)}.repo-item__meta{min-width:0}.repo-item__meta strong{color:var(--text-1);font-size:12px;display:block}.repo-item__meta span{color:var(--text-2);word-break:break-all;margin-top:2px;font-size:11px;display:block}.repo-item__tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.repo-item__actions{align-items:center;gap:6px;display:flex}.repo-item__actions .ui-button{min-height:28px;padding:0 10px;font-size:11px}.repo-badge{color:var(--text-2);border:1px solid var(--line);background:var(--bg-pane);border-radius:999px;padding:1px 8px;font-size:11px}.repo-badge--active{color:var(--brand-strong);border-color:var(--brand-line);background:var(--brand-soft)}.repo-list__empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);text-align:center;color:var(--text-2);padding:10px;font-size:12px}@media (width<=1120px){.desktop-body{grid-template-columns:64px var(--module-pane-width,240px) minmax(0, 1fr)}}@media (width<=900px){.desktop-shell{grid-template-rows:auto minmax(0,1fr)}.repo-settings{grid-template-columns:1fr}.project-contextbar{grid-template-columns:1fr;align-items:stretch}.project-contextbar__actions{justify-content:flex-start}.desktop-body,.desktop-body--pane-collapsed{grid-template-rows:auto auto 1fr;grid-template-columns:1fr}.sidebar-menu-panel{border-right:0;border-bottom:1px solid var(--line);grid-template-rows:auto;grid-template-columns:1fr auto;align-items:center;min-height:auto;padding:0 8px}.sidebar-menu-panel__group{flex-direction:row;justify-content:center;padding:8px 0}.sidebar-menu-panel__item{width:60px;min-height:46px}.sidebar-menu-panel__footer{border-top:0;border-left:1px solid var(--line);grid-auto-flow:column;align-items:center;padding:8px}.module-pane{border-right:0;border-bottom:1px solid var(--line)}.module-pane-resizer{display:none}.desktop-main{min-height:0}.tabs-project-select{width:120px;min-width:0}.tabs-settings-panel{top:84px}.repo-settings__summary-grid,.repo-settings__summary-grid--wide{grid-template-columns:1fr}}@media (width<=640px){.tabs-actions{gap:4px}.tabs-project-select{width:96px}.workspace-panel__row{flex-direction:column}.tabs-header{padding:0 6px}.tabs-repo{display:none}}.module-actions{grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:100%;min-height:0;animation:.22s both rise-in;display:grid;overflow:auto;container-type:inline-size}.module-actions--collapsed{grid-template-rows:auto auto;height:auto;overflow:hidden}.module-actions__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.module-actions__header h2{font-size:18px}.module-actions__header p{color:var(--text-2);margin-top:4px;font-size:13px}.module-actions__summary{flex:none;justify-items:end;gap:3px;display:grid}.module-actions__summary span{color:var(--text-2);font-size:11px}.module-actions__summary strong{color:var(--text-1);font-size:13px}.module-actions__collapsed{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 0 0,#4f7fc41a,#0000 42%),linear-gradient(#fff3 0%,#ffffff14 100%);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.module-actions__collapsed-meta{gap:4px;min-width:0;display:grid}.module-actions__collapsed-meta strong{color:var(--text-1);font-size:14px}.module-actions__collapsed-meta span{color:var(--text-2);word-break:break-word;font-size:12px;line-height:1.45}.module-actions__collapsed-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.module-toolbar{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at top left, #4f7fc424, transparent 38%), linear-gradient(180deg, var(--bg-card) 0%, var(--bg-card-soft) 100%);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.module-toolbar__meta h3{font-size:16px}.module-toolbar__meta p{color:var(--text-2);margin-top:4px;font-size:12px;line-height:1.45}.module-toolbar__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.module-toolbar__hint{color:var(--text-2);border:1px solid var(--line);background:var(--bg-topbar-active);border-radius:999px;padding:5px 10px;font-size:12px}.module-actions__tabs{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.module-actions__tabs .ant-tabs-nav{margin:0 0 8px}.module-actions__tabs .ant-tabs-content-holder,.module-actions__tabs .ant-tabs-content,.module-actions__tabs .ant-tabs-tabpane{min-height:0}.module-actions__chips{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 0 0,#4f7fc414,#0000 36%),linear-gradient(#fff3 0%,#ffffff0f 100%);flex-wrap:wrap;align-content:flex-start;gap:8px;padding:10px 12px;display:flex}.module-actions__chip{appearance:none;border:1px solid var(--line-strong);background:var(--bg-topbar-active);text-align:left;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.module-actions__chip:hover{border-color:var(--brand-line);transform:translateY(-1px)}.module-actions__chip span{color:var(--text-1);font-size:12px;font-weight:700}.module-actions__chip small{color:var(--brand-strong);font-size:11px;font-weight:700}.module-actions__chip--active{border-color:var(--brand-line);background:linear-gradient(#4f7fc429 0%,#4f7fc40f 100%);box-shadow:inset 0 0 0 1px #4f7fc429}.action-dialog__backdrop{z-index:120;background:#11192659;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.action-dialog{border:1px solid var(--line);background:var(--bg-card);width:min(560px,100vw - 40px);max-height:min(640px,100vh - 40px);box-shadow:var(--shadow-menu);border-radius:14px;gap:10px;padding:12px;display:grid;overflow:auto}.action-dialog__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.action-dialog__header h3{font-size:15px}.action-dialog__header p{color:var(--text-2);margin-top:3px;font-size:12px}.action-dialog__close{border:1px solid var(--line-strong);background:var(--bg-topbar-active);width:30px;height:30px;color:var(--text-2);cursor:pointer;border-radius:8px;font-size:20px;line-height:1}.action-dialog__form{gap:10px;display:grid}.action-dialog__footer{justify-content:flex-end;gap:8px;display:flex}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);min-height:120px;color:var(--text-2);background:var(--bg-card-soft);place-items:center;display:grid}@media (width<=900px){.module-actions{height:auto}.module-toolbar{flex-direction:column;align-items:stretch}.module-toolbar__actions{justify-content:flex-end;width:100%}.module-actions__collapsed{flex-direction:column;align-items:stretch}.module-actions__collapsed-actions{justify-content:flex-end}}@media (width<=640px){.module-actions__header{flex-direction:column}.module-actions__summary{justify-items:start}}@container (width<=860px){.module-actions__header{flex-direction:column;align-items:stretch}.module-actions__summary{justify-items:start;width:100%}.module-toolbar{flex-direction:column;align-items:stretch}.module-toolbar__actions{justify-content:flex-end;width:100%}.module-actions__chips{grid-template-columns:1fr;display:grid}.module-actions__chip{justify-content:space-between;width:100%}}.ui-button{min-width:72px;font-weight:700}.ui-button.ant-btn{border-radius:10px}.ui-button--default.ant-btn:not(.ant-btn-primary):not(:disabled):not(.ant-btn-disabled){color:#183252;background:#f8fbff;border-color:#7f9ec6}.ui-button--default.ant-btn:not(.ant-btn-primary):not(:disabled):not(.ant-btn-disabled):hover{color:#122b49;background:#edf5ff;border-color:#5e89c0}.ui-button--ghost.ant-btn:not(.ant-btn-primary):not(:disabled):not(.ant-btn-disabled){color:#1e4a7a;background:#eef5ff;border-color:#5f85b7}.ui-button--ghost.ant-btn:not(.ant-btn-primary):not(:disabled):not(.ant-btn-disabled):hover{color:#173f6c;background:#deebff;border-color:#3b71af}.ui-button--primary.ant-btn-primary:not(:disabled):not(.ant-btn-disabled){color:#fff;background:#2d5ea8;border-color:#2d5ea8;box-shadow:inset 0 1px #fff3,0 2px 8px #2d5ea83d}.ui-button--primary.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover{background:#244d8b!important;border-color:#244d8b!important}.ui-button.ant-btn:disabled,.ui-button.ant-btn.ant-btn-disabled{opacity:.76}.ui-input,.ui-select,.ui-textarea{width:100%}.action-dialog__body{gap:10px;display:grid}.action-dialog__description{color:var(--text-2);font-size:12px;margin-bottom:0!important}.action-field{gap:6px;display:grid}.action-field span{color:var(--text-2);font-size:12px}.action-dialog__fields{gap:8px;display:grid}.output-panel,.output-content{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:hidden}.output-content>.output-listview,.output-content>.output-panel__body,.output-content>.output-article,.output-content>.output-empty{flex:auto;min-height:0}.output-panel__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.output-panel__header h2{font-size:14px}.output-panel__header p{color:var(--text-2);word-break:break-all;margin-top:4px;font-size:12px}.status-pill{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:72px;height:26px;font-size:11px;font-weight:700;display:inline-flex}.status-pill--ok{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.status-pill--error{color:var(--error);background:var(--error-soft);border-color:var(--error-line)}.output-contextbar{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:radial-gradient(circle at 0 0,#4f7fc429,#0000 44%),linear-gradient(#ffffffa8 0%,#f3f8ffb3 100%);grid-template-columns:1fr;align-items:start;gap:12px;padding:10px 12px;display:grid}@container (width>=1040px){.output-contextbar{grid-template-columns:minmax(0,1fr) auto}.output-contextbar__actions{justify-content:flex-end}}.output-contextbar__meta{gap:4px;min-width:0;display:grid}.output-contextbar__meta strong{color:var(--text-1);font-family:var(--font-heading);font-size:13px}.output-contextbar__meta span{color:var(--text-2);word-break:break-word;font-size:12px;line-height:1.45}.output-contextbar__actions{flex-wrap:wrap;justify-content:flex-start;align-self:start;gap:8px;min-width:0;display:flex}.output-viewtabs.ant-segmented{border:1px solid var(--line-output);background:#ffffff24;border-radius:999px;flex-wrap:wrap;align-items:center;gap:0;width:fit-content;max-width:100%;padding:3px;display:flex}.output-viewtabs.ant-segmented .ant-segmented-item{color:var(--text-2);border-radius:999px;font-size:12px;font-weight:700}.output-viewtabs.ant-segmented .ant-segmented-item-selected{color:var(--brand-strong)}.output-viewtabs.ant-segmented .ant-segmented-thumb{box-shadow:inset 0 0 0 1px var(--brand-line);background:var(--brand-soft);border-radius:999px}.output-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.output-summary-card{border:1px solid var(--line-output);border-radius:var(--radius-lg);background:radial-gradient(circle at 0 0,#4f7fc41a,#0000 40%),linear-gradient(#fff3 0%,#ffffff0f 100%);gap:4px;min-width:0;padding:10px 12px;display:grid}.output-summary-card span{color:var(--text-2);font-size:11px}.output-summary-card strong{color:var(--text-1);word-break:break-word;font-size:13px}.output-viewtabs__item{appearance:none;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;line-height:1}.output-viewtabs__item:hover{background:#4f7fc414}.output-viewtabs__item--active{background:var(--brand-soft);color:var(--brand-strong);box-shadow:inset 0 0 0 1px var(--brand-line)}.output-viewtabs__item:disabled{cursor:not-allowed;color:var(--text-3)}.output-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.output-selectionbar{border:1px solid var(--line-output);border-radius:var(--radius-lg);background:#ffffff1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.output-selectionbar__meta,.output-selectionbar__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.output-selectionbar__toggle{color:var(--text-1);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.output-selectionbar__count{color:var(--text-2);font-size:12px}.output-selectionbar__clear{appearance:none;color:var(--brand-strong);font:inherit;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.output-listview{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:hidden}.output-toolbar__search{flex:360px;width:100%;min-width:220px}.output-toolbar__select{flex:0 190px;width:190px;min-width:150px}.output-toolbar__count{color:var(--text-2);white-space:nowrap;flex:none;margin-left:auto;font-size:12px}.output-toolbar__action.ant-btn{border-radius:10px;min-height:34px;font-weight:700}.output-toolbar__action.ant-btn:not(.ant-btn-primary):not(.output-toolbar__action--danger){color:#1a3556;background:#f8fbff;border-color:#7f9ec6}.output-toolbar__action.ant-btn:not(.ant-btn-primary):not(.output-toolbar__action--danger):hover{color:#132e4c!important;background:#eaf2ff!important;border-color:#5f87bf!important}.output-toolbar__action.ant-btn.ant-btn-primary{background:#2d5ea8;border-color:#2d5ea8;box-shadow:0 2px 8px #2d5ea83d}.output-toolbar__action.ant-btn.ant-btn-primary:hover{background:#244d8b!important;border-color:#244d8b!important}.output-toolbar__action--danger{color:#b02c2e;background:#fdeff0;border-color:#e39a9f}.output-toolbar__action--danger:hover{color:#942324!important;background:#fbe2e4!important;border-color:#d97c82!important}.output-panel__body{border:1px solid var(--line-output);border-radius:var(--radius-lg);background:var(--bg-output);height:auto;min-height:0;color:var(--text-output);margin:0;padding:11px;font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:12px;line-height:1.55;overflow:auto}.output-browser{flex:auto;grid-template-columns:minmax(0,1fr) minmax(280px,34%);align-items:stretch;gap:10px;min-height:0;display:grid;overflow:hidden}.output-table-wrap{border:1px solid var(--line-output);border-radius:var(--radius-lg);background:var(--bg-output);min-height:0;overflow:hidden}.output-ant-table{height:100%}.output-ant-table .ant-table-thead>tr>th,.output-ant-table .ant-table-tbody>tr>td{vertical-align:middle;padding:10px 12px!important}.output-ant-table .ant-table-container{border-start-start-radius:var(--radius-lg)!important;border-start-end-radius:var(--radius-lg)!important}.output-ant-table .ant-table-thead>tr>th{color:var(--text-2);font-size:11px;font-weight:700}.output-ant-table__primary{color:var(--text-output);font-size:13px;font-family:var(--font-heading);word-break:break-word;margin:0}.output-ant-table--repo_status .output-ant-table__primary{text-overflow:ellipsis;white-space:nowrap;word-break:normal;overflow:hidden}.output-table-row--active>td{background:var(--brand-soft)!important}.output-table-row--selected>td{box-shadow:none!important;background:#4f7fc41c!important;border-top-color:#4f7fc43d!important;border-bottom-color:#4f7fc43d!important}.output-table-row--selected>td:first-child{border-left:2px solid #4f7fc48c!important}.output-ant-table .output-table__cell--primary p{color:var(--text-output);font-size:13px;font-family:var(--font-heading);word-break:break-word;margin:0}.output-ant-table .output-table__cell--primary span,.output-ant-table .output-table__cell--primary a,.output-ant-table .output-table__cell--status span,.output-ant-table .output-table__cell--status a,.output-ant-table .output-table__cell--actions span,.output-ant-table .output-table__cell--actions a{color:var(--text-2);word-break:break-all;font-size:11px;text-decoration:none}.output-ant-table .output-table__cell--primary a:hover,.output-ant-table .output-table__cell--status a:hover,.output-ant-table .output-table__cell--actions a:hover{text-decoration:underline}.output-table__cell--actions{text-align:right}.output-table__empty{color:var(--text-3)}.output-detail{border:1px solid var(--line-output);border-radius:var(--radius-lg);background:radial-gradient(circle at 0 0,#4f7fc41f,#0000 42%),linear-gradient(#ffffff3d 0%,#ffffff0f 100%);align-content:start;gap:12px;min-height:0;padding:12px;display:grid;overflow:auto}.output-detail__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.output-detail__header h3{font-size:15px}.output-detail__header p{color:var(--text-2);word-break:break-word;margin-top:4px;font-size:12px;line-height:1.45}.output-detail__meta{gap:8px;display:grid}.output-detail__meta-item{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff3;gap:3px;padding:8px 10px;display:grid}.output-detail__meta-item span{color:var(--text-2);font-size:11px}.output-detail__meta-item strong{color:var(--text-1);word-break:break-word;font-size:12px}.output-detail__meta-item a{color:var(--brand-strong);word-break:break-all;font-size:12px;font-weight:700;text-decoration:none}.output-detail__meta-item a:hover{text-decoration:underline}.output-detail__body{border:1px solid var(--line-output);border-radius:var(--radius-md);color:var(--text-output);white-space:pre-wrap;word-break:break-word;background:#ffffff2e;margin:0;padding:12px;font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:12px;line-height:1.6}.output-detail__actions{flex-wrap:wrap;gap:8px;display:flex}.output-detail__action{appearance:none;border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand-strong);font:inherit;cursor:pointer;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;line-height:1}.output-detail__action--link{align-items:center;text-decoration:none;display:inline-flex}.output-detail__action:hover{background:var(--brand-soft-strong)}.output-detail__action:disabled{cursor:not-allowed;color:var(--text-3);border-color:var(--line);background:var(--bg-pane)}.output-detail__action--danger{color:var(--error);border-color:var(--error-line);background:var(--error-soft)}.output-detail__action--danger:hover{border-color:var(--error);background:#d9534f29}.output-list__badge{color:#415d80;background:#eef3fb;border:1px solid #9cb1cd;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700;line-height:1.45}.output-list__badge--neutral{color:#415d80;background:#eef3fb;border-color:#9cb1cd}.output-list__badge--info{color:#255792;background:#e7f1ff;border-color:#8ab1df}.output-list__badge--success{color:#1c7a46;background:#e7f9ef;border-color:#7cc69a}.output-list__badge--warning{color:#91631e;background:#fff6e6;border-color:#d9bb7c}.output-list__badge--danger{color:#a22d33;background:#fdeef0;border-color:#df9aa0}.output-list__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.output-list__actions--repo{flex-wrap:nowrap;gap:6px}.output-list__action{appearance:none;color:#173252;font:inherit;cursor:pointer;background:#f8fbff;border:1px solid #7f9ec6;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;line-height:1}.output-list__action.ui-button.ant-btn{min-width:0;height:30px;min-height:30px;padding:0 12px}.output-list__action:hover{color:#132e4c;background:#eaf2ff;border-color:#5f87bf}.output-list__action:disabled{cursor:not-allowed;color:var(--text-3);border-color:var(--line);background:var(--bg-pane)}.output-list__action--danger{color:#b02c2e;background:#fdeff0;border-color:#e39a9f}.output-list__action--danger:hover{color:#942324;background:#fbe2e4;border-color:#d97c82}.output-empty{border:1px dashed var(--line-output);border-radius:var(--radius-lg);background:var(--bg-output);height:auto;min-height:0;color:var(--text-2);place-items:center;padding:10px;font-size:12px;display:grid}.output-article{border:1px solid var(--line-output);border-radius:var(--radius-lg);background:radial-gradient(circle at 0 0,#4f7fc41f,#0000 42%),linear-gradient(#ffffff3d 0%,#ffffff0f 100%);align-content:start;gap:12px;min-height:0;padding:14px;display:grid}.output-article__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.output-article__header h3{font-size:18px}.output-article__header p{color:var(--text-2);word-break:break-all;margin-top:4px;font-size:12px;line-height:1.45}.output-article__meta{gap:8px;display:grid}.output-article__meta a{color:var(--brand-strong);word-break:break-all;font-size:12px;font-weight:700;text-decoration:none}.output-article__meta a:hover{text-decoration:underline}.output-article__body{border:1px solid var(--line-output);border-radius:var(--radius-md);color:var(--text-output);white-space:pre-wrap;word-break:break-word;background:#ffffff2e;margin:0;padding:12px;font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:12px;line-height:1.6}.output-batch__targets{flex-wrap:wrap;gap:8px;display:flex}.output-batch__target{border:1px solid var(--line);background:var(--bg-topbar-active);color:var(--text-1);border-radius:999px;padding:4px 10px;font-size:11px;line-height:1.4}@container (width<=1260px){.output-toolbar{align-items:stretch}.output-toolbar__search{flex-basis:100%}.output-toolbar__count{margin-left:0}}@container (width<=1140px){.output-browser{grid-template-columns:minmax(0,1fr)}}@container (width<=900px){.output-contextbar__actions{justify-content:flex-start}.output-toolbar{align-items:stretch}.output-viewtabs{justify-content:space-between;width:100%}.output-selectionbar{align-items:flex-start}.output-browser{grid-template-columns:1fr}}@container (width<=700px){.output-summary-grid{grid-template-columns:1fr}.output-toolbar{flex-direction:column;align-items:stretch}.output-toolbar__search,.output-toolbar__select{flex-basis:auto;width:100%;min-width:0}.output-toolbar__count{margin-left:0}.output-list__actions{justify-content:flex-start}}@media (width<=1400px){.output-toolbar{align-items:stretch}.output-toolbar__search{flex-basis:100%}.output-toolbar__count{margin-left:0}}@media (width<=1200px){.output-browser{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.output-toolbar{align-items:stretch}.output-summary-grid{grid-template-columns:1fr}}@media (width<=700px){.output-toolbar{flex-direction:column;align-items:stretch}.output-toolbar__search,.output-toolbar__select{flex-basis:auto;width:100%;min-width:0}.output-toolbar__count{margin-left:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false} diff --git a/desktop/frontend/dist/assets/input-DPo2rTu5.js b/desktop/frontend/dist/assets/input-DPo2rTu5.js new file mode 100644 index 0000000..4f4d5aa --- /dev/null +++ b/desktop/frontend/dist/assets/input-DPo2rTu5.js @@ -0,0 +1,170 @@ +import{a as e,i as t,n,o as r,r as i,s as a}from"./index-BaDRNaZh.js";var o=a(e());function s(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;te.tagName===`STYLE`)}function b(e,t={}){if(!m())return null;let{csp:n,prepend:r,priority:i=0}=t,a=v(r),o=a===`prependQueue`,s=document.createElement(`style`);s.setAttribute(u,a),o&&i&&s.setAttribute(d,`${i}`),n?.nonce&&(s.nonce=n.nonce),s.innerHTML=e;let c=_(t),{firstChild:l}=c;if(r){if(o){let e=(t.styles||y(c)).filter(e=>[`prepend`,`prependQueue`].includes(e.getAttribute(u))?i>=Number(e.getAttribute(d)||0):!1);if(e.length)return c.insertBefore(s,e[e.length-1].nextSibling),s}c.insertBefore(s,l)}else c.appendChild(s);return s}function x(e,t={}){let{styles:n}=t;return n||=y(_(t)),n.find(n=>n.getAttribute(g(t))===e)}function S(e,t){let n=p.get(e);if(!n||!h(document,n)){let n=b(``,t);if(!n)return;let{parentNode:r}=n;p.set(e,r),e.removeChild(n)}}function C(e,t,n={}){if(!m())return null;let r=_(n),i=y(r),a={...n,styles:i};S(r,a);let o=x(t,a);if(o)return a.csp?.nonce&&o.nonce!==a.csp.nonce&&(o.nonce=a.csp.nonce),o.innerHTML!==e&&(o.innerHTML=e),o;let s=b(e,a);return s?.setAttribute(g(a),t),s}function w(e){return e?.getRootNode?.()}function T(e){let t=w(e);return typeof ShadowRoot<`u`&&t instanceof ShadowRoot?t:null}var E={};function D(e,t){e||E[t]||(E[t]=!0)}function O(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function k(e,t){D(e,`[@ant-design/icons] ${t}`)}function A(e){return typeof e==`object`&&typeof e.name==`string`&&typeof e.theme==`string`&&(typeof e.icon==`object`||typeof e.icon==`function`)}function j(e={}){return Object.keys(e).reduce((t,n)=>{let r=e[n];switch(n){case`class`:t.className=r,delete t.class;break;default:delete t[n],t[O(n)]=r}return t},{})}function M(e,t,n){return n?o.createElement(e.tag,{key:t,...j(e.attrs),...n},(e.children||[]).map((n,r)=>M(n,`${t}-${e.tag}-${r}`))):o.createElement(e.tag,{key:t,...j(e.attrs)},(e.children||[]).map((n,r)=>M(n,`${t}-${e.tag}-${r}`)))}var N=` +.anticon { + display: inline-flex; + align-items: center; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.anticon > * { + line-height: 1; +} + +.anticon svg { + display: inline-block; + vertical-align: inherit; +} + +.anticon::before { + display: none; +} + +.anticon .anticon-icon { + display: block; +} + +.anticon[tabindex] { + cursor: pointer; +} + +.anticon-spin { + -webkit-animation: loadingCircle 1s infinite linear; + animation: loadingCircle 1s infinite linear; +} + +@-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +`,P=e=>{let{csp:t,prefixCls:n,layer:r,zeroRuntime:i}=(0,o.useContext)(l),a=N;n&&(a=a.replace(/anticon/g,n)),r&&(a=`@layer ${r} {\n${a}\n}`),(0,o.useEffect)(()=>{if(i)return;let n=e.current,o=T(n);C(a,`@ant-design-icons`,{prepend:!r,csp:t,attachTo:o})},[])},F=e=>{let{icon:t,className:n,onClick:r,style:i,primaryColor:a,secondaryColor:s,...c}=e,l=o.useRef(null);if(P(l),k(A(t),`icon should be icon definiton, but got ${t}`),!A(t))return null;let u=t;return M(u.icon,`svg-${u.name}`,{className:n,onClick:r,style:i,"data-icon":u.name,width:`1em`,height:`1em`,fill:`currentColor`,"aria-hidden":`true`,...c,ref:l})};F.displayName=`IconReact`;function I(){return I=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{className:n,icon:r,spin:i,rotate:a,tabIndex:s,onClick:u,twoToneColor:d,...f}=e,{prefixCls:p=`anticon`,rootClassName:m}=o.useContext(l),h=c(m,p,{[`${p}-${r.name}`]:!!r.name,[`${p}-spin`]:!!i||r.name===`loading`},n),g=s;g===void 0&&u&&(g=-1);let _=a?{msTransform:`rotate(${a}deg)`,transform:`rotate(${a}deg)`}:void 0;return o.createElement(`span`,I({role:`img`,"aria-label":r.name},f,{ref:t,tabIndex:g,onClick:u,className:h}),o.createElement(F,{icon:r,style:_}))}),R=a(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z`}}]},name:`close-circle`,theme:`filled`}}))());function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,z({},e,{ref:t,icon:R.default}))),V=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z`}}]},name:`close`,theme:`outlined`}})),H=a(t()),U=i(),ee=a(V());function te(){return te=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,te({},e,{ref:t,icon:ee.default}))),W=e=>{let t=o.useRef(e);return t.current=e,o.useCallback((...e)=>t.current?.(...e),[])};function G(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}var re=G()?o.useLayoutEffect:o.useEffect,K=(e,t)=>{let n=o.useRef(!0);re(()=>e(n.current),t),re(()=>(n.current=!1,()=>{n.current=!0}),[])},q=(e,t)=>{K(t=>{if(!t)return e()},t)},ie=e=>{let t=o.useRef(!1),[n,r]=o.useState(e);o.useEffect(()=>(t.current=!1,()=>{t.current=!0}),[]);function i(e,n){n&&t.current||r(e)}return[n,i]};function ae(e,t){let[n,r]=(0,o.useState)(e),i=t===void 0?n:t;return K(e=>{e||r(t)},[t]),[i,r]}function oe(){return{...o}.useId}var J=0;function se(e,t){return`${e}-${String(t).replace(/[^a-zA-Z0-9_.:-]/g,`-`)}`}var ce=oe(),le=ce?function(e){let t=ce();return e||t}:function(e){let[t,n]=o.useState(`ssr-id`);return o.useEffect(()=>{let e=J;J+=1,n(`rc_unique_${e}`)},[]),e||t};function ue(e,t,n){let r=o.useRef({});return(!(`value`in r.current)||n(r.current.condition,t))&&(r.current.value=e(),r.current.condition=t),r.current.value}function de(e){let[,t]=o.useReducer(e=>e+1,0),n=o.useRef(e);return[W(()=>n.current),W(e=>{n.current=typeof e==`function`?e(n.current):e,t()})]}var fe=r((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.server_context`),l=Symbol.for(`react.forward_ref`),u=Symbol.for(`react.suspense`),d=Symbol.for(`react.suspense_list`),f=Symbol.for(`react.memo`),p=Symbol.for(`react.lazy`);function m(e){if(typeof e==`object`&&e){var m=e.$$typeof;switch(m){case t:switch(e=e.type,e){case r:case a:case i:case u:case d:return e;default:switch(e&&=e.$$typeof,e){case c:case s:case l:case p:case f:case o:return e;default:return m}}case n:return m}}}e.ForwardRef=l,e.isMemo=function(e){return m(e)===f}})),Y=r(((e,t)=>{t.exports=fe()}))(),X=Symbol.for(`react.element`),Z=Symbol.for(`react.transitional.element`),pe=Symbol.for(`react.fragment`);function me(e){return e&&typeof e==`object`&&(e.$$typeof===X||e.$$typeof===Z)&&e.type===pe}var he=Number(o.version.split(`.`)[0]),ge=(e,t)=>{typeof e==`function`?e(t):typeof e==`object`&&e&&`current`in e&&(e.current=t)},_e=(...e)=>{let t=e.filter(Boolean);return t.length<=1?t[0]:t=>{e.forEach(e=>{ge(e,t)})}},ve=(...e)=>ue(()=>_e(...e),e,(e,t)=>e.length!==t.length||e.every((e,n)=>e!==t[n])),ye=e=>{if(!e)return!1;if(be(e)&&he>=19)return!0;let t=(0,Y.isMemo)(e)?e.type.type:e.type;return!(typeof t==`function`&&!t.prototype?.render&&t.$$typeof!==Y.ForwardRef||typeof e==`function`&&!e.prototype?.render&&e.$$typeof!==Y.ForwardRef)};function be(e){return(0,o.isValidElement)(e)&&!me(e)}var Q=e=>be(e)&&ye(e),xe=e=>{if(e&&be(e)){let t=e;return t.props.propertyIsEnumerable(`ref`)?t.props.ref:t.ref}return null};function Se(e,t){if(!e)return!1;if(e.contains)return e.contains(t);let n=t;for(;n;){if(n===e)return!0;n=n.parentNode}return!1}var Ce=`data-rc-order`,we=`data-rc-priority`,Te=`rc-util-key`,Ee=new Map;function De({mark:e}={}){return e?e.startsWith(`data-`)?e:`data-${e}`:Te}function Oe(e){return e.attachTo?e.attachTo:document.querySelector(`head`)||document.body}function ke(e){return e===`queue`?`prependQueue`:e?`prepend`:`append`}function Ae(e){return Array.from((Ee.get(e)||e).children).filter(e=>e.tagName===`STYLE`)}function je(e,t={}){if(!G())return null;let{csp:n,prepend:r,priority:i=0}=t,a=ke(r),o=a===`prependQueue`,s=document.createElement(`style`);s.setAttribute(Ce,a),o&&i&&s.setAttribute(we,`${i}`),n?.nonce&&(s.nonce=n?.nonce),s.innerHTML=e;let c=Oe(t),{firstChild:l}=c;if(r){if(o){let e=(t.styles||Ae(c)).filter(e=>[`prepend`,`prependQueue`].includes(e.getAttribute(Ce))?i>=Number(e.getAttribute(we)||0):!1);if(e.length)return c.insertBefore(s,e[e.length-1].nextSibling),s}c.insertBefore(s,l)}else c.appendChild(s);return s}function Me(e,t={}){let{styles:n}=t;return n||=Ae(Oe(t)),n.find(n=>n.getAttribute(De(t))===e)}function Ne(e,t={}){let n=Me(e,t);n&&Oe(t).removeChild(n)}function Pe(e,t){let n=Ee.get(e);if(!n||!Se(document,n)){let n=je(``,t),{parentNode:r}=n;Ee.set(e,r),e.removeChild(n)}}function Fe(e,t,n={}){let r=Oe(n),i=Ae(r),a={...n,styles:i};Pe(r,a);let o=Me(t,a);if(o)return a.csp?.nonce&&o.nonce!==a.csp?.nonce&&(o.nonce=a.csp?.nonce),o.innerHTML!==e&&(o.innerHTML=e),o;let s=je(e,a);return s.setAttribute(De(a),t),s}function Ie(e){return e instanceof HTMLElement||e instanceof SVGElement}function Le(e){return e&&typeof e==`object`&&Ie(e.nativeElement)?e.nativeElement:Ie(e)?e:null}var Re=(e=>{if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){let{width:t,height:n}=e.getBBox();if(t||n)return!0}if(e.getBoundingClientRect){let{width:t,height:n}=e.getBoundingClientRect();if(t||n)return!0}}return!1});function ze(e,t=!1){if(Re(e)){let n=e.nodeName.toLowerCase(),r=[`input`,`select`,`textarea`,`button`].includes(n)||e.isContentEditable||n===`a`&&!!e.getAttribute(`href`),i=e.getAttribute(`tabindex`),a=Number(i),o=null;return i&&!Number.isNaN(a)?o=a:r&&o===null&&(o=0),r&&e.disabled&&(o=null),o!==null&&(o>=0||t&&o<0)}return!1}function Be(e,t=!1){let n=[...e.querySelectorAll(`*`)].filter(e=>ze(e,t));return ze(e,t)&&n.unshift(e),n}function Ve(e,t){if(!e)return;e.focus(t);let{cursor:n}=t||{};if(n&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)){let t=e.value.length;switch(n){case`start`:e.setSelectionRange(0,0);break;case`end`:e.setSelectionRange(t,t);break;default:e.setSelectionRange(0,t)}}}var He=null,Ue=[],We=new Map,Ge=new Map;function Ke(){return Ue[Ue.length-1]}function qe(e){let t=Ke();if(e&&t){let n;for(let[e,r]of We.entries())if(r===t){n=e;break}let r=Ge.get(n);return!!r&&(r===e||r.contains(e))}return!1}function Je(e){let{activeElement:t}=document;return e===t||e.contains(t)}function Ye(){let e=Ke(),{activeElement:t}=document;if(!qe(t))if(e&&!Je(e)){let t=Be(e);(t.includes(He)?He:t[0])?.focus({preventScroll:!0})}else He=t}function Xe(e){if(e.key===`Tab`){let{activeElement:t}=document,n=Be(Ke()),r=n[n.length-1];e.shiftKey&&t===n[0]?He=r:!e.shiftKey&&t===r&&(He=n[0])}}function Ze(e,t){return e&&(We.set(t,e),Ue=Ue.filter(t=>t!==e),Ue.push(e),window.addEventListener(`focusin`,Ye),window.addEventListener(`keydown`,Xe,!0),Ye()),()=>{He=null,Ue=Ue.filter(t=>t!==e),We.delete(t),Ge.delete(t),Ue.length===0&&(window.removeEventListener(`focusin`,Ye),window.removeEventListener(`keydown`,Xe,!0))}}function Qe(e,t){let n=(0,o.useRef)(0),[r,i]=(0,o.useState)(0);(0,o.useEffect)(()=>{n.current=0},t),(0,o.useEffect)(()=>{let[t,r]=e(n.current);return r||(n.current+=1,i(e=>e+1)),t},[...t,r])}function $e(e,t){let n=le(),r=(0,o.useRef)(t);return r.current=t,Qe(t=>{if(!e)return[void 0,!0];let i=r.current();return i?[Ze(i,n),!0]:[void 0,t>=1]},[n,e]),[e=>{e&&Ge.set(n,e)}]}function et(e){return e?.getRootNode?.()}function tt(e){return et(e)instanceof ShadowRoot}function nt(e){return tt(e)?et(e):null}var rt=e=>{if(G()&&window.document.documentElement){let t=Array.isArray(e)?e:[e],{documentElement:n}=window.document;return t.some(e=>e in n.style)}return!1},it=(e,t)=>{if(!rt(e))return!1;let n=document.createElement(`div`),r=n.style[e];return n.style[e]=t,n.style[e]!==r};function at(e,t){return!Array.isArray(e)&&t!==void 0?it(e,t):rt(e)}var $={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){let{keyCode:t}=e;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=$.F1&&t<=$.F12)return!1;switch(t){case $.ALT:case $.CAPS_LOCK:case $.CONTEXT_MENU:case $.CTRL:case $.DOWN:case $.END:case $.ESC:case $.HOME:case $.INSERT:case $.LEFT:case $.MAC_FF_META:case $.META:case $.NUMLOCK:case $.NUM_CENTER:case $.PAGE_DOWN:case $.PAGE_UP:case $.PAUSE:case $.PRINT_SCREEN:case $.RIGHT:case $.SHIFT:case $.UP:case $.WIN_KEY:case $.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=$.ZERO&&e<=$.NINE||e>=$.NUM_ZERO&&e<=$.NUM_MULTIPLY||e>=$.A&&e<=$.Z||window.navigator.userAgent.indexOf(`WebKit`)!==-1&&e===0)return!0;switch(e){case $.SPACE:case $.QUESTION_MARK:case $.NUM_PLUS:case $.NUM_MINUS:case $.NUM_PERIOD:case $.NUM_DIVISION:case $.SEMICOLON:case $.DASH:case $.EQUALS:case $.COMMA:case $.PERIOD:case $.SLASH:case $.APOSTROPHE:case $.SINGLE_QUOTE:case $.OPEN_SQUARE_BRACKET:case $.BACKSLASH:case $.CLOSE_SQUARE_BRACKET:return!0;default:return!1}},isEditableTarget:function(e){let t=e.target;if(!(t instanceof HTMLElement))return!1;let n=t.tagName;return!!(n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||t.isContentEditable)}},ot;function st(e){let t=`rc-scrollbar-measure-${Math.random().toString(36).substring(7)}`,n=document.createElement(`div`);n.id=t;let r=n.style;r.position=`absolute`,r.left=`0`,r.top=`0`,r.width=`100px`,r.height=`100px`,r.overflow=`scroll`;let i,a;if(e){let n=getComputedStyle(e);r.scrollbarColor=n.scrollbarColor,r.scrollbarWidth=n.scrollbarWidth;let o=getComputedStyle(e,`::-webkit-scrollbar`),s=parseInt(o.width,10),c=parseInt(o.height,10);try{Fe(` +#${t}::-webkit-scrollbar { +${s?`width: ${o.width};`:``} +${c?`height: ${o.height};`:``} +}`,t)}catch(e){console.error(e),i=s,a=c}}document.body.appendChild(n);let o=e&&i&&!Number.isNaN(i)?i:n.offsetWidth-n.clientWidth,s=e&&a&&!Number.isNaN(a)?a:n.offsetHeight-n.clientHeight;return document.body.removeChild(n),Ne(t),{width:o,height:s}}function ct(e){return typeof document>`u`?0:((e||ot===void 0)&&(ot=st()),ot.width)}function lt(e){return typeof document>`u`||!e||!(e instanceof Element)?{width:0,height:0}:st(e)}var ut={},dt=[],ft=e=>{dt.push(e)};function pt(e,t){}function mt(e,t){}function ht(){ut={}}function gt(e,t,n){!t&&!ut[n]&&(e(!1,n),ut[n]=!0)}function _t(e,t){gt(pt,e,t)}function vt(e,t){gt(mt,e,t)}_t.preMessage=ft,_t.resetWarned=ht,_t.noteOnce=vt;function yt(e,t,n=!1){let r=new Set;function i(e,t,a=1){let o=r.has(e);if(_t(!o,`Warning: There may be circular references`),o)return!1;if(e===t)return!0;if(n&&a>1)return!1;r.add(e);let s=a+1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;ni(e[n],t[n],s)):!1}return!1}return i(e,t)}var bt=a(r(((e,t)=>{t.exports=a,t.exports.isMobile=a,t.exports.default=a;var n=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|redmi|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,i=/android|ipad|playbook|silk/i;function a(e){e||={};let t=e.ua;if(!t&&typeof navigator<`u`&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[`user-agent`]==`string`&&(t=t.headers[`user-agent`]),typeof t!=`string`)return!1;let a=n.test(t)&&!r.test(t)||!!e.tablet&&i.test(t);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(`Macintosh`)!==-1&&t.indexOf(`Safari`)!==-1&&(a=!0),a}}))()),xt,St=()=>(xt===void 0&&(xt=(0,bt.default)()),xt);function Ct(e,t){let n=Object.assign({},e);return Array.isArray(t)&&t.forEach(e=>{delete n[e]}),n}var wt=`accept acceptCharset accessKey action allowFullScreen allowTransparency + alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge + charSet checked classID className colSpan cols content contentEditable contextMenu + controls coords crossOrigin data dateTime default defer dir disabled download draggable + encType form formAction formEncType formMethod formNoValidate formTarget frameBorder + headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity + is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media + mediaGroup method min minLength multiple muted name noValidate nonce open + optimum pattern placeholder poster preload radioGroup readOnly rel required + reversed role rowSpan rows sandbox scope scoped scrolling seamless selected + shape size sizes span spellCheck src srcDoc srcLang srcSet start step style + summary tabIndex target title type useMap value width wmode wrap onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown + onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick + onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown + onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel + onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough + onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`.split(/[\s\n]+/),Tt=`aria-`,Et=`data-`;function Dt(e,t){return e.indexOf(t)===0}function Ot(e,t=!1){let n;n=t===!1?{aria:!0,data:!0,attr:!0}:t===!0?{aria:!0}:{...t};let r={};return Object.keys(e).forEach(t=>{(n.aria&&(t===`role`||Dt(t,Tt))||n.data&&Dt(t,Et)||n.attr&&wt.includes(t))&&(r[t]=e[t])}),r}var kt=e=>+setTimeout(e,16),At=e=>clearTimeout(e);typeof window<`u`&&`requestAnimationFrame`in window&&(kt=e=>window.requestAnimationFrame(e),At=e=>window.cancelAnimationFrame(e));var jt=0,Mt=new Map;function Nt(e){Mt.delete(e)}var Pt=(e,t=1)=>{jt+=1;let n=jt;function r(t){if(t===0)Nt(n),e();else{let e=kt(()=>{r(t-1)});Mt.set(n,e)}}return r(t),n};Pt.cancel=e=>{let t=Mt.get(e);return Nt(e),At(t)};function Ft(e,t={}){let n=[];return o.Children.forEach(e,e=>{e==null&&!t.keepEmpty||(Array.isArray(e)?n=n.concat(Ft(e)):me(e)&&e.props?n=n.concat(Ft(e.props.children,t)):n.push(e))}),n}function It(...e){let t={};for(let n of e)if(n)for(let e of Object.keys(n))n[e]!==void 0&&(t[e]=n[e]);return t}function Lt(e,t){let n=e;for(let e=0;e`u`?Object.keys:Reflect.ownKeys;function Ut(e,t={}){let{prepareArray:n}=t,r=n||(()=>[]),i=Vt(e[0]);return e.forEach(e=>{function t(n,a){let o=new Set(a),s=Lt(e,n),c=Array.isArray(s);if(c||Bt(s)){if(!o.has(s)){o.add(s);let e=Lt(i,n);c?i=zt(i,n,r(e,s)):(!e||typeof e!=`object`)&&(i=zt(i,n,Vt(s))),Ht(s).forEach(e=>{Object.getOwnPropertyDescriptor(s,e).enumerable&&t([...n,e],o)})}}else i=zt(i,n,s)}t([])}),i}function Wt(...e){return Ut(e)}var Gt=`__rc_react_root__`;function Kt(e,t){let n=t[Gt]||(0,U.createRoot)(t);n.render(e),t[Gt]=n}async function qt(e){return Promise.resolve().then(()=>{e[Gt]?.unmount(),delete e[Gt]})}var Jt=o.createContext({}),Yt=e=>{let{children:t,...n}=e,r=o.useMemo(()=>({motion:n.motion}),[n.motion]);return o.createElement(Jt.Provider,{value:r},t)},Xt=`none`,Zt=`appear`,Qt=`enter`,$t=`leave`,en=`none`,tn=`prepare`,nn=`start`,rn=`active`,an=`prepared`;function on(e,t){let n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit${e}`]=`webkit${t}`,n[`Moz${e}`]=`moz${t}`,n[`ms${e}`]=`MS${t}`,n[`O${e}`]=`o${t.toLowerCase()}`,n}function sn(e,t){let n={animationend:on(`Animation`,`AnimationEnd`),transitionend:on(`Transition`,`TransitionEnd`)};return e&&(`AnimationEvent`in t||delete n.animationend.animation,`TransitionEvent`in t||delete n.transitionend.transition),n}var cn=sn(G(),typeof window<`u`?window:{}),ln={};G()&&({style:ln}=document.createElement(`div`));var un={};function dn(e){if(un[e])return un[e];let t=cn[e];if(t){let n=Object.keys(t),r=n.length;for(let i=0;ie[1].toUpperCase())]:`${e}-${t}`:null}var vn=(e=>{let t=(0,o.useRef)();function n(t){t&&(t.removeEventListener(gn,e),t.removeEventListener(hn,e))}function r(r){t.current&&t.current!==r&&n(t.current),r&&r!==t.current&&(r.addEventListener(gn,e),r.addEventListener(hn,e),t.current=r)}return o.useEffect(()=>()=>{n(t.current),t.current=null},[]),[r,n]}),yn=G()?o.useLayoutEffect:o.useEffect,bn=(()=>{let e=o.useRef(null);function t(){Pt.cancel(e.current)}function n(r,i=2){t();let a=Pt(()=>{i<=1?r({isCanceled:()=>a!==e.current}):n(r,i-1)});e.current=a}return o.useEffect(()=>()=>{t()},[]),[n,t]}),xn=[tn,nn,rn,`end`],Sn=[tn,an];function Cn(e){return e===`active`||e===`end`}var wn=((e,t,n)=>{let[r,i]=ie(en),[a,s]=bn();function c(){i(tn,!0)}let l=t?Sn:xn;return yn(()=>{if(r!==`none`&&r!==`end`){let e=l[l.indexOf(r)+1],t=n(r);t===!1?i(e,!0):e&&a(n=>{function r(){n.isCanceled()||i(e,!0)}t===!0?r():Promise.resolve(t).then(r)})}},[e,r]),o.useEffect(()=>()=>{s()},[]),[c,r]});function Tn(e,t,n,{motionEnter:r=!0,motionAppear:i=!0,motionLeave:a=!0,motionDeadline:s,motionLeaveImmediately:c,onAppearPrepare:l,onEnterPrepare:u,onLeavePrepare:d,onAppearStart:f,onEnterStart:p,onLeaveStart:m,onAppearActive:h,onEnterActive:g,onLeaveActive:_,onAppearEnd:v,onEnterEnd:y,onLeaveEnd:b,onVisibleChanged:x}){let[S,C]=o.useState(),[w,T]=de(Xt),[E,D]=o.useState([null,null]),O=w(),k=(0,o.useRef)(!1),A=(0,o.useRef)(null);function j(){return n()}let M=(0,o.useRef)(!1);function N(){T(Xt),D([null,null])}let P=W(e=>{let t=w();if(t===`none`)return;let n=j();if(e&&!e.deadline&&e.target!==n)return;let r=M.current,i;t===`appear`&&r?i=v?.(n,e):t===`enter`&&r?i=y?.(n,e):t===`leave`&&r&&(i=b?.(n,e)),r&&i!==!1&&N()}),[F]=vn(P),I=e=>{switch(e){case Zt:return{[tn]:l,[nn]:f,[rn]:h};case Qt:return{[tn]:u,[nn]:p,[rn]:g};case $t:return{[tn]:d,[nn]:m,[rn]:_};default:return{}}},L=o.useMemo(()=>I(O),[O]),[R,z]=wn(O,!e,e=>{if(e===`prepare`){let e=L[tn];return e?e(j()):!1}return e in L&&D([L[e]?.(j(),null)||null,e]),e===`active`&&O!==`none`&&(F(j()),s>0&&(clearTimeout(A.current),A.current=setTimeout(()=>{P({deadline:!0})},s))),e===`prepared`&&N(),!0});M.current=Cn(z);let B=(0,o.useRef)(null);yn(()=>{if(k.current&&B.current===t)return;C(t);let n=k.current;k.current=!0;let o;!n&&t&&i&&(o=Zt),n&&t&&r&&(o=Qt),(n&&!t&&a||!n&&c&&!t&&a)&&(o=$t);let s=I(o);o&&(e||s.prepare)?(T(o),R()):T(Xt),B.current=t},[t]),(0,o.useEffect)(()=>{(O===`appear`&&!i||O===`enter`&&!r||O===`leave`&&!a)&&T(Xt)},[i,r,a]),(0,o.useEffect)(()=>()=>{k.current=!1,clearTimeout(A.current)},[]);let V=o.useRef(!1);(0,o.useEffect)(()=>{S&&(V.current=!0),S!==void 0&&O===`none`&&((V.current||S)&&x?.(S),V.current=!0)},[S,O]);let H=E[0];L.prepare&&z===`start`&&(H={transition:`none`,...H});let U=E[1];return[w,z,H,S??t,!k.current&&O===`none`&&e&&i?`NONE`:z===`start`||z===`active`?U===z:!0]}function En(e){return e?.length<2}function Dn(e){let t=e;typeof e==`object`&&({transitionSupport:t}=e);function n(e,n){return!!(e.motionName&&t&&n!==!1)}let r=o.forwardRef((e,t)=>{let{visible:r=!0,removeOnLeave:i=!0,forceRender:a,children:s,motionName:l,leavedClassName:u,eventProps:d}=e,{motion:f}=o.useContext(Jt),p=n(e,f),m=(0,o.useRef)();function h(){return Le(m.current)}let[g,_,v,y,b]=Tn(p,r,h,e),x=g(),S=o.useRef(y);y&&(S.current=!0);let C=o.useMemo(()=>{let e={};return Object.defineProperties(e,{nativeElement:{enumerable:!0,get:h},inMotion:{enumerable:!0,get:()=>()=>g()!==Xt},enableMotion:{enumerable:!0,get:()=>()=>p}}),e},[]);o.useImperativeHandle(t,()=>C,[]);let w=o.useRef(0);b&&(w.current+=1);let T=o.useMemo(()=>{if(b===`NONE`)return null;let e,t={...d,visible:r};if(!s)e=null;else if(x===`none`)e=y?s({...t},m):!i&&S.current&&u?s({...t,className:u},m):a||!i&&!u?s({...t,style:{display:`none`}},m):null;else{let n;_===`prepare`?n=`prepare`:Cn(_)?n=`active`:_===`start`&&(n=`start`);let r=_n(l,`${x}-${n}`);e=s({...t,className:c(_n(l,x),{[r]:r&&n,[l]:typeof l==`string`}),style:v},m)}return e},[w.current]);if(En(s)&&Q(T)){let e=xe(T);if(e!==m)return o.cloneElement(T,{ref:_e(e,m)})}return T});return r.displayName=`CSSMotion`,r}var On=Dn(mn),kn=`keep`,An=`remove`,jn=`removed`;function Mn(e){let t;return t=e&&typeof e==`object`&&`key`in e?e:{key:e},{...t,key:String(t.key)}}function Nn(e=[]){return e.map(Mn)}function Pn(e=[],t=[]){let n=[],r=0,i=t.length,a=Nn(e),o=Nn(t);a.forEach(e=>{let t=!1;for(let a=r;a({...e,status:`add`}))),r=a),n.push({...i,status:kn}),r+=1,t=!0;break}}t||n.push({...e,status:An})}),r({...e,status:`add`}))));let s={};return n.forEach(({key:e})=>{s[e]=(s[e]||0)+1}),Object.keys(s).filter(e=>s[e]>1).forEach(e=>{n=n.filter(({key:t,status:n})=>t!==e||n!==`remove`),n.forEach(t=>{t.key===e&&(t.status=kn)})}),n}function Fn(){return Fn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let n=t.find(({key:t})=>e.key===t);return!(n&&n.status===`removed`&&e.status===`remove`)})}}removeKey=e=>{this.setState(t=>({keyEntities:t.keyEntities.map(t=>t.key===e?{...t,status:jn}:t)}),()=>{let{keyEntities:e}=this.state;e.filter(({status:e})=>e!==`removed`).length===0&&this.props.onAllRemoved&&this.props.onAllRemoved()})};render(){let{keyEntities:e}=this.state,{component:n,children:r,onVisibleChanged:i,onAllRemoved:a,...s}=this.props,c=n||o.Fragment,l={};return In.forEach(e=>{l[e]=s[e],delete s[e]}),delete s.keys,o.createElement(c,s,e.map(({status:e,...n},a)=>{let s=e===`add`||e===`keep`;return o.createElement(t,Fn({},l,{key:n.key,visible:s,eventProps:n,onVisibleChanged:e=>{i?.(e,{key:n.key}),e||this.removeKey(n.key)}}),En(r)?e=>r({...e,index:a}):(e,t)=>r({...e,index:a},t))}))}}return n}Ln(mn);var Rn=On;function zn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne!=null,Kn=e=>Gn(e)&&e!==!1&&e!==``,qn=e=>typeof e==`number`&&!Number.isNaN(e),Jn=e=>typeof e==`string`,Yn=e=>typeof e==`object`&&!!e,Xn=e=>typeof e==`function`,Zn=e=>Gn(e)&&Xn(e.then),Qn=e=>typeof e!=`object`&&!Xn(e)||e===null,$n=e=>Yn(e)&&`propertyName`in e&&Jn(e.propertyName),er=(e,t)=>{let n={...e};return Object.keys(t).forEach(e=>{t[e]._default?n[e]||(n[e]={}):n[e]=er(n[e],t[e])}),n},tr=(e={},...t)=>t.filter(e=>!!e).reduce((t,n)=>(Object.keys(n).forEach(r=>{let i=e[r],a=n[r];if(i)if(Yn(a))t[r]=tr(i,t[r],a);else{let{_default:e}=i;e&&(t[r]=t[r]||{},t[r][e]=c(t[r][e],a))}else t[r]=c(t[r],a)}),t),{}),nr=(e,...t)=>o.useMemo(()=>tr.apply(void 0,[e].concat(t)),[e].concat(t)),rr=(...e)=>e.filter(e=>!!e).reduce((e,t={})=>(Object.keys(t).forEach(n=>{e[n]={...e[n],...t[n]}}),e),{}),ir=(...e)=>o.useMemo(()=>rr.apply(void 0,e),[].concat(e)),ar=e=>o.useMemo(()=>e?{root:e}:void 0,[e]),or=(e,t)=>Xn(e)?e(t):e,sr=(e,t,n,r)=>{let i=e.map(e=>e?or(e,n):void 0),a=t.map(e=>e?or(e,n):void 0),s=nr.apply(void 0,[r].concat(Wn(i))),c=ir.apply(void 0,Wn(a));return o.useMemo(()=>r?[er(s,r),er(c,r)]:[s,c],[s,c,r])};function cr(){}var{resetWarned:lr}=_t,ur=o.createContext({}),dr=()=>{let e=()=>{};return e.deprecated=cr,e},fr=`anticon`,pr=[`outlined`,`borderless`,`filled`,`underlined`],mr=o.createContext({getPrefixCls:(e,t)=>t||(e?`ant-${e}`:`ant`),iconPrefixCls:fr}),{Consumer:hr}=mr,gr={};function _r(e){let t=o.useContext(mr),{getPrefixCls:n,direction:r,getPopupContainer:i,renderEmpty:a}=t;return{classNames:gr,styles:gr,...t[e],getPrefixCls:n,direction:r,getPopupContainer:i,renderEmpty:a}}function vr(e){for(var t=0,n,r=0,i=e.length;i>=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var yr=`%`;function br(e){return e.join(yr)}var xr=0,Sr=class{instanceId;constructor(e){this.instanceId=e}cache=new Map;updateTimes=new Map;extracted=new Set;get(e){return this.opGet(br(e))}opGet(e){return this.cache.get(e)||null}update(e,t){return this.opUpdate(br(e),t)}opUpdate(e,t){let n=t(this.cache.get(e));n===null?(this.cache.delete(e),this.updateTimes.delete(e)):(this.cache.set(e,n),this.updateTimes.set(e,xr),xr+=1)}},Cr=`data-token-hash`,wr=`data-css-hash`,Tr=`__cssinjs_instance__`;function Er(){let e=Math.random().toString(12).slice(2);if(typeof document<`u`&&document.head&&document.body){let t=document.body.querySelectorAll(`style[data-css-hash]`)||[],{firstChild:n}=document.head;Array.from(t).forEach(t=>{t[Tr]||=e,t.__cssinjs_instance__===e&&document.head.insertBefore(t,n)});let r={};Array.from(document.querySelectorAll(`style[${wr}]`)).forEach(t=>{let n=t.getAttribute(wr);r[n]?t.__cssinjs_instance__===e&&t.parentNode?.removeChild(t):r[n]=!0})}return new Sr(e)}var Dr=o.createContext({hashPriority:`low`,cache:Er(),defaultCache:!0,autoPrefix:!1});function Or(e,t){if(e.length!==t.length)return!1;for(let n=0;n{n=n?n?.map?.get(e):void 0}),n?.value&&t&&(n.value[1]=this.cacheCallTimes++),n?.value}get(e){return this.internalGet(e,!0)?.[0]}has(e){return!!this.internalGet(e)}set(t,n){if(!this.has(t)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){let[e]=this.keys.reduce((e,t)=>{let[,n]=e;return this.internalGet(t)[1]{if(i===t.length-1)r.set(e,{value:[n,this.cacheCallTimes++]});else{let t=r.get(e);t?t.map||=new Map:r.set(e,{map:new Map}),r=r.get(e).map}})}deleteByPath(e,t){let n=e.get(t[0]);if(t.length===1)return n.map?e.set(t[0],{map:n.map}):e.delete(t[0]),n.value?.[0];let r=this.deleteByPath(n.map,t.slice(1));return(!n.map||n.map.size===0)&&!n.value&&e.delete(t[0]),r}delete(e){if(this.has(e))return this.keys=this.keys.filter(t=>!Or(t,e)),this.deleteByPath(this.cache,e)}},Ar=0,jr=class{derivatives;id;constructor(e){this.derivatives=Array.isArray(e)?e:[e],this.id=Ar,e.length===0&&e.length,Ar+=1}getDerivativeToken(e){return this.derivatives.reduce((t,n)=>n(e,t),void 0)}},Mr=new kr;function Nr(e){let t=Array.isArray(e)?e:[e];return Mr.has(t)||Mr.set(t,new jr(t)),Mr.get(t)}var Pr=new WeakMap,Fr={};function Ir(e,t){let n=Pr;for(let e=0;e{let r=e[n];t+=n,r instanceof jr?t+=r.id:r&&typeof r==`object`?t+=Rr(r):t+=r}),t=vr(t),Lr.set(e,t)),t}function zr(e,t){return vr(`${t}_${Rr(e)}`)}`random-${Date.now()}-${Math.random()}`.replace(/\./g,``);var Br=G();function Vr(e){return typeof e==`number`?`${e}px`:e}function Hr(e){let{hashCls:t,hashPriority:n=`low`}=e||{};if(!t)return``;let r=`.${t}`;return n===`low`?`:where(${r})`:r}var Ur=e=>e!=null;function Wr(e,t){let n=typeof t==`function`?t():t;return n?{...e,csp:{...e.csp,nonce:n}}:e}var Gr=(e,t=``)=>`--${t?`${t}-`:``}${e}`.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,`$1-$2`).replace(/([a-z])([A-Z0-9])/g,`$1-$2`).toLowerCase(),Kr=(e,t,n)=>{let{hashCls:r,hashPriority:i=`low`,scope:a}=n||{};if(!Object.keys(e).length)return``;let o=`${Hr({hashCls:r,hashPriority:i})}.${t}`,s=[a].flat().filter(Boolean);return`${s.length?s.map(e=>`${o}.${e}`).join(`, `):o}{${Object.entries(e).map(([e,t])=>`${e}:${t};`).join(``)}}`},qr=(e,t,n)=>{let{hashCls:r,hashPriority:i=`low`,prefix:a,unitless:o,ignore:s,preserve:c}=n||{},l={},u={};return Object.entries(e).forEach(([e,t])=>{if(c?.[e])u[e]=t;else if((typeof t==`string`||typeof t==`number`)&&!s?.[e]){let n=Gr(e,a);l[n]=typeof t==`number`&&!o?.[e]?`${t}px`:String(t),u[e]=`var(${n})`}}),[u,Kr(l,t,{scope:n?.scope,hashCls:r,hashPriority:i})]},Jr=new Map;function Yr(e,t,n,r,i){let{cache:a}=o.useContext(Dr),s=br([e,...t]),c=e=>{a.opUpdate(s,t=>{let[r=0,i]=t||[void 0,void 0],a=[r,i||n()];return e?e(a):a})};o.useMemo(()=>{c()},[s]);let l=a.opGet(s)[1];return(0,o.useInsertionEffect)(()=>(c(([e,t])=>[e+1,t]),Jr.has(s)||(i?.(l),Jr.set(s,!0),Promise.resolve().then(()=>{Jr.delete(s)})),()=>{a.opUpdate(s,e=>{let[t=0,n]=e||[];return t-1==0?(r?.(n,!1),Jr.delete(s),null):[t-1,n]})}),[s]),l}var Xr={},Zr=`css`,Qr=new Map;function $r(e){Qr.set(e,(Qr.get(e)||0)+1)}function ei(e,t){typeof document<`u`&&document.querySelectorAll(`style[${Cr}="${e}"]`).forEach(e=>{e.__cssinjs_instance__===t&&e.parentNode?.removeChild(e)})}var ti=-1;function ni(e,t){Qr.set(e,(Qr.get(e)||0)-1);let n=new Set;Qr.forEach((e,t)=>{e<=0&&n.add(t)}),Qr.size-n.size>ti&&n.forEach(e=>{ei(e,t),Qr.delete(e)})}var ri=(e,t,n,r)=>{let i={...n.getDerivativeToken(e),...t};return r&&(i=r(i)),i},ii=`token`;function ai(e,t,n){let{cache:{instanceId:r},container:i,hashPriority:a}=(0,o.useContext)(Dr),{salt:s=``,override:c=Xr,formatToken:l,getComputedToken:u,cssVar:d,nonce:f}=n,p=Ir(()=>Object.assign({},...t),t),m=Rr(p),h=Rr(c),g=Rr(d);return Yr(ii,[s,e.id,m,h,g],()=>{let t=u?u(p,c,e):ri(p,c,e,l),n={...t},r=`${s}_${d.prefix}`,i=vr(r),o=`${Zr}-${i}`;n._tokenKey=zr(n,r);let[f,m]=qr(t,d.key,{prefix:d.prefix,ignore:d.ignore,unitless:d.unitless,preserve:d.preserve,hashPriority:a,hashCls:d.hashed?o:void 0});return f._hashId=i,$r(d.key),[f,o,n,m,d.key]},([,,,,e])=>{ni(e,r)},([,,,e,t])=>{if(!e)return;let n={mark:wr,prepend:`queue`,attachTo:i,priority:-999};n=Wr(n,f);let a=Fe(e,vr(`css-var-${t}`),n);a[Tr]=r,a.setAttribute(Cr,t)})}var oi={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},si=`-ms-`,ci=`-moz-`,li=`-webkit-`,ui=`comm`,di=`rule`,fi=`decl`,pi=`@import`,mi=`@namespace`,hi=`@keyframes`,gi=`@layer`,_i=Math.abs,vi=String.fromCharCode,yi=Object.assign;function bi(e,t){return Ti(e,0)^45?(((t<<2^Ti(e,0))<<2^Ti(e,1))<<2^Ti(e,2))<<2^Ti(e,3):0}function xi(e){return e.trim()}function Si(e,t){return(e=t.exec(e))?e[0]:e}function Ci(e,t,n){return e.replace(t,n)}function wi(e,t){return e.indexOf(t)}function Ti(e,t){return e.charCodeAt(t)|0}function Ei(e,t,n){return e.slice(t,n)}function Di(e){return e.length}function Oi(e){return e.length}function ki(e,t){return t.push(e),e}function Ai(e,t){return e.map(t).join(``)}function ji(e,t){return e.filter(function(e){return!Si(e,t)})}var Mi=1,Ni=1,Pi=0,Fi=0,Ii=0,Li=``;function Ri(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:Mi,column:Ni,length:o,return:``,siblings:s}}function zi(e,t){return yi(Ri(``,null,null,``,null,null,0,e.siblings),e,{length:-e.length},t)}function Bi(e){for(;e.root;)e=zi(e.root,{children:[e]});ki(e,e.siblings)}function Vi(){return Ii}function Hi(){return Ii=Fi>0?Ti(Li,--Fi):0,Ni--,Ii===10&&(Ni=1,Mi--),Ii}function Ui(){return Ii=Fi2||qi(Ii)>3?``:` `}function Qi(e,t){for(;--t&&Ui()&&!(Ii<48||Ii>102||Ii>57&&Ii<65||Ii>70&&Ii<97););return Ki(e,Gi()+(t<6&&Wi()==32&&Ui()==32))}function $i(e){for(;Ui();)switch(Ii){case e:return Fi;case 34:case 39:e!==34&&e!==39&&$i(Ii);break;case 40:e===41&&$i(e);break;case 92:Ui();break}return Fi}function ea(e,t){for(;Ui()&&e+Ii!==57&&!(e+Ii===84&&Wi()===47););return`/*`+Ki(t,Fi-1)+`*`+vi(e===47?e:Ui())}function ta(e){for(;!qi(Wi());)Ui();return Ki(e,Fi)}function na(e){return Yi(ra(``,null,null,null,[``],e=Ji(e),0,[0],e))}function ra(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=0,b=``,x=i,S=a,C=r,w=b;g;)switch(m=y,y=Ui()){case 40:m!=108&&Ti(w,d-1)==58?(v++,w+=`(`):w+=Xi(y);break;case 41:v--,w+=`)`;break;case 34:case 39:case 91:w+=Xi(y);break;case 9:case 10:case 13:case 32:if(v>0){w+=vi(y);break}w+=Zi(m);break;case 92:w+=Qi(Gi()-1,7);continue;case 47:switch(Wi()){case 42:case 47:ki(aa(ea(Ui(),Gi()),t,n,c),c),(qi(m||1)==5||qi(Wi()||1)==5)&&Di(w)&&Ei(w,-1,void 0)!==` `&&(w+=` `);break;default:w+=`/`}break;case 123*h:s[l++]=Di(w)*_;case 125*h:case 59:case 0:if(v>0&&y){w+=vi(y);break}switch(y){case 0:case 125:g=0;case 59+u:_==-1&&(w=Ci(w,/\f/g,``)),p>0&&(Di(w)-d||h===0)&&ki(p>32?oa(w+`;`,r,n,d-1,c):oa(Ci(w,` `,``)+`;`,r,n,d-2,c),c);break;case 59:w+=`;`;default:if(ki(C=ia(w,t,n,l,u,i,s,b,x=[],S=[],d,a),a),y===123)if(u===0)ra(w,t,C,C,x,a,d,s,S);else{switch(f){case 99:if(Ti(w,3)===110)break;case 108:if(Ti(w,2)===97)break;default:u=0;case 100:case 109:case 115:}u?ra(e,C,C,r&&ki(ia(e,C,C,0,0,i,s,b,i,x=[],d,S),S),i,S,d,s,r?x:S):ra(w,C,C,C,[``],S,0,s,S)}}l=u=p=0,h=_=1,b=w=``,d=o;break;case 58:d=1+Di(w),p=m;default:if(h<1){if(y==123)--h;else if(y==125&&h++==0&&Hi()==125)continue}switch(w+=vi(y),y*h){case 38:_=u>0?1:(w+=`\f`,-1);break;case 44:if(v>0)break;s[l++]=(Di(w)-1)*_,_=1;break;case 64:Wi()===45&&(w+=Xi(Ui())),f=Wi(),u=d=Di(b=w+=ta(Gi())),y++;break;case 45:m===45&&Di(w)==2&&(h=0)}}return a}function ia(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=Oi(p),h=0,g=0,_=0;h0?p[v]+` `+y:Ci(y,/&\f/g,p[v])))&&(c[_++]=b);return Ri(e,t,n,i===0?di:s,c,l,u,d)}function aa(e,t,n,r){return Ri(e,t,n,ui,vi(Vi()),Ei(e,2,-2),0,r)}function oa(e,t,n,r,i){return Ri(e,t,n,fi,Ei(e,0,r),Ei(e,r+1,-1),r,i)}function sa(e,t,n){switch(bi(e,t)){case 5103:return li+`print-`+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:case 6391:case 5879:case 5623:case 6135:case 4599:return li+e+e;case 4855:return li+e.replace(`add`,`source-over`).replace(`substract`,`source-out`).replace(`intersect`,`source-in`).replace(`exclude`,`xor`)+e;case 4789:return ci+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return li+e+ci+e+si+e+e;case 5936:switch(Ti(e,t+11)){case 114:return li+e+si+Ci(e,/[svh]\w+-[tblr]{2}/,`tb`)+e;case 108:return li+e+si+Ci(e,/[svh]\w+-[tblr]{2}/,`tb-rl`)+e;case 45:return li+e+si+Ci(e,/[svh]\w+-[tblr]{2}/,`lr`)+e}case 6828:case 4268:case 2903:return li+e+si+e+e;case 6165:return li+e+si+`flex-`+e+e;case 5187:return li+e+Ci(e,/(\w+).+(:[^]+)/,li+`box-$1$2`+si+`flex-$1$2`)+e;case 5443:return li+e+si+`flex-item-`+Ci(e,/flex-|-self/g,``)+(Si(e,/flex-|baseline/)?``:si+`grid-row-`+Ci(e,/flex-|-self/g,``))+e;case 4675:return li+e+si+`flex-line-pack`+Ci(e,/align-content|flex-|-self/g,``)+e;case 5548:return li+e+si+Ci(e,`shrink`,`negative`)+e;case 5292:return li+e+si+Ci(e,`basis`,`preferred-size`)+e;case 6060:return li+`box-`+Ci(e,`-grow`,``)+li+e+si+Ci(e,`grow`,`positive`)+e;case 4554:return li+Ci(e,/([^-])(transform)/g,`$1`+li+`$2`)+e;case 6187:return Ci(Ci(Ci(e,/(zoom-|grab)/,li+`$1`),/(image-set)/,li+`$1`),e,``)+e;case 5495:case 3959:return Ci(e,/(image-set\([^]*)/,li+"$1$`$1");case 4968:return Ci(Ci(e,/(.+:)(flex-)?(.*)/,li+`box-pack:$3`+si+`flex-pack:$3`),/space-between/,`justify`)+li+e+e;case 4200:if(!Si(e,/flex-|baseline/))return si+`grid-column-align`+Ei(e,t)+e;break;case 2592:case 3360:return si+Ci(e,`template-`,``)+e;case 4384:case 3616:return n&&n.some(function(e,n){return t=n,Si(e.props,/grid-\w+-end/)})?~wi(e+(n=n[t].value),`span`)?e:si+Ci(e,`-start`,``)+e+si+`grid-row-span:`+(~wi(n,`span`)?Si(n,/\d+/):Si(n,/\d+/)-+Si(e,/\d+/))+`;`:si+Ci(e,`-start`,``)+e;case 4896:case 4128:return n&&n.some(function(e){return Si(e.props,/grid-\w+-start/)})?e:si+Ci(Ci(e,`-end`,`-span`),`span `,``)+e;case 4095:case 3583:case 4068:case 2532:return Ci(e,/(.+)-inline(.+)/,li+`$1$2`)+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Di(e)-1-t>6)switch(Ti(e,t+1)){case 109:if(Ti(e,t+4)!==45)break;case 102:return Ci(e,/(.+:)(.+)-([^]+)/,`$1`+li+`$2-$3$1`+ci+(Ti(e,t+3)==108?`$3`:`$2-$3`))+e;case 115:return~wi(e,`stretch`)?sa(Ci(e,`stretch`,`fill-available`),t,n)+e:e}break;case 5152:case 5920:return Ci(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(t,n,r,i,a,o,s){return si+n+`:`+r+s+(i?si+n+`-span:`+(a?o:o-+r)+s:``)+e});case 4949:if(Ti(e,t+6)===121)return Ci(e,`:`,`:`+li)+e;break;case 6444:switch(Ti(e,Ti(e,14)===45?18:11)){case 120:return Ci(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,`$1`+li+(Ti(e,14)===45?`inline-`:``)+`box$3$1`+li+`$2$3$1`+si+`$2box$3`)+e;case 100:return Ci(e,`:`,`:`+si)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Ci(e,`scroll-`,`scroll-snap-`)+e}return e}function ca(e,t){for(var n=``,r=0;r-1&&!e.return)switch(e.type){case fi:e.return=sa(e.value,e.length,n);return;case hi:return ca([zi(e,{value:Ci(e.value,`@`,`@`+li)})],r);case di:if(e.length)return Ai(n=e.props,function(t){switch(Si(t,r=/(::plac\w+|:read-\w+)/)){case`:read-only`:case`:read-write`:Bi(zi(e,{props:[Ci(t,/:(read-\w+)/,`:`+ci+`$1`)]})),Bi(zi(e,{props:[t]})),yi(e,{props:ji(n,r)});break;case`::placeholder`:Bi(zi(e,{props:[Ci(t,/:(plac\w+)/,`:`+li+`input-$1`)]})),Bi(zi(e,{props:[Ci(t,/:(plac\w+)/,`:`+ci+`$1`)]})),Bi(zi(e,{props:[Ci(t,/:(plac\w+)/,si+`input-$1`)]})),Bi(zi(e,{props:[t]})),yi(e,{props:ji(n,r)});break}return``})}}var fa=`data-ant-cssinjs-cache-path`,pa=`_FILE_STYLE__`,ma,ha=!0;function ga(){if(!ma&&(ma={},G())){let e=document.createElement(`div`);e.className=fa,e.style.position=`fixed`,e.style.visibility=`hidden`,e.style.top=`-9999px`,document.body.appendChild(e);let t=getComputedStyle(e).content||``;t=t.replace(/^"/,``).replace(/"$/,``),t.split(`;`).forEach(e=>{let[t,n]=e.split(`:`);ma[t]=n});let n=document.querySelector(`style[${fa}]`);n&&(ha=!1,n.parentNode?.removeChild(n)),document.body.removeChild(e)}}function _a(e){return ga(),!!ma[e]}function va(e){let t=ma[e],n=null;if(t&&G())if(ha)n=pa;else{let t=document.querySelector(`style[${wr}="${ma[e]}"]`);t?n=t.innerHTML:delete ma[e]}return[n,t]}var ya=`_skip_check_`,ba=`_multi_value_`;function xa(e,t){return(t?ca(na(e),ua([da,la])):ca(na(e),la)).replace(/\{%%%\:[^;];}/g,`;`)}function Sa(e){return typeof e==`object`&&e&&(ya in e||ba in e)}function Ca(e,t,n=`high`){if(!t)return e;let r=Hr({hashCls:t,hashPriority:n});return e.split(`,`).map(e=>{let t=e.trim().split(/\s+/),n=t[0]||``,i=n.match(/^\w+/)?.[0]||``;return n=`${i}${r}${n.slice(i.length)}`,[n,...t.slice(1)].join(` `)}).join(`,`)}var wa=(e,t={},{root:n,injectHash:r,parentSelectors:i}={root:!0,parentSelectors:[]})=>{let{hashId:a,layer:o,path:s,hashPriority:c,transformers:l=[],linters:u=[]}=t,d=``,f={};function p(e){let n=e.getName(a);if(!f[n]){let[r]=wa(e.style,t,{root:!1,parentSelectors:i});f[n]=`@keyframes ${e.getName(a)}${r}`}}function m(e,t=[]){return e.forEach(e=>{Array.isArray(e)?m(e,t):e&&t.push(e)}),t}return m(Array.isArray(e)?e:[e]).forEach(e=>{let o=typeof e==`string`&&!n?{}:e;if(typeof o==`string`)d+=`${o}\n`;else if(o._keyframe)p(o);else{let e=l.reduce((e,t)=>t?.visit?.(e)||e,o);Object.keys(e).forEach(o=>{let s=e[o];if(typeof s==`object`&&s&&(o!==`animationName`||!s._keyframe)&&!Sa(s)){let e=!1,l=o.trim(),u=!1;(n||r)&&a?l.startsWith(`@`)?e=!0:l=Ca(l===`&`?``:o,a,c):n&&!a&&(l===`&`||l===``)&&(l=``,u=!0);let[p,m]=wa(s,t,{root:u,injectHash:e,parentSelectors:[...i,l]});f={...f,...m},d+=`${l}${p}`}else{function e(e,t){let n=e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),r=t;!oi[e]&&typeof r==`number`&&r!==0&&(r=`${r}px`),e===`animationName`&&t?._keyframe&&(p(t),r=t.getName(a)),d+=`${n}:${r};`}let t=s?.value??s;typeof s==`object`&&s?.[ba]&&Array.isArray(t)?t.forEach(t=>{e(o,t)}):Ur(t)&&e(o,t)}})}}),n?o&&(d&&=`@layer ${o.name} {${d}}`,o.dependencies&&(f[`@layer ${o.name}`]=o.dependencies.map(e=>`@layer ${e}, ${o.name};`).join(` +`))):d=`{${d}}`,[d,f]};function Ta(e,t){return vr(`${e.join(`%`)}${t}`)}var Ea=`style`;function Da(e,t){let{path:n,hashId:r,layer:i,nonce:a,clientOnly:s,order:c=0}=e,{mock:l,hashPriority:u,container:d,transformers:f,linters:p,cache:m,layer:h,autoPrefix:g}=o.useContext(Dr),_=[r||``];h&&_.push(`layer`),_.push(...n);let v=Br;Yr(Ea,_,()=>{let e=_.join(`|`);if(_a(e)){let[t,n]=va(e);if(t)return[t,n,{},s,c]}let[a,o]=wa(t(),{hashId:r,hashPriority:u,layer:h?i:void 0,path:n.join(`-`),transformers:f,linters:p}),l=xa(a,g||!1);return[l,Ta(_,l),o,s,c]},(e,t)=>{let[,n]=e;t&&Br&&Ne(n,{mark:wr,attachTo:d})},e=>{let[t,n,r,,i]=e;if(v&&t!==`_FILE_STYLE__`){let e={mark:wr,prepend:h?!1:`queue`,attachTo:d,priority:i};e=Wr(e,a);let o=[],s=[];Object.keys(r).forEach(e=>{e.startsWith(`@layer`)?o.push(e):s.push(e)}),o.forEach(t=>{Fe(xa(r[t],g||!1),`_layer-${t}`,{...e,prepend:!0})});let c=Fe(t,n,e);c[Tr]=m.instanceId,s.forEach(t=>{Fe(xa(r[t],g||!1),`_effect-${t}`,e)})}})}var Oa=`cssVar`,ka=(e,t)=>{let{key:n,prefix:r,unitless:i,ignore:a,token:s,hashId:c,scope:l,nonce:u}=e,{cache:{instanceId:d},container:f,hashPriority:p}=(0,o.useContext)(Dr),{_tokenKey:m}=s,h=Array.isArray(l)?l.join(`@@`):l,g=[...e.path,n,h,m];return Yr(Oa,g,()=>{let[e,o]=qr(t(),n,{prefix:r,unitless:i,ignore:a,scope:l,hashPriority:p,hashCls:c});return[e,o,Ta(g,o),n]},([,,e])=>{Br&&Ne(e,{mark:wr,attachTo:f})},([,e,t])=>{if(!e)return;let r={mark:wr,prepend:`queue`,attachTo:f,priority:-999};r=Wr(r,u);let i=Fe(e,t,r);i[Tr]=d,i.setAttribute(Cr,n)})},Aa=class{name;style;constructor(e,t){this.name=e,this.style=t}getName(e=``){return e?`${e}-${this.name}`:this.name}_keyframe=!0};function ja(e){return e.notSplit=!0,e}ja([`borderTop`,`borderBottom`]),ja([`borderTop`]),ja([`borderBottom`]),ja([`borderLeft`,`borderRight`]),ja([`borderLeft`]),ja([`borderRight`]);var Ma={overflow:`hidden`,whiteSpace:`nowrap`,textOverflow:`ellipsis`},Na=(e,t=!1)=>({boxSizing:`border-box`,margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:`none`,fontFamily:t?`inherit`:e.fontFamily}),Pa=()=>({display:`inline-flex`,alignItems:`center`,color:`inherit`,fontStyle:`normal`,lineHeight:0,textAlign:`center`,textTransform:`none`,verticalAlign:`-0.125em`,textRendering:`optimizeLegibility`,"-webkit-font-smoothing":`antialiased`,"-moz-osx-font-smoothing":`grayscale`,"> *":{lineHeight:1},svg:{display:`inline-block`}}),Fa=new Aa(`loadingCircle`,{"100%":{transform:`rotate(360deg)`}}),Ia=()=>({"&::before":{display:`table`,content:`""`},"&::after":{display:`table`,clear:`both`,content:`""`}}),La=(e,t)=>({outline:`${Vr(e.lineWidthFocus)} solid ${e.colorPrimaryBorder}`,outlineOffset:t??1,transition:[`outline-offset`,`outline`].map(e=>`${e} 0s`).join(`, `)}),Ra=(e,t)=>({"&:focus-visible":La(e,t)}),za=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:`transparent`,outline:`none`,cursor:`pointer`,transition:`color ${e.motionDurationSlow}`,"-webkit-text-decoration-skip":`objects`,"&:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive},"&:active, &:hover":{textDecoration:e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:e.linkFocusDecoration,outline:0},...Ra(e),"&[disabled]":{color:e.colorTextDisabled,cursor:`not-allowed`}}}),Ba=(e,t,n,r)=>{let i=`[class^="${t}"], [class*=" ${t}"]`,a=n?`.${n}`:i,o={boxSizing:`border-box`,"&::before, &::after":{boxSizing:`border-box`}},s={};return r!==!1&&(s={fontFamily:e.fontFamily,fontSize:e.fontSize}),{[a]:{...s,...o,[i]:o}}},Va=e=>({[`.${e}`]:{...Pa(),[`.${e} .${e}-icon`]:{display:`block`}},[`.${e}-spin`]:{animationName:Fa,animationDuration:`1s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`}}),Ha=e=>({color:e.colorLink,textDecoration:e.linkDecoration,outline:`none`,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`,border:0,padding:0,background:`none`,userSelect:`none`,...Ra(e),"&:hover":{color:e.colorLinkHover,textDecoration:e.linkHoverDecoration},"&:focus":{color:e.colorLinkHover,textDecoration:e.linkFocusDecoration},"&:active":{color:e.colorLinkActive,textDecoration:e.linkHoverDecoration}});function Ua(e){"@babel/helpers - typeof";return Ua=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ua(e)}function Wa(e){if(Array.isArray(e))return e}function Ga(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Ka(){throw TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qa(e,t){return Wa(e)||Ga(e,t)||Hn(e,t)||Ka()}function Ja(e,t){if(Ua(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Ua(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ya(e){var t=Ja(e,`string`);return Ua(t)==`symbol`?t:t+``}function Xa(e,t,n){return(t=Ya(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Za(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Qa(e){for(var t=1;t1e4){var t=Date.now();this.lastAccessBeat.forEach(function(n,r){t-n>Do&&(e.map.delete(r),e.lastAccessBeat.delete(r))}),this.accessBeat=0}}}]),e}());function ko(e,t){return o.useMemo(function(){var n=Oo.get(t);if(n)return n;var r=e();return Oo.set(t,r),r},t)}var Ao=function(){return{}};function jo(e){var t=e.useCSP,n=t===void 0?Ao:t,r=e.useToken,i=e.usePrefix,a=e.getResetStyles,s=e.getCommonStyle,c=e.getCompUnitless;function l(e,t,n,r){var i=Array.isArray(e)?e[0]:e;function a(e){return`${String(i)}${e.slice(0,1).toUpperCase()}${e.slice(1)}`}var o=r?.unitless||{},s=Qa(Qa({},typeof c==`function`?c(e):{}),{},Xa({},a(`zIndexPopup`),!0));Object.keys(o).forEach(function(e){s[a(e)]=o[e]});var l=Qa(Qa({},r),{},{unitless:s,prefixToken:a}),f=d(e,t,n,l),p=u(i,n,l);return function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=f(e,t),i=r?.extraCssVarPrefixCls,a=typeof i==`function`?i({prefixCls:e,rootCls:t}):i;return[n,p(a!=null&&a.length?[t].concat(Wn(a)):t)]}}function u(e,t,i){var a=i.unitless,o=i.prefixToken,s=i.ignore;return function(c){var l=r(),u=l.cssVar,d=l.realToken,f=n();return ka({path:[e],prefix:u.prefix,key:u.key,unitless:a,ignore:s,token:d,scope:c,nonce:function(){return f.nonce}},function(){var n=To(e,d,t),r=vo(e,d,n,{deprecatedTokens:i?.deprecatedTokens});return n&&Object.keys(n).forEach(function(e){r[o(e)]=r[e],delete r[e]}),r}),u?.key}}function d(t,c,l){var u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},d=Array.isArray(t)?t:[t,t],f=qa(d,1)[0],p=d.join(`-`),m=e.layer||{name:`antd`};return function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,d=r(),h=d.theme,g=d.realToken,_=d.hashId,v=d.token,y=d.cssVar,b=d.zeroRuntime;if((0,o.useMemo)(function(){return b},[]))return _;var x=i(),S=x.rootPrefixCls,C=x.iconPrefixCls,w=n(),T=`css`,E=ko(function(){var e=new Set;return Object.keys(u.unitless||{}).forEach(function(t){e.add(Gr(t,y.prefix)),e.add(Gr(t,_o(f,y.prefix)))}),go(T,e)},[T,f,y?.prefix]),D=Eo(T),O=D.max,k=D.min,A={theme:h,token:v,hashId:_,nonce:function(){return w.nonce},clientOnly:u.clientOnly,layer:m,order:u.order||-999};return typeof a==`function`&&Da(Qa(Qa({},A),{},{clientOnly:!1,path:[`Shared`,S]}),function(){return a(v,{prefix:{rootPrefixCls:S,iconPrefixCls:C},csp:w})}),Da(Qa(Qa({},A),{},{path:[p,e,C]}),function(){if(u.injectStyle===!1)return[];var n=wo(v),r=n.token,i=n.flush,a=To(f,g,l),o=`.${e}`,d=vo(f,g,a,{deprecatedTokens:u.deprecatedTokens});a&&Ua(a)===`object`&&Object.keys(a).forEach(function(e){a[e]=`var(${Gr(e,_o(f,y.prefix))})`});var p=xo(r,{componentCls:o,prefixCls:e,iconCls:`.${C}`,antCls:`.${S}`,calc:E,max:O,min:k},a),m=c(p,{hashId:_,prefixCls:e,rootPrefixCls:S,iconPrefixCls:C});i(f,d);var h=typeof s==`function`?s(p,e,t,u.resetFont):null;return[u.resetStyle===!1?null:h,m]}),_}}function f(e,t,n){var r=d(e,t,n,Qa({resetStyle:!1,order:-998},arguments.length>3&&arguments[3]!==void 0?arguments[3]:{}));return function(e){var t=e.prefixCls,n=e.rootCls;return r(t,n===void 0?t:n),null}}return{genStyleHooks:l,genSubStyleComponent:f,genComponentStyleHook:d}}function Mo(e){return(e+8)/e}function No(e){let t=Array.from({length:10}).map((t,n)=>{let r=n-1,i=e*Math.E**(r/5);return Math.floor((n>1?Math.floor(i):Math.ceil(i))/2)*2});return t[1]=e,t.map(e=>({size:e,lineHeight:Mo(e)}))}var Po=`6.5.0`,Fo={blue:`#1677FF`,purple:`#722ED1`,cyan:`#13C2C2`,green:`#52C41A`,magenta:`#EB2F96`,pink:`#EB2F96`,red:`#F5222D`,orange:`#FA8C16`,yellow:`#FADB14`,volcano:`#FA541C`,geekblue:`#2F54EB`,gold:`#FAAD14`,lime:`#A0D911`},Io={...Fo,colorPrimary:`#1677ff`,colorSuccess:`#52c41a`,colorWarning:`#faad14`,colorError:`#ff4d4f`,colorInfo:`#1677ff`,colorLink:``,colorTextBase:``,colorBgBase:``,fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, +'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', +'Noto Color Emoji'`,fontFamilyCode:`'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace`,fontSize:14,lineWidth:1,lineType:`solid`,motionUnit:.1,motionBase:0,motionEaseOutCirc:`cubic-bezier(0.08, 0.82, 0.17, 1)`,motionEaseInOutCirc:`cubic-bezier(0.78, 0.14, 0.15, 0.86)`,motionEaseOut:`cubic-bezier(0.215, 0.61, 0.355, 1)`,motionEaseInOut:`cubic-bezier(0.645, 0.045, 0.355, 1)`,motionEaseOutBack:`cubic-bezier(0.12, 0.4, 0.29, 1.46)`,motionEaseInBack:`cubic-bezier(0.71, -0.46, 0.88, 0.6)`,motionEaseInQuint:`cubic-bezier(0.755, 0.05, 0.855, 0.06)`,motionEaseOutQuint:`cubic-bezier(0.23, 1, 0.32, 1)`,borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0},Lo={aliceblue:`9ehhb`,antiquewhite:`9sgk7`,aqua:`1ekf`,aquamarine:`4zsno`,azure:`9eiv3`,beige:`9lhp8`,bisque:`9zg04`,black:`0`,blanchedalmond:`9zhe5`,blue:`73`,blueviolet:`5e31e`,brown:`6g016`,burlywood:`8ouiv`,cadetblue:`3qba8`,chartreuse:`4zshs`,chocolate:`87k0u`,coral:`9yvyo`,cornflowerblue:`3xael`,cornsilk:`9zjz0`,crimson:`8l4xo`,cyan:`1ekf`,darkblue:`3v`,darkcyan:`rkb`,darkgoldenrod:`776yz`,darkgray:`6mbhl`,darkgreen:`jr4`,darkgrey:`6mbhl`,darkkhaki:`7ehkb`,darkmagenta:`5f91n`,darkolivegreen:`3bzfz`,darkorange:`9yygw`,darkorchid:`5z6x8`,darkred:`5f8xs`,darksalmon:`9441m`,darkseagreen:`5lwgf`,darkslateblue:`2th1n`,darkslategray:`1ugcv`,darkslategrey:`1ugcv`,darkturquoise:`14up`,darkviolet:`5rw7n`,deeppink:`9yavn`,deepskyblue:`11xb`,dimgray:`442g9`,dimgrey:`442g9`,dodgerblue:`16xof`,firebrick:`6y7tu`,floralwhite:`9zkds`,forestgreen:`1cisi`,fuchsia:`9y70f`,gainsboro:`8m8kc`,ghostwhite:`9pq0v`,goldenrod:`8j4f4`,gold:`9zda8`,gray:`50i2o`,green:`pa8`,greenyellow:`6senj`,grey:`50i2o`,honeydew:`9eiuo`,hotpink:`9yrp0`,indianred:`80gnw`,indigo:`2xcoy`,ivory:`9zldc`,khaki:`9edu4`,lavenderblush:`9ziet`,lavender:`90c8q`,lawngreen:`4vk74`,lemonchiffon:`9zkct`,lightblue:`6s73a`,lightcoral:`9dtog`,lightcyan:`8s1rz`,lightgoldenrodyellow:`9sjiq`,lightgray:`89jo3`,lightgreen:`5nkwg`,lightgrey:`89jo3`,lightpink:`9z6wx`,lightsalmon:`9z2ii`,lightseagreen:`19xgq`,lightskyblue:`5arju`,lightslategray:`4nwk9`,lightslategrey:`4nwk9`,lightsteelblue:`6wau6`,lightyellow:`9zlcw`,lime:`1edc`,limegreen:`1zcxe`,linen:`9shk6`,magenta:`9y70f`,maroon:`4zsow`,mediumaquamarine:`40eju`,mediumblue:`5p`,mediumorchid:`79qkz`,mediumpurple:`5r3rv`,mediumseagreen:`2d9ip`,mediumslateblue:`4tcku`,mediumspringgreen:`1di2`,mediumturquoise:`2uabw`,mediumvioletred:`7rn9h`,midnightblue:`z980`,mintcream:`9ljp6`,mistyrose:`9zg0x`,moccasin:`9zfzp`,navajowhite:`9zest`,navy:`3k`,oldlace:`9wq92`,olive:`50hz4`,olivedrab:`472ub`,orange:`9z3eo`,orangered:`9ykg0`,orchid:`8iu3a`,palegoldenrod:`9bl4a`,palegreen:`5yw0o`,paleturquoise:`6v4ku`,palevioletred:`8k8lv`,papayawhip:`9zi6t`,peachpuff:`9ze0p`,peru:`80oqn`,pink:`9z8wb`,plum:`8nba5`,powderblue:`6wgdi`,purple:`4zssg`,rebeccapurple:`3zk49`,red:`9y6tc`,rosybrown:`7cv4f`,royalblue:`2jvtt`,saddlebrown:`5fmkz`,salmon:`9rvci`,sandybrown:`9jn1c`,seagreen:`1tdnb`,seashell:`9zje6`,sienna:`6973h`,silver:`7ir40`,skyblue:`5arjf`,slateblue:`45e4t`,slategray:`4e100`,slategrey:`4e100`,snow:`9zke2`,springgreen:`1egv`,steelblue:`2r1kk`,tan:`87yx8`,teal:`pds`,thistle:`8ggk8`,tomato:`9yqfb`,turquoise:`2j4r4`,violet:`9b10u`,wheat:`9ld4j`,white:`9zldr`,whitesmoke:`9lhpx`,yellow:`9zl6o`,yellowgreen:`61fzm`},Ro=Math.round;function zo(e,t){let n=e.replace(/^[^(]*\((.*)/,`$1`).replace(/\).*/,``).match(/\d*\.?\d+%?/g)||[],r=n.map(e=>parseFloat(e));for(let e=0;e<3;e+=1)r[e]=t(r[e]||0,n[e]||``,e);return n[3]?r[3]=n[3].includes(`%`)?r[3]/100:r[3]:r[3]=1,r}var Bo=(e,t,n)=>n===0?e:e/100;function Vo(e,t){let n=t||255;return e>n?n:e<0?0:e}var Ho=class e{isValid=!0;r=0;g=0;b=0;a=1;_h;_hsl_s;_hsv_s;_l;_v;_max;_min;_brightness;constructor(t){function n(e){return e[0]in t&&e[1]in t&&e[2]in t}if(t)if(typeof t==`string`){let e=t.trim();function n(t){return e.startsWith(t)}if(/^#?[A-F\d]{3,8}$/i.test(e))this.fromHexString(e);else if(n(`rgb`))this.fromRgbString(e);else if(n(`hsl`))this.fromHslString(e);else if(n(`hsv`)||n(`hsb`))this.fromHsvString(e);else{let t=Lo[e.toLowerCase()];t&&this.fromHexString(parseInt(t,36).toString(16).padStart(6,`0`))}}else if(t instanceof e)this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this._h=t._h,this._hsl_s=t._hsl_s,this._hsv_s=t._hsv_s,this._l=t._l,this._v=t._v;else if(n(`rgb`))this.r=Vo(t.r),this.g=Vo(t.g),this.b=Vo(t.b),this.a=typeof t.a==`number`?Vo(t.a,1):1;else if(n(`hsl`))this.fromHsl(t);else if(n(`hsv`))this.fromHsv(t);else throw Error(`@ant-design/fast-color: unsupported input `+JSON.stringify(t))}setR(e){return this._sc(`r`,e)}setG(e){return this._sc(`g`,e)}setB(e){return this._sc(`b`,e)}setA(e){return this._sc(`a`,e,1)}setHue(e){let t=this.toHsv();return t.h=e,this._c(t)}getLuminance(){function e(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}let t=e(this.r),n=e(this.g),r=e(this.b);return .2126*t+.7152*n+.0722*r}getHue(){if(this._h===void 0){let e=this.getMax()-this.getMin();e===0?this._h=0:this._h=Ro(60*(this.r===this.getMax()?(this.g-this.b)/e+(this.g1&&(r=1),this._c({h:t,s:n,l:r,a:this.a})}mix(e,t=50){let n=this._c(e),r=t/100,i=e=>(n[e]-this[e])*r+this[e],a={r:Ro(i(`r`)),g:Ro(i(`g`)),b:Ro(i(`b`)),a:Ro(i(`a`)*100)/100};return this._c(a)}tint(e=10){return this.mix({r:255,g:255,b:255,a:1},e)}shade(e=10){return this.mix({r:0,g:0,b:0,a:1},e)}onBackground(e){let t=this._c(e),n=this.a+t.a*(1-this.a),r=e=>Ro((this[e]*this.a+t[e]*t.a*(1-this.a))/n);return this._c({r:r(`r`),g:r(`g`),b:r(`b`),a:n})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}clone(){return this._c(this)}toHexString(){let e=`#`,t=(this.r||0).toString(16);e+=t.length===2?t:`0`+t;let n=(this.g||0).toString(16);e+=n.length===2?n:`0`+n;let r=(this.b||0).toString(16);if(e+=r.length===2?r:`0`+r,typeof this.a==`number`&&this.a>=0&&this.a<1){let t=Ro(this.a*255).toString(16);e+=t.length===2?t:`0`+t}return e}toHsl(){return{h:this.getHue(),s:this.getHSLSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let e=this.getHue(),t=Ro(this.getHSLSaturation()*100),n=Ro(this.getLightness()*100);return this.a===1?`hsl(${e},${t}%,${n}%)`:`hsla(${e},${t}%,${n}%,${this.a})`}toHsv(){return{h:this.getHue(),s:this.getHSVSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a===1?`rgb(${this.r},${this.g},${this.b})`:`rgba(${this.r},${this.g},${this.b},${this.a})`}toString(){return this.toRgbString()}_sc(e,t,n){let r=this.clone();return r[e]=Vo(t,n),r}_c(e){return new this.constructor(e)}getMax(){return this._max===void 0&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return this._min===void 0&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(e){let t=e.replace(`#`,``);function n(e,n){return parseInt(t[e]+t[n||e],16)}t.length<6?(this.r=n(0),this.g=n(1),this.b=n(2),this.a=t[3]?n(3)/255:1):(this.r=n(0,1),this.g=n(2,3),this.b=n(4,5),this.a=t[6]?n(6,7)/255:1)}fromHsl({h:e,s:t,l:n,a:r}){let i=(e%360+360)%360;if(this._h=i,this._hsl_s=t,this._l=n,this.a=typeof r==`number`?r:1,t<=0){let e=Ro(n*255);this.r=e,this.g=e,this.b=e;return}let a=0,o=0,s=0,c=i/60,l=(1-Math.abs(2*n-1))*t,u=l*(1-Math.abs(c%2-1));c>=0&&c<1?(a=l,o=u):c>=1&&c<2?(a=u,o=l):c>=2&&c<3?(o=l,s=u):c>=3&&c<4?(o=u,s=l):c>=4&&c<5?(a=u,s=l):c>=5&&c<6&&(a=l,s=u);let d=n-l/2;this.r=Ro((a+d)*255),this.g=Ro((o+d)*255),this.b=Ro((s+d)*255)}fromHsv({h:e,s:t,v:n,a:r}){let i=(e%360+360)%360;this._h=i,this._hsv_s=t,this._v=n,this.a=typeof r==`number`?r:1;let a=Ro(n*255);if(this.r=a,this.g=a,this.b=a,t<=0)return;let o=i/60,s=Math.floor(o),c=o-s,l=Ro(n*(1-t)*255),u=Ro(n*(1-t*c)*255),d=Ro(n*(1-t*(1-c))*255);switch(s){case 0:this.g=d,this.b=l;break;case 1:this.r=u,this.b=l;break;case 2:this.r=l,this.b=d;break;case 3:this.r=l,this.g=u;break;case 4:this.r=d,this.g=l;break;default:this.g=l,this.b=u;break}}fromHsvString(e){let t=zo(e,Bo);this.fromHsv({h:t[0],s:t[1],v:t[2],a:t[3]})}fromHslString(e){let t=zo(e,Bo);this.fromHsl({h:t[0],s:t[1],l:t[2],a:t[3]})}fromRgbString(e){let t=zo(e,(e,t)=>t.includes(`%`)?Ro(e/100*255):e);this.r=t[0],this.g=t[1],this.b=t[2],this.a=t[3]}},Uo=2,Wo=.16,Go=.05,Ko=.05,qo=.15,Jo=5,Yo=4,Xo=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function Zo(e,t,n){let r;return r=Math.round(e.h)>=60&&Math.round(e.h)<=240?n?Math.round(e.h)-Uo*t:Math.round(e.h)+Uo*t:n?Math.round(e.h)+Uo*t:Math.round(e.h)-Uo*t,r<0?r+=360:r>=360&&(r-=360),r}function Qo(e,t,n){if(e.h===0&&e.s===0)return e.s;let r;return r=n?e.s-Wo*t:t===Yo?e.s+Wo:e.s+Go*t,r>1&&(r=1),n&&t===Jo&&r>.1&&(r=.1),r<.06&&(r=.06),Math.round(r*100)/100}function $o(e,t,n){let r;return r=n?e.v+Ko*t:e.v-qo*t,r=Math.max(0,Math.min(1,r)),Math.round(r*100)/100}function es(e,t={}){let n=[],r=new Ho(e),i=r.toHsv();for(let e=Jo;e>0;--e){let t=new Ho({h:Zo(i,e,!0),s:Qo(i,e,!0),v:$o(i,e,!0)});n.push(t)}n.push(r);for(let e=1;e<=Yo;e+=1){let t=new Ho({h:Zo(i,e),s:Qo(i,e),v:$o(i,e)});n.push(t)}return t.theme===`dark`?Xo.map(({index:e,amount:r})=>new Ho(t.backgroundColor||`#141414`).mix(n[e],r).toHexString()):n.map(e=>e.toHexString())}var ts={red:`#F5222D`,volcano:`#FA541C`,orange:`#FA8C16`,gold:`#FAAD14`,yellow:`#FADB14`,lime:`#A0D911`,green:`#52C41A`,cyan:`#13C2C2`,blue:`#1677FF`,geekblue:`#2F54EB`,purple:`#722ED1`,magenta:`#EB2F96`,grey:`#666666`},ns=[`#fff1f0`,`#ffccc7`,`#ffa39e`,`#ff7875`,`#ff4d4f`,`#f5222d`,`#cf1322`,`#a8071a`,`#820014`,`#5c0011`];ns.primary=ns[5];var rs=[`#fff2e8`,`#ffd8bf`,`#ffbb96`,`#ff9c6e`,`#ff7a45`,`#fa541c`,`#d4380d`,`#ad2102`,`#871400`,`#610b00`];rs.primary=rs[5];var is=[`#fff7e6`,`#ffe7ba`,`#ffd591`,`#ffc069`,`#ffa940`,`#fa8c16`,`#d46b08`,`#ad4e00`,`#873800`,`#612500`];is.primary=is[5];var as=[`#fffbe6`,`#fff1b8`,`#ffe58f`,`#ffd666`,`#ffc53d`,`#faad14`,`#d48806`,`#ad6800`,`#874d00`,`#613400`];as.primary=as[5];var os=[`#feffe6`,`#ffffb8`,`#fffb8f`,`#fff566`,`#ffec3d`,`#fadb14`,`#d4b106`,`#ad8b00`,`#876800`,`#614700`];os.primary=os[5];var ss=[`#fcffe6`,`#f4ffb8`,`#eaff8f`,`#d3f261`,`#bae637`,`#a0d911`,`#7cb305`,`#5b8c00`,`#3f6600`,`#254000`];ss.primary=ss[5];var cs=[`#f6ffed`,`#d9f7be`,`#b7eb8f`,`#95de64`,`#73d13d`,`#52c41a`,`#389e0d`,`#237804`,`#135200`,`#092b00`];cs.primary=cs[5];var ls=[`#e6fffb`,`#b5f5ec`,`#87e8de`,`#5cdbd3`,`#36cfc9`,`#13c2c2`,`#08979c`,`#006d75`,`#00474f`,`#002329`];ls.primary=ls[5];var us=[`#e6f4ff`,`#bae0ff`,`#91caff`,`#69b1ff`,`#4096ff`,`#1677ff`,`#0958d9`,`#003eb3`,`#002c8c`,`#001d66`];us.primary=us[5];var ds=[`#f0f5ff`,`#d6e4ff`,`#adc6ff`,`#85a5ff`,`#597ef7`,`#2f54eb`,`#1d39c4`,`#10239e`,`#061178`,`#030852`];ds.primary=ds[5];var fs=[`#f9f0ff`,`#efdbff`,`#d3adf7`,`#b37feb`,`#9254de`,`#722ed1`,`#531dab`,`#391085`,`#22075e`,`#120338`];fs.primary=fs[5];var ps=[`#fff0f6`,`#ffd6e7`,`#ffadd2`,`#ff85c0`,`#f759ab`,`#eb2f96`,`#c41d7f`,`#9e1068`,`#780650`,`#520339`];ps.primary=ps[5];var ms=[`#a6a6a6`,`#999999`,`#8c8c8c`,`#808080`,`#737373`,`#666666`,`#404040`,`#1a1a1a`,`#000000`,`#000000`];ms.primary=ms[5];var hs={red:ns,volcano:rs,orange:is,gold:as,yellow:os,lime:ss,green:cs,cyan:ls,blue:us,geekblue:ds,purple:fs,magenta:ps,grey:ms},gs=[`#2a1215`,`#431418`,`#58181c`,`#791a1f`,`#a61d24`,`#d32029`,`#e84749`,`#f37370`,`#f89f9a`,`#fac8c3`];gs.primary=gs[5];var _s=[`#2b1611`,`#441d12`,`#592716`,`#7c3118`,`#aa3e19`,`#d84a1b`,`#e87040`,`#f3956a`,`#f8b692`,`#fad4bc`];_s.primary=_s[5];var vs=[`#2b1d11`,`#442a11`,`#593815`,`#7c4a15`,`#aa6215`,`#d87a16`,`#e89a3c`,`#f3b765`,`#f8cf8d`,`#fae3b7`];vs.primary=vs[5];var ys=[`#2b2111`,`#443111`,`#594214`,`#7c5914`,`#aa7714`,`#d89614`,`#e8b339`,`#f3cc62`,`#f8df8b`,`#faedb5`];ys.primary=ys[5];var bs=[`#2b2611`,`#443b11`,`#595014`,`#7c6e14`,`#aa9514`,`#d8bd14`,`#e8d639`,`#f3ea62`,`#f8f48b`,`#fafab5`];bs.primary=bs[5];var xs=[`#1f2611`,`#2e3c10`,`#3e4f13`,`#536d13`,`#6f9412`,`#8bbb11`,`#a9d134`,`#c9e75d`,`#e4f88b`,`#f0fab5`];xs.primary=xs[5];var Ss=[`#162312`,`#1d3712`,`#274916`,`#306317`,`#3c8618`,`#49aa19`,`#6abe39`,`#8fd460`,`#b2e58b`,`#d5f2bb`];Ss.primary=Ss[5];var Cs=[`#112123`,`#113536`,`#144848`,`#146262`,`#138585`,`#13a8a8`,`#33bcb7`,`#58d1c9`,`#84e2d8`,`#b2f1e8`];Cs.primary=Cs[5];var ws=[`#111a2c`,`#112545`,`#15325b`,`#15417e`,`#1554ad`,`#1668dc`,`#3c89e8`,`#65a9f3`,`#8dc5f8`,`#b7dcfa`];ws.primary=ws[5];var Ts=[`#131629`,`#161d40`,`#1c2755`,`#203175`,`#263ea0`,`#2b4acb`,`#5273e0`,`#7f9ef3`,`#a8c1f8`,`#d2e0fa`];Ts.primary=Ts[5];var Es=[`#1a1325`,`#24163a`,`#301c4d`,`#3e2069`,`#51258f`,`#642ab5`,`#854eca`,`#ab7ae0`,`#cda8f0`,`#ebd7fa`];Es.primary=Es[5];var Ds=[`#291321`,`#40162f`,`#551c3b`,`#75204f`,`#a02669`,`#cb2b83`,`#e0529c`,`#f37fb7`,`#f8a8cc`,`#fad2e3`];Ds.primary=Ds[5];var Os=[`#151515`,`#1f1f1f`,`#2d2d2d`,`#393939`,`#494949`,`#5a5a5a`,`#6a6a6a`,`#7b7b7b`,`#888888`,`#969696`];Os.primary=Os[5];var ks=[`blue`,`purple`,`cyan`,`green`,`magenta`,`pink`,`red`,`orange`,`yellow`,`volcano`,`geekblue`,`lime`,`gold`];function As(e,{generateColorPalettes:t,generateNeutralColorPalettes:n}){let{colorSuccess:r,colorWarning:i,colorError:a,colorInfo:o,colorPrimary:s,colorBgBase:c,colorTextBase:l}=e,u=t(s),d=t(r),f=t(i),p=t(a),m=t(o),h=n(c,l),g=t(e.colorLink||e.colorInfo),_=new Ho(p[1]).mix(new Ho(p[3]),50).toHexString(),v={};return ks.forEach(n=>{let r=e[n];if(r){let e=t(r);v[`${n}Hover`]=e[5],v[`${n}Active`]=e[7]}}),{...h,colorPrimaryBg:u[1],colorPrimaryBgHover:u[2],colorPrimaryBorder:u[3],colorPrimaryBorderHover:u[4],colorPrimaryHover:u[5],colorPrimary:u[6],colorPrimaryActive:u[7],colorPrimaryTextHover:u[8],colorPrimaryText:u[9],colorPrimaryTextActive:u[10],colorSuccessBg:d[1],colorSuccessBgHover:d[2],colorSuccessBorder:d[3],colorSuccessBorderHover:d[4],colorSuccessHover:d[4],colorSuccess:d[6],colorSuccessActive:d[7],colorSuccessTextHover:d[8],colorSuccessText:d[9],colorSuccessTextActive:d[10],colorErrorBg:p[1],colorErrorBgHover:p[2],colorErrorBgFilledHover:_,colorErrorBgActive:p[3],colorErrorBorder:p[3],colorErrorBorderHover:p[4],colorErrorHover:p[5],colorError:p[6],colorErrorActive:p[7],colorErrorTextHover:p[8],colorErrorText:p[9],colorErrorTextActive:p[10],colorWarningBg:f[1],colorWarningBgHover:f[2],colorWarningBorder:f[3],colorWarningBorderHover:f[4],colorWarningHover:f[4],colorWarning:f[6],colorWarningActive:f[7],colorWarningTextHover:f[8],colorWarningText:f[9],colorWarningTextActive:f[10],colorInfoBg:m[1],colorInfoBgHover:m[2],colorInfoBorder:m[3],colorInfoBorderHover:m[4],colorInfoHover:m[4],colorInfo:m[6],colorInfoActive:m[7],colorInfoTextHover:m[8],colorInfoText:m[9],colorInfoTextActive:m[10],colorLinkHover:g[4],colorLink:g[6],colorLinkActive:g[7],...v,colorBgMask:new Ho(`#000`).setA(.45).toRgbString(),colorWhite:`#fff`}}var js=e=>{let t=e,n=e,r=e,i=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?n=4:e<8&&e>=7?n=5:e<14&&e>=8?n=6:e<16&&e>=14?n=7:e>=16&&(n=8),e<6&&e>=2?r=1:e>=6&&(r=2),e>4&&e<8?i=4:e>=8&&(i=6),{borderRadius:e,borderRadiusXS:r,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:i}};function Ms(e){let{motionUnit:t,motionBase:n,borderRadius:r,lineWidth:i}=e;return{motionDurationFast:`${(n+t).toFixed(1)}s`,motionDurationMid:`${(n+t*2).toFixed(1)}s`,motionDurationSlow:`${(n+t*3).toFixed(1)}s`,lineWidthBold:i+1,...js(r)}}var Ns=e=>{let{controlHeight:t}=e;return{controlHeightSM:t*.75,controlHeightXS:t*.5,controlHeightLG:t*1.25}},Ps=e=>{let t=No(e),n=t.map(e=>e.size),r=t.map(e=>e.lineHeight),i=n[1],a=n[0],o=n[2],s=r[1],c=r[0],l=r[2];return{fontSizeSM:a,fontSize:i,fontSizeLG:o,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:s,lineHeightLG:l,lineHeightSM:c,fontHeight:Math.round(s*i),fontHeightLG:Math.round(l*o),fontHeightSM:Math.round(c*a),lineHeightHeading1:r[6],lineHeightHeading2:r[5],lineHeightHeading3:r[4],lineHeightHeading4:r[3],lineHeightHeading5:r[2]}};function Fs(e){let{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}var Is=(e,t)=>new Ho(e).setA(t).toRgbString(),Ls=(e,t)=>new Ho(e).darken(t).toHexString(),Rs=e=>{let t=es(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},zs=(e,t,n)=>{let r=e||`#fff`,i=t||`#000`;return{colorBgBase:r,colorTextBase:i,colorShadow:n||`#000`,colorText:Is(i,.88),colorTextSecondary:Is(i,.65),colorTextTertiary:Is(i,.45),colorTextQuaternary:Is(i,.25),colorFill:Is(i,.15),colorFillSecondary:Is(i,.06),colorFillTertiary:Is(i,.04),colorFillQuaternary:Is(i,.02),colorBgSolid:Is(i,1),colorBgSolidHover:Is(i,.75),colorBgSolidActive:Is(i,.95),colorBgLayout:Ls(r,4),colorBgContainer:Ls(r,0),colorBgElevated:Ls(r,0),colorBgSpotlight:Is(i,.85),colorBgBlur:`transparent`,colorBorder:Ls(r,15),colorBorderDisabled:Ls(r,15),colorBorderSecondary:Ls(r,6)}};function Bs(e){ts.pink=ts.magenta,hs.pink=hs.magenta;let t=Object.keys(Fo).map(t=>{let n=e[t]===ts[t]?hs[t]:es(e[t]);return Array.from({length:10},()=>1).reduce((e,r,i)=>(e[`${t}-${i+1}`]=n[i],e[`${t}${i+1}`]=n[i],e),{})}).reduce((e,t)=>(e={...e,...t},e),{});return{...e,...t,...As(e,{generateColorPalettes:Rs,generateNeutralColorPalettes:zs}),...Ps(e.fontSize),...Fs(e),...Ns(e),...Ms(e)}}var Vs=Nr(Bs),Hs={token:Io,override:{override:Io},hashed:!0},Us=o.createContext(Hs);function Ws(e){return e>=0&&e<=255}function Gs(e,t){let{r:n,g:r,b:i,a}=new Ho(e).toRgb();if(a<1)return e;let{r:o,g:s,b:c}=new Ho(t).toRgb();for(let e=.01;e<=1;e+=.01){let t=Math.round((n-o*(1-e))/e),a=Math.round((r-s*(1-e))/e),l=Math.round((i-c*(1-e))/e);if(Ws(t)&&Ws(a)&&Ws(l))return new Ho({r:t,g:a,b:l,a:Math.round(e*100)/100}).toRgbString()}return new Ho({r:n,g:r,b:i,a:1}).toRgbString()}function Ks(e){let{override:t,...n}=e,r={...t};Object.keys(Io).forEach(e=>{delete r[e]});let i={...n,...r},a=new Ho(i.colorShadow),o=a.a,s=e=>a.clone().setA(o*e).toRgbString(),c=1200,l=1600,u=1920;return i.motion===!1&&(i.motionDurationFast=`0s`,i.motionDurationMid=`0s`,i.motionDurationSlow=`0s`),{...i,colorFillContent:i.colorFillSecondary,colorFillContentHover:i.colorFill,colorFillAlter:i.colorFillQuaternary,colorBgContainerDisabled:i.colorFillTertiary,colorBorderBg:i.colorBgContainer,colorSplit:Gs(i.colorBorderSecondary,i.colorBgContainer),colorTextPlaceholder:i.colorTextQuaternary,colorTextDisabled:i.colorTextQuaternary,colorTextHeading:i.colorText,colorTextLabel:i.colorTextSecondary,colorTextDescription:i.colorTextTertiary,colorTextLightSolid:i.colorWhite,colorHighlight:i.colorError,colorBgTextHover:i.colorFillSecondary,colorBgTextActive:i.colorFill,colorIcon:i.colorTextTertiary,colorIconHover:i.colorText,colorErrorOutline:Gs(i.colorErrorBg,i.colorBgContainer),colorWarningOutline:Gs(i.colorWarningBg,i.colorBgContainer),colorErrorAffix:i.colorError,colorWarningAffix:i.colorWarning,fontSizeIcon:i.fontSizeSM,lineWidthFocus:i.lineWidth*3,lineWidth:i.lineWidth,controlOutlineWidth:i.lineWidth*2,controlInteractiveSize:i.controlHeight/2,controlItemBgHover:i.colorFillTertiary,controlItemBgActive:i.colorPrimaryBg,controlItemBgActiveHover:i.colorPrimaryBgHover,controlItemBgActiveDisabled:i.colorFill,controlTmpOutline:i.colorFillQuaternary,controlOutline:Gs(i.colorPrimaryBg,i.colorBgContainer),lineType:i.lineType,borderRadius:i.borderRadius,borderRadiusXS:i.borderRadiusXS,borderRadiusSM:i.borderRadiusSM,borderRadiusLG:i.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:`none`,linkHoverDecoration:`none`,linkFocusDecoration:`none`,controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:i.sizeXXS,paddingXS:i.sizeXS,paddingSM:i.sizeSM,padding:i.size,paddingMD:i.sizeMD,paddingLG:i.sizeLG,paddingXL:i.sizeXL,paddingContentHorizontalLG:i.sizeLG,paddingContentVerticalLG:i.sizeMS,paddingContentHorizontal:i.sizeMS,paddingContentVertical:i.sizeSM,paddingContentHorizontalSM:i.size,paddingContentVerticalSM:i.sizeXS,marginXXS:i.sizeXXS,marginXS:i.sizeXS,marginSM:i.sizeSM,margin:i.size,marginMD:i.sizeMD,marginLG:i.sizeLG,marginXL:i.sizeXL,marginXXL:i.sizeXXL,boxShadow:` + 0 6px 16px 0 ${s(.08)}, + 0 3px 6px -4px ${s(.12)}, + 0 9px 28px 8px ${s(.05)} + `,boxShadowSecondary:` + 0 6px 16px 0 ${s(.08)}, + 0 3px 6px -4px ${s(.12)}, + 0 9px 28px 8px ${s(.05)} + `,boxShadowTertiary:` + 0 1px 2px 0 ${s(.05)}, + 0 1px 6px -1px ${s(.03)}, + 0 2px 4px 0 ${s(.03)} + `,screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:c-1,screenXL:c,screenXLMin:c,screenXLMax:l-1,screenXXL:l,screenXXLMin:l,screenXXLMax:u-1,screenXXXL:u,screenXXXLMin:u,boxShadowPopoverArrow:`2px 2px 5px ${s(.05)}`,dropShadowPopover:`drop-shadow(0 6px 16px ${s(.08)}) drop-shadow(0 3px 6px ${s(.12)}) drop-shadow(0 9px 28px ${s(.05)})`,boxShadowCard:` + 0 1px 2px -2px ${s(.16)}, + 0 3px 6px 0 ${s(.12)}, + 0 5px 12px 4px ${s(.09)} + `,boxShadowDrawerRight:` + -6px 0 16px 0 ${s(.08)}, + -3px 0 6px -4px ${s(.12)}, + -9px 0 28px 8px ${s(.05)} + `,boxShadowDrawerLeft:` + 6px 0 16px 0 ${s(.08)}, + 3px 0 6px -4px ${s(.12)}, + 9px 0 28px 8px ${s(.05)} + `,boxShadowDrawerUp:` + 0 6px 16px 0 ${s(.08)}, + 0 3px 6px -4px ${s(.12)}, + 0 9px 28px 8px ${s(.05)} + `,boxShadowDrawerDown:` + 0 -6px 16px 0 ${s(.08)}, + 0 -3px 6px -4px ${s(.12)}, + 0 -9px 28px 8px ${s(.05)} + `,boxShadowTabsOverflowLeft:`inset 10px 0 8px -8px ${s(.08)}`,boxShadowTabsOverflowRight:`inset -10px 0 8px -8px ${s(.08)}`,boxShadowTabsOverflowTop:`inset 0 10px 8px -8px ${s(.08)}`,boxShadowTabsOverflowBottom:`inset 0 -10px 8px -8px ${s(.08)}`,...r}}var qs={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0,opacityImage:!0},Js={motionBase:!0,motionUnit:!0},Ys={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0,screenXXLMax:!0,screenXXXL:!0,screenXXXLMin:!0},Xs=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:i,...a}=t,o={...r,override:i};return o=Ks(o),a&&Object.entries(a).forEach(([e,t])=>{let{theme:n,...r}=t,i=r;n&&(i=Xs({...o,...r},{override:r},n)),o[e]=i}),o};function Zs(){let{token:e,hashed:t,theme:n,override:r,cssVar:i,zeroRuntime:a}=o.useContext(Us),{csp:s,getPrefixCls:c}=o.useContext(mr),l={prefix:i?.prefix??c(),key:i?.key??`css-var-root`},u=`${Po}-${t||``}`,d=n||Vs,[f,p,m]=ai(d,[Io,e],{salt:u,override:r,getComputedToken:Xs,cssVar:{...l,unitless:qs,ignore:Js,preserve:Ys},nonce:s?.nonce});return[d,m,t?p:``,f,l,!!a]}var{genStyleHooks:Qs,genComponentStyleHook:$s,genSubStyleComponent:ec}=jo({usePrefix:()=>{let{getPrefixCls:e,iconPrefixCls:t}=(0,o.useContext)(mr);return{rootPrefixCls:e(),iconPrefixCls:t}},useToken:()=>{let[e,t,n,r,i,a]=Zs();return{theme:e,realToken:t,hashId:n,token:r,cssVar:i,zeroRuntime:a}},useCSP:()=>{let{csp:e}=(0,o.useContext)(mr);return e??{}},getResetStyles:(e,t)=>{let n=za(e);return[n,{"&":n},Va(t?.prefix.iconPrefixCls??`anticon`)]},getCommonStyle:Ba,getCompUnitless:()=>qs}),tc=(e,t)=>{let n=`--${e.replace(/\./g,``)}-${t}-`;return[e=>`${n}${e}`,(e,t)=>t?`var(${n}${e}, ${t})`:`var(${n}${e})`]},nc=(e,t)=>{let[n,r]=Zs();return Da({theme:n,token:r,hashId:``,path:[`ant-design-icons`,e],nonce:()=>t?.nonce,layer:{name:`antd`}},()=>Va(e))},rc=(0,o.createContext)(void 0),ic={items_per_page:`/ page`,jump_to:`Go to`,jump_to_confirm:`confirm`,page:`Page`,prev_page:`Previous Page`,next_page:`Next Page`,prev_5:`Previous 5 Pages`,next_5:`Next 5 Pages`,prev_3:`Previous 3 Pages`,next_3:`Next 3 Pages`,page_size:`Page Size`},ac={yearFormat:`YYYY`,dayFormat:`D`,cellMeridiemFormat:`A`,monthBeforeYear:!0,locale:`en_US`,today:`Today`,now:`Now`,backToToday:`Back to today`,ok:`OK`,clear:`Clear`,week:`Week`,month:`Month`,year:`Year`,timeSelect:`select time`,dateSelect:`select date`,weekSelect:`Choose a week`,monthSelect:`Choose a month`,yearSelect:`Choose a year`,decadeSelect:`Choose a decade`,previousMonth:`Previous month (PageUp)`,nextMonth:`Next month (PageDown)`,previousYear:`Last year (Control + left)`,nextYear:`Next year (Control + right)`,previousDecade:`Last decade`,nextDecade:`Next decade`,previousCentury:`Last century`,nextCentury:`Next century`},oc={placeholder:`Select time`,rangePlaceholder:[`Start time`,`End time`]},sc={lang:{placeholder:`Select date`,yearPlaceholder:`Select year`,quarterPlaceholder:`Select quarter`,monthPlaceholder:`Select month`,weekPlaceholder:`Select week`,rangePlaceholder:[`Start date`,`End date`],rangeYearPlaceholder:[`Start year`,`End year`],rangeQuarterPlaceholder:[`Start quarter`,`End quarter`],rangeMonthPlaceholder:[`Start month`,`End month`],rangeWeekPlaceholder:[`Start week`,`End week`],...ac},timePickerLocale:{...oc}},cc=sc,lc="${label} is not a valid ${type}",uc={locale:`en`,Pagination:ic,DatePicker:sc,TimePicker:oc,Calendar:cc,global:{placeholder:`Please select`,close:`Close`,sortable:`sortable`,show:`Show`,hide:`Hide`},Table:{filterTitle:`Filter menu`,filterConfirm:`OK`,filterReset:`Reset`,filterEmptyText:`No filters`,filterCheckAll:`Select all items`,filterSearchPlaceholder:`Search in filters`,emptyText:`No data`,selectAll:`Select current page`,selectInvert:`Invert current page`,selectNone:`Clear all data`,selectionAll:`Select all data`,sortTitle:`Sort`,expand:`Expand row`,collapse:`Collapse row`,triggerDesc:`Click to sort descending`,triggerAsc:`Click to sort ascending`,cancelSort:`Click to cancel sorting`},Tour:{Next:`Next`,Previous:`Previous`,Finish:`Finish`},Modal:{okText:`OK`,cancelText:`Cancel`,justOkText:`OK`},Popconfirm:{okText:`OK`,cancelText:`Cancel`},Transfer:{titles:[``,``],searchPlaceholder:`Search here`,itemUnit:`item`,itemsUnit:`items`,remove:`Remove`,selectCurrent:`Select current page`,removeCurrent:`Remove current page`,selectAll:`Select all data`,deselectAll:`Deselect all data`,removeAll:`Remove all data`,selectInvert:`Invert current page`},Upload:{uploading:`Uploading...`,removeFile:`Remove file`,uploadError:`Upload error`,previewFile:`Preview file`,downloadFile:`Download file`},Empty:{description:`No data`},Icon:{icon:`icon`},Text:{edit:`Edit`,copy:`Copy`,copied:`Copied`,expand:`Expand`,collapse:`Collapse`},Form:{optional:`(optional)`,defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:lc,method:lc,array:lc,object:lc,number:lc,date:lc,boolean:lc,integer:lc,float:lc,regexp:lc,email:lc,url:lc,hex:lc},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},QRCode:{expired:`QR code expired`,refresh:`Refresh`,scanned:`Scanned`},ColorPicker:{presetEmpty:`Empty`,transparent:`Transparent`,singleColor:`Single`,gradientColor:`Gradient`}},dc={...uc.Modal},fc=[],pc=()=>fc.reduce((e,t)=>({...e,...t}),uc.Modal);function mc(e){if(e){let t={...e};return fc.push(t),dc=pc(),()=>{fc=fc.filter(e=>e!==t),dc=pc()}}dc={...uc.Modal}}function hc(){return dc}var gc=(0,o.createContext)(void 0),_c=(e,t)=>{let n=o.useContext(gc);return[o.useMemo(()=>{let r=t||uc[e],i=n?.[e]??{};return{...Xn(r)?r():r,...i||{}}},[e,t,n]),o.useMemo(()=>{let e=n?.locale;return n?.exist&&!e?uc.locale:e},[n])]},vc=`internalMark`,yc=e=>{let{locale:t={},children:n,_ANT_MARK__:r}=e;o.useEffect(()=>mc(t?.Modal),[t]);let i=o.useMemo(()=>({...t,exist:!0}),[t]);return o.createElement(gc.Provider,{value:i},n)},bc=o.createContext(null),xc=!1;function Sc(e){return typeof e==`boolean`&&(xc=e),xc}var Cc=[];function wc(e,t){let[n]=o.useState(()=>G()?document.createElement(`div`):null),r=o.useRef(!1),i=o.useContext(bc),[a,s]=o.useState(Cc),c=i||(r.current?void 0:e=>{s(t=>[e,...t])});function l(){n.parentElement||document.body.appendChild(n),r.current=!0}function u(){n.parentElement?.removeChild(n),r.current=!1}return K(()=>(e?i?i(l):l():u(),u),[e]),K(()=>{a.length&&(a.forEach(e=>e()),s(Cc))},[a]),[n,c]}function Tc(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var Ec=`rc-util-locker-${Date.now()}`,Dc=0;function Oc(e){let t=!!e,[n]=o.useState(()=>(Dc+=1,`${Ec}_${Dc}`));K(()=>{if(t){let e=lt(document.body).width;Fe(` +html body { + overflow-y: hidden; + ${Tc()?`width: calc(100% - ${e}px);`:``} +}`,n)}else Ne(n);return()=>{Ne(n)}},[t,n])}var kc=[],Ac=200,jc=0,Mc=e=>{if(e.key===`Escape`&&!e.isComposing){if(Date.now()-jc=0;--n)kc[n].onEsc({top:n===t-1,event:e})}},Nc=()=>{jc=Date.now()};function Pc(){window.addEventListener(`keydown`,Mc),window.addEventListener(`compositionend`,Nc)}function Fc(){kc.length===0&&(window.removeEventListener(`keydown`,Mc),window.removeEventListener(`compositionend`,Nc))}function Ic(e,t){let n=le(),r=W(t),i=()=>{kc.find(e=>e.id===n)||kc.push({id:n,onEsc:r})},a=()=>{kc=kc.filter(e=>e.id!==n)};(0,o.useMemo)(()=>{e?i():e||a()},[e]),(0,o.useEffect)(()=>{if(e)return i(),Pc(),()=>{a(),Fc()}},[e])}var Lc=e=>e===!1?!1:!G()||!e?null:typeof e==`string`?document.querySelector(e):typeof e==`function`?e():e,Rc=o.forwardRef((e,t)=>{let{open:n,autoLock:r,getContainer:i,debug:a,autoDestroy:s=!0,children:c,onEsc:l}=e,[u,d]=o.useState(n),f=u||n;o.useEffect(()=>{(s||n)&&d(n)},[n,s]);let[p,m]=o.useState(()=>Lc(i));o.useEffect(()=>{let e=Lc(i);m(()=>e??null)});let[h,g]=wc(f&&!p,a),_=p??h;Oc(r&&n&&G()&&(_===h||_===document.body)),Ic(n,l);let v=null;c&&ye(c)&&t&&(v=xe(c));let y=ve(v,t);if(!f||!G()||p===void 0)return null;let b=_===!1||Sc(),x=c;return t&&(x=o.cloneElement(c,{ref:y})),o.createElement(bc.Provider,{value:g},b?x:(0,H.createPortal)(x,_))}),zc=o.createContext(null);function Bc({children:e,onBatchResize:t}){let n=o.useRef(0),r=o.useRef([]),i=o.useContext(zc),a=o.useCallback((e,a,o)=>{n.current+=1;let s=n.current;r.current.push({size:e,element:a,data:o}),Promise.resolve().then(()=>{s===n.current&&(t?.(r.current),r.current=[])}),i?.(e,a,o)},[t,i]);return o.createElement(zc.Provider,{value:a},e)}var Vc=new Map;function Hc(e){e.forEach(e=>{let{target:t}=e;Vc.get(t)?.forEach(e=>e(t))})}var Uc;function Wc(){return Uc||=new ResizeObserver(Hc),Uc}function Gc(e,t){Vc.has(e)||(Vc.set(e,new Set),Wc().observe(e)),Vc.get(e).add(t)}function Kc(e,t){Vc.has(e)&&(Vc.get(e).delete(t),Vc.get(e).size||(Wc().unobserve(e),Vc.delete(e)))}function qc(e,t,n,r){let i=o.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),a=W(e=>{let{width:t,height:a}=e.getBoundingClientRect(),{offsetWidth:o,offsetHeight:s}=e,c=Math.floor(t),l=Math.floor(a);if(i.current.width!==c||i.current.height!==l||i.current.offsetWidth!==o||i.current.offsetHeight!==s){let u={width:c,height:l,offsetWidth:o,offsetHeight:s};i.current=u;let d=o===Math.round(t)?t:o,f=s===Math.round(a)?a:s,p={...u,offsetWidth:d,offsetHeight:f};r?.(p,e),Promise.resolve().then(()=>{n?.(p,e)})}}),s=typeof t==`function`,c=o.useRef(0);o.useEffect(()=>{let n=s?t():t;return n&&e?Gc(n,a):e&&s&&(c.current+=1),()=>{n&&Kc(n,a)}},[e,s?c.current:t])}function Jc(e,t){let{children:n,disabled:r,onResize:i,data:a}=e,s=o.useRef(null),c=o.useContext(zc),l=typeof n==`function`,u=l?n(s):n,d=!l&&o.isValidElement(u)&&ye(u),f=ve(d?xe(u):null,s),p=()=>Le(s.current);return o.useImperativeHandle(t,()=>p()),qc(!r,p,i,(e,t)=>{c?.(e,t,a)}),d?o.cloneElement(u,{ref:f}):u}var Yc=o.forwardRef(Jc);function Xc(){return Xc=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let i=n?.key||`${Zc}-${r}`;return o.createElement(Yc,Xc({},e,{key:i,ref:r===0?t:void 0}),n)})}var $c=o.forwardRef(Qc);$c.Collection=Bc;function el(e){let{prefixCls:t,align:n,arrow:r,arrowPos:i}=e,{className:a,content:s,style:l}=r||{},{x:u=0,y:d=0}=i,f=o.useRef(null);if(!n||!n.points)return null;let p={position:`absolute`};if(n.autoArrow!==!1){let e=n.points[0],t=n.points[1],r=e[0],i=e[1],a=t[0],o=t[1];r===a||![`t`,`b`].includes(r)?p.top=d:r===`t`?p.top=0:p.bottom=0,i===o||![`l`,`r`].includes(i)?p.left=u:i===`l`?p.left=0:p.right=0}return o.createElement(`div`,{ref:f,className:c(`${t}-arrow`,a),style:{...p,...l}},s)}function tl(){return tl=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(`div`,{style:{zIndex:r},className:c(`${t}-mask`,s&&`${t}-mobile-mask`,e)})):null}var rl=o.memo(({children:e})=>e,(e,t)=>t.cache);function il(e,t,n,r,i,a,o,s){let c=`auto`,l=e?{}:{left:`-1000vw`,top:`-1000vh`,right:c,bottom:c};if(!e&&(t||!n)){let{points:e}=r,t=r.dynamicInset||r._experimental?.dynamicInset,n=t&&e[0][1]===`r`,u=t&&e[0][0]===`b`;n?(l.right=i,l.left=c):(l.left=o,l.right=c),u?(l.bottom=a,l.top=c):(l.top=s,l.bottom=c)}return l}function al(){return al=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{onEsc:n,popup:r,className:i,prefixCls:a,style:s,target:l,onVisibleChanged:u,open:d,keepDom:f,fresh:p,onClick:m,mask:h,arrow:g,arrowPos:_,align:v,motion:y,maskMotion:b,mobile:x,forceRender:S,getPopupContainer:C,autoDestroy:w,portal:T,children:E,zIndex:D,onMouseEnter:O,onMouseLeave:k,onPointerEnter:A,onPointerDownCapture:j,ready:M,offsetX:N,offsetY:P,offsetR:F,offsetB:I,onAlign:L,onPrepare:R,onResize:z,stretch:B,targetWidth:V,targetHeight:H}=e,U=typeof r==`function`?r():r,ee=d||f,te=!!x,[ne,G,re]=o.useMemo(()=>x?[x.mask,x.maskMotion,x.motion]:[h,b,y],[x,h,b,y]),q=C?.length>0,[ie,ae]=o.useState(!C||!q);K(()=>{!ie&&q&&l&&ae(!0)},[ie,q,l]);let oe=W((e,t)=>{z?.(e,t),L()}),J=il(te,M,d,v,F,I,N,P);if(!ie)return null;let se={};return B&&(B.includes(`height`)&&H?se.height=H:B.includes(`minHeight`)&&H&&(se.minHeight=H),B.includes(`width`)&&V?se.width=V:B.includes(`minWidth`)&&V&&(se.minWidth=V)),d||(se.pointerEvents=`none`),o.createElement(T,{open:S||ee,getContainer:C&&(()=>C(l)),autoDestroy:w,onEsc:n},o.createElement(nl,{prefixCls:a,open:d,zIndex:D,mask:ne,motion:G,mobile:te}),o.createElement($c,{onResize:oe,disabled:!d},e=>o.createElement(Rn,al({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:S,leavedClassName:`${a}-hidden`},re,{onAppearPrepare:R,onEnterPrepare:R,visible:d,onVisibleChanged:e=>{y?.onVisibleChanged?.(e),u(e)}}),({className:n,style:r},l)=>{let u=c(a,n,i,{[`${a}-mobile`]:te});return o.createElement(`div`,{ref:_e(e,t,l),className:u,style:{"--arrow-x":`${_.x||0}px`,"--arrow-y":`${_.y||0}px`,...J,...se,...r,boxSizing:`border-box`,zIndex:D,...s},onMouseEnter:O,onMouseLeave:k,onPointerEnter:A,onClick:m,onPointerDownCapture:j},g&&o.createElement(el,{prefixCls:a,arrow:g,arrowPos:_,align:v}),o.createElement(rl,{cache:!d&&!p},U))})),E)}),sl=o.createContext(null),cl=o.createContext(null);function ll(e){return e?Array.isArray(e)?e:[e]:[]}function ul(e,t,n){return o.useMemo(()=>{let r=ll(t??e),i=ll(n??e),a=new Set(r),o=new Set(i);return a.has(`hover`)&&!a.has(`click`)&&a.add(`touch`),o.has(`hover`)&&!o.has(`click`)&&o.add(`touch`),[a,o]},[e,t,n])}function dl(e=[],t=[],n){let r=(e,t)=>e[t]||``;return n?r(e,0)===r(t,0):r(e,0)===r(t,0)&&r(e,1)===r(t,1)}function fl(e,t,n,r){let{points:i}=n,a=Object.keys(e);for(let n=0;nr.includes(e))&&t.push(n),n=n.parentElement}return t}function hl(e,t=1){return Number.isNaN(e)?t:e}function gl(e){return hl(parseFloat(e),0)}function _l(e,t){let n={...e};return(t||[]).forEach(e=>{if(e instanceof HTMLBodyElement||e instanceof HTMLHtmlElement)return;let{overflow:t,overflowClipMargin:r,borderTopWidth:i,borderBottomWidth:a,borderLeftWidth:o,borderRightWidth:s}=pl(e).getComputedStyle(e),c=e.getBoundingClientRect(),{offsetHeight:l,clientHeight:u,offsetWidth:d,clientWidth:f}=e,p=gl(i),m=gl(a),h=gl(o),g=gl(s),_=hl(Math.round(c.width/d*1e3)/1e3),v=hl(Math.round(c.height/l*1e3)/1e3),y=(d-f-h-g)*_,b=(l-u-p-m)*v,x=p*v,S=m*v,C=h*_,w=g*_,T=0,E=0;if(t===`clip`){let e=gl(r);T=e*_,E=e*v}let D=c.x+C-T,O=c.y+x-E,k=D+c.width+2*T-C-w-y,A=O+c.height+2*E-x-S-b;n.left=Math.max(n.left,D),n.top=Math.max(n.top,O),n.right=Math.min(n.right,k),n.bottom=Math.min(n.bottom,A)}),n}function vl(e,t=0){let n=`${t}`,r=n.match(/^(.*)\%$/);return r?e*(parseFloat(r[1])/100):parseFloat(n)}function yl(e,t){let[n,r]=t||[];return[vl(e.width,n),vl(e.height,r)]}function bl(e=``){return[e[0],e[1]]}function xl(e,t){let n=t[0],r=t[1],i,a;return a=n===`t`?e.y:n===`b`?e.y+e.height:e.y+e.height/2,i=r===`l`?e.x:r===`r`?e.x+e.width:e.x+e.width/2,{x:i,y:a}}function Sl(e,t){let n={t:`b`,b:`t`,l:`r`,r:`l`},r=[...e];return r[t]=n[e[t]]||`c`,r}function Cl(e){return e.join(``)}function wl(e,t,n,r,i,a,s,c){let[l,u]=o.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:i[r]||{}}),d=o.useRef(0),f=o.useMemo(()=>!t||c?[]:ml(t),[t]),p=o.useRef({});e||(p.current={});let m=W(()=>{if(t&&n&&e&&!c){let e=t,o=e.ownerDocument,c=pl(e),{position:l}=c.getComputedStyle(e),d=e.style.left,m=e.style.top,h=e.style.right,g=e.style.bottom,_=e.style.overflow,v=e.style.overflowX,y=e.style.overflowY,b={...i[r],...a},x=o.createElement(`div`);e.parentElement?.appendChild(x),x.style.left=`${e.offsetLeft}px`,x.style.top=`${e.offsetTop}px`,x.style.position=l,x.style.height=`${e.offsetHeight}px`,x.style.width=`${e.offsetWidth}px`,e.style.left=`0`,e.style.top=`0`,e.style.right=`auto`,e.style.bottom=`auto`,e.style.overflow=`hidden`;let S;if(Array.isArray(n))S={x:n[0],y:n[1],width:0,height:0};else{let e=n.getBoundingClientRect();e.x=e.x??e.left,e.y=e.y??e.top,S={x:e.x,y:e.y,width:e.width,height:e.height}}let C=e.getBoundingClientRect(),{height:w,width:T}=c.getComputedStyle(e);C.x=C.x??C.left,C.y=C.y??C.top;let{clientWidth:E,clientHeight:D,scrollWidth:O,scrollHeight:k,scrollTop:A,scrollLeft:j}=o.documentElement,M=C.height,N=C.width,P=S.height,F=S.width,I={left:0,top:0,right:E,bottom:D},L={left:-j,top:-A,right:O-j,bottom:k-A},{htmlRegion:R}=b,z=`visible`,B=`visibleFirst`;R!==`scroll`&&R!==B&&(R=z);let V=R===B,H=_l(L,f),U=_l(I,f),ee=R===z?U:H,te=V?U:ee;e.style.left=`auto`,e.style.top=`auto`,e.style.right=`0`,e.style.bottom=`0`;let ne=e.getBoundingClientRect();e.style.left=d,e.style.top=m,e.style.right=h,e.style.bottom=g,e.style.overflow=_,e.style.overflowX=v,e.style.overflowY=y,e.parentElement?.removeChild(x);let W=hl(Math.round(N/parseFloat(T)*1e3)/1e3),G=hl(Math.round(M/parseFloat(w)*1e3)/1e3);if(W===0||G===0||Ie(n)&&!Re(n))return;let{offset:re,targetOffset:K}=b,[q,ie]=yl(C,re),[ae,oe]=yl(S,K);S.x-=ae,S.y-=oe;let[J,se]=b.points||[],ce=bl(se),le=bl(J),ue=xl(S,ce),de=xl(C,le),fe={...b},Y=[le,ce],X=ue.x-de.x+q,Z=ue.y-de.y+ie;function pe(e,t,n=ee){let r=C.x+e,i=C.y+t,a=r+N,o=i+M,s=Math.max(r,n.left),c=Math.max(i,n.top),l=Math.min(a,n.right),u=Math.min(o,n.bottom);return Math.max(0,(l-s)*(u-c))}let me=pe(X,Z),he=pe(X,Z,U),ge=xl(S,[`t`,`l`]),_e=xl(C,[`t`,`l`]),ve=xl(S,[`b`,`r`]),ye=xl(C,[`b`,`r`]),{adjustX:be,adjustY:Q,shiftX:xe,shiftY:Se}=b.overflow||{},Ce=e=>typeof e==`boolean`?e:e>=0,we,Te,Ee,De;function Oe(){we=C.y+Z,Te=we+M,Ee=C.x+X,De=Ee+N}Oe();let ke=Ce(Q),Ae=le[0]===ce[0];if(ke&&le[0]===`t`&&(Te>te.bottom||p.current.bt)){let e=Z;Ae?e-=M-P:e=ge.y-ye.y-ie;let t=pe(X,e),n=pe(X,e,U);t>me||t===me&&(!V||n>=he)?(p.current.bt=!0,Z=e,ie=-ie,Y=[Sl(Y[0],0),Sl(Y[1],0)]):p.current.bt=!1}if(ke&&le[0]===`b`&&(weme||t===me&&(!V||n>=he)?(p.current.tb=!0,Z=e,ie=-ie,Y=[Sl(Y[0],0),Sl(Y[1],0)]):p.current.tb=!1}let je=Ce(be),Me=le[1]===ce[1];if(je&&le[1]===`l`&&(De>te.right||p.current.rl)){let e=X;Me?e-=N-F:e=ge.x-ye.x-q;let t=pe(e,Z),n=pe(e,Z,U);t>me||t===me&&(!V||n>=he)?(p.current.rl=!0,X=e,q=-q,Y=[Sl(Y[0],1),Sl(Y[1],1)]):p.current.rl=!1}if(je&&le[1]===`r`&&(Eeme||t===me&&(!V||n>=he)?(p.current.lr=!0,X=e,q=-q,Y=[Sl(Y[0],1),Sl(Y[1],1)]):p.current.lr=!1}fe.points=[Cl(Y[0]),Cl(Y[1])],Oe();let Ne=xe===!0?0:xe;typeof Ne==`number`&&(EeU.right&&(X-=De-U.right-q,S.x>U.right-Ne&&(X+=S.x-U.right+Ne)));let Pe=Se===!0?0:Se;typeof Pe==`number`&&(weU.bottom&&(Z-=Te-U.bottom-ie,S.y>U.bottom-Pe&&(Z+=S.y-U.bottom+Pe)));let Fe=C.x+X,Le=Fe+N,ze=C.y+Z,Be=ze+M,Ve=S.x,He=Ve+F,Ue=S.y,We=Ue+P,Ge=(Math.max(Fe,Ve)+Math.min(Le,He))/2-Fe,Ke=(Math.max(ze,Ue)+Math.min(Be,We))/2-ze;s?.(t,fe);let qe=ne.right-C.x-(X+C.width),Je=ne.bottom-C.y-(Z+C.height);W===1&&(X=Math.floor(X),qe=Math.floor(qe)),G===1&&(Z=Math.floor(Z),Je=Math.floor(Je)),u({ready:!0,offsetX:X/W,offsetY:Z/G,offsetR:qe/W,offsetB:Je/G,arrowX:Ge/W,arrowY:Ke/G,scaleX:W,scaleY:G,align:fe})}}),h=()=>{d.current+=1;let e=d.current;Promise.resolve().then(()=>{d.current===e&&m()})},g=()=>{u(e=>({...e,ready:!1}))};return K(g,[r]),K(()=>{e||g()},[e]),[l.ready,l.offsetX,l.offsetY,l.offsetR,l.offsetB,l.arrowX,l.arrowY,l.scaleX,l.scaleY,l.align,h]}function Tl(){let e=o.useRef(null),t=()=>{e.current&&=(clearTimeout(e.current),null)};return o.useEffect(()=>()=>{t()},[]),(n,r)=>{t(),r===0?n():e.current=setTimeout(()=>{n()},r*1e3)}}function El(e,t,n,r,i){K(()=>{if(e&&t&&n){let e=t,a=n,o=ml(e),s=ml(a),c=pl(a),l=new Set([c,...o,...s]);function u(){r(),i()}return l.forEach(e=>{e.addEventListener(`scroll`,u,{passive:!0})}),c.addEventListener(`resize`,u,{passive:!0}),r(),()=>{l.forEach(e=>{e.removeEventListener(`scroll`,u),c.removeEventListener(`resize`,u)})}}},[e,t,n])}function Dl(e,t,n,r,i,a,s,c){let l=o.useRef(e);l.current=e;let u=o.useRef(!1);o.useEffect(()=>{if(t&&r&&(!i||a)){let e=()=>{u.current=!1},t=e=>{l.current&&!s(e.composedPath?.()?.[0]||e.target)&&!u.current&&c(!1)},i=pl(r);i.addEventListener(`pointerdown`,e,!0),i.addEventListener(`mousedown`,t,!0),i.addEventListener(`contextmenu`,t,!0);let a=nt(n);return a&&(a.addEventListener(`mousedown`,t,!0),a.addEventListener(`contextmenu`,t,!0)),()=>{i.removeEventListener(`pointerdown`,e,!0),i.removeEventListener(`mousedown`,t,!0),i.removeEventListener(`contextmenu`,t,!0),a&&(a.removeEventListener(`mousedown`,t,!0),a.removeEventListener(`contextmenu`,t,!0))}}},[t,n,r,i,a]);function d(){u.current=!0}return d}function Ol(){let[e,t]=o.useState(null),[n,r]=o.useState(!1),[i,a]=o.useState(!1),s=o.useRef(null);return[W(e=>{e===!1?(s.current=null,r(!1)):i&&n?s.current=e:(r(!0),t(e),s.current=null,n||a(!0))}),n,e,W(e=>{e?(a(!1),s.current&&=(t(s.current),null)):(a(!1),s.current=null)})]}function kl(){return kl=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:t,isMobile:n,ready:r,open:i,align:a,offsetR:s,offsetB:l,offsetX:u,offsetY:d,arrowPos:f,popupSize:p,motion:m,uniqueContainerClassName:h,uniqueContainerStyle:g}=e,_=`${t}-unique-container`,[v,y]=o.useState(!1),b=il(n,r,i,a,s,l,u,d),x=o.useRef(b);r&&(x.current=b);let S={};return p&&(S.width=p.width,S.height=p.height),o.createElement(Rn,kl({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,leavedClassName:`${_}-hidden`},m,{visible:i,onVisibleChanged:e=>{y(e)}}),({className:e,style:t})=>{let n=c(_,e,h,{[`${_}-visible`]:v});return o.createElement(`div`,{className:n,style:{"--arrow-x":`${f?.x||0}px`,"--arrow-y":`${f?.y||0}px`,...x.current,...S,...t,...g}})})},jl=({children:e,postTriggerProps:t})=>{let[n,r,i,a]=Ol(),s=o.useMemo(()=>!i||!t?i:t(i),[i,t]),[l,u]=o.useState(null),[d,f]=o.useState(null),p=o.useRef(null),m=W(e=>{p.current=e,Ie(e)&&l!==e&&u(e)}),h=o.useRef(null),g=Tl(),_=W((e,t)=>{h.current=t,g(()=>{n(e)},e.delay)}),v=e=>{g(()=>{h.current?.()||n(!1)},e)},y=W(e=>{a(e)}),[b,x,S,C,w,T,E,,,D,O]=wl(r,l,s?.target,s?.popupPlacement,s?.builtinPlacements||{},s?.popupAlign,void 0,!1),k=o.useMemo(()=>s?c(fl(s.builtinPlacements||{},s.prefixCls||``,D,!1),s.getPopupClassNameFromAlign?.(D)):``,[D,s?.getPopupClassNameFromAlign,s?.builtinPlacements,s?.prefixCls]),A=o.useMemo(()=>({show:_,hide:v}),[]);o.useEffect(()=>{O()},[s?.target]);let j=W(()=>(O(),Promise.resolve())),M=o.useRef({}),N=o.useContext(sl),P=o.useMemo(()=>({registerSubPopup:(e,t)=>{M.current[e]=t,N?.registerSubPopup(e,t)}}),[N]),F=s?.prefixCls;return o.createElement(cl.Provider,{value:A},e,s&&o.createElement(sl.Provider,{value:P},o.createElement(ol,{ref:m,portal:Rc,onEsc:s.onEsc,prefixCls:F,popup:s.popup,className:c(s.popupClassName,k,`${F}-unique-controlled`),style:s.popupStyle,target:s.target,open:r,keepDom:!0,fresh:!0,autoDestroy:!1,onVisibleChanged:y,ready:b,offsetX:x,offsetY:S,offsetR:C,offsetB:w,onAlign:O,onPrepare:j,onResize:e=>f({width:e.offsetWidth,height:e.offsetHeight}),arrowPos:{x:T,y:E},align:D,zIndex:s.zIndex,mask:s.mask,arrow:s.arrow,motion:s.popupMotion,maskMotion:s.maskMotion,getPopupContainer:s.getPopupContainer},o.createElement(Al,{prefixCls:F,isMobile:!1,ready:b,open:r,align:D,offsetR:C,offsetB:w,offsetX:x,offsetY:S,arrowPos:{x:T,y:E},popupSize:d,motion:s.popupMotion,uniqueContainerClassName:c(s.uniqueContainerClassName,k),uniqueContainerStyle:s.uniqueContainerStyle}))))};function Ml(e=Rc){return o.forwardRef((t,n)=>{let{prefixCls:r=`rc-trigger-popup`,children:i,action:a=`hover`,showAction:s,hideAction:l,popupVisible:u,defaultPopupVisible:d,onOpenChange:f,afterOpenChange:p,onPopupVisibleChange:m,afterPopupVisibleChange:h,mouseEnterDelay:g,mouseLeaveDelay:_=.1,focusDelay:v,blurDelay:y,mask:b,maskClosable:x=!0,getPopupContainer:S,forceRender:C,autoDestroy:w,popup:T,popupClassName:E,uniqueContainerClassName:D,uniqueContainerStyle:O,popupStyle:k,popupPlacement:A,builtinPlacements:j={},popupAlign:M,zIndex:N,stretch:P,getPopupClassNameFromAlign:F,fresh:I,unique:L,alignPoint:R,onPopupClick:z,onPopupAlign:B,arrow:V,popupMotion:U,maskMotion:ee,mobile:te,...ne}=t,G=w||!1,re=u===void 0,q=!!te,ie=o.useRef({}),oe=o.useContext(sl),J=o.useMemo(()=>({registerSubPopup:(e,t)=>{ie.current[e]=t,oe?.registerSubPopup(e,t)}}),[oe]),se=o.useContext(cl),ce=le(),[ue,de]=o.useState(null),fe=o.useRef(null),Y=W(e=>{fe.current=e,Ie(e)&&ue!==e&&de(e),oe?.registerSubPopup(ce,e)}),[X,Z]=o.useState(null),pe=o.useRef(null),me=W(e=>{let t=Le(e);Ie(t)&&X!==t&&(Z(t),pe.current=t)}),he={},ge=W(e=>{let t=X;return t?.contains(e)||nt(t)?.host===e||e===t||ue?.contains(e)||nt(ue)?.host===e||e===ue||Object.values(ie.current).some(t=>t?.contains(e)||e===t)}),_e=V?{...V===!0?{}:V}:null,[ye,be]=ae(d||!1,u),Q=ye||!1,Se=o.useMemo(()=>{let e=typeof i==`function`?i({open:Q}):i;return o.Children.only(e)},[i,Q]),Ce=Se?.props||{},we=W(()=>Q),Te=W((e=0)=>({popup:T,target:X,delay:e,prefixCls:r,popupClassName:E,uniqueContainerClassName:D,uniqueContainerStyle:O,popupStyle:k,popupPlacement:A,builtinPlacements:j,popupAlign:M,zIndex:N,mask:b,maskClosable:x,popupMotion:U,maskMotion:ee,arrow:_e,getPopupContainer:S,getPopupClassNameFromAlign:F,id:ce,onEsc:Ae}));K(()=>{se&&L&&X&&!re&&!oe&&(Q?se.show(Te(g),we):se.hide(_))},[Q,X]);let Ee=o.useRef(Q);Ee.current=Q;let De=W(e=>{(0,H.flushSync)(()=>{Q!==e&&(be(e),f?.(e),m?.(e))})}),Oe=Tl(),ke=(e,t=0)=>{if(u!==void 0){Oe(()=>{De(e)},t);return}if(se&&L&&re&&!oe){e?se.show(Te(t),we):se.hide(t);return}Oe(()=>{De(e)},t)};function Ae({top:e}){e&&ke(!1)}let[je,Me]=o.useState(!1);K(e=>{(!e||Q)&&Me(!0)},[Q]);let[Ne,Pe]=o.useState(null),[Fe,Re]=o.useState(null),ze=e=>{Re([e.clientX,e.clientY])},[Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe]=wl(Q,ue,R&&Fe!==null?Fe:X,A,j,M,B,q),[Ze,Qe]=ul(a,s,l),$e=Ze.has(`click`),et=Qe.has(`click`)||Qe.has(`contextMenu`),tt=W(()=>{je||Xe()});El(Q,X,ue,tt,()=>{Ee.current&&R&&et&&ke(!1)}),K(()=>{tt()},[Fe,A]),K(()=>{Q&&!j?.[A]&&tt()},[JSON.stringify(M)]);let rt=o.useMemo(()=>c(fl(j,r,Ye,R),F?.(Ye)),[Ye,F,j,r,R]);o.useImperativeHandle(n,()=>({nativeElement:pe.current,popupElement:fe.current,forceAlign:tt}));let[it,at]=o.useState(0),[$,ot]=o.useState(0),st=()=>{if(P&&X){let e=X.getBoundingClientRect();at(e.width),ot(e.height)}},ct=()=>{st(),tt()},lt=e=>{Me(!1),Xe(),p?.(e),h?.(e)},ut=()=>new Promise(e=>{st(),Pe(()=>e)});K(()=>{Ne&&(Xe(),Ne(),Pe(null))},[Ne]);function dt(e,t,n,r,i){he[e]=(a,...o)=>{(!i||!i())&&(r?.(a),ke(t,n)),Ce[e]?.(a,...o)}}let ft=Ze.has(`touch`),pt=Qe.has(`touch`),mt=o.useRef(!1);(ft||pt)&&(he.onTouchStart=(...e)=>{mt.current=!0,Ee.current&&pt?ke(!1):!Ee.current&&ft&&ke(!0),Ce.onTouchStart?.(...e)}),($e||et)&&(he.onClick=(e,...t)=>{Ee.current&&et?ke(!1):!Ee.current&&$e&&(ze(e),ke(!0)),Ce.onClick?.(e,...t),mt.current=!1});let ht=Dl(Q,et||pt,X,ue,b,x,ge,ke),gt=Ze.has(`hover`),_t=Qe.has(`hover`),vt,yt,bt=()=>mt.current;if(gt){let e=e=>{ze(e)};dt(`onMouseEnter`,!0,g,e,bt),dt(`onPointerEnter`,!0,g,e,bt),vt=e=>{(Q||je)&&ue?.contains(e.target)&&ke(!0,g)},R&&(he.onMouseMove=e=>{Ce.onMouseMove?.(e)})}_t&&(dt(`onMouseLeave`,!1,_,void 0,bt),dt(`onPointerLeave`,!1,_,void 0,bt),yt=()=>{ke(!1,_)}),Ze.has(`focus`)&&dt(`onFocus`,!0,v),Qe.has(`focus`)&&dt(`onBlur`,!1,y),Ze.has(`contextMenu`)&&(he.onContextMenu=(e,...t)=>{Ee.current&&Qe.has(`contextMenu`)?ke(!1):(ze(e),ke(!0)),e.preventDefault(),Ce.onContextMenu?.(e,...t)});let xt=o.useRef(!1);xt.current||=C||Q||je;let St={...Ce,...he},Ct={};[`onContextMenu`,`onClick`,`onMouseDown`,`onTouchStart`,`onMouseEnter`,`onMouseLeave`,`onFocus`,`onBlur`].forEach(e=>{ne[e]&&(Ct[e]=(...t)=>{St[e]?.(...t),ne[e](...t)})});let wt={x:Ge,y:Ke};qc(Q,X,ct);let Tt=ve(me,xe(Se)),Et=o.cloneElement(Se,{...St,...Ct,ref:Tt});return o.createElement(o.Fragment,null,Et,xt.current&&(!se||!L)&&o.createElement(sl.Provider,{value:J},o.createElement(ol,{portal:e,ref:Y,prefixCls:r,popup:T,className:c(E,!q&&rt),style:k,target:X,onMouseEnter:vt,onMouseLeave:yt,onPointerEnter:vt,zIndex:N,open:Q,keepDom:je,fresh:I,onClick:z,onPointerDownCapture:ht,mask:b,motion:U,maskMotion:ee,onVisibleChanged:lt,onPrepare:ut,forceRender:C,autoDestroy:G,getPopupContainer:S,onEsc:Ae,align:Ye,arrow:_e,arrowPos:wt,ready:Be,offsetX:Ve,offsetY:He,offsetR:Ue,offsetB:We,onAlign:tt,stretch:P,targetWidth:it/qe,targetHeight:$/Je,mobile:te})))})}var Nl=Ml(Rc);function Pl(e){return e&&o.isValidElement(e)&&e.type===o.Fragment}var Fl=(e,t,n)=>o.isValidElement(e)?o.cloneElement(e,Xn(n)?n(e.props||{}):n):t;function Il(e,t){return Fl(e,e,t)}var Ll=({children:e})=>{let{getPrefixCls:t}=o.useContext(mr),n=t();return o.isValidElement(e)?o.createElement(Rn,{visible:!0,motionName:`${n}-fade`,motionAppear:!0,motionEnter:!0,motionLeave:!1,removeOnLeave:!1},({style:t,className:n})=>Il(e,e=>({className:c(e.className,n),style:{...e.style,...t}}))):e},Rl=[null,null];function zl(e){if(Rl[0]!==e){let t={};Object.keys(e).forEach(n=>{t[n]={...e[n],dynamicInset:!1}}),Rl[0]=e,Rl[1]=t}return Rl[1]}var Bl=({children:e})=>o.createElement(jl,{postTriggerProps:e=>{let{id:t,builtinPlacements:n,popup:r}=e,i=Xn(r)?r():r,a=zl(n);return{...e,getPopupContainer:null,arrow:!1,popup:o.createElement(Ll,{key:t},i),builtinPlacements:a}}},e),Vl=o.createContext(!1),Hl=({children:e,disabled:t})=>{let n=o.useContext(Vl);return o.createElement(Vl.Provider,{value:t??n},e)},Ul=o.createContext(void 0),Wl=({children:e,size:t})=>{let n=o.useContext(Ul);return o.createElement(Ul.Provider,{value:t||n},e)};function Gl(){return{componentDisabled:(0,o.useContext)(Vl),componentSize:(0,o.useContext)(Ul)}}function Kl(e,t,n){dr(`ConfigProvider`);let r=e||{},i=r.inherit===!1||!t?{...Hs,hashed:t?.hashed??Hs.hashed,cssVar:t?.cssVar}:t,a=(0,o.useId)();return ue(()=>{if(!e)return t;let o={...i.components};Object.keys(e.components||{}).forEach(t=>{o[t]={...o[t],...e.components[t]}});let s=`css-var-${a.replace(/:/g,``)}`,c={prefix:n?.prefixCls,...i.cssVar,...r.cssVar,key:r.cssVar?.key||s};return{...i,...r,token:{...i.token,...r.token},components:o,cssVar:c}},[r,i],(e,t)=>e.some((e,n)=>{let r=t[n];return!yt(e,r,!0)}))}var ql=o.createContext(!0);function Jl(e){let t=o.useContext(ql),{children:n}=e,[,r]=Zs(),{motion:i}=r,a=o.useRef(!1);return a.current||=t!==i,a.current?o.createElement(ql.Provider,{value:i},o.createElement(Yt,{motion:i},n)):n}var Yl=()=>null,Xl=({iconPrefixCls:e,csp:t})=>(nc(e,t),null),Zl=[`getTargetContainer`,`getPopupContainer`,`renderEmpty`,`input`,`pagination`,`form`,`select`,`button`],Ql,$l,eu,tu;function nu(){return Ql||`ant`}function ru(){return $l||`anticon`}var iu=e=>{let{prefixCls:t,iconPrefixCls:n,theme:r,holderRender:i}=e;t!==void 0&&(Ql=t),n!==void 0&&($l=n),`holderRender`in e&&(tu=i),r&&(eu=r)},au=()=>({getPrefixCls:(e,t)=>t||(e?`${nu()}-${e}`:nu()),getIconPrefixCls:ru,getRootPrefixCls:()=>Ql||nu(),getTheme:()=>eu,holderRender:tu}),ou=e=>{let{children:t,csp:n,autoInsertSpaceInButton:r,alert:i,affix:a,anchor:s,app:c,form:u,locale:d,componentSize:f,direction:p,space:m,splitter:h,virtual:g,dropdownMatchSelectWidth:_,popupMatchSelectWidth:v,popupOverflow:y,legacyLocale:b,parentContext:x,iconPrefixCls:S,theme:C,componentDisabled:w,segmented:T,statistic:E,spin:D,calendar:O,carousel:k,cascader:A,collapse:j,typography:M,checkbox:N,descriptions:P,divider:F,drawer:I,skeleton:L,steps:R,image:z,layout:B,list:V,mentions:H,modal:U,progress:ee,result:te,slider:ne,breadcrumb:W,masonry:G,menu:re,pagination:K,input:q,inputPassword:ie,inputSearch:ae,textArea:oe,otp:J,empty:se,badge:ce,borderBeam:le,radio:de,rate:fe,ribbon:Y,switch:X,transfer:Z,avatar:pe,message:me,tag:he,table:ge,card:_e,cardMeta:ve,tabs:ye,timeline:be,timePicker:Q,upload:xe,notification:Se,tree:Ce,colorPicker:we,datePicker:Te,rangePicker:Ee,flex:De,wave:Oe,dropdown:ke,warning:Ae,tour:je,tooltip:Me,popover:Ne,popconfirm:Pe,qrcode:Fe,floatButton:Ie,floatButtonGroup:Le,variant:Re,inputNumber:ze,treeSelect:Be,watermark:Ve}=e,He=o.useMemo(()=>Yn(d)&&Object.prototype.hasOwnProperty.call(d,`default`)&&d.default?.locale?d.default:d,[d]),Ue=o.useCallback((t,n)=>{let{prefixCls:r}=e;if(n)return n;let i=r||x.getPrefixCls(``);return t?`${i}-${t}`:i},[x.getPrefixCls,e.prefixCls]),We=S||x.iconPrefixCls||`anticon`,Ge=n||x.csp,Ke=Kl(C,x.theme,{prefixCls:Ue(``)}),qe={csp:Ge,autoInsertSpaceInButton:r,alert:i,affix:a,anchor:s,app:c,locale:He||b,direction:p,space:m,splitter:h,virtual:g,popupMatchSelectWidth:v??_,popupOverflow:y,getPrefixCls:Ue,iconPrefixCls:We,theme:Ke,segmented:T,statistic:E,spin:D,calendar:O,carousel:k,cascader:A,collapse:j,typography:M,checkbox:N,descriptions:P,divider:F,drawer:I,skeleton:L,steps:R,image:z,input:q,inputPassword:ie,inputSearch:ae,textArea:oe,otp:J,layout:B,list:V,mentions:H,modal:U,progress:ee,result:te,slider:ne,breadcrumb:W,masonry:G,menu:re,pagination:K,empty:se,badge:ce,borderBeam:le,radio:de,rate:fe,ribbon:Y,switch:X,transfer:Z,avatar:pe,message:me,tag:he,table:ge,card:_e,cardMeta:ve,tabs:ye,timeline:be,timePicker:Q,upload:xe,notification:Se,tree:Ce,colorPicker:we,datePicker:Te,rangePicker:Ee,flex:De,wave:Oe,dropdown:ke,warning:Ae,tour:je,tooltip:Me,popover:Ne,popconfirm:Pe,qrcode:Fe,floatButton:Ie,floatButtonGroup:Le,variant:Re,inputNumber:ze,treeSelect:Be,watermark:Ve},Je={...x};Object.keys(qe).forEach(e=>{qe[e]!==void 0&&(Je[e]=qe[e])}),Zl.forEach(t=>{let n=e[t];n&&(Je[t]=n)}),r!==void 0&&(Je.button={autoInsertSpace:r,...Je.button});let Ye=ue(()=>Je,Je,(e,t)=>{let n=Object.keys(e),r=Object.keys(t);return n.length!==r.length||n.some(n=>e[n]!==t[n])}),{layer:Xe}=o.useContext(Dr),Ze=o.useMemo(()=>({prefixCls:We,csp:Ge,layer:Xe?`antd`:void 0,zeroRuntime:Ke?.zeroRuntime}),[We,Ge,Xe,Ke?.zeroRuntime]),Qe=o.createElement(o.Fragment,null,o.createElement(Xl,{iconPrefixCls:We,csp:Ge}),o.createElement(Yl,{dropdownMatchSelectWidth:_}),t),$e=o.useMemo(()=>Wt(uc.Form?.defaultValidateMessages||{},Ye.locale?.Form?.defaultValidateMessages||{},Ye.form?.validateMessages||{},u?.validateMessages||{}),[Ye,u?.validateMessages]);Object.keys($e).length>0&&(Qe=o.createElement(rc.Provider,{value:$e},Qe)),He&&(Qe=o.createElement(yc,{locale:He,_ANT_MARK__:vc},Qe)),(We||Ge)&&(Qe=o.createElement(l.Provider,{value:Ze},Qe)),f&&(Qe=o.createElement(Wl,{size:f},Qe)),Qe=o.createElement(Jl,null,Qe),Me?.unique&&(Qe=o.createElement(Bl,null,Qe));let et=o.useMemo(()=>{let{algorithm:e,token:t,components:n,cssVar:r,...i}=Ke||{},a=e&&(!Array.isArray(e)||e.length>0)?Nr(e):Vs,o={};Object.entries(n||{}).forEach(([e,t])=>{let n={...t};`algorithm`in n&&(n.algorithm===!0?n.theme=a:(Array.isArray(n.algorithm)||Xn(n.algorithm))&&(n.theme=Nr(n.algorithm)),delete n.algorithm),o[e]=n});let s={...Io,...t};return{...i,theme:a,token:s,components:o,override:{override:s,...o},cssVar:r}},[Ke]);return C&&(Qe=o.createElement(Us.Provider,{value:et},Qe)),Ye.warning&&(Qe=o.createElement(ur.Provider,{value:Ye.warning},Qe)),w!==void 0&&(Qe=o.createElement(Hl,{disabled:w},Qe)),o.createElement(mr.Provider,{value:Ye},Qe)},su=e=>{let t=o.useContext(mr),n=o.useContext(gc);return o.createElement(ou,{parentContext:t,legacyLocale:n,...e})};su.ConfigContext=mr,su.SizeContext=Ul,su.config=iu,su.useConfig=Gl,Object.defineProperty(su,"SizeContext",{get:()=>Ul});var cu=$s(`Wave`,e=>{let{componentCls:t,colorPrimary:n,motionDurationSlow:r,motionEaseInOut:i,motionEaseOutCirc:a,antCls:o}=e,[,s]=tc(o,`wave`);return{[t]:{position:`absolute`,background:`transparent`,pointerEvents:`none`,boxSizing:`border-box`,color:s(`color`,n),boxShadow:`0 0 0 0 currentcolor`,opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s`,`opacity 2s`].map(e=>`${e} ${a}`).join(`,`),"&-active":{boxShadow:`0 0 0 6px currentcolor`,opacity:0},"&.wave-quick":{transition:[`box-shadow`,`opacity`].map(e=>`${e} ${r} ${i}`).join(`,`)}}}}}),lu=`ant-wave-target`,uu=e=>e?Jn(e)&&e!==`#fff`&&e!==`#ffffff`&&e!==`rgb(255, 255, 255)`&&e!==`rgba(255, 255, 255, 1)`&&!/rgba\((?:\d*, ){3}0\)/i.test(e)&&!/^#(?:[0-9a-f]{3}0|[0-9a-f]{6}00)$/i.test(e)&&e!==`transparent`&&e!==`canvastext`:!1;function du(e,t=null){let n=getComputedStyle(e),{borderTopColor:r,borderColor:i,backgroundColor:a}=n;return t&&uu(n[t])?n[t]:[r,i,a].find(uu)??null}function fu(e){return Number.isNaN(e)?0:e}var pu=e=>{let{className:t,target:n,component:r,colorSource:i}=e,a=o.useRef(null),{getPrefixCls:s}=o.useContext(mr),[l]=tc(s(),`wave`),[u,d]=o.useState(null),[f,p]=o.useState([]),[m,h]=o.useState(0),[g,_]=o.useState(0),[v,y]=o.useState(0),[b,x]=o.useState(0),[S,C]=o.useState(!1),w={left:m,top:g,width:v,height:b,borderRadius:f.map(e=>`${e}px`).join(` `)};u&&(w[l(`color`)]=u);function T(){let e=getComputedStyle(n);d(du(n,i));let t=e.position===`static`,{borderLeftWidth:r,borderTopWidth:a}=e;h(t?n.offsetLeft:fu(-Number.parseFloat(r))),_(t?n.offsetTop:fu(-Number.parseFloat(a))),y(n.offsetWidth),x(n.offsetHeight);let{borderTopLeftRadius:o,borderTopRightRadius:s,borderBottomLeftRadius:c,borderBottomRightRadius:l}=e;p([o,s,l,c].map(e=>fu(Number.parseFloat(e))))}if(o.useEffect(()=>{if(n){let e=Pt(()=>{T(),C(!0)}),t;return typeof ResizeObserver<`u`&&(t=new ResizeObserver(T),t.observe(n)),()=>{Pt.cancel(e),t?.disconnect()}}},[n]),!S)return null;let E=(r===`Checkbox`||r===`Radio`)&&n?.classList.contains(lu);return o.createElement(Rn,{visible:!0,motionAppear:!0,motionName:`wave-motion`,motionDeadline:5e3,onAppearEnd:(e,t)=>{if(t.deadline||$n(t)&&t.propertyName===`opacity`){let e=a.current?.parentElement;qt(e).then(()=>{e?.remove()})}return!1}},({className:e},n)=>o.createElement(`div`,{ref:_e(a,n),className:c(t,e,{"wave-quick":E}),style:w}))},mu=(e,t)=>{let{component:n}=t;if(n===`Checkbox`&&!e.querySelector(`input`)?.checked)return;let r=document.createElement(`div`);r.style.position=`absolute`,r.style.left=`0px`,r.style.top=`0px`,e?.insertBefore(r,e?.firstChild),Kt(o.createElement(pu,{...t,target:e}),r)},hu=(e,t,n,r)=>{let{wave:i}=o.useContext(mr),[,a,s]=Zs(),c=W(o=>{let c=e.current;if(i?.disabled||!c)return;let l=c.querySelector(`.${lu}`)||c,{showEffect:u}=i||{};(u||mu)(l,{className:t,token:a,component:n,event:o,hashId:s,colorSource:r})}),l=o.useRef(null);return o.useEffect(()=>()=>{Pt.cancel(l.current)},[]),e=>{Pt.cancel(l.current),l.current=Pt(()=>{c(e)})}},gu={click:`click`,mousedown:`mousedown`,mouseup:`mouseup`,pointerdown:`pointerdown`,pointerup:`pointerup`},_u=e=>{let{children:t,disabled:n,component:r,colorSource:i}=e,{getPrefixCls:a,wave:s}=(0,o.useContext)(mr),l=(0,o.useRef)(null),u=a(`wave`),d=hu(l,c(u,cu(u)),r,i);return o.useEffect(()=>{let e=l.current;if(!e||e.nodeType!==window.Node.ELEMENT_NODE||n)return;let t=t=>{!Re(t.target)||!e.getAttribute||e.getAttribute(`disabled`)||e.disabled||e.className.includes(`disabled`)&&!e.className.includes(`disabled:`)||e.getAttribute(`aria-disabled`)===`true`||e.className.includes(`-leave`)||d(t)},r=s?.triggerType,i=r&&r in gu?gu[r]:`click`;return e.addEventListener(i,t,!0),()=>{e.removeEventListener(i,t,!0)}},[n,s?.triggerType]),o.isValidElement(t)?Il(t,{ref:ye(t)?_e(xe(t),l):l}):t??null},vu=e=>{let t=o.useContext(Ul);return o.useMemo(()=>e?Jn(e)?e??t:Xn(e)?e(t):t:t,[e,t])};function yu(...e){return e.find(e=>e!==void 0)}var bu=e=>{let{allowClear:t,clearIcon:n,contextAllowClear:r,contextClearIcon:i,defaultAllowClear:a,componentName:s}=e;return(0,o.useMemo)(()=>t??r??a?{clearIcon:yu(Yn(t)?t?.clearIcon:n,Yn(r)?r?.clearIcon:i,o.createElement(B,null)),disabled:(Yn(t)?t?.disabled:void 0)??(Yn(r)?r?.disabled:void 0)}:!1,[t,n,r,i,a])},xu=e=>e===`horizontal`||e===`vertical`,Su=(e,t,n)=>(0,o.useMemo)(()=>{let r=xu(e),i;return i=r?e:typeof t==`boolean`?t?`vertical`:`horizontal`:xu(n)?n:`horizontal`,[i,i===`vertical`]},[n,e,t]),Cu=o.createContext(void 0),wu=100,Tu=wu*10,Eu={Modal:wu,Drawer:wu,Popover:wu,Popconfirm:wu,Tooltip:wu,Tour:wu,FloatButton:wu},Du={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1},Ou=e=>e in Eu,ku=(e,t)=>{let[,n]=Zs(),r=o.useContext(Cu),i=Ou(e),a;if(t!==void 0)a=[t,t];else{let o=r??0;i?o+=(r?0:n.zIndexPopupBase)+Eu[e]:o+=Du[e],a=[r===void 0?t:o,o]}return a},Au=Qs([`Space`,`Compact`],e=>{let{componentCls:t}=e;return{[t]:{display:`inline-flex`,"&-block":{display:`flex`,width:`100%`},"&-vertical":{flexDirection:`column`},"&-rtl":{direction:`rtl`}}}},()=>({}),{resetStyle:!1}),ju=o.createContext(null),Mu=(e,t)=>{let n=o.useContext(ju),r=o.useMemo(()=>{if(!n)return``;let{compactDirection:r,isFirstItem:i,isLastItem:a}=n,o=r===`vertical`?`-vertical-`:`-`;return c(`${e}-compact${o}item`,{[`${e}-compact${o}first-item`]:i,[`${e}-compact${o}last-item`]:a,[`${e}-compact${o}item-rtl`]:t===`rtl`})},[e,t,n]);return{compactSize:n?.compactSize,compactDirection:n?.compactDirection,compactItemClassnames:r}},Nu=e=>{let{children:t}=e;return o.createElement(ju.Provider,{value:null},t)},Pu=e=>{let{children:t,...n}=e;return o.createElement(ju.Provider,{value:o.useMemo(()=>n,[n])},t)},Fu=e=>{let{getPrefixCls:t,direction:n}=o.useContext(mr),{size:r,direction:i,orientation:a,block:s,prefixCls:l,className:u,rootClassName:d,children:f,vertical:p,...m}=e,[h,g]=Su(a,p,i),_=vu(e=>r??e),v=t(`space-compact`,l),[y]=Au(v),b=c(v,y,{[`${v}-rtl`]:n===`rtl`,[`${v}-block`]:s,[`${v}-vertical`]:g},u,d),x=o.useContext(ju),S=Ft(f),C=o.useMemo(()=>S.map((e,t)=>{let n=e?.key||`${v}-item-${t}`;return o.createElement(Pu,{key:n,compactSize:_,compactDirection:h,isFirstItem:t===0&&(!x||x?.isFirstItem),isLastItem:t===S.length-1&&(!x||x?.isLastItem)},e)}),[S,x,h,_,v]);return S.length===0?null:o.createElement(`div`,{className:b,...m},C)},Iu=o.createContext(void 0),Lu=e=>{let{getPrefixCls:t,direction:n}=o.useContext(mr),{prefixCls:r,size:i,className:a,...s}=e,l=t(`btn-group`,r),[,,u]=Zs(),d=o.useMemo(()=>{switch(i){case`large`:return`lg`;case`small`:return`sm`;default:return``}},[i]),f=c(l,{[`${l}-${d}`]:d,[`${l}-rtl`]:n===`rtl`},a,u);return o.createElement(Iu.Provider,{value:i},o.createElement(`div`,{...s,className:f}))},Ru=/^[\u4E00-\u9FA5]{2}$/,zu=Ru.test.bind(Ru);function Bu(e){return e===`danger`?{danger:!0}:{type:e}}function Vu(e){return e===`text`||e===`link`}function Hu(e,t,n,r){if(!Kn(e))return;let i=t?` `:``;return!Jn(e)&&!qn(e)&&Jn(e.type)&&zu(e.props.children)?Il(e,e=>{let t=c(e.className,r)||void 0,a={...n,...e.style};return{...e,children:e.children.split(``).join(i),className:t,style:a}}):Jn(e)?o.createElement(`span`,{className:r,style:n},zu(e)?e.split(``).join(i):e):Pl(e)?o.createElement(`span`,{className:r,style:n},e):Il(e,e=>({...e,className:c(e.className,r)||void 0,style:{...e.style,...n}}))}function Uu(e,t,n,r){let i=!1,a=[];return o.Children.forEach(e,e=>{let t=Jn(e)||qn(e);if(i&&t){let t=a.length-1;a[t]=`${a[t]}${e}`}else a.push(e);i=t}),o.Children.map(a,e=>Hu(e,t,n,r))}[`default`,`primary`,`danger`].concat(Wn(ks));var Wu=a(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z`}}]},name:`loading`,theme:`outlined`}}))());function Gu(){return Gu=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,Gu({},e,{ref:t,icon:Wu.default}))),qu=(0,o.forwardRef)((e,t)=>{let{className:n,style:r,children:i,prefixCls:a}=e,s=c(`${a}-icon`,n);return o.createElement(`span`,{ref:t,className:s,style:r},i)}),Ju=(0,o.forwardRef)((e,t)=>{let{prefixCls:n,className:r,style:i,iconClassName:a}=e,s=c(`${n}-loading-icon`,r);return o.createElement(qu,{prefixCls:n,className:s,style:i,ref:t},o.createElement(Ku,{className:a}))}),Yu=()=>({width:0,opacity:0,transform:`scale(0)`}),Xu=e=>({width:e.scrollWidth,opacity:1,transform:`scale(1)`}),Zu=e=>{let{prefixCls:t,loading:n,existIcon:r,className:i,style:a,mount:s}=e,l=!!n;return r?o.createElement(Ju,{prefixCls:t,className:i,style:a}):o.createElement(Rn,{visible:l,motionName:`${t}-loading-icon-motion`,motionAppear:!s,motionEnter:!s,motionLeave:!s,removeOnLeave:!0,onAppearStart:Yu,onAppearActive:Xu,onEnterStart:Yu,onEnterActive:Xu,onLeaveStart:Xu,onLeaveActive:Yu},({className:e,style:n},r)=>{let s={...a,...n};return o.createElement(Ju,{prefixCls:t,className:c(i,e),style:s,ref:r})})},Qu=e=>({animationDuration:e,animationFillMode:`both`}),$u=(e,t,n,r,i=!1)=>{let a=i?`&`:``;return{[` + ${a}${e}-enter, + ${a}${e}-appear + `]:{...Qu(r),animationPlayState:`paused`},[`${a}${e}-leave`]:{...Qu(r),animationPlayState:`paused`},[` + ${a}${e}-enter${e}-enter-active, + ${a}${e}-appear${e}-appear-active + `]:{animationName:t,animationPlayState:`running`},[`${a}${e}-leave${e}-leave-active`]:{animationName:n,animationPlayState:`running`,pointerEvents:`none`}}},ed=new Aa(`antMoveDownIn`,{"0%":{transform:`translate3d(0, 100%, 0)`,transformOrigin:`0 0`,opacity:0},"100%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1}}),td=new Aa(`antMoveDownOut`,{"0%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1},"100%":{transform:`translate3d(0, 100%, 0)`,transformOrigin:`0 0`,opacity:0}}),nd=new Aa(`antMoveLeftIn`,{"0%":{transform:`translate3d(-100%, 0, 0)`,transformOrigin:`0 0`,opacity:0},"100%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1}}),rd=new Aa(`antMoveLeftOut`,{"0%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1},"100%":{transform:`translate3d(-100%, 0, 0)`,transformOrigin:`0 0`,opacity:0}}),id=new Aa(`antMoveRightIn`,{"0%":{transform:`translate3d(100%, 0, 0)`,transformOrigin:`0 0`,opacity:0},"100%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1}}),ad=new Aa(`antMoveRightOut`,{"0%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1},"100%":{transform:`translate3d(100%, 0, 0)`,transformOrigin:`0 0`,opacity:0}}),od={"move-up":{inKeyframes:new Aa(`antMoveUpIn`,{"0%":{transform:`translate3d(0, -100%, 0)`,transformOrigin:`0 0`,opacity:0},"100%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1}}),outKeyframes:new Aa(`antMoveUpOut`,{"0%":{transform:`translate3d(0, 0, 0)`,transformOrigin:`0 0`,opacity:1},"100%":{transform:`translate3d(0, -100%, 0)`,transformOrigin:`0 0`,opacity:0}})},"move-down":{inKeyframes:ed,outKeyframes:td},"move-left":{inKeyframes:nd,outKeyframes:rd},"move-right":{inKeyframes:id,outKeyframes:ad}},sd=(e,t)=>{let{antCls:n}=e,r=`${n}-${t}`,{inKeyframes:i,outKeyframes:a}=od[t];return[$u(r,i,a,e.motionDurationMid),{[` + ${r}-enter, + ${r}-appear + `]:{opacity:0,animationTimingFunction:e.motionEaseOutCirc},[`${r}-leave`]:{animationTimingFunction:e.motionEaseInOutCirc}}]},cd=new Aa(`antSlideUpIn`,{"0%":{transform:`scaleY(0.8)`,transformOrigin:`0% 0%`,opacity:0},"100%":{transform:`scaleY(1)`,transformOrigin:`0% 0%`,opacity:1}}),ld=new Aa(`antSlideUpOut`,{"0%":{transform:`scaleY(1)`,transformOrigin:`0% 0%`,opacity:1},"100%":{transform:`scaleY(0.8)`,transformOrigin:`0% 0%`,opacity:0}}),ud=new Aa(`antSlideDownIn`,{"0%":{transform:`scaleY(0.8)`,transformOrigin:`100% 100%`,opacity:0},"100%":{transform:`scaleY(1)`,transformOrigin:`100% 100%`,opacity:1}}),dd=new Aa(`antSlideDownOut`,{"0%":{transform:`scaleY(1)`,transformOrigin:`100% 100%`,opacity:1},"100%":{transform:`scaleY(0.8)`,transformOrigin:`100% 100%`,opacity:0}}),fd=new Aa(`antSlideLeftIn`,{"0%":{transform:`scaleX(0.8)`,transformOrigin:`0% 0%`,opacity:0},"100%":{transform:`scaleX(1)`,transformOrigin:`0% 0%`,opacity:1}}),pd=new Aa(`antSlideLeftOut`,{"0%":{transform:`scaleX(1)`,transformOrigin:`0% 0%`,opacity:1},"100%":{transform:`scaleX(0.8)`,transformOrigin:`0% 0%`,opacity:0}}),md=new Aa(`antSlideRightIn`,{"0%":{transform:`scaleX(0.8)`,transformOrigin:`100% 0%`,opacity:0},"100%":{transform:`scaleX(1)`,transformOrigin:`100% 0%`,opacity:1}}),hd=new Aa(`antSlideRightOut`,{"0%":{transform:`scaleX(1)`,transformOrigin:`100% 0%`,opacity:1},"100%":{transform:`scaleX(0.8)`,transformOrigin:`100% 0%`,opacity:0}}),gd={"slide-up":{inKeyframes:cd,outKeyframes:ld},"slide-down":{inKeyframes:ud,outKeyframes:dd},"slide-left":{inKeyframes:fd,outKeyframes:pd},"slide-right":{inKeyframes:md,outKeyframes:hd}},_d=(e,t)=>{let{antCls:n}=e,r=`${n}-${t}`,{inKeyframes:i,outKeyframes:a}=gd[t];return[$u(r,i,a,e.motionDurationMid),{[` + ${r}-enter, + ${r}-appear + `]:{transform:`scale(0)`,transformOrigin:`0% 0%`,opacity:0,animationTimingFunction:e.motionEaseOutQuint,"&-prepare":{transform:`scale(1)`}},[`${r}-leave`]:{animationTimingFunction:e.motionEaseInQuint}}]},vd=()=>({"@media (prefers-reduced-motion: reduce)":{transition:`none`,animation:`none`}}),yd=(e,t)=>({[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}}),bd=e=>{let{componentCls:t,fontSize:n,lineWidth:r,groupBorderColor:i,colorErrorHover:a}=e;return{[`${t}-group`]:[{position:`relative`,display:`inline-flex`,[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:e.calc(r).mul(-1).equal(),[`&, & > ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:`relative`,zIndex:1,"&:hover, &:focus, &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${t}-icon-only`]:{fontSize:n}},yd(`${t}-primary`,i),yd(`${t}-danger`,a)]}},xd=e=>Math.round(Number(e||0)),Sd=e=>{if(e instanceof Ho)return e;if(e&&typeof e==`object`&&`h`in e&&`b`in e){let{b:t,...n}=e;return{...n,v:t}}return typeof e==`string`&&/hsb/.test(e)?e.replace(/hsb/,`hsv`):e},Cd=class extends Ho{constructor(e){super(Sd(e))}toHsbString(){let e=this.toHsb(),t=xd(e.s*100),n=xd(e.b*100),r=xd(e.h),i=e.a,a=`hsb(${r}, ${t}%, ${n}%)`,o=`hsba(${r}, ${t}%, ${n}%, ${i.toFixed(i===0?0:2)})`;return i===1?a:o}toHsb(){let{v:e,...t}=this.toHsv();return{...t,b:e,a:this.a}}};(e=>e instanceof Cd?e:new Cd(e))(`#1677ff`);var wd=(e,t)=>e?.replace(/[^0-9a-f]/gi,``).slice(0,t?8:6)||``,Td=(e,t)=>e?wd(e,t):``,Ed=function(){function e(t){if($a(this,e),this.cleared=!1,t instanceof e){this.metaColor=t.metaColor.clone(),this.colors=t.colors?.map(t=>({color:new e(t.color),percent:t.percent})),this.cleared=t.cleared;return}let n=Array.isArray(t);n&&t.length?(this.colors=t.map(({color:t,percent:n})=>({color:new e(t),percent:n})),this.metaColor=new Cd(this.colors[0].color.metaColor)):this.metaColor=new Cd(n?``:t),(!t||n&&!this.colors)&&(this.metaColor=this.metaColor.setA(0),this.cleared=!0)}return to(e,[{key:`toHsb`,value:function(){return this.metaColor.toHsb()}},{key:`toHsbString`,value:function(){return this.metaColor.toHsbString()}},{key:`toHex`,value:function(){return Td(this.toHexString(),this.metaColor.a<1)}},{key:`toHexString`,value:function(){return this.metaColor.toHexString()}},{key:`toRgb`,value:function(){return this.metaColor.toRgb()}},{key:`toRgbString`,value:function(){return this.metaColor.toRgbString()}},{key:`isGradient`,value:function(){return!!this.colors&&!this.cleared}},{key:`getColors`,value:function(){return this.colors||[{color:this,percent:0}]}},{key:`toCssString`,value:function(){let{colors:e}=this;return e?`linear-gradient(90deg, ${e.map(e=>`${e.color.toRgbString()} ${e.percent}%`).join(`, `)})`:this.metaColor.toRgbString()}},{key:`equals`,value:function(e){return!e||this.isGradient()!==e.isGradient()?!1:this.isGradient()?this.colors.length===e.colors.length&&this.colors.every((t,n)=>{let r=e.colors[n];return t.percent===r.percent&&t.color.equals(r.color)}):this.toHexString()===e.toHexString()}}])}();function Dd(){return Dd=Object.assign?Object.assign.bind():function(e){for(var t=1;t({height:0,opacity:0}),kd=e=>({height:e?.scrollHeight??0,opacity:+!!e}),Ad=e=>({height:e?.offsetHeight??0}),jd=(e,t)=>t?.deadline===!0||$n(t)&&t.propertyName===`height`,Md=(e=`ant`)=>({motionName:`${e}-motion-collapse`,onAppearStart:Od,onEnterStart:Od,onAppearActive:kd,onEnterActive:kd,onLeaveStart:Ad,onLeaveActive:Od,onAppearEnd:jd,onEnterEnd:jd,onLeaveEnd:jd,motionDeadline:500}),Nd=(e,t,n)=>n===void 0?`${e}-${t}`:n,Pd=e=>e instanceof Ed?e:new Ed(e),Fd=(e,t)=>{let{r:n,g:r,b:i,a}=e.toRgb(),o=new Cd(e.toRgbString()).onBackground(t).toHsv();return a<=.5?o.v>.5:n*.299+r*.587+i*.114>192},Id=e=>{let{paddingInline:t,onlyIconSize:n,borderColorDisabled:r}=e;return xo(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:0,buttonIconOnlyFontSize:n,colorBorderDisabled:r})},Ld=e=>{let t=e.contentFontSize??e.fontSize,n=e.contentFontSizeSM??e.fontSize,r=e.contentFontSizeLG??e.fontSizeLG,i=e.contentLineHeight??Mo(t),a=e.contentLineHeightSM??Mo(n),o=e.contentLineHeightLG??Mo(r),s=Fd(new Ed(e.colorBgSolid),`#fff`)?`#000`:`#fff`,c=ks.reduce((t,n)=>({...t,[`${n}ShadowColor`]:`0 ${Vr(e.controlOutlineWidth)} 0 ${Gs(e[`${n}1`],e.colorBgContainer)}`}),{}),l=e.colorBgContainerDisabled,u=e.colorBgContainerDisabled;return{...c,fontWeight:400,iconGap:e.marginXS,defaultShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlTmpOutline}`,primaryShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlOutline}`,dangerShadow:`0 ${e.controlOutlineWidth}px 0 ${e.colorErrorOutline}`,primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorderDisabled,defaultGhostColor:e.colorBgContainer,ghostBg:`transparent`,defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:`inherit`,onlyIconSizeSM:`inherit`,onlyIconSizeLG:`inherit`,groupBorderColor:e.colorPrimaryHover,linkHoverBg:`transparent`,textTextColor:e.colorText,textTextHoverColor:e.colorText,textTextActiveColor:e.colorText,textHoverBg:e.colorFillTertiary,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,defaultHoverBg:e.colorBgContainer,defaultHoverColor:e.colorPrimaryHover,defaultHoverBorderColor:e.colorPrimaryHover,defaultActiveBg:e.colorBgContainer,defaultActiveColor:e.colorPrimaryActive,defaultActiveBorderColor:e.colorPrimaryActive,solidTextColor:s,contentFontSize:t,contentFontSizeSM:n,contentFontSizeLG:r,contentLineHeight:i,contentLineHeightSM:a,contentLineHeightLG:o,paddingBlock:Math.max((e.controlHeight-t*i)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-n*a)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-r*o)/2-e.lineWidth,0),defaultBgDisabled:l,dashedBgDisabled:u}},Rd=e=>{let{componentCls:t,antCls:n,lineWidth:r}=e,[i,a]=tc(n,`btn`);return{[t]:[{[i(`border-width`)]:r,[i(`border-color`)]:`#000`,[i(`border-color-hover`)]:a(`border-color`),[i(`border-color-active`)]:a(`border-color`),[i(`border-color-disabled`)]:a(`border-color`),[i(`border-style`)]:`solid`,[i(`text-color`)]:`#000`,[i(`text-color-hover`)]:a(`text-color`),[i(`text-color-active`)]:a(`text-color`),[i(`text-color-disabled`)]:a(`text-color`),[i(`bg-color`)]:`#ddd`,[i(`bg-color-hover`)]:a(`bg-color`),[i(`bg-color-active`)]:a(`bg-color`),[i(`bg-color-disabled`)]:e.colorBgContainerDisabled,[i(`bg-color-container`)]:e.colorBgContainer,[i(`shadow`)]:`none`},{border:[a(`border-width`),a(`border-style`),a(`border-color`)].join(` `),color:a(`text-color`),backgroundColor:a(`bg-color`),[`&:not(:disabled):not(${t}-disabled)`]:{"&:hover":{border:[a(`border-width`),a(`border-style`),a(`border-color-hover`)].join(` `),color:a(`text-color-hover`),backgroundColor:a(`bg-color-hover`)},"&:active":{border:[a(`border-width`),a(`border-style`),a(`border-color-active`)].join(` `),color:a(`text-color-active`),backgroundColor:a(`bg-color-active`)}}},{[`&${t}-variant-solid`]:{[i(`solid-bg-color`)]:a(`color-base`),[i(`solid-bg-color-hover`)]:a(`color-hover`),[i(`solid-bg-color-active`)]:a(`color-active`),[i(`border-color`)]:`transparent`,[i(`text-color`)]:e.colorTextLightSolid,[i(`bg-color`)]:a(`solid-bg-color`),[i(`bg-color-hover`)]:a(`solid-bg-color-hover`),[i(`bg-color-active`)]:a(`solid-bg-color-active`),boxShadow:a(`shadow`)},[`&${t}-variant-outlined, &${t}-variant-dashed`]:{[i(`border-color`)]:a(`color-base`),[i(`border-color-hover`)]:a(`color-hover`),[i(`border-color-active`)]:a(`color-active`),[i(`bg-color`)]:a(`bg-color-container`),[i(`text-color`)]:a(`color-base`),[i(`text-color-hover`)]:a(`color-hover`),[i(`text-color-active`)]:a(`color-active`),boxShadow:a(`shadow`)},[`&${t}-variant-dashed`]:{[i(`border-style`)]:`dashed`,[i(`bg-color-disabled`)]:e.dashedBgDisabled},[`&${t}-variant-filled`]:{[i(`border-color`)]:`transparent`,[i(`text-color`)]:a(`color-base`),[i(`bg-color`)]:a(`color-light`),[i(`bg-color-hover`)]:a(`color-light-hover`),[i(`bg-color-active`)]:a(`color-light-active`)},[`&${t}-variant-text, &${t}-variant-link`]:{[i(`border-color`)]:`transparent`,[i(`text-color`)]:a(`color-base`),[i(`text-color-hover`)]:a(`color-hover`),[i(`text-color-active`)]:a(`color-active`),[i(`bg-color`)]:`transparent`,[i(`bg-color-hover`)]:`transparent`,[i(`bg-color-active`)]:`transparent`,[`&:disabled, &${e.componentCls}-disabled`]:{background:`transparent`,borderColor:`transparent`}},[`&${t}-variant-text`]:{[i(`bg-color-hover`)]:a(`color-light`),[i(`bg-color-active`)]:a(`color-light-active`)}},{[`&${t}-variant-link`]:{[i(`color-base`)]:e.colorLink,[i(`color-hover`)]:e.colorLinkHover,[i(`color-active`)]:e.colorLinkActive,[i(`bg-color-hover`)]:e.linkHoverBg},[`&${t}-color-primary`]:{[i(`color-base`)]:e.colorPrimary,[i(`color-hover`)]:e.colorPrimaryHover,[i(`color-active`)]:e.colorPrimaryActive,[i(`color-light`)]:e.colorPrimaryBg,[i(`color-light-hover`)]:e.colorPrimaryBgHover,[i(`color-light-active`)]:e.colorPrimaryBorder,[i(`shadow`)]:e.primaryShadow,[`&${t}-variant-solid`]:{[i(`text-color`)]:e.primaryColor,[i(`text-color-hover`)]:a(`text-color`),[i(`text-color-active`)]:a(`text-color`)}},[`&${t}-color-dangerous`]:{[i(`color-base`)]:e.colorError,[i(`color-hover`)]:e.colorErrorHover,[i(`color-active`)]:e.colorErrorActive,[i(`color-light`)]:e.colorErrorBg,[i(`color-light-hover`)]:e.colorErrorBgFilledHover,[i(`color-light-active`)]:e.colorErrorBgActive,[i(`shadow`)]:e.dangerShadow,[`&${t}-variant-solid`]:{[i(`text-color`)]:e.dangerColor,[i(`text-color-hover`)]:a(`text-color`),[i(`text-color-active`)]:a(`text-color`)}},[`&${t}-color-default`]:{[i(`solid-bg-color`)]:e.colorBgSolid,[i(`solid-bg-color-hover`)]:e.colorBgSolidHover,[i(`solid-bg-color-active`)]:e.colorBgSolidActive,[i(`color-base`)]:e.defaultBorderColor,[i(`color-hover`)]:e.defaultHoverBorderColor,[i(`color-active`)]:e.defaultActiveBorderColor,[i(`color-light`)]:e.colorFillTertiary,[i(`color-light-hover`)]:e.colorFillSecondary,[i(`color-light-active`)]:e.colorFill,[i(`text-color`)]:e.defaultColor,[i(`text-color-hover`)]:e.defaultHoverColor,[i(`text-color-active`)]:e.defaultActiveColor,[i(`shadow`)]:e.defaultShadow,[`&${t}-variant-outlined`]:{[i(`bg-color-disabled`)]:e.defaultBgDisabled},[`&${t}-variant-solid`]:{[i(`text-color`)]:e.solidTextColor,[i(`text-color-hover`)]:a(`text-color`),[i(`text-color-active`)]:a(`text-color`)},[`&${t}-variant-filled, &${t}-variant-text`]:{[i(`text-color-hover`)]:a(`text-color`),[i(`text-color-active`)]:a(`text-color`)},[`&${t}-variant-outlined, &${t}-variant-dashed`]:{[i(`text-color`)]:e.defaultColor,[i(`text-color-hover`)]:e.defaultHoverColor,[i(`text-color-active`)]:e.defaultActiveColor,[i(`bg-color-container`)]:e.defaultBg,[i(`bg-color-hover`)]:e.defaultHoverBg,[i(`bg-color-active`)]:e.defaultActiveBg},[`&${t}-variant-text`]:{[i(`text-color`)]:e.textTextColor,[i(`text-color-hover`)]:e.textTextHoverColor,[i(`text-color-active`)]:e.textTextActiveColor,[i(`bg-color-hover`)]:e.textHoverBg},[`&${t}-background-ghost`]:{[`&${t}-variant-outlined, &${t}-variant-dashed`]:{[i(`text-color`)]:e.defaultGhostColor,[i(`border-color`)]:e.defaultGhostBorderColor}}}},ks.map(n=>{let r=e[`${n}6`],a=e[`${n}1`],o=e[`${n}Hover`],s=e[`${n}2`],c=e[`${n}3`],l=e[`${n}Active`],u=e[`${n}ShadowColor`];return{[`&${t}-color-${n}`]:{[i(`color-base`)]:r,[i(`color-hover`)]:o,[i(`color-active`)]:l,[i(`color-light`)]:a,[i(`color-light-hover`)]:s,[i(`color-light-active`)]:c,[i(`shadow`)]:u}}}),{[`&:disabled, &${e.componentCls}-disabled`]:{cursor:`not-allowed`,borderColor:e.colorBorderDisabled,background:a(`bg-color-disabled`),color:e.colorTextDisabled,boxShadow:`none`}},{[`&${t}-background-ghost`]:{[i(`bg-color`)]:e.ghostBg,[i(`bg-color-hover`)]:e.ghostBg,[i(`bg-color-active`)]:e.ghostBg,[i(`shadow`)]:`none`,[`&${t}-variant-outlined, &${t}-variant-dashed`]:{[i(`bg-color-hover`)]:e.ghostBg,[i(`bg-color-active`)]:e.ghostBg}}}]}},zd=e=>{let{componentCls:t,iconCls:n,fontWeight:r,opacityLoading:i,motionDurationSlow:a,motionEaseInOut:o,iconGap:s,calc:c}=e;return{[t]:{outline:`none`,position:`relative`,display:`inline-flex`,gap:s,alignItems:`center`,justifyContent:`center`,fontWeight:r,whiteSpace:`nowrap`,textAlign:`center`,backgroundImage:`none`,cursor:`pointer`,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,userSelect:`none`,touchAction:`manipulation`,...vd(),"&:disabled > *":{pointerEvents:`none`},[`${t}-icon > svg`]:Pa(),"> a":{color:`currentColor`},"&:not(:disabled)":Ra(e),[`&${t}-two-chinese-chars::first-letter`]:{letterSpacing:`0.34em`},[`&${t}-two-chinese-chars > *:not(${n})`]:{marginInlineEnd:`-0.34em`,letterSpacing:`0.34em`},[`&${t}-icon-only`]:{paddingInline:0,[`&${t}-compact-item`]:{flex:`none`}},[`&${t}-loading`]:{opacity:i,cursor:`default`},[`${t}-loading-icon`]:{transition:[`width`,`opacity`,`margin`].map(e=>`${e} ${a} ${o}`).join(`,`)},[`&:not(${t}-icon-end)`]:{[`${t}-loading-icon-motion`]:{"&-appear-start, &-enter-start":{marginInlineEnd:c(s).mul(-1).equal()},"&-appear-active, &-enter-active":{marginInlineEnd:0},"&-leave-start":{marginInlineEnd:0},"&-leave-active":{marginInlineEnd:c(s).mul(-1).equal()}}},"&-icon-end":{flexDirection:`row-reverse`,[`${t}-loading-icon-motion`]:{"&-appear-start, &-enter-start":{marginInlineStart:c(s).mul(-1).equal()},"&-appear-active, &-enter-active":{marginInlineStart:0},"&-leave-start":{marginInlineStart:0},"&-leave-active":{marginInlineStart:c(s).mul(-1).equal()}}}}}},Bd=e=>({minWidth:e.controlHeight,paddingInline:0,borderRadius:`50%`}),Vd=(e,t=``)=>{let{componentCls:n,controlHeight:r,fontSize:i,borderRadius:a,buttonPaddingHorizontal:o,iconCls:s,buttonPaddingVertical:c,buttonIconOnlyFontSize:l}=e;return[{[t]:{fontSize:i,height:r,padding:`${Vr(c)} ${Vr(o)}`,borderRadius:a,[`&${n}-icon-only`]:{width:r,[s]:{fontSize:l}}}},{[`${n}${n}-circle${t}`]:Bd(e)},{[`${n}${n}-round${t}`]:{borderRadius:e.controlHeight,[`&:not(${n}-icon-only)`]:{paddingInline:e.buttonPaddingHorizontal}}}]},Hd=e=>Vd(xo(e,{fontSize:e.contentFontSize}),e.componentCls),Ud=e=>Vd(xo(e,{controlHeight:e.controlHeightSM,fontSize:e.contentFontSizeSM,padding:e.paddingXS,buttonPaddingHorizontal:e.paddingInlineSM,buttonPaddingVertical:0,borderRadius:e.borderRadiusSM,buttonIconOnlyFontSize:e.onlyIconSizeSM}),`${e.componentCls}-sm`),Wd=e=>Vd(xo(e,{controlHeight:e.controlHeightLG,fontSize:e.contentFontSizeLG,buttonPaddingHorizontal:e.paddingInlineLG,buttonPaddingVertical:0,borderRadius:e.borderRadiusLG,buttonIconOnlyFontSize:e.onlyIconSizeLG}),`${e.componentCls}-lg`),Gd=e=>{let{componentCls:t}=e;return{[t]:{[`&${t}-block`]:{width:`100%`}}}},Kd=Qs(`Button`,e=>{let t=Id(e);return[zd(t),Hd(t),Ud(t),Wd(t),Gd(t),Rd(t),bd(t)]},Ld,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function qd(e,t,n,r){let{focusElCls:i,focus:a,borderElCls:o}=n,s=o?`> *`:``,c=s?` ${s}`:``,l=e=>e.filter(Boolean).map(e=>`&:${e}${c}`).join(`,`),u=l([`hover`,i?`hover${i}`:null]),d=l([a?`focus`:null,`active`]);return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal()},[`&-item:not(${r}-status-success)`]:{zIndex:2},"&-item":{[d]:{zIndex:3},[u]:{zIndex:4},...i?{[`&${i}`]:{zIndex:3}}:{},[`&[disabled] ${s}`]:{zIndex:0}}}}function Jd(e,t,n){let{borderElCls:r}=n,i=r?`> ${r}`:``;return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${i}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${i}, &${e}-sm ${i}, &${e}-lg ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${i}, &${e}-sm ${i}, &${e}-lg ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function Yd(e,t={focus:!0}){let{componentCls:n}=e,{componentCls:r}=t,i=r||n,a=`${i}-compact`;return{[a]:{...qd(e,a,t,i),...Jd(i,a,t)}}}function Xd(e,t,n){return{[`&-item:not(${t}-last-item)`]:{marginBottom:e.calc(e.lineWidth).mul(-1).equal()},[`&-item:not(${n}-status-success)`]:{zIndex:2},"&-item":{"&:focus,&:active":{zIndex:3},"&:hover":{zIndex:4},"&[disabled]":{zIndex:0}}}}function Zd(e,t){return{[`&-item:not(${t}-first-item):not(${t}-last-item)`]:{borderRadius:0},[`&-item${t}-first-item:not(${t}-last-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${t}-last-item:not(${t}-first-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function Qd(e){let t=`${e.componentCls}-compact-vertical`;return{[t]:{...Xd(e,t,e.componentCls),...Zd(e.componentCls,t)}}}var $d=e=>{let{antCls:t,componentCls:n,lineWidth:r,calc:i,colorBgContainer:a}=e,o=`${n}-variant-solid:not([disabled])`,s=i(r).mul(-1).equal(),[c,l]=tc(t,`btn`),u=e=>({[`${n}-compact${e?`-vertical`:``}-item`]:{[c(`compact-connect-border-color`)]:l(`bg-color-hover`),[`&${o}`]:{transition:`none`,[`& + ${o}:before`]:[{position:`absolute`,backgroundColor:l(`compact-connect-border-color`),content:`""`},e?{top:s,insetInline:s,height:r}:{insetBlock:s,insetInlineStart:s,width:r}],"&:hover:before":{display:`none`}}}});return[u(),u(!0),{[`${o}${n}-color-default`]:{[c(`compact-connect-border-color`)]:`color-mix(in srgb, ${l(`bg-color-hover`)} 75%, ${a})`}}]},ef=ec([`Button`,`compact`],e=>{let t=Id(e);return[Yd(t),Qd(t),$d(t)]},Ld);function tf(e){if(Yn(e)){let t=e?.delay;return t=qn(t)?t:0,{loading:t<=0,delay:t}}return{loading:!!e,delay:0}}var nf={default:[`default`,`outlined`],primary:[`primary`,`solid`],dashed:[`default`,`dashed`],link:[`link`,`link`],text:[`default`,`text`]},rf=o.forwardRef((e,t)=>{let{_skipSemantic:n,loading:r=!1,prefixCls:i,color:a,variant:s,type:l,danger:u=!1,shape:d,size:f,disabled:p,className:m,rootClassName:h,children:g,icon:_,iconPosition:v,iconPlacement:y,ghost:b=!1,block:x=!1,htmlType:S=`button`,classNames:C,styles:w,style:T,autoInsertSpace:E,autoFocus:D,...O}=e,k=Ft(g),A=l||`default`,{getPrefixCls:j,direction:M,autoInsertSpace:N,className:P,style:F,classNames:I,styles:L,loadingIcon:R,shape:z,color:B,variant:V}=_r(`button`),H=d||z||`default`,[U,ee]=(0,o.useMemo)(()=>{if(a&&s)return[a,s];if(l||u){let e=nf[A]||[];return u?[`danger`,e[1]]:e}return s===`solid`?[`primary`,s]:B&&V?[B,V]:V===`solid`?[`primary`,V]:[`default`,`outlined`]},[a,s,l,u,B,V,A]),[te,ne]=(0,o.useMemo)(()=>b&&ee===`solid`?[U,`outlined`]:[U,ee],[U,ee,b]),W=te===`danger`,G=W?`dangerous`:te,re=E??N??!0,q=j(`btn`,i),[ie,ae]=Kd(q),oe=(0,o.useContext)(Vl),J=p??oe,se=(0,o.useContext)(Iu),ce=(0,o.useMemo)(()=>tf(r),[r]),[le,ue]=(0,o.useState)(ce.loading),[de,fe]=(0,o.useState)(!1),Y=(0,o.useRef)(null),X=ve(t,Y),Z=k.length===1&&!_&&!Vu(ne),pe=(0,o.useRef)(!0);o.useEffect(()=>(pe.current=!1,()=>{pe.current=!0}),[]),K(()=>{let e=null;ce.delay>0?e=setTimeout(()=>{e=null,ue(!0)},ce.delay):ue(ce.loading);function t(){e&&=(clearTimeout(e),null)}return t},[ce.delay,ce.loading]),(0,o.useEffect)(()=>{if(!Y.current||!re)return;let e=Y.current.textContent||``;Z&&zu(e)?de||fe(!0):de&&fe(!1)}),(0,o.useEffect)(()=>{D&&Y.current&&Y.current.focus()},[]);let me=o.useCallback(t=>{if(le||J){t.preventDefault();return}e.onClick?.((`href`in e,t))},[e.onClick,le,J]),{compactSize:he,compactItemClassnames:ge}=Mu(q,M),_e=vu(e=>f??he??se??e),ye=le?`loading`:_,be=y??v??`start`,Q=Ct(O,[`navigate`]),xe={...e,type:A,color:te,variant:ne,danger:W,shape:H,size:_e,disabled:J,loading:le,iconPlacement:be},Se=ar(F),Ce=ar(T),[we,Te]=sr([n?void 0:I,C],[n?void 0:L,Se,w,Ce],{props:xe}),Ee=c(q,ie,ae,{[`${q}-${H}`]:H!=="default"&&H!==`square`&&H,[`${q}-${A}`]:A,[`${q}-dangerous`]:u,[`${q}-color-${G}`]:G,[`${q}-variant-${ne}`]:ne,[`${q}-lg`]:_e===`large`,[`${q}-sm`]:_e===`small`,[`${q}-icon-only`]:!g&&g!==0&&!!ye,[`${q}-background-ghost`]:b&&!Vu(ne),[`${q}-loading`]:le,[`${q}-two-chinese-chars`]:de&&re&&!le,[`${q}-block`]:x,[`${q}-rtl`]:M===`rtl`,[`${q}-icon-end`]:be===`end`},ge,m,h,P,we.root),De={className:we.icon,style:Te.icon},Oe=e=>o.createElement(qu,{prefixCls:q,...De},e),ke=o.createElement(Zu,{existIcon:!!_,prefixCls:q,loading:le,mount:pe.current,...De}),Ae=Yn(r)&&r.icon||R,je;je=_&&!le?Oe(_):r&&Ae?Oe(Ae):ke;let Me=Kn(g)?Uu(g,Z&&re,Te.content,we.content):null;if(Q.href!==void 0)return o.createElement(`a`,{...Q,className:c(Ee,{[`${q}-disabled`]:J}),href:J?void 0:Q.href,style:Te.root,onClick:me,ref:X,tabIndex:J?-1:0,"aria-disabled":J},je,Me);let Ne=o.createElement(`button`,{...O,type:S,className:Ee,style:Te.root,onClick:me,disabled:J,ref:X},je,Me,ge&&o.createElement(ef,{prefixCls:q}));return Vu(ne)||(Ne=o.createElement(_u,{component:`Button`,disabled:le},Ne)),Ne});rf.Group=Lu,rf.__ANT_BUTTON=!0;var af=e=>`${e}-css-var`,of=`RC_FORM_INTERNAL_HOOKS`,sf=()=>{_t(!1,`Can not find FormContext. Please make sure you wrap Field under Form.`)},cf=o.createContext({getFieldValue:sf,getFieldsValue:sf,getFieldError:sf,getFieldWarning:sf,getFieldsError:sf,isFieldsTouched:sf,isFieldTouched:sf,isFieldValidating:sf,isFieldsValidating:sf,resetFields:sf,setFields:sf,setFieldValue:sf,setFieldsValue:sf,validateFields:sf,submit:sf,getInternalHooks:()=>(sf(),{dispatch:sf,initEntityValue:sf,registerField:sf,useSubscribe:sf,setInitialValues:sf,destroyForm:sf,setCallbacks:sf,registerWatch:sf,getFields:sf,setValidateMessages:sf,setPreserve:sf,getInitialValue:sf})}),lf=o.createContext(null);function uf(e){return e==null?[]:Array.isArray(e)?e:[e]}function df(e){return e&&!!e._init}function ff(){return{default:`Validation error on field %s`,required:`%s is required`,enum:`%s must be one of %s`,whitespace:`%s cannot be empty`,date:{format:`%s date %s is invalid for format %s`,parse:`%s date could not be parsed, %s is invalid `,invalid:`%s date %s is invalid`},types:{string:`%s is not a %s`,method:`%s is not a %s (function)`,array:`%s is not an %s`,object:`%s is not an %s`,number:`%s is not a %s`,date:`%s is not a %s`,boolean:`%s is not a %s`,integer:`%s is not an %s`,float:`%s is not a %s`,regexp:`%s is not a valid %s`,email:`%s is not a valid %s`,tel:`%s is not a valid %s`,url:`%s is not a valid %s`,hex:`%s is not a valid %s`},string:{len:`%s must be exactly %s characters`,min:`%s must be at least %s characters`,max:`%s cannot be longer than %s characters`,range:`%s must be between %s and %s characters`},number:{len:`%s must equal %s`,min:`%s cannot be less than %s`,max:`%s cannot be greater than %s`,range:`%s must be between %s and %s`},array:{len:`%s must be exactly %s in length`,min:`%s cannot be less than %s in length`,max:`%s cannot be greater than %s in length`,range:`%s must be between %s and %s in length`},pattern:{mismatch:`%s value %s does not match pattern %s`},clone(){let e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var pf=ff(),mf=/%[sdj%]/g,hf=()=>{};function gf(e){if(!e||!e.length)return null;let t={};return e.forEach(e=>{let n=e.field;t[n]=t[n]||[],t[n].push(e)}),t}function _f(e,...t){let n=0,r=t.length;return typeof e==`function`?e.apply(null,t):typeof e==`string`?e.replace(mf,e=>{if(e===`%%`)return`%`;if(n>=r)return e;switch(e){case`%s`:return String(t[n++]);case`%d`:return Number(t[n++]);case`%j`:try{return JSON.stringify(t[n++])}catch{return`[Circular]`}break;default:return e}}):e}function vf(e){return e===`string`||e===`url`||e===`hex`||e===`email`||e===`date`||e===`pattern`||e===`tel`}function yf(e,t){return!!(e==null||t===`array`&&Array.isArray(e)&&!e.length||vf(t)&&typeof e==`string`&&!e)}function bf(e,t,n){let r=[],i=0,a=e.length;function o(e){r.push(...e||[]),i++,i===a&&n(r)}e.forEach(e=>{t(e,o)})}function xf(e,t,n){let r=0,i=e.length;function a(o){if(o&&o.length){n(o);return}let s=r;r+=1,s{t.push(...e[n]||[])}),t}var Cf=class extends Error{errors;fields;constructor(e,t){super(`Async Validation Error`),this.errors=e,this.fields=t}};function wf(e,t,n,r,i){if(t.first){let t=new Promise((t,a)=>{xf(Sf(e),n,e=>(r(e),e.length?a(new Cf(e,gf(e))):t(i)))});return t.catch(e=>e),t}let a=t.firstFields===!0?Object.keys(e):t.firstFields||[],o=Object.keys(e),s=o.length,c=0,l=[],u=new Promise((t,u)=>{let d=e=>{if(l.push.apply(l,e),c++,c===s)return r(l),l.length?u(new Cf(l,gf(l))):t(i)};o.length||(r(l),t(i)),o.forEach(t=>{let r=e[t];a.indexOf(t)===-1?bf(r,n,d):xf(r,n,d)})});return u.catch(e=>e),u}function Tf(e){return!!(e&&e.message!==void 0)}function Ef(e,t){let n=e;for(let e=0;e{let r;return r=e.fullFields?Ef(t,e.fullFields):t[n.field||e.fullField],Tf(n)?(n.field=n.field||e.fullField,n.fieldValue=r,n):{message:typeof n==`function`?n():n,fieldValue:r,field:n.field||e.fullField}}}function Of(e,t){if(t){for(let n in t)if(t.hasOwnProperty(n)){let r=t[n];typeof r==`object`&&typeof e[n]==`object`?e[n]={...e[n],...r}:e[n]=r}}return e}var kf=`enum`,Af=(e,t,n,r,i)=>{e[kf]=Array.isArray(e[kf])?e[kf]:[],e[kf].indexOf(t)===-1&&r.push(_f(i.messages[kf],e.fullField,e[kf].join(`, `)))},jf=(e,t,n,r,i)=>{e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(_f(i.messages.pattern.mismatch,e.fullField,t,e.pattern))):typeof e.pattern==`string`&&(new RegExp(e.pattern).test(t)||r.push(_f(i.messages.pattern.mismatch,e.fullField,t,e.pattern))))},Mf=(e,t,n,r,i)=>{let a=typeof e.len==`number`,o=typeof e.min==`number`,s=typeof e.max==`number`,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=t,u=null,d=typeof t==`number`,f=typeof t==`string`,p=Array.isArray(t);if(d?u=`number`:f?u=`string`:p&&(u=`array`),!u)return!1;p&&(l=t.length),f&&(l=t.replace(c,`_`).length),a?l!==e.len&&r.push(_f(i.messages[u].len,e.fullField,e.len)):o&&!s&&le.max?r.push(_f(i.messages[u].max,e.fullField,e.max)):o&&s&&(le.max)&&r.push(_f(i.messages[u].range,e.fullField,e.min,e.max))},Nf=(e,t,n,r,i,a)=>{e.required&&(!n.hasOwnProperty(e.field)||yf(t,a||e.type))&&r.push(_f(i.messages.required,e.fullField))},Pf,Ff=(()=>{if(Pf)return Pf;let e=`[a-fA-F\\d:]`,t=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${e})|(?<=${e})(?=\\s|$))`:``,n=`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`,r=`[a-fA-F\\d]{1,4}`,i=`(?:${[`(?:${r}:){7}(?:${r}|:)`,`(?:${r}:){6}(?:${n}|:${r}|:)`,`(?:${r}:){5}(?::${n}|(?::${r}){1,2}|:)`,`(?:${r}:){4}(?:(?::${r}){0,1}:${n}|(?::${r}){1,3}|:)`,`(?:${r}:){3}(?:(?::${r}){0,2}:${n}|(?::${r}){1,4}|:)`,`(?:${r}:){2}(?:(?::${r}){0,3}:${n}|(?::${r}){1,5}|:)`,`(?:${r}:){1}(?:(?::${r}){0,4}:${n}|(?::${r}){1,6}|:)`,`(?::(?:(?::${r}){0,5}:${n}|(?::${r}){1,7}|:))`].join(`|`)})(?:%[0-9a-zA-Z]{1,})?`,a=RegExp(`(?:^${n}$)|(?:^${i}$)`),o=RegExp(`^${n}$`),s=RegExp(`^${i}$`),c=e=>e&&e.exact?a:RegExp(`(?:${t(e)}${n}${t(e)})|(?:${t(e)}${i}${t(e)})`,`g`);c.v4=e=>e&&e.exact?o:RegExp(`${t(e)}${n}${t(e)}`,`g`),c.v6=e=>e&&e.exact?s:RegExp(`${t(e)}${i}${t(e)}`,`g`);let l=`(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${c.v4().source}|${c.v6().source}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?`;return Pf=RegExp(`(?:^${l}$)`,`i`),Pf}),If={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,tel:/^(\+[0-9]{1,3}[-\s\u2011]?)?(\([0-9]{1,4}\)[-\s\u2011]?)?([0-9]+[-\s\u2011]?)*[0-9]+$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Lf={integer(e){return Lf.number(e)&&parseInt(e,10)===e},float(e){return Lf.number(e)&&!Lf.integer(e)},array(e){return Array.isArray(e)},regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date(e){return typeof e.getTime==`function`&&typeof e.getMonth==`function`&&typeof e.getYear==`function`&&!isNaN(e.getTime())},number(e){return isNaN(e)?!1:typeof e==`number`},object(e){return typeof e==`object`&&!Lf.array(e)},method(e){return typeof e==`function`},email(e){return typeof e==`string`&&e.length<=320&&!!e.match(If.email)},tel(e){return typeof e==`string`&&e.length<=32&&!!e.match(If.tel)},url(e){return typeof e==`string`&&e.length<=2048&&!!e.match(Ff())},hex(e){return typeof e==`string`&&!!e.match(If.hex)}},Rf={required:Nf,whitespace:(e,t,n,r,i)=>{(/^\s+$/.test(t)||t===``)&&r.push(_f(i.messages.whitespace,e.fullField))},type:(e,t,n,r,i)=>{if(e.required&&t===void 0){Nf(e,t,n,r,i);return}let a=[`integer`,`float`,`array`,`regexp`,`object`,`method`,`email`,`tel`,`number`,`date`,`url`,`hex`],o=e.type;a.indexOf(o)>-1?Lf[o](t)||r.push(_f(i.messages.types[o],e.fullField,e.type)):o&&typeof t!==e.type&&r.push(_f(i.messages.types[o],e.fullField,e.type))},range:Mf,enum:Af,pattern:jf},zf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i)}n(a)},Bf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t==null&&!e.required)return n();Rf.required(e,t,r,a,i,`array`),t!=null&&(Rf.type(e,t,r,a,i),Rf.range(e,t,r,a,i))}n(a)},Vf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),t!==void 0&&Rf.type(e,t,r,a,i)}n(a)},Hf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t,`date`)&&!e.required)return n();if(Rf.required(e,t,r,a,i),!yf(t,`date`)){let n;n=t instanceof Date?t:new Date(t),Rf.type(e,n,r,a,i),n&&Rf.range(e,n.getTime(),r,a,i)}}n(a)},Uf=`enum`,Wf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),t!==void 0&&Rf[Uf](e,t,r,a,i)}n(a)},Gf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),t!==void 0&&(Rf.type(e,t,r,a,i),Rf.range(e,t,r,a,i))}n(a)},Kf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),t!==void 0&&(Rf.type(e,t,r,a,i),Rf.range(e,t,r,a,i))}n(a)},qf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),t!==void 0&&Rf.type(e,t,r,a,i)}n(a)},Jf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t===``&&(t=void 0),yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),t!==void 0&&(Rf.type(e,t,r,a,i),Rf.range(e,t,r,a,i))}n(a)},Yf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),t!==void 0&&Rf.type(e,t,r,a,i)}n(a)},Xf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t,`string`)&&!e.required)return n();Rf.required(e,t,r,a,i),yf(t,`string`)||Rf.pattern(e,t,r,a,i)}n(a)},Zf=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t)&&!e.required)return n();Rf.required(e,t,r,a,i),yf(t)||Rf.type(e,t,r,a,i)}n(a)},Qf=(e,t,n,r,i)=>{let a=[],o=Array.isArray(t)?`array`:typeof t;Rf.required(e,t,r,a,i,o),n(a)},$f=(e,t,n,r,i)=>{let a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t,`string`)&&!e.required)return n();Rf.required(e,t,r,a,i,`string`),yf(t,`string`)||(Rf.type(e,t,r,a,i),Rf.range(e,t,r,a,i),Rf.pattern(e,t,r,a,i),e.whitespace===!0&&Rf.whitespace(e,t,r,a,i))}n(a)},ep=(e,t,n,r,i)=>{let a=e.type,o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(yf(t,a)&&!e.required)return n();Rf.required(e,t,r,o,i,a),yf(t,a)||Rf.type(e,t,r,o,i)}n(o)},tp={string:$f,method:qf,number:Jf,boolean:Vf,regexp:Zf,integer:Kf,float:Gf,array:Bf,object:Yf,enum:Wf,pattern:Xf,date:Hf,url:ep,hex:ep,email:ep,tel:ep,required:Qf,any:zf},np=class e{static register=function(e,t){if(typeof t!=`function`)throw Error(`Cannot register a validator by type, validator is not a function`);tp[e]=t};static warning=hf;static messages=pf;static validators=tp;rules=null;_messages=pf;constructor(e){this.define(e)}define(e){if(!e)throw Error(`Cannot configure a schema with no rules`);if(typeof e!=`object`||Array.isArray(e))throw Error(`Rules must be an object`);this.rules={},Object.keys(e).forEach(t=>{let n=e[t];this.rules[t]=Array.isArray(n)?n:[n]})}messages(e){return e&&(this._messages=Of(ff(),e)),this._messages}validate(t,n={},r=()=>{}){let i=t,a=n,o=r;if(typeof a==`function`&&(o=a,a={}),!this.rules||Object.keys(this.rules).length===0)return o&&o(null,i),Promise.resolve(i);function s(e){let t=[],n={};function r(e){Array.isArray(e)?t=t.concat(...e):t.push(e)}for(let t=0;t{let n=this.rules[e],r=i[e];n.forEach(n=>{let a=n;typeof a.transform==`function`&&(i===t&&(i={...i}),r=i[e]=a.transform(r),r!=null&&(a.type=a.type||(Array.isArray(r)?`array`:typeof r))),a=typeof a==`function`?{validator:a}:{...a},a.validator=this.getValidationMethod(a),a.validator&&(a.field=e,a.fullField=a.fullField||e,a.type=this.getType(a),c[e]=c[e]||[],c[e].push({rule:a,value:r,source:i,field:e}))})});let l={};return wf(c,a,(t,n)=>{let r=t.rule,o=(r.type===`object`||r.type===`array`)&&(typeof r.fields==`object`||typeof r.defaultField==`object`);o&&=r.required||!r.required&&t.value,r.field=t.field;function s(e,t){return{...t,fullField:`${r.fullField}.${e}`,fullFields:r.fullFields?[...r.fullFields,e]:[e]}}function c(c=[]){let u=Array.isArray(c)?c:[c];!a.suppressWarning&&u.length&&e.warning(`async-validator:`,u),u.length&&r.message!==void 0&&r.message!==null&&(u=[].concat(r.message));let d=u.map(Df(r,i));if(a.first&&d.length)return l[r.field]=1,n(d);if(!o)n(d);else{if(r.required&&!t.value)return r.message===void 0?a.error&&(d=[a.error(r,_f(a.messages.required,r.field))]):d=[].concat(r.message).map(Df(r,i)),n(d);let o={};r.defaultField&&Object.keys(t.value).map(e=>{o[e]=r.defaultField}),o={...o,...t.rule.fields};let c={};Object.keys(o).forEach(e=>{let t=o[e];c[e]=(Array.isArray(t)?t:[t]).map(s.bind(null,e))});let l=new e(c);l.messages(a.messages),t.rule.options&&(t.rule.options.messages=a.messages,t.rule.options.error=a.error),l.validate(t.value,t.rule.options||a,e=>{let t=[];d&&d.length&&t.push(...d),e&&e.length&&t.push(...e),n(t.length?t:null)})}}let u;if(r.asyncValidator)u=r.asyncValidator(r,t.value,c,t.source,a);else if(r.validator){try{u=r.validator(r,t.value,c,t.source,a)}catch(e){console.error?.(e),a.suppressValidatorError||setTimeout(()=>{throw e},0),c(e.message)}u===!0?c():u===!1?c(typeof r.message==`function`?r.message(r.fullField||r.field):r.message||`${r.fullField||r.field} fails`):u instanceof Array?c(u):u instanceof Error&&c(u.message)}u&&u.then&&u.then(()=>c(),e=>c(e))},e=>{s(e)},i)}getType(e){if(e.type===void 0&&e.pattern instanceof RegExp&&(e.type=`pattern`),typeof e.validator!=`function`&&e.type&&!tp.hasOwnProperty(e.type))throw Error(_f(`Unknown rule type %s`,e.type));return e.type||`string`}getValidationMethod(e){if(typeof e.validator==`function`)return e.validator;let t=Object.keys(e),n=t.indexOf(`message`);return n!==-1&&t.splice(n,1),t.length===1&&t[0]===`required`?tp.required:tp[this.getType(e)]||void 0}},rp="'${name}' is not a valid ${type}",ip={default:"Validation error on field '${name}'",required:"'${name}' is required",enum:"'${name}' must be one of [${enum}]",whitespace:"'${name}' cannot be empty",date:{format:"'${name}' is invalid for format date",parse:"'${name}' could not be parsed as date",invalid:"'${name}' is invalid date"},types:{string:rp,method:rp,array:rp,object:rp,number:rp,date:rp,boolean:rp,integer:rp,float:rp,regexp:rp,email:rp,tel:rp,url:rp,hex:rp},string:{len:"'${name}' must be exactly ${len} characters",min:"'${name}' must be at least ${min} characters",max:"'${name}' cannot be longer than ${max} characters",range:"'${name}' must be between ${min} and ${max} characters"},number:{len:"'${name}' must equal ${len}",min:"'${name}' cannot be less than ${min}",max:"'${name}' cannot be greater than ${max}",range:"'${name}' must be between ${min} and ${max}"},array:{len:"'${name}' must be exactly ${len} in length",min:"'${name}' cannot be less than ${min} in length",max:"'${name}' cannot be greater than ${max} in length",range:"'${name}' must be between ${min} and ${max} in length"},pattern:{mismatch:"'${name}' does not match pattern ${pattern}"}},ap=np;function op(e,t){return e.replace(/\\?\$\{\w+\}/g,e=>e.startsWith(`\\`)?e.slice(1):t[e.slice(2,-1)])}var sp=`CODE_LOGIC_ERROR`;async function cp(e,t,n,r,i){let a={...n};if(delete a.ruleIndex,ap.warning=()=>void 0,a.validator){let e=a.validator;a.validator=(...t)=>{try{return e(...t)}catch(e){return console.error(e),Promise.reject(sp)}}}let s=null;a&&a.type===`array`&&a.defaultField&&(s=a.defaultField,delete a.defaultField);let c=new ap({[e]:[a]}),l=Wt(ip,r.validateMessages);c.messages(l);let u=[];try{await Promise.resolve(c.validate({[e]:t},{...r}))}catch(e){e.errors&&(u=e.errors.map(({message:e},t)=>{let n=e===sp?l.default:e;return o.isValidElement(n)?o.cloneElement(n,{key:`error_${t}`}):n}))}if(!u.length&&s&&Array.isArray(t)&&t.length>0)return(await Promise.all(t.map((t,n)=>cp(`${e}.${n}`,t,s,r,i)))).reduce((e,t)=>[...e,...t],[]);let d={...n,name:e,enum:(n.enum||[]).join(`, `),...i};return u.map(e=>typeof e==`string`?op(e,d):e)}function lp(e,t,n,r,i,a){let o=e.join(`.`),s=n.map((e,t)=>{let n=e.validator,r={...e,ruleIndex:t};return n&&(r.validator=(e,t,r)=>{let i=!1,a=n(e,t,(...e)=>{Promise.resolve().then(()=>{_t(!i,"Your validator function has already return a promise. `callback` will be ignored."),i||r(...e)})});i=a&&typeof a.then==`function`&&typeof a.catch==`function`,_t(i,"`callback` is deprecated. Please return a promise instead."),i&&a.then(()=>{r()}).catch(e=>{r(e||` `)})}),r}).sort(({warningOnly:e,ruleIndex:t},{warningOnly:n,ruleIndex:r})=>!!e==!!n?t-r:e?1:-1),c;if(i===!0)c=new Promise(async(e,n)=>{for(let e=0;ecp(o,t,e,r,a).then(t=>({errors:t,rule:e})));c=(i?dp(e):up(e)).then(e=>Promise.reject(e))}return c.catch(e=>e),c}async function up(e){return Promise.all(e).then(e=>[].concat(...e))}async function dp(e){let t=0;return new Promise(n=>{e.forEach(r=>{r.then(r=>{r.errors.length&&n([r]),t+=1,t===e.length&&n([])})})})}function fp(e){return uf(e)}function pp(e,t){let n={};return t.forEach(t=>{let r=Lt(e,t);n=zt(n,t,r)}),n}function mp(e,t,n=!1){return e&&e.some(e=>hp(t,e,n))}function hp(e,t,n=!1){return!e||!t||!n&&e.length!==t.length?!1:t.every((t,n)=>e[n]===t)}function gp(e,t){if(e===t)return!0;if(!e&&t||e&&!t||!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=Object.keys(e),r=Object.keys(t);return[...new Set([...n,...r])].every(n=>{let r=e[n],i=t[n];return typeof r==`function`&&typeof i==`function`?!0:r===i})}function _p(e,...t){let n=t[0];return n&&n.target&&typeof n.target==`object`&&e in n.target?n.target[e]:n}function vp(e,t,n){let{length:r}=e;if(t<0||t>=r||n<0||n>=r)return e;let i=e[t],a=t-n;return a>0?[...e.slice(0,n),i,...e.slice(n,t),...e.slice(t+1,r)]:a<0?[...e.slice(0,t),...e.slice(t+1,n+1),i,...e.slice(n+1,r)]:e}var yp=e=>{let t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(null)},bp=class{namePathList=[];taskId=0;watcherList=new Set;form;constructor(e){this.form=e}register(e){return this.watcherList.add(e),()=>{this.watcherList.delete(e)}}notify(e){e.forEach(e=>{this.namePathList.every(t=>!hp(t,e))&&this.namePathList.push(e)}),this.doBatch()}doBatch(){this.taskId+=1;let e=this.taskId;yp(()=>{if(e===this.taskId&&this.watcherList.size){let e=this.form.getForm(),t=e.getFieldsValue(),n=e.getFieldsValue(!0);this.watcherList.forEach(e=>{e(t,n,this.namePathList)}),this.namePathList=[]}})}};async function xp(){return new Promise(e=>{yp(()=>{Pt(()=>{e()})})})}function Sp(){return Sp=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{preserve:e,isListField:t,name:n}=this.props;this.cancelRegisterFunc&&this.cancelRegisterFunc(t,e,fp(n)),this.cancelRegisterFunc=null};getNamePath=()=>{let{name:e,fieldContext:t}=this.props,{prefixName:n=[]}=t;return e===void 0?[]:[...n,...e]};getRules=()=>{let{rules:e=[],fieldContext:t}=this.props;return e.map(e=>typeof e==`function`?e(t):e)};reRender(){this.mounted&&this.forceUpdate()}refresh=()=>{this.mounted&&this.setState(({resetCount:e})=>({resetCount:e+1}))};metaCache=null;triggerMetaEvent=e=>{let{onMetaChange:t}=this.props;if(t){let n={...this.getMeta(),destroy:e};yt(this.metaCache,n)||t(n),this.metaCache=n}else this.metaCache=null};onStoreChange=(e,t,n)=>{let{shouldUpdate:r,dependencies:i=[],onReset:a}=this.props,{store:o}=n,s=this.getNamePath(),c=this.getValue(e),l=this.getValue(o),u=t&&mp(t,s);switch(n.type===`valueUpdate`&&n.source===`external`&&!yt(c,l)&&(this.touched=!0,this.dirty=!0,this.validatePromise=null,this.errors=Cp,this.warnings=wp,this.triggerMetaEvent()),n.type){case`reset`:if(!t||u){this.touched=!1,this.dirty=!1,this.validatePromise=void 0,this.errors=Cp,this.warnings=wp,this.triggerMetaEvent(),a?.(),this.refresh();return}break;case`remove`:if(r&&Tp(r,e,o,c,l,n)){this.reRender();return}break;case`setField`:{let{data:i}=n;if(u){`touched`in i&&(this.touched=i.touched),`validating`in i&&!(`originRCField`in i)&&(this.validatePromise=i.validating?Promise.resolve([]):null),`errors`in i&&(this.errors=i.errors||Cp),`warnings`in i&&(this.warnings=i.warnings||wp),this.dirty=!0,this.triggerMetaEvent(),this.reRender();return}else if(`value`in i&&mp(t,s,!0)){this.reRender();return}if(r&&!s.length&&Tp(r,e,o,c,l,n)){this.reRender();return}break}case`dependenciesUpdate`:if(i.map(fp).some(e=>mp(n.relatedFields,e))){this.reRender();return}break;default:if(u||(!i.length||s.length||r)&&Tp(r,e,o,c,l,n)){this.reRender();return}break}r===!0&&this.reRender()};validateRules=e=>{let t=this.getNamePath(),n=this.getValue(),{triggerName:r,validateOnly:i=!1,delayFrame:a}=e||{},o=Promise.resolve().then(async()=>{if(!this.mounted)return[];let{validateFirst:i=!1,messageVariables:s,validateDebounce:c}=this.props;a&&await xp();let l=this.getRules();if(r&&(l=l.filter(e=>e).filter(e=>{let{validateTrigger:t}=e;return t?uf(t).includes(r):!0})),c&&r&&(await new Promise(e=>{setTimeout(e,c)}),this.validatePromise!==o))return[];let u=lp(t,n,l,e,i,s);return u.catch(e=>e).then((e=Cp)=>{if(this.validatePromise===o){this.validatePromise=null;let t=[],n=[];e.forEach?.(({rule:{warningOnly:e},errors:r=Cp})=>{e?n.push(...r):t.push(...r)}),this.errors=t,this.warnings=n,this.triggerMetaEvent(),this.reRender()}}),u});return i?o:(this.validatePromise=o,this.dirty=!0,this.errors=Cp,this.warnings=wp,this.triggerMetaEvent(),this.reRender(),o)};isFieldValidating=()=>!!this.validatePromise;isFieldTouched=()=>this.touched;isFieldDirty=()=>{if(this.dirty||this.props.initialValue!==void 0)return!0;let{fieldContext:e}=this.props,{getInitialValue:t}=e.getInternalHooks(of);return t(this.getNamePath())!==void 0};getErrors=()=>this.errors;getWarnings=()=>this.warnings;isListField=()=>this.props.isListField;isList=()=>this.props.isList;isPreserve=()=>this.props.preserve;getMeta=()=>(this.prevValidating=this.isFieldValidating(),{touched:this.isFieldTouched(),validating:this.prevValidating,errors:this.errors,warnings:this.warnings,name:this.getNamePath(),validated:this.validatePromise===null});getOnlyChild=e=>{if(typeof e==`function`){let t=this.getMeta();return{...this.getOnlyChild(e(this.getControlled(),t,this.props.fieldContext)),isFunction:!0}}let t=Ft(e);return t.length!==1||!o.isValidElement(t[0])?{child:t,isFunction:!1}:{child:t[0],isFunction:!1}};getValue=e=>{let{getFieldsValue:t}=this.props.fieldContext,n=this.getNamePath();return Lt(e||t(!0),n)};getControlled=(e={})=>{let{name:t,trigger:n=`onChange`,validateTrigger:r,getValueFromEvent:i,normalize:a,valuePropName:o=`value`,getValueProps:s,fieldContext:c}=this.props,l=r===void 0?c.validateTrigger:r,u=this.getNamePath(),{getInternalHooks:d,getFieldsValue:f}=c,{dispatch:p}=d(of),m=this.getValue(),h=s||(e=>({[o]:e})),g=e[n],_=t===void 0?{}:h(m),v={...e,..._};return v[n]=(...e)=>{this.touched=!0,this.dirty=!0,this.triggerMetaEvent();let t;t=i?i(...e):_p(o,...e),a&&(t=a(t,m,f(!0))),t!==m&&p({type:`updateValue`,namePath:u,value:t}),g&&g(...e)},uf(l||[]).forEach(e=>{let t=v[e];v[e]=(...n)=>{t&&t(...n);let{rules:r}=this.props;r&&r.length&&p({type:`validateField`,namePath:u,triggerName:e})}}),v};render(){let{resetCount:e}=this.state,{children:t}=this.props,{child:n,isFunction:r}=this.getOnlyChild(t),i;return r?i=n:o.isValidElement(n)?i=o.cloneElement(n,this.getControlled(n.props)):(_t(!n,"`children` of Field is not validate ReactElement."),i=n),o.createElement(o.Fragment,{key:e},i)}};function Dp({name:e,...t}){let n=o.useContext(cf),r=o.useContext(lf),i=e===void 0?void 0:fp(e),a=t.isListField??!!r,s=`keep`;return a||(s=`_${(i||[]).join(`_`)}`),o.createElement(Ep,Sp({key:s,name:i,isListField:a},t,{fieldContext:n}))}function Op({name:e,initialValue:t,children:n,rules:r,validateTrigger:i,isListField:a}){let s=o.useContext(cf),c=o.useContext(lf),l=o.useRef({keys:[],id:0}).current,u=o.useMemo(()=>[...fp(s.prefixName)||[],...fp(e)],[s.prefixName,e]),d=o.useMemo(()=>({...s,prefixName:u}),[s,u]),f=o.useMemo(()=>({getKey:e=>{let t=u.length,n=e[t];return[l.keys[n],e.slice(t+1)]}}),[l,u]);return typeof n==`function`?o.createElement(lf.Provider,{value:f},o.createElement(cf.Provider,{value:d},o.createElement(Dp,{name:[],shouldUpdate:(e,t,{source:n})=>n===`internal`?!1:e!==t,rules:r,validateTrigger:i,initialValue:t,isList:!0,isListField:a??!!c},({value:e=[],onChange:t},r)=>{let{getFieldValue:i}=s,a=()=>i(u||[])||[],o={add:(e,n)=>{let r=a();n>=0&&n<=r.length?(l.keys=[...l.keys.slice(0,n),l.id,...l.keys.slice(n)],t([...r.slice(0,n),e,...r.slice(n)])):(l.keys=[...l.keys,l.id],t([...r,e])),l.id+=1},remove:e=>{let n=a(),r=new Set(Array.isArray(e)?e:[e]);r.size<=0||(l.keys=l.keys.filter((e,t)=>!r.has(t)),t(n.filter((e,t)=>!r.has(t))))},move(e,n){if(e===n)return;let r=a();e<0||e>=r.length||n<0||n>=r.length||(l.keys=vp(l.keys,e,n),t(vp(r,e,n)))}},c=e||[];return Array.isArray(c)||(c=[]),n(c.map((e,t)=>{let n=l.keys[t];return n===void 0&&(l.keys[t]=l.id,n=l.keys[t],l.id+=1),{name:t,key:n,isListField:!0}}),o,r)}))):(_t(!1,`Form.List only accepts function as children.`),null)}function kp(e){let t=!1,n=e.length,r=[];return e.length?new Promise((i,a)=>{e.forEach((e,o)=>{e.catch(e=>(t=!0,e)).then(e=>{--n,r[o]=e,!(n>0)&&(t&&a(r),i(r))})})}):Promise.resolve([])}var Ap=`__@field_split__`;function jp(e){return e.map(e=>`${typeof e}:${e}`).join(Ap)}var Mp=class{kvs=new Map;set(e,t){this.kvs.set(jp(e),t)}get(e){return this.kvs.get(jp(e))}getAsPrefix(e){let t=jp(e),n=t+Ap,r=[],i=this.kvs.get(t);return i!==void 0&&r.push(i),this.kvs.forEach((e,t)=>{t.startsWith(n)&&r.push(e)}),r}update(e,t){let n=t(this.get(e));n?this.set(e,n):this.delete(e)}delete(e){this.kvs.delete(jp(e))}map(e){return[...this.kvs.entries()].map(([t,n])=>e({key:t.split(Ap).map(e=>{let[,t,n]=e.match(/^([^:]*):(.*)$/);return t===`number`?Number(n):n}),value:n}))}toJSON(){let e={};return this.map(({key:t,value:n})=>(e[t.join(`.`)]=n,null)),e}},Np=class{formHooked=!1;forceRootUpdate;subscribable=!0;store={};fieldEntities=[];initialValues={};callbacks={};validateMessages=null;preserve=null;lastValidatePromise=null;watcherCenter=new bp(this);constructor(e){this.forceRootUpdate=e}getForm=()=>({getFieldValue:this.getFieldValue,getFieldsValue:this.getFieldsValue,getFieldError:this.getFieldError,getFieldWarning:this.getFieldWarning,getFieldsError:this.getFieldsError,isFieldsTouched:this.isFieldsTouched,isFieldTouched:this.isFieldTouched,isFieldValidating:this.isFieldValidating,isFieldsValidating:this.isFieldsValidating,resetFields:this.resetFields,setFields:this.setFields,setFieldValue:this.setFieldValue,setFieldsValue:this.setFieldsValue,validateFields:this.validateFields,submit:this.submit,_init:!0,getInternalHooks:this.getInternalHooks});getInternalHooks=e=>e===`RC_FORM_INTERNAL_HOOKS`?(this.formHooked=!0,{dispatch:this.dispatch,initEntityValue:this.initEntityValue,registerField:this.registerField,useSubscribe:this.useSubscribe,setInitialValues:this.setInitialValues,destroyForm:this.destroyForm,setCallbacks:this.setCallbacks,setValidateMessages:this.setValidateMessages,getFields:this.getFields,setPreserve:this.setPreserve,getInitialValue:this.getInitialValue,registerWatch:this.registerWatch}):(_t(!1,"`getInternalHooks` is internal usage. Should not call directly."),null);useSubscribe=e=>{this.subscribable=e};prevWithoutPreserves=null;setInitialValues=(e,t)=>{if(this.initialValues=e||{},t){let t=Wt(e,this.store);this.prevWithoutPreserves?.map(({key:n})=>{t=zt(t,n,Lt(e,n))}),this.prevWithoutPreserves=null,this.updateStore(t)}};destroyForm=e=>{if(e)this.updateStore({});else{let e=new Mp;this.getFieldEntities(!0).forEach(t=>{this.isMergedPreserve(t.isPreserve())||e.set(t.getNamePath(),!0)}),this.prevWithoutPreserves=e}};getInitialValue=e=>{let t=Lt(this.initialValues,e);return e.length?Wt(t):t};setCallbacks=e=>{this.callbacks=e};setValidateMessages=e=>{this.validateMessages=e};setPreserve=e=>{this.preserve=e};registerWatch=e=>this.watcherCenter.register(e);notifyWatch=(e=[])=>{this.watcherCenter.notify(e)};timeoutId=null;warningUnhooked=()=>{};updateStore=e=>{this.store=e};getFieldEntities=(e=!1)=>e?this.fieldEntities.filter(e=>e.getNamePath().length):this.fieldEntities;getFieldsMap=(e=!1)=>{let t=new Mp;return this.getFieldEntities(e).forEach(e=>{let n=e.getNamePath();t.set(n,e)}),t};getFieldEntitiesForNamePathList=(e,t=!1)=>{if(!e)return this.getFieldEntities(!0);let n=this.getFieldsMap(!0);return t?e.flatMap(e=>{let t=fp(e),r=n.getAsPrefix(t);return r.length?r:[{INVALIDATE_NAME_PATH:t}]}):e.map(e=>{let t=fp(e);return n.get(t)||{INVALIDATE_NAME_PATH:fp(e)}})};getFieldsValue=(e,t)=>{this.warningUnhooked();let n,r;if(e===!0||Array.isArray(e)?(n=e,r=t):e&&typeof e==`object`&&(r=e.filter),n===!0&&!r)return this.store;let i=this.getFieldEntitiesForNamePathList(Array.isArray(n)?n:null,!0),a=[],o=[];i.forEach(e=>{let t=e.INVALIDATE_NAME_PATH||e.getNamePath();if(e.isList?.()){o.push(t);return}if(!r)a.push(t);else{let n=`getMeta`in e?e.getMeta():null;r(n)&&a.push(t)}});let s=pp(this.store,a.map(fp));return o.forEach(e=>{Lt(s,e)||(s=zt(s,e,[]))}),s};getFieldValue=e=>{this.warningUnhooked();let t=fp(e);return Lt(this.store,t)};getFieldsError=e=>(this.warningUnhooked(),this.getFieldEntitiesForNamePathList(e).map((t,n)=>t&&!t.INVALIDATE_NAME_PATH?{name:t.getNamePath(),errors:t.getErrors(),warnings:t.getWarnings()}:{name:fp(e[n]),errors:[],warnings:[]}));getFieldError=e=>{this.warningUnhooked();let t=fp(e);return this.getFieldsError([t])[0].errors};getFieldWarning=e=>{this.warningUnhooked();let t=fp(e);return this.getFieldsError([t])[0].warnings};isFieldsTouched=(...e)=>{this.warningUnhooked();let[t,n]=e,r,i=!1;e.length===0?r=null:e.length===1?Array.isArray(t)?(r=t.map(fp),i=!1):(r=null,i=t):(r=t.map(fp),i=n);let a=this.getFieldEntities(!0),o=e=>e.isFieldTouched();if(!r)return i?a.every(e=>o(e)||e.isList()):a.some(o);let s=new Mp;r.forEach(e=>{s.set(e,[])}),a.forEach(e=>{let t=e.getNamePath();r.forEach(n=>{n.every((e,n)=>t[n]===e)&&s.update(n,t=>[...t,e])})});let c=e=>e.some(o),l=s.map(({value:e})=>e);return i?l.every(c):l.some(c)};isFieldTouched=e=>(this.warningUnhooked(),this.isFieldsTouched([e]));isFieldsValidating=e=>{this.warningUnhooked();let t=this.getFieldEntities();if(!e)return t.some(e=>e.isFieldValidating());let n=e.map(fp);return t.some(e=>mp(n,e.getNamePath())&&e.isFieldValidating())};isFieldValidating=e=>(this.warningUnhooked(),this.isFieldsValidating([e]));resetWithFieldInitialValue=(e={})=>{let t=new Mp,n=this.getFieldEntities(!0);n.forEach(e=>{let{initialValue:n}=e.props,r=e.getNamePath();if(n!==void 0){let i=t.get(r)||new Set;i.add({entity:e,value:n}),t.set(r,i)}});let r=n=>{n.forEach(n=>{let{initialValue:r}=n.props;if(r!==void 0){let r=n.getNamePath();if(this.getInitialValue(r)!==void 0)_t(!1,`Form already set 'initialValues' with path '${r.join(`.`)}'. Field can not overwrite it.`);else{let i=t.get(r);if(i&&i.size>1)_t(!1,`Multiple Field with path '${r.join(`.`)}' set 'initialValue'. Can not decide which one to pick.`);else if(i){let t=this.getFieldValue(r);!n.isListField()&&(!e.skipExist||t===void 0)&&this.updateStore(zt(this.store,r,[...i][0].value))}}}})},i;e.entities?i=e.entities:e.namePathList?(i=[],e.namePathList.forEach(e=>{let n=t.get(e);n&&i.push(...[...n].map(e=>e.entity))})):i=n,r(i)};resetFields=e=>{this.warningUnhooked();let t=this.store;if(!e){this.updateStore(Wt(this.initialValues)),this.resetWithFieldInitialValue(),this.notifyObservers(t,null,{type:`reset`}),this.notifyWatch();return}let n=e.map(fp);n.forEach(e=>{let t=this.getInitialValue(e);this.updateStore(zt(this.store,e,t))}),this.resetWithFieldInitialValue({namePathList:n}),this.notifyObservers(t,n,{type:`reset`}),this.notifyWatch(n)};setFields=e=>{this.warningUnhooked();let t=this.store,n=[];e.forEach(e=>{let{name:r,...i}=e,a=fp(r);n.push(a),`value`in i&&this.updateStore(zt(this.store,a,i.value)),this.notifyObservers(t,[a],{type:`setField`,data:e})}),this.notifyWatch(n)};getFields=()=>this.getFieldEntities(!0).map(e=>{let t=e.getNamePath(),n={...e.getMeta(),name:t,value:this.getFieldValue(t)};return Object.defineProperty(n,"originRCField",{value:!0}),n});initEntityValue=e=>{let{initialValue:t}=e.props;if(t!==void 0){let n=e.getNamePath();Lt(this.store,n)===void 0&&this.updateStore(zt(this.store,n,t))}};isMergedPreserve=e=>(e===void 0?this.preserve:e)??!0;registerField=e=>{this.fieldEntities.push(e);let t=e.getNamePath();if(this.notifyWatch([t]),e.props.initialValue!==void 0){let t=this.store;this.resetWithFieldInitialValue({entities:[e],skipExist:!0}),this.notifyObservers(t,[e.getNamePath()],{type:`valueUpdate`,source:`internal`})}return(n,r,i=[])=>{if(this.fieldEntities=this.fieldEntities.filter(t=>t!==e),!this.isMergedPreserve(r)&&(!n||i.length>1)){let e=n?void 0:this.getInitialValue(t);if(t.length&&this.getFieldValue(t)!==e&&this.fieldEntities.every(e=>!hp(e.getNamePath(),t))){let n=this.store;this.updateStore(zt(n,t,e,!0)),this.notifyObservers(n,[t],{type:`remove`}),this.triggerDependenciesUpdate(n,t)}}this.notifyWatch([t])}};dispatch=e=>{switch(e.type){case`updateValue`:{let{namePath:t,value:n}=e;this.updateValue(t,n);break}case`validateField`:{let{namePath:t,triggerName:n}=e;this.validateFields([t],{triggerName:n});break}default:}};notifyObservers=(e,t,n)=>{if(this.subscribable){let r={...n,store:this.getFieldsValue(!0)};this.getFieldEntities().forEach(({onStoreChange:n})=>{n(e,t,r)})}else this.forceRootUpdate()};triggerDependenciesUpdate=(e,t)=>{let n=this.getDependencyChildrenFields(t);return n.length&&this.validateFields(n,{delayFrame:!0}),this.notifyObservers(e,n,{type:`dependenciesUpdate`,relatedFields:[t,...n]}),n};updateValue=(e,t)=>{let n=fp(e),r=this.store;this.updateStore(zt(this.store,n,t)),this.notifyObservers(r,[n],{type:`valueUpdate`,source:`internal`}),this.notifyWatch([n]);let i=this.triggerDependenciesUpdate(r,n),{onValuesChange:a}=this.callbacks;if(a){let e=pp(this.store,[n]);a(e,zt(this.getFieldsValue(),n,Lt(e,n)))}this.triggerOnFieldsChange([n,...i])};setFieldsValue=e=>{this.warningUnhooked();let t=this.store;if(e){let t=Wt(this.store,e);this.updateStore(t)}this.notifyObservers(t,null,{type:`valueUpdate`,source:`external`}),this.notifyWatch()};setFieldValue=(e,t)=>{this.setFields([{name:e,value:t,errors:[],warnings:[],touched:!0}])};getDependencyChildrenFields=e=>{let t=new Set,n=[],r=new Mp;this.getFieldEntities().forEach(e=>{let{dependencies:t}=e.props;(t||[]).forEach(t=>{let n=fp(t);r.update(n,(t=new Set)=>(t.add(e),t))})});let i=e=>{(r.get(e)||new Set).forEach(e=>{if(!t.has(e)){t.add(e);let r=e.getNamePath();e.isFieldDirty()&&r.length&&(n.push(r),i(r))}})};return i(e),n};triggerOnFieldsChange=(e,t)=>{let{onFieldsChange:n}=this.callbacks;if(n){let r=this.getFields();if(t){let e=new Mp;t.forEach(({name:t,errors:n})=>{e.set(t,n)}),r.forEach(t=>{t.errors=e.get(t.name)||t.errors})}let i=r.filter(({name:t})=>mp(e,t));i.length&&n(i,r)}};validateFields=(e,t)=>{this.warningUnhooked();let n,r;Array.isArray(e)||typeof e==`string`||typeof t==`string`?(n=e,r=t):r=e;let i=!!n,a=i?n.map(fp):[],o=[...a],s=[],c=String(Date.now()),l=new Set,{recursive:u,dirty:d}=r||{};this.getFieldEntities(!0).forEach(e=>{let t=e.getNamePath();if(i||((!e.isList()||!a.some(e=>hp(e,t,!0)))&&o.push(t),a.push(t)),!(!e.props.rules||!e.props.rules.length)&&!(d&&!e.isFieldDirty())&&(l.add(t.join(c)),!i||mp(a,t,u))){let n=e.validateRules({validateMessages:{...ip,...this.validateMessages},...r});s.push(n.then(()=>({name:t,errors:[],warnings:[]})).catch(e=>{let n=[],r=[];return e.forEach?.(({rule:{warningOnly:e},errors:t})=>{e?r.push(...t):n.push(...t)}),n.length?Promise.reject({name:t,errors:n,warnings:r}):{name:t,errors:n,warnings:r}}))}});let f=kp(s);this.lastValidatePromise=f,f.catch(e=>e).then(e=>{let t=e.map(({name:e})=>e);this.notifyObservers(this.store,t,{type:`validateFinish`}),this.triggerOnFieldsChange(t,e)});let p=f.then(()=>this.lastValidatePromise===f?Promise.resolve(this.getFieldsValue(o)):Promise.reject([])).catch(e=>{let t=e.filter(e=>e&&e.errors.length),n=t[0]?.errors?.[0];return Promise.reject({message:n,values:this.getFieldsValue(a),errorFields:t,outOfDate:this.lastValidatePromise!==f})});p.catch(e=>e);let m=a.filter(e=>l.has(e.join(c)));return this.triggerOnFieldsChange(m),p};submit=()=>{this.warningUnhooked(),this.validateFields().then(e=>{let{onFinish:t}=this.callbacks;if(t)try{t(e)}catch(e){console.error(e)}}).catch(e=>{let{onFinishFailed:t}=this.callbacks;t&&t(e)})}};function Pp(e){let t=o.useRef(null),[,n]=o.useState({});return t.current||(e?t.current=e:t.current=new Np(()=>{n({})}).getForm()),[t.current]}var Fp=o.createContext({triggerFormChange:()=>{},triggerFormFinish:()=>{},registerForm:()=>{},unregisterForm:()=>{}}),Ip=({validateMessages:e,onFormChange:t,onFormFinish:n,children:r})=>{let i=o.useContext(Fp),a=o.useRef({});return o.createElement(Fp.Provider,{value:{...i,validateMessages:{...i.validateMessages,...e},triggerFormChange:(e,n)=>{t&&t(e,{changedFields:n,forms:a.current}),i.triggerFormChange(e,n)},triggerFormFinish:(e,t)=>{n&&n(e,{values:t,forms:a.current}),i.triggerFormFinish(e,t)},registerForm:(e,t)=>{e&&(a.current={...a.current,[e]:t}),i.registerForm(e,t)},unregisterForm:e=>{let t={...a.current};delete t[e],a.current=t,i.unregisterForm(e)}}},r)};function Lp(){return Lp=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{name:n,initialValues:r,fields:i,form:a,preserve:s,children:c,component:l=`form`,validateMessages:u,validateTrigger:d=`onChange`,onValuesChange:f,onFieldsChange:p,onFinish:m,onFinishFailed:h,clearOnDestroy:g,..._}=e,v=o.useRef(null),y=o.useContext(Fp),[b]=Pp(a),{useSubscribe:x,setInitialValues:S,setCallbacks:C,setValidateMessages:w,setPreserve:T,destroyForm:E}=b.getInternalHooks(of);o.useImperativeHandle(t,()=>({...b,nativeElement:v.current})),o.useEffect(()=>(y.registerForm(n,b),()=>{y.unregisterForm(n)}),[y,b,n]),w({...y.validateMessages,...u}),C({onValuesChange:f,onFieldsChange:(e,...t)=>{y.triggerFormChange(n,e),p&&p(e,...t)},onFinish:e=>{y.triggerFormFinish(n,e),m&&m(e)},onFinishFailed:h}),T(s);let D=o.useRef(null);S(r,!D.current),D.current||=!0,o.useEffect(()=>()=>E(g),[]);let O,k=typeof c==`function`;O=k?c(b.getFieldsValue(!0),b):c,x(!k);let A=o.useRef(null);o.useEffect(()=>{gp(A.current||[],i||[])||b.setFields(i||[]),A.current=i},[i,b]);let j=o.useMemo(()=>({...b,validateTrigger:d}),[b,d]),M=o.createElement(lf.Provider,{value:null},o.createElement(cf.Provider,{value:j},O));return l===!1?M:o.createElement(l,Lp({},_,{ref:v,onSubmit:e=>{e.preventDefault(),e.stopPropagation(),b.submit()},onReset:e=>{e.preventDefault(),b.resetFields(),_.onReset?.(e)}}),M)};function zp(e){try{return JSON.stringify(e)}catch{return Math.random()}}function Bp(...e){let[t,n={}]=e,r=df(n)?{form:n}:n,i=r.form,[a,s]=(0,o.useState)(()=>typeof t==`function`?t({}):void 0),c=(0,o.useMemo)(()=>zp(a),[a]),l=(0,o.useRef)(c);l.current=c;let u=(0,o.useContext)(cf),d=i||u,f=d&&d._init,{getFieldsValue:p,getInternalHooks:m}=d,{registerWatch:h}=m(of),g=W((e,n)=>{let i=r.preserve?n??p(!0):e??p(),o=typeof t==`function`?t(i):Lt(i,fp(t));zp(a)!==zp(o)&&s(o)});return(0,o.useEffect)(()=>{f&&g()},[f,typeof t==`function`?t:JSON.stringify(t)]),(0,o.useEffect)(()=>{if(f)return h((e,t)=>{g(e,t)})},[f]),a}var Vp=o.forwardRef(Rp);Vp.FormProvider=Ip,Vp.Field=Dp,Vp.List=Op,Vp.useForm=Pp,Vp.useWatch=Bp;var Hp=o.createContext({}),Up=({children:e,status:t,override:n})=>{let r=o.useContext(Hp),i=o.useMemo(()=>{let e={...r};return n&&delete e.isFormItemInput,t&&(delete e.status,delete e.hasFeedback,delete e.feedbackIcon),e},[t,n,r]);return o.createElement(Hp.Provider,{value:i},e)},Wp=o.createContext(void 0);function Gp(e){return[`small`,`middle`,`medium`,`large`].includes(e)}function Kp(e){return e?qn(e):!1}var qp=(e,t,n)=>c({[`${e}-status-success`]:t===`success`,[`${e}-status-warning`]:t===`warning`,[`${e}-status-error`]:t===`error`,[`${e}-status-validating`]:t===`validating`,[`${e}-has-feedback`]:n}),Jp=(e,t)=>t||e,Yp=e=>{let{componentCls:t,borderRadius:n,paddingSM:r,colorBorder:i,paddingXS:a,fontSizeLG:o,fontSizeSM:s,borderRadiusLG:c,borderRadiusSM:l,colorBgContainerDisabled:u,lineWidth:d,antCls:f}=e,[p,m]=tc(f,`space-addon`);return{[t]:[{...Na(e),display:`inline-flex`,alignItems:`center`,gap:0,whiteSpace:`nowrap`,paddingInline:r,margin:0,borderWidth:d,borderStyle:`solid`,borderRadius:n,"&:hover":{zIndex:0},[`&${t}-disabled`]:{color:e.colorTextDisabled},"&-large":{fontSize:o,borderRadius:c},"&-small":{paddingInline:a,borderRadius:l,fontSize:s},"&-compact-last-item":{borderEndStartRadius:0,borderStartStartRadius:0},"&-compact-first-item":{borderEndEndRadius:0,borderStartEndRadius:0},"&-compact-item:not(:first-child):not(:last-child)":{borderRadius:0},"&-compact-item:not(:last-child)":{borderInlineEndWidth:0},"&-compact-item:not(:first-child)":{borderInlineStartWidth:0}},{[p(`addon-border-color`)]:i,[p(`addon-background`)]:u,[p(`addon-border-color-outlined`)]:i,[p(`addon-background-filled`)]:u,borderColor:m(`addon-border-color`),background:m(`addon-background`),"&-variant-outlined":{[p(`addon-border-color`)]:m(`addon-border-color-outlined`)},"&-variant-filled":{[p(`addon-border-color`)]:`transparent`,[p(`addon-background`)]:m(`addon-background-filled`),[`&${t}-disabled`]:{[p(`addon-border-color`)]:i,[p(`addon-background`)]:u}},"&-variant-borderless":{border:`none`,background:`transparent`},"&-variant-underlined":{border:`none`,background:`transparent`}},{"&-status-error":{[p(`addon-border-color-outlined`)]:e.colorError,[p(`addon-background-filled`)]:e.colorErrorBg,color:e.colorError},"&-status-warning":{[p(`addon-border-color-outlined`)]:e.colorWarning,[p(`addon-background-filled`)]:e.colorWarningBg,color:e.colorWarning}}]}},Xp=Qs(`Addon`,e=>[Yp(e),Yd(e,{focus:!1})]),Zp=o.forwardRef((e,t)=>{let{className:n,children:r,style:i,prefixCls:a,variant:s=`outlined`,disabled:l,status:u,...d}=e,{getPrefixCls:f,direction:p}=o.useContext(mr),m=f(`space-addon`,a),[h,g]=Xp(m),{compactItemClassnames:_,compactSize:v}=Mu(m,p),y=qp(m,u),b=c(m,h,_,g,`${m}-variant-${s}`,y,{[`${m}-${v}`]:v,[`${m}-disabled`]:l},n);return o.createElement(`div`,{ref:t,className:b,style:i,...d},r)}),Qp=o.createContext({latestIndex:0}),$p=Qp.Provider,em=e=>{let{className:t,prefix:n,index:r,children:i,separator:a,style:s,classNames:l,styles:u}=e,{latestIndex:d}=o.useContext(Qp);return Kn(i)?o.createElement(o.Fragment,null,o.createElement(`div`,{className:t,style:s},i),r{let{componentCls:t,antCls:n}=e;return{[t]:{display:`inline-flex`,"&-rtl":{direction:`rtl`},"&-vertical":{flexDirection:`column`},"&-align":{flexDirection:`column`,"&-center":{alignItems:`center`},"&-start":{alignItems:`flex-start`},"&-end":{alignItems:`flex-end`},"&-baseline":{alignItems:`baseline`}},[`${t}-item:empty`]:{display:`none`},[`${t}-item > ${n}-badge-not-a-wrapper:only-child`]:{display:`block`}}}},nm=e=>{let{componentCls:t}=e;return{[t]:{"&-gap-row-small":{rowGap:e.spaceGapSmallSize},"&-gap-row-medium, &-gap-row-middle":{rowGap:e.spaceGapMiddleSize},"&-gap-row-large":{rowGap:e.spaceGapLargeSize},"&-gap-col-small":{columnGap:e.spaceGapSmallSize},"&-gap-col-medium, &-gap-col-middle":{columnGap:e.spaceGapMiddleSize},"&-gap-col-large":{columnGap:e.spaceGapLargeSize}}}},rm=Qs(`Space`,e=>{let t=xo(e,{spaceGapSmallSize:e.paddingXS,spaceGapMiddleSize:e.padding,spaceGapLargeSize:e.paddingLG});return[tm(t),nm(t)]},()=>({}),{resetStyle:!1}),im=o.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r,size:i,className:a,style:s,classNames:l,styles:u}=_r(`space`),{size:d=i??`small`,align:f,className:p,rootClassName:m,children:h,direction:g,orientation:_,prefixCls:v,split:y,separator:b,style:x,vertical:S,wrap:C=!1,classNames:w,styles:T,...E}=e,[D,O]=Array.isArray(d)?d:[d,d],k=Gp(O),A=Gp(D),j=Kp(O),M=Kp(D),N=Ft(h,{keepEmpty:!0}),[P,F]=Su(_,S,g),I=f===void 0&&!F?`center`:f,L=b??y,R=n(`space`,v),[z,B]=rm(R),V={...e,size:d,orientation:P,align:I},[H,U]=sr([l,w],[u,T],{props:V}),ee=c(R,a,z,`${R}-${P}`,{[`${R}-rtl`]:r===`rtl`,[`${R}-align-${I}`]:I,[`${R}-gap-row-${O}`]:k,[`${R}-gap-col-${D}`]:A},p,m,B,H.root),te=c(`${R}-item`,H.item),ne=N.map((e,t)=>{let n=e?.key||`${te}-${t}`;return o.createElement(em,{prefix:R,classNames:H,styles:U,className:te,key:n,index:t,separator:L,style:U.item},e)}),W=o.useMemo(()=>({latestIndex:N.reduce((e,t,n)=>Kn(t)?n:e,0)}),[N]);if(N.length===0)return null;let G={};return C&&(G.flexWrap=`wrap`),!A&&M&&(G.columnGap=D),!k&&j&&(G.rowGap=O),o.createElement(`div`,{ref:t,className:ee,style:{...G,...U.root,...s,...x},...E},o.createElement($p,{value:W},ne))});im.Compact=Fu,im.Addon=Zp;function am(e){return xo(e,{inputAffixPadding:e.paddingXXS})}var om=e=>{let{controlHeight:t,fontSize:n,lineHeight:r,lineWidth:i,controlHeightSM:a,controlHeightLG:o,fontSizeLG:s,lineHeightLG:c,paddingSM:l,controlPaddingHorizontalSM:u,controlPaddingHorizontal:d,colorFillAlter:f,colorPrimaryHover:p,colorPrimary:m,controlOutlineWidth:h,controlOutline:g,colorErrorOutline:_,colorWarningOutline:v,colorBgContainer:y,inputFontSize:b,inputFontSizeLG:x,inputFontSizeSM:S}=e,C=b||n,w=S||C,T=x||s,E=Math.round((t-C*r)/2*10)/10-i,D=Math.round((a-w*r)/2*10)/10-i,O=Math.ceil((o-T*c)/2*10)/10-i;return{paddingBlock:Math.max(E,0),paddingBlockSM:Math.max(D,0),paddingBlockLG:Math.max(O,0),paddingInline:l-i,paddingInlineSM:u-i,paddingInlineLG:d-i,addonBg:f,activeBorderColor:m,hoverBorderColor:p,activeShadow:`0 0 0 ${h}px ${g}`,errorActiveShadow:`0 0 0 ${h}px ${_}`,warningActiveShadow:`0 0 0 ${h}px ${v}`,hoverBg:y,activeBg:y,inputFontSize:C,inputFontSizeLG:T,inputFontSizeSM:w}},sm=e=>({borderColor:e.hoverBorderColor,backgroundColor:e.hoverBg}),cm=e=>({color:e.colorTextDisabled,backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorderDisabled,boxShadow:`none`,cursor:`not-allowed`,opacity:1,"input[disabled], textarea[disabled]":{cursor:`not-allowed`},"&:hover:not([disabled])":{...sm(xo(e,{hoverBorderColor:e.colorBorderDisabled,hoverBg:e.colorBgContainerDisabled}))}}),lm=(e,t)=>({background:e.colorBgContainer,borderWidth:e.lineWidth,borderStyle:e.lineType,borderColor:t.borderColor,"&:hover":{borderColor:t.hoverBorderColor,backgroundColor:e.hoverBg},"&:focus, &:focus-within":{borderColor:t.activeBorderColor,boxShadow:t.activeShadow,outline:0,backgroundColor:e.activeBg}}),um=(e,t)=>({[`&${e.componentCls}-status-${t.status}:not(${e.componentCls}-disabled)`]:{...lm(e,t),[`${e.componentCls}-prefix, ${e.componentCls}-suffix`]:{color:t.affixColor}},[`&${e.componentCls}-status-${t.status}${e.componentCls}-disabled`]:{borderColor:t.borderColor}}),dm=(e,t)=>({"&-outlined":{...lm(e,{borderColor:e.colorBorder,hoverBorderColor:e.hoverBorderColor,activeBorderColor:e.activeBorderColor,activeShadow:e.activeShadow}),[`&${e.componentCls}-disabled, &[disabled]`]:{...cm(e)},...um(e,{status:`error`,borderColor:e.colorError,hoverBorderColor:e.colorErrorBorderHover,activeBorderColor:e.colorError,activeShadow:e.errorActiveShadow,affixColor:e.colorErrorAffix}),...um(e,{status:`warning`,borderColor:e.colorWarning,hoverBorderColor:e.colorWarningBorderHover,activeBorderColor:e.colorWarning,activeShadow:e.warningActiveShadow,affixColor:e.colorWarningAffix}),...t}}),fm=(e,t)=>({[`&${e.componentCls}-group-wrapper-status-${t.status}`]:{[`${e.componentCls}-group-addon`]:{borderColor:t.addonBorderColor,color:t.addonColor}}}),pm=e=>({"&-outlined":{[`${e.componentCls}-group`]:{"&-addon":{background:e.addonBg,border:`${Vr(e.lineWidth)} ${e.lineType} ${e.colorBorder}`},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}},...fm(e,{status:`error`,addonBorderColor:e.colorError,addonColor:e.colorErrorText}),...fm(e,{status:`warning`,addonBorderColor:e.colorWarning,addonColor:e.colorWarningText}),[`&${e.componentCls}-group-wrapper-disabled`]:{[`${e.componentCls}-group-addon`]:{...cm(e)}}}}),mm=`&:focus-visible, &:has(input:focus-visible), &:has(textarea:focus-visible)`,hm=(e,t)=>({outline:`${Vr(e.lineWidth)} ${e.lineType} ${t}`,outlineOffset:Vr(e.calc(e.lineWidth).mul(-1).equal()),transition:[`outline-offset`,`outline`].map(e=>`${e} 0s`).join(`, `)}),gm=(e,t)=>({"&, & input, & textarea":{color:t.color},[mm]:hm(e,t.color),[`${e.componentCls}-prefix, ${e.componentCls}-suffix`]:{color:t.affixColor}}),_m=(e,t)=>{let{componentCls:n}=e;return{"&-borderless":{background:`transparent`,border:`none`,paddingBlock:e.calc(e.paddingBlock).add(e.lineWidth).equal(),[`&${n}-sm, &${n}-affix-wrapper-sm`]:{paddingBlock:e.calc(e.paddingBlockSM).add(e.lineWidth).equal()},[`&${n}-lg, &${n}-affix-wrapper-lg`]:{paddingBlock:e.calc(e.paddingBlockLG).add(e.lineWidth).equal()},"&:focus, &:focus-within":{outline:`none`},[mm]:hm(e,e.activeBorderColor),[`&${n}-disabled, &[disabled]`]:{color:e.colorTextDisabled,cursor:`not-allowed`},[`&${n}-status-error`]:gm(e,{color:e.colorError,affixColor:e.colorErrorAffix}),[`&${n}-status-warning`]:gm(e,{color:e.colorWarning,affixColor:e.colorWarningAffix}),...t}}},vm=(e,t)=>({background:t.bg,borderWidth:e.lineWidth,borderStyle:e.lineType,borderColor:`transparent`,"input&, & input, textarea&, & textarea":{color:t?.inputColor??`unset`},"&:hover":{background:t.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:t.activeBorderColor,backgroundColor:e.activeBg}}),ym=(e,t)=>({[`&${e.componentCls}-status-${t.status}:not(${e.componentCls}-disabled)`]:{...vm(e,t),[`${e.componentCls}-prefix, ${e.componentCls}-suffix`]:{color:t.affixColor}}}),bm=(e,t)=>({"&-filled":{...vm(e,{bg:e.colorFillTertiary,hoverBg:e.colorFillSecondary,activeBorderColor:e.activeBorderColor,inputColor:e.colorText}),[`&${e.componentCls}-disabled, &[disabled]`]:{...cm(e)},...ym(e,{status:`error`,bg:e.colorErrorBg,hoverBg:e.colorErrorBgHover,activeBorderColor:e.colorError,inputColor:e.colorErrorText,affixColor:e.colorErrorAffix}),...ym(e,{status:`warning`,bg:e.colorWarningBg,hoverBg:e.colorWarningBgHover,activeBorderColor:e.colorWarning,inputColor:e.colorWarningText,affixColor:e.colorWarningAffix}),...t}}),xm=(e,t)=>({[`&${e.componentCls}-group-wrapper-status-${t.status}`]:{[`${e.componentCls}-group-addon`]:{background:t.addonBg,color:t.addonColor}}}),Sm=e=>({"&-filled":{[`${e.componentCls}-group-addon`]:{background:e.colorFillTertiary,"&:last-child":{position:`static`}},...xm(e,{status:`error`,addonBg:e.colorErrorBg,addonColor:e.colorErrorText}),...xm(e,{status:`warning`,addonBg:e.colorWarningBg,addonColor:e.colorWarningText}),[`&${e.componentCls}-group-wrapper-disabled`]:{[`${e.componentCls}-group`]:{"&-addon":{background:e.colorFillTertiary,color:e.colorTextDisabled},"&-addon:first-child":{borderInlineStart:`${Vr(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderTop:`${Vr(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderBottom:`${Vr(e.lineWidth)} ${e.lineType} ${e.colorBorder}`},"&-addon:last-child":{borderInlineEnd:`${Vr(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderTop:`${Vr(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderBottom:`${Vr(e.lineWidth)} ${e.lineType} ${e.colorBorder}`}}}}}),Cm=(e,t)=>({background:e.colorBgContainer,borderWidth:`${Vr(e.lineWidth)} 0`,borderStyle:`${e.lineType} none`,borderColor:`transparent transparent ${t.borderColor} transparent`,borderRadius:0,"&:hover":{borderColor:`transparent transparent ${t.hoverBorderColor} transparent`,backgroundColor:e.hoverBg},"&:focus, &:focus-within":{borderColor:`transparent transparent ${t.activeBorderColor} transparent`,outline:0,backgroundColor:e.activeBg}}),wm=(e,t)=>({[`&${e.componentCls}-status-${t.status}:not(${e.componentCls}-disabled)`]:{...Cm(e,t),[`${e.componentCls}-prefix, ${e.componentCls}-suffix`]:{color:t.affixColor}},[`&${e.componentCls}-status-${t.status}${e.componentCls}-disabled`]:{borderColor:`transparent transparent ${t.borderColor} transparent`}}),Tm=(e,t)=>({"&-underlined":{...Cm(e,{borderColor:e.colorBorder,hoverBorderColor:e.hoverBorderColor,activeBorderColor:e.activeBorderColor,activeShadow:e.activeShadow}),[`&${e.componentCls}-disabled, &[disabled]`]:{color:e.colorTextDisabled,boxShadow:`none`,cursor:`not-allowed`,"&:hover":{borderColor:`transparent transparent ${e.colorBorder} transparent`}},"input[disabled], textarea[disabled]":{cursor:`not-allowed`},...wm(e,{status:`error`,borderColor:e.colorError,hoverBorderColor:e.colorErrorBorderHover,activeBorderColor:e.colorError,activeShadow:e.errorActiveShadow,affixColor:e.colorErrorAffix}),...wm(e,{status:`warning`,borderColor:e.colorWarning,hoverBorderColor:e.colorWarningBorderHover,activeBorderColor:e.colorWarning,activeShadow:e.warningActiveShadow,affixColor:e.colorWarningAffix}),...t}}),Em=e=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:e,userSelect:`none`},"&:placeholder-shown":{textOverflow:`ellipsis`}}),Dm=e=>{let{paddingBlockLG:t,lineHeightLG:n,borderRadiusLG:r,paddingInlineLG:i}=e;return{padding:`${Vr(t)} ${Vr(i)}`,fontSize:e.inputFontSizeLG,lineHeight:n,borderRadius:r}},Om=e=>({padding:`${Vr(e.paddingBlockSM)} ${Vr(e.paddingInlineSM)}`,fontSize:e.inputFontSizeSM,borderRadius:e.borderRadiusSM}),km=(e,t={})=>({position:`relative`,display:`inline-block`,width:`100%`,minWidth:0,padding:`${Vr(e.paddingBlock)} ${Vr(e.paddingInline)}`,color:e.colorText,fontSize:e.inputFontSize,lineHeight:e.lineHeight,borderRadius:e.borderRadius,transition:`all ${e.motionDurationMid}`,...Em(e.colorTextPlaceholder),"&-lg":{...Dm(e),...t.largeStyle},"&-sm":{...Om(e),...t.smallStyle},"&-rtl, &-textarea-rtl":{direction:`rtl`}}),Am=e=>{let{componentCls:t,antCls:n}=e;return{position:`relative`,display:`table`,width:`100%`,borderCollapse:`separate`,borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:e.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${t}, &-lg > ${t}-group-addon`]:{...Dm(e)},[`&-sm ${t}, &-sm > ${t}-group-addon`]:{...Om(e)},[`&-lg ${n}-select-single`]:{height:e.controlHeightLG},[`&-sm ${n}-select-single`]:{height:e.controlHeightSM},[`> ${t}`]:{display:`table-cell`,"&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${t}-group`]:{"&-addon, &-wrap":{display:`table-cell`,width:1,whiteSpace:`nowrap`,verticalAlign:`middle`,"&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:`block !important`},"&-addon":{position:`relative`,padding:`0 ${Vr(e.paddingInline)}`,color:e.colorText,fontWeight:`normal`,fontSize:e.inputFontSize,textAlign:`center`,borderRadius:e.borderRadius,transition:`all ${e.motionDurationSlow}`,lineHeight:1,[`${n}-select`]:{margin:`${Vr(e.calc(e.paddingBlock).add(1).mul(-1).equal())} ${Vr(e.calc(e.paddingInline).mul(-1).equal())}`,[`&${n}-select-single:not(${n}-select-customize-input):not(${n}-pagination-size-changer)`]:{backgroundColor:`inherit`,border:`${Vr(e.lineWidth)} ${e.lineType} transparent`,boxShadow:`none`}},[`${n}-cascader-picker`]:{margin:`-9px ${Vr(e.calc(e.paddingInline).mul(-1).equal())}`,backgroundColor:`transparent`,[`${n}-cascader-input`]:{textAlign:`start`,border:0,boxShadow:`none`}}}},[t]:{width:`100%`,marginBottom:0,textAlign:`inherit`,"&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1}},[`> ${t}:first-child, ${t}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${n}-select`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${t}-affix-wrapper`]:{[`&:not(:first-child) ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${t}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${t}:last-child, ${t}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${n}-select`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${t}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0},"&:not(:first-child)":{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${t}-group-compact`]:{display:`block`,...Ia(),[`${t}-group-addon, ${t}-group-wrap, > ${t}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:e.lineWidth,"&:hover, &:focus":{zIndex:1}}},"& > *":{display:`inline-flex`,float:`none`,verticalAlign:`top`,borderRadius:0},[` + & > ${t}-affix-wrapper, + & > ${t}-number-affix-wrapper, + & > ${n}-picker-range + `]:{display:`inline-flex`},"& > *:not(:last-child)":{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal(),borderInlineEndWidth:e.lineWidth},[t]:{float:`none`},[`& > ${n}-select, + & > ${n}-select-auto-complete ${t}, + & > ${n}-cascader-picker ${t}, + & > ${t}-group-wrapper ${t}`]:{borderInlineEndWidth:e.lineWidth,borderRadius:0,"&:hover, &:focus":{zIndex:1}},[`& > ${n}-select-focused`]:{zIndex:1},[`& > ${n}-select > ${n}-select-arrow`]:{zIndex:1},[`& > *:first-child, + & > ${n}-select:first-child, + & > ${n}-select-auto-complete:first-child ${t}, + & > ${n}-cascader-picker:first-child ${t}`]:{borderStartStartRadius:e.borderRadius,borderEndStartRadius:e.borderRadius},[`& > *:last-child, + & > ${n}-select:last-child, + & > ${n}-cascader-picker:last-child ${t}, + & > ${n}-cascader-picker-focused:last-child ${t}`]:{borderInlineEndWidth:e.lineWidth,borderStartEndRadius:e.borderRadius,borderEndEndRadius:e.borderRadius},[`& > ${n}-select-auto-complete ${t}`]:{verticalAlign:`top`},[`${t}-group-wrapper + ${t}-group-wrapper`]:{marginInlineStart:e.calc(e.lineWidth).mul(-1).equal(),[`${t}-affix-wrapper`]:{}}}}},jm=e=>{let{componentCls:t,controlHeightSM:n,lineWidth:r,calc:i}=e,a=i(n).sub(i(r).mul(2)).sub(16).div(2).equal();return{[t]:{...Na(e),...km(e),...dm(e),...bm(e),..._m(e),...Tm(e),'&[type="color"]':{height:e.controlHeight,[`&${t}-lg`]:{height:e.controlHeightLG},[`&${t}-sm`]:{height:n,paddingTop:a,paddingBottom:a}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{appearance:`none`}}}},Mm=e=>{let{componentCls:t}=e;return{[`${t}-clear-icon`]:{margin:0,padding:0,lineHeight:0,color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,verticalAlign:-1,cursor:`pointer`,transition:`color ${e.motionDurationSlow}`,border:`none`,outline:`none`,backgroundColor:`transparent`,"&:hover":{color:e.colorIcon},"&:focus-visible":{color:e.colorIcon,borderRadius:e.borderRadiusSM,...La(e)},"&:active":{color:e.colorText},"&-hidden":{visibility:`hidden`},"&-has-suffix":{margin:`0 ${Vr(e.inputAffixPadding)}`}}}},Nm=e=>{let{componentCls:t,inputAffixPadding:n,colorTextDescription:r,motionDurationSlow:i,colorIcon:a,colorIconHover:o}=e,s=`${t}-affix-wrapper`,c=`${t}-affix-wrapper-disabled`;return{[s]:{...km(e),display:`inline-flex`,"&-focused, &:focus":{zIndex:1},[`> input${t}`]:{padding:0},[`> input${t}, > textarea${t}`]:{fontSize:`inherit`,border:`none`,borderRadius:0,outline:`none`,background:`transparent`,color:`inherit`,"&::-ms-reveal":{display:`none`},"&:focus":{boxShadow:`none !important`}},"&::before":{display:`inline-block`,width:0,visibility:`hidden`,content:`"\\a0"`},[t]:{"&-prefix, &-suffix":{display:`flex`,flex:`none`,alignItems:`center`,"> *:not(:last-child)":{marginInlineEnd:e.paddingXS}},"&-show-count-suffix":{color:r,direction:`ltr`},"&-show-count-has-suffix":{marginInlineEnd:e.paddingXXS},"&-prefix":{marginInlineEnd:n},"&-suffix":{marginInlineStart:n},"&-password-icon":{display:`inline-flex`,color:a,cursor:`pointer`,transition:`all ${i}`,"&:hover":{color:o}}},...Mm(e)},[`${t}-underlined`]:{borderRadius:0},[c]:{[`${t}-password-icon`]:{color:a,cursor:`not-allowed`,"&:hover":{color:a}}}}},Pm=e=>{let{componentCls:t,borderRadiusLG:n,borderRadiusSM:r}=e;return{[`${t}-group`]:{...Na(e),...Am(e),"&-rtl":{direction:`rtl`},"&-wrapper":{display:`inline-block`,width:`100%`,textAlign:`start`,verticalAlign:`top`,"&-rtl":{direction:`rtl`},"&-lg":{[`${t}-group-addon`]:{borderRadius:n,fontSize:e.inputFontSizeLG}},"&-sm":{[`${t}-group-addon`]:{borderRadius:r}},...pm(e),...Sm(e),[`&:not(${t}-compact-first-item):not(${t}-compact-last-item)${t}-compact-item`]:{[`${t}, ${t}-group-addon`]:{borderRadius:0}},[`&:not(${t}-compact-last-item)${t}-compact-first-item`]:{[`${t}, ${t}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${t}-compact-first-item)${t}-compact-last-item`]:{[`${t}, ${t}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&:not(${t}-compact-last-item)${t}-compact-item`]:{[`${t}-affix-wrapper`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${t}-compact-first-item)${t}-compact-item`]:{[`${t}-affix-wrapper`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}}},Fm=e=>{let{componentCls:t}=e;return{[`${t}-out-of-range`]:{[`&, & input, & textarea, ${t}-show-count-suffix, ${t}-data-count`]:{color:e.colorError}}}},Im=Qs([`Input`,`Shared`],e=>{let t=xo(e,am(e));return[jm(t),Nm(t)]},om,{resetFont:!1}),Lm=Qs([`Input`,`Component`],e=>{let t=xo(e,am(e));return[Pm(t),Fm(t),Yd(t,{focus:!0,focusElCls:`${t.componentCls}-affix-wrapper-focused`})]},om,{resetFont:!1}),Rm=e=>{let{getPrefixCls:t,direction:n}=(0,o.useContext)(mr),{prefixCls:r,className:i}=e,a=t(`input-group`,r),[s,l]=Lm(t(`input`)),u=c(a,l,{[`${a}-lg`]:e.size===`large`,[`${a}-sm`]:e.size===`small`,[`${a}-compact`]:e.compact,[`${a}-rtl`]:n===`rtl`},s,i),d=(0,o.useContext)(Hp),f=(0,o.useMemo)(()=>({...d,isFormItemInput:!1}),[d]);return o.createElement(Hp.Provider,{value:f},o.createElement(im.Compact,{className:u,style:e.style,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onFocus:e.onFocus,onBlur:e.onBlur},e.children))};function zm(e){return!!(e.addonBefore||e.addonAfter)}function Bm(e){return!!(e.prefix||e.suffix||e.allowClear)}function Vm(e,t,n){let r=t.cloneNode(!0),i=Object.create(e,{target:{value:r},currentTarget:{value:r}});return r.value=n,typeof t.selectionStart==`number`&&typeof t.selectionEnd==`number`&&(r.selectionStart=t.selectionStart,r.selectionEnd=t.selectionEnd),r.setSelectionRange=(...e)=>{t.setSelectionRange(...e)},i}function Hm(e,t,n,r){if(!n)return;let i=t;if(t.type===`click`){i=Vm(t,e,``),n(i);return}if(e.type!==`file`&&r!==void 0){i=Vm(t,e,r),n(i);return}n(i)}function Um(){return Um=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{inputElement:n,children:r,prefixCls:i,prefix:a,suffix:s,addonBefore:l,addonAfter:u,className:d,style:f,disabled:p,readOnly:m,focused:h,triggerFocus:g,allowClear:_,value:v,handleReset:y,hidden:b,classes:x,classNames:S,dataAttrs:C,styles:w,components:T,onClear:E}=e,D=r??n,O=T?.affixWrapper||`span`,k=T?.groupWrapper||`span`,A=T?.wrapper||`span`,j=T?.groupAddon||`span`,M=(0,o.useRef)(null),N=e=>{M.current?.contains(e.target)&&g?.()},P=Bm(e),F=(0,o.cloneElement)(D,{value:v,className:c(D.props?.className,!P&&S?.variant)||null}),I=(0,o.useRef)(null);if(o.useImperativeHandle(t,()=>({nativeElement:I.current||M.current})),P){let e=null;if(_){let t=!p&&!m&&v&&!(typeof _==`object`&&_.disabled),n=`${i}-clear-icon`,r=typeof _==`object`&&_?.clearIcon?_.clearIcon:`✖`;e=o.createElement(`button`,{type:`button`,onClick:e=>{y?.(e),E?.()},onMouseDown:e=>e.preventDefault(),className:c(n,{[`${n}-hidden`]:!t,[`${n}-has-suffix`]:!!s},S?.clear),style:w?.clear},r)}let t=`${i}-affix-wrapper`,n=c(t,{[`${i}-disabled`]:p,[`${t}-disabled`]:p,[`${t}-focused`]:h,[`${t}-readonly`]:m,[`${t}-input-with-clear-btn`]:s&&_&&v},x?.affixWrapper,S?.affixWrapper,S?.variant),r=(s||_)&&o.createElement(`span`,{className:c(`${i}-suffix`,S?.suffix),style:w?.suffix},e,s);F=o.createElement(O,Um({className:n,style:w?.affixWrapper,onClick:N},C?.affixWrapper,{ref:M}),a&&o.createElement(`span`,{className:c(`${i}-prefix`,S?.prefix),style:w?.prefix},a),F,r)}if(zm(e)){let e=`${i}-group`,t=`${e}-addon`,n=`${e}-wrapper`,r=c(`${i}-wrapper`,e,x?.wrapper,S?.wrapper),a=c(n,{[`${n}-disabled`]:p},x?.group,S?.groupWrapper);F=o.createElement(k,{className:a,ref:I},o.createElement(A,{className:r},l&&o.createElement(j,{className:t},l),F,u&&o.createElement(j,{className:t},u)))}return o.cloneElement(F,{className:c(F.props?.className,d)||null,style:{...F.props?.style,...f},hidden:b})});function Gm(e,t){return o.useMemo(()=>{let n={};t&&(n.show=typeof t==`object`&&t.formatter?t.formatter:!!t),n={...n,...e};let{show:r,...i}=n;return{...i,show:!!r,showFormatter:typeof r==`function`?r:void 0,strategy:i.strategy||(e=>e.length)}},[e,t])}function Km({countConfig:e,value:t,maxLength:n}){return o.useMemo(()=>{let r=e.max??n,i=e.strategy(t),a=!!r&&i>r,o=Number(r)>0;return{mergedMax:r,isOutOfRange:a,dataCount:e.show?e.showFormatter?e.showFormatter({value:t,count:i,maxLength:r}):`${i}${o?` / ${r}`:``}`:void 0}},[e,n,t])}function qm({countConfig:e,getTarget:t}){let[n,r]=o.useState(null),i=o.useRef(t);return o.useEffect(()=>{i.current=t},[t]),o.useEffect(()=>{n&&(i.current()?.setSelectionRange(...n),r(null))},[n]),o.useCallback((t,n)=>{let a=t;return!n&&e.exceedFormatter&&e.max&&e.strategy(t)>e.max&&(a=e.exceedFormatter(t,{max:e.max}),t!==a&&r([i.current()?.selectionStart||0,i.current()?.selectionEnd||0])),a},[e])}function Jm(e,t){let[n,r]=ae(e,t);return{value:n,setValue:r,formatValue:n==null?``:String(n)}}function Ym(){return Ym=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{autoComplete:n,onChange:r,onFocus:i,onBlur:a,onPressEnter:s,onKeyDown:l,onKeyUp:u,prefixCls:d=`rc-input`,disabled:f,htmlSize:p,className:m,maxLength:h,suffix:g,showCount:_,count:v,type:y=`text`,classes:b,classNames:x,styles:S,onCompositionStart:C,onCompositionEnd:w,...T}=e,[E,D]=(0,o.useState)(!1),O=(0,o.useRef)(!1),k=(0,o.useRef)(!1),A=(0,o.useRef)(null),j=(0,o.useRef)(null),M=e=>{A.current&&Ve(A.current,e)},{setValue:N,formatValue:P}=Jm(e.defaultValue,e.value),F=Gm(v,_),{isOutOfRange:I,dataCount:L}=Km({countConfig:F,value:P,maxLength:h}),R=qm({countConfig:F,getTarget:()=>A.current});(0,o.useImperativeHandle)(t,()=>({focus:M,blur:()=>{A.current?.blur()},setSelectionRange:(e,t,n)=>{A.current?.setSelectionRange(e,t,n)},select:()=>{A.current?.select()},input:A.current,nativeElement:j.current?.nativeElement||A.current})),(0,o.useEffect)(()=>{k.current&&=!1,D(e=>e&&f?!1:e)},[f]);let z=(e,t,n)=>{let i=R(t,O.current);n.source===`compositionEnd`&&t===i||(N(i),A.current&&Hm(A.current,e,r,i))},B=e=>{z(e,e.target.value,{source:`change`})},V=e=>{O.current=!1,z(e,e.currentTarget.value,{source:`compositionEnd`}),w?.(e)},H=e=>{s&&e.key===`Enter`&&!k.current&&!e.nativeEvent.isComposing&&(k.current=!0,s(e)),l?.(e)},U=e=>{e.key===`Enter`&&(k.current=!1),u?.(e)},ee=e=>{D(!0),i?.(e)},te=e=>{k.current&&=!1,D(!1),a?.(e)},ne=e=>{N(``),M(),A.current&&Hm(A.current,e,r)},W=I&&`${d}-out-of-range`;return o.createElement(Wm,Ym({},T,{prefixCls:d,className:c(m,W),handleReset:ne,value:P,focused:E,triggerFocus:M,suffix:g||F.show?o.createElement(o.Fragment,null,F.show&&o.createElement(`span`,{className:c(`${d}-show-count-suffix`,{[`${d}-show-count-has-suffix`]:!!g},x?.count),style:{...S?.count}},L),g):null,disabled:f,classes:b,classNames:x,styles:S,ref:j}),(()=>{let t=Ct(e,[`prefixCls`,`onPressEnter`,`addonBefore`,`addonAfter`,`prefix`,`suffix`,`allowClear`,`defaultValue`,`showCount`,`count`,`classes`,`htmlSize`,`styles`,`classNames`,`onClear`]);return o.createElement(`input`,Ym({autoComplete:n},t,{onChange:B,onFocus:ee,onBlur:te,onKeyDown:H,onKeyUp:U,className:c(d,{[`${d}-disabled`]:f},x?.input),style:S?.input,ref:A,size:p,type:y,onCompositionStart:e=>{O.current=!0,C?.(e)},onCompositionEnd:V}))})())}),Zm=` + min-height:0 !important; + max-height:none !important; + height:0 !important; + visibility:hidden !important; + overflow:hidden !important; + position:absolute !important; + z-index:-1000 !important; + top:0 !important; + right:0 !important; + pointer-events: none !important; +`,Qm=[`letter-spacing`,`line-height`,`padding-top`,`padding-bottom`,`font-family`,`font-weight`,`font-size`,`font-variant`,`text-rendering`,`text-transform`,`width`,`text-indent`,`padding-left`,`padding-right`,`border-width`,`box-sizing`,`word-break`,`white-space`],$m={},eh;function th(e,t=!1){let n=e.getAttribute(`id`)||e.getAttribute(`data-reactid`)||e.getAttribute(`name`);if(t&&$m[n])return $m[n];let r=window.getComputedStyle(e),i=r.getPropertyValue(`box-sizing`)||r.getPropertyValue(`-moz-box-sizing`)||r.getPropertyValue(`-webkit-box-sizing`),a=parseFloat(r.getPropertyValue(`padding-bottom`))+parseFloat(r.getPropertyValue(`padding-top`)),o=parseFloat(r.getPropertyValue(`border-bottom-width`))+parseFloat(r.getPropertyValue(`border-top-width`)),s={sizingStyle:Qm.map(e=>`${e}:${r.getPropertyValue(e)}`).join(`;`),paddingSize:a,borderSize:o,boxSizing:i};return t&&n&&($m[n]=s),s}function nh(e,t=!1,n=null,r=null){eh||(eh=document.createElement(`textarea`),eh.setAttribute(`tab-index`,`-1`),eh.setAttribute(`aria-hidden`,`true`),eh.setAttribute(`name`,`hiddenTextarea`),document.body.appendChild(eh)),e.getAttribute(`wrap`)?eh.setAttribute(`wrap`,e.getAttribute(`wrap`)):eh.removeAttribute(`wrap`);let{paddingSize:i,borderSize:a,boxSizing:o,sizingStyle:s}=th(e,t);eh.setAttribute(`style`,`${s};${Zm}`),eh.value=e.value||e.placeholder||``;let c,l,u,d=eh.scrollHeight;if(o===`border-box`?d+=a:o===`content-box`&&(d-=i),n!==null||r!==null){eh.value=` `;let e=eh.scrollHeight-i;n!==null&&(c=e*n,o===`border-box`&&(c=c+i+a),d=Math.max(c,d)),r!==null&&(l=e*r,o===`border-box`&&(l=l+i+a),u=d>l?void 0:`hidden`,d=Math.min(l,d))}let f={height:d,overflowY:u,resize:`none`};return c&&(f.minHeight=c),l&&(f.maxHeight=l),f}function rh(){return rh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n,defaultValue:r,value:i,autoSize:a,onResize:s,className:l,style:u,disabled:d,onChange:f,onInternalAutoSize:p,...m}=e,[h,g]=ae(r,i),_=h??``,v=e=>{g(e.target.value),f?.(e)},y=o.useRef(null);o.useImperativeHandle(t,()=>({textArea:y.current}));let[b,x]=o.useMemo(()=>a&&typeof a==`object`?[a.minRows,a.maxRows]:[],[a]),S=!!a,[C,w]=o.useState(oh),[T,E]=o.useState(),D=()=>{w(ih)};K(()=>{S&&D()},[i,b,x,S]),K(()=>{if(C===ih)w(ah);else if(C===ah){let e=nh(y.current,!1,b,x);w(oh),E(e)}},[C]);let O=o.useRef(void 0),k=()=>{O.current!==void 0&&Pt.cancel(O.current)},A=e=>{C===oh&&(s?.(e),a&&(k(),O.current=Pt(()=>{D()})))};o.useEffect(()=>k,[]);let j=S?T:null,M={...u,...j};return(C===ih||C===ah)&&(M.overflowY=`hidden`,M.overflowX=`hidden`),o.createElement($c,{onResize:A,disabled:!(a||s)},o.createElement(`textarea`,rh({},m,{ref:y,style:M,className:c(n,l,{[`${n}-disabled`]:d}),disabled:d,value:_,onChange:v})))});function ch(){return ch=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let[k,A]=o.useState(!1),j=o.useRef(!1),[M,N]=o.useState(null),P=(0,o.useRef)(null),F=(0,o.useRef)(null),I=()=>F.current?.textArea||null,{setValue:L,formatValue:R}=Jm(e,t),z=Gm(m,p),{isOutOfRange:B,dataCount:V}=Km({countConfig:z,value:R,maxLength:s}),H=qm({countConfig:z,getTarget:()=>F.current?.textArea||null}),U=()=>{I()?.focus()};(0,o.useImperativeHandle)(O,()=>({resizableTextArea:F.current,focus:U,blur:()=>{I()?.blur()},nativeElement:P.current?.nativeElement||I()})),(0,o.useEffect)(()=>{A(e=>!_&&e)},[_]);let ee=(e,t)=>{let n=H(t,j.current);L(n),Hm(e.currentTarget,e,i,n)},te=e=>{j.current=!0,l?.(e)},ne=e=>{j.current=!1,ee(e,e.currentTarget.value),u?.(e)},W=e=>{ee(e,e.target.value)},G=e=>{e.key===`Enter`&&C&&!e.nativeEvent.isComposing&&C(e),E?.(e)},re=e=>{A(!0),n?.(e)},K=e=>{A(!1),r?.(e)},q=e=>{L(``),U();let t=I();t&&Hm(t,e,i)},ie=d;z.show&&(ie=o.createElement(o.Fragment,null,ie,o.createElement(`span`,{className:c(`${f}-data-count`,y?.count),style:b?.count},V)));let ae=e=>{x?.(e),I()?.style.height&&N(!0)},oe=!T&&!p&&!a;return o.createElement(Wm,{ref:P,value:R,allowClear:a,handleReset:q,suffix:ie,prefixCls:f,classNames:{...y,affixWrapper:c(y?.affixWrapper,{[`${f}-show-count`]:p,[`${f}-textarea-allow-clear`]:a})},disabled:_,focused:k,className:c(h,B&&`${f}-out-of-range`),style:{...g,...M&&!oe?{height:`auto`}:{}},dataAttrs:typeof V==`string`?{affixWrapper:{"data-count":V}}:void 0,styles:b,hidden:v,readOnly:w,onClear:S},o.createElement(sh,ch({},D,{autoSize:T,maxLength:s,onKeyDown:G,onChange:W,onFocus:re,onBlur:K,onCompositionStart:te,onCompositionEnd:ne,className:c(y?.textarea),style:{resize:g?.resize,...b?.textarea},disabled:_,prefixCls:f,onResize:ae,ref:F,readOnly:w})))}),uh=Xm,dh=e=>{let{space:t,form:n,children:r}=e;if(!Kn(r))return null;let i=r;return n&&(i=o.createElement(Up,{override:!0,status:!0},i)),t&&(i=o.createElement(Nu,null,i)),i},fh=(e,t,n)=>{let{variant:r,[e]:i}=o.useContext(mr),a=o.useContext(Wp),s=i?.variant,c;c=t===void 0?n===!1?`borderless`:a??s??r??`outlined`:t;let l=pr.includes(c);return[c,l]};function ph(e,t){let n=(0,o.useRef)([]),r=()=>{n.current.push(setTimeout(()=>{e.current?.input&&e.current?.input.getAttribute(`type`)===`password`&&e.current?.input.hasAttribute(`value`)&&e.current?.input.removeAttribute(`value`)}))};return(0,o.useEffect)(()=>(t&&r(),()=>n.current.forEach(e=>{e&&clearTimeout(e)})),[]),r}function mh(e){return!!(e.prefix||e.suffix||e.allowClear||e.showCount)}var hh=(0,o.forwardRef)((e,t)=>{let{prefixCls:n,bordered:r=!0,status:i,size:a,disabled:s,onBlur:l,onFocus:u,suffix:d,allowClear:f,addonAfter:p,addonBefore:m,className:h,style:g,styles:_,rootClassName:v,onChange:y,classNames:b,variant:x,...S}=e,{getPrefixCls:C,direction:w,allowClear:T,autoComplete:E,className:D,style:O,classNames:k,styles:A}=_r(`input`),j=C(`input`,n),M=(0,o.useRef)(null),N=af(j),[P,F]=Im(j,v);Lm(j,N);let{compactSize:I,compactItemClassnames:L}=Mu(j,w),R=vu(e=>a??I??e),z=o.useContext(Vl),B=s??z,V={...e,size:R,disabled:B},H=ar(O),U=ar(g),[ee,te]=sr([k,b],[A,H,_,U],{props:V}),{status:ne,hasFeedback:W,feedbackIcon:G}=(0,o.useContext)(Hp),re=Jp(ne,i);(0,o.useRef)(mh(e)||!!W);let K=ph(M,!0),q=e=>{K(),l?.(e)},ie=e=>{K(),u?.(e)},ae=e=>{K(),y?.(e)},oe=(W||d)&&o.createElement(o.Fragment,null,d,W&&G),J=bu({allowClear:f,contextAllowClear:T,componentName:`Input`}),[se,ce]=fh(`input`,x,r);return o.createElement(uh,{ref:_e(t,M),prefixCls:j,autoComplete:E,...S,disabled:B,onBlur:q,onFocus:ie,style:te.root,styles:te,suffix:oe,allowClear:J,className:c(h,v,F,N,L,D,ee.root),onChange:ae,addonBefore:m&&o.createElement(dh,{form:!0,space:!0},m),addonAfter:p&&o.createElement(dh,{form:!0,space:!0},p),classNames:{...ee,input:c({[`${j}-sm`]:R===`small`,[`${j}-lg`]:R===`large`,[`${j}-rtl`]:w===`rtl`},ee.input,P),variant:c({[`${j}-${se}`]:ce},qp(j,re)),affixWrapper:c({[`${j}-affix-wrapper-sm`]:R===`small`,[`${j}-affix-wrapper-lg`]:R===`large`,[`${j}-affix-wrapper-rtl`]:w===`rtl`},P),wrapper:c({[`${j}-group-rtl`]:w===`rtl`},P),groupWrapper:c({[`${j}-group-wrapper-sm`]:R===`small`,[`${j}-group-wrapper-lg`]:R===`large`,[`${j}-group-wrapper-rtl`]:w===`rtl`,[`${j}-group-wrapper-${se}`]:ce},qp(`${j}-group-wrapper`,re,W),P)}})}),gh=e=>{let{componentCls:t,paddingXS:n}=e;return{[t]:{display:`inline-flex`,alignItems:`center`,flexWrap:`nowrap`,columnGap:n,[`${t}-input-wrapper`]:{position:`relative`,[`${t}-mask-icon`]:{position:`absolute`,zIndex:`1`,top:`50%`,right:`50%`,transform:`translate(50%, -50%)`,pointerEvents:`none`},[`${t}-mask-input`]:{color:`transparent`,caretColor:e.colorText,"&::selection":{color:`transparent`}},[`${t}-mask-input[type=number]::-webkit-inner-spin-button`]:{"-webkit-appearance":`none`,margin:0},[`${t}-mask-input[type=number]`]:{"-moz-appearance":`textfield`}},"&-rtl":{direction:`rtl`},[`${t}-input`]:{textAlign:`center`,paddingInline:e.paddingXXS},[`&${t}-sm ${t}-input`]:{paddingInline:e.calc(e.paddingXXS).div(2).equal()},[`&${t}-lg ${t}-input`]:{paddingInline:e.paddingXS}}}},_h=Qs([`Input`,`OTP`],e=>gh(xo(e,am(e))),om),vh=o.forwardRef((e,t)=>{let{className:n,value:r,onChange:i,onActiveChange:a,index:s,mask:l,onFocus:u,...d}=e,{getPrefixCls:f}=o.useContext(mr),p=f(`otp`),m=typeof l==`string`?l:r,h=o.useRef(null);o.useImperativeHandle(t,()=>h.current);let g=e=>{i(s,e.target.value)},_=()=>{Pt(()=>{let e=h.current?.input;document.activeElement===e&&e&&e.select()})},v=e=>{u?.(e),_()},y=e=>{let{key:t,ctrlKey:n,metaKey:i}=e;t===`ArrowLeft`?a(s-1):t===`ArrowRight`?a(s+1):t===`z`&&(n||i)?e.preventDefault():t===`Backspace`&&!r&&a(s-1),_()};return o.createElement(`span`,{className:`${p}-input-wrapper`,role:`presentation`},l&&r!==``&&r!==void 0&&o.createElement(`span`,{className:`${p}-mask-icon`,"aria-hidden":`true`},m),o.createElement(hh,{"aria-label":`OTP Input ${s+1}`,type:l===!0?`password`:`text`,...d,ref:h,value:r,onInput:g,onFocus:v,onKeyDown:y,onMouseDown:_,onMouseUp:_,className:c(n,{[`${p}-mask-input`]:l})}))});function yh(e){return(e||``).split(``)}var bh=e=>{let{index:t,prefixCls:n,separator:r,className:i,style:a}=e,s=Xn(r)?r(t):r;return s?o.createElement(`span`,{className:c(`${n}-separator`,i),style:a},s):null},xh=o.forwardRef((e,t)=>{let{prefixCls:n,length:r=6,size:i,defaultValue:a,value:s,onChange:l,formatter:u,separator:d,variant:f,disabled:p,status:m,autoFocus:h,mask:g,type:_,autoComplete:v,onInput:y,onFocus:b,inputMode:x,classNames:S,styles:C,className:w,style:T,...E}=e,{classNames:D,styles:O,getPrefixCls:k,direction:A,style:j,className:M}=_r(`otp`),N=k(`otp`,n),P={...e,length:r},F=ar(j),I=ar(T),[L,R]=sr([D,S],[O,F,C,I],{props:P}),z=Ot(E,{aria:!0,data:!0,attr:!0}),[B,V]=_h(N),H=vu(e=>i??e),U=o.useContext(Hp),ee=Jp(U.status,m),te=o.useMemo(()=>({...U,status:ee,hasFeedback:!1,feedbackIcon:null}),[U,ee]),ne=o.useRef(null),G=o.useRef({});o.useImperativeHandle(t,()=>({focus:()=>{G.current[0]?.focus()},blur:()=>{for(let e=0;eu?u(e):e,[K,q]=o.useState(()=>yh(re(a||``)));o.useEffect(()=>{s!==void 0&&q(yh(s))},[s]);let ie=W(e=>{q(e),y&&y(e),l&&e.length===r&&e.every(e=>e)&&e.some((e,t)=>K[t]!==e)&&l(e.join(``))}),ae=W((e,t)=>{let n=Wn(K);for(let t=0;t=0&&!n[e];--e)n.pop();return n=yh(re(n.map(e=>e||` `).join(``))).map((e,t)=>e===` `&&!n[t]?n[t]:e),n}),oe=(e,t)=>{let n=ae(e,t),i=Math.min(e+t.length,r-1);i!==e&&n[e]!==void 0&&G.current[i]?.focus(),ie(n)},J=e=>{G.current[e]?.focus()},se=(e,t)=>{for(let e=0;e{let n=`otp-${t}`,i=K[t]||``;return o.createElement(o.Fragment,{key:n},o.createElement(vh,{ref:e=>{G.current[t]=e},index:t,size:H,htmlSize:1,className:c(L.input,`${N}-input`),style:R.input,onChange:oe,value:i,onActiveChange:J,autoFocus:t===0&&h,onFocus:e=>se(e,t),...ce}),t{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z`}},{tag:`path`,attrs:{d:`M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z`}}]},name:`eye-invisible`,theme:`outlined`}}))());function Ch(){return Ch=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,Ch({},e,{ref:t,icon:Sh.default}))),Th=a(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z`}}]},name:`eye`,theme:`outlined`}}))());function Eh(){return Eh=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,Eh({},e,{ref:t,icon:Th.default}))),Oh=e=>e?o.createElement(Dh,null):o.createElement(wh,null),kh={click:`onClick`,hover:`onMouseOver`},Ah=o.forwardRef((e,t)=>{let{disabled:n,action:r=`click`,visibilityToggle:i=!0,iconRender:a,prefixCls:s,inputPrefixCls:l,suffix:u,className:d,style:f,classNames:p,styles:m,...h}=e,{getPrefixCls:g,className:_,style:v,classNames:y,styles:b,iconRender:x}=_r(`inputPassword`),[S]=_c(`global`),C=o.useContext(Vl),w=n??C,T={...e,disabled:w},[E,D]=sr([y,p],[b,m],{props:T}),O=Yn(i)&&i.visible!==void 0,[k,A]=(0,o.useState)(()=>O?i.visible:!1),j=(0,o.useRef)(null);o.useEffect(()=>{O&&A(i.visible)},[O,i]);let M=ph(j),N=()=>{if(w)return;k&&M();let e=!k;A(e),Yn(i)&&i.onVisibleChange?.(e)},P=e=>{let t=kh[r]||``,n=(a||x||Oh)(k),s=Yn(i)?i.tabIndex:void 0;return o.createElement(`span`,{key:`passwordIcon`,role:`button`,tabIndex:w?-1:s??0,className:`${e}-icon`,"aria-disabled":w,"aria-pressed":k,"aria-label":k?S.hide:S.show,onMouseDown:e=>{e.preventDefault()},onMouseUp:e=>{e.preventDefault()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N())},[t]:N},n)},F=g(`input`,l),I=g(`input-password`,s),L=i&&P(I),R=c(I,_,d,{[`${I}-${e.size}`]:!!e.size}),z={...h,type:k?`text`:`password`,prefixCls:F,suffix:o.createElement(o.Fragment,null,L,u),disabled:w,className:R,style:{...v,...f},classNames:E,styles:D};return o.createElement(hh,{ref:_e(t,j),...z})}),jh=a(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z`}}]},name:`search`,theme:`outlined`}}))());function Mh(){return Mh=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,Mh({},e,{ref:t,icon:jh.default}))),Ph=e=>{let{componentCls:t,antCls:n,calc:r,max:i}=e,a=`${t}-btn`,[o,s]=tc(n,`input-search`),c=e.inputFontSizeSM??e.fontSize,l=i(e.controlHeightSM,r(c).mul(e.lineHeight).add(r(e.paddingBlockSM).mul(2)).add(r(e.lineWidth).mul(2)).equal());return{[t]:{[o(`btn-height`)]:Vr(e.controlHeight),width:`100%`,[a]:{height:s(`btn-height`),[`&${n}-btn-icon-only`]:{width:s(`btn-height`)},"&-filled":{background:e.colorFillTertiary,"&:not(:disabled)":{"&:hover":{background:e.colorFillSecondary},"&:active":{background:e.colorFill}}}},[`&${t}-large`]:{[o(`btn-height`)]:Vr(e.controlHeightLG)},[`&${t}-small`]:{[o(`btn-height`)]:Vr(e.controlHeightSM)},[`&${t}-small ${a}`]:{minHeight:l,[`&${e.antCls}-btn-icon-only`]:{minWidth:l}}}}},Fh=Qs([`Input`,`Search`],e=>Ph(xo(e,am(e))),om),Ih=o.forwardRef((e,t)=>{let{prefixCls:n,inputPrefixCls:r,className:i,size:a,style:s,enterButton:l=!1,searchIcon:u,addonAfter:d,loading:f,disabled:p,onSearch:m,onChange:h,onCompositionStart:g,onCompositionEnd:_,variant:v,onPressEnter:y,classNames:b,styles:x,hidden:S,...C}=e,{direction:w,getPrefixCls:T,className:E,style:D,classNames:O,styles:k,searchIcon:A}=_r(`inputSearch`),j={...e,enterButton:l},[M,N]=sr([O,b],[k,x],{props:j},{button:{_default:`root`}}),P=o.useRef(!1),F=T(`input-search`,n),I=T(`input`,r),[L,R]=Fh(F),{compactSize:z}=Mu(F,w),B=vu(e=>a??z??e),V=o.useRef(null),H=e=>{e?.target&&e.type===`click`&&m&&m(e.target.value,e,{source:`clear`}),h?.(e)},U=e=>{document.activeElement===V.current?.input&&e.preventDefault()},ee=e=>{m&&m(V.current?.input?.value,e,{source:`input`})},te=e=>{P.current||f||(y?.(e),ee(e))},ne=typeof l==`boolean`?yu(u,A,o.createElement(Nh,null)):null,W=`${F}-btn`,G=c(W,{[`${W}-${v}`]:v}),re,K=l||{},q=K.type&&K.type.__ANT_BUTTON===!0;if(q||K.type===`button`){let e=K.props;re=Il(K,{onMouseDown:U,onClick:e=>{K?.props?.onClick?.(e),ee(e)},key:`enterButton`,...q?{className:c(G,e.className),size:B}:{}})}else re=o.createElement(rf,{classNames:M.button,styles:N.button,className:G,color:l?`primary`:`default`,size:B,disabled:p,key:`enterButton`,onMouseDown:U,onClick:ee,loading:f,icon:ne,variant:v===`borderless`||v===`filled`||v===`underlined`?`text`:l?`solid`:void 0},l);d&&(re=[re,Il(d,{key:`addonAfter`})]);let ie=c(F,R,{[`${F}-rtl`]:w===`rtl`,[`${F}-${B}`]:!!B,[`${F}-with-button`]:!!l},i,E,L,M.root),ae=e=>{P.current=!0,g?.(e)},oe=e=>{P.current=!1,_?.(e)},J=Ot(C,{data:!0}),se=Ct({...C,classNames:Ct(M,[`button`,`root`]),styles:Ct(N,[`button`,`root`]),prefixCls:I,type:`search`,size:B,variant:v,onPressEnter:te,onCompositionStart:ae,onCompositionEnd:oe,onChange:H,disabled:p},Object.keys(J));return o.createElement(Fu,{className:ie,style:{...N.root,...D,...s},...J,hidden:S},o.createElement(hh,{ref:_e(V,t),...se}),re)}),Lh=e=>{let{componentCls:t,paddingLG:n}=e,r=`${t}-textarea`;return{[`textarea${t}`]:{maxWidth:`100%`,height:`auto`,minHeight:e.controlHeight,lineHeight:e.lineHeight,verticalAlign:`bottom`,transition:`all ${e.motionDurationSlow}`,resize:`vertical`,[`&${t}-mouse-active`]:{transition:`all ${e.motionDurationSlow}, height 0s, width 0s`}},[`${t}-textarea-affix-wrapper-resize-dirty`]:{width:`auto`},[r]:{position:`relative`,"&-show-count":{[`${t}-data-count`]:{position:`absolute`,bottom:e.calc(e.fontSize).mul(e.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:e.colorTextDescription,whiteSpace:`nowrap`,pointerEvents:`none`}},[` + &-allow-clear > ${t}, + &-affix-wrapper${r}-has-feedback ${t} + `]:{paddingInlineEnd:n},[`&-affix-wrapper${t}-affix-wrapper`]:{padding:0,[`> textarea${t}`]:{fontSize:`inherit`,border:`none`,outline:`none`,background:`transparent`,minHeight:e.calc(e.controlHeight).sub(e.calc(e.lineWidth).mul(2)).equal(),"&:focus":{boxShadow:`none !important`}},[`${t}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${t}-clear-icon`]:{position:`absolute`,insetInlineEnd:e.paddingInline,insetBlockStart:e.paddingXS},[`${r}-suffix`]:{position:`absolute`,top:0,insetInlineEnd:e.paddingInline,bottom:0,zIndex:1,display:`inline-flex`,alignItems:`center`,margin:`auto`,pointerEvents:`none`}}},[`&-affix-wrapper${t}-affix-wrapper-rtl`]:{[`${t}-suffix`]:{[`${t}-data-count`]:{direction:`ltr`,insetInlineStart:0}}},[`&-affix-wrapper${t}-affix-wrapper-sm`]:{[`${t}-suffix`]:{[`${t}-clear-icon`]:{insetInlineEnd:e.paddingInlineSM}}}}}},Rh=Qs([`Input`,`TextArea`],e=>Lh(xo(e,am(e))),om,{resetFont:!1}),zh=(0,o.forwardRef)((e,t)=>{let{prefixCls:n,bordered:r=!0,size:i,disabled:a,status:s,allowClear:l,classNames:u,rootClassName:d,className:f,style:p,styles:m,variant:h,showCount:g,onMouseDown:_,onResize:v,...y}=e,{getPrefixCls:b,direction:x,allowClear:S,autoComplete:C,className:w,style:T,classNames:E,styles:D}=_r(`textArea`),O=o.useContext(Vl),k=a??O,{status:A,hasFeedback:j,feedbackIcon:M}=o.useContext(Hp),N=Jp(A,s),P=ar(T),F=ar(p),[I,L]=sr([E,u],[D,P,m,F],{props:e}),R=o.useRef(null);o.useImperativeHandle(t,()=>({resizableTextArea:R.current?.resizableTextArea,focus:e=>{Ve(R.current?.resizableTextArea?.textArea,e)},blur:()=>R.current?.blur(),nativeElement:R.current?.nativeElement||null}));let z=b(`input`,n),B=af(z),[V,H]=Im(z,d);Rh(z,B);let{compactSize:U,compactItemClassnames:ee}=Mu(z,x),te=vu(e=>i??U??e),[ne,W]=fh(`textArea`,h,r),G=bu({allowClear:l,contextAllowClear:S,componentName:`TextArea`}),[re,K]=o.useState(!1),[q,ie]=o.useState(!1),ae=e=>{K(!0),_?.(e);let t=()=>{K(!1),document.removeEventListener(`mouseup`,t)};document.addEventListener(`mouseup`,t)},oe=e=>{if(v?.(e),re&&Xn(getComputedStyle)){let e=R.current?.nativeElement?.querySelector(`textarea`);e&&getComputedStyle(e).resize===`both`&&ie(!0)}};return o.createElement(lh,{autoComplete:C,...y,style:L.root,styles:L,disabled:k,allowClear:G,className:c(H,B,f,d,ee,w,I.root,{[`${z}-textarea-affix-wrapper-resize-dirty`]:q}),classNames:{...I,textarea:c({[`${z}-sm`]:te===`small`,[`${z}-lg`]:te===`large`},V,I.textarea,re&&`${z}-mouse-active`),variant:c({[`${z}-${ne}`]:W},qp(z,N)),affixWrapper:c(`${z}-textarea-affix-wrapper`,{[`${z}-affix-wrapper-rtl`]:x===`rtl`,[`${z}-affix-wrapper-sm`]:te===`small`,[`${z}-affix-wrapper-lg`]:te===`large`,[`${z}-textarea-show-count`]:g||e.count?.show},V)},prefixCls:z,suffix:j&&o.createElement(`span`,{className:`${z}-textarea-suffix`},M),showCount:g,ref:R,onResize:oe,onMouseDown:ae})}),Bh=hh;Bh.Group=Rm,Bh.Search=Ih,Bh.TextArea=zh,Bh.Password=Ah,Bh.OTP=xh;function Vh(e){return t=>o.createElement(su,{theme:{token:{motion:!1,zIndexPopupBase:0}}},o.createElement(e,{...t}))}var Hh=(e,t,n,r,i)=>Vh(a=>{let{prefixCls:s,style:c}=a,l=o.useRef(null),[u,d]=o.useState(0),[f,p]=o.useState(0),[m,h]=ae(!1,a.open),{getPrefixCls:g}=o.useContext(mr),_=g(r||`select`,s);o.useEffect(()=>{if(h(!0),typeof ResizeObserver<`u`){let e=new ResizeObserver(e=>{let t=e[0].target;d(t.offsetHeight+8),p(t.offsetWidth)}),t=setInterval(()=>{let n=i?`.${i(_)}`:`.${_}-dropdown`,r=l.current?.querySelector(n);r&&(clearInterval(t),e.observe(r))},10);return()=>{clearInterval(t),e.disconnect()}}},[_]);let v={...a,style:{...c,margin:0},open:m,getPopupContainer:()=>l.current};n&&(v=n(v)),t&&(v={...v,[t]:{overflow:{adjustX:!1,adjustY:!1}}});let y={paddingBottom:u,position:`relative`,minWidth:f};return o.createElement(`div`,{ref:l,style:y},o.createElement(e,{...v}))}),Uh=(e,t,n,r,i=!1,a,s)=>{let c=(0,o.useMemo)(()=>typeof n==`boolean`?{allowClear:n}:n&&typeof n==`object`?n:{allowClear:!1},[n]);return(0,o.useMemo)(()=>{let e=!i&&c.allowClear!==!1&&(t.length||a)&&!(s===`combobox`&&a===``);return{allowClear:e,clearIcon:e?c.clearIcon||r||`×`:null}},[c,r,i,t.length,a,s])},Wh=o.createContext(null);function Gh(){return o.useContext(Wh)}function Kh(e=250){let t=o.useRef(null),n=o.useRef(null);o.useEffect(()=>()=>{window.clearTimeout(n.current)},[]);function r(r){(r||t.current===null)&&(t.current=r),window.clearTimeout(n.current),n.current=window.setTimeout(()=>{t.current=null},e)}return[()=>t.current,r]}function qh(e,t){return e.filter(e=>e).some(e=>e.contains(t)||e===t)}function Jh(e,t,n,r){let i=W(i=>{if(r)return;let a=i.target;a.shadowRoot&&i.composed&&(a=i.composedPath()[0]||a),i._ori_target&&(a=i._ori_target),t&&!qh(e(),a)&&n(!1)});o.useEffect(()=>(window.addEventListener(`mousedown`,i),()=>window.removeEventListener(`mousedown`,i)),[i])}function Yh(){return Yh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let t=e===!0?0:1;return{bottomLeft:{points:[`tl`,`bl`],offset:[0,4],overflow:{adjustX:t,adjustY:1},htmlRegion:`scroll`},bottomRight:{points:[`tr`,`br`],offset:[0,4],overflow:{adjustX:t,adjustY:1},htmlRegion:`scroll`},topLeft:{points:[`bl`,`tl`],offset:[0,-4],overflow:{adjustX:t,adjustY:1},htmlRegion:`scroll`},topRight:{points:[`br`,`tr`],offset:[0,-4],overflow:{adjustX:t,adjustY:1},htmlRegion:`scroll`}}},Zh=o.forwardRef((e,t)=>{let{prefixCls:n,disabled:r,visible:i,children:a,popupElement:s,animation:l,transitionName:u,popupStyle:d,popupClassName:f,direction:p=`ltr`,placement:m,builtinPlacements:h,popupMatchSelectWidth:g,popupRender:_,popupAlign:v,getPopupContainer:y,empty:b,onPopupVisibleChange:x,onPopupMouseEnter:S,onPopupMouseDown:C,onPopupBlur:w,...T}=e,E=`${n}-dropdown`,D=s;_&&(D=_(s));let O=o.useMemo(()=>h||Xh(g),[h,g]),k=l?`${E}-${l}`:u,A=typeof g==`number`,j=o.useMemo(()=>g===!1||A?`minWidth`:`width`,[g,A]),M=d;A&&(M={...d,width:g});let N=o.useRef(null);return o.useImperativeHandle(t,()=>({getPopupElement:()=>N.current?.popupElement})),o.createElement(Nl,Yh({},T,{showAction:x?[`click`]:[],hideAction:x?[`click`]:[],popupPlacement:m||(p===`rtl`?`bottomRight`:`bottomLeft`),builtinPlacements:O,prefixCls:E,popupMotion:{motionName:k},popup:o.createElement(`div`,{onMouseEnter:S,onMouseDown:C,onBlur:w},D),ref:N,stretch:j,popupAlign:v,popupVisible:i,getPopupContainer:y,popupClassName:c(f,{[`${E}-empty`]:b}),popupStyle:M,onPopupVisibleChange:x}),a)});function Qh(e,t){let{key:n}=e,r;return`value`in e&&({value:r}=e),n??(r===void 0?`rc-index-key-${t}`:r)}function $h(e){return e!==void 0&&!Number.isNaN(e)}function eg(e,t){let{label:n,value:r,options:i,groupLabel:a}=e||{},o=n||(t?`children`:`label`);return{label:o,value:r||`value`,options:i||`options`,groupLabel:a||o}}function tg(e,{fieldNames:t,childrenAsData:n}={}){let r=[],{label:i,value:a,options:o,groupLabel:s}=eg(t,!1);function c(e,t){Array.isArray(e)&&e.forEach(e=>{if(t||!(o in e)){let n=e[a];r.push({key:Qh(e,r.length),groupOption:t,data:e,label:e[i],value:n})}else{let t=e[s];t===void 0&&n&&(t=e.label),r.push({key:Qh(e,r.length),group:!0,data:e,label:t}),c(e[o],!0)}})}return c(e,!1),r}function ng(e){let t={...e};return`props`in t||Object.defineProperty(t,"props",{get(){return _t(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),t}}),t}var rg=(e,t,n)=>{if(!t||!t.length)return null;let r=!1,i=(e,[t,...n])=>{if(!t)return[e];let a=e.split(t);return r||=a.length>1,a.reduce((e,t)=>[...e,...i(t,n)],[]).filter(Boolean)},a=i(e,t);return r?n===void 0?a:a.slice(0,n):null};function ig(e){let{visible:t,values:n}=e;return t?o.createElement(`span`,{"aria-live":`polite`,style:{width:0,height:0,position:`absolute`,overflow:`hidden`,opacity:0}},`${n.slice(0,50).map(({label:e,value:t})=>[`number`,`string`].includes(typeof e)?e:t).join(`, `)}`,n.length>50?`, ...`:null):null}var ag=e=>{let t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(null)},og=(e,t=1)=>{if(t<=0){e();return}ag(()=>{og(e,t-1)})};function sg(e,t,n,r){let[i,a]=(0,o.useState)(!1);(0,o.useEffect)(()=>{a(!0)},[]);let[s,c]=ae(e,t),[l,u]=(0,o.useState)(!1),d=i?s:!1,f=r(d),p=(0,o.useRef)(0),m=W(e=>{n&&f!==e&&n(e),c(e)});return[d,f,W((e,t={})=>{let{cancelFun:n}=t;p.current+=1;let r=p.current,i=typeof e==`boolean`?e:!f;u(!i);function a(){r===p.current&&!n?.()&&(m(i),u(!1))}i?a():og(()=>{a()})}),l]}function cg(e){let{children:t,...n}=e;return t?o.createElement(`div`,n,t):null}var lg=o.createContext(null);function ug(){return o.useContext(lg)}var dg=o.forwardRef((e,t)=>{let{onChange:n,onKeyDown:r,onBlur:i,style:a,syncWidth:s,value:l,className:u,autoComplete:d,...f}=e,{prefixCls:p,mode:m,onSearch:h,onSearchSubmit:g,onInputBlur:_,autoFocus:v,tokenWithEnter:y,placeholder:b,components:{input:x=`input`}}=ug(),{id:S,classNames:C,styles:w,open:T,activeDescendantId:E,role:D,disabled:O}=Gh()||{},k=c(`${p}-input`,C?.input,u),A=o.useRef(!1),j=o.useRef(null),M=o.useRef(null);o.useImperativeHandle(t,()=>M.current);let N=e=>{let{value:t}=e.target;if(y&&j.current&&/[\r\n]/.test(j.current)){let e=j.current.replace(/[\r\n]+$/,``).replace(/\r\n/g,` `).replace(/[\r\n]/g,` `);t=t.replace(e,j.current)}j.current=null,h&&h(t,!0,A.current),n?.(e)},P=e=>{let{key:t}=e,{value:n}=e.currentTarget;t===`Enter`&&m===`tags`&&!T&&!A.current&&g&&g(n),r?.(e)},F=e=>{_?.(),i?.(e)},I=()=>{A.current=!0},L=e=>{if(A.current=!1,m!==`combobox`){let{value:t}=e.currentTarget;h?.(t,!0,!1)}},R=e=>{let{clipboardData:t}=e;j.current=t?.getData(`text`)||``},[z,B]=o.useState(void 0);K(()=>{let e=M.current;if(s&&e){e.style.width=`0px`;let t=e.scrollWidth;B(t),e.style.width=``}},[s,l]);let V={id:S,type:`text`,...f,ref:M,style:{...w?.input,...a,"--select-input-width":z},autoFocus:v,autoComplete:d||`new-password`,className:k,disabled:O,value:l||``,onChange:N,onKeyDown:P,onBlur:F,onPaste:R,onCompositionStart:I,onCompositionEnd:L,role:D||`combobox`,"aria-expanded":T||!1,"aria-haspopup":`listbox`,"aria-owns":T?`${S}_list`:void 0,"aria-autocomplete":`list`,"aria-controls":T?`${S}_list`:void 0,"aria-activedescendant":T?E:void 0};if(o.isValidElement(x)){let t=x.props||{},n={placeholder:e.placeholder||b,...V,...t};return Object.keys(t).forEach(e=>{let r=t[e];typeof r==`function`&&(n[e]=(...t)=>{r(...t),V[e]?.(...t)})}),n.ref=_e(x.ref,V.ref),o.cloneElement(x,n)}let H=x;return o.createElement(H,V)});function fg(e){let{prefixCls:t,placeholder:n,displayValues:r}=ug(),{classNames:i,styles:a}=Gh(),{show:s=!0}=e;return r.length?null:o.createElement(`div`,{className:c(`${t}-placeholder`,i?.placeholder),style:{visibility:s?`visible`:`hidden`,...a?.placeholder}},n)}var pg=o.createContext(null);function mg(e){return Array.isArray(e)?e:e===void 0?[]:[e]}typeof window<`u`&&window.document&&window.document.documentElement;function hg(e){return e!=null}function gg(e){return!e&&e!==0}function _g(e){return[`string`,`number`].includes(typeof e)}function vg(e){let t;return e&&(_g(e.title)?t=e.title.toString():_g(e.label)&&(t=e.label.toString())),t}function yg(){return yg=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n,searchValue:r,activeValue:i,displayValues:a,maxLength:s,mode:l,components:u}=ug(),{triggerOpen:d,title:f,showSearch:p,classNames:m,styles:h}=Gh(),g=o.useContext(pg),[_,v]=o.useState(!1),y=l===`combobox`,b=a[0],x=o.useMemo(()=>y&&i&&!_&&d?i:p?r:``,[y,i,_,d,r,p]),[S,C,w,T]=o.useMemo(()=>{let e,t,n;if(b&&g?.flattenOptions){let r=g.flattenOptions.find(e=>e.value===b.value);r?.data&&(e=r.data.className,t=r.data.style,n=vg(r.data))}return b&&!n&&(n=vg(b)),f!==void 0&&(n=f),[e,t,n,!!e||!!t]},[b,g?.flattenOptions,f]);o.useEffect(()=>{y&&v(!1)},[y,i]);let E=b&&b.label!==null&&b.label!==void 0&&String(b.label).trim()!==``,D=y&&u?.input?null:b?T?o.createElement(`div`,{className:c(`${n}-content-value`,S),style:{...x?{visibility:`hidden`}:{},...C},title:w},b.label):b.label:o.createElement(fg,{show:!x});return o.createElement(`div`,{className:c(`${n}-content`,E&&`${n}-content-has-value`,x&&`${n}-content-has-search-value`,T&&`${n}-content-has-option-style`,m?.content),style:h?.content,title:T?void 0:w},D,o.createElement(dg,yg({ref:t},e,{value:x,maxLength:l===`combobox`?s:void 0,onChange:t=>{v(!0),e.onChange?.(t)}})))}),xg=void 0;function Sg(e,t){let{prefixCls:n,invalidate:r,item:i,renderItem:a,responsive:s,responsiveDisabled:l,registerSize:u,itemKey:d,className:f,style:p,children:m,display:h,order:g,component:_=`div`,...v}=e,y=s&&!h;function b(e){u(d,e)}o.useEffect(()=>()=>{b(null)},[]);let x=a&&i!==xg?a(i,{index:g}):m,S;r||(S={opacity:+!y,height:y?0:xg,overflowY:y?`hidden`:xg,order:s?g:xg,pointerEvents:y?`none`:xg,position:y?`absolute`:xg});let C={};y&&(C[`aria-hidden`]=!0);let w=o.createElement(_,Dd({className:c(!r&&n,f),style:{...S,...p}},C,v,{ref:t}),x);return s&&(w=o.createElement($c,{onResize:({offsetWidth:e})=>{b(e)},disabled:l},w)),w}var Cg=o.forwardRef(Sg);function wg(e){if(typeof MessageChannel>`u`)Pt(e);else{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(void 0)}}function Tg(){let e=o.useRef(null);return t=>{e.current||(e.current=[],wg(()=>{(0,H.unstable_batchedUpdates)(()=>{e.current.forEach(e=>{e()}),e.current=null})})),e.current.push(t)}}function Eg(e,t){let[n,r]=o.useState(t);return[n,W(t=>{e(()=>{r(t)})})]}var Dg=o.createContext(null),Og=o.forwardRef((e,t)=>{let n=o.useContext(Dg);if(!n){let{component:n=`div`,...r}=e;return o.createElement(n,Dd({},r,{ref:t}))}let{className:r,...i}=n,{className:a,...s}=e;return o.createElement(Dg.Provider,{value:null},o.createElement(Cg,Dd({ref:t,className:c(r,a)},i,s)))}),kg=`responsive`,Ag=`invalidate`;function jg(e){return`+ ${e.length} ...`}function Mg(e,t){let{prefixCls:n=`rc-overflow`,data:r=[],renderItem:i,renderRawItem:a,itemKey:s,itemWidth:l=10,ssr:u,style:d,className:f,maxCount:p,renderRest:m,renderRawRest:h,prefix:g,suffix:_,component:v=`div`,itemComponent:y,onVisibleChange:b,...x}=e,S=u===`full`,C=Tg(),[w,T]=Eg(C,null),E=w||0,[D,O]=Eg(C,new Map),[k,A]=Eg(C,0),[j,M]=Eg(C,0),[N,P]=Eg(C,0),[F,I]=Eg(C,0),[L,R]=(0,o.useState)(null),[z,B]=(0,o.useState)(null),V=o.useMemo(()=>z===null&&S?2**53-1:z||0,[z,w]),[H,U]=(0,o.useState)(!1),ee=`${n}-item`,te=Math.max(k,j),ne=p===kg,W=r.length&&ne,G=p===Ag,re=W||typeof p==`number`&&r.length>p,q=(0,o.useMemo)(()=>{let e=r;return W?e=w===null&&S?r:r.slice(0,Math.min(r.length,E/l)):typeof p==`number`&&(e=r.slice(0,p)),e},[r,l,w,p,W]),ie=(0,o.useMemo)(()=>W?r.slice(V+1):r.slice(q.length),[r,q,W,V]),ae=(0,o.useCallback)((e,t)=>typeof s==`function`?s(e):(s&&e?.[s])??t,[s]),oe=(0,o.useCallback)(i||(e=>e),[i]);function J(e,t,n){z===e&&(t===void 0||t===L)||(B(e),n||(U(e{let r=new Map(n);return t===null?r.delete(e):r.set(e,t),r})}function le(e,t){M(t),A(j)}function ue(e,t){P(t)}function de(e,t){I(t)}function fe(e){return D.get(ae(q[e],e))}K(()=>{if(E&&typeof te==`number`&&q){let e=N+F,t=q.length,n=t-1;if(!t){J(0,null);return}for(let r=0;rE){J(r-1,e-t-F+j);break}}_&&fe(0)+F>E&&R(null)}},[E,D,j,N,F,ae,q]);let Y=H&&!!ie.length,X={};L!==null&&W&&(X={position:`absolute`,top:0,insetInlineStart:L});let Z={prefixCls:ee,responsive:W,component:y,invalidate:G},pe=a?(e,t)=>{let n=ae(e,t);return o.createElement(Dg.Provider,{key:n,value:{...Z,order:t,item:e,itemKey:n,registerSize:ce,display:t<=V}},a(e,t))}:(e,t)=>{let n=ae(e,t);return o.createElement(Cg,Dd({},Z,{order:t,key:n,item:e,renderItem:oe,itemKey:n,registerSize:ce,display:t<=V}))},me={order:Y?V:2**53-1,className:`${ee}-rest`,registerSize:le,display:Y},he=m||jg,ge=h?o.createElement(Dg.Provider,{value:{...Z,...me}},h(ie)):o.createElement(Cg,Dd({},Z,me),typeof he==`function`?he(ie):he),_e=o.createElement(v,Dd({className:c(!G&&n,f),style:d,ref:t},x),g&&o.createElement(Cg,Dd({},Z,{responsive:ne,responsiveDisabled:!W,order:-1,className:`${ee}-prefix`,registerSize:ue,display:!0}),g),q.map(pe),re?ge:null,_&&o.createElement(Cg,Dd({},Z,{responsive:ne,responsiveDisabled:!W,order:V,className:`${ee}-suffix`,registerSize:de,display:!0,style:X}),_));return ne?o.createElement($c,{onResize:se,disabled:!W},_e):_e}var Ng=o.forwardRef(Mg);Ng.Item=Og,Ng.RESPONSIVE=kg,Ng.INVALIDATE=Ag;var Pg=Ng,Fg=e=>{let{className:t,style:n,customizeIcon:r,customizeIconProps:i,children:a,onMouseDown:s,onClick:l}=e,u=typeof r==`function`?r(i):r;return o.createElement(`span`,{className:t,onMouseDown:e=>{e.preventDefault(),s?.(e)},style:{userSelect:`none`,WebkitUserSelect:`none`,...n},unselectable:`on`,onClick:l,"aria-hidden":!0},u===void 0?o.createElement(`span`,{className:c(t.split(/\s+/).map(e=>`${e}-icon`))},a):u)};function Ig(){return Ig=Object.assign?Object.assign.bind():function(e){for(var t=1;t{e.preventDefault(),e.stopPropagation()},zg=o.forwardRef(function({inputProps:e},t){let{prefixCls:n,displayValues:r,searchValue:i,mode:a,onSelectorRemove:s,removeIcon:l}=ug(),{disabled:u,showSearch:d,triggerOpen:f,rawOpen:p,toggleOpen:m,autoClearSearchValue:h,tagRender:g,maxTagPlaceholder:_,maxTagTextLength:v,maxTagCount:y,classNames:b,styles:x}=Gh(),S=`${n}-selection-item`,C=i;!p&&a===`multiple`&&h!==!1&&(C=``);let w=d&&C||``,T=d&&!u,E=l??`×`,D=_??(e=>`+ ${e.length} ...`),O=g,k=e=>{m(e)},A=e=>{s?.(e)},j=(e,t,n,r,i)=>o.createElement(`span`,{title:vg(e),className:c(S,{[`${S}-disabled`]:n},b?.item),style:x?.item},o.createElement(`span`,{className:c(`${S}-content`,b?.itemContent),style:x?.itemContent},t),r&&o.createElement(Fg,{className:c(`${S}-remove`,b?.itemRemove),style:x?.itemRemove,onMouseDown:Rg,onClick:i,customizeIcon:E},`×`)),M=(e,t,n,r,i,a,s)=>o.createElement(`span`,{onMouseDown:e=>{Rg(e),k(!f)}},O({label:t,value:e,index:s?.index,disabled:n,closable:r,onClose:i,isMaxTag:!!a}));return o.createElement(Pg,{prefixCls:`${n}-content`,className:b?.content,style:x?.content,prefix:!r.length&&!w&&o.createElement(fg,null),data:r,renderItem:(e,t)=>{let{disabled:n,label:r,value:i}=e,a=!u&&!n,o=r;if(typeof v==`number`&&(typeof r==`string`||typeof r==`number`)){let e=String(o);e.length>v&&(o=`${e.slice(0,v)}...`)}let s=t=>{t&&t.stopPropagation(),A(e)};return typeof O==`function`?M(i,o,n,a,s,void 0,t):j(e,o,n,a,s)},renderRest:e=>{if(!r.length)return null;let t=typeof D==`function`?D(e):D;return typeof O==`function`?M(void 0,t,!1,!1,void 0,!0):j({title:t},t,!1)},suffix:o.createElement(dg,Ig({ref:t,disabled:u,readOnly:!T},e,{value:w||``,syncWidth:!0})),itemKey:Lg,maxCount:y})}),Bg=o.forwardRef(function(e,t){let{multiple:n,onInputKeyDown:r,tabIndex:i}=ug(),a=Gh(),{showSearch:s}=a,c={...Ot(a,{aria:!0}),onKeyDown:r,readOnly:!s,tabIndex:i};return n?o.createElement(zg,{ref:t,inputProps:c}):o.createElement(bg,{ref:t,inputProps:c})});function Vg(e){return e&&![$.ESC,$.SHIFT,$.BACKSPACE,$.TAB,$.WIN_KEY,$.ALT,$.META,$.WIN_KEY_RIGHT,$.CTRL,$.SEMICOLON,$.EQUALS,$.CAPS_LOCK,$.CONTEXT_MENU,$.UP,$.LEFT,$.RIGHT,$.F1,$.F2,$.F3,$.F4,$.F5,$.F6,$.F7,$.F8,$.F9,$.F10,$.F11,$.F12].includes(e)}function Hg(){return Hg=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{which:t}=e,n=I.current instanceof HTMLTextAreaElement;!n&&O&&(t===$.UP||t===$.DOWN)&&e.preventDefault(),C&&C(e),!(n&&!O&&~[$.UP,$.DOWN,$.LEFT,$.RIGHT].indexOf(t))&&!(e.ctrlKey||e.altKey||e.metaKey)&&Vg(t)&&k(!0)});o.useImperativeHandle(t,()=>({focus:e=>{(I.current||F.current).focus?.(e)},blur:()=>{(I.current||F.current).blur?.()},nativeElement:Le(F.current)}));let R=W(e=>{if(!j){let t=Le(I.current);e.nativeEvent._ori_target=t;let n=t===e.target||t?.contains(e.target);t&&!n&&e.preventDefault();let r=O&&!d&&(m===`combobox`||A)||O&&d&&n;e.nativeEvent._select_lazy?O&&!d&&k(!1):(I.current?.focus(),r||k())}x?.(e)}),{root:z}=E,B=Ct(D,Ug),V=Ot(B,{aria:!0}),H=Object.keys(V),U={...e,onInputKeyDown:L};if(z){let e=z.props||{},t={...e,...B};return Object.keys(e).forEach(n=>{let r=e[n],i=B[n];typeof r==`function`&&typeof i==`function`&&(t[n]=(...e)=>{i(...e),r(...e)})}),o.isValidElement(z)?o.cloneElement(z,{...t,ref:_e(z.ref,F)}):o.createElement(z,Hg({},t,{ref:F}))}return o.createElement(lg.Provider,{value:U},o.createElement(`div`,Hg({},Ct(B,H),{ref:F,className:r,style:i,onMouseDown:R}),o.createElement(cg,{className:c(`${n}-prefix`,N?.prefix),style:P?.prefix},a),o.createElement(Bg,{ref:I}),o.createElement(cg,{className:c(`${n}-suffix`,{[`${n}-suffix-loading`]:M},N?.suffix),style:P?.suffix},s),l&&o.createElement(cg,{className:c(`${n}-clear`,N?.clear),style:P?.clear,onMouseDown:e=>{e.nativeEvent._select_lazy=!0,S?.(e)}},l),u))});function Gg(e,t,n){return o.useMemo(()=>{let{root:r,input:i}=e||{};return n&&(r=n()),t&&(i=t()),{root:r,input:i}},[e,t,n])}function Kg(){return Kg=Object.assign?Object.assign.bind():function(e){for(var t=1;te===`tags`||e===`multiple`,Jg=o.forwardRef((e,t)=>{let{id:n,prefixCls:r,className:i,styles:a,classNames:s,showSearch:l,tagRender:u,showScrollBar:d=`optional`,direction:f,omitDomProps:p,displayValues:m,onDisplayValuesChange:h,emptyOptions:g,notFoundContent:_=`Not Found`,onClear:v,maxCount:y,placeholder:b,mode:x,disabled:S,loading:C,getInputElement:w,getRawInputElement:T,open:E,defaultOpen:D,onPopupVisibleChange:O,activeValue:k,onActiveValueChange:A,activeDescendantId:j,searchValue:M,autoClearSearchValue:N,onSearch:P,onSearchSplit:F,tokenSeparators:I,allowClear:L,prefix:R,suffix:z,suffixIcon:B,clearIcon:V,OptionList:H,animation:U,transitionName:ee,popupStyle:te,popupClassName:ne,popupMatchSelectWidth:G,popupRender:re,popupAlign:K,placement:q,builtinPlacements:ie,getPopupContainer:ae,showAction:oe=[],onFocus:J,onBlur:se,onKeyUp:ce,onKeyDown:le,onMouseDown:ue,components:de,...fe}=e,Y=qg(x),X=o.useRef(null),Z=o.useRef(null),pe=o.useRef(null),[me,he]=o.useState(!1);o.useImperativeHandle(t,()=>({focus:X.current?.focus,blur:X.current?.blur,scrollTo:e=>pe.current?.scrollTo(e),nativeElement:Le(X.current)}));let ge=Gg(de,w,T),_e=o.useMemo(()=>{if(x!==`combobox`)return M;let e=m[0]?.value;return typeof e==`string`||typeof e==`number`?String(e):``},[M,x,m]),ve=x===`combobox`&&typeof w==`function`&&w()||null,ye=!_&&g,[be,Q,xe,Se]=sg(D||!1,E,O,e=>S||ye?!1:e),Ce=o.useMemo(()=>typeof I==`function`||(I||[]).some(e=>[` +`,`\r +`].includes(e)),[I]),we=o.useMemo(()=>typeof I==`function`?(e,t)=>{let n=I(e),r=Array.isArray(n)&&n.length===1&&n[0]===e;return!Array.isArray(n)||!n.length||r?null:t===void 0?n:n.slice(0,t)}:(e,t)=>rg(e,I,t),[I]),Te=(e,t,n)=>{if(Y&&$h(y)&&m.length>=y)return;let r=!0,i=e;A?.(null);let a=$h(y)?y-m.length:void 0,o=n?null:we(e,a);return x!==`combobox`&&o&&(i=``,F?.(o),xe(!1),r=!1),P&&_e!==i&&P(i,{source:t?`typing`:`effect`}),e&&t&&r&&xe(!0),r},Ee=e=>{!e||!e.trim()||P(e,{source:`submit`})};o.useEffect(()=>{!be&&!Y&&x!==`combobox`&&Te(``,!1,!1)},[be]),o.useEffect(()=>{S&&(xe(!1),he(!1))},[S,Q]);let[De,Oe]=Kh(),ke=o.useRef(!1),Ae=e=>{let t=De(),{key:n}=e,r=n===`Enter`,i=n===` `;if(r||i){let t=x===`combobox`;(i&&!(t||l)||r&&!t)&&e.preventDefault(),Q||xe(!0)}if(Oe(!!_e),n===`Backspace`&&!t&&Y&&!_e&&m.length){let e=[...m],t=null;for(let n=e.length-1;n>=0;--n){let r=e[n];if(!r.disabled){e.splice(n,1),t=r;break}}t&&h(e,{type:`remove`,values:[t]})}Q&&(!r||!ke.current)&&!i&&(r&&(ke.current=!0),pe.current?.onKeyDown(e)),le?.(e)},je=(e,...t)=>{Q&&pe.current?.onKeyUp(e,...t),e.key===`Enter`&&(ke.current=!1),ce?.(e,...t)},Me=W(e=>{h(m.filter(t=>t!==e),{type:`remove`,values:[e]})}),Ne=()=>{ke.current=!1},Pe=()=>[Le(X.current),Z.current?.getPopupElement()];Jh(Pe,Q,xe,!!ge.root);let Fe=o.useRef(!1),Ie=e=>{he(!0),S||(oe.includes(`focus`)&&xe(!0),J?.(e))},Re=()=>{Q&&!Fe.current&&xe(!1,{cancelFun:()=>qh(Pe(),document.activeElement)})},ze=e=>{he(!1),_e&&(x===`tags`?P(_e,{source:`submit`}):x===`multiple`&&P(``,{source:`blur`})),Re(),S||se?.(e)},Be=(e,...t)=>{let{target:n}=e;(Z.current?.getPopupElement())?.contains(n)&&xe&&xe(!0),ue?.(e,...t),Fe.current=!0,og(()=>{Fe.current=!1})},[,Ve]=o.useState({});function He(){Ve({})}let Ue;ge.root&&(Ue=e=>{xe(e)});let We=o.useMemo(()=>({...e,notFoundContent:_,open:Q,triggerOpen:Q,rawOpen:be,id:n,showSearch:l,multiple:Y,toggleOpen:xe,showScrollBar:d,styles:a,classNames:s,lockOptions:Se}),[e,_,xe,n,l,Y,Q,be,d,a,s,Se]),Ge=o.useMemo(()=>{let e=z??B;return typeof e==`function`?e({searchValue:_e,open:Q,focused:me,showSearch:l,loading:C}):e},[z,B,_e,Q,me,l,C]),Ke=()=>{v?.(),X.current?.focus(),h([],{type:`clear`,values:m}),Te(``,!1,!1)},{allowClear:qe,clearIcon:Je}=Uh(r,m,L,V,S,_e,x),Ye=o.createElement(H,{ref:pe}),Xe=c(r,i,{[`${r}-focused`]:me,[`${r}-multiple`]:Y,[`${r}-single`]:!Y,[`${r}-allow-clear`]:qe,[`${r}-show-arrow`]:Ge!=null,[`${r}-disabled`]:S,[`${r}-loading`]:C,[`${r}-open`]:Q,[`${r}-customize-input`]:ve,[`${r}-show-search`]:l}),Ze=o.createElement(Wg,Kg({},fe,{ref:X,prefixCls:r,className:Xe,focused:me,prefix:R,suffix:Ge,clearIcon:Je,multiple:Y,mode:x,displayValues:m,placeholder:b,searchValue:_e,activeValue:k,onSearch:Te,onSearchSubmit:Ee,onInputBlur:Ne,onFocus:Ie,onBlur:ze,onClearMouseDown:Ke,onKeyDown:Ae,onKeyUp:je,onSelectorRemove:Me,tokenWithEnter:Ce,onMouseDown:Be,components:ge}));return Ze=o.createElement(Zh,{ref:Z,disabled:S,prefixCls:r,visible:Q,popupElement:Ye,animation:U,transitionName:ee,popupStyle:te,popupClassName:ne,direction:f,popupMatchSelectWidth:G,popupRender:re,popupAlign:K,placement:q,builtinPlacements:ie,getPopupContainer:ae,empty:g,onPopupVisibleChange:Ue,onPopupMouseEnter:He,onPopupMouseDown:Be,onPopupBlur:Re},Ze),o.createElement(Wh.Provider,{value:We},o.createElement(ig,{visible:me&&!Q,values:m}),Ze)}),Yg=()=>null;Yg.isSelectOptGroup=!0;var Xg=()=>null;Xg.isSelectOption=!0;var Zg=o.forwardRef(({height:e,offsetY:t,offsetX:n,children:r,prefixCls:i,onInnerResize:a,innerProps:s,rtl:l,extra:u},d)=>{let f={},p={display:`flex`,flexDirection:`column`};return t!==void 0&&(f={height:e,position:`relative`,overflow:`hidden`},p={...p,transform:`translateY(${t}px)`,[l?`marginRight`:`marginLeft`]:-n,position:`absolute`,left:0,right:0,top:0}),o.createElement(`div`,{style:f},o.createElement($c,{onResize:({offsetHeight:e})=>{e&&a&&a()}},o.createElement(`div`,Dd({style:p,className:c({[`${i}-holder-inner`]:i}),ref:d},s),r,u)))});Zg.displayName=`Filler`;function Qg({children:e,setRef:t}){let n=o.useCallback(e=>{t(e)},[]);return o.cloneElement(e,{ref:n})}function $g(e,t,n,r,i,a,s,{getKey:c}){return e.slice(t,n+1).map((e,n)=>{let l=s(e,t+n,{style:{width:r},offsetX:i}),u=c(e);return o.createElement(Qg,{key:u,setRef:t=>a(e,t)},l)})}function e_(e,t,n){let r=e.length,i=t.length,a,o;if(r===0&&i===0)return null;r{let a=e_(r||[],e||[],t);a?.index!==void 0&&(n?.(a.index),s(e[a.index])),i(e)},[e]),[a]}var n_=typeof navigator==`object`&&/Firefox/i.test(navigator.userAgent),r_=((e,t,n,r)=>{let i=(0,o.useRef)(!1),a=(0,o.useRef)(null);function s(){clearTimeout(a.current),i.current=!0,a.current=setTimeout(()=>{i.current=!1},50)}let c=(0,o.useRef)({top:e,bottom:t,left:n,right:r});return c.current.top=e,c.current.bottom=t,c.current.left=n,c.current.right=r,(e,t,n=!1)=>{let r=e?t<0&&c.current.left||t>0&&c.current.right:t<0&&c.current.top||t>0&&c.current.bottom;return n&&r?(clearTimeout(a.current),i.current=!1):(!r||i.current)&&s(),!i.current&&r}});function i_(e,t,n,r,i,a,s){let c=(0,o.useRef)(0),l=(0,o.useRef)(null),u=(0,o.useRef)(null),d=(0,o.useRef)(!1),f=r_(t,n,r,i);function p(e,t){if(Pt.cancel(l.current),f(!1,t))return;let n=e;if(!n._virtualHandled)n._virtualHandled=!0;else return;c.current+=t,u.current=t,n_||n.preventDefault(),l.current=Pt(()=>{let e=d.current?10:1;s(c.current*e,!1),c.current=0})}function m(e,t){s(t,!0),n_||e.preventDefault()}let h=(0,o.useRef)(null),g=(0,o.useRef)(null);function _(t){if(!e)return;Pt.cancel(g.current),g.current=Pt(()=>{h.current=null},2);let{deltaX:n,deltaY:r,shiftKey:i}=t,o=n,s=r;(h.current===`sx`||!h.current&&i&&r&&!n)&&(o=r,s=0,h.current=`sx`);let c=Math.abs(o),l=Math.abs(s);h.current===null&&(h.current=a&&c>l?`x`:`y`),h.current===`y`?p(t,s):m(t,o)}function v(t){e&&(d.current=t.detail===u.current)}return[_,v]}function a_(e,t,n,r){let[i,a]=o.useMemo(()=>[new Map,[]],[e,n.id,r]);return(o,s=o)=>{let c=i.get(o),l=i.get(s);if(c===void 0||l===void 0){let u=e.length;for(let d=a.length;d{let e=!1;a.current.forEach((t,n)=>{if(t&&t.offsetParent){let{offsetHeight:r}=t,{marginTop:i,marginBottom:a}=getComputedStyle(t),o=s_(i),c=s_(a),l=r+o+c;s.current.get(n)!==l&&(s.current.set(n,l),e=!0)}}),e&&i(e=>e+1)};if(e)t();else{c.current+=1;let e=c.current;Promise.resolve().then(()=>{e===c.current&&t()})}}function d(r,i){let o=e(r),s=a.current.get(o);i?(a.current.set(o,i),u()):a.current.delete(o),!s!=!i&&(i?t?.(r):n?.(r))}return(0,o.useEffect)(()=>l,[]),[d,u,s.current,r]}var l_=14/15;function u_(e,t,n){let r=(0,o.useRef)(!1),i=(0,o.useRef)(0),a=(0,o.useRef)(0),s=(0,o.useRef)(null),c=(0,o.useRef)(null),l,u=e=>{if(r.current){let t=Math.ceil(e.touches[0].pageX),r=Math.ceil(e.touches[0].pageY),o=i.current-t,s=a.current-r,l=Math.abs(o)>Math.abs(s);l?i.current=t:a.current=r;let u=n(l,l?o:s,!1,e);u&&e.preventDefault(),clearInterval(c.current),u&&(c.current=setInterval(()=>{l?o*=l_:s*=l_;let e=Math.floor(l?o:s);(!n(l,e,!0)||Math.abs(e)<=.1)&&clearInterval(c.current)},16))}},d=()=>{r.current=!1,l()},f=e=>{l(),e.touches.length===1&&!r.current&&(r.current=!0,i.current=Math.ceil(e.touches[0].pageX),a.current=Math.ceil(e.touches[0].pageY),s.current=e.target,s.current.addEventListener(`touchmove`,u,{passive:!1}),s.current.addEventListener(`touchend`,d,{passive:!0}))};l=()=>{s.current&&(s.current.removeEventListener(`touchmove`,u),s.current.removeEventListener(`touchend`,d))},K(()=>(e&&t.current.addEventListener(`touchstart`,f,{passive:!0}),()=>{t.current?.removeEventListener(`touchstart`,f),l(),clearInterval(c.current)}),[e])}function d_(e){return Math.floor(e**.5)}function f_(e,t){return(`touches`in e?e.touches[0]:e)[t?`pageX`:`pageY`]-window[t?`scrollX`:`scrollY`]}function p_(e,t,n){o.useEffect(()=>{let r=t.current;if(e&&r){let e=!1,t,i,a=()=>{Pt.cancel(t)},o=()=>{a(),t=Pt(()=>{n(i),o()})},s=()=>{e=!1,a()},c=t=>{if(t.target.draggable||t.button!==0)return;let n=t;n._virtualHandled||(n._virtualHandled=!0,e=!0)},l=t=>{if(e){let e=f_(t,!1),{top:n,bottom:s}=r.getBoundingClientRect();e<=n?(i=-d_(n-e),o()):e>=s?(i=d_(e-s),o()):a()}};return r.addEventListener(`mousedown`,c),r.ownerDocument.addEventListener(`mouseup`,s),r.ownerDocument.addEventListener(`mousemove`,l),r.ownerDocument.addEventListener(`dragend`,s),()=>{r.removeEventListener(`mousedown`,c),r.ownerDocument.removeEventListener(`mouseup`,s),r.ownerDocument.removeEventListener(`mousemove`,l),r.ownerDocument.removeEventListener(`dragend`,s),a()}}},[e])}var m_=10;function h_(e,t){let n=typeof e==`function`?e(t):e;return Number.isFinite(n)?n:0}function g_(e,t,n,r,i,a,s,c,l){let u=o.useRef(),[d,f]=o.useState(null);return K(()=>{if(d&&d.times({...e}));return}s();let{targetAlign:o,originAlign:l,index:u,offset:p}=d,m=h_(p,{getSize:a}),h=e.current.clientHeight,g=!1,_=o,v=null;if(h){let a=o||l,s=0,f=0,p=0,y=Math.min(t.length-1,u);for(let e=0;e<=y;e+=1){let a=i(t[e]);f=s;let o=n.get(a);p=f+(o===void 0?r:o),s=p}let b=a===`top`?m:h-m;for(let e=y;e>=0;--e){let r=i(t[e]),a=n.get(r);if(a===void 0){g=!0;break}if(b-=a,b<=0)break}switch(a){case`top`:v=f-m;break;case`bottom`:v=p-h+m;break;default:{let{scrollTop:t}=e.current,n=t+h;fn&&(_=`bottom`)}}v!==null&&c(v),v!==d.lastTop&&(g=!0)}g&&f({...d,times:d.times+1,targetAlign:_,lastTop:v})}},[d,e.current]),e=>{if(e==null){l();return}if(Pt.cancel(u.current),typeof e==`number`)c(e);else if(e&&typeof e==`object`){let n,{align:r}=e;`index`in e?{index:n}=e:n=t.findIndex(t=>i(t)===e.key);let{offset:a=0}=e;f({times:0,index:n,offset:a,originAlign:r})}}}var __=o.forwardRef((e,t)=>{let{prefixCls:n,rtl:r,scrollOffset:i,scrollRange:a,onStartMove:s,onStopMove:l,onScroll:u,horizontal:d,spinSize:f,containerSize:p,style:m,thumbStyle:h,showScrollBar:g}=e,[_,v]=o.useState(!1),[y,b]=o.useState(null),[x,S]=o.useState(null),C=!r,w=o.useRef(),T=o.useRef(),[E,D]=o.useState(g),O=o.useRef(),k=()=>{g===!0||g===!1||(clearTimeout(O.current),D(!0),O.current=setTimeout(()=>{D(!1)},3e3))},A=a-p||0,j=p-f||0,M=o.useMemo(()=>i===0||A===0?0:i/A*j,[i,A,j]),N=e=>{e.stopPropagation(),e.preventDefault()},P=o.useRef({top:M,dragging:_,pageY:y,startTop:x});P.current={top:M,dragging:_,pageY:y,startTop:x};let F=e=>{v(!0),b(f_(e,d)),S(P.current.top),s(),e.stopPropagation(),e.preventDefault()};o.useEffect(()=>{let e=e=>{e.preventDefault()},t=w.current,n=T.current;return t.addEventListener(`touchstart`,e,{passive:!1}),n.addEventListener(`touchstart`,F,{passive:!1}),()=>{t.removeEventListener(`touchstart`,e),n.removeEventListener(`touchstart`,F)}},[]);let I=o.useRef();I.current=A;let L=o.useRef();L.current=j,o.useEffect(()=>{if(_){let e,t=t=>{let{dragging:n,pageY:r,startTop:i}=P.current;Pt.cancel(e);let a=w.current.getBoundingClientRect(),o=p/(d?a.width:a.height);if(n){let n=(f_(t,d)-r)*o,a=i;!C&&d?a-=n:a+=n;let s=I.current,c=L.current,l=c?a/c:0,f=Math.ceil(l*s);f=Math.max(f,0),f=Math.min(f,s),e=Pt(()=>{u(f,d)})}},n=()=>{v(!1),l()};return window.addEventListener(`mousemove`,t,{passive:!0}),window.addEventListener(`touchmove`,t,{passive:!0}),window.addEventListener(`mouseup`,n,{passive:!0}),window.addEventListener(`touchend`,n,{passive:!0}),()=>{window.removeEventListener(`mousemove`,t),window.removeEventListener(`touchmove`,t),window.removeEventListener(`mouseup`,n),window.removeEventListener(`touchend`,n),Pt.cancel(e)}}},[_]),o.useEffect(()=>(k(),()=>{clearTimeout(O.current)}),[i]),o.useImperativeHandle(t,()=>({delayHidden:k}));let R=`${n}-scrollbar`,z={position:`absolute`,visibility:E?null:`hidden`},B={position:`absolute`,borderRadius:99,background:`var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))`,cursor:`pointer`,userSelect:`none`};return d?(Object.assign(z,{height:8,left:0,right:0,bottom:0}),Object.assign(B,{height:`100%`,width:f,[C?`left`:`right`]:M})):(Object.assign(z,{width:8,top:0,bottom:0,[C?`right`:`left`]:0}),Object.assign(B,{width:`100%`,height:f,top:M})),o.createElement(`div`,{ref:w,className:c(R,{[`${R}-horizontal`]:d,[`${R}-vertical`]:!d,[`${R}-visible`]:E}),style:{...z,...m},onMouseDown:N,onMouseMove:k},o.createElement(`div`,{ref:T,className:c(`${R}-thumb`,{[`${R}-thumb-moving`]:_}),style:{...B,...h},onMouseDown:F}))}),v_=20;function y_(e=0,t=0){let n=e/t*e;return isNaN(n)&&(n=0),n=Math.max(n,v_),Math.floor(n)}var b_=[],x_={overflowY:`auto`,overflowAnchor:`none`};function S_(e,t){let{prefixCls:n=`rc-virtual-list`,className:r,height:i,itemHeight:a,fullHeight:s=!0,style:l,data:u,children:d,itemKey:f,virtual:p,direction:m,scrollWidth:h,component:g=`div`,onScroll:_,onVirtualScroll:v,onVisibleChange:y,innerProps:b,extraRender:x,styles:S,showScrollBar:C=`optional`,...w}=e,T=o.useCallback(e=>typeof f==`function`?f(e):e?.[f],[f]),[E,D,O,k]=c_(T,null,null),A=!!(p!==!1&&i&&a),j=o.useMemo(()=>Object.values(O.maps).reduce((e,t)=>e+t,0),[O.id,O.maps]),M=A&&u&&(Math.max(a*u.length,j)>i||!!h),N=m===`rtl`,P=c(n,{[`${n}-rtl`]:N},r),F=u||b_,I=(0,o.useRef)(),L=(0,o.useRef)(),R=(0,o.useRef)(),[z,B]=(0,o.useState)(0),[V,U]=(0,o.useState)(0),[ee,te]=(0,o.useState)(!1),ne=()=>{te(!0)},G=()=>{te(!1)},re={getKey:T};function q(e){B(t=>{let n;n=typeof e==`function`?e(t):e;let r=ge(n);return I.current.scrollTop=r,r})}let ie=(0,o.useRef)({start:0,end:F.length}),ae=(0,o.useRef)(),[oe]=t_(F,T);ae.current=oe;let{scrollHeight:J,start:se,end:ce,offset:le}=o.useMemo(()=>{if(!A)return{scrollHeight:void 0,start:0,end:F.length-1,offset:void 0};if(!M)return{scrollHeight:L.current?.offsetHeight||0,start:0,end:F.length-1,offset:void 0};let e=0,t,n,r,o=F.length;for(let s=0;s=z&&t===void 0&&(t=s,n=e),u>z+i&&r===void 0&&(r=s),e=u}return t===void 0&&(t=0,n=0,r=Math.ceil(i/a)),r===void 0&&(r=F.length-1),r=Math.min(r+1,F.length-1),{scrollHeight:e,start:t,end:r,offset:n}},[M,A,z,F,k,i]);ie.current.start=se,ie.current.end=ce,o.useLayoutEffect(()=>{let e=O.getRecord();if(e.size===1){let t=Array.from(e.keys())[0],n=e.get(t),r=F[se];if(r&&n===void 0&&T(r)===t){let e=O.get(t)-a;q(t=>t+e)}}O.resetRecord()},[J]);let[ue,de]=o.useState({width:0,height:i}),fe=e=>{de({width:e.offsetWidth,height:e.offsetHeight})},Y=(0,o.useRef)(),X=(0,o.useRef)(),Z=o.useMemo(()=>y_(ue.width,h),[ue.width,h]),pe=o.useMemo(()=>y_(ue.height,J),[ue.height,J]),me=J-i,he=(0,o.useRef)(me);he.current=me;function ge(e){let t=e;return Number.isNaN(he.current)||(t=Math.min(t,he.current)),t=Math.max(t,0),t}let _e=z<=0,ve=z>=me,ye=V<=0,be=V>=h,Q=r_(_e,ve,ye,be),xe=()=>({x:N?-V:V,y:z}),Se=(0,o.useRef)(xe()),Ce=W(e=>{if(v){let t={...xe(),...e};(Se.current.x!==t.x||Se.current.y!==t.y)&&(v(t),Se.current=t)}});function we(e,t){let n=e;t?((0,H.flushSync)(()=>{U(n)}),Ce()):q(n)}function Te(e){let{scrollTop:t}=e.currentTarget;t!==z&&q(t),_?.(e),Ce()}let Ee=e=>{let t=e,n=h?h-ue.width:0;return t=Math.max(t,0),t=Math.min(t,n),t},De=W((e,t)=>{t?((0,H.flushSync)(()=>{U(t=>Ee(t+(N?-e:e)))}),Ce()):q(t=>t+e)}),[Oe,ke]=i_(A,_e,ve,ye,be,!!h,De);u_(A,I,(e,t,n,r)=>{let i=r;return Q(e,t,n)?!1:!i||!i._virtualHandled?(i&&(i._virtualHandled=!0),Oe({preventDefault(){},deltaX:e?t:0,deltaY:e?0:t}),!0):!1}),p_(M,I,e=>{q(t=>t+e)}),K(()=>{function e(e){let t=_e&&e.detail<0,n=ve&&e.detail>0;A&&!t&&!n&&e.preventDefault()}let t=I.current;return t.addEventListener(`wheel`,Oe,{passive:!1}),t.addEventListener(`DOMMouseScroll`,ke,{passive:!0}),t.addEventListener(`MozMousePixelScroll`,e,{passive:!1}),()=>{t.removeEventListener(`wheel`,Oe),t.removeEventListener(`DOMMouseScroll`,ke),t.removeEventListener(`MozMousePixelScroll`,e)}},[A,_e,ve]),K(()=>{if(h){let e=Ee(V);U(e),Ce({x:e})}},[ue.width,h]);let Ae=()=>{Y.current?.delayHidden(),X.current?.delayHidden()},je=a_(F,T,O,a),Me=g_(I,F,O,a,T,je,()=>D(!0),q,Ae);o.useImperativeHandle(t,()=>({nativeElement:R.current,getScrollInfo:xe,scrollTo:e=>{function t(e){return e&&typeof e==`object`&&(`left`in e||`top`in e)}t(e)?(e.left!==void 0&&U(Ee(e.left)),Me(e.top)):Me(e)}})),K(()=>{y&&y(F.slice(se,ce+1),F)},[se,ce,F]);let Ne=x?.({start:se,end:ce,virtual:M,offsetX:V,scrollTop:z,offsetY:le,rtl:N,getSize:je}),Pe=$g(F,se,ce,h,V,E,d,re),Fe=null;i&&(Fe={[s?`height`:`maxHeight`]:i,...x_},A&&(Fe.overflowY=`hidden`,h&&(Fe.overflowX=`hidden`),ee&&(Fe.pointerEvents=`none`)));let Ie={};return N&&(Ie.dir=`rtl`),o.createElement(`div`,Dd({ref:R,style:{...l,position:`relative`},className:P},Ie,w),o.createElement($c,{onResize:fe},o.createElement(g,{className:`${n}-holder`,style:Fe,ref:I,onScroll:Te,onMouseEnter:Ae},o.createElement(Zg,{prefixCls:n,height:J,offsetX:V,offsetY:le,scrollWidth:h,onInnerResize:D,ref:L,innerProps:b,rtl:N,extra:Ne},Pe))),M&&J>i&&o.createElement(__,{ref:Y,prefixCls:n,scrollOffset:z,scrollRange:J,rtl:N,onScroll:we,onStartMove:ne,onStopMove:G,spinSize:pe,containerSize:ue.height,style:S?.verticalScrollBar,thumbStyle:S?.verticalScrollBarThumb,showScrollBar:C}),M&&h>ue.width&&o.createElement(__,{ref:X,prefixCls:n,scrollOffset:V,scrollRange:h,rtl:N,onScroll:we,onStartMove:ne,onStopMove:G,spinSize:Z,containerSize:ue.width,horizontal:!0,style:S?.horizontalScrollBar,thumbStyle:S?.horizontalScrollBarThumb,showScrollBar:C}))}var C_=o.forwardRef(S_);C_.displayName=`List`;var w_=o.forwardRef((e,t)=>S_({...e,virtual:!1},t));w_.displayName=`List`;var T_=C_;function E_(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}function D_(){return D_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{prefixCls:n,id:r,open:i,multiple:a,mode:s,searchValue:l,toggleOpen:u,notFoundContent:d,onPopupScroll:f,showScrollBar:p,lockOptions:m}=Gh(),{maxCount:h,flattenOptions:g,onActiveValue:_,defaultActiveFirstOption:v,onSelect:y,menuItemSelectedIcon:b,rawValues:x,fieldNames:S,virtual:C,direction:w,listHeight:T,listItemHeight:E,optionRender:D,classNames:O,styles:k}=o.useContext(pg),A=`${n}-item`,j=ue(()=>g,[i,m],(e,t)=>t[0]&&!t[1]),M=o.useRef(null),N=o.useMemo(()=>a&&$h(h)&&x?.size>=h,[a,h,x?.size]),P=e=>{e.preventDefault()},F=e=>{M.current?.scrollTo(typeof e==`number`?{index:e}:e)},I=o.useCallback(e=>s===`combobox`?!1:x.has(e),[s,[...x].toString(),x.size]),L=(e,t=1)=>{let n=j.length;for(let r=0;rL(0)),B=(e,t=!1)=>{z(e);let n={source:t?`keyboard`:`mouse`},r=j[e];if(!r){_(null,-1,n);return}_(r.value,e,n)};(0,o.useEffect)(()=>{B(v===!1?-1:L(0))},[j.length,l]);let V=o.useCallback(e=>s===`combobox`?String(e).toLowerCase()===l.toLowerCase():x.has(e),[s,l,[...x].toString(),x.size]);(0,o.useEffect)(()=>{let e;if(!a&&i&&x.size===1){let t=Array.from(x)[0],n=j.findIndex(({data:e})=>l?String(e.value).startsWith(l):e.value===t);n!==-1&&(B(n),e=setTimeout(()=>{F(n)}))}return i&&M.current?.scrollTo(void 0),()=>clearTimeout(e)},[i,l]);let H=e=>{e!==void 0&&y(e,{selected:!x.has(e)}),a||u(!1)};if(o.useImperativeHandle(t,()=>({onKeyDown:e=>{let{which:t,ctrlKey:n}=e;switch(t){case $.N:case $.P:case $.UP:case $.DOWN:{let e=0;if(t===$.UP?e=-1:t===$.DOWN?e=1:E_()&&n&&(t===$.N?e=1:t===$.P&&(e=-1)),e!==0){let t=L(R+e,e);F(t),B(t,!0)}break}case $.TAB:case $.ENTER:{let t=j[R];if(!t||t.data.disabled)return H(void 0);!N||x.has(t.value)?H(t.value):H(void 0),i&&e.preventDefault();break}case $.ESC:u(!1),i&&e.stopPropagation()}},onKeyUp:()=>{},scrollTo:e=>{F(e)}})),j.length===0)return o.createElement(`div`,{role:`listbox`,id:`${r}_list`,className:`${A}-empty`,onMouseDown:P},d);let U=Object.keys(S).map(e=>S[e]),ee=e=>e.label;function te(e,t){let{group:n}=e;return{role:n?`presentation`:`option`,id:`${r}_list_${t}`}}let ne=e=>{let t=j[e];if(!t)return null;let n=t.data||{},{value:r,disabled:i}=n,{group:a}=t,s=Ot(n,!0),c=ee(t);return t?o.createElement(`div`,D_({"aria-label":typeof c==`string`&&!a?c:null},s,{key:e},te(t,e),{"aria-selected":V(r),"aria-disabled":i}),r):null},W={role:`listbox`,id:`${r}_list`};return o.createElement(o.Fragment,null,C&&o.createElement(`div`,D_({},W,{style:{height:0,width:0,overflow:`hidden`}}),ne(R-1),ne(R),ne(R+1)),o.createElement(T_,{itemKey:`key`,ref:M,data:j,height:T,itemHeight:E,fullHeight:!1,onMouseDown:P,onScroll:f,virtual:C,direction:w,innerProps:C?null:W,showScrollBar:p,className:O?.popup?.list,style:k?.popup?.list},(e,t)=>{let{group:n,groupOption:r,data:i,label:a,value:s}=e,{key:l}=i;if(n){let e=i.title??(O_(a)?a.toString():void 0);return o.createElement(`div`,{className:c(A,`${A}-group`,i.className),title:e},a===void 0?l:a)}let{disabled:u,title:d,children:f,style:p,className:m,...h}=i,g=Ct(h,U),_=I(s),v=u||!_&&N,y=`${A}-option`,x=c(A,y,m,O?.popup?.listItem,{[`${y}-grouped`]:r,[`${y}-active`]:R===t&&!v,[`${y}-disabled`]:v,[`${y}-selected`]:_}),S=ee(e),w=!b||typeof b==`function`||_,T=typeof S==`number`?S:S||s,E=O_(T)?T.toString():void 0;return d!==void 0&&(E=d),o.createElement(`div`,D_({},Ot(g),C?{}:te(e,t),{"aria-selected":C?void 0:V(s),"aria-disabled":v,className:x,title:E,onMouseMove:()=>{R===t||v||B(t)},onClick:()=>{v||H(s)},style:{...k?.popup?.listItem,...p}}),o.createElement(`div`,{className:`${y}-content`},typeof D==`function`?D(e,{index:t}):T),o.isValidElement(b)||_,w&&o.createElement(Fg,{className:`${A}-option-state`,customizeIcon:b,customizeIconProps:{value:s,disabled:v,isSelected:_}},_?`✓`:null))}))}),A_=((e,t)=>{let n=o.useRef({values:new Map,options:new Map});return[o.useMemo(()=>{let{values:r,options:i}=n.current,a=e.map(e=>e.label===void 0?{...e,label:r.get(e.value)?.label}:e),o=new Map,s=new Map;return a.forEach(e=>{o.set(e.value,e),s.set(e.value,t.get(e.value)||i.get(e.value))}),n.current.values=o,n.current.options=s,a},[e,t]),o.useCallback(e=>t.get(e)||n.current.options.get(e),[t])]});function j_(e,t){return mg(e).join(``).toUpperCase().includes(t)}var M_=((e,t,n,r,i)=>o.useMemo(()=>{if(!n||r===!1)return e;let{options:a,label:o,value:s}=t,c=[],l=typeof r==`function`,u=n.toUpperCase(),d=l?r:(e,t)=>i&&i.length?i.some(e=>j_(t[e],u)):t[a]?j_(t[o===`children`?`label`:o],u):j_(t[s],u),f=l?e=>ng(e):e=>e;return e.forEach(e=>{if(e[a]){if(d(n,f(e)))c.push(e);else{let t=e[a].filter(e=>d(n,f(e)));t.length&&c.push({...e,[a]:t})}return}d(n,f(e))&&c.push(e)}),c},[e,r,i,n,t]));function N_(e){let{key:t,props:{children:n,value:r,...i}}=e;return{key:t,value:r===void 0?t:r,children:n,...i}}function P_(e,t=!1){return Ft(e).map((e,n)=>{if(!o.isValidElement(e)||!e.type)return null;let{type:{isSelectOptGroup:r},key:i,props:{children:a,...s}}=e;return t||!r?N_(e):{key:`__RC_SELECT_GRP__${i===null?n:i}__`,label:i,...s,options:P_(a)}}).filter(e=>e)}var F_=(e,t,n,r,i)=>o.useMemo(()=>{let a=e;e||(a=P_(t));let o=new Map,s=new Map,c=(e,t,n)=>{n&&typeof n==`string`&&e.set(t[n],t)},l=(e,t=!1)=>{for(let a=0;a{c(s,u,e)}),c(s,u,i)):l(u[n.options],!0)}};return l(a),{options:a,valueOptions:o,labelOptions:s}},[e,t,n,r,i]);function I_(e){let t=o.useRef();return t.current=e,o.useCallback((...e)=>t.current(...e),[])}function L_(e,t,n){let{filterOption:r,searchValue:i,optionFilterProp:a,filterSort:s,onSearch:c,autoClearSearchValue:l}=t;return o.useMemo(()=>{let t=typeof e==`object`,o={filterOption:r,searchValue:i,optionFilterProp:a,filterSort:s,onSearch:c,autoClearSearchValue:l,...t?e:{}};return[t||n===`combobox`||n===`tags`||n===`multiple`&&e===void 0?!0:e,o]},[n,e,r,i,a,s,c,l])}function R_(){return R_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{id:n,mode:r,prefixCls:i=`rc-select`,backfill:a,fieldNames:s,showSearch:c,searchValue:l,onSearch:u,autoClearSearchValue:d,filterOption:f,optionFilterProp:p,filterSort:m,onSelect:h,onDeselect:g,onActive:_,popupMatchSelectWidth:v=!0,optionLabelProp:y,options:b,optionRender:x,children:S,defaultActiveFirstOption:C,menuItemSelectedIcon:w,virtual:T,direction:E,listHeight:D=200,listItemHeight:O=20,labelRender:k,value:A,defaultValue:j,labelInValue:M,onChange:N,maxCount:P,classNames:F,styles:I,...L}=e,[R,z]=L_(c,{searchValue:l,onSearch:u,autoClearSearchValue:d,filterOption:f,optionFilterProp:p,filterSort:m},r),{filterOption:B,searchValue:V,optionFilterProp:H,filterSort:U,onSearch:ee,autoClearSearchValue:te=!0}=z,ne=o.useMemo(()=>H?Array.isArray(H)?H:[H]:[],[H]),W=le(n),G=qg(r),re=!!(!b&&S),K=o.useMemo(()=>B===void 0&&r===`combobox`?!1:B,[B,r]),q=o.useMemo(()=>eg(s,re),[JSON.stringify(s),re]),[ie,oe]=ae(``,V),J=ie||``,se=F_(b,S,q,ne,y),{valueOptions:ce,labelOptions:ue,options:de}=se,fe=o.useCallback(e=>mg(e).map(e=>{let t,n,r,i;B_(e)?t=e:(n=e.label,t=e.value);let a=ce.get(t);return a&&(n===void 0&&(n=a?.[y||q.label]),r=a?.disabled,i=a?.title),{label:n,value:t,key:t,disabled:r,title:i}}),[q,y,ce]),[Y,X]=ae(j,A),[Z,pe]=A_(o.useMemo(()=>{let e=fe(G&&Y===null?[]:Y);return r===`combobox`&&gg(e[0]?.value)?[]:e},[Y,fe,r,G]),ce),me=o.useMemo(()=>{if(!r&&Z.length===1){let e=Z[0];if(e.value===null&&(e.label===null||e.label===void 0))return[]}return Z.map(e=>({...e,label:(typeof k==`function`?k(e):e.label)??e.value}))},[r,Z,k]),he=o.useMemo(()=>new Set(Z.map(e=>e.value)),[Z]);o.useEffect(()=>{if(r===`combobox`){let e=Z[0]?.value;oe(hg(e)?String(e):``)}},[Z]);let ge=I_((e,t)=>{let n=t??e;return{[q.value]:e,[q.label]:n}}),_e=M_(o.useMemo(()=>{if(r!==`tags`)return de;let e=[...de],t=e=>ce.has(e);return[...Z].sort((e,t)=>e.value{let r=n.value;t(r)||e.push(ge(r,n.label))}),e},[ge,de,ce,Z,r]),q,J,K,ne),ve=o.useMemo(()=>{let e=e=>ne.length?ne.some(t=>e?.[t]===J):e?.value===J;return r!==`tags`||!J||_e.some(t=>e(t))||_e.some(e=>e[q.value]===J)||ce.get(J)?.disabled?_e:[ge(J),..._e]},[ge,ne,r,_e,J,q,ce]),ye=e=>[...e].sort((e,t)=>U(e,t,{searchValue:J})).map(e=>Array.isArray(e.options)?{...e,options:e.options.length>0?ye(e.options):e.options}:e),be=o.useMemo(()=>U?ye(ve):ve,[ve,U,J]),Q=o.useMemo(()=>tg(be,{fieldNames:q,childrenAsData:re}),[be,q,re]),xe=e=>{let t=fe(e);if(X(t),N&&(t.length!==Z.length||t.some((e,t)=>Z[t]?.value!==e?.value))){let e=M?t.map(({label:e,value:t})=>({label:e,value:t})):t.map(e=>e.value),n=t.map(e=>ng(pe(e.value)));N(G?e:e[0],G?n:n[0])}},[Se,Ce]=o.useState(null),[we,Te]=o.useState(0),Ee=C===void 0?r!==`combobox`:C,De=o.useRef(),Oe=o.useCallback((e,t,{source:n=`keyboard`}={})=>{Te(t),a&&r===`combobox`&&e!==null&&n===`keyboard`&&Ce(String(e));let i=Promise.resolve().then(()=>{De.current===i&&_?.(e)});De.current=i},[a,r,_]),ke=(e,t,n)=>{let r=()=>{let t=pe(e);return[M?{label:t?.[q.label],value:e}:e,ng(t)]};if(t&&h){let[e,t]=r();h(e,t)}else if(!t&&g&&n!==`clear`){let[e,t]=r();g(e,t)}},Ae=I_((e,t)=>{let n,i=G?t.selected:!0;n=i?G?[...Z,e]:[e]:Z.filter(t=>t.value!==e),xe(n),ke(e,i),r===`combobox`?Ce(``):(!qg||te)&&(oe(``),Ce(``))}),je=(e,t)=>{xe(e);let{type:n,values:r}=t;(n===`remove`||n===`clear`)&&r.forEach(e=>{ke(e.value,!1,n)})},Me=(e,t)=>{if(oe(e),Ce(null),t.source===`submit`){let t=(e||``).trim();if(t){if(ce.get(t)?.disabled){oe(``);return}xe(Array.from(new Set([...he,t]))),ke(t,!0),oe(``)}return}t.source!==`blur`&&(r===`combobox`&&xe(e),ee?.(e))},Ne=e=>{let t=e;r!==`tags`&&(t=e.map(e=>ue.get(e)?.value).filter(e=>e!==void 0)),r===`tags`&&(t=t.filter(e=>!ce.get(e)?.disabled));let n=Array.from(new Set([...he,...t]));xe(n),n.forEach(e=>{ke(e,!0)})},Pe=o.useMemo(()=>{let e=T!==!1&&v!==!1;return{...se,flattenOptions:Q,onActiveValue:Oe,defaultActiveFirstOption:Ee,onSelect:Ae,menuItemSelectedIcon:w,rawValues:he,fieldNames:q,virtual:e,direction:E,listHeight:D,listItemHeight:O,childrenAsData:re,maxCount:P,optionRender:x,classNames:F,styles:I}},[P,se,Q,Oe,Ee,Ae,w,he,q,T,v,E,D,O,re,x,F,I]);return o.createElement(pg.Provider,{value:Pe},o.createElement(Jg,R_({},L,{id:W,prefixCls:i,ref:t,omitDomProps:z_,mode:r,classNames:F,styles:I,displayValues:me,onDisplayValuesChange:je,maxCount:P,direction:E,showSearch:R,searchValue:J,onSearch:Me,autoClearSearchValue:te,onSearchSplit:Ne,popupMatchSelectWidth:v,OptionList:k_,emptyOptions:!Q.length,activeValue:Se,activeDescendantId:`${W}_list_${we}`})))});V_.Option=Xg,V_.OptGroup=Yg;var H_=V_;function U_(e,t,n){return e===!1?null:e===!0?n:e&&e[t]!==void 0?e[t]:n}var W_=(e,t)=>e?.startsWith(`var(`)||t?.startsWith(`var(`)?e:new Ho(e).onBackground(t).toHexString(),G_=()=>{let[,e]=Zs(),[t]=_c(`Empty`),{colorBgContainer:n,colorFill:r,colorFillSecondary:i,colorFillTertiary:a,colorTextQuaternary:s}=e,{panelBgColor:c,borderColor:l,detailColor:u,shadowColor:d,iconColor:f}=(0,o.useMemo)(()=>({panelBgColor:W_(a,n),borderColor:W_(s,n),detailColor:W_(r,n),shadowColor:W_(i,n),iconColor:n}),[n,r,i,a,s]);return o.createElement(`svg`,{width:`184`,height:`152`,viewBox:`0 0 184 152`,xmlns:`http://www.w3.org/2000/svg`},o.createElement(`title`,null,t?.description||`Empty`),o.createElement(`g`,{fill:`none`,fillRule:`evenodd`},o.createElement(`g`,{transform:`translate(24 31.7)`},o.createElement(`ellipse`,{fillOpacity:`.8`,fill:d,cx:`67.8`,cy:`106.9`,rx:`67.8`,ry:`12.7`}),o.createElement(`path`,{fill:l,d:`M122 69.7 98.1 40.2a6 6 0 0 0-4.6-2.2H42.1a6 6 0 0 0-4.6 2.2l-24 29.5V85H122z`}),o.createElement(`path`,{fill:c,d:`M33.8 0h68a4 4 0 0 1 4 4v93.3a4 4 0 0 1-4 4h-68a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4`}),o.createElement(`path`,{fill:u,d:`M42.7 10h50.2a2 2 0 0 1 2 2v25a2 2 0 0 1-2 2H42.7a2 2 0 0 1-2-2V12a2 2 0 0 1 2-2m.2 39.8h49.8a2.3 2.3 0 1 1 0 4.5H42.9a2.3 2.3 0 0 1 0-4.5m0 11.7h49.8a2.3 2.3 0 1 1 0 4.6H42.9a2.3 2.3 0 0 1 0-4.6m79 43.5a7 7 0 0 1-6.8 5.4H20.5a7 7 0 0 1-6.7-5.4l-.2-1.8V69.7h26.3c2.9 0 5.2 2.4 5.2 5.4s2.4 5.4 5.3 5.4h34.8c2.9 0 5.3-2.4 5.3-5.4s2.3-5.4 5.2-5.4H122v33.5q0 1-.2 1.8`})),o.createElement(`path`,{fill:u,d:`m149.1 33.3-6.8 2.6a1 1 0 0 1-1.3-1.2l2-6.2q-4.1-4.5-4.2-10.4c0-10 10.1-18.1 22.6-18.1S184 8.1 184 18.1s-10.1 18-22.6 18q-6.8 0-12.3-2.8`}),o.createElement(`g`,{fill:f,transform:`translate(149.7 15.4)`},o.createElement(`circle`,{cx:`20.7`,cy:`3.2`,r:`2.8`}),o.createElement(`path`,{d:`M5.7 5.6H0L2.9.7zM9.3.7h5v5h-5z`}))))},K_=()=>{let[,e]=Zs(),[t]=_c(`Empty`),{colorFill:n,colorFillTertiary:r,colorFillQuaternary:i,colorBgContainer:a}=e,{borderColor:s,shadowColor:c,contentColor:l}=(0,o.useMemo)(()=>({borderColor:W_(n,a),shadowColor:W_(r,a),contentColor:W_(i,a)}),[n,r,i,a]);return o.createElement(`svg`,{width:`64`,height:`41`,viewBox:`0 0 64 41`,xmlns:`http://www.w3.org/2000/svg`},o.createElement(`title`,null,t?.description||`Empty`),o.createElement(`g`,{transform:`translate(0 1)`,fill:`none`,fillRule:`evenodd`},o.createElement(`ellipse`,{fill:c,cx:`32`,cy:`33`,rx:`32`,ry:`7`}),o.createElement(`g`,{fillRule:`nonzero`,stroke:s},o.createElement(`path`,{d:`M55 12.8 44.9 1.3Q44 0 42.9 0H21.1q-1.2 0-2 1.3L9 12.8V22h46z`}),o.createElement(`path`,{d:`M41.6 16c0-1.7 1-3 2.2-3H55v18.1c0 2.2-1.3 3.9-3 3.9H12c-1.7 0-3-1.7-3-3.9V13h11.2c1.2 0 2.2 1.3 2.2 3s1 2.9 2.2 2.9h14.8c1.2 0 2.2-1.4 2.2-3`,fill:l}))))},q_=e=>{let{componentCls:t,margin:n,marginXS:r,marginXL:i,fontSize:a,lineHeight:o}=e;return{[t]:{marginInline:r,fontSize:a,lineHeight:o,textAlign:`center`,[`${t}-image`]:{height:e.emptyImgHeight,marginBottom:r,opacity:e.opacityImage,img:{height:`100%`},svg:{maxWidth:`100%`,height:`100%`,margin:`auto`}},[`${t}-description`]:{color:e.colorTextDescription},[`${t}-footer`]:{marginTop:n},"&-normal":{marginBlock:i,color:e.colorTextDescription,[`${t}-description`]:{color:e.colorTextDescription},[`${t}-image`]:{height:e.emptyImgHeightMD}},"&-small":{marginBlock:r,color:e.colorTextDescription,[`${t}-image`]:{height:e.emptyImgHeightSM}}}}},J_=Qs(`Empty`,e=>{let{componentCls:t,controlHeightLG:n,calc:r}=e;return q_(xo(e,{emptyImgCls:`${t}-img`,emptyImgHeight:r(n).mul(2.5).equal(),emptyImgHeightMD:n,emptyImgHeightSM:r(n).mul(.875).equal()}))}),Y_=o.createElement(G_,null),X_=o.createElement(K_,null),Z_=e=>{let{className:t,rootClassName:n,prefixCls:r,image:i,description:a,children:s,imageStyle:l,style:u,classNames:d,styles:f,...p}=e,{getPrefixCls:m,direction:h,className:g,style:_,classNames:v,styles:y,image:b}=_r(`empty`),x=m(`empty`,r),[S,C]=J_(x),w=ar(_),T=ar(u),[E,D]=sr([v,d],[y,w,f,T],{props:e}),[O]=_c(`Empty`),k=a===void 0?O?.description:a,A=typeof k==`string`?k:`empty`,j=i??b??Y_,M=null;return M=typeof j==`string`?o.createElement(`img`,{draggable:!1,alt:A,src:j}):j,o.createElement(`div`,{className:c(S,C,x,g,{[`${x}-normal`]:j===X_,[`${x}-rtl`]:h===`rtl`},t,n,E.root),style:D.root,...p},o.createElement(`div`,{className:c(`${x}-image`,E.image),style:{...l,...D.image}},M),k&&o.createElement(`div`,{className:c(`${x}-description`,E.description),style:D.description},k),s&&o.createElement(`div`,{className:c(`${x}-footer`,E.footer),style:D.footer},s))};Z_.PRESENTED_IMAGE_DEFAULT=Y_,Z_.PRESENTED_IMAGE_SIMPLE=X_;var Q_=e=>{let{componentName:t}=e,{getPrefixCls:n}=(0,o.useContext)(mr),r=n(`empty`);switch(t){case`Table`:case`List`:return o.createElement(Z_,{image:Z_.PRESENTED_IMAGE_SIMPLE});case`Select`:case`TreeSelect`:case`Cascader`:case`Transfer`:case`Mentions`:return o.createElement(Z_,{image:Z_.PRESENTED_IMAGE_SIMPLE,className:`${r}-small`});case`Table.filter`:return null;default:return o.createElement(Z_,null)}},$_=e=>{let t={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:e===`scroll`?`scroll`:`visible`,dynamicInset:!0};return{bottomLeft:{...t,points:[`tl`,`bl`],offset:[0,4]},bottomRight:{...t,points:[`tr`,`br`],offset:[0,4]},topLeft:{...t,points:[`bl`,`tl`],offset:[0,-4]},topRight:{...t,points:[`br`,`tr`],offset:[0,-4]}}};function ev(e,t){return e||$_(t)}var tv=e=>{let{optionHeight:t,optionFontSize:n,optionLineHeight:r,optionPadding:i}=e;return{position:`relative`,display:`block`,minHeight:t,padding:i,color:e.colorText,fontWeight:`normal`,fontSize:n,lineHeight:r,boxSizing:`border-box`}},nv=e=>{let{antCls:t,componentCls:n}=e,r=`${n}-item`,i=`&${t}-slide-up-enter${t}-slide-up-enter-active`,a=`&${t}-slide-up-appear${t}-slide-up-appear-active`,o=`&${t}-slide-up-leave${t}-slide-up-leave-active`,s=`${n}-dropdown-placement-`,c=`${r}-option-selected`;return[{[`${n}-dropdown`]:{...Na(e),position:`absolute`,top:-9999,zIndex:e.zIndexPopup,boxSizing:`border-box`,padding:e.paddingXXS,overflow:`hidden`,fontSize:e.fontSize,fontVariant:`initial`,backgroundColor:e.colorBgElevated,borderRadius:e.borderRadiusLG,outline:`none`,boxShadow:e.boxShadowSecondary,[` + ${i}${s}bottomLeft, + ${a}${s}bottomLeft + `]:{animationName:cd},[` + ${i}${s}topLeft, + ${a}${s}topLeft, + ${i}${s}topRight, + ${a}${s}topRight + `]:{animationName:ud},[`${o}${s}bottomLeft`]:{animationName:ld},[` + ${o}${s}topLeft, + ${o}${s}topRight + `]:{animationName:dd},"&-hidden":{display:`none`},[r]:{...tv(e),cursor:`pointer`,transition:`background-color ${e.motionDurationSlow} ease`,borderRadius:e.borderRadiusSM,"&-group":{color:e.colorTextDescription,fontSize:e.fontSizeSM,cursor:`default`},"&-option":{display:`flex`,"&-content":{flex:`auto`,...Ma},"&-state":{flex:`none`,display:`flex`,alignItems:`center`},[`&-selected:not(${r}-option-disabled)`]:{color:e.optionSelectedColor,fontWeight:e.optionSelectedFontWeight,backgroundColor:e.optionSelectedBg,[`${r}-option-state`]:{color:e.colorPrimary}},[`&-active:not(${r}-option-disabled)`]:{backgroundColor:e.optionActiveBg},[`&-selected${r}-option-active:not(${r}-option-disabled)`]:{backgroundColor:e.controlItemBgActiveHover},"&-disabled":{[`&${r}-option-selected`]:{backgroundColor:e.colorBgContainerDisabled},color:e.colorTextDisabled,cursor:`not-allowed`},"&-grouped":{paddingInlineStart:e.calc(e.controlPaddingHorizontal).mul(2).equal()}},"&-empty":{...tv(e),color:e.colorTextDisabled}},[`${c}:has(+ ${c})`]:{borderEndStartRadius:0,borderEndEndRadius:0,[`& + ${c}`]:{borderStartStartRadius:0,borderStartEndRadius:0}},"&-rtl":{direction:`rtl`}}},_d(e,`slide-up`),_d(e,`slide-down`),sd(e,`move-up`),sd(e,`move-down`)]},rv=e=>{let{antCls:t,componentCls:n}=e,r={background:`transparent`},i=[`> input[disabled]`,`> textarea[disabled]`,`> ${n}-input`,`> ${t}-input-affix-wrapper-disabled`,`> ${t}-input-search`].join(`, `);return{[`&${n}-customize`]:{border:0,padding:0,fontSize:`inherit`,lineHeight:`inherit`,[`${n}-placeholder`]:{display:`none`},[`${n}-content`]:{margin:0,padding:0,"&-value":{display:`none`}},[`&${n}-disabled ${n}-content`]:{[i]:r,"input[disabled], textarea[disabled]":r}}}},iv=4,av=e=>{let{componentCls:t,calc:n,iconCls:r,paddingXS:i,paddingXXS:a,INTERNAL_FIXED_ITEM_MARGIN:o,lineWidth:s,colorIcon:c,colorIconHover:l,inputPaddingHorizontalBase:u,antCls:d}=e,[f,p]=tc(d,`select`);return{"&-multiple":{[f(`multi-item-background`)]:e.multipleItemBg,[f(`multi-item-border-color`)]:`transparent`,[f(`multi-item-border-radius`)]:e.borderRadiusSM,[f(`multi-item-height`)]:e.multipleItemHeight,[f(`multi-padding-base`)]:`calc((${p(`height`)} - ${p(`multi-item-height`)}) / 2)`,[f(`multi-padding-vertical`)]:`calc(${p(`multi-padding-base`)} - ${o} - ${s})`,[f(`multi-item-padding-horizontal`)]:`calc(${u} - ${p(`multi-padding-vertical`)} - ${s} * 2)`,paddingBlock:p(`multi-padding-vertical`),paddingInlineStart:`calc(${p(`multi-padding-base`)} - ${s})`,[`${t}-prefix`]:{marginInlineStart:p(`multi-item-padding-horizontal`)},[`${t}-prefix + ${t}-content`]:{[`${t}-placeholder`]:{insetInlineStart:0},[`${t}-content-item${t}-content-item-suffix`]:{marginInlineStart:0}},[`${t}-placeholder`]:{position:`absolute`,lineHeight:p(`line-height`),insetInlineStart:p(`multi-item-padding-horizontal`),width:`calc(100% - ${p(`multi-item-padding-horizontal`)})`,top:`50%`,transform:`translateY(-50%)`},[`${t}-content`]:{flexWrap:`wrap`,alignItems:`center`,lineHeight:1,"&-item-prefix":{height:p(`font-size`)},"&-item":{lineHeight:1,maxWidth:`calc(100% - ${iv}px)`},[`${t}-content-item-prefix + ${t}-content-item-suffix, + ${t}-content-item-suffix:first-child`]:{marginInlineStart:p(`multi-item-padding-horizontal`)},[`${t}-selection-item`]:{lineHeight:`calc(${p(`multi-item-height`)} - ${s} * 2)`,border:`${s} solid ${p(`multi-item-border-color`)}`,display:`flex`,marginBlock:o,marginInlineEnd:n(o).mul(2).equal(),background:p(`multi-item-background`),borderRadius:p(`multi-item-border-radius`),paddingInlineStart:i,paddingInlineEnd:a,transition:[`height`,`line-height`,`padding`].map(t=>`${t} ${e.motionDurationSlow}`).join(`,`),"&-content":{...Ma,marginInlineEnd:a},"&-remove":{...Pa(),display:`inline-flex`,alignItems:`center`,color:c,fontWeight:`bold`,fontSize:10,lineHeight:`inherit`,cursor:`pointer`,[`> ${r}`]:{verticalAlign:`-0.2em`},"&:hover":{color:l}}},[`${t}-input`]:{lineHeight:n(o).mul(2).add(p(`multi-item-height`)).equal(),width:`calc(var(--select-input-width, 0) * 1px)`,minWidth:iv,maxWidth:`100%`,transition:`line-height ${e.motionDurationSlow}`}},[`&${t}-sm`]:{[f(`multi-item-height`)]:e.multipleItemHeightSM,[f(`multi-item-border-radius`)]:e.borderRadiusXS},[`&${t}-lg`]:{[f(`multi-item-height`)]:e.multipleItemHeightLG,[f(`multi-item-border-radius`)]:e.borderRadius},[`&${t}-filled`]:{[f(`multi-item-border-color`)]:e.colorSplit,[f(`multi-item-background`)]:e.colorBgContainer,[`&${t}-disabled`]:{[f(`multi-item-border-color`)]:`transparent`}}}}},ov=(e,t)=>{let{componentCls:n,antCls:r}=e,[i]=tc(r,`select`),{border:a,borderHover:o,borderActive:s,borderOutline:c}=t,l=t.background||e.selectorBg||e.colorBgContainer;return{[i(`border-color`)]:a,[i(`background-color`)]:l,[i(`affix-color`)]:t.affixColor,[`&:not(${n}-disabled)`]:{"&:hover":{[i(`border-color`)]:o,[i(`background-color`)]:t.backgroundHover||l},[`&${n}-focused`]:{[i(`border-color`)]:s,[i(`background-color`)]:t.backgroundActive||l,boxShadow:`0 0 0 ${Vr(e.controlOutlineWidth)} ${c}`}},[`&${n}-disabled`]:{[i(`border-color`)]:t.borderDisabled||t.border,[i(`background-color`)]:t.backgroundDisabled||t.background}}},sv=(e,t,n,r,i,a)=>{let{componentCls:o}=e;return{[`&${o}-${t}`]:[ov(e,n),{[`&${o}-status-error`]:ov(e,{...n,...r}),[`&${o}-status-warning`]:ov(e,{...n,...i})},a]}},cv=(e,t)=>({outline:`${Vr(e.lineWidth)} ${e.lineType} ${t}`,outlineOffset:Vr(e.calc(e.lineWidth).mul(-1).equal()),transition:[`outline-offset`,`outline`].map(e=>`${e} 0s`).join(`, `)}),lv=e=>{let{componentCls:t,fontHeight:n,controlHeight:r,fontSizeIcon:i,showArrowPaddingInlineEnd:a,iconCls:o,antCls:s,max:c,calc:l}=e,[u,d]=tc(s,`select`),f=c(l(a).sub(i).equal(),0);return{[t]:[{[u(`border-radius`)]:e.borderRadius,[u(`border-color`)]:`#000`,[u(`border-size`)]:e.lineWidth,[u(`background-color`)]:e.colorBgContainer,[u(`font-size`)]:e.fontSize,[u(`line-height`)]:e.lineHeight,[u(`font-height`)]:n,[u(`color`)]:e.colorText,[u(`affix-color`)]:e.colorText,[u(`height`)]:r,[u(`padding-horizontal`)]:l(e.paddingSM).sub(e.lineWidth).equal(),[u(`padding-vertical`)]:`calc((${d(`height`)} - ${d(`font-height`)}) / 2 - ${d(`border-size`)})`,...Na(e),display:`inline-flex`,flexWrap:`nowrap`,position:`relative`,transition:`all ${e.motionDurationSlow}`,alignItems:`flex-start`,outline:0,cursor:`pointer`,borderRadius:d(`border-radius`),borderWidth:d(`border-size`),borderStyle:e.lineType,borderColor:d(`border-color`),background:d(`background-color`),fontSize:d(`font-size`),lineHeight:d(`line-height`),color:d(`color`),paddingInline:d(`padding-horizontal`),paddingBlock:d(`padding-vertical`),[`${t}-prefix`]:{color:d(`affix-color`),flex:`none`,lineHeight:1},[`${t}-placeholder`]:{...Ma,color:e.colorTextPlaceholder,pointerEvents:`none`,zIndex:1},[`${t}-content`]:{flex:`auto`,minWidth:0,position:`relative`,display:`flex`,marginInlineEnd:f,"&:before":{content:`"\\a0"`,width:0,overflow:`hidden`},"&-value":{visibility:`inherit`},"input[readonly]":{cursor:`inherit`,caretColor:`transparent`}},[`${t}-suffix`]:{flex:`none`,color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,lineHeight:1,"> :not(:last-child)":{marginInlineEnd:e.marginXS}},[`${t}-prefix, ${t}-suffix`]:{alignSelf:`center`,[o]:{verticalAlign:`top`}},"&-disabled":{background:e.colorBgContainerDisabled,color:e.colorTextDisabled,cursor:`not-allowed`,input:{cursor:`not-allowed`}},"&-sm":{[u(`height`)]:e.controlHeightSM,[u(`padding-horizontal`)]:l(e.paddingXS).sub(e.lineWidth).equal(),[u(`border-radius`)]:e.borderRadiusSM,[`${t}-clear`]:{insetInlineEnd:d(`padding-horizontal`)}},"&-lg":{[u(`height`)]:e.controlHeightLG,[u(`font-size`)]:e.fontSizeLG,[u(`line-height`)]:e.lineHeightLG,[u(`font-height`)]:e.fontHeightLG,[u(`border-radius`)]:e.borderRadiusLG}},{[`&:not(${t}-customize)`]:{[`${t}-input`]:{outline:`none`,background:`transparent`,appearance:`none`,border:0,margin:0,padding:0,color:d(`color`),fontFamily:`inherit`,fontSize:`inherit`,"&::-webkit-search-cancel-button":{display:`none`,appearance:`none`}}}},{[`&-single:not(${t}-customize)`]:{[`${t}-input`]:{position:`absolute`,inset:0,lineHeight:`inherit`},[`${t}-content`]:{...Ma,alignSelf:`center`,"&-has-value":{display:`block`,"&:before":{display:`none`}},"&-has-search-value":{color:`transparent`,[`> *:not(${t}-input)`]:{opacity:0}},"&-value":{transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,zIndex:1,opacity:1}},[`&${t}-open ${t}-content`]:{"&-has-value":{opacity:.25},"&-has-search-value":{opacity:1,transition:`opacity ${e.motionDurationMid} ${e.motionEaseInOut}`,color:`transparent`,[`> *:not(${t}-input)`]:{opacity:0}}}}},{[`&-show-search:not(${t}-customize-input):not(${t}-disabled)`]:{cursor:`text`}},av(e),sv(e,`outlined`,{border:e.colorBorder,borderHover:e.hoverBorderColor,borderActive:e.activeBorderColor,borderOutline:e.activeOutlineColor,borderDisabled:e.colorBorderDisabled},{border:e.colorError,borderHover:e.colorErrorBorderHover,borderActive:e.colorError,borderOutline:e.colorErrorOutline,affixColor:e.colorErrorAffix},{border:e.colorWarning,borderHover:e.colorWarningHover,borderActive:e.colorWarning,borderOutline:e.colorWarningOutline,affixColor:e.colorWarningAffix}),sv(e,`filled`,{border:`transparent`,borderHover:`transparent`,borderActive:e.activeBorderColor,borderOutline:`transparent`,borderDisabled:e.colorBorderDisabled,background:e.colorFillTertiary,backgroundHover:e.colorFillSecondary,backgroundActive:e.colorBgContainer},{color:e.colorErrorText,background:e.colorErrorBg,backgroundHover:e.colorErrorBgHover,borderActive:e.colorError},{background:e.colorWarningBg,backgroundHover:e.colorWarningBgHover,borderActive:e.colorWarning}),sv(e,`borderless`,{border:`transparent`,borderHover:`transparent`,borderActive:`transparent`,borderOutline:`transparent`,background:`transparent`},{},{},{[`&:not(${t}-disabled):has(input:focus-visible), &:not(${t}-disabled):has(textarea:focus-visible)`]:cv(e,e.activeBorderColor),[`&${t}-status-error:not(${t}-disabled):has(input:focus-visible), &${t}-status-error:not(${t}-disabled):has(textarea:focus-visible)`]:cv(e,e.colorError),[`&${t}-status-warning:not(${t}-disabled):has(input:focus-visible), &${t}-status-warning:not(${t}-disabled):has(textarea:focus-visible)`]:cv(e,e.colorWarning)}),sv(e,`underlined`,{border:e.colorBorder,borderHover:e.hoverBorderColor,borderActive:e.activeBorderColor,borderOutline:`transparent`},{border:e.colorError,borderHover:e.colorErrorBorderHover,borderActive:e.colorError},{border:e.colorWarning,borderHover:e.colorWarningHover,borderActive:e.colorWarning},{borderRadius:0,borderTopColor:`transparent`,borderInlineColor:`transparent`}),rv(e)]}},uv=e=>{let{fontSize:t,lineHeight:n,lineWidth:r,controlHeight:i,controlHeightSM:a,controlHeightLG:o,paddingXXS:s,controlPaddingHorizontal:c,zIndexPopupBase:l,colorText:u,fontWeightStrong:d,controlItemBgActive:f,controlItemBgHover:p,colorBgContainer:m,colorFillSecondary:h,colorBgContainerDisabled:g,colorTextDisabled:_,colorPrimaryHover:v,colorPrimary:y,controlOutline:b}=e,x=s*2,S=r*2,C=Math.min(i-x,i-S),w=Math.min(a-x,a-S),T=Math.min(o-x,o-S);return{INTERNAL_FIXED_ITEM_MARGIN:Math.floor(s/2),zIndexPopup:l+50,optionSelectedColor:u,optionSelectedFontWeight:d,optionSelectedBg:f,optionActiveBg:p,optionPadding:`${(i-t*n)/2}px ${c}px`,optionFontSize:t,optionLineHeight:n,optionHeight:i,selectorBg:m,clearBg:m,singleItemHeightLG:o,multipleItemBg:h,multipleItemBorderColor:`transparent`,multipleItemHeight:C,multipleItemHeightSM:w,multipleItemHeightLG:T,multipleSelectorBgDisabled:g,multipleItemColorDisabled:_,multipleItemBorderColorDisabled:`transparent`,showArrowPaddingInlineEnd:Math.ceil(e.fontSize*1.25),hoverBorderColor:v,activeBorderColor:y,activeOutlineColor:b,selectAffixPadding:s}},dv=e=>{let{antCls:t,componentCls:n,motionDurationMid:r,inputPaddingHorizontalBase:i}=e,a={[`${n}-clear`]:{opacity:1,background:e.colorBgBase,borderRadius:`50%`}};return{[n]:{...Na(e),[`${n}-selection-item`]:{flex:1,fontWeight:`normal`,position:`relative`,userSelect:`none`,...Ma,[`> ${t}-typography`]:{display:`inline`}},[`${n}-prefix`]:{flex:`none`,marginInlineEnd:e.selectAffixPadding},[`${n}-clear`]:{position:`absolute`,top:`50%`,insetInlineStart:`auto`,insetInlineEnd:i,zIndex:1,display:`inline-block`,width:e.fontSizeIcon,height:e.fontSizeIcon,marginTop:e.calc(e.fontSizeIcon).mul(-1).div(2).equal(),color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,fontStyle:`normal`,lineHeight:1,textAlign:`center`,textTransform:`none`,cursor:`pointer`,opacity:0,transition:[`color`,`opacity`].map(e=>`${e} ${r} ease`).join(`, `),textRendering:`auto`,transform:`translateZ(0)`,"&:before":{display:`block`},"&:hover":{color:e.colorIcon}},"@media(hover:none)":a,"&:hover":a},[`${n}-status`]:{"&-error, &-warning, &-success, &-validating":{[`&${n}-has-feedback`]:{[`${n}-clear`]:{insetInlineEnd:e.calc(i).add(e.fontSize).add(e.paddingXS).equal()}}}}}},fv=e=>{let{componentCls:t}=e;return[{[t]:{[`&${t}-in-form-item`]:{width:`100%`}}},dv(e),nv(e),{[`${t}-rtl`]:{direction:`rtl`}},Yd(e,{focusElCls:`${t}-focused`})]},pv=Qs(`Select`,(e,{rootPrefixCls:t})=>{let n=xo(e,{rootPrefixCls:t,inputPaddingHorizontalBase:e.calc(e.paddingSM).sub(e.lineWidth).equal(),multipleSelectItemHeight:e.multipleItemHeight,selectHeight:e.controlHeight});return[fv(n),lv(n)]},uv,{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}}),mv=a(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z`}}]},name:`check`,theme:`outlined`}}))());function hv(){return hv=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,hv({},e,{ref:t,icon:mv.default}))),_v=a(r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z`}}]},name:`down`,theme:`outlined`}}))());function vv(){return vv=Object.assign?Object.assign.bind():function(e){for(var t=1;to.createElement(L,vv({},e,{ref:t,icon:_v.default})));function bv({suffixIcon:e,contextSuffixIcon:t,clearIcon:n,contextClearIcon:r,menuItemSelectedIcon:i,contextMenuItemSelectedIcon:a,removeIcon:s,contextRemoveIcon:c,loading:l,loadingIcon:u,contextLoadingIcon:d,searchIcon:f,contextSearchIcon:p,multiple:m,hasFeedback:h,showSuffixIcon:g,feedbackIcon:_,showArrow:v,componentName:y}){return o.useMemo(()=>{let y=yu(n,r,o.createElement(B,null)),b=t=>e===null&&!h&&!v?null:o.createElement(o.Fragment,null,g!==!1&&t,h&&_),x=null;x=e===void 0?l?b(yu(u,d,o.createElement(Ku,{spin:!0}))):({open:e,showSearch:n})=>b(e&&n?yu(f,p,o.createElement(Nh,null)):yu(t,o.createElement(yv,null))):b(e);let S=yu(i,a,m?o.createElement(gv,null):null),C=yu(s,c,o.createElement(ne,null));return{clearIcon:y,suffixIcon:x,itemIcon:S,removeIcon:C}},[e,t,n,r,i,a,s,c,l,u,d,f,p,m,h,g,_,v])}function xv(e){return o.useMemo(()=>{if(e)return(...t)=>o.createElement(dh,{space:!0},e.apply(void 0,t))},[e])}function Sv(e,t){return t===void 0?e!==null:t}var Cv=`SECRET_COMBOBOX_MODE_DO_NOT_USE`,wv=o.forwardRef((e,t)=>{let{prefixCls:n,bordered:r,className:i,rootClassName:a,getPopupContainer:s,popupClassName:l,dropdownClassName:u,listHeight:d=256,placement:f,listItemHeight:p,size:m,disabled:h,notFoundContent:g,status:_,builtinPlacements:v,dropdownMatchSelectWidth:y,popupMatchSelectWidth:b,direction:x,style:S,allowClear:C,variant:w,popupStyle:T,dropdownStyle:E,transitionName:D,tagRender:O,maxCount:k,prefix:A,dropdownRender:j,popupRender:M,onDropdownVisibleChange:N,onOpenChange:P,styles:F,classNames:I,clearIcon:L,showSearch:R,...z}=e,{getPopupContainer:B,getPrefixCls:V,renderEmpty:H,direction:U,virtual:ee,popupMatchSelectWidth:te,popupOverflow:ne}=o.useContext(mr),{showSearch:W,allowClear:G,style:re,styles:K,className:q,classNames:ie,clearIcon:ae,loadingIcon:oe,menuItemSelectedIcon:J,removeIcon:se,suffixIcon:ce}=_r(`select`),[,le]=Zs(),ue=p??le?.controlHeight,de=V(`select`,n),fe=V(),Y=x??U,{compactSize:X,compactItemClassnames:Z}=Mu(de,Y),[pe,me]=fh(`select`,w,r),he=af(de),[ge,_e]=pv(de,he),ve=o.useMemo(()=>{let{mode:t}=e;if(t!==`combobox`)return t===Cv?`combobox`:t},[e.mode]),ye=ve===`multiple`||ve===`tags`,be=Sv(e.suffixIcon,e.showArrow),Q=b??y??te,xe=xv(M||j),Se=P||N,{status:Ce,hasFeedback:we,isFormItemInput:Te,feedbackIcon:Ee}=o.useContext(Hp),De=Jp(Ce,_),Oe;Oe=g===void 0?ve===`combobox`?null:H?.(`Select`)||o.createElement(Q_,{componentName:`Select`}):g;let{suffixIcon:ke,itemIcon:Ae,removeIcon:je,clearIcon:Me}=bv({...z,multiple:ye,hasFeedback:we,feedbackIcon:Ee,showSuffixIcon:be,prefixCls:de,componentName:`Select`,clearIcon:L,searchIcon:U_(R,`searchIcon`),contextClearIcon:ae,contextLoadingIcon:oe,contextMenuItemSelectedIcon:J,contextRemoveIcon:se,contextSearchIcon:U_(W,`searchIcon`),contextSuffixIcon:ce}),Ne=C??G,Pe=Ne===!0?{clearIcon:Me}:Ne,Fe=R??W,Ie=Ct(z,[`suffixIcon`,`itemIcon`]),Le=vu(e=>m??X??e),Re=o.useContext(Vl),ze=h??Re,Be={...e,variant:pe,status:De,disabled:ze,size:Le},Ve=ar(re),He=ar(S),[Ue,We]=sr([ie,I],[K,Ve,F,He],{props:Be},{popup:{_default:`root`}}),Ge=c(Ue.popup.root,l,u,{[`${de}-dropdown-${Y}`]:Y===`rtl`},a,_e,he,ge),Ke={...We.popup?.root,...T??E},qe=c({[`${de}-lg`]:Le===`large`,[`${de}-sm`]:Le===`small`,[`${de}-rtl`]:Y===`rtl`,[`${de}-${pe}`]:me,[`${de}-in-form-item`]:Te},qp(de,De,we),Z,q,i,Ue.root,a,_e,he,ge),Je=o.useMemo(()=>f===void 0?Y===`rtl`?`bottomRight`:`bottomLeft`:f,[f,Y]),[Ye]=ku(`SelectLike`,We.popup.root?.zIndex??Ke.zIndex);return o.createElement(H_,{ref:t,virtual:ee,classNames:Ue,styles:We,showSearch:Fe,...Ie,style:We.root,popupMatchSelectWidth:Q,transitionName:Nd(fe,`slide-up`,D),builtinPlacements:ev(v,ne),listHeight:d,listItemHeight:ue,mode:ve,prefixCls:de,placement:Je,direction:Y,prefix:A,suffixIcon:ke,menuItemSelectedIcon:Ae,removeIcon:je,allowClear:Pe,notFoundContent:Oe,className:qe,getPopupContainer:s||B,popupClassName:Ge,disabled:ze,popupStyle:{...We.popup.root,...Ke,zIndex:Ye},maxCount:ye?k:void 0,tagRender:ye?O:void 0,popupRender:xe,onPopupVisibleChange:Se})}),Tv=Hh(wv,`popupAlign`);wv.SECRET_COMBOBOX_MODE_DO_NOT_USE=Cv,wv.Option=Xg,wv.OptGroup=Yg,wv._InternalPanelDoNotUseOrYouWillBeFired=Tv;function Ev(...e){return e.filter(Boolean).join(` `)}var Dv=n();function Ov({className:e,...t}){return(0,Dv.jsx)(Bh,{className:Ev(`ui-input`,e),...t})}export{vu as $,Kt as $t,Nd as A,K as An,Ia as At,hd as B,_r as Bt,om as C,ye as Cn,xo as Ct,af as D,le as Dn,io as Dt,Hp as E,se as En,ao as Et,ud as F,B as Fn,Pa as Ft,Ku as G,Gn as Gt,ld as H,sr as Ht,dd as I,L as In,Ma as It,Tu as J,Qn as Jt,Bu as K,qn as Kt,fd as L,c as Ln,Aa as Lt,Dd as M,G as Mn,Ra as Mt,vd as N,W as Nn,Ha as Nt,rf as O,ae as On,to as Ot,_d as P,ne as Pn,Na as Pt,yu as Q,Rn as Qt,pd as R,Vr as Rt,cm as S,Q as Sn,Ho as St,im as T,ue as Tn,oo as Tt,sd as U,ar as Ut,cd as V,dr as Vt,$u as W,Xn as Wt,Cu as X,Zn as Xt,ku as Y,Kn as Yt,Su as Z,Wn as Zt,dh as _,Le as _n,Qs as _t,gv as a,Ot as an,Hl as at,Om as b,ge as bn,ks as bt,T_ as c,yt as cn,Pl as ct,Vh as d,lt as dn,Rc as dt,qt as en,_u as et,Bh as f,$ as fn,_c as ft,fh as g,Re as gn,tc as gt,hh as h,$e as hn,ic as ht,yv as i,Pt as in,Vl as it,Md as j,q as jn,La as jt,Pd as k,ie as kn,$a as kt,Pg as l,_t as ln,Nl as lt,Nh as m,Be as mn,uc as mt,Ev as n,It as nn,su as nt,Q_ as o,Ct as on,Bl as ot,zh as p,at as pn,hc as pt,Mu as q,Yn as qt,wv as r,Ft as rn,au as rt,Z_ as s,St as sn,Il as st,Ov as t,Lt as tn,lu as tt,Hh as u,ct as un,$c as ut,km as v,Se as vn,ec as vt,am as w,ve as wn,so as wt,lm as x,xe as xn,as as xt,Dm as y,_e as yn,Zs as yt,md as z,mr as zt}; \ No newline at end of file diff --git a/desktop/frontend/dist/assets/repo-switcher-BudR4k4a.js b/desktop/frontend/dist/assets/repo-switcher-BudR4k4a.js new file mode 100644 index 0000000..fc9a8f6 --- /dev/null +++ b/desktop/frontend/dist/assets/repo-switcher-BudR4k4a.js @@ -0,0 +1 @@ +import{a as e,n as t,s as n}from"./index-BaDRNaZh.js";import{r,t as i}from"./input-DPo2rTu5.js";import{r as a,t as o}from"./button-DLXsC9bG.js";var s=n(e(),1),c=t();function l(e){switch(e){case`session`:return`当前会话`;case`env`:return`环境变量`;default:return`未配置`}}function u(e){let t=e.split(/[\\/]/).filter(Boolean);return t[t.length-1]??e}function d(e){return e.split(/[\\/]/).filter(Boolean)}function f(e){let t=new Map;for(let n of e){let r=d(n);if(r.length===0){t.set(n,n);continue}let i=r[r.length-1];for(let t=1;t<=r.length;t+=1){let a=r.slice(-t).join(`/`),o=e.some(e=>e===n?!1:d(e).slice(-t).join(`/`)===a);if(i=a,!o)break}t.set(n,i)}return t}var p=[{id:`projects`,title:`Projects`,summary:`仓库命名空间与切换`},{id:`auth`,title:`Auth`,summary:`GitHub 认证与会话 Token`},{id:`defaults`,title:`Defaults`,summary:`当前项目默认分支与 remote`}];function m(){let{state:e,addRepo:t,switchRepo:n,removeRepo:d,setGitHubToken:m,refreshGitHubAuthStatus:h,updateProjectSettings:g,prefetchAction:_}=a(),[v,y]=(0,s.useState)(`projects`),[b,x]=(0,s.useState)(``),[S,C]=(0,s.useState)(``),[w,T]=(0,s.useState)(``),[E,D]=(0,s.useState)(``),[O,k]=(0,s.useState)(!1),[A,j]=(0,s.useState)(!1),[M,N]=(0,s.useState)(``),[P,F]=(0,s.useState)(``);(0,s.useEffect)(()=>{C(t=>t||e.repoPath)},[e.repoPath]),(0,s.useEffect)(()=>{N(e.projectSettings[e.repoPath]?.defaultBaseBranch??``)},[e.projectSettings,e.repoPath]),(0,s.useEffect)(()=>{F(e.projectSettings[e.repoPath]?.defaultRemote??``)},[e.projectSettings,e.repoPath]),(0,s.useEffect)(()=>{!e.repoPath||e.catalog.branches.length>0||_(`branch`,`branch_list`)},[_,e.catalog.branches.length,e.repoPath]),(0,s.useEffect)(()=>{!e.repoPath||e.catalog.remotes.length>0||_(`remote`,`remote_list`)},[_,e.catalog.remotes.length,e.repoPath]);let I=b.trim().length>0,L=e.catalog.branches,R=e.catalog.remotes,z=(0,s.useMemo)(()=>f(e.repoNamespaces),[e.repoNamespaces]),B=(0,s.useMemo)(()=>{let t=w.trim().toLowerCase();return t?e.repoNamespaces.filter(e=>{let n=z.get(e)??u(e);return e.toLowerCase().includes(t)||n.toLowerCase().includes(t)}):e.repoNamespaces},[z,w,e.repoNamespaces]),V=S||e.repoPath,H=V?e.projectSettings[V]:void 0,U=V?z.get(V)??u(V):`未选择`,W=e.repoPath?z.get(e.repoPath)??u(e.repoPath):`未选择`,G=!!(V&&V===e.repoPath),K=async()=>{let e=b.trim();e&&(await t(e),x(``),C(e))},q=async()=>{let e=b.trim();e&&(await n(e),x(``),C(e))},J=async()=>{j(!0);try{await m(E),D(``),k(!1)}finally{j(!1)}},Y=async()=>{j(!0);try{await m(``),D(``),k(!1),await h()}finally{j(!1)}};return(0,c.jsxs)(`section`,{className:`repo-settings`,"aria-label":`Project settings`,children:[(0,c.jsxs)(`aside`,{className:`repo-settings__nav`,children:[(0,c.jsxs)(`div`,{className:`repo-settings__overview`,children:[(0,c.jsx)(`span`,{children:`Current Project`}),(0,c.jsx)(`strong`,{children:W}),(0,c.jsx)(`small`,{children:e.repoPath||`未选择项目`})]}),(0,c.jsx)(`div`,{className:`repo-settings__nav-list`,role:`tablist`,"aria-label":`settings sections`,children:p.map(e=>(0,c.jsxs)(`button`,{type:`button`,className:v===e.id?`repo-settings__nav-item repo-settings__nav-item--active`:`repo-settings__nav-item`,onClick:()=>y(e.id),children:[(0,c.jsx)(`strong`,{children:e.title}),(0,c.jsx)(`span`,{children:e.summary})]},e.id))})]}),(0,c.jsxs)(`div`,{className:`repo-settings__content`,children:[v===`projects`?(0,c.jsxs)(`div`,{className:`settings-section settings-section--panel`,children:[(0,c.jsxs)(`header`,{className:`repo-settings__header`,children:[(0,c.jsx)(`h3`,{children:`Projects`}),(0,c.jsxs)(`p`,{children:[e.repoNamespaces.length,` 个项目`]})]}),(0,c.jsxs)(`div`,{className:`repo-settings__summary-grid`,children:[(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`当前项目`}),(0,c.jsx)(`strong`,{children:W}),(0,c.jsx)(`small`,{children:e.repoPath||`未选择项目`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`聚焦项目`}),(0,c.jsx)(`strong`,{children:U}),(0,c.jsx)(`small`,{children:V||`请从列表选择项目`})]})]}),(0,c.jsxs)(`div`,{className:`workspace-panel__row workspace-panel__row--add`,children:[(0,c.jsx)(i,{value:b,onChange:e=>x(e.target.value),placeholder:`/path/to/project (git repository)`}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void K(),disabled:!I,children:`仅添加`}),(0,c.jsx)(o,{variant:`primary`,onClick:()=>void q(),disabled:!I,children:`添加并切换`})]}),(0,c.jsxs)(`div`,{className:`workspace-panel__row`,children:[(0,c.jsx)(i,{value:w,onChange:e=>T(e.target.value),placeholder:`搜索项目路径或别名...`}),(0,c.jsxs)(`span`,{className:`repo-settings__count`,children:[B.length,` / `,e.repoNamespaces.length]})]}),(0,c.jsxs)(`div`,{className:`repo-settings__focusbar`,children:[(0,c.jsxs)(`div`,{className:`repo-settings__focusmeta`,children:[(0,c.jsx)(`strong`,{children:U}),(0,c.jsx)(`span`,{children:V||`未选择项目`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__focusactions`,children:[(0,c.jsx)(`span`,{className:G?`repo-badge repo-badge--active`:`repo-badge`,children:G?`当前项目`:`可切换`}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void n(V),disabled:!V||G,children:`切换到此项目`}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void d(V),disabled:!V||G,children:`移除此项目`})]})]}),(0,c.jsxs)(`div`,{className:`repo-list`,role:`list`,children:[B.map(t=>{let n=t===e.repoPath,r=t===V,i=e.projectSettings[t]?.defaultBaseBranch??``,a=e.projectSettings[t]?.defaultRemote??``;return(0,c.jsxs)(`article`,{className:[`repo-item`,n?`repo-item--current`:``,r?`repo-item--selected`:``].filter(Boolean).join(` `),onClick:()=>C(t),role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C(t))},children:[(0,c.jsxs)(`div`,{className:`repo-item__meta`,children:[(0,c.jsx)(`strong`,{children:z.get(t)??u(t)}),(0,c.jsx)(`span`,{children:t}),(0,c.jsxs)(`div`,{className:`repo-item__tags`,children:[(0,c.jsx)(`span`,{className:`repo-badge`,children:i?`base ${i}`:`base 未设置`}),(0,c.jsx)(`span`,{className:`repo-badge`,children:a?`remote ${a}`:`remote 未设置`})]})]}),(0,c.jsx)(`div`,{className:`repo-item__actions`,children:(0,c.jsx)(`span`,{className:n?`repo-badge repo-badge--active`:`repo-badge`,children:n?`当前`:`待切换`})})]},t)}),B.length===0?(0,c.jsx)(`div`,{className:`repo-list__empty`,children:`没有匹配的项目`}):null]})]}):null,v===`auth`?(0,c.jsxs)(`div`,{className:`settings-section settings-section--panel`,children:[(0,c.jsxs)(`header`,{className:`repo-settings__header`,children:[(0,c.jsx)(`h3`,{children:`GitHub Auth`}),(0,c.jsx)(`p`,{children:e.githubAuthStatus?.configured?`已连接`:`未连接`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__summary-grid repo-settings__summary-grid--wide`,children:[(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`认证来源`}),(0,c.jsx)(`strong`,{children:l(e.githubAuthStatus?.source)}),(0,c.jsx)(`small`,{children:e.githubAuthStatus?.message??`GitHub 状态未知`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`作用域`}),(0,c.jsx)(`strong`,{children:`当前会话`}),(0,c.jsx)(`small`,{children:`Token 只在桌面客户端当前会话中生效,不写入本地存储。`})]})]}),(0,c.jsxs)(`div`,{className:`workspace-panel__row workspace-panel__row--add`,children:[(0,c.jsx)(i,{type:O?`text`:`password`,value:E,onChange:e=>D(e.target.value),placeholder:`ghp_ / gho_... 仅当前会话生效`,autoComplete:`off`,spellCheck:!1}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>k(e=>!e),children:O?`隐藏`:`显示`}),(0,c.jsx)(o,{variant:`primary`,onClick:()=>void J(),disabled:A||E.trim().length===0,children:`应用 Token`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__focusbar`,children:[(0,c.jsxs)(`div`,{className:`repo-settings__focusmeta`,children:[(0,c.jsx)(`strong`,{children:`认证控制`}),(0,c.jsx)(`span`,{children:`建议优先使用会话 Token,避免把敏感信息固化在工作区配置里。`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__focusactions`,children:[(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void h(),disabled:A,children:`刷新状态`}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void Y(),disabled:A,children:`清除会话 Token`})]})]})]}):null,v===`defaults`?(0,c.jsxs)(`div`,{className:`settings-section settings-section--panel`,children:[(0,c.jsxs)(`header`,{className:`repo-settings__header`,children:[(0,c.jsx)(`h3`,{children:`Project Defaults`}),(0,c.jsx)(`p`,{children:e.repoPath?`只对当前项目生效`:`未选择项目`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__summary-grid repo-settings__summary-grid--wide`,children:[(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`当前项目`}),(0,c.jsx)(`strong`,{children:W}),(0,c.jsx)(`small`,{children:e.repoPath||`未选择项目`})]}),(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`聚焦项目`}),(0,c.jsx)(`strong`,{children:U}),(0,c.jsx)(`small`,{children:G?`当前正在编辑该项目默认值`:`默认值只能编辑当前项目;如需修改聚焦项目,请先切换过去。`})]})]}),!G&&V?(0,c.jsxs)(`div`,{className:`repo-settings__notice`,children:[(0,c.jsx)(`strong`,{children:`当前是跨项目查看模式`}),(0,c.jsxs)(`span`,{children:["你正在查看 `",U,"`,但默认值编辑只会写入当前项目。先切换项目再保存更安全。"]}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void n(V),children:`切换到该项目后编辑`})]}):null,(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`默认 Base Branch`}),(0,c.jsx)(`strong`,{children:H?.defaultBaseBranch||`未设置,回退到动作默认值`})]}),(0,c.jsxs)(`div`,{className:`workspace-panel__row workspace-panel__row--add`,children:[L.length>0?(0,c.jsx)(r,{className:`workspace-panel__control`,value:M||void 0,options:L.map(e=>({label:e.value??e.primary,value:e.value??e.primary})),placeholder:`未设置`,allowClear:!0,showSearch:!0,optionFilterProp:`label`,onChange:e=>N(String(e??``)),disabled:!e.repoPath}):(0,c.jsx)(i,{className:`workspace-panel__control`,value:M,onChange:e=>N(e.target.value),placeholder:`main`,disabled:!e.repoPath}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void _(`branch`,`branch_list`),disabled:!e.repoPath,children:`刷新分支`}),(0,c.jsx)(o,{variant:`primary`,onClick:()=>{g({defaultBaseBranch:M.trim()})},disabled:!e.repoPath,children:`保存 Base 默认值`})]}),(0,c.jsx)(`p`,{className:`repo-settings__status`,children:"用于 `PR 创建` 和 `Worktree 创建` 的 base 字段默认值。"}),(0,c.jsxs)(`div`,{className:`repo-settings__current`,children:[(0,c.jsx)(`span`,{children:`默认 Remote`}),(0,c.jsx)(`strong`,{children:H?.defaultRemote||`未设置,回退到 tracking / origin`})]}),(0,c.jsxs)(`div`,{className:`workspace-panel__row workspace-panel__row--add`,children:[R.length>0?(0,c.jsx)(r,{className:`workspace-panel__control`,value:P||void 0,options:R.map(e=>({label:e.value??e.primary,value:e.value??e.primary})),placeholder:`未设置`,allowClear:!0,showSearch:!0,optionFilterProp:`label`,onChange:e=>F(String(e??``)),disabled:!e.repoPath}):(0,c.jsx)(i,{className:`workspace-panel__control`,value:P,onChange:e=>F(e.target.value),placeholder:`origin`,disabled:!e.repoPath}),(0,c.jsx)(o,{variant:`ghost`,onClick:()=>void _(`remote`,`remote_list`),disabled:!e.repoPath,children:`刷新 Remote`}),(0,c.jsx)(o,{variant:`primary`,onClick:()=>{g({defaultRemote:P.trim()})},disabled:!e.repoPath,children:`保存 Remote 默认值`})]}),(0,c.jsx)(`p`,{className:`repo-settings__status`,children:"用于 `仓库拉取/推送`、`分支对齐`、`tag 推送/对齐` 的默认 remote。"})]}):null,(0,c.jsx)(`p`,{className:`repo-settings__status`,children:e.repoStatus})]})]})}export{m as RepoSwitcher}; \ No newline at end of file diff --git a/desktop/frontend/dist/fastgit-logo-icon.svg b/desktop/frontend/dist/fastgit-logo-icon.svg new file mode 100644 index 0000000..205e3fb --- /dev/null +++ b/desktop/frontend/dist/fastgit-logo-icon.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/desktop/frontend/dist/index.html b/desktop/frontend/dist/index.html new file mode 100644 index 0000000..5edea1f --- /dev/null +++ b/desktop/frontend/dist/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + fastgit desktop + + + + +
+ + diff --git a/desktop/frontend/dist/wails/custom.js b/desktop/frontend/dist/wails/custom.js new file mode 100644 index 0000000..61e2988 --- /dev/null +++ b/desktop/frontend/dist/wails/custom.js @@ -0,0 +1,2 @@ +// Reserved for Wails runtime custom hooks. +// Keep this file even when empty so wails://localhost/wails/custom.js resolves. diff --git a/desktop/frontend/index.html b/desktop/frontend/index.html new file mode 100644 index 0000000..cd2b10e --- /dev/null +++ b/desktop/frontend/index.html @@ -0,0 +1,19 @@ + + + + + + + + + + fastgit desktop + + +
+ + + diff --git a/desktop/frontend/package-lock.json b/desktop/frontend/package-lock.json new file mode 100644 index 0000000..e14f34f --- /dev/null +++ b/desktop/frontend/package-lock.json @@ -0,0 +1,3364 @@ +{ + "name": "fastgit-desktop-frontend", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fastgit-desktop-frontend", + "version": "0.0.1", + "dependencies": { + "@wailsio/runtime": "^3.0.0-alpha.18", + "antd": "^6.5.0", + "lucide-react": "^0.542.0", + "react": "^19.2.0", + "react-dom": "^19.2.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.3.2", + "@types/react": "^19.2.2", + "@types/react-dom": "^19.2.2", + "@vitejs/plugin-react": "^5.1.0", + "tailwindcss": "^4.3.2", + "typescript": "^6.0.3", + "vite": "^8.1.0" + }, + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@ant-design/colors": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-8.0.1.tgz", + "integrity": "sha512-foPVl0+SWIslGUtD/xBr1p9U4AKzPhNYEseXYRRo5QSzGACYZrQbe11AYJbYfAWnWSpGBx6JjBmSeugUsD9vqQ==", + "license": "MIT", + "dependencies": { + "@ant-design/fast-color": "^3.0.0" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-2.1.2.tgz", + "integrity": "sha512-2Hy8BnCEH31xPeSLbhhB2ctCPXE2ZnASdi+KbSeS79BNbUhL9hAEe20SkUk+BR8aKTmqb6+FKFruk7w8z0VoRQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "stylis": "^4.3.4" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/cssinjs-utils": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs-utils/-/cssinjs-utils-2.1.2.tgz", + "integrity": "sha512-5fTHQ158jJJ5dC/ECeyIdZUzKxE/mpEMRZxthyG1sw/AKRHKgJBg00Yi6ACVXgycdje7KahRNvNET/uBccwCnA==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^2.1.2", + "@babel/runtime": "^7.23.2", + "@rc-component/util": "^1.4.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@ant-design/fast-color": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-3.0.1.tgz", + "integrity": "sha512-esKJegpW4nckh0o6kV3Tkb7NPIZYbPnnFxmQDUmL08ukXZAvV85TZBr70eGuke/CIArLaP6aw8lt9KILjnWuOw==", + "license": "MIT", + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@ant-design/icons": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-6.3.2.tgz", + "integrity": "sha512-B6O5a5XJ4wjtNOfZejXYwHW5zvKV5gYkjGf11dHGLEbKn0ABDGndo41+gfIiXyTFhvESj4XTotuud33mUFid0g==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^8.0.1", + "@ant-design/icons-svg": "^4.5.0", + "@rc-component/util": "^1.11.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.5.0.tgz", + "integrity": "sha512-1BTUFyKPTBZ53MuTP8s0k5SFEXL7o3VHEOwLgzaoWKwnBeqIcqUtVshc4SKzhI6uACfqhJqBwBUE9FsWR3uULA==", + "license": "MIT" + }, + "node_modules/@ant-design/react-slick": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-2.0.0.tgz", + "integrity": "sha512-HMS9sRoEmZey8LsE/Yo6+klhlzU12PisjrVcydW3So7RdklyEd2qehyU6a7Yp+OYN72mgsYs3NFCyP2lCPFVqg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "clsx": "^2.1.1", + "json2mq": "^0.2.0", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", + "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "dev": true, + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.137.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.137.0.tgz", + "integrity": "sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rc-component/async-validator": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-6.0.0.tgz", + "integrity": "sha512-D3AGQwdyE58gmvx6waVSXJ80JGO+IY5L2O8HDnSOex7JNlzB3GuN/4hyHNTdhy2qtOhkpbIjmeAN3tL993wKbA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.4" + }, + "engines": { + "node": ">=14.x" + } + }, + "node_modules/@rc-component/cascader": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@rc-component/cascader/-/cascader-1.17.0.tgz", + "integrity": "sha512-3cVNG0zrQF1PoXq262L3wGCU+/YLEC1mGSVHDl577dQmA0ZKkXFbY6nwyXo+beCcM7buo49t24jkr+QZdL7O8w==", + "license": "MIT", + "dependencies": { + "@rc-component/select": "~1.8.0", + "@rc-component/tree": "~1.3.2", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/checkbox": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/checkbox/-/checkbox-2.0.0.tgz", + "integrity": "sha512-3CXGPpAR9gsPKeO2N78HAPOzU30UdemD6HGJoWVJOpa6WleaGB5kzZj3v6bdTZab31YuWgY/RxV3VKPctn0DwQ==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/collapse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/collapse/-/collapse-1.2.0.tgz", + "integrity": "sha512-ZRYSKSS39qsFx93p26bde7JUZJshsUBEQRlRXPuJYlAiNX0vyYlF5TsAm8JZN3LcF8XvKikdzPbgAtXSbkLUkw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/motion": "^1.1.4", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/color-picker": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-3.1.1.tgz", + "integrity": "sha512-OHaCHLHszCegdXmIq2ZRIZBN/EtpT6Wm8SG/gpzLATHbVKc/avvuKi+zlOuk05FTWvgaMmpxAko44uRJ3M+2pg==", + "license": "MIT", + "dependencies": { + "@ant-design/fast-color": "^3.0.1", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-2.0.2.tgz", + "integrity": "sha512-uiGpAlblCNlziHPwj4S4Iy/oemeuz/hR03mbiEjTCXwsqOIN3BOzsRMyDwpyO5Fm0vIEEJRUf9ZtbRLbhksuTA==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.11.0" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/dialog": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@rc-component/dialog/-/dialog-1.10.0.tgz", + "integrity": "sha512-eDukNlz9vNszAGv7i3zKXdxEd3wgVmNxuJijYt8zvTh17QwTu8KK/bdURRd/lU4qaMzhO1HKKmMrwOnkaw0BvQ==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.3.3", + "@rc-component/portal": "^2.1.0", + "@rc-component/util": "^1.9.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/drawer": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@rc-component/drawer/-/drawer-1.4.2.tgz", + "integrity": "sha512-1ib+fZEp6FBu+YvcIktm+nCQ+Q+qIpwpoaJH6opGr4ofh2QMq+qdr5DLC4oCf5qf3pcWX9lUWPYX652k4ini8Q==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/portal": "^2.1.3", + "@rc-component/util": "^1.9.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/dropdown": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/dropdown/-/dropdown-1.0.2.tgz", + "integrity": "sha512-6PY2ecUSYhDPhkNHHb4wfeAya04WhpmUSKzdR60G+kMNVUCX2vjT/AgTS0Lz0I/K6xrPMJ3enQbwVpeN3sHCgg==", + "license": "MIT", + "dependencies": { + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/@rc-component/form": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@rc-component/form/-/form-1.8.5.tgz", + "integrity": "sha512-d24EYtvUOBhxEtSd/EqIu9DaMuqrWF2IRIvAFCTM6NQ/GJIYNr8DvEpUSUlv2uPxEJ0ZPwYQ+wwlGIAaiHvdrw==", + "license": "MIT", + "dependencies": { + "@rc-component/async-validator": "^6.0.0", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/image": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@rc-component/image/-/image-1.9.0.tgz", + "integrity": "sha512-khF7w7xkBH5B1bsBcI1FSUZdkyd1aqpl2eYyILCqCzzQH3XdfehGUaZTnptyaJJfs09/R5hv9jXWyazOMFIClQ==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.0.0", + "@rc-component/portal": "^2.1.2", + "@rc-component/util": "^1.10.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/input": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@rc-component/input/-/input-1.3.1.tgz", + "integrity": "sha512-iFvTUT9W+JC/MSin2aGAk8NqsVlTzcExNC9DZariON1IWirju9NoNeEk47an4Q8iHazkoVI/y1LnDi88+CPcig==", + "license": "MIT", + "dependencies": { + "@rc-component/resize-observer": "^1.1.1", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@rc-component/input-number": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@rc-component/input-number/-/input-number-1.6.2.tgz", + "integrity": "sha512-Gjcq7meZlCOiWN1t1xCC+7/s85humHVokTBI7PJgTfoyw5OWF74y3e6P8PHX104g9+b54jsodFIzyaj6p8LI9w==", + "license": "MIT", + "dependencies": { + "@rc-component/mini-decimal": "^1.0.1", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mentions": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@rc-component/mentions/-/mentions-1.10.0.tgz", + "integrity": "sha512-CI1njYUVY0NjHtLhNoVmXlJyy568Sfep9Wsak6vmGjtT6uazx98djGYlCXz2xkHhEm73g91Y3MTvzUyE5avI7w==", + "license": "MIT", + "dependencies": { + "@rc-component/input": "~1.3.0", + "@rc-component/menu": "~1.4.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/menu": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@rc-component/menu/-/menu-1.4.1.tgz", + "integrity": "sha512-3GsVRoQ4cnF/AoIQ4P+Z1haBfgfBPQfLT1RJY3Nu4DzOnheTslfCiGSPj7bv/cLj5sW5pHqN25dDXGP3JELAlQ==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/overflow": "^1.0.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.4.tgz", + "integrity": "sha512-xiuXcaCwyOWpD8a8scdExFl+bntNphAW8XeenL1ig2en0AAZY0Pcp4pC0dI22qJ+NvxKn9RoNIoRdqYU3BLH4w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/motion": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@rc-component/motion/-/motion-1.3.3.tgz", + "integrity": "sha512-Xh3IszxvlSv3/PLYFyC2UZi9LNB83yOnkB/LNmRzaypZLvkhqUIPS7MQpGZcCMWrNsXV2p6YTSWbSGvFpEle9A==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.11.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-2.0.1.tgz", + "integrity": "sha512-AyarjoLU5YlxuValRi+w8JRH2Z84TBbFO2RoGWz9d8bSu0FqT8DtugH3xC3BV7mUwlmROFauyWuXFuq4IFbH+w==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/notification": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@rc-component/notification/-/notification-2.0.7.tgz", + "integrity": "sha512-nqZzpf6BPdaj+3ILx7si79LLmqPKyUmQoXa+/9gg0SkH0v1DbD66oJgRMSBEVnd/zUT3D4gwxWIHUKebYf2ZXQ==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/util": "^1.11.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/overflow": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/overflow/-/overflow-1.0.1.tgz", + "integrity": "sha512-syfmgAABaHCnCDzPwHZ/2tuvIcpOO3jefYZMmfkN+pmo8HKTzsfhS57vxo4ksPdN0By+uWVJhJWNFozNBxi2eA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@rc-component/resize-observer": "^1.0.1", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/pagination": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/pagination/-/pagination-1.4.0.tgz", + "integrity": "sha512-CW1g7P9V8u+e8JQdUsl2RWg+GCsoee0mtJjZUCCxn/vb3jzOwDKm6hAdwddHCVBfWJ58eGUBZz3IvnU8rRktjw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/picker": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@rc-component/picker/-/picker-1.11.0.tgz", + "integrity": "sha512-6qXGKtoJvO8sUd17m5cyNEbEJub0zflCHnaZTBBmj63DPRZYc0WEHN8rp6hFSl+yMCJS/dJY5G+1fQ8bLCuD7A==", + "license": "MIT", + "dependencies": { + "@rc-component/overflow": "^1.0.0", + "@rc-component/resize-observer": "^1.0.0", + "@rc-component/trigger": "^3.6.15", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=12.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/@rc-component/portal": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-2.2.1.tgz", + "integrity": "sha512-ck+r1kW/JSv0wxPji3KN2ss9K6Z0qqwusw/mf/0JobXhZ8hC2ejZwCJObW/SvDi0uhA0VzmCnx0CaCci95tcmA==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.11.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=12.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/progress": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/progress/-/progress-1.0.2.tgz", + "integrity": "sha512-WZUnH9eGxH1+xodZKqdrHke59uyGZSWgj5HBM5Kwk5BrTMuAORO7VJ2IP5Qbm9aH3n9x3IcesqHHR0NWPBC7fQ==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/qrcode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@rc-component/qrcode/-/qrcode-2.0.0.tgz", + "integrity": "sha512-aAv3QhPP1xyafuTZOxub6a54pCeBnN3IwQkpETrBtthq4BL5IgxnCbuoBWPDpdLw1y1j6BgBUCAKV92+yX06Dw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/rate": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/rate/-/rate-1.0.1.tgz", + "integrity": "sha512-bkXxeBqDpl5IOC7yL7GcSYjQx9G8H+6kLYQnNZWeBYq2OYIv1MONd6mqKTjnnJYpV0cQIU2z3atdW0j1kttpTw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/resize-observer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/resize-observer/-/resize-observer-1.1.2.tgz", + "integrity": "sha512-t/Bb0W8uvL4PYKAB3YcChC+DlHh0Wt5kM7q/J+0qpVEUMLe7Hk5zuvc9km0hMnTFPSx5Z7Wu/fzCLN6erVLE8Q==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/segmented": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rc-component/segmented/-/segmented-1.3.0.tgz", + "integrity": "sha512-5J/bJ01mbDnoA6P/FW8SxUvKn+OgUSTZJPzCNnTBntG50tzoP7DydGhqxp7ggZXZls7me3mc2EQDXakU3iTVFg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@rc-component/motion": "^1.1.4", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@rc-component/select": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.8.2.tgz", + "integrity": "sha512-HQ9zuYqjfZTlcEMWlU1GAPBajd2OHIMVHyjZSGVTCVARwkfCgvXZMTEn0cduy3L+ejAKkaZluOQvxovZoaJaQw==", + "license": "MIT", + "dependencies": { + "@rc-component/overflow": "^1.0.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.11.1", + "@rc-component/virtual-list": "^1.2.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@rc-component/slider": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/slider/-/slider-1.1.1.tgz", + "integrity": "sha512-LSzgWGYDgeCDgR4r1XlU29gbYws6HpLnvJd/uMhLeW/vQgxldeR+Wb4uzHDCHiYEbr1bnEHWdjkPxjJRHxuiig==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/steps": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@rc-component/steps/-/steps-1.2.2.tgz", + "integrity": "sha512-/yVIZ00gDYYPHSY0JP+M+s3ZvuXLu2f9rEjQqiUDs7EcYsUYrpJ/1bLj9aI9R7MBR3fu/NGh6RM9u2qGfqp+Nw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/switch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rc-component/switch/-/switch-1.0.3.tgz", + "integrity": "sha512-Jgi+EbOBquje/XNdofr7xbJQZPYJP+BlPfR0h+WN4zFkdtB2EWqEfvkXJWeipflwjWip0/17rNbxEAqs8hVHfw==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/table": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@rc-component/table/-/table-1.10.2.tgz", + "integrity": "sha512-b3PjqB9Gp25p5t/zq+9QrbXbodkptT8/zvLmwgd2FNPUUtaYyDnQqfxeD5a7ao8E8lpinLHsi2u2vdfPhyNvAw==", + "license": "MIT", + "dependencies": { + "@rc-component/context": "^2.0.1", + "@rc-component/resize-observer": "^1.0.0", + "@rc-component/util": "^1.11.1", + "@rc-component/virtual-list": "^1.0.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/tabs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@rc-component/tabs/-/tabs-1.11.0.tgz", + "integrity": "sha512-hA/drZYOVa/MMIb4M2fWf3yaTyTG4qVuIABmghvEhyfw2nBob5VTH69lMCDjSVKmgODjO6nWlCV+gVn3xBrj5Q==", + "license": "MIT", + "dependencies": { + "@rc-component/dropdown": "~1.0.0", + "@rc-component/menu": "~1.4.0", + "@rc-component/motion": "^1.1.3", + "@rc-component/resize-observer": "^1.0.0", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tooltip": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/tooltip/-/tooltip-1.4.0.tgz", + "integrity": "sha512-8Rx5DCctIlLI4raR0I0xHjVTf1aF48+gKCNeAAo5bmF5VoR5YED+A/XEqzXv9KKqrJDRcd3Wndpxh2hyzrTtSg==", + "license": "MIT", + "dependencies": { + "@rc-component/trigger": "^3.7.1", + "@rc-component/util": "^1.3.0", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-2.4.0.tgz", + "integrity": "sha512-aui4r4TqmTzwaBgcQxHYep8kM8PTjZFufjokObpy35KfFeZ0k9ArquWFZqegQlH24P14t+F0qO0mGTgzlav1yg==", + "license": "MIT", + "dependencies": { + "@rc-component/portal": "^2.2.0", + "@rc-component/trigger": "^3.0.0", + "@rc-component/util": "^1.7.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tree": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@rc-component/tree/-/tree-1.3.2.tgz", + "integrity": "sha512-bJFj46wEkpBPnWyTm18XmgAgNQ/4YvprxMOPPY2a6rmhGJYxLuNKEFiL5Qej4Qctu9wHJm8WW+v2SYskafE0kA==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.0.0", + "@rc-component/util": "^1.11.1", + "@rc-component/virtual-list": "^1.2.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@rc-component/tree-select": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@rc-component/tree-select/-/tree-select-1.11.0.tgz", + "integrity": "sha512-EhS0X0wtUhBfK4S5TlpSY3MR9ndPMGgujtt1PJW3Ej+ToAlnS/6ohYURtCoXBYGqazUwHmgQGVUDsfpVwhWPkg==", + "license": "MIT", + "dependencies": { + "@rc-component/select": "~1.8.0", + "@rc-component/tree": "~1.3.2", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@rc-component/trigger": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-3.9.1.tgz", + "integrity": "sha512-LNsYvz60mrLJ/kRvKcHE7boUvcQfVMCfRqZ71x3Fo9AOiZ1KKIEqkzMA8DNvz2V3Bcvir/vwQNn7JF1NPODQ7Q==", + "license": "MIT", + "dependencies": { + "@rc-component/motion": "^1.1.4", + "@rc-component/portal": "^2.2.0", + "@rc-component/resize-observer": "^1.1.1", + "@rc-component/util": "^1.2.1", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/upload": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/upload/-/upload-1.1.1.tgz", + "integrity": "sha512-GvYWSKeaJTOxxC5p6+nOSadzfvXA1h8C/iHFPFZX+szH3JUXrvs+DLiW8YUTBgvMh8m63mJeHrlYlJzAlg+pDA==", + "license": "MIT", + "dependencies": { + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/util": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@rc-component/util/-/util-1.11.1.tgz", + "integrity": "sha512-awVlI3ub2vqfqkYxOBc/uQ0efm3jw0wcrhtO/YWLyZfxiKXczKwNbVuhlnyxytDt7H9pbbVQiqr+O6MLATtRYg==", + "license": "MIT", + "dependencies": { + "is-mobile": "^5.0.0", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rc-component/virtual-list": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/virtual-list/-/virtual-list-1.2.0.tgz", + "integrity": "sha512-iavRm1Jo4GDbASQwdGa7jFyk93RvSOo9xHyBT4QL1pgFJj/Fdf1G+3RErH7/7BmAMvx2AkF62mjGYxDbXsK9TQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.0", + "@rc-component/resize-observer": "^1.0.1", + "@rc-component/util": "^1.4.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz", + "integrity": "sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.3.tgz", + "integrity": "sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.3.tgz", + "integrity": "sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.3.tgz", + "integrity": "sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.3.tgz", + "integrity": "sha512-c+8vieQbsD7HNAHKIA34w0GJ9FedFFuJGD+7E6vz7Q3uqAIugL5p45fhlsj4UaAsHpcmlqugBWMhA0/j7o0sIg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.3.tgz", + "integrity": "sha512-50jD0uUwLvur7Zz9LHz17kaAdTPjn5wN93hEgjvmYFRZwiR7ZJYovTd5ipyWJDAnXKvZ+wgc+/Ika6dwSF5OcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.3.tgz", + "integrity": "sha512-BO9+oPL8K9poZJBfYPsXNtYjPE5uM3qeehT3aFcW4LITOl+iSqhp0abzjR2nWBUNjIZeKXjAEWBZ64WjNoHd6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.3.tgz", + "integrity": "sha512-f3VpLB1vQ0Eo6ecr/6cekLnvYMFF4YBFoVGkfkvPLq1bAkbAwHYQPZKoAmG6OJyTcxxoC+AvezGx/S1obNC0Mw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.3.tgz", + "integrity": "sha512-AmurZ26Pqx/RI9N1gzEOCklkKXl927yjfXWUUS0O7Puh8ARM/Ob8qfrD3qnWksScdw6cSrW5PSHE9DyLu7+PtA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.3.tgz", + "integrity": "sha512-JJpqs8bRGITDOdbkNKnlojzBabbOHrqjSvDr0IVsZObE1lBcPjxItUEY9eWIDbxaJ3cGrXPWGfGkIxFijg/URg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.3.tgz", + "integrity": "sha512-rSJcdjPxzA/by/6/rYs+v+bXU7UjvnbUWz8MJb6kh6+knqB1dCrtHg0uu7C/4haqJvqdkYHQ5IGn+tCH9GLW/g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.3.tgz", + "integrity": "sha512-hQ3/PYkDJICgevvyNcVrihVeqq7k1Pp3VZ9lY+dauAYUJKO+auqApvANhvR1An9BhmqYKvW2Mu1F9u4DXSMLxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.3.tgz", + "integrity": "sha512-Elcv/BtML9lXrV6JuKITc/grN2kYV9gjsQpW8Jfw4ioK0TOkjBjye0nnyqQNy9STNaI20lXNaQBRrD5gSgR0Yg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.3.tgz", + "integrity": "sha512-2DrEfhluH9yhiaFApmsjsjwrSYbNcY1oFTzYSP1a535jDbV98zCFanA/96TBUd0iDFcxGmw9QRExwGCXz3U+/g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.3.tgz", + "integrity": "sha512-OL4OMk7UPXOeVGGd3qo5zJyPIljf4AFgk5QAkPPS+OoLuOOozhuaQGC18MxVTnw/06q93gShAJzlwnSCY9YtqA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.2.tgz", + "integrity": "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "5.21.6", + "jiti": "^2.7.0", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.2" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.2.tgz", + "integrity": "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.2", + "@tailwindcss/oxide-darwin-arm64": "4.3.2", + "@tailwindcss/oxide-darwin-x64": "4.3.2", + "@tailwindcss/oxide-freebsd-x64": "4.3.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.2", + "@tailwindcss/oxide-linux-x64-musl": "4.3.2", + "@tailwindcss/oxide-wasm32-wasi": "4.3.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.2" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.2.tgz", + "integrity": "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.2.tgz", + "integrity": "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.2.tgz", + "integrity": "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.2.tgz", + "integrity": "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.2.tgz", + "integrity": "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.2.tgz", + "integrity": "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.2.tgz", + "integrity": "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.2.tgz", + "integrity": "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.2.tgz", + "integrity": "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.2.tgz", + "integrity": "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.11.1", + "@emnapi/runtime": "^1.11.1", + "@emnapi/wasi-threads": "^1.2.2", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.2.tgz", + "integrity": "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.2.tgz", + "integrity": "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.2.tgz", + "integrity": "sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.2", + "@tailwindcss/oxide": "4.3.2", + "tailwindcss": "4.3.2" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.2.0.tgz", + "integrity": "sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.29.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-rc.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@vitejs/plugin-react/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", + "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@wailsio/runtime": { + "version": "3.0.0-alpha.94", + "resolved": "https://registry.npmjs.org/@wailsio/runtime/-/runtime-3.0.0-alpha.94.tgz", + "integrity": "sha512-jtOtyWLDLop9NfU373sA43NjyGntxDFUIHY6kzmArz5HGn66Ok3vl9N2nIyVs7cArvADxk/mBBZ9wXOX7R0NFA==", + "license": "MIT" + }, + "node_modules/antd": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/antd/-/antd-6.5.0.tgz", + "integrity": "sha512-9zbVc9UukfGuqCvIAov01nlpDQWfARNmZQyt21ZhqLX7ilXmi4cdkp12xA48WEmXRXwZvno8A03qQuGE9JG8fg==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^8.0.1", + "@ant-design/cssinjs": "^2.1.2", + "@ant-design/cssinjs-utils": "^2.1.2", + "@ant-design/fast-color": "^3.0.1", + "@ant-design/icons": "^6.3.1", + "@ant-design/react-slick": "~2.0.0", + "@babel/runtime": "^7.29.2", + "@rc-component/cascader": "~1.17.0", + "@rc-component/checkbox": "~2.0.0", + "@rc-component/collapse": "~1.2.0", + "@rc-component/color-picker": "~3.1.1", + "@rc-component/dialog": "~1.10.0", + "@rc-component/drawer": "~1.4.2", + "@rc-component/dropdown": "~1.0.2", + "@rc-component/form": "~1.8.5", + "@rc-component/image": "~1.9.0", + "@rc-component/input": "~1.3.1", + "@rc-component/input-number": "~1.6.2", + "@rc-component/mentions": "~1.10.0", + "@rc-component/menu": "~1.4.1", + "@rc-component/motion": "^1.3.3", + "@rc-component/mutate-observer": "^2.0.1", + "@rc-component/notification": "~2.0.7", + "@rc-component/pagination": "~1.4.0", + "@rc-component/picker": "~1.11.0", + "@rc-component/progress": "~1.0.2", + "@rc-component/qrcode": "~2.0.0", + "@rc-component/rate": "~1.0.1", + "@rc-component/resize-observer": "^1.1.2", + "@rc-component/segmented": "~1.3.0", + "@rc-component/select": "~1.8.2", + "@rc-component/slider": "~1.1.1", + "@rc-component/steps": "~1.2.2", + "@rc-component/switch": "~1.0.3", + "@rc-component/table": "~1.10.2", + "@rc-component/tabs": "~1.11.0", + "@rc-component/tooltip": "~1.4.0", + "@rc-component/tour": "~2.4.0", + "@rc-component/tree": "~1.3.2", + "@rc-component/tree-select": "~1.11.0", + "@rc-component/trigger": "^3.9.1", + "@rc-component/upload": "~1.1.1", + "@rc-component/util": "^1.11.1", + "clsx": "^2.1.1", + "dayjs": "^1.11.11", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.40", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.40.tgz", + "integrity": "sha512-BSSLZ9/Cjjv7Gtj5B68ZzXcXUg8iOf3fme+FCuh8rC/Go+Kmh8cox7M3A8dolou16s64QjLPOSdngh7GxXvkSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.4.tgz", + "integrity": "sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.38", + "caniuse-lite": "^1.0.30001799", + "electron-to-chromium": "^1.5.376", + "node-releases": "^2.0.48", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", + "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.21", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.380", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.380.tgz", + "integrity": "sha512-W6d5AbuEoRayO447cqrg6lKJIlscgRnnxOZl/08kfV71BQDoEBC7Wwis68z87LjyK6f4kWyTaubuDbhHKrZkbA==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.21.6", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", + "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-mobile": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-5.0.0.tgz", + "integrity": "sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==", + "license": "MIT" + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "license": "MIT", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.542.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.542.0.tgz", + "integrity": "sha512-w3hD8/SQB7+lzU2r4VdFyzzOzKnUjTZIF/MQJGSSvni7Llewni4vuViRppfRAa2guOsY5k4jZyxw/i9DQHv+dw==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.50", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.50.tgz", + "integrity": "sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", + "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rolldown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.3.tgz", + "integrity": "sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==", + "dev": true, + "dependencies": { + "@oxc-project/types": "=0.137.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.1.3", + "@rolldown/binding-darwin-arm64": "1.1.3", + "@rolldown/binding-darwin-x64": "1.1.3", + "@rolldown/binding-freebsd-x64": "1.1.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.3", + "@rolldown/binding-linux-arm64-gnu": "1.1.3", + "@rolldown/binding-linux-arm64-musl": "1.1.3", + "@rolldown/binding-linux-ppc64-gnu": "1.1.3", + "@rolldown/binding-linux-s390x-gnu": "1.1.3", + "@rolldown/binding-linux-x64-gnu": "1.1.3", + "@rolldown/binding-linux-x64-musl": "1.1.3", + "@rolldown/binding-openharmony-arm64": "1.1.3", + "@rolldown/binding-wasm32-wasi": "1.1.3", + "@rolldown/binding-win32-arm64-msvc": "1.1.3", + "@rolldown/binding-win32-x64-msvc": "1.1.3" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", + "license": "MIT" + }, + "node_modules/stylis": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.4.0.tgz", + "integrity": "sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==", + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz", + "integrity": "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/throttle-debounce": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", + "license": "MIT", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "optional": true + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.0.tgz", + "integrity": "sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==", + "dev": true, + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "~1.1.2", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.3.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/desktop/frontend/package.json b/desktop/frontend/package.json new file mode 100644 index 0000000..754e1cd --- /dev/null +++ b/desktop/frontend/package.json @@ -0,0 +1,30 @@ +{ + "name": "fastgit-desktop-frontend", + "private": true, + "version": "0.0.1", + "type": "module", + "engines": { + "node": ">=20.19.0" + }, + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@wailsio/runtime": "^3.0.0-alpha.18", + "antd": "^6.5.0", + "lucide-react": "^0.542.0", + "react": "^19.2.0", + "react-dom": "^19.2.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.3.2", + "@types/react": "^19.2.2", + "@types/react-dom": "^19.2.2", + "@vitejs/plugin-react": "^5.1.0", + "tailwindcss": "^4.3.2", + "typescript": "^6.0.3", + "vite": "^8.1.0" + } +} diff --git a/desktop/frontend/public/fastgit-logo-icon.svg b/desktop/frontend/public/fastgit-logo-icon.svg new file mode 100644 index 0000000..205e3fb --- /dev/null +++ b/desktop/frontend/public/fastgit-logo-icon.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/desktop/frontend/public/wails/custom.js b/desktop/frontend/public/wails/custom.js new file mode 100644 index 0000000..61e2988 --- /dev/null +++ b/desktop/frontend/public/wails/custom.js @@ -0,0 +1,2 @@ +// Reserved for Wails runtime custom hooks. +// Keep this file even when empty so wails://localhost/wails/custom.js resolves. diff --git a/desktop/frontend/src/app/app.tsx b/desktop/frontend/src/app/app.tsx new file mode 100644 index 0000000..7251bca --- /dev/null +++ b/desktop/frontend/src/app/app.tsx @@ -0,0 +1,42 @@ +import { useEffect, useRef } from "react"; +import { ConfigProvider } from "antd"; + +import { AppProvider } from "./providers/app-provider"; +import { useAppContext } from "./providers/app-context"; +import { DesktopLayout } from "../layouts/desktop-layout"; + +function AppBootstrap() { + const { state, refresh } = useAppContext(); + const initialRepoPath = useRef(state.repoPath); + + useEffect(() => { + void refresh(initialRepoPath.current); + }, [refresh]); + + return ; +} + +export function App() { + return ( + + + + + + ); +} diff --git a/desktop/frontend/src/app/providers/app-context.ts b/desktop/frontend/src/app/providers/app-context.ts new file mode 100644 index 0000000..00ccb60 --- /dev/null +++ b/desktop/frontend/src/app/providers/app-context.ts @@ -0,0 +1,50 @@ +import { createContext, useContext } from "react"; + +import type { ActionRunRequest, AppState, DesktopModule, ModuleAction, ProjectSettings, SidebarMenuType } from "../types"; + +export interface AppContextValue { + state: AppState; + selectedModule: DesktopModule | null; + filteredModules: DesktopModule[]; + setSelectedModule(moduleId: string): void; + closeModuleTab(moduleId: string): void; + closeOtherModuleTabs(moduleId: string): void; + closeTabsToRight(moduleId: string): void; + reorderModuleTabs(sourceId: string, targetId: string): void; + addModuleTab(): void; + setSelectedMenu(menu: SidebarMenuType): void; + setModulePaneWidth(width: number): void; + setModulePaneCollapsed(collapsed: boolean): void; + refresh(preferredRepoPath?: string): Promise; + refreshGitHubAuthStatus(): Promise; + addRepo(path: string): Promise; + switchRepo(path: string): Promise; + removeRepo(path: string): Promise; + setGitHubToken(token: string): Promise; + updateProjectSettings(patch: Partial): void; + runAction(module: DesktopModule, action: ModuleAction, values: ActionRunRequest["values"]): Promise; + runBatchActions( + module: DesktopModule, + action: ModuleAction, + jobs: Array<{ label: string; values: ActionRunRequest["values"] }>, + reloadActionId?: string + ): Promise; + runActionAndReload( + module: DesktopModule, + action: ModuleAction, + values: ActionRunRequest["values"], + reloadActionId: string + ): Promise; + previewAction(moduleId: string, actionId: string, values?: ActionRunRequest["values"]): Promise; + prefetchAction(moduleId: string, actionId: string, values?: ActionRunRequest["values"]): Promise; +} + +export const AppContext = createContext(null); + +export function useAppContext(): AppContextValue { + const value = useContext(AppContext); + if (!value) { + throw new Error("useAppContext must be used within AppProvider"); + } + return value; +} diff --git a/desktop/frontend/src/app/providers/app-provider.tsx b/desktop/frontend/src/app/providers/app-provider.tsx new file mode 100644 index 0000000..cc9a27c --- /dev/null +++ b/desktop/frontend/src/app/providers/app-provider.tsx @@ -0,0 +1,1534 @@ +import type { ReactNode } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; + +import { BackendService } from "../../services/backend"; +import { filterModulesByMenu } from "../../lib/module-groups"; +import { loadPrefs, loadWorkspaceTabs, savePrefs, saveWorkspaceTabs } from "../../lib/persistence"; +import { AppContext } from "./app-context"; +import type { + AppState, + DesktopModule, + ModuleAction, + OperationOutput, + OutputDetail, + OutputListItem, + ProjectSettings, + ResourceCatalog, + SidebarMenuType, +} from "../types"; + +interface AppProviderProps { + children: ReactNode; +} + +const initialOutput: OperationOutput = { + title: "Welcome", + command: "-", + exitCode: 0, + body: "请选择左侧模块并执行动作。", +}; + +const backend = new BackendService(); + +const githubRowPattern = /^#(\d+)\s+\[([^\]]+)\]\s+(.+)$/; +const githubHeaderPattern = /^#(\d+)\s+\[([^\]]+)\]$/; +const statusRowPattern = /^(.{2})\s+(.+)$/; + +function createEmptyCatalog(): ResourceCatalog { + return { + remotes: [], + branches: [], + issues: [], + tags: [], + worktrees: [], + prs: [], + repoStatus: [], + }; +} + +function parseRemoteItems(body: string): OutputListItem[] { + return body + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean) + .flatMap((line, index) => { + const parts = line.split("\t"); + if (parts.length < 5) { + return []; + } + const [name, transport, fetchURL, pushURL, status] = parts; + return [ + { + id: `${name}-${index}`, + primary: name, + secondary: fetchURL || undefined, + badge: transport || "unknown", + active: status === "default", + value: name, + category: transport || "unknown", + keywords: [name, transport, fetchURL, pushURL, status].filter(Boolean), + fields: { + name, + transport: transport || "unknown", + fetch: fetchURL || "-", + push: pushURL || "-", + status: status || "secondary", + }, + }, + ]; + }); +} + +function parseBranchItems(body: string): OutputListItem[] { + return body + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean) + .flatMap((line, index) => { + const parts = line.split("\t"); + if (parts.length >= 7) { + const [branch, status, remote, upstream, sync, aheadRaw, behindRaw] = parts; + const ahead = Number.parseInt(aheadRaw, 10) || 0; + const behind = Number.parseInt(behindRaw, 10) || 0; + const active = status === "current"; + const syncLabel = + sync === "ahead" + ? `本地领先 ${ahead}` + : sync === "behind" + ? `落后远端 ${behind}` + : sync === "diverged" + ? `已分叉 ${ahead}/${behind}` + : sync === "in-sync" + ? "已同步" + : sync === "no-upstream" + ? "未跟踪" + : sync === "missing-upstream" + ? "远端缺失" + : sync === "invalid-upstream" + ? "跟踪无效" + : sync; + + return [ + { + id: `${branch}-${index}`, + primary: branch, + secondary: upstream || (remote ? `${remote}/*` : undefined), + active, + badge: syncLabel, + value: branch, + category: sync, + keywords: [branch, status, remote, upstream, sync, syncLabel].filter(Boolean), + fields: { + branch, + status, + remote, + upstream, + sync, + sync_label: syncLabel, + ahead: String(ahead), + behind: String(behind), + }, + }, + ]; + } + + const active = line.startsWith("* "); + const primary = active ? line.slice(2).trim() : line.replace(/^-+\s+/, ""); + if (!primary) { + return []; + } + + return [ + { + id: `${primary}-${index}`, + primary, + active, + badge: active ? "current" : undefined, + value: primary, + keywords: [primary, active ? "current" : ""].filter(Boolean), + fields: { + branch: primary, + status: active ? "current" : "local", + remote: "", + upstream: "", + sync: active ? "current" : "local", + sync_label: active ? "current" : "local", + ahead: "0", + behind: "0", + }, + }, + ]; + }); +} + +function parseTagItems(body: string): OutputListItem[] { + return body + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean) + .map((tag, index) => ({ + id: `${tag}-${index}`, + primary: tag, + value: tag, + keywords: [tag], + fields: { + tag, + }, + })); +} + +function parseIssueLikeItems(body: string): OutputListItem[] { + return body + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean) + .flatMap((line, index) => { + const tabParts = line.split("\t"); + if (tabParts.length >= 4) { + const [number, state, title, url] = tabParts; + return [ + { + id: `${number}-${index}`, + primary: `#${number} ${title}`, + secondary: url || undefined, + badge: state, + category: state, + value: number, + url: url || undefined, + keywords: [number, state, title, url].filter(Boolean), + fields: { + number, + title, + state, + url, + }, + }, + ]; + } + + const match = line.match(githubRowPattern); + if (!match) { + return []; + } + return [ + { + id: `${match[1]}-${index}`, + primary: `#${match[1]} ${match[3]}`, + badge: match[2], + category: match[2], + value: match[1], + secondary: undefined, + keywords: [match[1], match[2], match[3]], + fields: { + number: match[1], + title: match[3], + state: match[2], + url: "", + }, + }, + ]; + }); +} + +function parsePrStatusItems(body: string): OutputListItem[] { + const lines = body.split(/\r?\n/).map((line) => line.trim()).filter(Boolean); + if (lines.length === 0) { + return []; + } + const header = lines[0]; + const match = header.match(/^#(\d+)\s+\[([^\]]+)\]$/); + if (!match) { + return []; + } + + const title = lines[1] ?? `PR #${match[1]}`; + const url = lines.find((line) => /^https?:\/\//.test(line)); + + return [ + { + id: `pr-${match[1]}`, + primary: `#${match[1]} ${title}`, + badge: match[2], + category: match[2], + secondary: url, + url, + value: match[1], + keywords: [match[1], match[2], title, url ?? ""].filter(Boolean), + fields: { + number: match[1], + title, + state: match[2], + url: url ?? "", + base: lines.find((line) => line.startsWith("base: "))?.slice("base: ".length).trim() ?? "", + head: lines.find((line) => line.startsWith("head: "))?.slice("head: ".length).trim() ?? "", + draft: lines.find((line) => line.startsWith("draft: "))?.slice("draft: ".length).trim() ?? "", + }, + }, + ]; +} + +function parsePrListItems(body: string): OutputListItem[] { + return body + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean) + .flatMap((line, index) => { + const parts = line.split("\t"); + if (parts.length < 7) { + return []; + } + const [number, state, title, url, base, head, draft] = parts; + return [ + { + id: `pr-${number}`, + primary: `#${number} ${title}`, + secondary: url || undefined, + badge: state, + category: state, + url: url || undefined, + value: number, + keywords: [number, state, title, url, base, head, draft].filter(Boolean), + fields: { + number, + state, + title, + url, + base, + head, + draft, + }, + }, + ]; + }); +} + +function parsePrStatusDetail(body: string): OutputDetail | null { + const lines = body.split(/\r?\n/); + const header = lines[0]?.trim() ?? ""; + const title = lines[1]?.trim() ?? ""; + const url = lines.find((line, index) => index > 0 && /^https?:\/\//.test(line.trim()))?.trim(); + const match = header.match(githubHeaderPattern); + if (!match || !title) { + return null; + } + + const base = lines.find((line) => line.startsWith("base: "))?.slice("base: ".length).trim(); + const head = lines.find((line) => line.startsWith("head: "))?.slice("head: ".length).trim(); + const draft = lines.find((line) => line.startsWith("draft: "))?.slice("draft: ".length).trim(); + const bodyStartIndex = lines.findIndex((line, index) => index > 1 && line.trim() === ""); + const detailBody = + bodyStartIndex >= 0 + ? lines.slice(bodyStartIndex + 1).join("\n").trim() + : ""; + + return { + targetId: `pr-${match[1]}`, + primary: `#${match[1]} ${title}`, + secondary: url, + badge: match[2], + url, + body: detailBody || undefined, + fields: [ + { label: "PR", value: `#${match[1]}` }, + { label: "状态", value: match[2] }, + ...(base ? [{ label: "Base", value: base }] : []), + ...(head ? [{ label: "Head", value: head }] : []), + ...(draft ? [{ label: "Draft", value: draft }] : []), + ...(url ? [{ label: "链接", value: url, href: url }] : []), + ], + }; +} + +function parseIssueDetail(body: string): OutputDetail | null { + const lines = body.split(/\r?\n/); + const header = lines[0]?.trim() ?? ""; + const title = lines[1]?.trim() ?? ""; + const url = lines.find((line, index) => index > 0 && /^https?:\/\//.test(line.trim()))?.trim(); + const match = header.match(githubHeaderPattern); + if (!match || !title) { + return null; + } + + const bodyStartIndex = lines.findIndex((line, index) => index > 1 && line.trim() === ""); + const detailBody = + bodyStartIndex >= 0 + ? lines.slice(bodyStartIndex + 1).join("\n").trim() + : lines.slice(url ? 3 : 2).join("\n").trim(); + + return { + targetId: match[1], + primary: `#${match[1]} ${title}`, + secondary: url, + badge: match[2], + url, + body: detailBody || undefined, + fields: [ + { label: "Issue", value: `#${match[1]}` }, + { label: "状态", value: match[2] }, + ...(url ? [{ label: "链接", value: url, href: url }] : []), + ], + }; +} + +function parseUrlActionDetail(actionID: string, body: string): OutputDetail | null { + const urlMatch = body.match(/https?:\/\/\S+/); + if (!urlMatch) { + return null; + } + const url = urlMatch[0]; + + switch (actionID) { + case "issue_create": + return { + primary: "Issue 创建成功", + secondary: url, + badge: "created", + url, + fields: [{ label: "链接", value: url, href: url }], + }; + case "pr_create": + return { + primary: body.startsWith("PR already exists:") ? "PR 已存在" : "PR 创建成功", + secondary: url, + badge: body.startsWith("PR already exists:") ? "exists" : "created", + url, + fields: [{ label: "链接", value: url, href: url }], + }; + case "pr_sync": + return { + primary: "PR 已同步", + secondary: url, + badge: "updated", + url, + fields: [{ label: "链接", value: url, href: url }], + }; + default: + return null; + } +} + +function parseMergeDetail(body: string): OutputDetail | null { + const match = body.match(/^merged=(true|false)\s+message=(.+)$/); + if (!match) { + return null; + } + return { + primary: match[1] === "true" ? "PR 合并完成" : "PR 合并未完成", + badge: match[1] === "true" ? "merged" : "pending", + body: match[2], + fields: [ + { label: "结果", value: match[1] === "true" ? "merged" : "not merged" }, + { label: "消息", value: match[2] }, + ], + }; +} + +function repoStatusCategory(staging: string, worktree: string): string { + if (staging === "U" || worktree === "U") { + return "conflict"; + } + if (staging === "?" && worktree === "?") { + return "untracked"; + } + if (staging !== " " && worktree !== " ") { + return "mixed"; + } + if (staging !== " ") { + return "staged"; + } + if (worktree !== " ") { + return "unstaged"; + } + return "clean"; +} + +function parseRepoStatusItems(body: string): OutputListItem[] { + return body + .split(/\r?\n/) + .map((line) => line.trimEnd()) + .filter(Boolean) + .flatMap((line, index) => { + const match = line.match(statusRowPattern); + if (!match) { + return []; + } + const rawCode = match[1]; + const staging = rawCode[0] ?? " "; + const worktree = rawCode[1] ?? " "; + const code = rawCode.replace(/\s/g, "·"); + const category = repoStatusCategory(staging, worktree); + const canStage = worktree !== " " || (staging === "?" && worktree === "?"); + const canUnstage = staging !== " " && staging !== "?"; + const canDiscard = category !== "clean"; + return [ + { + id: `repo-${index}`, + primary: match[2], + badge: code, + category, + keywords: [code, category, match[2], staging, worktree], + fields: { + path: match[2], + status: code, + status_raw: rawCode, + status_category: category, + staging, + worktree, + can_stage: canStage ? "1" : "0", + can_unstage: canUnstage ? "1" : "0", + can_discard: canDiscard ? "1" : "0", + }, + }, + ]; + }); +} + +function parseWorktreeItems(body: string, repoPath: string): OutputListItem[] { + const lines = body.split(/\r?\n/); + const items: OutputListItem[] = []; + + let path = ""; + let branch = ""; + let head = ""; + + const push = () => { + if (!path) { + return; + } + const details = [branch, head ? head.slice(0, 8) : ""].filter(Boolean).join(" · "); + items.push({ + id: `${path}-${items.length}`, + primary: path, + secondary: details || undefined, + active: path === repoPath, + badge: path === repoPath ? "current" : undefined, + value: branch || path, + keywords: [path, branch, head, path === repoPath ? "current" : ""].filter(Boolean), + fields: { + path, + branch: branch || "-", + commit: head ? head.slice(0, 8) : "-", + status: path === repoPath ? "current" : "attached", + }, + }); + }; + + lines.forEach((rawLine) => { + const line = rawLine.trim(); + if (!line) { + return; + } + if (line.startsWith("worktree ")) { + push(); + path = line.slice("worktree ".length).trim(); + branch = ""; + head = ""; + return; + } + if (line.startsWith("branch ")) { + const ref = line.slice("branch ".length).trim(); + branch = ref.replace("refs/heads/", ""); + return; + } + if (line.startsWith("HEAD ")) { + head = line.slice("HEAD ".length).trim(); + } + }); + + push(); + return items; +} + +function updateCatalog(catalog: ResourceCatalog, actionID: string, items?: OutputListItem[]): ResourceCatalog { + if (!items) { + return catalog; + } + + switch (actionID) { + case "remote_list": + return { ...catalog, remotes: items }; + case "branch_list": + return { ...catalog, branches: items }; + case "issue_list": + return { ...catalog, issues: items }; + case "tag_list": + return { ...catalog, tags: items }; + case "worktree_list": + return { ...catalog, worktrees: items }; + case "pr_status": + case "pr_list": + return { ...catalog, prs: items }; + case "repo_status": + return { ...catalog, repoStatus: items }; + default: + return catalog; + } +} + +function findModuleAction(modules: DesktopModule[], moduleID: string, actionID: string): { module: DesktopModule; action: ModuleAction } | null { + const module = modules.find((item) => item.id === moduleID); + const action = module?.actions?.find((item) => item.id === actionID); + if (!module || !action) { + return null; + } + return { module, action }; +} + +function relatedCatalogRefreshes(moduleId: string, actionId: string): Array<{ moduleId: string; actionId: string }> { + switch (actionId) { + case "remote_add": + case "remote_update": + case "remote_rename": + case "remote_set_url": + case "remote_set_push_url": + case "remote_remove": + case "remote_fetch": + case "remote_fetch_all": + return [ + { moduleId: "remote", actionId: "remote_list" }, + { moduleId: "branch", actionId: "branch_list" }, + ]; + case "branch_create": + case "branch_delete": + case "branch_checkout": + case "branch_force_sync": + case "repo_force_sync": + return [ + { moduleId: "branch", actionId: "branch_list" }, + { moduleId: "repo", actionId: "repo_status" }, + ]; + case "worktree_create": + case "worktree_remove": + return [ + { moduleId: "worktree", actionId: "worktree_list" }, + { moduleId: "branch", actionId: "branch_list" }, + ]; + case "issue_create": + case "issue_close": + return [{ moduleId: "issue", actionId: "issue_list" }]; + case "tag_publish": + case "tag_push": + case "tag_force_sync": + return [{ moduleId: "tag", actionId: "tag_list" }]; + case "repo_pull": + case "repo_push": + case "repo_stage_path": + case "repo_unstage_path": + case "repo_discard_path": + return [{ moduleId: "repo", actionId: "repo_status" }]; + case "pr_create": + case "pr_sync": + case "pr_merge": + case "pr_close": + return [{ moduleId: "pr", actionId: "pr_list" }]; + default: + return []; + } +} + +function toStructuredOutput(actionID: string, body: string, repoPath: string): Pick { + const normalized = body.trim(); + switch (actionID) { + case "remote_list": { + const items = parseRemoteItems(normalized); + return { items, emptyHint: normalized === "no remotes" ? "暂无 remote" : items.length === 0 ? "暂无 remote" : undefined }; + } + case "branch_list": { + const items = parseBranchItems(normalized); + return { items, emptyHint: items.length === 0 ? "暂无分支" : undefined }; + } + case "tag_list": { + const items = parseTagItems(normalized); + return { items, emptyHint: normalized === "no tags" ? "暂无标签" : items.length === 0 ? "暂无标签" : undefined }; + } + case "worktree_list": { + const items = parseWorktreeItems(normalized, repoPath); + return { + items, + emptyHint: normalized === "no worktree" ? "暂无 worktree" : items.length === 0 ? "暂无 worktree" : undefined, + }; + } + case "issue_list": { + const items = parseIssueLikeItems(normalized); + return { + items, + emptyHint: normalized === "no open issues" ? "暂无 open issues" : items.length === 0 ? "暂无 open issues" : undefined, + }; + } + case "pr_status": { + const items = parsePrStatusItems(normalized); + return { + items, + detail: items.length > 0 ? parsePrStatusDetail(normalized) ?? undefined : undefined, + emptyHint: normalized === "no open PR for current branch" ? "当前分支暂无 open PR" : undefined, + }; + } + case "pr_list": { + const items = parsePrListItems(normalized); + return { + items, + emptyHint: normalized === "no open PRs" ? "暂无 open PR" : items.length === 0 ? "暂无 open PR" : undefined, + }; + } + case "repo_status": { + const items = parseRepoStatusItems(normalized); + return { + items, + emptyHint: normalized === "working tree clean" ? "工作区干净" : undefined, + }; + } + case "issue_view": + case "pr_view": + return { + detail: actionID === "issue_view" ? parseIssueDetail(normalized) ?? undefined : parsePrStatusDetail(normalized) ?? undefined, + }; + case "issue_create": + case "pr_create": + case "pr_sync": + return { + detail: parseUrlActionDetail(actionID, normalized) ?? undefined, + }; + case "pr_merge": + return { + detail: parseMergeDetail(normalized) ?? undefined, + }; + default: + return {}; + } +} + +function normalizeRepoPath(path: string): string { + return path.trim(); +} + +function mergeRepoNamespaces(existing: string[], ...paths: string[]): string[] { + const seen = new Set(); + const result: string[] = []; + + const append = (value: string) => { + const normalized = normalizeRepoPath(value); + if (!normalized || seen.has(normalized)) { + return; + } + seen.add(normalized); + result.push(normalized); + }; + + existing.forEach(append); + paths.forEach(append); + + return result; +} + +function prioritizeRepo(existing: string[], path: string): string[] { + const target = normalizeRepoPath(path); + if (!target) { + return existing; + } + return [target, ...existing.filter((item) => normalizeRepoPath(item) !== target)]; +} + +function upsertOpened(opened: string[], moduleId: string | null): string[] { + if (!moduleId) { + return opened; + } + return opened.includes(moduleId) ? opened : [...opened, moduleId]; +} + +function clampPaneWidth(width: number): number { + return Math.max(220, Math.min(420, width)); +} + +function buildBatchDetail(action: ModuleAction, jobs: Array<{ label: string }>, results: Array<{ exitCode: number; output: string }>): OutputDetail { + const success = results.filter((item) => item.exitCode === 0).length; + const failure = results.length - success; + const lines = results.map((result, index) => { + const status = result.exitCode === 0 ? "ok" : "error"; + const body = (result.output || "(no output)").trim(); + return `[${status}] ${jobs[index]?.label ?? `#${index + 1}`}\n${body}`; + }); + + return { + primary: `批量${action.title}`, + secondary: `${success}/${jobs.length} 成功`, + badge: failure === 0 ? "success" : success === 0 ? "error" : "partial", + body: lines.join("\n\n"), + fields: [ + { label: "任务数", value: String(jobs.length) }, + { label: "成功", value: String(success) }, + { label: "失败", value: String(failure) }, + ], + }; +} + +function fallbackSelection(modules: DesktopModule[], selectedMenu: SidebarMenuType, opened: string[]): string | null { + const filtered = filterModulesByMenu(modules, selectedMenu); + const lastOpened = opened[opened.length - 1]; + return lastOpened ?? filtered[0]?.id ?? modules[0]?.id ?? null; +} + +function createInitialState(): AppState { + const prefs = loadPrefs(); + const selectedRepoPath = normalizeRepoPath(prefs.selectedRepoPath ?? ""); + const repoNamespaces = prioritizeRepo( + mergeRepoNamespaces(prefs.repoNamespaces ?? [], selectedRepoPath), + selectedRepoPath + ); + + return { + repoPath: selectedRepoPath, + repoNamespaces, + repoStatus: "加载中...", + githubAuthStatus: null, + projectSettings: prefs.projectSettings ?? {}, + modules: [], + selectedModuleId: null, + openedModuleIds: [], + selectedMenu: prefs.selectedMenu ?? "source", + modulePaneWidth: clampPaneWidth(prefs.modulePaneWidth ?? 280), + modulePaneCollapsed: prefs.modulePaneCollapsed ?? false, + busy: false, + output: initialOutput, + catalog: createEmptyCatalog(), + }; +} + +export function AppProvider({ children }: AppProviderProps) { + const [state, setState] = useState(createInitialState); + + const refreshGitHubAuthStatus = useCallback(async () => { + try { + const status = await backend.getGitHubAuthStatus(); + setState((prev) => ({ + ...prev, + githubAuthStatus: status, + })); + } catch (error) { + setState((prev) => ({ + ...prev, + githubAuthStatus: { + configured: false, + source: "none", + message: `GitHub 状态读取失败: ${String(error)}`, + }, + })); + } + }, []); + + const applyResultToState = useCallback( + ( + module: DesktopModule, + action: ModuleAction, + result: { command: string; exitCode: number; output: string }, + repoPath: string, + overrides?: Partial + ) => { + const structured = result.exitCode === 0 ? toStructuredOutput(action.id, result.output || "", repoPath) : {}; + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / ${action.title}`, + command: result.command, + exitCode: result.exitCode, + body: result.output || "(no output)", + moduleId: module.id, + actionId: action.id, + items: structured.items, + detail: structured.detail, + emptyHint: structured.emptyHint, + ...overrides, + }, + catalog: result.exitCode === 0 ? updateCatalog(prev.catalog, action.id, structured.items) : prev.catalog, + })); + }, + [] + ); + + const requestAction = useCallback(async (moduleId: string, actionId: string, values: Record) => { + return backend.runAction({ + moduleID: moduleId, + actionID: actionId, + values, + }); + }, []); + + const setBusy = useCallback((busy: boolean) => { + setState((prev) => ({ ...prev, busy })); + }, []); + + const refreshRelatedCatalogs = useCallback( + async (moduleId: string, actionId: string) => { + if (!state.repoPath) { + return; + } + + const refreshes = relatedCatalogRefreshes(moduleId, actionId); + await Promise.all( + refreshes.map(async (refreshTarget) => { + const followup = findModuleAction(state.modules, refreshTarget.moduleId, refreshTarget.actionId); + if (!followup) { + return; + } + const followupResult = await requestAction(followup.module.id, followup.action.id, {}); + if (followupResult.exitCode !== 0) { + return; + } + const structured = toStructuredOutput(followup.action.id, followupResult.output || "", state.repoPath); + setState((prev) => ({ + ...prev, + catalog: updateCatalog(prev.catalog, followup.action.id, structured.items), + })); + }) + ); + }, + [requestAction, state.modules, state.repoPath] + ); + + const refresh = useCallback( + async (preferredRepoPath?: string) => { + const preferred = normalizeRepoPath(preferredRepoPath ?? ""); + setBusy(true); + try { + if (preferred) { + await backend.setRepoRoot(preferred); + } + + const [repoPathRaw, modules] = await Promise.all([backend.getRepoRoot(), backend.getModules()]); + const repoPath = normalizeRepoPath(repoPathRaw); + + setState((prev) => { + const storedTabs = loadWorkspaceTabs(repoPath); + const filtered = filterModulesByMenu(modules, prev.selectedMenu); + const selectedCandidate = storedTabs?.selectedModuleId ?? prev.selectedModuleId; + const nextSelected = + selectedCandidate && filtered.some((module) => module.id === selectedCandidate) + ? selectedCandidate + : filtered[0]?.id ?? modules[0]?.id ?? null; + const availableIDs = new Set(modules.map((module) => module.id)); + const openedCandidate = storedTabs?.openedModuleIds ?? prev.openedModuleIds; + const nextOpened = openedCandidate.filter((id) => availableIDs.has(id)); + const repoChanged = prev.repoPath !== repoPath; + + return { + ...prev, + repoPath, + repoNamespaces: prioritizeRepo(mergeRepoNamespaces(prev.repoNamespaces, preferred, repoPath), repoPath), + repoStatus: repoPath ? `当前项目: ${repoPath}` : "请先选择项目命名空间", + modules, + selectedModuleId: nextSelected, + openedModuleIds: upsertOpened(nextOpened, nextSelected), + catalog: repoChanged ? createEmptyCatalog() : prev.catalog, + }; + }); + void refreshGitHubAuthStatus(); + } catch (error) { + const message = String(error); + setState((prev) => ({ + ...prev, + output: { + title: preferred ? "Set Project" : "Load Error", + command: preferred ? "SetProjectRoot" : "bootstrap", + exitCode: 1, + body: message, + }, + repoStatus: preferred ? `项目切换失败: ${message}` : `加载失败: ${message}`, + })); + } finally { + setBusy(false); + } + }, + [refreshGitHubAuthStatus, setBusy] + ); + + const setSelectedModule = useCallback((moduleId: string) => { + setState((prev) => ({ + ...prev, + selectedModuleId: moduleId, + openedModuleIds: upsertOpened(prev.openedModuleIds, moduleId), + })); + }, []); + + const setSelectedMenu = useCallback((menu: SidebarMenuType) => { + setState((prev) => { + if (prev.selectedMenu === menu) { + return { + ...prev, + modulePaneCollapsed: !prev.modulePaneCollapsed, + }; + } + + const filtered = filterModulesByMenu(prev.modules, menu); + const nextSelected = + prev.selectedModuleId && filtered.some((module) => module.id === prev.selectedModuleId) + ? prev.selectedModuleId + : filtered[0]?.id ?? prev.modules[0]?.id ?? null; + return { + ...prev, + selectedMenu: menu, + selectedModuleId: nextSelected, + openedModuleIds: upsertOpened(prev.openedModuleIds, nextSelected), + modulePaneCollapsed: false, + }; + }); + }, []); + + const closeModuleTab = useCallback((moduleId: string) => { + setState((prev) => { + const nextOpened = prev.openedModuleIds.filter((id) => id !== moduleId); + if (prev.selectedModuleId !== moduleId) { + return { + ...prev, + openedModuleIds: nextOpened, + }; + } + + const fallback = fallbackSelection(prev.modules, prev.selectedMenu, nextOpened); + return { + ...prev, + openedModuleIds: nextOpened, + selectedModuleId: fallback, + }; + }); + }, []); + + const closeOtherModuleTabs = useCallback((moduleId: string) => { + setState((prev) => { + if (!prev.openedModuleIds.includes(moduleId)) { + return prev; + } + return { + ...prev, + openedModuleIds: [moduleId], + selectedModuleId: moduleId, + }; + }); + }, []); + + const closeTabsToRight = useCallback((moduleId: string) => { + setState((prev) => { + const index = prev.openedModuleIds.indexOf(moduleId); + if (index < 0) { + return prev; + } + + const nextOpened = prev.openedModuleIds.slice(0, index + 1); + const selectedExists = prev.selectedModuleId ? nextOpened.includes(prev.selectedModuleId) : false; + const nextSelected = selectedExists + ? prev.selectedModuleId + : fallbackSelection(prev.modules, prev.selectedMenu, nextOpened); + return { + ...prev, + openedModuleIds: nextOpened, + selectedModuleId: nextSelected, + }; + }); + }, []); + + const reorderModuleTabs = useCallback((sourceId: string, targetId: string) => { + if (sourceId === targetId) { + return; + } + + setState((prev) => { + const sourceIndex = prev.openedModuleIds.indexOf(sourceId); + const targetIndex = prev.openedModuleIds.indexOf(targetId); + if (sourceIndex < 0 || targetIndex < 0) { + return prev; + } + + const nextOpened = [...prev.openedModuleIds]; + nextOpened.splice(sourceIndex, 1); + const nextTargetIndex = nextOpened.indexOf(targetId); + nextOpened.splice(nextTargetIndex, 0, sourceId); + return { + ...prev, + openedModuleIds: nextOpened, + }; + }); + }, []); + + const addModuleTab = useCallback(() => { + setState((prev) => { + const scope = filterModulesByMenu(prev.modules, prev.selectedMenu); + const candidate = scope.find((module) => !prev.openedModuleIds.includes(module.id)) ?? prev.modules[0]; + if (!candidate) { + return prev; + } + return { + ...prev, + selectedModuleId: candidate.id, + openedModuleIds: upsertOpened(prev.openedModuleIds, candidate.id), + modulePaneCollapsed: false, + }; + }); + }, []); + + const setModulePaneWidth = useCallback((width: number) => { + setState((prev) => ({ + ...prev, + modulePaneWidth: clampPaneWidth(width), + })); + }, []); + + const setModulePaneCollapsed = useCallback((collapsed: boolean) => { + setState((prev) => ({ + ...prev, + modulePaneCollapsed: collapsed, + })); + }, []); + + const switchRepo = useCallback( + async (path: string) => { + const next = normalizeRepoPath(path); + if (!next || next === state.repoPath) { + return; + } + + setState((prev) => ({ + ...prev, + repoNamespaces: prioritizeRepo(mergeRepoNamespaces(prev.repoNamespaces, next), next), + })); + await refresh(next); + }, + [refresh, state.repoPath] + ); + + const addRepo = useCallback(async (path: string) => { + const next = normalizeRepoPath(path); + if (!next) { + return; + } + + setState((prev) => ({ + ...prev, + repoNamespaces: mergeRepoNamespaces(prev.repoNamespaces, next), + repoStatus: + next === prev.repoPath + ? `当前项目: ${prev.repoPath}` + : `已添加项目命名空间: ${next}`, + })); + }, []); + + const removeRepo = useCallback( + async (path: string) => { + const target = normalizeRepoPath(path); + if (!target) { + return; + } + + const nextNamespaces = state.repoNamespaces.filter((repoPath) => repoPath !== target); + if (nextNamespaces.length === state.repoNamespaces.length) { + return; + } + + if (state.repoPath === target) { + if (nextNamespaces.length === 0) { + return; + } + + setState((prev) => ({ + ...prev, + repoNamespaces: nextNamespaces, + })); + await refresh(nextNamespaces[0]); + return; + } + + setState((prev) => ({ + ...prev, + repoNamespaces: nextNamespaces, + })); + }, + [refresh, state.repoNamespaces, state.repoPath] + ); + + const setGitHubToken = useCallback(async (token: string) => { + await backend.setGitHubToken(token); + await refreshGitHubAuthStatus(); + setState((prev) => ({ + ...prev, + repoStatus: token.trim() ? "GitHub Token 已更新(当前会话)" : prev.repoStatus, + })); + }, [refreshGitHubAuthStatus]); + + const updateProjectSettings = useCallback((patch: Partial) => { + setState((prev) => { + const repoPath = prev.repoPath.trim(); + if (!repoPath) { + return prev; + } + const current = prev.projectSettings[repoPath] ?? { defaultBaseBranch: "", defaultRemote: "" }; + return { + ...prev, + projectSettings: { + ...prev.projectSettings, + [repoPath]: { + ...current, + ...patch, + }, + }, + repoStatus: + "defaultRemote" in patch + ? `项目默认 remote 已更新: ${patch.defaultRemote || "(未设置)"}` + : "defaultBaseBranch" in patch + ? `项目默认 base branch 已更新: ${patch.defaultBaseBranch || "(未设置)"}` + : prev.repoStatus, + }; + }); + }, []); + + const runAction = useCallback( + async (module: DesktopModule, action: ModuleAction, values: Record) => { + if (!state.repoPath) { + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / ${action.title}`, + command: "RunAction", + exitCode: 1, + body: "请先选择项目命名空间。", + }, + })); + return; + } + + setBusy(true); + try { + const result = await requestAction(module.id, action.id, values); + applyResultToState(module, action, result, state.repoPath); + + if (result.exitCode === 0) { + await refreshRelatedCatalogs(module.id, action.id); + } + } catch (error) { + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / ${action.title}`, + command: "RunAction", + exitCode: 1, + body: String(error), + }, + })); + } finally { + setBusy(false); + } + }, + [applyResultToState, refreshRelatedCatalogs, requestAction, setBusy, state.repoPath] + ); + + const runActionAndReload = useCallback( + async (module: DesktopModule, action: ModuleAction, values: Record, reloadActionId: string) => { + if (!state.repoPath) { + return; + } + + const reloadTarget = findModuleAction(state.modules, module.id, reloadActionId) ?? findModuleAction(state.modules, state.output.moduleId ?? module.id, reloadActionId); + if (!reloadTarget) { + await runAction(module, action, values); + return; + } + + setBusy(true); + try { + const result = await requestAction(module.id, action.id, values); + const actionStructured = result.exitCode === 0 ? toStructuredOutput(action.id, result.output || "", state.repoPath) : {}; + if (result.exitCode !== 0) { + applyResultToState(module, action, result, state.repoPath); + return; + } + + const reloadResult = await requestAction(reloadTarget.module.id, reloadTarget.action.id, {}); + if (reloadResult.exitCode === 0) { + const reloadStructured = toStructuredOutput(reloadTarget.action.id, reloadResult.output || "", state.repoPath); + applyResultToState(reloadTarget.module, reloadTarget.action, reloadResult, state.repoPath, { + detail: actionStructured.detail ?? reloadStructured.detail, + }); + } else { + applyResultToState(module, action, result, state.repoPath); + } + } catch (error) { + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / ${action.title}`, + command: "RunAction", + exitCode: 1, + body: String(error), + }, + })); + } finally { + setBusy(false); + } + }, + [applyResultToState, requestAction, runAction, setBusy, state.modules, state.output.moduleId, state.repoPath] + ); + + const runBatchActions = useCallback( + async ( + module: DesktopModule, + action: ModuleAction, + jobs: Array<{ label: string; values: Record }>, + reloadActionId?: string + ) => { + if (!state.repoPath || jobs.length === 0) { + return; + } + + const reloadTarget = reloadActionId + ? findModuleAction(state.modules, module.id, reloadActionId) ?? + findModuleAction(state.modules, state.output.moduleId ?? module.id, reloadActionId) + : null; + + setBusy(true); + try { + const results: Array<{ exitCode: number; output: string }> = []; + for (const job of jobs) { + const result = await requestAction(module.id, action.id, job.values); + results.push({ + exitCode: result.exitCode, + output: result.output || "(no output)", + }); + } + + const detail = buildBatchDetail(action, jobs, results); + const summaryBody = detail.body ?? ""; + const exitCode = results.every((item) => item.exitCode === 0) ? 0 : 1; + + if (reloadTarget) { + const reloadResult = await requestAction(reloadTarget.module.id, reloadTarget.action.id, {}); + if (reloadResult.exitCode === 0) { + const reloadStructured = toStructuredOutput(reloadTarget.action.id, reloadResult.output || "", state.repoPath); + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / 批量${action.title}`, + command: `sdk/${module.id}/${action.id} x${jobs.length}`, + exitCode, + body: summaryBody, + moduleId: reloadTarget.module.id, + actionId: reloadTarget.action.id, + items: reloadStructured.items, + detail, + emptyHint: reloadStructured.emptyHint, + }, + catalog: updateCatalog(prev.catalog, reloadTarget.action.id, reloadStructured.items), + })); + } else { + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / 批量${action.title}`, + command: `sdk/${module.id}/${action.id} x${jobs.length}`, + exitCode, + body: summaryBody, + moduleId: module.id, + actionId: action.id, + detail, + }, + })); + } + } else { + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / 批量${action.title}`, + command: `sdk/${module.id}/${action.id} x${jobs.length}`, + exitCode, + body: summaryBody, + moduleId: module.id, + actionId: action.id, + detail, + }, + })); + } + + if (results.some((item) => item.exitCode === 0)) { + await refreshRelatedCatalogs(module.id, action.id); + } + } catch (error) { + setState((prev) => ({ + ...prev, + output: { + title: `${module.title} / 批量${action.title}`, + command: "RunBatchActions", + exitCode: 1, + body: String(error), + }, + })); + } finally { + setBusy(false); + } + }, + [refreshRelatedCatalogs, requestAction, setBusy, state.modules, state.output.moduleId, state.repoPath] + ); + + const previewAction = useCallback( + async (moduleId: string, actionId: string, values: Record = {}) => { + if (!state.repoPath) { + return; + } + + const target = findModuleAction(state.modules, moduleId, actionId); + if (!target) { + return; + } + + try { + const result = await requestAction(moduleId, actionId, values); + if (result.exitCode !== 0) { + return; + } + + const structured = toStructuredOutput(actionId, result.output || "", state.repoPath); + if (!structured.detail) { + return; + } + + setState((prev) => ({ + ...prev, + output: { + ...prev.output, + command: prev.output.command, + detail: structured.detail, + }, + })); + } catch { + return; + } + }, + [requestAction, state.modules, state.repoPath] + ); + + const prefetchAction = useCallback( + async (moduleId: string, actionId: string, values: Record = {}) => { + if (!state.repoPath) { + return; + } + + if (!findModuleAction(state.modules, moduleId, actionId)) { + return; + } + + try { + const result = await backend.runAction({ + moduleID: moduleId, + actionID: actionId, + values, + }); + if (result.exitCode !== 0) { + return; + } + + const structured = toStructuredOutput(actionId, result.output || "", state.repoPath); + if (!structured.items) { + return; + } + + setState((prev) => ({ + ...prev, + catalog: updateCatalog(prev.catalog, actionId, structured.items), + })); + } catch { + return; + } + }, + [state.modules, state.repoPath] + ); + + const selectedModule = useMemo(() => { + if (!state.selectedModuleId) { + return null; + } + return state.modules.find((module) => module.id === state.selectedModuleId) ?? null; + }, [state.modules, state.selectedModuleId]); + + const filteredModules = useMemo( + () => filterModulesByMenu(state.modules, state.selectedMenu), + [state.modules, state.selectedMenu] + ); + + useEffect(() => { + savePrefs({ + selectedMenu: state.selectedMenu, + modulePaneWidth: state.modulePaneWidth, + modulePaneCollapsed: state.modulePaneCollapsed, + repoNamespaces: state.repoNamespaces, + selectedRepoPath: state.repoPath, + projectSettings: state.projectSettings, + }); + }, [state.modulePaneCollapsed, state.modulePaneWidth, state.projectSettings, state.repoNamespaces, state.repoPath, state.selectedMenu]); + + useEffect(() => { + if (!state.repoPath) { + return; + } + + const availableIDs = new Set(state.modules.map((module) => module.id)); + const openedModuleIds = state.openedModuleIds.filter((id) => availableIDs.has(id)); + const selectedModuleId = + state.selectedModuleId && availableIDs.has(state.selectedModuleId) ? state.selectedModuleId : null; + + saveWorkspaceTabs(state.repoPath, { + openedModuleIds, + selectedModuleId, + }); + }, [state.modules, state.openedModuleIds, state.repoPath, state.selectedModuleId]); + + const value = useMemo( + () => ({ + state, + selectedModule, + filteredModules, + setSelectedModule, + closeModuleTab, + closeOtherModuleTabs, + closeTabsToRight, + reorderModuleTabs, + addModuleTab, + setSelectedMenu, + setModulePaneWidth, + setModulePaneCollapsed, + refresh, + refreshGitHubAuthStatus, + addRepo, + switchRepo, + removeRepo, + setGitHubToken, + updateProjectSettings, + runAction, + runBatchActions, + runActionAndReload, + previewAction, + prefetchAction, + }), + [ + state, + selectedModule, + filteredModules, + setSelectedModule, + closeModuleTab, + closeOtherModuleTabs, + closeTabsToRight, + reorderModuleTabs, + addModuleTab, + setSelectedMenu, + setModulePaneWidth, + setModulePaneCollapsed, + refresh, + refreshGitHubAuthStatus, + addRepo, + switchRepo, + removeRepo, + setGitHubToken, + updateProjectSettings, + runAction, + runBatchActions, + runActionAndReload, + previewAction, + prefetchAction, + ] + ); + + return {children}; +} diff --git a/desktop/frontend/src/app/types.ts b/desktop/frontend/src/app/types.ts new file mode 100644 index 0000000..51fd552 --- /dev/null +++ b/desktop/frontend/src/app/types.ts @@ -0,0 +1,84 @@ +import type { + ActionRunRequest, + CommandResult, + DesktopModule, + GitHubAuthStatus, + ModuleAction, +} from "../../bindings/fastgitdesktop/models"; + +export type { ActionRunRequest, CommandResult, DesktopModule, GitHubAuthStatus, ModuleAction }; + +export type SidebarMenuType = "source" | "collaboration" | "release" | "all"; + +export interface OutputListItem { + id: string; + primary: string; + secondary?: string; + badge?: string; + active?: boolean; + url?: string; + value?: string; + category?: string; + keywords?: string[]; + fields?: Record; +} + +export interface OutputDetailField { + label: string; + value: string; + href?: string; +} + +export interface OutputDetail { + targetId?: string; + primary: string; + secondary?: string; + badge?: string; + url?: string; + body?: string; + fields?: OutputDetailField[]; +} + +export interface OperationOutput { + title: string; + command: string; + exitCode: number; + body: string; + moduleId?: string; + actionId?: string; + items?: OutputListItem[]; + detail?: OutputDetail; + emptyHint?: string; +} + +export interface ResourceCatalog { + remotes: OutputListItem[]; + branches: OutputListItem[]; + issues: OutputListItem[]; + tags: OutputListItem[]; + worktrees: OutputListItem[]; + prs: OutputListItem[]; + repoStatus: OutputListItem[]; +} + +export interface ProjectSettings { + defaultBaseBranch: string; + defaultRemote: string; +} + +export interface AppState { + repoPath: string; + repoNamespaces: string[]; + repoStatus: string; + githubAuthStatus: GitHubAuthStatus | null; + projectSettings: Record; + modules: DesktopModule[]; + selectedModuleId: string | null; + openedModuleIds: string[]; + selectedMenu: SidebarMenuType; + modulePaneWidth: number; + modulePaneCollapsed: boolean; + busy: boolean; + output: OperationOutput; + catalog: ResourceCatalog; +} diff --git a/desktop/frontend/src/assets/brand/fastgit-logo-icon.svg b/desktop/frontend/src/assets/brand/fastgit-logo-icon.svg new file mode 100644 index 0000000..205e3fb --- /dev/null +++ b/desktop/frontend/src/assets/brand/fastgit-logo-icon.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/desktop/frontend/src/components/ui/button.tsx b/desktop/frontend/src/components/ui/button.tsx new file mode 100644 index 0000000..3ad44b4 --- /dev/null +++ b/desktop/frontend/src/components/ui/button.tsx @@ -0,0 +1,37 @@ +import type { ButtonHTMLAttributes, PropsWithChildren } from "react"; +import { Button as AntButton } from "antd"; +import type { ButtonProps as AntButtonProps } from "antd"; + +import { cn } from "../../lib/classnames"; + +type Variant = "default" | "primary" | "ghost"; + +interface ButtonProps extends Omit, "type"> { + variant?: Variant; + type?: "button" | "submit" | "reset"; +} + +function mapVariant(variant: Variant): Pick { + if (variant === "primary") { + return { type: "primary", ghost: false }; + } + if (variant === "ghost") { + return { type: "default", ghost: true }; + } + return { type: "default", ghost: false }; +} + +export function Button({ variant = "default", className, type = "button", children, ...props }: PropsWithChildren) { + const mapped = mapVariant(variant); + return ( + + {children} + + ); +} diff --git a/desktop/frontend/src/components/ui/input.tsx b/desktop/frontend/src/components/ui/input.tsx new file mode 100644 index 0000000..09792bb --- /dev/null +++ b/desktop/frontend/src/components/ui/input.tsx @@ -0,0 +1,8 @@ +import type { InputHTMLAttributes } from "react"; +import { Input as AntInput } from "antd"; + +import { cn } from "../../lib/classnames"; + +export function Input({ className, ...props }: InputHTMLAttributes) { + return ; +} diff --git a/desktop/frontend/src/features/actions/action-dialog.tsx b/desktop/frontend/src/features/actions/action-dialog.tsx new file mode 100644 index 0000000..f4ff386 --- /dev/null +++ b/desktop/frontend/src/features/actions/action-dialog.tsx @@ -0,0 +1,129 @@ +import { Alert, Input as AntInput, Modal, Select, Typography } from "antd"; + +import type { ModuleAction, ResourceCatalog } from "../../app/types"; +import { Input } from "../../components/ui/input"; +import { resolveActionFieldOptions } from "./action-fields"; +import { actionSubmitLabel } from "./action-meta"; + +interface ActionDialogProps { + action: ModuleAction; + moduleId: string; + catalog: ResourceCatalog; + values: Record; + busy?: boolean; + onChange(next: Record): void; + onClose(): void; + onSubmit(values: Record): void; +} + +function hasMissingRequiredField(action: ModuleAction, values: Record): boolean { + return (action.fields ?? []).some((field) => { + if (!field.required) { + return false; + } + return !String(values[field.key] ?? "").trim(); + }); +} + +export function ActionDialog({ + action, + moduleId, + catalog, + values, + busy = false, + onChange, + onClose, + onSubmit, +}: ActionDialogProps) { + const isForceSyncAction = action.id.endsWith("_force_sync"); + const isDeleteAction = action.id.endsWith("_delete") || action.id.endsWith("_remove") || action.id.endsWith("_close") || action.id.endsWith("_discard"); + const forceSyncHint = + action.id === "tag_force_sync" + ? "会执行 git fetch --force refs/tags/:refs/tags/,本地同名 tag 会被远端覆盖。" + : "会执行 git fetch --prune 、git reset --hard、git clean -fd,本地未提交改动会被直接丢弃。"; + const deleteHint = + action.id === "remote_remove" + ? "会移除当前 remote 配置;依赖它的 tracking/default 配置需要你后续自行调整。" + : action.id === "repo_discard_path" + ? "会丢弃该文件本地改动;如果是未跟踪文件会直接删除。" + : "该操作不可恢复,请确认当前选中资源正确。"; + const missingRequired = hasMissingRequiredField(action, values); + + return ( + onSubmit(values)} + okText={actionSubmitLabel(action)} + cancelText="取消" + confirmLoading={busy} + okButtonProps={{ disabled: busy || missingRequired, danger: isDeleteAction || isForceSyncAction }} + destroyOnClose + centered + width={560} + > +
+ {action.description} + {isForceSyncAction ? : null} + {isDeleteAction ? : null} +
+ {(action.fields ?? []).map((field) => { + const options = resolveActionFieldOptions(moduleId, action.id, field.key, catalog); + const value = values[field.key] ?? ""; + return ( + + ); + })} +
+
+
+ ); +} diff --git a/desktop/frontend/src/features/actions/action-fields.ts b/desktop/frontend/src/features/actions/action-fields.ts new file mode 100644 index 0000000..f885abf --- /dev/null +++ b/desktop/frontend/src/features/actions/action-fields.ts @@ -0,0 +1,92 @@ +import type { ModuleAction, OutputListItem, ResourceCatalog } from "../../app/types"; + +export interface FieldOption { + label: string; + value: string; +} + +function toOptions(items: OutputListItem[]): FieldOption[] { + return items + .map((item) => ({ + label: item.secondary ? `${item.primary} · ${item.secondary}` : item.primary, + value: item.value ?? item.primary, + })) + .filter((item, index, list) => item.value && list.findIndex((candidate) => candidate.value === item.value) === index); +} + +export function buildActionValues( + action: ModuleAction | null, + seedValues: Record = {}, + preferredDefaults: Record = {} +): Record { + const out: Record = { ...seedValues }; + for (const field of action?.fields ?? []) { + if (!out[field.key]) { + out[field.key] = preferredDefaults[field.key] || field.default || ""; + } + } + return out; +} + +export function resolveActionFieldOptions(moduleID: string, actionID: string, fieldKey: string, catalog: ResourceCatalog): FieldOption[] { + if (fieldKey === "method") { + return [ + { label: "squash", value: "squash" }, + { label: "merge", value: "merge" }, + { label: "rebase", value: "rebase" }, + ]; + } + + if (fieldKey === "remote") { + return toOptions(catalog.remotes); + } + + if (moduleID === "repo" && fieldKey === "path" && (actionID === "repo_stage_path" || actionID === "repo_unstage_path" || actionID === "repo_discard_path")) { + return toOptions(catalog.repoStatus); + } + + if (moduleID === "branch" && fieldKey === "name" && (actionID === "branch_checkout" || actionID === "branch_delete" || actionID === "branch_force_sync")) { + return toOptions( + actionID === "branch_delete" + ? catalog.branches.filter((item) => !item.active) + : catalog.branches + ); + } + + if (moduleID === "worktree" && fieldKey === "base") { + return toOptions(catalog.branches); + } + + if (moduleID === "worktree" && fieldKey === "target") { + if (actionID === "worktree_remove") { + return toOptions(catalog.worktrees); + } + + return [ + ...toOptions(catalog.issues), + ...toOptions(catalog.branches.filter((item) => !item.active)), + ]; + } + + if (moduleID === "issue" && (actionID === "issue_view" || actionID === "issue_close") && fieldKey === "id") { + return toOptions(catalog.issues); + } + + if (moduleID === "remote" && fieldKey === "name" && (actionID === "remote_rename" || actionID === "remote_update" || actionID === "remote_set_url" || actionID === "remote_set_push_url" || actionID === "remote_remove" || actionID === "remote_fetch")) { + return toOptions(catalog.remotes); + } + + if (moduleID === "tag" && (actionID === "tag_push" || actionID === "tag_force_sync") && fieldKey === "name") { + return toOptions(catalog.tags); + } + + if (moduleID === "pr" && actionID === "pr_create" && fieldKey === "base") { + return toOptions(catalog.branches); + } + + if (moduleID === "pr" && (actionID === "pr_view" || actionID === "pr_close") && fieldKey === "id") { + return toOptions(catalog.prs); + } + + return []; +} diff --git a/desktop/frontend/src/features/actions/action-meta.ts b/desktop/frontend/src/features/actions/action-meta.ts new file mode 100644 index 0000000..8157e87 --- /dev/null +++ b/desktop/frontend/src/features/actions/action-meta.ts @@ -0,0 +1,100 @@ +import type { ModuleAction } from "../../app/types"; + +export function classifyAction(actionID: string): string { + if (actionID.endsWith("_force_sync")) { + return "危险操作"; + } + if (actionID.endsWith("_list") || actionID.endsWith("_status")) { + return "列表"; + } + if (actionID.endsWith("_view")) { + return "详情"; + } + if (actionID.endsWith("_create") || actionID.endsWith("_publish")) { + return "新增"; + } + if (actionID.endsWith("_add")) { + return "新增"; + } + if (actionID.endsWith("_rename")) { + return "编辑"; + } + if (actionID.endsWith("_update")) { + return "编辑"; + } + if (actionID.endsWith("_delete") || actionID.endsWith("_remove") || actionID.endsWith("_discard")) { + return "删除"; + } + if (actionID.endsWith("_close")) { + return "关闭"; + } + if (actionID.endsWith("_set_url")) { + return "编辑"; + } + if (actionID.endsWith("_set_push_url")) { + return "编辑"; + } + if (actionID.endsWith("_checkout") || actionID.endsWith("_switch")) { + return "切换"; + } + if (actionID.endsWith("_pull") || actionID.endsWith("_push") || actionID.endsWith("_sync") || actionID.endsWith("_merge") || actionID.endsWith("_fetch") || actionID.endsWith("_fetch_all")) { + return "执行"; + } + return "操作"; +} + +export function isLandingAction(action: ModuleAction): boolean { + return (action.id.endsWith("_list") || action.id.endsWith("_status")) && (action.fields?.length ?? 0) === 0; +} + +export function pickDefaultAction(actions: ModuleAction[]): ModuleAction | null { + return actions.find(isLandingAction) ?? actions[0] ?? null; +} + +export function isViewAction(action: ModuleAction): boolean { + return action.id.endsWith("_view"); +} + +export function actionVerb(action: ModuleAction | null): string { + if (!action) { + return "执行"; + } + return (action.fields?.length ?? 0) > 0 ? "填写并执行" : "立即执行"; +} + +export function actionSubmitLabel(action: ModuleAction | null): string { + if (!action) { + return "执行"; + } + if (action.id.endsWith("_add") || action.id.endsWith("_create") || action.id.endsWith("_publish")) { + return "创建"; + } + if (action.id.endsWith("_rename") || action.id.endsWith("_update") || action.id.endsWith("_set_url") || action.id.endsWith("_set_push_url")) { + return "保存"; + } + if (action.id.endsWith("_delete") || action.id.endsWith("_remove")) { + return "删除"; + } + if (action.id.endsWith("_discard")) { + return "丢弃"; + } + if (action.id.endsWith("_close")) { + return "关闭"; + } + if (action.id.endsWith("_force_sync")) { + return "强制对齐"; + } + if (action.id.endsWith("_fetch") || action.id.endsWith("_fetch_all")) { + return "抓取"; + } + if (action.id.endsWith("_pull")) { + return "拉取"; + } + if (action.id.endsWith("_push")) { + return "推送"; + } + if (action.id.endsWith("_checkout") || action.id.endsWith("_switch")) { + return "切换"; + } + return "执行"; +} diff --git a/desktop/frontend/src/features/modules/module-actions.tsx b/desktop/frontend/src/features/modules/module-actions.tsx new file mode 100644 index 0000000..328275b --- /dev/null +++ b/desktop/frontend/src/features/modules/module-actions.tsx @@ -0,0 +1,353 @@ +import { useEffect, useRef, useState } from "react"; +import { Tabs } from "antd"; + +import { useAppContext } from "../../app/providers/app-context"; +import type { ModuleAction } from "../../app/types"; +import { Button } from "../../components/ui/button"; +import { ActionDialog } from "../actions/action-dialog"; +import { buildActionValues } from "../actions/action-fields"; +import { actionVerb, classifyAction, isLandingAction, pickDefaultAction } from "../actions/action-meta"; + +const actionGroupOrder = ["列表", "新增", "编辑", "切换", "执行", "关闭", "删除", "危险操作", "操作"]; +const EMPTY_ACTIONS: ModuleAction[] = []; + +function sortActionGroups(groups: Map): Array<[string, ModuleAction[]]> { + return Array.from(groups.entries()).sort((left, right) => { + const leftIndex = actionGroupOrder.indexOf(left[0]); + const rightIndex = actionGroupOrder.indexOf(right[0]); + const a = leftIndex === -1 ? actionGroupOrder.length : leftIndex; + const b = rightIndex === -1 ? actionGroupOrder.length : rightIndex; + return a - b || left[0].localeCompare(right[0]); + }); +} + +export function ModuleActions() { + const { selectedModule, runAction, runActionAndReload, prefetchAction, state } = useAppContext(); + const actions = selectedModule?.actions ?? EMPTY_ACTIONS; + const [activeActionId, setActiveActionId] = useState(null); + const [activeGroup, setActiveGroup] = useState(""); + const [panelCollapsed, setPanelCollapsed] = useState(false); + const [dialogOpen, setDialogOpen] = useState(false); + const [draftValues, setDraftValues] = useState>({}); + const lastAutoRunKeyRef = useRef(""); + + const activeAction = actions.find((action) => action.id === activeActionId) ?? pickDefaultAction(actions); + const landingAction = pickDefaultAction(actions); + const groupedActions = sortActionGroups( + actions.reduce((groups, action) => { + const key = classifyAction(action.id); + const bucket = groups.get(key) ?? []; + bucket.push(action); + groups.set(key, bucket); + return groups; + }, new Map()) + ); + const defaultBaseBranch = state.projectSettings[state.repoPath]?.defaultBaseBranch ?? ""; + const projectDefaultRemote = state.projectSettings[state.repoPath]?.defaultRemote ?? ""; + const defaultRemote = + projectDefaultRemote || state.catalog.remotes.find((item) => item.active)?.value || state.catalog.remotes[0]?.value || "origin"; + + useEffect(() => { + const nextAction = pickDefaultAction(actions); + setActiveActionId(nextAction?.id ?? null); + setPanelCollapsed(false); + setDialogOpen(false); + setDraftValues(buildActionValues(nextAction, {}, { base: defaultBaseBranch, remote: defaultRemote })); + lastAutoRunKeyRef.current = ""; + }, [selectedModule?.id, defaultBaseBranch, defaultRemote]); + + useEffect(() => { + if (typeof window === "undefined") { + return; + } + const media = window.matchMedia("(max-width: 1260px)"); + const collapseWhenNarrow = (matches: boolean) => { + if (matches) { + setPanelCollapsed(true); + } + }; + collapseWhenNarrow(media.matches); + const handler = (event: MediaQueryListEvent) => collapseWhenNarrow(event.matches); + if (typeof media.addEventListener === "function") { + media.addEventListener("change", handler); + return () => media.removeEventListener("change", handler); + } + media.addListener(handler); + return () => media.removeListener(handler); + }, []); + + useEffect(() => { + if (groupedActions.length === 0) { + setActiveGroup(""); + return; + } + if (!groupedActions.some(([groupLabel]) => groupLabel === activeGroup)) { + setActiveGroup(groupedActions[0][0]); + } + }, [activeGroup, groupedActions]); + + useEffect(() => { + if (!selectedModule || !activeAction || !isLandingAction(activeAction)) { + return; + } + + const nextKey = `${selectedModule.id}:${activeAction.id}`; + if (lastAutoRunKeyRef.current === nextKey) { + return; + } + + lastAutoRunKeyRef.current = nextKey; + void runAction(selectedModule, activeAction, {}); + }, [activeAction, runAction, selectedModule]); + + useEffect(() => { + if (!selectedModule) { + return; + } + + const jobs: Array<{ moduleId: string; actionId: string }> = []; + switch (selectedModule.id) { + case "remote": + if (state.catalog.remotes.length === 0) { + jobs.push({ moduleId: "remote", actionId: "remote_list" }); + } + break; + case "branch": + if (state.catalog.branches.length === 0) { + jobs.push({ moduleId: "branch", actionId: "branch_list" }); + } + if (state.catalog.remotes.length === 0) { + jobs.push({ moduleId: "remote", actionId: "remote_list" }); + } + break; + case "worktree": + if (state.catalog.worktrees.length === 0) { + jobs.push({ moduleId: "worktree", actionId: "worktree_list" }); + } + if (state.catalog.branches.length === 0) { + jobs.push({ moduleId: "branch", actionId: "branch_list" }); + } + if (state.catalog.issues.length === 0) { + jobs.push({ moduleId: "issue", actionId: "issue_list" }); + } + break; + case "issue": + if (state.catalog.issues.length === 0) { + jobs.push({ moduleId: "issue", actionId: "issue_list" }); + } + break; + case "tag": + if (state.catalog.tags.length === 0) { + jobs.push({ moduleId: "tag", actionId: "tag_list" }); + } + if (state.catalog.remotes.length === 0) { + jobs.push({ moduleId: "remote", actionId: "remote_list" }); + } + break; + case "repo": + if (state.catalog.repoStatus.length === 0) { + jobs.push({ moduleId: "repo", actionId: "repo_status" }); + } + if (state.catalog.remotes.length === 0) { + jobs.push({ moduleId: "remote", actionId: "remote_list" }); + } + break; + case "pr": + if (state.catalog.prs.length === 0) { + jobs.push({ moduleId: "pr", actionId: "pr_list" }); + } + if (state.catalog.branches.length === 0) { + jobs.push({ moduleId: "branch", actionId: "branch_list" }); + } + break; + default: + break; + } + + jobs.forEach((job) => { + void prefetchAction(job.moduleId, job.actionId); + }); + }, [ + prefetchAction, + selectedModule, + state.catalog.branches.length, + state.catalog.issues.length, + state.catalog.prs.length, + state.catalog.remotes.length, + state.catalog.repoStatus.length, + state.catalog.tags.length, + state.catalog.worktrees.length, + ]); + + if (!selectedModule) { + return ( +
+
未找到模块,请刷新。
+
+ ); + } + + if (actions.length === 0 || !activeAction) { + return ( +
+
+

{selectedModule.title}

+

{selectedModule.description}

+
+
该模块暂时没有可执行动作。
+
+ ); + } + + const executeAction = (action: ModuleAction, values: Record) => { + if (!selectedModule) { + return; + } + + const shouldReloadList = !isLandingAction(action) && !action.id.endsWith("_view") && Boolean(landingAction?.id); + if (shouldReloadList && landingAction) { + void runActionAndReload(selectedModule, action, values, landingAction.id); + return; + } + + void runAction(selectedModule, action, values); + }; + + const openDialog = (action: ModuleAction) => { + setActiveActionId(action.id); + setDraftValues(buildActionValues(action, {}, { base: defaultBaseBranch, remote: defaultRemote })); + setDialogOpen(true); + }; + + const closeDialog = () => { + setDialogOpen(false); + setDraftValues(buildActionValues(activeAction, {}, { base: defaultBaseBranch, remote: defaultRemote })); + }; + + const onActionClick = (action: ModuleAction) => { + setActiveActionId(action.id); + if (isLandingAction(action)) { + executeAction(action, {}); + return; + } + if ((action.fields?.length ?? 0) > 0) { + openDialog(action); + return; + } + executeAction(action, {}); + }; + + const onPrimaryExecute = () => { + if ((activeAction.fields?.length ?? 0) > 0) { + openDialog(activeAction); + return; + } + executeAction(activeAction, {}); + }; + + const onDialogSubmit = (values: Record) => { + executeAction(activeAction, values); + closeDialog(); + }; + + return ( +
+
+
+

{selectedModule.title}

+

{selectedModule.description}

+
+
+ {actions.length} 个功能 + {classifyAction(activeAction.id)} + +
+
+ + {panelCollapsed ? ( +
+
+ {activeAction.title} + {activeAction.description} +
+
+ {landingAction ? ( + + ) : null} + +
+
+ ) : ( +
+
+

{activeAction.title}

+

{activeAction.description}

+
+
+ + {(activeAction.fields?.length ?? 0) > 0 ? `${activeAction.fields?.length} 个参数` : "无额外参数"} + + {landingAction ? ( + + ) : null} + +
+
+ )} + + {!panelCollapsed ? ( + ({ + key: groupLabel, + label: `${groupLabel} (${groupActions.length})`, + children: ( +
+ {groupActions.map((action) => { + const active = activeAction.id === action.id; + return ( + + ); + })} +
+ ), + }))} + /> + ) : null} + + {dialogOpen ? ( + + ) : null} +
+ ); +} diff --git a/desktop/frontend/src/features/modules/module-sidebar.tsx b/desktop/frontend/src/features/modules/module-sidebar.tsx new file mode 100644 index 0000000..38f6e42 --- /dev/null +++ b/desktop/frontend/src/features/modules/module-sidebar.tsx @@ -0,0 +1,73 @@ +import { PanelRightClose } from "lucide-react"; + +import type { ModuleAction } from "../../app/types"; +import { Button } from "../../components/ui/button"; +import { cn } from "../../lib/classnames"; +import { useAppContext } from "../../app/providers/app-context"; + +const menuTitles: Record = { + source: "源码与仓库", + collaboration: "协作与评审", + release: "发布与版本", + all: "全部模块", +}; + +function findLandingAction(actions: ModuleAction[]): ModuleAction | null { + return actions.find((action) => (action.id.endsWith("_list") || action.id.endsWith("_status")) && (action.fields?.length ?? 0) === 0) ?? null; +} + +export function ModuleSidebar() { + const { state, filteredModules, setSelectedModule, setModulePaneCollapsed, refresh, runAction } = useAppContext(); + const menuTitle = menuTitles[state.selectedMenu] ?? "模块"; + + const onModuleSelect = (moduleId: string) => { + const module = filteredModules.find((item) => item.id === moduleId); + if (!module) { + return; + } + setSelectedModule(module.id); + const landingAction = findLandingAction(module.actions); + if (landingAction) { + void runAction(module, landingAction, {}); + } + }; + + return ( + + ); +} diff --git a/desktop/frontend/src/features/modules/sidebar-menu.tsx b/desktop/frontend/src/features/modules/sidebar-menu.tsx new file mode 100644 index 0000000..7b62cb3 --- /dev/null +++ b/desktop/frontend/src/features/modules/sidebar-menu.tsx @@ -0,0 +1,56 @@ +import type { LucideIcon } from "lucide-react"; +import { GitFork, LayoutGrid, RefreshCcw, Tags, UsersRound } from "lucide-react"; + +import type { SidebarMenuType } from "../../app/types"; +import { Button } from "../../components/ui/button"; +import { cn } from "../../lib/classnames"; +import { useAppContext } from "../../app/providers/app-context"; + +interface MenuItem { + id: SidebarMenuType; + label: string; + icon: LucideIcon; +} + +const items: MenuItem[] = [ + { id: "source", label: "源码", icon: GitFork }, + { id: "collaboration", label: "协作", icon: UsersRound }, + { id: "release", label: "发布", icon: Tags }, + { id: "all", label: "全部", icon: LayoutGrid }, +]; + +export function SidebarMenu() { + const { state, setSelectedMenu, refresh } = useAppContext(); + + return ( + + ); +} diff --git a/desktop/frontend/src/features/output/output-panel.tsx b/desktop/frontend/src/features/output/output-panel.tsx new file mode 100644 index 0000000..d3896a2 --- /dev/null +++ b/desktop/frontend/src/features/output/output-panel.tsx @@ -0,0 +1,1887 @@ +import { Suspense, lazy, useEffect, useMemo, useRef, useState } from "react"; +import { Alert, Checkbox, Input as AntInput, Modal, Segmented, Select, Table } from "antd"; +import type { TableColumnsType } from "antd"; + +import { useAppContext } from "../../app/providers/app-context"; +import type { ModuleAction, OutputListItem } from "../../app/types"; +import { Button } from "../../components/ui/button"; +import { buildActionValues } from "../actions/action-fields"; +import { isViewAction } from "../actions/action-meta"; + +const ActionDialog = lazy(async () => { + const module = await import("../actions/action-dialog"); + return { default: module.ActionDialog }; +}); + +type SortMode = "default" | "name-asc" | "name-desc" | "active-first" | "number-desc" | "number-asc" | "status"; +type ViewMode = "list" | "detail" | "raw"; +type ColumnDef = { + key: string; + label: string; + width?: string; + className?: string; + render: (item: OutputListItem) => string; +}; +type RowAction = { + label: string; + actionId: string; + values: Record; + disabled?: boolean; + tone?: "default" | "danger"; +}; +type ToolbarAction = RowAction & { + variant?: "primary" | "ghost"; + tone?: "default" | "danger"; +}; +type BatchAction = { + label: string; + actionId: string; + jobs: Array<{ label: string; values: Record }>; + tone?: "default" | "danger"; + requiresReset?: boolean; + description?: string; +}; + +type DetailEntry = { + label: string; + value: string; + href?: string; +}; + +type BadgeTone = "neutral" | "info" | "success" | "warning" | "danger"; + +const SIMPLE_MODE = true; + +function findModuleAction(moduleActions: ModuleAction[] | null | undefined, actionId: string): ModuleAction | null { + return moduleActions?.find((item) => item.id === actionId) ?? null; +} + +function getField(item: OutputListItem, key: string, fallback = "-"): string { + return item.fields?.[key] || fallback; +} + +function getNumberField(item: OutputListItem, key = "number"): number { + const raw = item.fields?.[key] ?? item.value ?? ""; + const value = Number.parseInt(raw, 10); + return Number.isFinite(value) ? value : 0; +} + +function getBoolField(item: OutputListItem, key: string): boolean { + const value = (item.fields?.[key] ?? "").trim().toLowerCase(); + return value === "1" || value === "true" || value === "yes"; +} + +function editablePushURL(item: OutputListItem): string { + const fetchURL = getField(item, "fetch", ""); + const pushURL = getField(item, "push", ""); + if (!pushURL || pushURL === "-" || pushURL === fetchURL) { + return ""; + } + return pushURL; +} + +function isBatchSelectableAction(actionId: string | undefined): boolean { + return actionId === "remote_list" || actionId === "branch_list" || actionId === "tag_list" || actionId === "worktree_list" || actionId === "issue_list" || actionId === "pr_list" || actionId === "repo_status"; +} + +function formatFilterValue(actionId: string | undefined, value: string): string { + if (actionId === "repo_status") { + switch (value) { + case "staged": + return "已暂存"; + case "unstaged": + return "未暂存"; + case "mixed": + return "已暂存 + 未暂存"; + case "untracked": + return "未跟踪"; + case "conflict": + return "冲突"; + case "clean": + return "干净"; + default: + return value; + } + } + + if (actionId !== "branch_list") { + return value; + } + + switch (value) { + case "in-sync": + return "已同步"; + case "ahead": + return "本地领先"; + case "behind": + return "落后远端"; + case "diverged": + return "已分叉"; + case "no-upstream": + return "未跟踪"; + case "missing-upstream": + return "远端缺失"; + case "invalid-upstream": + return "跟踪无效"; + default: + return value; + } +} + +function pickBadgeTone(actionId: string | undefined, category: string, text: string): BadgeTone { + const normalizedCategory = category.trim().toLowerCase(); + const normalizedText = text.trim().toLowerCase(); + const combined = `${normalizedCategory} ${normalizedText}`; + + if (actionId === "repo_status") { + if (normalizedCategory === "conflict" || combined.includes("conflict") || combined.includes("u")) { + return "danger"; + } + if (normalizedCategory === "mixed" || normalizedCategory === "unstaged" || normalizedCategory === "untracked") { + return "warning"; + } + if (normalizedCategory === "staged") { + return "info"; + } + if (normalizedCategory === "clean") { + return "success"; + } + } + + if (actionId === "branch_list") { + switch (normalizedCategory) { + case "in-sync": + return "success"; + case "ahead": + case "behind": + case "diverged": + case "no-upstream": + case "missing-upstream": + return "warning"; + case "invalid-upstream": + return "danger"; + default: + break; + } + } + + if (actionId === "issue_list" || actionId === "pr_list" || actionId === "pr_status") { + if (combined.includes("merged") || combined.includes("closed")) { + return "success"; + } + if (combined.includes("draft")) { + return "warning"; + } + if (combined.includes("open")) { + return "info"; + } + } + + if (combined.includes("error") || combined.includes("failed") || combined.includes("danger")) { + return "danger"; + } + if (combined.includes("warn") || combined.includes("behind") || combined.includes("missing")) { + return "warning"; + } + if (combined.includes("ok") || combined.includes("success")) { + return "success"; + } + if (combined.includes("open") || combined.includes("current")) { + return "info"; + } + return "neutral"; +} + +function badgeClassName(actionId: string | undefined, item: OutputListItem | null, text: string): string { + const category = item?.fields?.status_category || item?.category || item?.fields?.sync || item?.fields?.state || ""; + const tone = pickBadgeTone(actionId, category, text); + return `output-list__badge output-list__badge--${tone}`; +} + +function getTableConfig(actionId: string | undefined): { + columns: ColumnDef[]; + searchPlaceholder: string; + filterLabel: string; +} { + switch (actionId) { + case "remote_list": + return { + searchPlaceholder: "搜索 remote 名称、协议或 URL...", + filterLabel: "全部协议", + columns: [ + { + key: "name", + label: "Remote", + width: "minmax(160px, 0.9fr)", + className: "output-table__cell--primary", + render: (item) => getField(item, "name", item.primary), + }, + { + key: "transport", + label: "协议", + width: "minmax(100px, 0.6fr)", + className: "output-table__cell--status", + render: (item) => getField(item, "transport", item.badge ?? "-"), + }, + { + key: "role", + label: "角色", + width: "minmax(100px, 0.7fr)", + render: (item) => getField(item, "status") === "default" ? "默认" : "扩展", + }, + { + key: "fetch", + label: "Fetch URL", + width: "minmax(280px, 1.7fr)", + render: (item) => getField(item, "fetch"), + }, + { + key: "push", + label: "Push URL", + width: "minmax(280px, 1.7fr)", + render: (item) => getField(item, "push"), + }, + ], + }; + case "branch_list": + return { + searchPlaceholder: "搜索分支名、upstream、remote 或同步状态...", + filterLabel: "全部同步状态", + columns: [ + { + key: "branch", + label: "分支", + width: "minmax(240px, 1.6fr)", + className: "output-table__cell--primary", + render: (item) => getField(item, "branch", item.primary), + }, + { + key: "upstream", + label: "Upstream", + width: "minmax(240px, 1.6fr)", + render: (item) => getField(item, "upstream"), + }, + { + key: "remote", + label: "Remote", + width: "minmax(120px, 0.8fr)", + render: (item) => getField(item, "remote"), + }, + { + key: "sync", + label: "同步状态", + width: "minmax(140px, 0.9fr)", + className: "output-table__cell--status", + render: (item) => getField(item, "sync_label", item.badge ?? "-"), + }, + ], + }; + case "worktree_list": + return { + searchPlaceholder: "搜索路径、分支、提交...", + filterLabel: "全部状态", + columns: [ + { + key: "path", + label: "路径", + width: "minmax(280px, 2.2fr)", + className: "output-table__cell--primary", + render: (item) => getField(item, "path", item.primary), + }, + { key: "branch", label: "分支", width: "minmax(160px, 1.1fr)", render: (item) => getField(item, "branch") }, + { key: "commit", label: "提交", width: "minmax(120px, 0.8fr)", render: (item) => getField(item, "commit") }, + { + key: "status", + label: "状态", + width: "minmax(120px, 0.8fr)", + className: "output-table__cell--status", + render: (item) => getField(item, "status", item.badge ?? "-"), + }, + ], + }; + case "issue_list": + return { + searchPlaceholder: "搜索 issue 编号、标题、状态...", + filterLabel: "全部状态", + columns: [ + { key: "number", label: "编号", width: "minmax(100px, 0.7fr)", render: (item) => `#${getField(item, "number", item.value ?? item.primary)}` }, + { + key: "title", + label: "标题", + width: "minmax(320px, 2.3fr)", + className: "output-table__cell--primary", + render: (item) => getField(item, "title", item.primary), + }, + { + key: "state", + label: "状态", + width: "minmax(120px, 0.8fr)", + className: "output-table__cell--status", + render: (item) => getField(item, "state", item.badge ?? "-"), + }, + { + key: "url", + label: "链接", + width: "minmax(240px, 1.4fr)", + render: (item) => item.url ?? getField(item, "url", "-"), + }, + ], + }; + case "pr_list": + case "pr_status": + return { + searchPlaceholder: "搜索 PR 编号、标题、状态...", + filterLabel: "全部状态", + columns: [ + { key: "number", label: "编号", width: "minmax(100px, 0.7fr)", render: (item) => `#${getField(item, "number", item.value ?? item.primary)}` }, + { + key: "title", + label: "标题", + width: "minmax(320px, 2.3fr)", + className: "output-table__cell--primary", + render: (item) => getField(item, "title", item.primary), + }, + { + key: "state", + label: "状态", + width: "minmax(120px, 0.8fr)", + className: "output-table__cell--status", + render: (item) => getField(item, "state", item.badge ?? "-"), + }, + ], + }; + case "tag_list": + return { + searchPlaceholder: "搜索 tag...", + filterLabel: "全部标签", + columns: [ + { + key: "tag", + label: "Tag", + width: "minmax(320px, 2fr)", + className: "output-table__cell--primary", + render: (item) => getField(item, "tag", item.primary), + }, + ], + }; + case "repo_status": + return { + searchPlaceholder: "搜索文件路径或状态码...", + filterLabel: "全部状态", + columns: [ + { + key: "path", + label: "文件", + width: "minmax(320px, 2.2fr)", + className: "output-table__cell--primary", + render: (item) => getField(item, "path", item.primary), + }, + { + key: "status", + label: "状态", + width: "minmax(120px, 0.8fr)", + className: "output-table__cell--status", + render: (item) => getField(item, "status", item.badge ?? "-"), + }, + ], + }; + default: + return { + searchPlaceholder: "搜索名称、状态、分支...", + filterLabel: "全部状态", + columns: [ + { + key: "primary", + label: "资源", + width: "minmax(260px, 1.8fr)", + className: "output-table__cell--primary", + render: (item) => item.primary, + }, + { key: "secondary", label: "详情", width: "minmax(200px, 1.2fr)", render: (item) => item.secondary ?? "-" }, + { + key: "badge", + label: "状态", + width: "minmax(120px, 0.8fr)", + className: "output-table__cell--status", + render: (item) => item.badge ?? "-", + }, + ], + }; + } +} + +function describeSelectedItem(actionId: string | undefined, item: OutputListItem): DetailEntry[] { + switch (actionId) { + case "remote_list": + return [ + { label: "Remote", value: getField(item, "name", item.value ?? item.primary) }, + { label: "角色", value: getField(item, "status") === "default" ? "默认 remote" : "附加 remote" }, + { label: "协议", value: getField(item, "transport", item.badge ?? "-") }, + { label: "Fetch", value: getField(item, "fetch") }, + { label: "Push", value: getField(item, "push") }, + { label: "状态", value: getField(item, "status", item.active ? "default" : "secondary") }, + ]; + case "branch_list": + return [ + { label: "分支", value: getField(item, "branch", item.value ?? item.primary) }, + { label: "本地状态", value: getField(item, "status", item.active ? "current" : "local") }, + { label: "Remote", value: getField(item, "remote") }, + { label: "Upstream", value: getField(item, "upstream") }, + { label: "同步状态", value: getField(item, "sync_label", item.badge ?? "-") }, + { label: "Ahead", value: getField(item, "ahead", "0") }, + { label: "Behind", value: getField(item, "behind", "0") }, + ]; + case "worktree_list": + return [ + { label: "路径", value: getField(item, "path", item.primary) }, + { label: "分支", value: getField(item, "branch") }, + { label: "提交", value: getField(item, "commit") }, + { label: "状态", value: getField(item, "status", item.badge ?? "ready") }, + ]; + case "issue_list": + return [ + { label: "Issue", value: `#${getField(item, "number", item.value ?? item.primary)}` }, + { label: "标题", value: getField(item, "title", item.primary) }, + { label: "状态", value: getField(item, "state", item.badge ?? "-") }, + ...(item.url || getField(item, "url", "") ? [{ label: "链接", value: item.url ?? getField(item, "url"), href: item.url ?? getField(item, "url") }] : []), + ]; + case "tag_list": + return [{ label: "Tag", value: getField(item, "tag", item.value ?? item.primary) }]; + case "repo_status": + return [ + { label: "文件", value: getField(item, "path", item.primary) }, + { label: "状态", value: getField(item, "status", item.badge ?? "-") }, + { label: "类型", value: formatFilterValue("repo_status", getField(item, "status_category", item.category ?? "-")) }, + { label: "Staging", value: getField(item, "staging", "-").replace(/\s/g, "·") }, + { label: "Worktree", value: getField(item, "worktree", "-").replace(/\s/g, "·") }, + ]; + case "pr_status": + case "pr_list": + return [ + { label: "PR", value: `#${getField(item, "number", item.value ?? item.primary)}` }, + { label: "标题", value: getField(item, "title", item.primary) }, + { label: "状态", value: getField(item, "state", item.badge ?? "-") }, + { label: "Base", value: getField(item, "base") }, + { label: "Head", value: getField(item, "head") }, + { label: "Draft", value: getField(item, "draft") }, + { + label: "链接", + value: item.url ?? getField(item, "url", item.secondary ?? "-"), + href: item.url ?? (getField(item, "url", "") || undefined), + }, + ]; + default: + return [ + { label: "名称", value: item.primary }, + { label: "详情", value: item.secondary ?? "-" }, + ]; + } +} + +function buildRowActions(actionId: string | undefined, item: OutputListItem, defaultRemote = ""): RowAction[] { + switch (actionId) { + case "remote_list": + return [ + { label: "抓取", actionId: "remote_fetch", values: { name: item.value ?? item.primary } }, + { + label: "编辑", + actionId: "remote_update", + values: { + name: item.value ?? item.primary, + url: getField(item, "fetch", ""), + push_url: editablePushURL(item), + }, + }, + { label: "重命名", actionId: "remote_rename", values: { name: item.value ?? item.primary, new_name: item.value ?? item.primary } }, + { label: "删除", actionId: "remote_remove", values: { name: item.value ?? item.primary }, tone: "danger" }, + ]; + case "branch_list": + return [ + { label: "对齐远端", actionId: "branch_force_sync", values: { name: item.value ?? item.primary, remote: getField(item, "remote", "") }, tone: "danger" }, + { label: "切换", actionId: "branch_checkout", values: { name: item.value ?? item.primary }, disabled: item.active }, + { label: "删除", actionId: "branch_delete", values: { name: item.value ?? item.primary }, disabled: item.active, tone: "danger" }, + ]; + case "issue_list": + return [ + { label: "查看", actionId: "issue_view", values: { id: item.value ?? item.primary } }, + { label: "关闭", actionId: "issue_close", values: { id: item.value ?? item.primary }, tone: "danger" }, + ]; + case "tag_list": + return [ + { label: "推送", actionId: "tag_push", values: { name: item.value ?? item.primary, remote: defaultRemote } }, + { label: "对齐远端", actionId: "tag_force_sync", values: { name: item.value ?? item.primary, remote: defaultRemote }, tone: "danger" }, + ]; + case "worktree_list": + return [{ label: "删除", actionId: "worktree_remove", values: { target: item.value ?? item.primary }, disabled: item.active }]; + case "pr_status": + return [ + { label: "同步", actionId: "pr_sync", values: {} }, + { label: "合并", actionId: "pr_merge", values: { method: "squash" } }, + ]; + case "pr_list": + return [ + { label: "查看", actionId: "pr_view", values: { id: item.value ?? item.primary } }, + { label: "关闭", actionId: "pr_close", values: { id: item.value ?? item.primary }, tone: "danger" }, + ]; + case "repo_status": + return [ + { + label: "暂存", + actionId: "repo_stage_path", + values: { path: getField(item, "path", item.value ?? item.primary) }, + disabled: !getBoolField(item, "can_stage"), + }, + { + label: "撤销暂存", + actionId: "repo_unstage_path", + values: { path: getField(item, "path", item.value ?? item.primary) }, + disabled: !getBoolField(item, "can_unstage"), + }, + { + label: "丢弃", + actionId: "repo_discard_path", + values: { path: getField(item, "path", item.value ?? item.primary) }, + disabled: !getBoolField(item, "can_discard"), + tone: "danger", + }, + ]; + default: + return []; + } +} + +function buildToolbarActions(actionId: string | undefined, item: OutputListItem | null, defaultRemote = ""): ToolbarAction[] { + switch (actionId) { + case "remote_list": + return [ + { label: "刷新列表", actionId: "remote_list", values: {}, variant: "ghost" }, + { label: "抓取全部", actionId: "remote_fetch_all", values: {}, variant: "ghost" }, + { label: "添加 Remote", actionId: "remote_add", values: {}, variant: "primary" }, + ...(item + ? [ + { label: "抓取 Remote", actionId: "remote_fetch", values: { name: item.value ?? item.primary }, variant: "ghost" as const }, + { + label: "编辑 Remote", + actionId: "remote_update", + values: { + name: item.value ?? item.primary, + url: getField(item, "fetch", ""), + push_url: editablePushURL(item), + }, + variant: "ghost" as const, + }, + { label: "重命名", actionId: "remote_rename", values: { name: item.value ?? item.primary, new_name: item.value ?? item.primary }, variant: "ghost" as const }, + { label: "删除 Remote", actionId: "remote_remove", values: { name: item.value ?? item.primary }, variant: "ghost" as const, tone: "danger" as const }, + ] + : []), + ]; + case "branch_list": + return [ + { label: "刷新列表", actionId: "branch_list", values: {}, variant: "ghost" }, + { label: "新建分支", actionId: "branch_create", values: {}, variant: "primary" }, + ...(item + ? [ + { label: "强制对齐远端", actionId: "branch_force_sync", values: { name: item.value ?? item.primary, remote: getField(item, "remote", "") }, variant: "ghost" as const, tone: "danger" as const }, + { label: "切换分支", actionId: "branch_checkout", values: { name: item.value ?? item.primary }, disabled: item.active, variant: "ghost" as const }, + { label: "删除分支", actionId: "branch_delete", values: { name: item.value ?? item.primary }, disabled: item.active, variant: "ghost" as const, tone: "danger" as const }, + ] + : []), + ]; + case "worktree_list": + return [ + { label: "刷新列表", actionId: "worktree_list", values: {}, variant: "ghost" }, + { label: "新建 Worktree", actionId: "worktree_create", values: {}, variant: "primary" }, + ...(item + ? [{ label: "删除 Worktree", actionId: "worktree_remove", values: { target: item.value ?? item.primary }, disabled: item.active, variant: "ghost" as const, tone: "danger" as const }] + : []), + ]; + case "issue_list": + return [ + { label: "刷新列表", actionId: "issue_list", values: {}, variant: "ghost" }, + { label: "新建 Issue", actionId: "issue_create", values: {}, variant: "primary" }, + ...(item + ? [ + { label: "查看详情", actionId: "issue_view", values: { id: item.value ?? item.primary }, variant: "ghost" as const }, + { label: "关闭 Issue", actionId: "issue_close", values: { id: item.value ?? item.primary }, variant: "ghost" as const, tone: "danger" as const }, + ] + : []), + ]; + case "pr_list": + return [ + { label: "刷新列表", actionId: "pr_list", values: {}, variant: "ghost" }, + { label: "创建 PR", actionId: "pr_create", values: {}, variant: "primary" }, + ...(item + ? [ + { label: "查看 PR", actionId: "pr_view", values: { id: item.value ?? item.primary }, variant: "ghost" as const }, + { label: "关闭 PR", actionId: "pr_close", values: { id: item.value ?? item.primary }, variant: "ghost" as const, tone: "danger" as const }, + ] + : []), + ]; + case "pr_status": + return [ + { label: "刷新状态", actionId: "pr_status", values: {}, variant: "ghost" }, + { label: "创建 PR", actionId: "pr_create", values: {}, variant: "primary" }, + ...(item + ? [ + { label: "同步 PR", actionId: "pr_sync", values: {}, variant: "ghost" as const }, + { label: "合并 PR", actionId: "pr_merge", values: { method: "squash" }, variant: "ghost" as const }, + ] + : []), + ]; + case "tag_list": + return [ + { label: "刷新列表", actionId: "tag_list", values: {}, variant: "ghost" }, + { label: "创建 Tag", actionId: "tag_publish", values: {}, variant: "primary" }, + ...(item + ? [ + { label: "推送 Tag", actionId: "tag_push", values: { name: item.value ?? item.primary, remote: defaultRemote }, variant: "ghost" as const }, + { label: "强制对齐远端", actionId: "tag_force_sync", values: { name: item.value ?? item.primary, remote: defaultRemote }, variant: "ghost" as const, tone: "danger" as const }, + ] + : []), + ]; + case "repo_status": + return [ + { label: "刷新状态", actionId: "repo_status", values: {}, variant: "ghost" }, + { label: "拉取", actionId: "repo_pull", values: { remote: defaultRemote }, variant: "primary" }, + { label: "推送", actionId: "repo_push", values: { remote: defaultRemote }, variant: "ghost" }, + ...(item + ? [ + { label: "暂存文件", actionId: "repo_stage_path", values: { path: getField(item, "path", item.value ?? item.primary) }, variant: "ghost" as const, disabled: !getBoolField(item, "can_stage") }, + { label: "撤销暂存", actionId: "repo_unstage_path", values: { path: getField(item, "path", item.value ?? item.primary) }, variant: "ghost" as const, disabled: !getBoolField(item, "can_unstage") }, + { label: "丢弃文件", actionId: "repo_discard_path", values: { path: getField(item, "path", item.value ?? item.primary) }, variant: "ghost" as const, disabled: !getBoolField(item, "can_discard"), tone: "danger" as const }, + ] + : []), + { label: "强制对齐当前分支", actionId: "repo_force_sync", values: { remote: defaultRemote }, variant: "ghost", tone: "danger" }, + ]; + default: + return []; + } +} + +function buildBatchActions(actionId: string | undefined, items: OutputListItem[], defaultRemote = ""): BatchAction[] { + switch (actionId) { + case "remote_list": + return [ + { + label: `批量抓取 (${items.length})`, + actionId: "remote_fetch", + jobs: items.map((item) => ({ + label: item.primary, + values: { name: item.value ?? item.primary }, + })), + }, + { + label: `批量删除 (${items.length})`, + actionId: "remote_remove", + jobs: items.map((item) => ({ + label: item.primary, + values: { name: item.value ?? item.primary }, + })), + tone: "danger", + description: "会移除选中的 remote 配置。", + }, + ]; + case "branch_list": { + const deletable = items.filter((item) => !item.active); + const syncable = items.filter((item) => Boolean(getField(item, "remote", ""))); + return [ + { + label: `批量删除 (${deletable.length})`, + actionId: "branch_delete", + jobs: deletable.map((item) => ({ + label: item.primary, + values: { name: item.value ?? item.primary }, + })), + tone: "danger", + description: "会删除选中的本地分支,当前分支会自动跳过。", + }, + { + label: `批量对齐远端 (${syncable.length})`, + actionId: "branch_force_sync", + jobs: syncable.map((item) => ({ + label: item.primary, + values: { name: item.value ?? item.primary, remote: getField(item, "remote", "") }, + })), + tone: "danger", + requiresReset: true, + description: "会丢弃分支本地改动并强制对齐远端 tracking 分支。", + }, + ]; + } + case "tag_list": + return [ + { + label: `批量推送 (${items.length})`, + actionId: "tag_push", + jobs: items.map((item) => ({ + label: item.primary, + values: { name: item.value ?? item.primary, remote: defaultRemote }, + })), + }, + { + label: `批量对齐远端 (${items.length})`, + actionId: "tag_force_sync", + jobs: items.map((item) => ({ + label: item.primary, + values: { name: item.value ?? item.primary, remote: defaultRemote }, + })), + tone: "danger", + requiresReset: true, + description: "会用远端同名 tag 覆盖本地 tag。", + }, + ]; + case "worktree_list": { + const removable = items.filter((item) => !item.active); + return [ + { + label: `批量删除 (${removable.length})`, + actionId: "worktree_remove", + jobs: removable.map((item) => ({ + label: item.fields?.path ?? item.primary, + values: { target: item.value ?? item.primary }, + })), + tone: "danger", + description: "会删除选中的 worktree,当前项目 worktree 会自动跳过。", + }, + ]; + } + case "issue_list": + return [ + { + label: `批量关闭 (${items.length})`, + actionId: "issue_close", + jobs: items.map((item) => ({ + label: item.primary, + values: { id: item.value ?? item.primary }, + })), + tone: "danger", + description: "会关闭选中的 issue。", + }, + ]; + case "pr_list": + return [ + { + label: `批量关闭 (${items.length})`, + actionId: "pr_close", + jobs: items.map((item) => ({ + label: item.primary, + values: { id: item.value ?? item.primary }, + })), + tone: "danger", + description: "会关闭选中的 PR。", + }, + ]; + case "repo_status": { + const stageable = items.filter((item) => getBoolField(item, "can_stage")); + const unstageable = items.filter((item) => getBoolField(item, "can_unstage")); + const discardable = items.filter((item) => getBoolField(item, "can_discard")); + return [ + { + label: `批量暂存 (${stageable.length})`, + actionId: "repo_stage_path", + jobs: stageable.map((item) => ({ + label: item.primary, + values: { path: getField(item, "path", item.value ?? item.primary) }, + })), + }, + { + label: `批量撤销暂存 (${unstageable.length})`, + actionId: "repo_unstage_path", + jobs: unstageable.map((item) => ({ + label: item.primary, + values: { path: getField(item, "path", item.value ?? item.primary) }, + })), + }, + { + label: `批量丢弃 (${discardable.length})`, + actionId: "repo_discard_path", + jobs: discardable.map((item) => ({ + label: item.primary, + values: { path: getField(item, "path", item.value ?? item.primary) }, + })), + tone: "danger", + requiresReset: true, + description: "会丢弃选中文件本地改动;未跟踪文件会直接删除。", + }, + ]; + } + default: + return []; + } +} + +function getDefaultSortMode(actionId: string | undefined): SortMode { + switch (actionId) { + case "remote_list": + return "name-asc"; + case "branch_list": + case "worktree_list": + return "active-first"; + case "issue_list": + case "pr_list": + case "pr_status": + return "number-desc"; + case "tag_list": + return "name-desc"; + case "repo_status": + return "status"; + default: + return "default"; + } +} + +function getSortOptions(actionId: string | undefined): Array<{ value: SortMode; label: string }> { + switch (actionId) { + case "remote_list": + return [ + { value: "name-asc", label: "名称 A-Z" }, + { value: "name-desc", label: "名称 Z-A" }, + { value: "status", label: "协议分组" }, + ]; + case "issue_list": + case "pr_list": + case "pr_status": + return [ + { value: "number-desc", label: "编号新到旧" }, + { value: "number-asc", label: "编号旧到新" }, + { value: "name-asc", label: "标题 A-Z" }, + { value: "name-desc", label: "标题 Z-A" }, + { value: "status", label: "状态分组" }, + ]; + case "repo_status": + return [ + { value: "status", label: "状态分组" }, + { value: "name-asc", label: "文件 A-Z" }, + { value: "name-desc", label: "文件 Z-A" }, + ]; + case "tag_list": + return [ + { value: "name-desc", label: "Tag Z-A" }, + { value: "name-asc", label: "Tag A-Z" }, + ]; + case "branch_list": + case "worktree_list": + return [ + { value: "active-first", label: "当前项优先" }, + { value: "name-asc", label: "名称 A-Z" }, + { value: "name-desc", label: "名称 Z-A" }, + ]; + default: + return [ + { value: "default", label: "默认顺序" }, + { value: "name-asc", label: "名称 A-Z" }, + { value: "name-desc", label: "名称 Z-A" }, + ]; + } +} + +function shouldOpenActionDialog(action: ModuleAction, values: Record): boolean { + const fields = action.fields ?? []; + if (fields.length === 0) { + return false; + } + if ( + action.id.startsWith("pr_") || + action.id.endsWith("_force_sync") || + action.id.endsWith("_rename") || + action.id.endsWith("_update") || + action.id.endsWith("_delete") || + action.id.endsWith("_remove") || + action.id.endsWith("_close") || + action.id.endsWith("_discard") + ) { + return true; + } + return fields.some((field) => field.required && !values[field.key]); +} + +function detailMatchesItem(detailTargetId: string | undefined, item: OutputListItem | null): boolean { + if (!detailTargetId || !item) { + return false; + } + return detailTargetId === item.id || detailTargetId === item.value; +} + +function buildDefaultPRBody(branch: string, base: string): string { + return [ + "## Summary", + `- branch: ${branch || "-"}`, + `- base: ${base || "-"}`, + "", + "## Changes", + "- ", + "", + "## Verification", + "- ", + ].join("\n"); +} + +export function OutputPanel() { + const { state, runAction, runBatchActions, runActionAndReload, previewAction, updateProjectSettings } = useAppContext(); + const items = state.output.items ?? []; + const hasList = items.length > 0; + const isManageView = Boolean(state.output.actionId && (state.output.actionId.endsWith("_list") || state.output.actionId.endsWith("_status"))); + const defaultBaseBranch = state.projectSettings[state.repoPath]?.defaultBaseBranch ?? ""; + const projectDefaultRemote = state.projectSettings[state.repoPath]?.defaultRemote ?? ""; + const defaultRemote = + projectDefaultRemote || state.catalog.remotes.find((item) => item.active)?.value || state.catalog.remotes[0]?.value || "origin"; + const [query, setQuery] = useState(""); + const [badgeFilter, setBadgeFilter] = useState("all"); + const [sortMode, setSortMode] = useState("default"); + const [viewMode, setViewMode] = useState("raw"); + const [selectedId, setSelectedId] = useState(null); + const [selectedIds, setSelectedIds] = useState([]); + const [previewingId, setPreviewingId] = useState(null); + const [dialogAction, setDialogAction] = useState(null); + const [dialogValues, setDialogValues] = useState>({}); + const [batchAction, setBatchAction] = useState(null); + const [batchConfirm, setBatchConfirm] = useState(""); + const lastPreviewKeyRef = useRef(""); + + useEffect(() => { + setQuery(""); + setBadgeFilter("all"); + setSortMode(getDefaultSortMode(state.output.actionId)); + setViewMode(isManageView ? "list" : items.length > 0 ? "list" : state.output.detail ? "detail" : "raw"); + setSelectedId(null); + setSelectedIds([]); + setPreviewingId(null); + setDialogAction(null); + setDialogValues({}); + setBatchAction(null); + setBatchConfirm(""); + lastPreviewKeyRef.current = ""; + }, [isManageView, items.length, state.output.actionId, state.output.command, state.output.title, state.output.detail]); + + const badgeOptions = useMemo( + () => + Array.from(new Set(items.map((item) => item.category ?? item.badge).filter((badge): badge is string => Boolean(badge)))), + [items] + ); + const sortOptions = useMemo(() => getSortOptions(state.output.actionId), [state.output.actionId]); + const tableConfig = useMemo(() => getTableConfig(state.output.actionId), [state.output.actionId]); + + const visibleItems = useMemo(() => { + const normalizedQuery = query.trim().toLowerCase(); + const filtered = items.filter((item) => { + if (badgeFilter !== "all" && (item.category ?? item.badge) !== badgeFilter) { + return false; + } + if (!normalizedQuery) { + return true; + } + const haystack = [ + item.primary, + item.secondary, + item.badge, + item.value, + item.category, + ...Object.values(item.fields ?? {}), + ...(item.keywords ?? []), + ] + .filter(Boolean) + .join(" ") + .toLowerCase(); + return haystack.includes(normalizedQuery); + }); + + if (sortMode === "default") { + return filtered; + } + + const sorted = [...filtered]; + if (sortMode === "active-first") { + sorted.sort((left, right) => { + if (left.active === right.active) { + return left.primary.localeCompare(right.primary); + } + return left.active ? -1 : 1; + }); + return sorted; + } + + if (sortMode === "number-desc" || sortMode === "number-asc") { + sorted.sort((left, right) => { + const delta = getNumberField(right) - getNumberField(left); + return sortMode === "number-desc" ? delta : -delta; + }); + return sorted; + } + + if (sortMode === "status") { + sorted.sort((left, right) => { + const leftStatus = left.category ?? left.badge ?? ""; + const rightStatus = right.category ?? right.badge ?? ""; + if (leftStatus === rightStatus) { + return left.primary.localeCompare(right.primary); + } + return leftStatus.localeCompare(rightStatus); + }); + return sorted; + } + + sorted.sort((left, right) => + sortMode === "name-asc" + ? left.primary.localeCompare(right.primary) + : right.primary.localeCompare(left.primary) + ); + return sorted; + }, [badgeFilter, items, query, sortMode]); + + const hasFilteredItems = visibleItems.length > 0; + const sourceModule = useMemo(() => { + const moduleFromOutput = state.output.moduleId ? state.modules.find((item) => item.id === state.output.moduleId) ?? null : null; + if (moduleFromOutput) { + return moduleFromOutput; + } + if (!isManageView || !state.selectedModuleId) { + return null; + } + return state.modules.find((item) => item.id === state.selectedModuleId) ?? null; + }, [isManageView, state.modules, state.output.moduleId, state.selectedModuleId]); + const showOutputHeader = !isManageView || !sourceModule; + const selectedSet = useMemo(() => new Set(selectedIds), [selectedIds]); + const selectedBatchItems = useMemo(() => items.filter((item) => selectedSet.has(item.id)), [items, selectedSet]); + const supportsBatchSelection = isBatchSelectableAction(state.output.actionId); + const bulkActions = useMemo( + () => (supportsBatchSelection ? buildBatchActions(state.output.actionId, selectedBatchItems, defaultRemote) : []), + [defaultRemote, selectedBatchItems, state.output.actionId, supportsBatchSelection] + ); + const allVisibleSelected = hasFilteredItems && visibleItems.every((item) => selectedSet.has(item.id)); + const selectedItem = visibleItems.find((item) => item.id === selectedId) ?? visibleItems[0] ?? null; + const selectedDetails = selectedItem ? describeSelectedItem(state.output.actionId, selectedItem) : []; + const toolbarActions = sourceModule ? buildToolbarActions(state.output.actionId, selectedItem, defaultRemote) : []; + const visibleToolbarActions = useMemo(() => { + if (!SIMPLE_MODE || !isManageView) { + return toolbarActions; + } + + const picked = new Map(); + const add = (action: ToolbarAction | undefined) => { + if (!action) { + return; + } + picked.set(action.actionId, action); + }; + + add(toolbarActions.find((action) => action.actionId === state.output.actionId)); + toolbarActions.filter((action) => action.variant === "primary").forEach(add); + if (state.output.actionId === "repo_status") { + add(toolbarActions.find((action) => action.actionId === "repo_pull")); + add(toolbarActions.find((action) => action.actionId === "repo_push")); + } + if (state.output.actionId === "branch_list") { + add(toolbarActions.find((action) => action.actionId === "branch_create")); + add(toolbarActions.find((action) => action.actionId === "branch_force_sync")); + } + if (state.output.actionId === "tag_list") { + add(toolbarActions.find((action) => action.actionId === "tag_publish")); + add(toolbarActions.find((action) => action.actionId === "tag_force_sync")); + } + + return Array.from(picked.values()).slice(0, 4); + }, [isManageView, state.output.actionId, toolbarActions]); + const sideDetail = + state.output.detail && (!state.output.detail.targetId || detailMatchesItem(state.output.detail.targetId, selectedItem)) + ? state.output.detail + : null; + const selectedRemoteName = state.output.actionId === "remote_list" ? selectedItem?.value ?? selectedItem?.primary ?? "" : ""; + const selectedRemoteIsDefault = Boolean(selectedRemoteName && projectDefaultRemote && selectedRemoteName === projectDefaultRemote); + const currentBranch = state.catalog.branches.find((item) => item.active) ?? null; + const contextMetaText = + state.output.actionId === "repo_status" + ? selectedItem + ? `当前选中文件: ${selectedItem.primary}` + : `默认 remote: ${projectDefaultRemote || defaultRemote || "-"}` + : state.output.actionId === "branch_list" + ? selectedItem + ? `当前选中分支: ${selectedItem.primary}` + : state.output.emptyHint ?? "暂无分支" + : state.output.actionId === "tag_list" + ? selectedItem + ? `当前选中 tag: ${selectedItem.primary}` + : state.output.emptyHint ?? "暂无标签" + : state.output.actionId === "worktree_list" + ? selectedItem + ? `当前选中 worktree: ${selectedItem.fields?.path ?? selectedItem.primary}` + : state.output.emptyHint ?? "暂无 worktree" + : state.output.actionId === "issue_list" + ? selectedItem + ? `当前选中 issue: #${selectedItem.fields?.number ?? selectedItem.value ?? "-"}` + : state.output.emptyHint ?? "暂无 issue" + : state.output.actionId === "pr_list" + ? selectedItem + ? `当前选中 PR: #${selectedItem.fields?.number ?? selectedItem.value ?? "-"}` + : state.output.emptyHint ?? "暂无 PR" + : state.output.actionId === "pr_status" + ? selectedItem + ? `当前分支 PR: #${selectedItem.fields?.number ?? selectedItem.value ?? "-"}` + : state.output.emptyHint ?? "当前分支暂无 PR" + : selectedItem + ? `当前选中: ${selectedItem.primary}` + : state.output.emptyHint ?? "暂无资源"; + const manageSummaryCards = + state.output.actionId === "remote_list" + ? [ + { label: "Remote 总数", value: `${items.length}` }, + { label: "项目默认 Remote", value: projectDefaultRemote || "未设置" }, + { label: "当前选中", value: selectedRemoteName || "未选择" }, + { + label: "角色", + value: selectedItem ? (getField(selectedItem, "status") === "default" ? "默认 remote" : "附加 remote") : "请选择一条 remote", + }, + { label: "Fetch URL", value: selectedItem ? getField(selectedItem, "fetch") : "请选择一条 remote" }, + { label: "Push URL", value: selectedItem ? getField(selectedItem, "push") : "请选择一条 remote" }, + ] + : state.output.actionId === "branch_list" + ? [ + { label: "分支总数", value: `${items.length}` }, + { label: "当前分支", value: currentBranch?.primary || "-" }, + { label: "项目默认 Remote", value: projectDefaultRemote || defaultRemote || "-" }, + { label: "当前 Upstream", value: currentBranch?.fields?.upstream || "未配置 upstream" }, + { label: "选中分支", value: selectedItem?.primary || "未选择" }, + { label: "同步状态", value: selectedItem?.fields?.sync_label || currentBranch?.fields?.sync_label || "未知" }, + ] + : state.output.actionId === "tag_list" + ? [ + { label: "Tag 总数", value: `${items.length}` }, + { label: "项目默认 Remote", value: projectDefaultRemote || defaultRemote || "-" }, + { label: "当前选中", value: selectedItem?.primary || "未选择" }, + { label: "推送目标", value: defaultRemote || "未设置 remote" }, + ] + : state.output.actionId === "worktree_list" + ? [ + { label: "Worktree 总数", value: `${items.length}` }, + { label: "当前项目路径", value: state.repoPath || "-" }, + { label: "当前选中", value: selectedItem?.fields?.path || "未选择" }, + { label: "目标分支", value: selectedItem?.fields?.branch || "-" }, + ] + : state.output.actionId === "issue_list" + ? [ + { label: "Issue 总数", value: `${items.length}` }, + { label: "当前选中", value: selectedItem?.primary || "未选择" }, + { label: "Issue 状态", value: selectedItem?.fields?.state || "open" }, + { label: "详情载入", value: previewingId ? "读取中" : sideDetail ? "已同步" : "待选择" }, + ] + : state.output.actionId === "pr_list" + ? [ + { label: "PR 总数", value: `${items.length}` }, + { label: "当前选中", value: selectedItem?.primary || "未选择" }, + { label: "Base", value: selectedItem?.fields?.base || "-" }, + { label: "Head", value: selectedItem?.fields?.head || "-" }, + { label: "Draft", value: selectedItem?.fields?.draft || "-" }, + { label: "状态", value: selectedItem?.fields?.state || "unknown" }, + ] + : state.output.actionId === "pr_status" + ? [ + { label: "当前分支", value: currentBranch?.primary || "-" }, + { label: "PR 编号", value: selectedItem?.fields?.number ? `#${selectedItem.fields.number}` : "暂无 PR" }, + { label: "Base", value: selectedItem?.fields?.base || "-" }, + { label: "Head", value: selectedItem?.fields?.head || currentBranch?.primary || "-" }, + { label: "Draft", value: selectedItem?.fields?.draft || "-" }, + { label: "状态", value: selectedItem?.fields?.state || "unknown" }, + ] + : state.output.actionId === "repo_status" + ? [ + { label: "文件总数", value: `${items.length}` }, + { label: "已暂存", value: `${items.filter((item) => item.category === "staged" || item.category === "mixed").length}` }, + { label: "未暂存", value: `${items.filter((item) => item.category === "unstaged" || item.category === "mixed").length}` }, + { label: "未跟踪", value: `${items.filter((item) => item.category === "untracked").length}` }, + { label: "当前分支", value: currentBranch?.primary || "-" }, + { label: "项目默认 Remote", value: projectDefaultRemote || defaultRemote || "-" }, + { label: "Upstream", value: currentBranch?.fields?.upstream || "未配置 upstream" }, + { label: "同步状态", value: currentBranch?.fields?.sync_label || "未知" }, + ] + : []; + + useEffect(() => { + if (!selectedItem || !sourceModule) { + return; + } + + if (state.output.actionId === "issue_list") { + const issueId = selectedItem.value ?? selectedItem.primary; + const previewKey = `issue:${issueId}`; + if (lastPreviewKeyRef.current === previewKey && sideDetail?.targetId === issueId) { + return; + } + + lastPreviewKeyRef.current = previewKey; + setPreviewingId(selectedItem.id); + void previewAction(sourceModule.id, "issue_view", { id: issueId }).finally(() => { + setPreviewingId((current) => (current === selectedItem.id ? null : current)); + }); + return; + } + + if (state.output.actionId === "pr_list") { + const prID = selectedItem.value ?? selectedItem.primary; + const previewKey = `pr:${prID}`; + if (lastPreviewKeyRef.current === previewKey && (sideDetail?.targetId === `pr-${prID}` || sideDetail?.targetId === prID)) { + return; + } + + lastPreviewKeyRef.current = previewKey; + setPreviewingId(selectedItem.id); + void previewAction(sourceModule.id, "pr_view", { id: prID }).finally(() => { + setPreviewingId((current) => (current === selectedItem.id ? null : current)); + }); + } + }, [previewAction, selectedItem, sideDetail?.targetId, sourceModule, state.output.actionId]); + + const performAction = (action: ModuleAction, values: Record) => { + if (isViewAction(action) && sourceModule) { + return previewAction(sourceModule.id, action.id, values); + } + + const canReload = Boolean(state.output.actionId && (state.output.actionId.endsWith("_list") || state.output.actionId.endsWith("_status"))); + return canReload && sourceModule && state.output.actionId && !isViewAction(action) + ? runActionAndReload(sourceModule, action, values, state.output.actionId) + : sourceModule + ? runAction(sourceModule, action, values) + : Promise.resolve(); + }; + + const openActionDialog = (action: ModuleAction, item: OutputListItem | null, rowValues: Record) => { + const seedValues = { ...rowValues }; + const branchName = currentBranch?.primary || ""; + if (item && action.id === "pr_sync") { + if (!seedValues.title) { + seedValues.title = getField(item, "title", item.primary); + } + if (!seedValues.body && sideDetail?.body && detailMatchesItem(sideDetail.targetId, item)) { + seedValues.body = sideDetail.body; + } + } + if (action.id === "pr_create") { + if (!seedValues.title && branchName) { + seedValues.title = `Update ${branchName}`; + } + if (!seedValues.body) { + seedValues.body = buildDefaultPRBody(branchName, defaultBaseBranch || "main"); + } + } + if (action.id === "pr_sync") { + if (!seedValues.title && branchName) { + seedValues.title = `Update ${branchName}`; + } + if (!seedValues.body) { + seedValues.body = buildDefaultPRBody(branchName, defaultBaseBranch || "main"); + } + } + + setDialogAction(action); + setDialogValues(buildActionValues(action, seedValues, { base: defaultBaseBranch, remote: defaultRemote })); + }; + + const closeActionDialog = () => { + setDialogAction(null); + setDialogValues({}); + }; + + const toggleAllVisibleSelection = () => { + setSelectedIds((current) => { + const currentSet = new Set(current); + if (allVisibleSelected) { + return current.filter((id) => !visibleItems.some((item) => item.id === id)); + } + visibleItems.forEach((item) => currentSet.add(item.id)); + return Array.from(currentSet); + }); + }; + + const closeBatchDialog = () => { + setBatchAction(null); + setBatchConfirm(""); + }; + + const executeBatchAction = async (nextBatchAction: BatchAction, confirmValue = "") => { + if (!sourceModule) { + return; + } + const nextAction = findModuleAction(sourceModule.actions, nextBatchAction.actionId); + if (!nextAction || nextBatchAction.jobs.length === 0) { + return; + } + + const jobs = nextBatchAction.jobs.map((job) => ({ + label: job.label, + values: nextBatchAction.requiresReset ? { ...job.values, confirm: confirmValue } : job.values, + })); + await runBatchActions(sourceModule, nextAction, jobs, state.output.actionId); + setSelectedIds([]); + }; + + const hasStructuredDetail = Boolean(sideDetail || selectedItem || previewingId); + const showViewTabs = !isManageView && (hasList || state.output.detail); + const viewOptions = showViewTabs + ? [ + ...(hasList ? [{ label: "列表", value: "list" as ViewMode }] : []), + { label: "详情", value: "detail" as ViewMode, disabled: !hasStructuredDetail && !state.output.detail }, + { label: "原始输出", value: "raw" as ViewMode }, + ] + : []; + const filterOptions = [ + { label: tableConfig.filterLabel, value: "all" }, + ...badgeOptions.map((badge) => ({ + label: formatFilterValue(state.output.actionId, badge), + value: badge, + })), + ]; + const sortSelectOptions = sortOptions.map((option) => ({ + label: option.label, + value: option.value, + })); + const actionColumnWidth = state.output.actionId === "repo_status" ? 320 : 220; + const tableClassName = `output-ant-table output-ant-table--${state.output.actionId ?? "generic"}`; + const antTableColumns: TableColumnsType = [ + ...tableConfig.columns.map((column) => ({ + title: column.label, + key: column.key, + ellipsis: true, + render: (_: unknown, item: OutputListItem) => { + const value = column.render(item); + const isStatus = column.className?.includes("status"); + const isPrimary = column.className?.includes("primary"); + if (isStatus) { + return {value}; + } + if (isPrimary) { + return

{value}

; + } + if (column.key === "url" && item.url) { + return ( + event.stopPropagation()}> + {value} + + ); + } + return {value}; + }, + })), + { + title: "操作", + key: "actions", + width: actionColumnWidth, + render: (_: unknown, item: OutputListItem) => { + const rowActions = buildRowActions(state.output.actionId, item, defaultRemote); + if (!(rowActions.length > 0 && sourceModule)) { + return -; + } + const rowActionsClassName = + state.output.actionId === "repo_status" + ? "output-list__actions output-list__actions--repo" + : "output-list__actions"; + return ( +
+ {rowActions.map((rowAction) => { + const nextAction = findModuleAction(sourceModule.actions, rowAction.actionId); + if (!nextAction) { + return null; + } + return ( + + ); + })} +
+ ); + }, + }, + ]; + const tableRowSelection = supportsBatchSelection + ? { + selectedRowKeys: selectedIds, + preserveSelectedRowKeys: true, + onChange: (keys: Array) => setSelectedIds(keys.map((key) => String(key))), + } + : undefined; + + return ( +
+ {showOutputHeader ? ( +
+
+

{state.output.title}

+

{state.output.command}

+
+ + exit {state.output.exitCode} + +
+ ) : null} + {isManageView && sourceModule && visibleToolbarActions.length > 0 ? ( +
+
+ {state.output.title} + {contextMetaText} +
+
+ {state.output.actionId === "remote_list" && selectedRemoteName ? ( + + ) : null} + {visibleToolbarActions.map((toolbarAction) => { + const nextAction = findModuleAction(sourceModule.actions, toolbarAction.actionId); + if (!nextAction) { + return null; + } + return ( + + ); + })} +
+
+ ) : null} + {!SIMPLE_MODE && manageSummaryCards.length > 0 ? ( +
+ {manageSummaryCards.map((card) => ( +
+ {card.label} + {card.value} +
+ ))} +
+ ) : null} + {showViewTabs ? ( + className="output-viewtabs" value={viewMode} options={viewOptions} onChange={(next) => setViewMode(next)} /> + ) : null} +
+ {hasList ? ( + viewMode === "raw" ? ( +
{state.output.body}
+ ) : viewMode === "detail" ? ( + sideDetail ? ( +
+
+
+

{sideDetail.primary}

+

{sideDetail.secondary ?? "详情视图"}

+
+ {sideDetail.badge ? {sideDetail.badge} : null} +
+ {sideDetail.fields?.length ? ( +
+ {sideDetail.fields.map((field) => ( +
+ {field.label} + {field.href ? ( + + {field.value} + + ) : ( + {field.value} + )} +
+ ))} +
+ ) : null} + {sideDetail.body ?
{sideDetail.body}
: null} + {sideDetail.url ? ( + + ) : null} +
+ ) : previewingId && selectedItem?.id === previewingId ? ( +
加载详情中...
+ ) : selectedItem ? ( +
+
+
+

{selectedItem.primary}

+

{selectedItem.secondary ?? "当前选中资源"}

+
+ {selectedItem.badge ? {selectedItem.badge} : null} +
+
+ {selectedDetails.map((detail) => ( +
+ {detail.label} + {detail.href ? ( + + {detail.value} + + ) : ( + {detail.value} + )} +
+ ))} +
+ {sourceModule ? ( +
+ {buildRowActions(state.output.actionId, selectedItem, defaultRemote).map((rowAction) => { + const nextAction = findModuleAction(sourceModule.actions, rowAction.actionId); + if (!nextAction) { + return null; + } + return ( + + ); + })} +
+ ) : null} +
+ ) : ( +
请选择一条资源
+ ) + ) : ( +
+ {supportsBatchSelection && selectedBatchItems.length > 0 ? ( +
+
+ + 已选 {selectedBatchItems.length} 项 + {selectedBatchItems.length > 0 ? ( + + ) : null} +
+
+ {bulkActions.map((item) => { + const disabled = item.jobs.length === 0 || state.busy; + return ( + + ); + })} +
+
+ ) : null} +
+ setQuery(event.target.value)} + placeholder={tableConfig.searchPlaceholder} + /> + setSortMode(next as SortMode)} + options={sortSelectOptions} + /> + + {visibleItems.length} / {items.length} + +
+ {hasFilteredItems ? ( +
+
+ + className={tableClassName} + size="small" + rowKey={(item) => item.id} + columns={antTableColumns} + dataSource={visibleItems} + pagination={false} + scroll={{ x: "max-content", y: 420 }} + rowSelection={tableRowSelection} + rowClassName={(item) => + [ + "output-table-row", + item.active ? "output-table-row--active" : "", + selectedItem?.id === item.id ? "output-table-row--selected" : "", + ] + .filter(Boolean) + .join(" ") + } + onRow={(item) => ({ + onClick: () => setSelectedId(item.id), + })} + /> +
+ +
+ ) : ( +
没有匹配的结果
+ )} +
+ ) + ) : state.output.detail ? ( + viewMode === "raw" ? ( +
{state.output.body}
+ ) : ( +
+
+
+

{state.output.detail.primary}

+

{state.output.detail.secondary ?? "详情视图"}

+
+ {state.output.detail.badge ? {state.output.detail.badge} : null} +
+ {state.output.detail.fields?.length ? ( +
+ {state.output.detail.fields.map((field) => ( +
+ {field.label} + {field.href ? ( + + {field.value} + + ) : ( + {field.value} + )} +
+ ))} +
+ ) : null} + {state.output.detail.body ?
{state.output.detail.body}
: null} + {state.output.detail.url ? ( + + ) : null} +
+ ) + ) : state.output.emptyHint ? ( +
{state.output.emptyHint}
+ ) : ( +
{state.output.body}
+ )} +
+ {dialogAction && sourceModule ? ( + + { + void performAction(dialogAction, values); + closeActionDialog(); + }} + /> + + ) : null} + {batchAction ? ( + { + void executeBatchAction(batchAction, batchConfirm.trim()); + closeBatchDialog(); + }} + okText="执行批量操作" + cancelText="取消" + confirmLoading={state.busy} + okButtonProps={{ + danger: batchAction.tone === "danger", + disabled: state.busy || batchAction.jobs.length === 0 || (batchAction.requiresReset && batchConfirm.trim().toUpperCase() !== "RESET"), + }} + destroyOnClose + centered + width={560} + > +
+

{batchAction.description ?? "会按顺序执行当前选择的资源操作。"}

+ {batchAction.tone === "danger" ? ( + + ) : null} +
+ + {batchAction.requiresReset ? ( + + ) : null} +
+
+
+ ) : null} +
+ ); +} diff --git a/desktop/frontend/src/features/workspace/project-context-bar.tsx b/desktop/frontend/src/features/workspace/project-context-bar.tsx new file mode 100644 index 0000000..58bc6f9 --- /dev/null +++ b/desktop/frontend/src/features/workspace/project-context-bar.tsx @@ -0,0 +1,81 @@ +import { useEffect } from "react"; + +import { useAppContext } from "../../app/providers/app-context"; +import { Button } from "../../components/ui/button"; + +function basename(path: string): string { + const parts = path.split(/[\\/]/).filter(Boolean); + return parts[parts.length - 1] ?? "workspace"; +} + +export function ProjectContextBar() { + const { state, prefetchAction } = useAppContext(); + + useEffect(() => { + if (!state.repoPath) { + return; + } + + if (state.catalog.branches.length === 0) { + void prefetchAction("branch", "branch_list"); + } + if (state.catalog.remotes.length === 0) { + void prefetchAction("remote", "remote_list"); + } + if (state.catalog.repoStatus.length === 0) { + void prefetchAction("repo", "repo_status"); + } + }, [prefetchAction, state.catalog.branches.length, state.catalog.remotes.length, state.catalog.repoStatus.length, state.repoPath]); + + if (!state.repoPath) { + return null; + } + + const currentBranch = state.catalog.branches.find((item) => item.active) ?? null; + const trackedRemote = currentBranch?.fields?.remote || ""; + const projectDefaultRemote = state.projectSettings[state.repoPath]?.defaultRemote ?? ""; + const defaultRemote = projectDefaultRemote || trackedRemote || state.catalog.remotes.find((item) => item.active)?.value || state.catalog.remotes[0]?.value || "-"; + const upstream = currentBranch?.fields?.upstream || ""; + const syncLabel = currentBranch?.fields?.sync_label || ""; + const dirtyCount = state.catalog.repoStatus.length; + const dirtyLabel = dirtyCount > 0 ? `${dirtyCount} 个改动` : "工作区干净"; + const currentBaseBranch = state.projectSettings[state.repoPath]?.defaultBaseBranch ?? ""; + const githubLabel = state.githubAuthStatus?.configured + ? `GitHub ${state.githubAuthStatus.source === "session" ? "会话 Token" : "环境变量"}` + : "GitHub 未连接"; + + const refreshContext = () => { + void Promise.all([ + prefetchAction("repo", "repo_status"), + prefetchAction("branch", "branch_list"), + prefetchAction("remote", "remote_list"), + ]); + }; + + return ( +
+
+
+ {basename(state.repoPath)} + {state.repoPath} +
+
+ {currentBranch ? `分支 ${currentBranch.primary}` : "分支 -"} + {defaultRemote ? `Remote ${defaultRemote}` : "Remote -"} + {currentBaseBranch ? `Base ${currentBaseBranch}` : "Base 未设置"} + {dirtyLabel} + {githubLabel} +
+
+
+ {upstream ? {upstream} : 未配置 upstream} + {syncLabel ? {syncLabel} : null} +
+
+ +
+
+ ); +} diff --git a/desktop/frontend/src/features/workspace/repo-switcher.tsx b/desktop/frontend/src/features/workspace/repo-switcher.tsx new file mode 100644 index 0000000..37f4860 --- /dev/null +++ b/desktop/frontend/src/features/workspace/repo-switcher.tsx @@ -0,0 +1,483 @@ +import { useEffect, useMemo, useState } from "react"; +import { Select } from "antd"; + +import { useAppContext } from "../../app/providers/app-context"; +import { Button } from "../../components/ui/button"; +import { Input } from "../../components/ui/input"; + +type SettingsSection = "projects" | "auth" | "defaults"; + +function sourceLabel(source: string | undefined): string { + switch (source) { + case "session": + return "当前会话"; + case "env": + return "环境变量"; + default: + return "未配置"; + } +} + +function basename(path: string): string { + const parts = path.split(/[\\/]/).filter(Boolean); + return parts[parts.length - 1] ?? path; +} + +function pathSegments(path: string): string[] { + return path.split(/[\\/]/).filter(Boolean); +} + +function buildProjectLabels(paths: string[]): Map { + const labels = new Map(); + + for (const path of paths) { + const segments = pathSegments(path); + if (segments.length === 0) { + labels.set(path, path); + continue; + } + + let label = segments[segments.length - 1]; + for (let depth = 1; depth <= segments.length; depth += 1) { + const candidate = segments.slice(-depth).join("/"); + const duplicated = paths.some((otherPath) => { + if (otherPath === path) { + return false; + } + const otherSegments = pathSegments(otherPath); + return otherSegments.slice(-depth).join("/") === candidate; + }); + label = candidate; + if (!duplicated) { + break; + } + } + + labels.set(path, label); + } + + return labels; +} + +const sections: Array<{ id: SettingsSection; title: string; summary: string }> = [ + { id: "projects", title: "Projects", summary: "仓库命名空间与切换" }, + { id: "auth", title: "Auth", summary: "GitHub 认证与会话 Token" }, + { id: "defaults", title: "Defaults", summary: "当前项目默认分支与 remote" }, +]; + +export function RepoSwitcher() { + const { state, addRepo, switchRepo, removeRepo, setGitHubToken, refreshGitHubAuthStatus, updateProjectSettings, prefetchAction } = useAppContext(); + const [activeSection, setActiveSection] = useState("projects"); + const [draft, setDraft] = useState(""); + const [selectedPath, setSelectedPath] = useState(""); + const [query, setQuery] = useState(""); + const [tokenDraft, setTokenDraft] = useState(""); + const [showToken, setShowToken] = useState(false); + const [savingToken, setSavingToken] = useState(false); + const [baseBranchDraft, setBaseBranchDraft] = useState(""); + const [defaultRemoteDraft, setDefaultRemoteDraft] = useState(""); + + useEffect(() => { + setSelectedPath((current) => current || state.repoPath); + }, [state.repoPath]); + + useEffect(() => { + setBaseBranchDraft(state.projectSettings[state.repoPath]?.defaultBaseBranch ?? ""); + }, [state.projectSettings, state.repoPath]); + + useEffect(() => { + setDefaultRemoteDraft(state.projectSettings[state.repoPath]?.defaultRemote ?? ""); + }, [state.projectSettings, state.repoPath]); + + useEffect(() => { + if (!state.repoPath || state.catalog.branches.length > 0) { + return; + } + void prefetchAction("branch", "branch_list"); + }, [prefetchAction, state.catalog.branches.length, state.repoPath]); + + useEffect(() => { + if (!state.repoPath || state.catalog.remotes.length > 0) { + return; + } + void prefetchAction("remote", "remote_list"); + }, [prefetchAction, state.catalog.remotes.length, state.repoPath]); + + const canAdd = draft.trim().length > 0; + const branchOptions = state.catalog.branches; + const remoteOptions = state.catalog.remotes; + const projectLabels = useMemo(() => buildProjectLabels(state.repoNamespaces), [state.repoNamespaces]); + + const filteredRepos = useMemo(() => { + const keyword = query.trim().toLowerCase(); + if (!keyword) { + return state.repoNamespaces; + } + return state.repoNamespaces.filter((repoPath) => { + const label = projectLabels.get(repoPath) ?? basename(repoPath); + return repoPath.toLowerCase().includes(keyword) || label.toLowerCase().includes(keyword); + }); + }, [projectLabels, query, state.repoNamespaces]); + + const focusedProjectPath = selectedPath || state.repoPath; + const focusedProjectSettings = focusedProjectPath ? state.projectSettings[focusedProjectPath] : undefined; + const focusedProjectLabel = focusedProjectPath ? projectLabels.get(focusedProjectPath) ?? basename(focusedProjectPath) : "未选择"; + const currentProjectLabel = state.repoPath ? projectLabels.get(state.repoPath) ?? basename(state.repoPath) : "未选择"; + const isFocusedProjectCurrent = Boolean(focusedProjectPath && focusedProjectPath === state.repoPath); + + const onAddOnly = async () => { + const next = draft.trim(); + if (!next) { + return; + } + await addRepo(next); + setDraft(""); + setSelectedPath(next); + }; + + const onAddAndSwitch = async () => { + const next = draft.trim(); + if (!next) { + return; + } + await switchRepo(next); + setDraft(""); + setSelectedPath(next); + }; + + const onApplyToken = async () => { + setSavingToken(true); + try { + await setGitHubToken(tokenDraft); + setTokenDraft(""); + setShowToken(false); + } finally { + setSavingToken(false); + } + }; + + const onClearToken = async () => { + setSavingToken(true); + try { + await setGitHubToken(""); + setTokenDraft(""); + setShowToken(false); + await refreshGitHubAuthStatus(); + } finally { + setSavingToken(false); + } + }; + + const onSaveProjectDefaults = () => { + updateProjectSettings({ defaultBaseBranch: baseBranchDraft.trim() }); + }; + + const onSaveProjectRemote = () => { + updateProjectSettings({ defaultRemote: defaultRemoteDraft.trim() }); + }; + + return ( +
+ + +
+ {activeSection === "projects" ? ( +
+
+

Projects

+

{state.repoNamespaces.length} 个项目

+
+ +
+
+ 当前项目 + {currentProjectLabel} + {state.repoPath || "未选择项目"} +
+
+ 聚焦项目 + {focusedProjectLabel} + {focusedProjectPath || "请从列表选择项目"} +
+
+ +
+ setDraft(event.target.value)} + placeholder="/path/to/project (git repository)" + /> + + +
+ +
+ setQuery(event.target.value)} placeholder="搜索项目路径或别名..." /> + + {filteredRepos.length} / {state.repoNamespaces.length} + +
+ +
+
+ {focusedProjectLabel} + {focusedProjectPath || "未选择项目"} +
+
+ + {isFocusedProjectCurrent ? "当前项目" : "可切换"} + + + +
+
+ +
+ {filteredRepos.map((repoPath) => { + const isCurrent = repoPath === state.repoPath; + const isSelected = repoPath === focusedProjectPath; + const baseBranch = state.projectSettings[repoPath]?.defaultBaseBranch ?? ""; + const defaultRemote = state.projectSettings[repoPath]?.defaultRemote ?? ""; + return ( +
setSelectedPath(repoPath)} + role="button" + tabIndex={0} + onKeyDown={(event) => { + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + setSelectedPath(repoPath); + } + }} + > +
+ {projectLabels.get(repoPath) ?? basename(repoPath)} + {repoPath} +
+ {baseBranch ? `base ${baseBranch}` : "base 未设置"} + {defaultRemote ? `remote ${defaultRemote}` : "remote 未设置"} +
+
+
+ + {isCurrent ? "当前" : "待切换"} + +
+
+ ); + })} + {filteredRepos.length === 0 ?
没有匹配的项目
: null} +
+
+ ) : null} + + {activeSection === "auth" ? ( +
+
+

GitHub Auth

+

{state.githubAuthStatus?.configured ? "已连接" : "未连接"}

+
+ +
+
+ 认证来源 + {sourceLabel(state.githubAuthStatus?.source)} + {state.githubAuthStatus?.message ?? "GitHub 状态未知"} +
+
+ 作用域 + 当前会话 + Token 只在桌面客户端当前会话中生效,不写入本地存储。 +
+
+ +
+ setTokenDraft(event.target.value)} + placeholder="ghp_ / gho_... 仅当前会话生效" + autoComplete="off" + spellCheck={false} + /> + + +
+ +
+
+ 认证控制 + 建议优先使用会话 Token,避免把敏感信息固化在工作区配置里。 +
+
+ + +
+
+
+ ) : null} + + {activeSection === "defaults" ? ( +
+
+

Project Defaults

+

{state.repoPath ? "只对当前项目生效" : "未选择项目"}

+
+ +
+
+ 当前项目 + {currentProjectLabel} + {state.repoPath || "未选择项目"} +
+
+ 聚焦项目 + {focusedProjectLabel} + + {isFocusedProjectCurrent + ? "当前正在编辑该项目默认值" + : "默认值只能编辑当前项目;如需修改聚焦项目,请先切换过去。"} + +
+
+ + {!isFocusedProjectCurrent && focusedProjectPath ? ( +
+ 当前是跨项目查看模式 + 你正在查看 `{focusedProjectLabel}`,但默认值编辑只会写入当前项目。先切换项目再保存更安全。 + +
+ ) : null} + +
+ 默认 Base Branch + {focusedProjectSettings?.defaultBaseBranch || "未设置,回退到动作默认值"} +
+ +
+ {branchOptions.length > 0 ? ( + setBaseBranchDraft(event.target.value)} + placeholder="main" + disabled={!state.repoPath} + /> + )} + + +
+ +

用于 `PR 创建` 和 `Worktree 创建` 的 base 字段默认值。

+ +
+ 默认 Remote + {focusedProjectSettings?.defaultRemote || "未设置,回退到 tracking / origin"} +
+ +
+ {remoteOptions.length > 0 ? ( + setDefaultRemoteDraft(event.target.value)} + placeholder="origin" + disabled={!state.repoPath} + /> + )} + + +
+ +

用于 `仓库拉取/推送`、`分支对齐`、`tag 推送/对齐` 的默认 remote。

+
+ ) : null} + +

{state.repoStatus}

+
+
+ ); +} diff --git a/desktop/frontend/src/features/workspace/top-tabs.tsx b/desktop/frontend/src/features/workspace/top-tabs.tsx new file mode 100644 index 0000000..7a6c676 --- /dev/null +++ b/desktop/frontend/src/features/workspace/top-tabs.tsx @@ -0,0 +1,422 @@ +import { Suspense, lazy, useEffect, useMemo, useRef, useState } from "react"; +import type { DragEvent, MouseEvent } from "react"; +import { Input as AntInput, Select } from "antd"; +import { Plus, Settings2, X } from "lucide-react"; + +import { useAppContext } from "../../app/providers/app-context"; +import logoIcon from "../../assets/brand/fastgit-logo-icon.svg"; +import type { ModuleAction } from "../../app/types"; + +const RepoSwitcher = lazy(async () => { + const module = await import("./repo-switcher"); + return { default: module.RepoSwitcher }; +}); + +function basename(path: string): string { + const parts = path.split(/[\\/]/).filter(Boolean); + return parts[parts.length - 1] ?? "workspace"; +} + +function pathSegments(path: string): string[] { + return path.split(/[\\/]/).filter(Boolean); +} + +function buildProjectLabels(paths: string[]): Map { + const labels = new Map(); + + for (const path of paths) { + const segments = pathSegments(path); + if (segments.length === 0) { + labels.set(path, path); + continue; + } + + let label = segments[segments.length - 1]; + for (let depth = 1; depth <= segments.length; depth += 1) { + const candidate = segments.slice(-depth).join("/"); + const duplicated = paths.some((otherPath) => { + if (otherPath === path) { + return false; + } + const otherSegments = pathSegments(otherPath); + return otherSegments.slice(-depth).join("/") === candidate; + }); + if (!duplicated) { + label = candidate; + break; + } + label = candidate; + } + + labels.set(path, label); + } + + return labels; +} + +function findLandingAction(actions: ModuleAction[]): ModuleAction | null { + return actions.find((action) => (action.id.endsWith("_list") || action.id.endsWith("_status")) && (action.fields?.length ?? 0) === 0) ?? null; +} + +export function TopTabs() { + const { + state, + addModuleTab, + closeModuleTab, + closeOtherModuleTabs, + closeTabsToRight, + reorderModuleTabs, + setSelectedModule, + switchRepo, + runAction, + } = useAppContext(); + const projectLabels = useMemo(() => buildProjectLabels(state.repoNamespaces), [state.repoNamespaces]); + const repoName = state.repoPath ? projectLabels.get(state.repoPath) ?? basename(state.repoPath) : "workspace"; + const [draggedId, setDraggedId] = useState(null); + const [dragOverId, setDragOverId] = useState(null); + const [menu, setMenu] = useState<{ x: number; y: number; moduleId: string } | null>(null); + const [repoPickerOpen, setRepoPickerOpen] = useState(false); + const [repoQuery, setRepoQuery] = useState(""); + const [settingsOpen, setSettingsOpen] = useState(false); + const settingsPanelRef = useRef(null); + const settingsButtonRef = useRef(null); + const repoPickerRef = useRef(null); + const repoButtonRef = useRef(null); + const openedModules = state.openedModuleIds + .map((id) => state.modules.find((module) => module.id === id)) + .filter((module): module is NonNullable => module !== undefined); + const openedCount = openedModules.length; + const currentBaseBranch = state.projectSettings[state.repoPath]?.defaultBaseBranch ?? ""; + const currentDefaultRemote = state.projectSettings[state.repoPath]?.defaultRemote ?? ""; + const githubSummary = state.githubAuthStatus?.configured + ? `GitHub 已连接 · ${state.githubAuthStatus.source === "session" ? "会话 Token" : "环境变量"}` + : "GitHub 未连接"; + const filteredRepos = useMemo(() => { + const keyword = repoQuery.trim().toLowerCase(); + if (!keyword) { + return state.repoNamespaces; + } + return state.repoNamespaces.filter((repoPath) => { + const label = projectLabels.get(repoPath) ?? basename(repoPath); + return repoPath.toLowerCase().includes(keyword) || label.toLowerCase().includes(keyword); + }); + }, [projectLabels, repoQuery, state.repoNamespaces]); + const repoOptions = useMemo( + () => + state.repoNamespaces.map((repoPath) => ({ + value: repoPath, + label: projectLabels.get(repoPath) ?? basename(repoPath), + })), + [projectLabels, state.repoNamespaces] + ); + + const menuModule = useMemo(() => { + if (!menu) { + return null; + } + return openedModules.find((module) => module.id === menu.moduleId) ?? null; + }, [menu, openedModules]); + const menuIndex = menuModule ? openedModules.findIndex((module) => module.id === menuModule.id) : -1; + const hasOthers = openedCount > 1; + const hasRight = menuIndex >= 0 && menuIndex < openedCount - 1; + + useEffect(() => { + const onPointerDown = (event: PointerEvent) => { + setMenu(null); + if (!settingsOpen) { + if (!repoPickerOpen) { + return; + } + } + const target = event.target as Node | null; + if (!target) { + return; + } + if (repoButtonRef.current?.contains(target) || repoPickerRef.current?.contains(target)) { + return; + } + if (settingsButtonRef.current?.contains(target) || settingsPanelRef.current?.contains(target)) { + return; + } + setRepoPickerOpen(false); + setSettingsOpen(false); + }; + const onKeyDown = (event: KeyboardEvent) => { + if (event.key === "Escape") { + setMenu(null); + setRepoPickerOpen(false); + setSettingsOpen(false); + } + }; + window.addEventListener("pointerdown", onPointerDown); + window.addEventListener("keydown", onKeyDown); + return () => { + window.removeEventListener("pointerdown", onPointerDown); + window.removeEventListener("keydown", onKeyDown); + }; + }, [repoPickerOpen, settingsOpen]); + + const handleDragStart = (event: DragEvent, moduleId: string) => { + setDraggedId(moduleId); + event.dataTransfer.effectAllowed = "move"; + event.dataTransfer.setData("text/plain", moduleId); + }; + + const handleDragOver = (event: DragEvent, moduleId: string) => { + event.preventDefault(); + if (draggedId && draggedId !== moduleId) { + setDragOverId(moduleId); + } + }; + + const handleDrop = (event: DragEvent, moduleId: string) => { + event.preventDefault(); + if (!draggedId || draggedId === moduleId) { + return; + } + reorderModuleTabs(draggedId, moduleId); + setDragOverId(null); + setDraggedId(null); + }; + + const handleContextMenu = (event: MouseEvent, moduleId: string) => { + event.preventDefault(); + event.stopPropagation(); + setMenu({ + x: event.clientX, + y: event.clientY, + moduleId, + }); + }; + + const runMenuAction = (action: () => void) => { + action(); + setMenu(null); + }; + + const onModuleTabSelect = (moduleId: string) => { + const module = openedModules.find((item) => item.id === moduleId); + if (!module) { + return; + } + setSelectedModule(module.id); + const landingAction = findLandingAction(module.actions); + if (landingAction) { + void runAction(module, landingAction, {}); + } + }; + + return ( +
+
+ +
+ +
+ {openedModules.map((module) => { + const active = state.selectedModuleId === module.id; + return ( +
onModuleTabSelect(module.id)} + onKeyDown={(event) => { + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + onModuleTabSelect(module.id); + } + }} + onContextMenu={(event) => handleContextMenu(event, module.id)} + draggable={openedCount > 1} + onDragStart={(event) => handleDragStart(event, module.id)} + onDragOver={(event) => handleDragOver(event, module.id)} + onDrop={(event) => handleDrop(event, module.id)} + onDragEnd={() => { + setDraggedId(null); + setDragOverId(null); + }} + role="button" + tabIndex={0} + aria-label={`switch to ${module.title}`} + aria-pressed={active} + > + {module.title} + +
+ ); + })} +
+ +
+