chainlesschain 0.162.1 → 0.162.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/src/assets/web-panel/.build-hash +1 -1
- package/src/assets/web-panel/assets/{AIOps-5A54O3wF.js → AIOps-BHcJlF4M.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-epuY2GkZ.js → ActionButton-QNqNYP_E.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-CIdxw7T5.js → Analytics-DWrmU2MM.js} +2 -2
- package/src/assets/web-panel/assets/AppLayout-0BXhjvFX.js +3 -0
- package/src/assets/web-panel/assets/{AppLayout-DBgtkmP7.css → AppLayout-BLCe1k8m.css} +1 -1
- package/src/assets/web-panel/assets/{Audit-D95nRcdZ.js → Audit-Cns_OJ3y.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-Cmw7ZTJD.js → Backup-BWXKm8S2.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-DgCEAL_E.js → BaseInput-DMtM90I4.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-DAQAzZsA.js → Chat-CPSQIJkd.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-GRxUANnE.js → Checkbox-CdoTzEcu.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen--6KIDt1W.js → Codegen-DiMm-2CJ.js} +1 -1
- package/src/assets/web-panel/assets/{Col-3s6dxuMx.js → Col-Dw8uRsh8.js} +1 -1
- package/src/assets/web-panel/assets/{Community-D60pkEBz.js → Community-DF6oPrrt.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-CQR4QsWP.js → Compact-DDeBOvFc.js} +1 -1
- package/src/assets/web-panel/assets/Compliance-cpcX8foc.js +1 -0
- package/src/assets/web-panel/assets/{Cowork-Yrrf_Vuu.js → Cowork-BnF4dCvO.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-DSuuSKIQ.js → Cron-CNm5yzGt.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-Dub0G9i4.js → Crosschain-1fdaoWnO.js} +1 -1
- package/src/assets/web-panel/assets/{DID-CbpCGV51.js → DID-CgWgrQjr.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-D29e0y01.js → Dashboard-dGcTq_hg.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-DZY7X5v2.js → Dropdown-CMcWp2f1.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-dmrLzzMB.js → Federation-BVmtVOzD.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-EopsCGez.js → FormItemContext-BTuMR6zf.js} +1 -1
- package/src/assets/web-panel/assets/{Git-D3mb4RhK.js → Git-2itzzOWU.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-8v034-Nr.js → Governance-BD5nFtjx.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-Ddl-HQwQ.js → Inference-BqTjotuw.js} +1 -1
- package/src/assets/web-panel/assets/KnowledgeGraph-CkJCUp_X.js +1 -0
- package/src/assets/web-panel/assets/{Logs-Bsu6lYQe.js → Logs-BezIQuu3.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-Iyf2Xc23.js → Marketplace-BQi8NC94.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-ljVE1lIN.js → McpTools-UDm4tI8g.js} +1 -1
- package/src/assets/web-panel/assets/{Memory-Ca48TtDU.js → Memory-b3k3SJXP.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-DZ3Ar6da.js → MobileBridge-CHysUGzj.js} +1 -1
- package/src/assets/web-panel/assets/MobileProjects-Ceaxrqzc.css +1 -0
- package/src/assets/web-panel/assets/MobileProjects-H5DjqNIw.js +1 -0
- package/src/assets/web-panel/assets/{Mtc-CRjBnVAT.js → Mtc-B-kn2cbZ.js} +4 -4
- package/src/assets/web-panel/assets/{MtcAudit-CEC2eKez.js → MtcAudit-BSeDGJAO.js} +1 -1
- package/src/assets/web-panel/assets/{Multisig-BHoQvNeL.js → Multisig-BSwWbNCn.js} +2 -2
- package/src/assets/web-panel/assets/{NLProgramming-9e5hIFvL.js → NLProgramming-B7fTKT9-.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-BEhZRadw.js → Notes-CE7Dxyik.js} +3 -3
- package/src/assets/web-panel/assets/{NotificationSettings-CzPbT9UE.js → NotificationSettings-BrWPb12X.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-CvFg4VAr.js → Organization-BvMcmpZ-.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-Cm7ISeJl.js → Overflow-9VpUiyX3.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-BWN-wdfH.js → P2P-CZiZLuH6.js} +2 -2
- package/src/assets/web-panel/assets/{Permissions-C4vKkP_t.js → Permissions-7xPYU8o3.js} +4 -4
- package/src/assets/web-panel/assets/PersonalDataHub-BoAsj3rP.js +1 -0
- package/src/assets/web-panel/assets/PersonalDataHub-C5HcGC5x.css +1 -0
- package/src/assets/web-panel/assets/{Pipeline-DQCShDeT.js → Pipeline-BXmWkBtJ.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-Nc7LlSr3.js → Privacy-Bowi-wqF.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-DDkqXAED.js → ProjectInit-BW1Xj7_l.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-ia6GQr6A.js → ProjectSettings-pDbBvJFG.js} +1 -1
- package/src/assets/web-panel/assets/Projects-BX-SG9R4.css +1 -0
- package/src/assets/web-panel/assets/Projects-D32hRs2K.js +1 -0
- package/src/assets/web-panel/assets/{Providers-EwarbUb8.js → Providers-fvnKRdFc.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-BAHQBw0d.js → QuickAsk-DBZrimTb.js} +1 -1
- package/src/assets/web-panel/assets/Recommend-B_leuPdE.js +1 -0
- package/src/assets/web-panel/assets/{Reputation-ai0gRNpj.js → Reputation-9YJu2Q0s.js} +1 -1
- package/src/assets/web-panel/assets/{Row-BWLfAhHC.js → Row-BwDaJw-R.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-CnuRtiQH.js → RssFeed-CCwGtGbs.js} +3 -3
- package/src/assets/web-panel/assets/{Search-Da0CvI_2.js → Search-CLdXqpfz.js} +1 -1
- package/src/assets/web-panel/assets/{Security-DEFeOeUv.js → Security-_It0GsWS.js} +3 -3
- package/src/assets/web-panel/assets/Services-jBxBWGGT.js +2 -0
- package/src/assets/web-panel/assets/{Skeleton-DlRaGj_n.js → Skeleton-DR_EuFFW.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-fjlZrsYq.js → Skills-DsHcMNEk.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DNSDuEt2.js → Sla-Be0UaX-h.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-Bj0t-JCf.js → SpeechSettings-uUhDyyHj.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-uO7Gy-BB.js → SyncSettings-CUAwaSnj.js} +1 -1
- package/src/assets/web-panel/assets/{Tasks-BSjsO-m8.js → Tasks-CUVZww9Q.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-B03SSuXn.js → Templates-WLZcNzJ_.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-CTCPIBzq.js → Tenant-FgN0uYm6.js} +1 -1
- package/src/assets/web-panel/assets/Terminal-BzLHjHyj.js +3 -0
- package/src/assets/web-panel/assets/Tokens-z7lyRr40.js +1 -0
- package/src/assets/web-panel/assets/{Trigger-kYPQmm6P.js → Trigger-HxLdC9ne.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-mt-MiBeI.js → Trust-DggmMxpI.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-DBi8jgXw.js → UkeySign-BO-pKTZ_.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-CINSMEf5.js → VideoEditing-DdLdJ9Ps.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-DCVMgW0U.js → Wallet-F8EfdQDN.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-C9OjbTBs.js → WebAuthn-Bi2Kf8Ev.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-LM1HJs-S.js → WorkflowEditor-DUHk4Y0A.js} +1 -1
- package/src/assets/web-panel/assets/{chat-Dz68Ixdp.js → chat-BMz8ik6R.js} +1 -1
- package/src/assets/web-panel/assets/{colors-qf63Eax9.js → colors-DTTx1bVY.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-r4YWRFGQ.js → compact-item-BjZyyKpa.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-C8Lwrn-C.js → createContext-D0Ztn7R_.js} +1 -1
- package/src/assets/web-panel/assets/{hasIn-DsPi2kPP.js → hasIn-BeXm1bJ2.js} +1 -1
- package/src/assets/web-panel/assets/{icons-NT6gy8Ee.js → icons-BFHq5fEF.js} +4 -4
- package/src/assets/web-panel/assets/{index-C8SY0_S8.js → index-BDRzvi5v.js} +1 -1
- package/src/assets/web-panel/assets/{index-BfdIkZnT.js → index-BDmMBKM_.js} +1 -1
- package/src/assets/web-panel/assets/{index-BxNXO95B.js → index-BHuIMHcS.js} +1 -1
- package/src/assets/web-panel/assets/{index-C2OFaKmx.js → index-BODKOjRZ.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bz1O2KhE.js → index-BUFpZk0I.js} +1 -1
- package/src/assets/web-panel/assets/{index-qcVx0s-M.js → index-BWRsbH6v.js} +1 -1
- package/src/assets/web-panel/assets/{index-CEbbycgJ.js → index-B_juAGfN.js} +4 -4
- package/src/assets/web-panel/assets/{index-B8gs4g1v.js → index-BiAjZ9Iq.js} +1 -1
- package/src/assets/web-panel/assets/{index-DGXVjiyF.js → index-BxIq_rps.js} +1 -1
- package/src/assets/web-panel/assets/{index-CSCb-EY9.js → index-By4zsU8r.js} +1 -1
- package/src/assets/web-panel/assets/{index-BFV6aAoX.js → index-C6Isxhje.js} +1 -1
- package/src/assets/web-panel/assets/{index-1xqIvVM5.js → index-CGudWWwE.js} +1 -1
- package/src/assets/web-panel/assets/{index-C3VVwJcn.js → index-CobyvwP0.js} +1 -1
- package/src/assets/web-panel/assets/{index-cTFVNgoS.js → index-CqkwXe3s.js} +1 -1
- package/src/assets/web-panel/assets/{index-BtCSUUKm.js → index-CuDNPqlD.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cw48kkkH.js → index-D-niPBwZ.js} +1 -1
- package/src/assets/web-panel/assets/{index-BzzFMBIM.js → index-D1CV-6q1.js} +1 -1
- package/src/assets/web-panel/assets/{index-B0KxtBNy.js → index-D1coHqyT.js} +1 -1
- package/src/assets/web-panel/assets/{index-CY5X4uXO.js → index-DB1i3Cfr.js} +1 -1
- package/src/assets/web-panel/assets/{index-D2BR3WQ-.js → index-DIoinlAY.js} +1 -1
- package/src/assets/web-panel/assets/index-DJOgV0SI.js +1 -0
- package/src/assets/web-panel/assets/{index-BKEl9Ahm.js → index-DLDHcuz4.js} +1 -1
- package/src/assets/web-panel/assets/{index-CqmyLTa_.js → index-DLJnAsec.js} +1 -1
- package/src/assets/web-panel/assets/{index-D4XgKgOF.js → index-DMvkBq2d.js} +1 -1
- package/src/assets/web-panel/assets/{index-LQYz2tRO.js → index-DRNxWV3i.js} +1 -1
- package/src/assets/web-panel/assets/{index-BjPHuhxG.js → index-DTzwBmBS.js} +1 -1
- package/src/assets/web-panel/assets/{index-CINVudo7.js → index-DXSXIknb.js} +1 -1
- package/src/assets/web-panel/assets/{index-DycrmZ_r.js → index-Da_XUjv2.js} +1 -1
- package/src/assets/web-panel/assets/{index-CKRXnUTD.js → index-DfxUN2LB.js} +1 -1
- package/src/assets/web-panel/assets/{index-DBpVVgRI.js → index-DnATlZR7.js} +1 -1
- package/src/assets/web-panel/assets/{index-D0mFFS7Y.js → index-Dx7XPVkb.js} +1 -1
- package/src/assets/web-panel/assets/index-FpewH8xy.js +1 -0
- package/src/assets/web-panel/assets/{index-qLyVEtRM.js → index-JTN4jzka.js} +1 -1
- package/src/assets/web-panel/assets/{index-CCCX2ZSH.js → index-NppMuZBM.js} +1 -1
- package/src/assets/web-panel/assets/{index-DQSweK5-.js → index-OjH2wDtW.js} +1 -1
- package/src/assets/web-panel/assets/{index-5nOMJaLt.js → index-aBdRRXWO.js} +1 -1
- package/src/assets/web-panel/assets/{index-DXBc_lyR.js → index-nwkYgoRS.js} +1 -1
- package/src/assets/web-panel/assets/{index-wVpfPJXE.js → index-tUIluCPu.js} +1 -1
- package/src/assets/web-panel/assets/{index-I55BAmVG.js → index-xN0WCVmC.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-CAgx2aHm.js → initDefaultProps-DE_gVS_i.js} +1 -1
- package/src/assets/web-panel/assets/{motion-DFuREFOd.js → motion-BiRUGscQ.js} +1 -1
- package/src/assets/web-panel/assets/{move-DfcQIXuy.js → move-DMEzVMJZ.js} +1 -1
- package/src/assets/web-panel/assets/{omit-BFZV2hmZ.js → omit-DBh74Ui4.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-D98WQSur.js → pickAttrs-D6PQbWuo.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-BlP2AN9q.js → placementArrow-BYkdt9jF.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-DuI2xGQd.js → responsiveObserve-C2ES6P0V.js} +1 -1
- package/src/assets/web-panel/assets/{slide-DSvqah_S.js → slide-zGdjevxe.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-B-96ZLWF.js → statusUtils-Cf6eRpR7.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-Br0YrCOO.js → styleChecker-DZZx_bHs.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-BD4Xr9XU.js → useFlexGapSupport-B6q6zt9X.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-Ch5L3BnA.js → useFs-DjaBUk_P.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-BQi3uWRC.js → vnode-CDF4X084.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-DaW-jbu7.js → zoom-C9FCvBpV.js} +1 -1
- package/src/assets/web-panel/index.html +2 -2
- package/src/commands/ui.js +21 -3
- package/src/gateways/ws/message-dispatcher.js +34 -0
- package/src/gateways/ws/personal-data-hub-protocol.js +133 -0
- package/src/lib/personal-data-hub-wiring.js +310 -0
- package/src/runtime/agent-runtime.js +85 -11
- package/src/assets/web-panel/assets/AppLayout-xR6YUHsS.js +0 -3
- package/src/assets/web-panel/assets/Compliance-KySNEhMK.js +0 -1
- package/src/assets/web-panel/assets/KnowledgeGraph-DrRruyud.js +0 -1
- package/src/assets/web-panel/assets/Projects-0OrfK90x.css +0 -1
- package/src/assets/web-panel/assets/Projects-CNqXa5XY.js +0 -1
- package/src/assets/web-panel/assets/Recommend-Ccgu6elV.js +0 -1
- package/src/assets/web-panel/assets/Services-CsfvCqCH.js +0 -2
- package/src/assets/web-panel/assets/Terminal-CQZcdArx.js +0 -3
- package/src/assets/web-panel/assets/Tokens-CsNJIdNl.js +0 -1
- package/src/assets/web-panel/assets/index-B3blziag.js +0 -1
- package/src/assets/web-panel/assets/index-D1XYuPHf.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as ke,b as we,u as Ce,d as y}from"./index-CEbbycgJ.js";import{o as Oe,M as k,R as i,P as r,u as t,c as s,N as o,r as g,K as c,a as je,I as Pe,L as d,F as D,Y as J,Q as x,O as p,S as R,f as Te}from"./vendor-M5lGV-wr.js";import{u as ze}from"./useFs-Ch5L3BnA.js";import{j as Q,ao as W,m as Se,a3 as X,aq as Ae,aD as Fe,aC as Be,l as Z,aJ as Ie,aI as $e}from"./icons-NT6gy8Ee.js";import"./useShellMode-CgR0wCYM.js";const Ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ee={class:"page-title"},Le={class:"page-sub"},De={style:{display:"flex","align-items":"flex-start",gap:"10px"}},Je={style:{flex:"1","min-width":"0"}},Re={style:{"font-weight":"500",color:"#e0e0e0","font-size":"14px","font-family":"monospace","margin-bottom":"4px"}},Ue={style:{color:"var(--text-secondary)","font-size":"12px","line-height":"1.5"}},Ke={style:{"margin-top":"12px","text-align":"right"}},Me={style:{margin:"0","font-size":"12px","white-space":"pre-wrap","max-height":"200px","overflow-y":"auto"}},qe={key:0,style:{"text-align":"center",padding:"40px"}},Ve={style:{color:"var(--text-muted)","margin-top":"8px"}},He={style:{display:"flex","align-items":"flex-start",gap:"10px"}},Ye={style:{flex:"1","min-width":"0"}},Ge={style:{"font-weight":"500",color:"#e0e0e0","font-size":"14px","margin-bottom":"4px"}},Qe={style:{color:"var(--text-secondary)","font-size":"12px","line-height":"1.5"}},We={key:0,style:{"margin-top":"4px"}},Xe={style:{"margin-top":"12px","text-align":"right"}},Ze={style:{margin:"0","font-size":"12px","white-space":"pre-wrap","max-height":"200px","overflow-y":"auto"}},et={style:{"margin-bottom":"16px",display:"flex",gap:"8px"}},tt={style:{display:"flex","align-items":"center",gap:"8px","margin-bottom":"8px"}},at={style:{"font-weight":"500",color:"#e0e0e0","font-size":"14px",flex:"1",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},ot={style:{color:"var(--text-secondary)","font-size":"12px","line-height":"1.5","max-height":"60px",overflow:"hidden","text-overflow":"ellipsis","white-space":"pre-wrap"}},st={style:{"margin-top":"12px",display:"flex",gap:"8px","justify-content":"flex-end"}},lt={style:{color:"var(--text-muted)","font-size":"12px"}},ee="cc_prompt_templates",nt={__name:"Templates",setup(rt){const{t:e}=we(),T=Ce(),te=Pe(),U=ze(),z=g(!1),S=g(!1),K=g("project"),A=g(""),b=g(null),w=g(!1),F=g(""),ae=["code-project","data-science","devops","medical-triage","agriculture-expert","general-assistant","ai-media-creator","ai-doc-creator","empty"],oe=Te(()=>ae.map(l=>({name:l,description:e(`templates.project.items.${l}`)})));function se(l){F.value=l,w.value=!0}async function le(){w.value=!1;const l=F.value;if(l){A.value=l,b.value=null;try{const a=`init --template ${l} --yes`,{output:u,exitCode:_}=await T.execute(a,3e4);b.value={success:_===0,output:u}}catch(a){b.value={success:!1,output:e("templates.messages.initFailed",{err:a.message})}}finally{A.value=""}}}const B=g(!1),C=g([]),I=g(""),h=g(null);async function ne(){B.value=!0;try{const{output:l}=await T.execute("bi templates --json",15e3),a=JSON.parse(l);C.value=Array.isArray(a)?a:a.templates||[]}catch{C.value=[]}finally{B.value=!1}}async function re(l){I.value=l,h.value=null;try{const a=`bi dashboard create --template ${l} --json`,{output:u,exitCode:_}=await T.execute(a,3e4);h.value={success:_===0,output:u}}catch(a){h.value={success:!1,output:e("templates.messages.createFailed",{err:a.message})}}finally{I.value=""}}const v=g([]),O=g(!1),m=je({name:"",category:"general",content:""});function ie(){try{const l=localStorage.getItem(ee);v.value=l?JSON.parse(l):[]}catch{v.value=[]}}function $(){localStorage.setItem(ee,JSON.stringify(v.value))}function pe(){!m.name||!m.content||(v.value.push({name:m.name,category:m.category,content:m.content}),$(),M(),y.success(e("templates.messages.promptSaved")))}function M(){O.value=!1,m.name="",m.category="general",m.content=""}async function ce(){if(v.value.length){z.value=!0;try{const l=await U.saveJson({schema:1,prompts:v.value},{defaultPath:`prompt-templates-${new Date().toISOString().slice(0,10)}.json`});if(l.canceled)return;y.success(l.path?e("templates.messages.exportOk",{count:v.value.length,path:l.path}):e("templates.messages.exportOkDefault"))}catch(l){y.error(e("templates.messages.exportFailed",{err:l.message||l}))}finally{z.value=!1}}}async function me(){S.value=!0;try{const l=await U.pickFileText({title:e("templates.prompts.filePickerTitle"),filters:[{name:"JSON",extensions:["json"]}]});if(!l||l.canceled)return;if(l.reason==="too_large"){y.error(e("templates.messages.fileTooLarge"));return}let a;try{a=JSON.parse(l.content||"")}catch(f){y.error(e("templates.messages.jsonParseFailed",{err:f.message}));return}const u=Array.isArray(a)?a:Array.isArray(a?.prompts)?a.prompts:null;if(!u){y.error(e("templates.messages.fileShapeUnknown",{expected:"prompts: [...]"}));return}let _=0;for(const f of u)!f||typeof f!="object"||typeof f.name!="string"||typeof f.content!="string"||(v.value.push({name:f.name,category:typeof f.category=="string"?f.category:"general",content:f.content}),_++);_?($(),y.success(e("templates.messages.importedCount",{count:_}))):y.warning(e("templates.messages.importEmpty"))}catch(l){y.error(e("templates.messages.importFailed",{err:l.message||l}))}finally{S.value=!1}}function ue(l){v.value.splice(l,1),$(),y.success(e("templates.messages.promptDeleted"))}function de(l){navigator.clipboard.writeText(l.content).then(()=>{y.success(e("templates.messages.copiedClipboard"))}).catch(()=>{y.error(e("templates.messages.copyFailed"))})}function fe(l){te.push({path:"/chat",query:{prompt:l.content}})}function ge(l){return{general:"blue",code:"green",writing:"orange",analysis:"purple"}[l]||"default"}return Oe(()=>{ie(),ne()}),(l,a)=>{const u=c("a-button"),_=c("a-card"),f=c("a-col"),N=c("a-row"),q=c("a-alert"),E=c("a-tab-pane"),ve=c("a-spin"),V=c("a-empty"),H=c("a-tag"),ye=c("a-tabs"),Y=c("a-modal"),_e=c("a-input"),L=c("a-form-item"),j=c("a-select-option"),xe=c("a-select"),be=c("a-textarea"),he=c("a-form");return d(),k("div",null,[i("div",Ne,[i("div",null,[i("h2",Ee,r(t(e)("templates.title")),1),i("p",Le,r(t(e)("templates.subtitle")),1)])]),s(ye,{activeKey:K.value,"onUpdate:activeKey":a[3]||(a[3]=n=>K.value=n),type:"card"},{default:o(()=>[s(E,{key:"project"},{tab:o(()=>[s(t(Se)),p(" "+r(t(e)("templates.tabs.project")),1)]),default:o(()=>[s(N,{gutter:[16,16]},{default:o(()=>[(d(!0),k(D,null,J(oe.value,n=>(d(),x(f,{key:n.name,xs:24,sm:12,lg:8},{default:o(()=>[s(_,{size:"small",hoverable:"",class:"template-card",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[i("div",De,[s(t(Q),{style:{"font-size":"24px",color:"#1677ff","flex-shrink":"0","margin-top":"2px"}}),i("div",Je,[i("div",Re,r(n.name),1),i("div",Ue,r(n.description),1)])]),i("div",Ke,[s(u,{type:"primary",size:"small",loading:A.value===n.name,onClick:P=>se(n.name)},{icon:o(()=>[s(t(W))]),default:o(()=>[p(" "+r(t(e)("templates.project.initButton")),1)]),_:1},8,["loading","onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1}),b.value?(d(),x(q,{key:0,message:b.value.success?t(e)("templates.project.initSuccessAlert"):t(e)("templates.project.initFailureAlert"),type:b.value.success?"success":"error","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:a[0]||(a[0]=n=>b.value=null)},{description:o(()=>[i("pre",Me,r(b.value.output),1)]),_:1},8,["message","type"])):R("",!0)]),_:1}),s(E,{key:"bi"},{tab:o(()=>[s(t(X)),p(" "+r(t(e)("templates.tabs.bi")),1)]),default:o(()=>[B.value?(d(),k("div",qe,[s(ve),i("div",Ve,r(t(e)("templates.bi.loadingHint")),1)])):C.value.length?(d(),x(N,{key:2,gutter:[16,16]},{default:o(()=>[(d(!0),k(D,null,J(C.value,n=>(d(),x(f,{key:n.id,xs:24,sm:12,lg:8},{default:o(()=>[s(_,{size:"small",hoverable:"",class:"template-card",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[i("div",He,[s(t(X),{style:{"font-size":"24px",color:"#722ed1","flex-shrink":"0","margin-top":"2px"}}),i("div",Ye,[i("div",Ge,r(n.name),1),i("div",Qe,r(n.description||t(e)("templates.bi.noDescription")),1),n.id?(d(),k("div",We,[s(H,{size:"small",color:"purple"},{default:o(()=>[p(r(n.id),1)]),_:2},1024)])):R("",!0)])]),i("div",Xe,[s(u,{type:"primary",size:"small",loading:I.value===n.id,onClick:P=>re(n.id)},{icon:o(()=>[s(t(W))]),default:o(()=>[p(" "+r(t(e)("templates.bi.createButton")),1)]),_:1},8,["loading","onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),x(V,{key:1,description:t(e)("templates.bi.emptyText")},null,8,["description"])),h.value?(d(),x(q,{key:3,message:h.value.success?t(e)("templates.bi.createSuccessAlert"):t(e)("templates.bi.createFailureAlert"),type:h.value.success?"success":"error","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:a[1]||(a[1]=n=>h.value=null)},{description:o(()=>[i("pre",Ze,r(h.value.output),1)]),_:1},8,["message","type"])):R("",!0)]),_:1}),s(E,{key:"prompts"},{tab:o(()=>[s(t(Z)),p(" "+r(t(e)("templates.tabs.prompts")),1)]),default:o(()=>[i("div",et,[s(u,{type:"primary",onClick:a[2]||(a[2]=n=>O.value=!0)},{icon:o(()=>[s(t(Ae))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.newButton")),1)]),_:1}),s(u,{disabled:!v.value.length,loading:z.value,onClick:ce},{icon:o(()=>[s(t(Fe))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.exportAll")),1)]),_:1},8,["disabled","loading"]),s(u,{loading:S.value,onClick:me},{icon:o(()=>[s(t(Be))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.import")),1)]),_:1},8,["loading"])]),v.value.length?(d(),x(N,{key:1,gutter:[16,16]},{default:o(()=>[(d(!0),k(D,null,J(v.value,(n,P)=>(d(),x(f,{key:P,xs:24,sm:12,lg:8},{default:o(()=>[s(_,{size:"small",class:"template-card",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[i("div",tt,[s(t(Z),{style:{"font-size":"18px",color:"#52c41a"}}),i("span",at,r(n.name),1),s(H,{color:ge(n.category),size:"small"},{default:o(()=>[p(r(n.category),1)]),_:2},1032,["color"])]),i("div",ot,r(n.content.length>120?n.content.slice(0,120)+"...":n.content),1),i("div",st,[s(u,{size:"small",onClick:G=>fe(n)},{icon:o(()=>[s(t(Q))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.useButton")),1)]),_:1},8,["onClick"]),s(u,{size:"small",onClick:G=>de(n)},{icon:o(()=>[s(t(Ie))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.copyButton")),1)]),_:1},8,["onClick"]),s(u,{size:"small",danger:"",onClick:G=>ue(P)},{icon:o(()=>[s(t($e))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.deleteButton")),1)]),_:1},8,["onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),x(V,{key:0,description:t(e)("templates.prompts.emptyText")},null,8,["description"]))]),_:1})]),_:1},8,["activeKey"]),s(Y,{open:w.value,"onUpdate:open":a[4]||(a[4]=n=>w.value=n),title:t(e)("templates.project.confirmTitle"),onOk:le,onCancel:a[5]||(a[5]=n=>w.value=!1),"ok-text":t(e)("templates.project.confirmOk"),"cancel-text":t(e)("common.cancel")},{default:o(()=>[i("p",null,[p(r(t(e)("templates.project.confirmIntro"))+" ",1),i("strong",null,r(F.value),1),p(" "+r(t(e)("templates.project.confirmIntroSuffix")),1)]),i("p",lt,r(t(e)("templates.project.confirmHint")),1)]),_:1},8,["open","title","ok-text","cancel-text"]),s(Y,{open:O.value,"onUpdate:open":a[9]||(a[9]=n=>O.value=n),title:t(e)("templates.prompts.modalTitle"),onOk:pe,onCancel:M,"ok-text":t(e)("templates.prompts.modalOk"),"cancel-text":t(e)("common.cancel"),"ok-button-props":{disabled:!m.name||!m.content}},{default:o(()=>[s(he,{layout:"vertical"},{default:o(()=>[s(L,{label:t(e)("templates.prompts.nameLabel"),required:""},{default:o(()=>[s(_e,{value:m.name,"onUpdate:value":a[6]||(a[6]=n=>m.name=n),placeholder:t(e)("templates.prompts.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(L,{label:t(e)("templates.prompts.categoryLabel")},{default:o(()=>[s(xe,{value:m.category,"onUpdate:value":a[7]||(a[7]=n=>m.category=n),style:{width:"100%"}},{default:o(()=>[s(j,{value:"general"},{default:o(()=>[...a[10]||(a[10]=[p("general",-1)])]),_:1}),s(j,{value:"code"},{default:o(()=>[...a[11]||(a[11]=[p("code",-1)])]),_:1}),s(j,{value:"writing"},{default:o(()=>[...a[12]||(a[12]=[p("writing",-1)])]),_:1}),s(j,{value:"analysis"},{default:o(()=>[...a[13]||(a[13]=[p("analysis",-1)])]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),s(L,{label:t(e)("templates.prompts.contentLabel"),required:""},{default:o(()=>[s(be,{value:m.content,"onUpdate:value":a[8]||(a[8]=n=>m.content=n),rows:6,placeholder:t(e)("templates.prompts.contentPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","ok-text","cancel-text","ok-button-props"])])}}},dt=ke(nt,[["__scopeId","data-v-d59b8b0a"]]);export{dt as default};
|
|
1
|
+
import{_ as ke,b as we,u as Ce,d as y}from"./index-B_juAGfN.js";import{o as Oe,M as k,R as i,P as r,u as t,c as s,N as o,r as g,K as c,a as je,I as Pe,L as d,F as D,Y as J,Q as x,O as p,S as R,f as Te}from"./vendor-M5lGV-wr.js";import{u as ze}from"./useFs-DjaBUk_P.js";import{j as Q,ap as W,m as Se,a4 as X,ar as Ae,aF as Fe,aE as Be,l as Z,aM as $e,aL as Ie}from"./icons-BFHq5fEF.js";import"./useShellMode-CgR0wCYM.js";const Ne={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ee={class:"page-title"},Le={class:"page-sub"},De={style:{display:"flex","align-items":"flex-start",gap:"10px"}},Je={style:{flex:"1","min-width":"0"}},Re={style:{"font-weight":"500",color:"#e0e0e0","font-size":"14px","font-family":"monospace","margin-bottom":"4px"}},Ue={style:{color:"var(--text-secondary)","font-size":"12px","line-height":"1.5"}},Me={style:{"margin-top":"12px","text-align":"right"}},Ke={style:{margin:"0","font-size":"12px","white-space":"pre-wrap","max-height":"200px","overflow-y":"auto"}},Ve={key:0,style:{"text-align":"center",padding:"40px"}},qe={style:{color:"var(--text-muted)","margin-top":"8px"}},He={style:{display:"flex","align-items":"flex-start",gap:"10px"}},Ye={style:{flex:"1","min-width":"0"}},Ge={style:{"font-weight":"500",color:"#e0e0e0","font-size":"14px","margin-bottom":"4px"}},Qe={style:{color:"var(--text-secondary)","font-size":"12px","line-height":"1.5"}},We={key:0,style:{"margin-top":"4px"}},Xe={style:{"margin-top":"12px","text-align":"right"}},Ze={style:{margin:"0","font-size":"12px","white-space":"pre-wrap","max-height":"200px","overflow-y":"auto"}},et={style:{"margin-bottom":"16px",display:"flex",gap:"8px"}},tt={style:{display:"flex","align-items":"center",gap:"8px","margin-bottom":"8px"}},at={style:{"font-weight":"500",color:"#e0e0e0","font-size":"14px",flex:"1",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},ot={style:{color:"var(--text-secondary)","font-size":"12px","line-height":"1.5","max-height":"60px",overflow:"hidden","text-overflow":"ellipsis","white-space":"pre-wrap"}},st={style:{"margin-top":"12px",display:"flex",gap:"8px","justify-content":"flex-end"}},lt={style:{color:"var(--text-muted)","font-size":"12px"}},ee="cc_prompt_templates",nt={__name:"Templates",setup(rt){const{t:e}=we(),T=Ce(),te=Pe(),U=ze(),z=g(!1),S=g(!1),M=g("project"),A=g(""),b=g(null),w=g(!1),F=g(""),ae=["code-project","data-science","devops","medical-triage","agriculture-expert","general-assistant","ai-media-creator","ai-doc-creator","empty"],oe=Te(()=>ae.map(l=>({name:l,description:e(`templates.project.items.${l}`)})));function se(l){F.value=l,w.value=!0}async function le(){w.value=!1;const l=F.value;if(l){A.value=l,b.value=null;try{const a=`init --template ${l} --yes`,{output:u,exitCode:_}=await T.execute(a,3e4);b.value={success:_===0,output:u}}catch(a){b.value={success:!1,output:e("templates.messages.initFailed",{err:a.message})}}finally{A.value=""}}}const B=g(!1),C=g([]),$=g(""),h=g(null);async function ne(){B.value=!0;try{const{output:l}=await T.execute("bi templates --json",15e3),a=JSON.parse(l);C.value=Array.isArray(a)?a:a.templates||[]}catch{C.value=[]}finally{B.value=!1}}async function re(l){$.value=l,h.value=null;try{const a=`bi dashboard create --template ${l} --json`,{output:u,exitCode:_}=await T.execute(a,3e4);h.value={success:_===0,output:u}}catch(a){h.value={success:!1,output:e("templates.messages.createFailed",{err:a.message})}}finally{$.value=""}}const v=g([]),O=g(!1),m=je({name:"",category:"general",content:""});function ie(){try{const l=localStorage.getItem(ee);v.value=l?JSON.parse(l):[]}catch{v.value=[]}}function I(){localStorage.setItem(ee,JSON.stringify(v.value))}function pe(){!m.name||!m.content||(v.value.push({name:m.name,category:m.category,content:m.content}),I(),K(),y.success(e("templates.messages.promptSaved")))}function K(){O.value=!1,m.name="",m.category="general",m.content=""}async function ce(){if(v.value.length){z.value=!0;try{const l=await U.saveJson({schema:1,prompts:v.value},{defaultPath:`prompt-templates-${new Date().toISOString().slice(0,10)}.json`});if(l.canceled)return;y.success(l.path?e("templates.messages.exportOk",{count:v.value.length,path:l.path}):e("templates.messages.exportOkDefault"))}catch(l){y.error(e("templates.messages.exportFailed",{err:l.message||l}))}finally{z.value=!1}}}async function me(){S.value=!0;try{const l=await U.pickFileText({title:e("templates.prompts.filePickerTitle"),filters:[{name:"JSON",extensions:["json"]}]});if(!l||l.canceled)return;if(l.reason==="too_large"){y.error(e("templates.messages.fileTooLarge"));return}let a;try{a=JSON.parse(l.content||"")}catch(f){y.error(e("templates.messages.jsonParseFailed",{err:f.message}));return}const u=Array.isArray(a)?a:Array.isArray(a?.prompts)?a.prompts:null;if(!u){y.error(e("templates.messages.fileShapeUnknown",{expected:"prompts: [...]"}));return}let _=0;for(const f of u)!f||typeof f!="object"||typeof f.name!="string"||typeof f.content!="string"||(v.value.push({name:f.name,category:typeof f.category=="string"?f.category:"general",content:f.content}),_++);_?(I(),y.success(e("templates.messages.importedCount",{count:_}))):y.warning(e("templates.messages.importEmpty"))}catch(l){y.error(e("templates.messages.importFailed",{err:l.message||l}))}finally{S.value=!1}}function ue(l){v.value.splice(l,1),I(),y.success(e("templates.messages.promptDeleted"))}function de(l){navigator.clipboard.writeText(l.content).then(()=>{y.success(e("templates.messages.copiedClipboard"))}).catch(()=>{y.error(e("templates.messages.copyFailed"))})}function fe(l){te.push({path:"/chat",query:{prompt:l.content}})}function ge(l){return{general:"blue",code:"green",writing:"orange",analysis:"purple"}[l]||"default"}return Oe(()=>{ie(),ne()}),(l,a)=>{const u=c("a-button"),_=c("a-card"),f=c("a-col"),N=c("a-row"),V=c("a-alert"),E=c("a-tab-pane"),ve=c("a-spin"),q=c("a-empty"),H=c("a-tag"),ye=c("a-tabs"),Y=c("a-modal"),_e=c("a-input"),L=c("a-form-item"),j=c("a-select-option"),xe=c("a-select"),be=c("a-textarea"),he=c("a-form");return d(),k("div",null,[i("div",Ne,[i("div",null,[i("h2",Ee,r(t(e)("templates.title")),1),i("p",Le,r(t(e)("templates.subtitle")),1)])]),s(ye,{activeKey:M.value,"onUpdate:activeKey":a[3]||(a[3]=n=>M.value=n),type:"card"},{default:o(()=>[s(E,{key:"project"},{tab:o(()=>[s(t(Se)),p(" "+r(t(e)("templates.tabs.project")),1)]),default:o(()=>[s(N,{gutter:[16,16]},{default:o(()=>[(d(!0),k(D,null,J(oe.value,n=>(d(),x(f,{key:n.name,xs:24,sm:12,lg:8},{default:o(()=>[s(_,{size:"small",hoverable:"",class:"template-card",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[i("div",De,[s(t(Q),{style:{"font-size":"24px",color:"#1677ff","flex-shrink":"0","margin-top":"2px"}}),i("div",Je,[i("div",Re,r(n.name),1),i("div",Ue,r(n.description),1)])]),i("div",Me,[s(u,{type:"primary",size:"small",loading:A.value===n.name,onClick:P=>se(n.name)},{icon:o(()=>[s(t(W))]),default:o(()=>[p(" "+r(t(e)("templates.project.initButton")),1)]),_:1},8,["loading","onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1}),b.value?(d(),x(V,{key:0,message:b.value.success?t(e)("templates.project.initSuccessAlert"):t(e)("templates.project.initFailureAlert"),type:b.value.success?"success":"error","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:a[0]||(a[0]=n=>b.value=null)},{description:o(()=>[i("pre",Ke,r(b.value.output),1)]),_:1},8,["message","type"])):R("",!0)]),_:1}),s(E,{key:"bi"},{tab:o(()=>[s(t(X)),p(" "+r(t(e)("templates.tabs.bi")),1)]),default:o(()=>[B.value?(d(),k("div",Ve,[s(ve),i("div",qe,r(t(e)("templates.bi.loadingHint")),1)])):C.value.length?(d(),x(N,{key:2,gutter:[16,16]},{default:o(()=>[(d(!0),k(D,null,J(C.value,n=>(d(),x(f,{key:n.id,xs:24,sm:12,lg:8},{default:o(()=>[s(_,{size:"small",hoverable:"",class:"template-card",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[i("div",He,[s(t(X),{style:{"font-size":"24px",color:"#722ed1","flex-shrink":"0","margin-top":"2px"}}),i("div",Ye,[i("div",Ge,r(n.name),1),i("div",Qe,r(n.description||t(e)("templates.bi.noDescription")),1),n.id?(d(),k("div",We,[s(H,{size:"small",color:"purple"},{default:o(()=>[p(r(n.id),1)]),_:2},1024)])):R("",!0)])]),i("div",Xe,[s(u,{type:"primary",size:"small",loading:$.value===n.id,onClick:P=>re(n.id)},{icon:o(()=>[s(t(W))]),default:o(()=>[p(" "+r(t(e)("templates.bi.createButton")),1)]),_:1},8,["loading","onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),x(q,{key:1,description:t(e)("templates.bi.emptyText")},null,8,["description"])),h.value?(d(),x(V,{key:3,message:h.value.success?t(e)("templates.bi.createSuccessAlert"):t(e)("templates.bi.createFailureAlert"),type:h.value.success?"success":"error","show-icon":"",closable:"",style:{"margin-top":"16px"},onClose:a[1]||(a[1]=n=>h.value=null)},{description:o(()=>[i("pre",Ze,r(h.value.output),1)]),_:1},8,["message","type"])):R("",!0)]),_:1}),s(E,{key:"prompts"},{tab:o(()=>[s(t(Z)),p(" "+r(t(e)("templates.tabs.prompts")),1)]),default:o(()=>[i("div",et,[s(u,{type:"primary",onClick:a[2]||(a[2]=n=>O.value=!0)},{icon:o(()=>[s(t(Ae))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.newButton")),1)]),_:1}),s(u,{disabled:!v.value.length,loading:z.value,onClick:ce},{icon:o(()=>[s(t(Fe))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.exportAll")),1)]),_:1},8,["disabled","loading"]),s(u,{loading:S.value,onClick:me},{icon:o(()=>[s(t(Be))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.import")),1)]),_:1},8,["loading"])]),v.value.length?(d(),x(N,{key:1,gutter:[16,16]},{default:o(()=>[(d(!0),k(D,null,J(v.value,(n,P)=>(d(),x(f,{key:P,xs:24,sm:12,lg:8},{default:o(()=>[s(_,{size:"small",class:"template-card",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:o(()=>[i("div",tt,[s(t(Z),{style:{"font-size":"18px",color:"#52c41a"}}),i("span",at,r(n.name),1),s(H,{color:ge(n.category),size:"small"},{default:o(()=>[p(r(n.category),1)]),_:2},1032,["color"])]),i("div",ot,r(n.content.length>120?n.content.slice(0,120)+"...":n.content),1),i("div",st,[s(u,{size:"small",onClick:G=>fe(n)},{icon:o(()=>[s(t(Q))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.useButton")),1)]),_:1},8,["onClick"]),s(u,{size:"small",onClick:G=>de(n)},{icon:o(()=>[s(t($e))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.copyButton")),1)]),_:1},8,["onClick"]),s(u,{size:"small",danger:"",onClick:G=>ue(P)},{icon:o(()=>[s(t(Ie))]),default:o(()=>[p(" "+r(t(e)("templates.prompts.deleteButton")),1)]),_:1},8,["onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),x(q,{key:0,description:t(e)("templates.prompts.emptyText")},null,8,["description"]))]),_:1})]),_:1},8,["activeKey"]),s(Y,{open:w.value,"onUpdate:open":a[4]||(a[4]=n=>w.value=n),title:t(e)("templates.project.confirmTitle"),onOk:le,onCancel:a[5]||(a[5]=n=>w.value=!1),"ok-text":t(e)("templates.project.confirmOk"),"cancel-text":t(e)("common.cancel")},{default:o(()=>[i("p",null,[p(r(t(e)("templates.project.confirmIntro"))+" ",1),i("strong",null,r(F.value),1),p(" "+r(t(e)("templates.project.confirmIntroSuffix")),1)]),i("p",lt,r(t(e)("templates.project.confirmHint")),1)]),_:1},8,["open","title","ok-text","cancel-text"]),s(Y,{open:O.value,"onUpdate:open":a[9]||(a[9]=n=>O.value=n),title:t(e)("templates.prompts.modalTitle"),onOk:pe,onCancel:K,"ok-text":t(e)("templates.prompts.modalOk"),"cancel-text":t(e)("common.cancel"),"ok-button-props":{disabled:!m.name||!m.content}},{default:o(()=>[s(he,{layout:"vertical"},{default:o(()=>[s(L,{label:t(e)("templates.prompts.nameLabel"),required:""},{default:o(()=>[s(_e,{value:m.name,"onUpdate:value":a[6]||(a[6]=n=>m.name=n),placeholder:t(e)("templates.prompts.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),s(L,{label:t(e)("templates.prompts.categoryLabel")},{default:o(()=>[s(xe,{value:m.category,"onUpdate:value":a[7]||(a[7]=n=>m.category=n),style:{width:"100%"}},{default:o(()=>[s(j,{value:"general"},{default:o(()=>[...a[10]||(a[10]=[p("general",-1)])]),_:1}),s(j,{value:"code"},{default:o(()=>[...a[11]||(a[11]=[p("code",-1)])]),_:1}),s(j,{value:"writing"},{default:o(()=>[...a[12]||(a[12]=[p("writing",-1)])]),_:1}),s(j,{value:"analysis"},{default:o(()=>[...a[13]||(a[13]=[p("analysis",-1)])]),_:1})]),_:1},8,["value"])]),_:1},8,["label"]),s(L,{label:t(e)("templates.prompts.contentLabel"),required:""},{default:o(()=>[s(be,{value:m.content,"onUpdate:value":a[8]||(a[8]=n=>m.content=n),rows:6,placeholder:t(e)("templates.prompts.contentPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","ok-text","cancel-text","ok-button-props"])])}}},dt=ke(nt,[["__scopeId","data-v-d59b8b0a"]]);export{dt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as et,u as tt,b as at,d as m}from"./index-CEbbycgJ.js";import{s as nt}from"./community-parser-CO25nZFt.js";import{R as lt,aq as ot,a2 as me,D as st,aQ as rt,a_ as je,n as ut}from"./icons-NT6gy8Ee.js";import{o as it,M as f,R as v,P as u,c as l,N as a,Q as b,S as h,K as y,r as S,L as i,O as p,u as g,F as C,Y as z,a as ne,f as le}from"./vendor-M5lGV-wr.js";function D(s){const r=nt(s);if(!r)return null;try{return JSON.parse(r)}catch{}const o=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!o)return null;try{return JSON.parse(o[0])}catch{return null}}const G=Object.freeze(["free","starter","pro","enterprise"]),dt=Object.freeze(["active","suspended","deleted"]),Ue=Object.freeze(["api_calls","storage_bytes","ai_requests"]);function F(s,r=0){return typeof s=="number"&&Number.isFinite(s)?s:r}function ct(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";if(!o)return null;const w=s.quotas&&typeof s.quotas=="object"?{...s.quotas}:{};return{key:o,id:o,name:String(s.name||o),monthlyFee:s.monthlyFee==null?null:F(s.monthlyFee,null),quotas:w,features:Array.isArray(s.features)?s.features.filter(K=>typeof K=="string"):[],_idx:r}}function pt(s){const r=D(s);return Array.isArray(r)?r.map(ct).filter(Boolean):[]}function ft(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";return o?{key:o,id:o,name:String(s.name||o),unit:String(s.unit||""),_idx:r}:null}function mt(s){const r=D(s);return Array.isArray(r)?r.map(ft).filter(Boolean):[]}function vt(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";return o?{key:o,id:o,name:String(s.name||""),slug:String(s.slug||""),config:s.config??null,status:String(s.status||"active").toLowerCase(),plan:String(s.plan||"free").toLowerCase(),dbPath:s.dbPath||null,ownerId:s.ownerId||"",createdAt:s.createdAt??null,updatedAt:s.updatedAt??null,deletedAt:s.deletedAt??null,_idx:r}:null}function yt(s){const r=D(s);return Array.isArray(r)?r.map(vt).filter(Boolean):[]}function bt(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";return o?{key:o,id:o,tenantId:String(s.tenantId||""),plan:String(s.plan||"free").toLowerCase(),status:String(s.status||"active").toLowerCase(),startedAt:s.startedAt??null,expiresAt:s.expiresAt??null,cancelledAt:s.cancelledAt??null,paymentMethod:s.paymentMethod||null,amount:s.amount==null?null:F(s.amount,null),createdAt:s.createdAt??null,_idx:r}:null}function gt(s){const r=D(s);return Array.isArray(r)?r.map(bt).filter(Boolean):[]}function _t(s){const r=D(s);return!r||typeof r!="object"||Array.isArray(r)?null:{tenantId:String(r.tenantId||""),plan:String(r.plan||"free").toLowerCase(),metric:String(r.metric||""),period:String(r.period||""),limit:r.limit==null?null:F(r.limit,null),used:F(r.used,0),remaining:r.remaining==null?null:F(r.remaining,null),unlimited:!!r.unlimited,exceeded:!!r.exceeded}}const kt={tenantCount:0,byStatus:{active:0,suspended:0,deleted:0},byPlan:{free:0,starter:0,pro:0,enterprise:0},subscriptionCount:0,activeSubscriptions:0,usageRecordCount:0,totalUsage:{api_calls:0,storage_bytes:0,ai_requests:0}};function $t(s){const r=JSON.parse(JSON.stringify(kt)),o=D(s);if(!o||typeof o!="object"||Array.isArray(o))return r;if(r.tenantCount=F(o.tenantCount,0),r.subscriptionCount=F(o.subscriptionCount,0),r.activeSubscriptions=F(o.activeSubscriptions,0),r.usageRecordCount=F(o.usageRecordCount,0),o.byStatus&&typeof o.byStatus=="object")for(const w of Object.keys(r.byStatus))r.byStatus[w]=F(o.byStatus[w],0);if(o.byPlan&&typeof o.byPlan=="object")for(const w of Object.keys(r.byPlan))r.byPlan[w]=F(o.byPlan[w],0);if(o.totalUsage&&typeof o.totalUsage=="object")for(const w of Object.keys(r.totalUsage))r.totalUsage[w]=F(o.totalUsage[w],0);return r}function ve(s){if(s==null||s==="")return"—";const r=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(r.getTime())?String(s):r.toLocaleString("zh-CN",{hour12:!1})}function ye(s){return typeof s!="number"||!Number.isFinite(s)||s<0?"—":s===0?"0":s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:s<1024*1024*1024?`${(s/1024/1024).toFixed(1)} MB`:`${(s/1024/1024/1024).toFixed(2)} GB`}function ht(s=new Date){const r=s.getFullYear(),o=String(s.getMonth()+1).padStart(2,"0");return`${r}-${o}`}const St={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ct={class:"page-title"},xt={class:"page-sub"},wt={style:{color:"var(--text-secondary)","font-size":"12px","margin-left":"8px"}},At={class:"filter-bar"},zt={style:{color:"var(--text-primary)","font-weight":"500"}},qt={style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px","font-family":"monospace"}},Ft={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Lt={key:1,style:{color:"var(--text-muted)"}},jt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Ut={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},It={style:{color:"var(--text-primary)","font-weight":"500"}},Tt={style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Pt={key:0,style:{color:"#722ed1","font-weight":"500"}},Nt={key:1,style:{color:"var(--text-muted)"}},Ot={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Mt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Rt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Et={class:"plan-fee"},Bt={key:0},Dt={class:"plan-fee-unit"},Kt={key:1,style:{color:"#722ed1"}},Qt={class:"plan-section"},Jt={class:"plan-section-title"},Vt={class:"plan-quota-label"},Wt={class:"plan-quota-value"},Yt={class:"plan-section"},Gt={class:"plan-section-title"},Ht={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}},Xt={style:{"font-family":"monospace",color:"var(--text-primary)"}},Zt={key:0},ea={style:{"font-family":"monospace"}},ta={key:1,style:{"margin-top":"8px"}},aa={__name:"Tenant",setup(s){const r=tt(),{t:o}=at(),w=S(!1),K=S(!1),oe=S(!1),se=S(!1),re=S(!1),Q=S([]),ue=S([]),be=S([]),ge=S([]),L=S({tenantCount:0,byStatus:{active:0,suspended:0,deleted:0},byPlan:{free:0,starter:0,pro:0,enterprise:0},subscriptionCount:0,activeSubscriptions:0,usageRecordCount:0,totalUsage:{api_calls:0,storage_bytes:0,ai_requests:0}}),ie=S("tenants"),J=S(""),V=S(""),H=S(!1),X=S(!1),de=S(!1),Z=S(!1),x=ne({name:"",slug:"",plan:"free",owner:""}),$=ne({tenantId:"",plan:"pro",amount:null,duration:720*60*60*1e3}),ce=S(""),q=ne({tenantId:null,metric:"api_calls",period:""}),_=ne({tenantId:null,metric:"api_calls",value:1,period:""}),k=S(null),Ie=le(()=>[{title:o("tenant.tenantCols.name"),key:"name"},{title:o("tenant.tenantCols.plan"),key:"plan",width:"110px"},{title:o("tenant.tenantCols.status"),key:"status",width:"100px"},{title:o("tenant.tenantCols.owner"),key:"owner",width:"160px"},{title:o("tenant.tenantCols.createdAt"),key:"createdAt",width:"160px"},{title:o("tenant.tenantCols.action"),key:"action",width:"280px"}]),Te=le(()=>[{title:o("tenant.subscriptionCols.tenant"),key:"tenant"},{title:o("tenant.subscriptionCols.plan"),key:"plan",width:"110px"},{title:o("tenant.subscriptionCols.amount"),key:"amount",width:"100px"},{title:o("tenant.subscriptionCols.status"),key:"status",width:"110px"},{title:o("tenant.subscriptionCols.startedAt"),key:"startedAt",width:"160px"},{title:o("tenant.subscriptionCols.expiresAt"),key:"expiresAt",width:"160px"},{title:o("tenant.subscriptionCols.action"),key:"action",width:"120px"}]),Pe=le(()=>{let e=Q.value;return J.value&&(e=e.filter(n=>n.plan===J.value)),V.value&&(e=e.filter(n=>n.status===V.value)),e}),Ne=le(()=>ue.value.filter(e=>e.status==="active"&&typeof e.amount=="number").reduce((e,n)=>e+n.amount,0));function I(e){const n=`tenant.planLabels.${e}`,d=o(n);return d===n?e:d}function W(e){return{free:"default",starter:"blue",pro:"purple",enterprise:"gold"}[e]||"default"}function _e(e){const n=`tenant.tenantStatusLabels.${e}`,d=o(n);return d===n?e:d}function Oe(e){return{active:"green",suspended:"orange",deleted:"default"}[e]||"default"}function Me(e){const n=`tenant.subStatusLabels.${e}`,d=o(n);return d===n?e:d}function Re(e){return{active:"green",cancelled:"default",expired:"red",past_due:"orange"}[e]||"default"}function Ee(e){const n=Q.value.find(d=>d.id===e);return n?n.name:o("tenant.deletedTenant")}function ke(e,n){return e==null?"—":n==="storage_bytes"?ye(e):String(e)}function Be(e,n){return e==null?o("tenant.planCard.unlimited"):n==="storage_bytes"?ye(e):e.toLocaleString()}function De({key:e}){e==="tenant"?H.value=!0:e==="quota"?(k.value=null,de.value=!0):e==="record"&&(Z.value=!0)}async function T(){w.value=!0;try{const[e,n,d,j,ee]=await Promise.all([r.execute("tenant list --json",1e4).catch(()=>({output:""})),r.execute("tenant subscriptions --json",1e4).catch(()=>({output:""})),r.execute("tenant plans --json",8e3).catch(()=>({output:""})),r.execute("tenant metrics --json",8e3).catch(()=>({output:""})),r.execute("tenant stats --json",8e3).catch(()=>({output:""}))]);Q.value=yt(e.output),ue.value=gt(n.output),be.value=pt(d.output),ge.value=mt(j.output),L.value=$t(ee.output)}catch(e){m.error(o("tenant.msg.loadFailed")+": "+(e?.message||e))}finally{w.value=!1}}async function Ke(){const e=x.name.trim(),n=x.slug.trim();if(!e||!n){m.warning(o("tenant.msg.createFieldsEmpty"));return}if(!/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/.test(n)){m.warning(o("tenant.msg.slugInvalid"));return}K.value=!0;try{const d=[`tenant create "${e.replace(/"/g,'\\"')}" "${n.replace(/"/g,'\\"')}"`];d.push(`--plan ${x.plan}`),x.owner.trim()&&d.push(`--owner "${x.owner.trim().replace(/"/g,'\\"')}"`),d.push("--json");const{output:j}=await r.execute(d.join(" "),1e4);if(/error|Error|失败/i.test(j)&&!/"id"/.test(j)){m.error(o("tenant.msg.createFailed")+": "+j.slice(0,120));return}m.success(o("tenant.msg.createSuccess")),H.value=!1,he(),await T()}catch(d){m.error(o("tenant.msg.createFailed")+": "+(d?.message||d))}finally{K.value=!1}}function Qe(e){$.tenantId=e.id,$.plan=e.plan==="free"?"starter":e.plan,$.amount=null,$.duration=720*60*60*1e3,ce.value=e.name,X.value=!0}async function Je(){oe.value=!0;try{const e=[`tenant subscribe ${$.tenantId}`];e.push(`--plan ${$.plan}`),$.amount!=null&&e.push(`--amount ${$.amount}`),$.duration&&e.push(`--duration-ms ${$.duration}`),e.push("--json");const{output:n}=await r.execute(e.join(" "),1e4);if(/error|Error|失败/i.test(n)&&!/"id"/.test(n)){m.error(o("tenant.msg.subscribeFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.subscribeSuccess")),X.value=!1,Se(),ie.value="subscriptions",await T()}catch(e){m.error(o("tenant.msg.subscribeFailed")+": "+(e?.message||e))}finally{oe.value=!1}}async function Ve(e,n){if(n!==e.plan)try{const{output:d}=await r.execute(`tenant configure ${e.id} --plan ${n} --json`,8e3);if(/error|Error/i.test(d)&&!/"id"/.test(d)){m.error(o("tenant.msg.planChangeFailed")+": "+d.slice(0,120));return}m.success(o("tenant.msg.planChangeSuccess",{plan:I(n)})),await T()}catch(d){m.error(o("tenant.msg.planChangeFailed")+": "+(d?.message||d))}}async function $e(e,n){try{const{output:d}=await r.execute(`tenant configure ${e.id} --status ${n} --json`,8e3);if(/error|Error/i.test(d)&&!/"id"/.test(d)){m.error(o("tenant.msg.statusChangeFailed")+": "+d.slice(0,120));return}m.success(o(n==="active"?"tenant.msg.activated":"tenant.msg.suspended")),await T()}catch(d){m.error(o("tenant.msg.statusChangeFailed")+": "+(d?.message||d))}}async function We(e){try{const{output:n}=await r.execute(`tenant delete ${e.id} --json`,8e3);if(/error|Error/i.test(n)&&!/deleted|removed/.test(n)){m.error(o("tenant.msg.deleteFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.deleteSuccess")),await T()}catch(n){m.error(o("tenant.msg.deleteFailed")+": "+(n?.message||n))}}async function Ye(e){try{const{output:n}=await r.execute(`tenant cancel ${e.tenantId}`,8e3);if(/error|Error/i.test(n)&&!/cancelled|cancel/i.test(n)){m.error(o("tenant.msg.cancelFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.cancelSuccess")),await T()}catch(n){m.error(o("tenant.msg.cancelFailed")+": "+(n?.message||n))}}async function Ge(){if(!q.tenantId){m.warning(o("tenant.msg.tenantEmpty"));return}se.value=!0,k.value=null;try{const e=[`tenant check-quota ${q.tenantId} ${q.metric}`];q.period.trim()&&e.push(`--period ${q.period.trim()}`),e.push("--json");const{output:n}=await r.execute(e.join(" "),8e3),d=_t(n);if(!d){m.error(o("tenant.msg.checkFailed")+": "+n.slice(0,120));return}k.value=d,d.exceeded&&m.warning(o("tenant.msg.exceededWarning"))}catch(e){m.error(o("tenant.msg.checkFailed")+": "+(e?.message||e))}finally{se.value=!1}}async function He(){if(!_.tenantId){m.warning(o("tenant.msg.tenantEmpty"));return}if(_.value==null||_.value<0){m.warning(o("tenant.msg.valueInvalid"));return}re.value=!0;try{const e=[`tenant record ${_.tenantId} ${_.metric} ${_.value}`];_.period.trim()&&e.push(`--period ${_.period.trim()}`),e.push("--json");const{output:n}=await r.execute(e.join(" "),8e3);if(/error|Error/i.test(n)&&!/"id"|"tenant"/.test(n)){m.error(o("tenant.msg.recordFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.recordSuccess")),Z.value=!1,Ce(),await T()}catch(e){m.error(o("tenant.msg.recordFailed")+": "+(e?.message||e))}finally{re.value=!1}}function he(){x.name="",x.slug="",x.plan="free",x.owner=""}function Se(){$.tenantId="",$.plan="pro",$.amount=null,$.duration=720*60*60*1e3,ce.value=""}function Ce(){_.tenantId=null,_.metric="api_calls",_.value=1,_.period=""}function xe(e){e.period||(e.period=ht())}return xe(q),xe(_),it(T),(e,n)=>{const d=y("a-button"),j=y("a-menu-item"),ee=y("a-menu"),we=y("a-dropdown"),Ae=y("a-space"),M=y("a-statistic"),P=y("a-card"),R=y("a-col"),ze=y("a-row"),N=y("a-tag"),O=y("a-radio-button"),pe=y("a-radio-group"),qe=y("a-popconfirm"),Fe=y("a-table"),fe=y("a-tab-pane"),Xe=y("a-tabs"),Y=y("a-input"),A=y("a-form-item"),E=y("a-select-option"),B=y("a-select"),te=y("a-form"),ae=y("a-modal"),Le=y("a-input-number"),Ze=y("a-progress");return i(),f("div",null,[v("div",St,[v("div",null,[v("h2",Ct,u(e.$t("tenant.title")),1),v("p",xt,u(e.$t("tenant.subtitle")),1)]),l(Ae,null,{default:a(()=>[l(d,{loading:w.value,onClick:T},{icon:a(()=>[l(g(lt))]),default:a(()=>[p(" "+u(e.$t("tenant.refresh")),1)]),_:1},8,["loading"]),l(we,{trigger:["click"]},{overlay:a(()=>[l(ee,{onClick:De},{default:a(()=>[l(j,{key:"tenant"},{default:a(()=>[l(g(me)),p(" "+u(e.$t("tenant.actions.tenant")),1)]),_:1}),l(j,{key:"quota"},{default:a(()=>[l(g(st)),p(" "+u(e.$t("tenant.actions.quota")),1)]),_:1}),l(j,{key:"record"},{default:a(()=>[l(g(rt)),p(" "+u(e.$t("tenant.actions.record")),1)]),_:1})]),_:1})]),default:a(()=>[l(d,{type:"primary"},{icon:a(()=>[l(g(ot))]),default:a(()=>[p(" "+u(e.$t("tenant.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),l(ze,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.total"),value:L.value.tenantCount,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[l(g(me))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.active"),value:L.value.activeSubscriptions,"value-style":{color:L.value.activeSubscriptions>0?"#52c41a":"#888",fontSize:"20px"}},{prefix:a(()=>[l(g(je))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.mrr"),value:Ne.value,precision:0,prefix:"¥","value-style":{color:"#722ed1",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1}),l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.apiCalls"),value:L.value.totalUsage.api_calls,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[l(g(ut))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(R,{xs:24,sm:8,lg:4},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.storage"),value:g(ye)(L.value.totalUsage.storage_bytes),"value-style":{color:"#faad14",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),L.value.tenantCount>0?(i(),b(P,{key:0,title:e.$t("tenant.plansCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[l(Ae,{size:[12,8],wrap:""},{default:a(()=>[(i(!0),f(C,null,z(g(G),t=>(i(),b(N,{key:t,color:W(t)},{default:a(()=>[p(u(I(t))+": "+u(L.value.byPlan[t]||0),1)]),_:2},1032,["color"]))),128)),v("span",wt,u(e.$t("tenant.summarySuffix",{active:L.value.byStatus.active,suspended:L.value.byStatus.suspended,deleted:L.value.byStatus.deleted})),1)]),_:1})]),_:1},8,["title"])):h("",!0),l(Xe,{activeKey:ie.value,"onUpdate:activeKey":n[2]||(n[2]=t=>ie.value=t),class:"tenant-tabs"},{default:a(()=>[l(fe,{key:"tenants",tab:e.$t("tenant.tabs.tenants")},{default:a(()=>[v("div",At,[l(pe,{value:J.value,"onUpdate:value":n[0]||(n[0]=t=>J.value=t),size:"small"},{default:a(()=>[l(O,{value:""},{default:a(()=>[p(u(e.$t("tenant.filter.allPlans")),1)]),_:1}),(i(!0),f(C,null,z(g(G),t=>(i(),b(O,{key:t,value:t},{default:a(()=>[p(u(I(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),l(pe,{value:V.value,"onUpdate:value":n[1]||(n[1]=t=>V.value=t),size:"small","button-style":"solid"},{default:a(()=>[l(O,{value:""},{default:a(()=>[p(u(e.$t("tenant.filter.allStatuses")),1)]),_:1}),(i(!0),f(C,null,z(g(dt),t=>(i(),b(O,{key:t,value:t},{default:a(()=>[p(u(_e(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),l(Fe,{columns:Ie.value,"data-source":Pe.value,pagination:{pageSize:20,showTotal:t=>e.$t("tenant.table.totalSuffix",{n:t})},size:"small",loading:w.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:t,record:c})=>[t.key==="name"?(i(),f(C,{key:0},[v("span",zt,u(c.name),1),v("div",qt,u(c.slug),1)],64)):h("",!0),t.key==="plan"?(i(),b(N,{key:1,color:W(c.plan)},{default:a(()=>[p(u(I(c.plan)),1)]),_:2},1032,["color"])):h("",!0),t.key==="status"?(i(),b(N,{key:2,color:Oe(c.status)},{default:a(()=>[p(u(_e(c.status)),1)]),_:2},1032,["color"])):h("",!0),t.key==="owner"?(i(),f(C,{key:3},[c.ownerId?(i(),f("span",Ft,u(c.ownerId),1)):(i(),f("span",Lt,"—"))],64)):h("",!0),t.key==="createdAt"?(i(),f("span",jt,u(g(ve)(c.createdAt)),1)):h("",!0),t.key==="action"?(i(),f(C,{key:5},[l(d,{size:"small",type:"link",onClick:U=>Qe(c)},{default:a(()=>[p(u(e.$t("tenant.table.actionSubscribe")),1)]),_:1},8,["onClick"]),l(we,{trigger:["click"]},{overlay:a(()=>[l(ee,{onClick:U=>Ve(c,U.key)},{default:a(()=>[(i(!0),f(C,null,z(g(G),U=>(i(),b(j,{key:U,disabled:U===c.plan},{default:a(()=>[p(u(I(U)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:a(()=>[l(d,{size:"small",type:"link"},{default:a(()=>[p(u(e.$t("tenant.table.actionPlanDropdown")),1)]),_:1})]),_:2},1024),c.status==="active"?(i(),b(d,{key:0,size:"small",type:"link",onClick:U=>$e(c,"suspended")},{default:a(()=>[p(u(e.$t("tenant.table.actionSuspend")),1)]),_:1},8,["onClick"])):c.status==="suspended"?(i(),b(d,{key:1,size:"small",type:"link",onClick:U=>$e(c,"active")},{default:a(()=>[p(u(e.$t("tenant.table.actionActivate")),1)]),_:1},8,["onClick"])):h("",!0),c.status!=="deleted"?(i(),b(qe,{key:2,title:e.$t("tenant.deleteConfirm.title"),"ok-text":e.$t("tenant.deleteConfirm.ok"),"cancel-text":e.$t("tenant.deleteConfirm.cancel"),onConfirm:U=>We(c)},{default:a(()=>[l(d,{size:"small",type:"link",danger:""},{default:a(()=>[p(u(e.$t("tenant.deleteConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):h("",!0)],64)):h("",!0)]),emptyText:a(()=>[v("div",Ut,[l(g(me),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+u(J.value||V.value?e.$t("tenant.table.emptyTenantsFiltered"):e.$t("tenant.table.emptyTenants")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(fe,{key:"subscriptions",tab:e.$t("tenant.tabs.subscriptions")},{default:a(()=>[l(Fe,{columns:Te.value,"data-source":ue.value,pagination:{pageSize:20,showTotal:t=>e.$t("tenant.table.totalSuffix",{n:t})},size:"small",loading:w.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:t,record:c})=>[t.key==="tenant"?(i(),f(C,{key:0},[v("span",It,u(Ee(c.tenantId)),1),v("div",Tt,u(c.tenantId.slice(0,8)),1)],64)):h("",!0),t.key==="plan"?(i(),b(N,{key:1,color:W(c.plan)},{default:a(()=>[p(u(I(c.plan)),1)]),_:2},1032,["color"])):h("",!0),t.key==="amount"?(i(),f(C,{key:2},[c.amount!=null?(i(),f("span",Pt,"¥"+u(c.amount),1)):(i(),f("span",Nt,"—"))],64)):h("",!0),t.key==="status"?(i(),b(N,{key:3,color:Re(c.status)},{default:a(()=>[p(u(Me(c.status)),1)]),_:2},1032,["color"])):h("",!0),t.key==="startedAt"?(i(),f("span",Ot,u(g(ve)(c.startedAt)),1)):h("",!0),t.key==="expiresAt"?(i(),f("span",Mt,u(g(ve)(c.expiresAt)),1)):h("",!0),t.key==="action"?(i(),f(C,{key:6},[c.status==="active"?(i(),b(qe,{key:0,title:e.$t("tenant.cancelConfirm.title"),"ok-text":e.$t("tenant.cancelConfirm.ok"),"cancel-text":e.$t("tenant.cancelConfirm.cancel"),onConfirm:U=>Ye(c)},{default:a(()=>[l(d,{size:"small",type:"link",danger:""},{default:a(()=>[p(u(e.$t("tenant.cancelConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):h("",!0)],64)):h("",!0)]),emptyText:a(()=>[v("div",Rt,[l(g(je),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+u(e.$t("tenant.table.emptySubscriptions")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(fe,{key:"plans",tab:e.$t("tenant.tabs.plans")},{default:a(()=>[l(ze,{gutter:[16,16]},{default:a(()=>[(i(!0),f(C,null,z(be.value,t=>(i(),b(R,{key:t.id,xs:24,sm:12,lg:6},{default:a(()=>[l(P,{title:t.name,size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:a(()=>[l(N,{color:W(t.id)},{default:a(()=>[p(u(t.id),1)]),_:2},1032,["color"])]),default:a(()=>[v("div",Et,[t.monthlyFee!=null?(i(),f("span",Bt,[p("¥"+u(t.monthlyFee)+" ",1),v("span",Dt,u(e.$t("tenant.planCard.monthlySuffix")),1)])):(i(),f("span",Kt,u(e.$t("tenant.planCard.contactSales")),1))]),v("div",Qt,[v("div",Jt,u(e.$t("tenant.planCard.quotas")),1),(i(!0),f(C,null,z(ge.value,c=>(i(),f("div",{key:c.id,class:"plan-quota-row"},[v("span",Vt,u(c.name),1),v("span",Wt,u(Be(t.quotas?.[c.id],c.id)),1)]))),128))]),v("div",Yt,[v("div",Gt,u(e.$t("tenant.planCard.features")),1),(i(!0),f(C,null,z(t.features,c=>(i(),b(N,{key:c,style:{"font-size":"10px",margin:"1px"}},{default:a(()=>[p(u(c),1)]),_:2},1024))),128))])]),_:2},1032,["title"])]),_:2},1024))),128))]),_:1})]),_:1},8,["tab"])]),_:1},8,["activeKey"]),l(ae,{open:H.value,"onUpdate:open":n[7]||(n[7]=t=>H.value=t),title:e.$t("tenant.create_modal.title"),"confirm-loading":K.value,width:520,"ok-text":e.$t("tenant.create_modal.ok"),"cancel-text":e.$t("tenant.create_modal.cancel"),onOk:Ke,onCancel:he},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.create_modal.nameLabel"),required:""},{default:a(()=>[l(Y,{value:x.name,"onUpdate:value":n[3]||(n[3]=t=>x.name=t),placeholder:e.$t("tenant.create_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.create_modal.slugLabel"),required:""},{default:a(()=>[l(Y,{value:x.slug,"onUpdate:value":n[4]||(n[4]=t=>x.slug=t),placeholder:e.$t("tenant.create_modal.slugPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.create_modal.planLabel")},{default:a(()=>[l(B,{value:x.plan,"onUpdate:value":n[5]||(n[5]=t=>x.plan=t)},{default:a(()=>[(i(!0),f(C,null,z(g(G),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(I(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.create_modal.ownerLabel")},{default:a(()=>[l(Y,{value:x.owner,"onUpdate:value":n[6]||(n[6]=t=>x.owner=t),placeholder:e.$t("tenant.create_modal.ownerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(ae,{open:X.value,"onUpdate:open":n[11]||(n[11]=t=>X.value=t),title:e.$t("tenant.subscribe_modal.title",{name:ce.value}),"confirm-loading":oe.value,width:500,"ok-text":e.$t("tenant.subscribe_modal.ok"),"cancel-text":e.$t("tenant.subscribe_modal.cancel"),onOk:Je,onCancel:Se},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.subscribe_modal.planLabel"),required:""},{default:a(()=>[l(B,{value:$.plan,"onUpdate:value":n[8]||(n[8]=t=>$.plan=t)},{default:a(()=>[(i(!0),f(C,null,z(g(G),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(I(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.subscribe_modal.amountLabel")},{default:a(()=>[l(Le,{value:$.amount,"onUpdate:value":n[9]||(n[9]=t=>$.amount=t),min:0,placeholder:e.$t("tenant.subscribe_modal.amountPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.subscribe_modal.durationLabel")},{default:a(()=>[l(pe,{value:$.duration,"onUpdate:value":n[10]||(n[10]=t=>$.duration=t)},{default:a(()=>[l(O,{value:720*60*60*1e3},{default:a(()=>[p(u(e.$t("tenant.subscribe_modal.duration30")),1)]),_:1}),l(O,{value:2160*60*60*1e3},{default:a(()=>[p(u(e.$t("tenant.subscribe_modal.duration90")),1)]),_:1}),l(O,{value:365*24*60*60*1e3},{default:a(()=>[p(u(e.$t("tenant.subscribe_modal.duration365")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(ae,{open:de.value,"onUpdate:open":n[15]||(n[15]=t=>de.value=t),title:e.$t("tenant.quota_modal.title"),"confirm-loading":se.value,width:500,"ok-text":e.$t("tenant.quota_modal.ok"),"cancel-text":e.$t("tenant.quota_modal.cancel"),onOk:Ge},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.quota_modal.tenantLabel"),required:""},{default:a(()=>[l(B,{value:q.tenantId,"onUpdate:value":n[12]||(n[12]=t=>q.tenantId=t),"show-search":"",placeholder:e.$t("tenant.quota_modal.tenantPlaceholder")},{default:a(()=>[(i(!0),f(C,null,z(Q.value,t=>(i(),b(E,{key:t.id,value:t.id},{default:a(()=>[p(u(t.name)+" ("+u(t.slug)+")",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.quota_modal.metricLabel"),required:""},{default:a(()=>[l(B,{value:q.metric,"onUpdate:value":n[13]||(n[13]=t=>q.metric=t)},{default:a(()=>[(i(!0),f(C,null,z(g(Ue),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.quota_modal.periodLabel")},{default:a(()=>[l(Y,{value:q.period,"onUpdate:value":n[14]||(n[14]=t=>q.period=t),placeholder:e.$t("tenant.quota_modal.periodPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),k.value?(i(),b(P,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:a(()=>[l(M,{title:e.$t("tenant.quota_modal.resultTitle"),value:k.value.unlimited?e.$t("tenant.quota_modal.unlimited"):k.value.exceeded?e.$t("tenant.quota_modal.exceeded"):e.$t("tenant.quota_modal.ok_state"),"value-style":{color:k.value.exceeded?"#ff4d4f":k.value.unlimited?"#722ed1":"#52c41a"}},null,8,["title","value","value-style"]),v("div",Ht,[v("div",null,[p(u(e.$t("tenant.quota_modal.planLine"))+" ",1),l(N,{color:W(k.value.plan)},{default:a(()=>[p(u(I(k.value.plan)),1)]),_:1},8,["color"])]),v("div",null,u(e.$t("tenant.quota_modal.periodLine",{period:k.value.period})),1),v("div",null,[p(u(e.$t("tenant.quota_modal.usedLine"))+" ",1),v("span",Xt,u(ke(k.value.used,k.value.metric)),1)]),k.value.unlimited?h("",!0):(i(),f("div",Zt,[p(u(e.$t("tenant.quota_modal.limitLine"))+" ",1),v("span",ea,u(ke(k.value.limit,k.value.metric)),1)])),!k.value.unlimited&&k.value.limit>0?(i(),f("div",ta,[l(Ze,{percent:Math.min(100,Math.round(100*k.value.used/k.value.limit)),size:"small",status:k.value.exceeded?"exception":"active"},null,8,["percent","status"])])):h("",!0)])]),_:1})):h("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(ae,{open:Z.value,"onUpdate:open":n[20]||(n[20]=t=>Z.value=t),title:e.$t("tenant.record_modal.title"),"confirm-loading":re.value,width:500,"ok-text":e.$t("tenant.record_modal.ok"),"cancel-text":e.$t("tenant.record_modal.cancel"),onOk:He,onCancel:Ce},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.record_modal.tenantLabel"),required:""},{default:a(()=>[l(B,{value:_.tenantId,"onUpdate:value":n[16]||(n[16]=t=>_.tenantId=t),"show-search":"",placeholder:e.$t("tenant.record_modal.tenantPlaceholder")},{default:a(()=>[(i(!0),f(C,null,z(Q.value,t=>(i(),b(E,{key:t.id,value:t.id},{default:a(()=>[p(u(t.name)+" ("+u(t.slug)+")",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.record_modal.metricLabel"),required:""},{default:a(()=>[l(B,{value:_.metric,"onUpdate:value":n[17]||(n[17]=t=>_.metric=t)},{default:a(()=>[(i(!0),f(C,null,z(g(Ue),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.record_modal.valueLabel"),required:""},{default:a(()=>[l(Le,{value:_.value,"onUpdate:value":n[18]||(n[18]=t=>_.value=t),min:0,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.record_modal.periodLabel")},{default:a(()=>[l(Y,{value:_.period,"onUpdate:value":n[19]||(n[19]=t=>_.period=t),placeholder:e.$t("tenant.record_modal.periodPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},ra=et(aa,[["__scopeId","data-v-7210f1ac"]]);export{ra as default};
|
|
1
|
+
import{_ as et,u as tt,b as at,d as m}from"./index-B_juAGfN.js";import{s as nt}from"./community-parser-CO25nZFt.js";import{R as lt,ar as ot,a3 as me,D as st,aT as rt,b0 as je,n as ut}from"./icons-BFHq5fEF.js";import{o as it,M as f,R as v,P as u,c as l,N as a,Q as b,S as h,K as y,r as S,L as i,O as p,u as g,F as C,Y as z,a as ne,f as le}from"./vendor-M5lGV-wr.js";function D(s){const r=nt(s);if(!r)return null;try{return JSON.parse(r)}catch{}const o=r.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!o)return null;try{return JSON.parse(o[0])}catch{return null}}const G=Object.freeze(["free","starter","pro","enterprise"]),dt=Object.freeze(["active","suspended","deleted"]),Ue=Object.freeze(["api_calls","storage_bytes","ai_requests"]);function F(s,r=0){return typeof s=="number"&&Number.isFinite(s)?s:r}function ct(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";if(!o)return null;const w=s.quotas&&typeof s.quotas=="object"?{...s.quotas}:{};return{key:o,id:o,name:String(s.name||o),monthlyFee:s.monthlyFee==null?null:F(s.monthlyFee,null),quotas:w,features:Array.isArray(s.features)?s.features.filter(K=>typeof K=="string"):[],_idx:r}}function pt(s){const r=D(s);return Array.isArray(r)?r.map(ct).filter(Boolean):[]}function ft(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";return o?{key:o,id:o,name:String(s.name||o),unit:String(s.unit||""),_idx:r}:null}function mt(s){const r=D(s);return Array.isArray(r)?r.map(ft).filter(Boolean):[]}function vt(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";return o?{key:o,id:o,name:String(s.name||""),slug:String(s.slug||""),config:s.config??null,status:String(s.status||"active").toLowerCase(),plan:String(s.plan||"free").toLowerCase(),dbPath:s.dbPath||null,ownerId:s.ownerId||"",createdAt:s.createdAt??null,updatedAt:s.updatedAt??null,deletedAt:s.deletedAt??null,_idx:r}:null}function yt(s){const r=D(s);return Array.isArray(r)?r.map(vt).filter(Boolean):[]}function bt(s,r=0){if(!s||typeof s!="object")return null;const o=s.id||"";return o?{key:o,id:o,tenantId:String(s.tenantId||""),plan:String(s.plan||"free").toLowerCase(),status:String(s.status||"active").toLowerCase(),startedAt:s.startedAt??null,expiresAt:s.expiresAt??null,cancelledAt:s.cancelledAt??null,paymentMethod:s.paymentMethod||null,amount:s.amount==null?null:F(s.amount,null),createdAt:s.createdAt??null,_idx:r}:null}function gt(s){const r=D(s);return Array.isArray(r)?r.map(bt).filter(Boolean):[]}function _t(s){const r=D(s);return!r||typeof r!="object"||Array.isArray(r)?null:{tenantId:String(r.tenantId||""),plan:String(r.plan||"free").toLowerCase(),metric:String(r.metric||""),period:String(r.period||""),limit:r.limit==null?null:F(r.limit,null),used:F(r.used,0),remaining:r.remaining==null?null:F(r.remaining,null),unlimited:!!r.unlimited,exceeded:!!r.exceeded}}const kt={tenantCount:0,byStatus:{active:0,suspended:0,deleted:0},byPlan:{free:0,starter:0,pro:0,enterprise:0},subscriptionCount:0,activeSubscriptions:0,usageRecordCount:0,totalUsage:{api_calls:0,storage_bytes:0,ai_requests:0}};function $t(s){const r=JSON.parse(JSON.stringify(kt)),o=D(s);if(!o||typeof o!="object"||Array.isArray(o))return r;if(r.tenantCount=F(o.tenantCount,0),r.subscriptionCount=F(o.subscriptionCount,0),r.activeSubscriptions=F(o.activeSubscriptions,0),r.usageRecordCount=F(o.usageRecordCount,0),o.byStatus&&typeof o.byStatus=="object")for(const w of Object.keys(r.byStatus))r.byStatus[w]=F(o.byStatus[w],0);if(o.byPlan&&typeof o.byPlan=="object")for(const w of Object.keys(r.byPlan))r.byPlan[w]=F(o.byPlan[w],0);if(o.totalUsage&&typeof o.totalUsage=="object")for(const w of Object.keys(r.totalUsage))r.totalUsage[w]=F(o.totalUsage[w],0);return r}function ve(s){if(s==null||s==="")return"—";const r=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(r.getTime())?String(s):r.toLocaleString("zh-CN",{hour12:!1})}function ye(s){return typeof s!="number"||!Number.isFinite(s)||s<0?"—":s===0?"0":s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:s<1024*1024*1024?`${(s/1024/1024).toFixed(1)} MB`:`${(s/1024/1024/1024).toFixed(2)} GB`}function ht(s=new Date){const r=s.getFullYear(),o=String(s.getMonth()+1).padStart(2,"0");return`${r}-${o}`}const St={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ct={class:"page-title"},xt={class:"page-sub"},wt={style:{color:"var(--text-secondary)","font-size":"12px","margin-left":"8px"}},At={class:"filter-bar"},zt={style:{color:"var(--text-primary)","font-weight":"500"}},qt={style:{color:"var(--text-secondary)","font-size":"11px","margin-top":"2px","font-family":"monospace"}},Ft={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"11px"}},Lt={key:1,style:{color:"var(--text-muted)"}},jt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Ut={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},It={style:{color:"var(--text-primary)","font-weight":"500"}},Tt={style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},Pt={key:0,style:{color:"#722ed1","font-weight":"500"}},Nt={key:1,style:{color:"var(--text-muted)"}},Ot={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Mt={key:5,style:{color:"var(--text-secondary)","font-size":"11px"}},Rt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Et={class:"plan-fee"},Bt={key:0},Dt={class:"plan-fee-unit"},Kt={key:1,style:{color:"#722ed1"}},Jt={class:"plan-section"},Qt={class:"plan-section-title"},Vt={class:"plan-quota-label"},Wt={class:"plan-quota-value"},Yt={class:"plan-section"},Gt={class:"plan-section-title"},Ht={style:{"margin-top":"12px","font-size":"12px",color:"var(--text-secondary)"}},Xt={style:{"font-family":"monospace",color:"var(--text-primary)"}},Zt={key:0},ea={style:{"font-family":"monospace"}},ta={key:1,style:{"margin-top":"8px"}},aa={__name:"Tenant",setup(s){const r=tt(),{t:o}=at(),w=S(!1),K=S(!1),oe=S(!1),se=S(!1),re=S(!1),J=S([]),ue=S([]),be=S([]),ge=S([]),L=S({tenantCount:0,byStatus:{active:0,suspended:0,deleted:0},byPlan:{free:0,starter:0,pro:0,enterprise:0},subscriptionCount:0,activeSubscriptions:0,usageRecordCount:0,totalUsage:{api_calls:0,storage_bytes:0,ai_requests:0}}),ie=S("tenants"),Q=S(""),V=S(""),H=S(!1),X=S(!1),de=S(!1),Z=S(!1),x=ne({name:"",slug:"",plan:"free",owner:""}),$=ne({tenantId:"",plan:"pro",amount:null,duration:720*60*60*1e3}),ce=S(""),q=ne({tenantId:null,metric:"api_calls",period:""}),_=ne({tenantId:null,metric:"api_calls",value:1,period:""}),k=S(null),Ie=le(()=>[{title:o("tenant.tenantCols.name"),key:"name"},{title:o("tenant.tenantCols.plan"),key:"plan",width:"110px"},{title:o("tenant.tenantCols.status"),key:"status",width:"100px"},{title:o("tenant.tenantCols.owner"),key:"owner",width:"160px"},{title:o("tenant.tenantCols.createdAt"),key:"createdAt",width:"160px"},{title:o("tenant.tenantCols.action"),key:"action",width:"280px"}]),Te=le(()=>[{title:o("tenant.subscriptionCols.tenant"),key:"tenant"},{title:o("tenant.subscriptionCols.plan"),key:"plan",width:"110px"},{title:o("tenant.subscriptionCols.amount"),key:"amount",width:"100px"},{title:o("tenant.subscriptionCols.status"),key:"status",width:"110px"},{title:o("tenant.subscriptionCols.startedAt"),key:"startedAt",width:"160px"},{title:o("tenant.subscriptionCols.expiresAt"),key:"expiresAt",width:"160px"},{title:o("tenant.subscriptionCols.action"),key:"action",width:"120px"}]),Pe=le(()=>{let e=J.value;return Q.value&&(e=e.filter(n=>n.plan===Q.value)),V.value&&(e=e.filter(n=>n.status===V.value)),e}),Ne=le(()=>ue.value.filter(e=>e.status==="active"&&typeof e.amount=="number").reduce((e,n)=>e+n.amount,0));function I(e){const n=`tenant.planLabels.${e}`,d=o(n);return d===n?e:d}function W(e){return{free:"default",starter:"blue",pro:"purple",enterprise:"gold"}[e]||"default"}function _e(e){const n=`tenant.tenantStatusLabels.${e}`,d=o(n);return d===n?e:d}function Oe(e){return{active:"green",suspended:"orange",deleted:"default"}[e]||"default"}function Me(e){const n=`tenant.subStatusLabels.${e}`,d=o(n);return d===n?e:d}function Re(e){return{active:"green",cancelled:"default",expired:"red",past_due:"orange"}[e]||"default"}function Ee(e){const n=J.value.find(d=>d.id===e);return n?n.name:o("tenant.deletedTenant")}function ke(e,n){return e==null?"—":n==="storage_bytes"?ye(e):String(e)}function Be(e,n){return e==null?o("tenant.planCard.unlimited"):n==="storage_bytes"?ye(e):e.toLocaleString()}function De({key:e}){e==="tenant"?H.value=!0:e==="quota"?(k.value=null,de.value=!0):e==="record"&&(Z.value=!0)}async function T(){w.value=!0;try{const[e,n,d,j,ee]=await Promise.all([r.execute("tenant list --json",1e4).catch(()=>({output:""})),r.execute("tenant subscriptions --json",1e4).catch(()=>({output:""})),r.execute("tenant plans --json",8e3).catch(()=>({output:""})),r.execute("tenant metrics --json",8e3).catch(()=>({output:""})),r.execute("tenant stats --json",8e3).catch(()=>({output:""}))]);J.value=yt(e.output),ue.value=gt(n.output),be.value=pt(d.output),ge.value=mt(j.output),L.value=$t(ee.output)}catch(e){m.error(o("tenant.msg.loadFailed")+": "+(e?.message||e))}finally{w.value=!1}}async function Ke(){const e=x.name.trim(),n=x.slug.trim();if(!e||!n){m.warning(o("tenant.msg.createFieldsEmpty"));return}if(!/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/.test(n)){m.warning(o("tenant.msg.slugInvalid"));return}K.value=!0;try{const d=[`tenant create "${e.replace(/"/g,'\\"')}" "${n.replace(/"/g,'\\"')}"`];d.push(`--plan ${x.plan}`),x.owner.trim()&&d.push(`--owner "${x.owner.trim().replace(/"/g,'\\"')}"`),d.push("--json");const{output:j}=await r.execute(d.join(" "),1e4);if(/error|Error|失败/i.test(j)&&!/"id"/.test(j)){m.error(o("tenant.msg.createFailed")+": "+j.slice(0,120));return}m.success(o("tenant.msg.createSuccess")),H.value=!1,he(),await T()}catch(d){m.error(o("tenant.msg.createFailed")+": "+(d?.message||d))}finally{K.value=!1}}function Je(e){$.tenantId=e.id,$.plan=e.plan==="free"?"starter":e.plan,$.amount=null,$.duration=720*60*60*1e3,ce.value=e.name,X.value=!0}async function Qe(){oe.value=!0;try{const e=[`tenant subscribe ${$.tenantId}`];e.push(`--plan ${$.plan}`),$.amount!=null&&e.push(`--amount ${$.amount}`),$.duration&&e.push(`--duration-ms ${$.duration}`),e.push("--json");const{output:n}=await r.execute(e.join(" "),1e4);if(/error|Error|失败/i.test(n)&&!/"id"/.test(n)){m.error(o("tenant.msg.subscribeFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.subscribeSuccess")),X.value=!1,Se(),ie.value="subscriptions",await T()}catch(e){m.error(o("tenant.msg.subscribeFailed")+": "+(e?.message||e))}finally{oe.value=!1}}async function Ve(e,n){if(n!==e.plan)try{const{output:d}=await r.execute(`tenant configure ${e.id} --plan ${n} --json`,8e3);if(/error|Error/i.test(d)&&!/"id"/.test(d)){m.error(o("tenant.msg.planChangeFailed")+": "+d.slice(0,120));return}m.success(o("tenant.msg.planChangeSuccess",{plan:I(n)})),await T()}catch(d){m.error(o("tenant.msg.planChangeFailed")+": "+(d?.message||d))}}async function $e(e,n){try{const{output:d}=await r.execute(`tenant configure ${e.id} --status ${n} --json`,8e3);if(/error|Error/i.test(d)&&!/"id"/.test(d)){m.error(o("tenant.msg.statusChangeFailed")+": "+d.slice(0,120));return}m.success(o(n==="active"?"tenant.msg.activated":"tenant.msg.suspended")),await T()}catch(d){m.error(o("tenant.msg.statusChangeFailed")+": "+(d?.message||d))}}async function We(e){try{const{output:n}=await r.execute(`tenant delete ${e.id} --json`,8e3);if(/error|Error/i.test(n)&&!/deleted|removed/.test(n)){m.error(o("tenant.msg.deleteFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.deleteSuccess")),await T()}catch(n){m.error(o("tenant.msg.deleteFailed")+": "+(n?.message||n))}}async function Ye(e){try{const{output:n}=await r.execute(`tenant cancel ${e.tenantId}`,8e3);if(/error|Error/i.test(n)&&!/cancelled|cancel/i.test(n)){m.error(o("tenant.msg.cancelFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.cancelSuccess")),await T()}catch(n){m.error(o("tenant.msg.cancelFailed")+": "+(n?.message||n))}}async function Ge(){if(!q.tenantId){m.warning(o("tenant.msg.tenantEmpty"));return}se.value=!0,k.value=null;try{const e=[`tenant check-quota ${q.tenantId} ${q.metric}`];q.period.trim()&&e.push(`--period ${q.period.trim()}`),e.push("--json");const{output:n}=await r.execute(e.join(" "),8e3),d=_t(n);if(!d){m.error(o("tenant.msg.checkFailed")+": "+n.slice(0,120));return}k.value=d,d.exceeded&&m.warning(o("tenant.msg.exceededWarning"))}catch(e){m.error(o("tenant.msg.checkFailed")+": "+(e?.message||e))}finally{se.value=!1}}async function He(){if(!_.tenantId){m.warning(o("tenant.msg.tenantEmpty"));return}if(_.value==null||_.value<0){m.warning(o("tenant.msg.valueInvalid"));return}re.value=!0;try{const e=[`tenant record ${_.tenantId} ${_.metric} ${_.value}`];_.period.trim()&&e.push(`--period ${_.period.trim()}`),e.push("--json");const{output:n}=await r.execute(e.join(" "),8e3);if(/error|Error/i.test(n)&&!/"id"|"tenant"/.test(n)){m.error(o("tenant.msg.recordFailed")+": "+n.slice(0,120));return}m.success(o("tenant.msg.recordSuccess")),Z.value=!1,Ce(),await T()}catch(e){m.error(o("tenant.msg.recordFailed")+": "+(e?.message||e))}finally{re.value=!1}}function he(){x.name="",x.slug="",x.plan="free",x.owner=""}function Se(){$.tenantId="",$.plan="pro",$.amount=null,$.duration=720*60*60*1e3,ce.value=""}function Ce(){_.tenantId=null,_.metric="api_calls",_.value=1,_.period=""}function xe(e){e.period||(e.period=ht())}return xe(q),xe(_),it(T),(e,n)=>{const d=y("a-button"),j=y("a-menu-item"),ee=y("a-menu"),we=y("a-dropdown"),Ae=y("a-space"),M=y("a-statistic"),P=y("a-card"),R=y("a-col"),ze=y("a-row"),N=y("a-tag"),O=y("a-radio-button"),pe=y("a-radio-group"),qe=y("a-popconfirm"),Fe=y("a-table"),fe=y("a-tab-pane"),Xe=y("a-tabs"),Y=y("a-input"),A=y("a-form-item"),E=y("a-select-option"),B=y("a-select"),te=y("a-form"),ae=y("a-modal"),Le=y("a-input-number"),Ze=y("a-progress");return i(),f("div",null,[v("div",St,[v("div",null,[v("h2",Ct,u(e.$t("tenant.title")),1),v("p",xt,u(e.$t("tenant.subtitle")),1)]),l(Ae,null,{default:a(()=>[l(d,{loading:w.value,onClick:T},{icon:a(()=>[l(g(lt))]),default:a(()=>[p(" "+u(e.$t("tenant.refresh")),1)]),_:1},8,["loading"]),l(we,{trigger:["click"]},{overlay:a(()=>[l(ee,{onClick:De},{default:a(()=>[l(j,{key:"tenant"},{default:a(()=>[l(g(me)),p(" "+u(e.$t("tenant.actions.tenant")),1)]),_:1}),l(j,{key:"quota"},{default:a(()=>[l(g(st)),p(" "+u(e.$t("tenant.actions.quota")),1)]),_:1}),l(j,{key:"record"},{default:a(()=>[l(g(rt)),p(" "+u(e.$t("tenant.actions.record")),1)]),_:1})]),_:1})]),default:a(()=>[l(d,{type:"primary"},{icon:a(()=>[l(g(ot))]),default:a(()=>[p(" "+u(e.$t("tenant.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),l(ze,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:a(()=>[l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.total"),value:L.value.tenantCount,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:a(()=>[l(g(me))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.active"),value:L.value.activeSubscriptions,"value-style":{color:L.value.activeSubscriptions>0?"#52c41a":"#888",fontSize:"20px"}},{prefix:a(()=>[l(g(je))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.mrr"),value:Ne.value,precision:0,prefix:"¥","value-style":{color:"#722ed1",fontSize:"20px"}},null,8,["title","value"])]),_:1})]),_:1}),l(R,{xs:12,sm:8,lg:5},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.apiCalls"),value:L.value.totalUsage.api_calls,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:a(()=>[l(g(ut))]),_:1},8,["title","value"])]),_:1})]),_:1}),l(R,{xs:24,sm:8,lg:4},{default:a(()=>[l(P,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:a(()=>[l(M,{title:e.$t("tenant.stats.storage"),value:g(ye)(L.value.totalUsage.storage_bytes),"value-style":{color:"#faad14",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1})]),_:1}),L.value.tenantCount>0?(i(),b(P,{key:0,title:e.$t("tenant.plansCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:a(()=>[l(Ae,{size:[12,8],wrap:""},{default:a(()=>[(i(!0),f(C,null,z(g(G),t=>(i(),b(N,{key:t,color:W(t)},{default:a(()=>[p(u(I(t))+": "+u(L.value.byPlan[t]||0),1)]),_:2},1032,["color"]))),128)),v("span",wt,u(e.$t("tenant.summarySuffix",{active:L.value.byStatus.active,suspended:L.value.byStatus.suspended,deleted:L.value.byStatus.deleted})),1)]),_:1})]),_:1},8,["title"])):h("",!0),l(Xe,{activeKey:ie.value,"onUpdate:activeKey":n[2]||(n[2]=t=>ie.value=t),class:"tenant-tabs"},{default:a(()=>[l(fe,{key:"tenants",tab:e.$t("tenant.tabs.tenants")},{default:a(()=>[v("div",At,[l(pe,{value:Q.value,"onUpdate:value":n[0]||(n[0]=t=>Q.value=t),size:"small"},{default:a(()=>[l(O,{value:""},{default:a(()=>[p(u(e.$t("tenant.filter.allPlans")),1)]),_:1}),(i(!0),f(C,null,z(g(G),t=>(i(),b(O,{key:t,value:t},{default:a(()=>[p(u(I(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),l(pe,{value:V.value,"onUpdate:value":n[1]||(n[1]=t=>V.value=t),size:"small","button-style":"solid"},{default:a(()=>[l(O,{value:""},{default:a(()=>[p(u(e.$t("tenant.filter.allStatuses")),1)]),_:1}),(i(!0),f(C,null,z(g(dt),t=>(i(),b(O,{key:t,value:t},{default:a(()=>[p(u(_e(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),l(Fe,{columns:Ie.value,"data-source":Pe.value,pagination:{pageSize:20,showTotal:t=>e.$t("tenant.table.totalSuffix",{n:t})},size:"small",loading:w.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:t,record:c})=>[t.key==="name"?(i(),f(C,{key:0},[v("span",zt,u(c.name),1),v("div",qt,u(c.slug),1)],64)):h("",!0),t.key==="plan"?(i(),b(N,{key:1,color:W(c.plan)},{default:a(()=>[p(u(I(c.plan)),1)]),_:2},1032,["color"])):h("",!0),t.key==="status"?(i(),b(N,{key:2,color:Oe(c.status)},{default:a(()=>[p(u(_e(c.status)),1)]),_:2},1032,["color"])):h("",!0),t.key==="owner"?(i(),f(C,{key:3},[c.ownerId?(i(),f("span",Ft,u(c.ownerId),1)):(i(),f("span",Lt,"—"))],64)):h("",!0),t.key==="createdAt"?(i(),f("span",jt,u(g(ve)(c.createdAt)),1)):h("",!0),t.key==="action"?(i(),f(C,{key:5},[l(d,{size:"small",type:"link",onClick:U=>Je(c)},{default:a(()=>[p(u(e.$t("tenant.table.actionSubscribe")),1)]),_:1},8,["onClick"]),l(we,{trigger:["click"]},{overlay:a(()=>[l(ee,{onClick:U=>Ve(c,U.key)},{default:a(()=>[(i(!0),f(C,null,z(g(G),U=>(i(),b(j,{key:U,disabled:U===c.plan},{default:a(()=>[p(u(I(U)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:a(()=>[l(d,{size:"small",type:"link"},{default:a(()=>[p(u(e.$t("tenant.table.actionPlanDropdown")),1)]),_:1})]),_:2},1024),c.status==="active"?(i(),b(d,{key:0,size:"small",type:"link",onClick:U=>$e(c,"suspended")},{default:a(()=>[p(u(e.$t("tenant.table.actionSuspend")),1)]),_:1},8,["onClick"])):c.status==="suspended"?(i(),b(d,{key:1,size:"small",type:"link",onClick:U=>$e(c,"active")},{default:a(()=>[p(u(e.$t("tenant.table.actionActivate")),1)]),_:1},8,["onClick"])):h("",!0),c.status!=="deleted"?(i(),b(qe,{key:2,title:e.$t("tenant.deleteConfirm.title"),"ok-text":e.$t("tenant.deleteConfirm.ok"),"cancel-text":e.$t("tenant.deleteConfirm.cancel"),onConfirm:U=>We(c)},{default:a(()=>[l(d,{size:"small",type:"link",danger:""},{default:a(()=>[p(u(e.$t("tenant.deleteConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):h("",!0)],64)):h("",!0)]),emptyText:a(()=>[v("div",Ut,[l(g(me),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+u(Q.value||V.value?e.$t("tenant.table.emptyTenantsFiltered"):e.$t("tenant.table.emptyTenants")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(fe,{key:"subscriptions",tab:e.$t("tenant.tabs.subscriptions")},{default:a(()=>[l(Fe,{columns:Te.value,"data-source":ue.value,pagination:{pageSize:20,showTotal:t=>e.$t("tenant.table.totalSuffix",{n:t})},size:"small",loading:w.value,style:{background:"var(--bg-card)"}},{bodyCell:a(({column:t,record:c})=>[t.key==="tenant"?(i(),f(C,{key:0},[v("span",It,u(Ee(c.tenantId)),1),v("div",Tt,u(c.tenantId.slice(0,8)),1)],64)):h("",!0),t.key==="plan"?(i(),b(N,{key:1,color:W(c.plan)},{default:a(()=>[p(u(I(c.plan)),1)]),_:2},1032,["color"])):h("",!0),t.key==="amount"?(i(),f(C,{key:2},[c.amount!=null?(i(),f("span",Pt,"¥"+u(c.amount),1)):(i(),f("span",Nt,"—"))],64)):h("",!0),t.key==="status"?(i(),b(N,{key:3,color:Re(c.status)},{default:a(()=>[p(u(Me(c.status)),1)]),_:2},1032,["color"])):h("",!0),t.key==="startedAt"?(i(),f("span",Ot,u(g(ve)(c.startedAt)),1)):h("",!0),t.key==="expiresAt"?(i(),f("span",Mt,u(g(ve)(c.expiresAt)),1)):h("",!0),t.key==="action"?(i(),f(C,{key:6},[c.status==="active"?(i(),b(qe,{key:0,title:e.$t("tenant.cancelConfirm.title"),"ok-text":e.$t("tenant.cancelConfirm.ok"),"cancel-text":e.$t("tenant.cancelConfirm.cancel"),onConfirm:U=>Ye(c)},{default:a(()=>[l(d,{size:"small",type:"link",danger:""},{default:a(()=>[p(u(e.$t("tenant.cancelConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):h("",!0)],64)):h("",!0)]),emptyText:a(()=>[v("div",Rt,[l(g(je),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+u(e.$t("tenant.table.emptySubscriptions")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),l(fe,{key:"plans",tab:e.$t("tenant.tabs.plans")},{default:a(()=>[l(ze,{gutter:[16,16]},{default:a(()=>[(i(!0),f(C,null,z(be.value,t=>(i(),b(R,{key:t.id,xs:24,sm:12,lg:6},{default:a(()=>[l(P,{title:t.name,size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:a(()=>[l(N,{color:W(t.id)},{default:a(()=>[p(u(t.id),1)]),_:2},1032,["color"])]),default:a(()=>[v("div",Et,[t.monthlyFee!=null?(i(),f("span",Bt,[p("¥"+u(t.monthlyFee)+" ",1),v("span",Dt,u(e.$t("tenant.planCard.monthlySuffix")),1)])):(i(),f("span",Kt,u(e.$t("tenant.planCard.contactSales")),1))]),v("div",Jt,[v("div",Qt,u(e.$t("tenant.planCard.quotas")),1),(i(!0),f(C,null,z(ge.value,c=>(i(),f("div",{key:c.id,class:"plan-quota-row"},[v("span",Vt,u(c.name),1),v("span",Wt,u(Be(t.quotas?.[c.id],c.id)),1)]))),128))]),v("div",Yt,[v("div",Gt,u(e.$t("tenant.planCard.features")),1),(i(!0),f(C,null,z(t.features,c=>(i(),b(N,{key:c,style:{"font-size":"10px",margin:"1px"}},{default:a(()=>[p(u(c),1)]),_:2},1024))),128))])]),_:2},1032,["title"])]),_:2},1024))),128))]),_:1})]),_:1},8,["tab"])]),_:1},8,["activeKey"]),l(ae,{open:H.value,"onUpdate:open":n[7]||(n[7]=t=>H.value=t),title:e.$t("tenant.create_modal.title"),"confirm-loading":K.value,width:520,"ok-text":e.$t("tenant.create_modal.ok"),"cancel-text":e.$t("tenant.create_modal.cancel"),onOk:Ke,onCancel:he},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.create_modal.nameLabel"),required:""},{default:a(()=>[l(Y,{value:x.name,"onUpdate:value":n[3]||(n[3]=t=>x.name=t),placeholder:e.$t("tenant.create_modal.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.create_modal.slugLabel"),required:""},{default:a(()=>[l(Y,{value:x.slug,"onUpdate:value":n[4]||(n[4]=t=>x.slug=t),placeholder:e.$t("tenant.create_modal.slugPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.create_modal.planLabel")},{default:a(()=>[l(B,{value:x.plan,"onUpdate:value":n[5]||(n[5]=t=>x.plan=t)},{default:a(()=>[(i(!0),f(C,null,z(g(G),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(I(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.create_modal.ownerLabel")},{default:a(()=>[l(Y,{value:x.owner,"onUpdate:value":n[6]||(n[6]=t=>x.owner=t),placeholder:e.$t("tenant.create_modal.ownerPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(ae,{open:X.value,"onUpdate:open":n[11]||(n[11]=t=>X.value=t),title:e.$t("tenant.subscribe_modal.title",{name:ce.value}),"confirm-loading":oe.value,width:500,"ok-text":e.$t("tenant.subscribe_modal.ok"),"cancel-text":e.$t("tenant.subscribe_modal.cancel"),onOk:Qe,onCancel:Se},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.subscribe_modal.planLabel"),required:""},{default:a(()=>[l(B,{value:$.plan,"onUpdate:value":n[8]||(n[8]=t=>$.plan=t)},{default:a(()=>[(i(!0),f(C,null,z(g(G),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(I(t)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.subscribe_modal.amountLabel")},{default:a(()=>[l(Le,{value:$.amount,"onUpdate:value":n[9]||(n[9]=t=>$.amount=t),min:0,placeholder:e.$t("tenant.subscribe_modal.amountPlaceholder"),style:{width:"100%"}},null,8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.subscribe_modal.durationLabel")},{default:a(()=>[l(pe,{value:$.duration,"onUpdate:value":n[10]||(n[10]=t=>$.duration=t)},{default:a(()=>[l(O,{value:720*60*60*1e3},{default:a(()=>[p(u(e.$t("tenant.subscribe_modal.duration30")),1)]),_:1}),l(O,{value:2160*60*60*1e3},{default:a(()=>[p(u(e.$t("tenant.subscribe_modal.duration90")),1)]),_:1}),l(O,{value:365*24*60*60*1e3},{default:a(()=>[p(u(e.$t("tenant.subscribe_modal.duration365")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(ae,{open:de.value,"onUpdate:open":n[15]||(n[15]=t=>de.value=t),title:e.$t("tenant.quota_modal.title"),"confirm-loading":se.value,width:500,"ok-text":e.$t("tenant.quota_modal.ok"),"cancel-text":e.$t("tenant.quota_modal.cancel"),onOk:Ge},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.quota_modal.tenantLabel"),required:""},{default:a(()=>[l(B,{value:q.tenantId,"onUpdate:value":n[12]||(n[12]=t=>q.tenantId=t),"show-search":"",placeholder:e.$t("tenant.quota_modal.tenantPlaceholder")},{default:a(()=>[(i(!0),f(C,null,z(J.value,t=>(i(),b(E,{key:t.id,value:t.id},{default:a(()=>[p(u(t.name)+" ("+u(t.slug)+")",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.quota_modal.metricLabel"),required:""},{default:a(()=>[l(B,{value:q.metric,"onUpdate:value":n[13]||(n[13]=t=>q.metric=t)},{default:a(()=>[(i(!0),f(C,null,z(g(Ue),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.quota_modal.periodLabel")},{default:a(()=>[l(Y,{value:q.period,"onUpdate:value":n[14]||(n[14]=t=>q.period=t),placeholder:e.$t("tenant.quota_modal.periodPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),k.value?(i(),b(P,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:a(()=>[l(M,{title:e.$t("tenant.quota_modal.resultTitle"),value:k.value.unlimited?e.$t("tenant.quota_modal.unlimited"):k.value.exceeded?e.$t("tenant.quota_modal.exceeded"):e.$t("tenant.quota_modal.ok_state"),"value-style":{color:k.value.exceeded?"#ff4d4f":k.value.unlimited?"#722ed1":"#52c41a"}},null,8,["title","value","value-style"]),v("div",Ht,[v("div",null,[p(u(e.$t("tenant.quota_modal.planLine"))+" ",1),l(N,{color:W(k.value.plan)},{default:a(()=>[p(u(I(k.value.plan)),1)]),_:1},8,["color"])]),v("div",null,u(e.$t("tenant.quota_modal.periodLine",{period:k.value.period})),1),v("div",null,[p(u(e.$t("tenant.quota_modal.usedLine"))+" ",1),v("span",Xt,u(ke(k.value.used,k.value.metric)),1)]),k.value.unlimited?h("",!0):(i(),f("div",Zt,[p(u(e.$t("tenant.quota_modal.limitLine"))+" ",1),v("span",ea,u(ke(k.value.limit,k.value.metric)),1)])),!k.value.unlimited&&k.value.limit>0?(i(),f("div",ta,[l(Ze,{percent:Math.min(100,Math.round(100*k.value.used/k.value.limit)),size:"small",status:k.value.exceeded?"exception":"active"},null,8,["percent","status"])])):h("",!0)])]),_:1})):h("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),l(ae,{open:Z.value,"onUpdate:open":n[20]||(n[20]=t=>Z.value=t),title:e.$t("tenant.record_modal.title"),"confirm-loading":re.value,width:500,"ok-text":e.$t("tenant.record_modal.ok"),"cancel-text":e.$t("tenant.record_modal.cancel"),onOk:He,onCancel:Ce},{default:a(()=>[l(te,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:a(()=>[l(A,{label:e.$t("tenant.record_modal.tenantLabel"),required:""},{default:a(()=>[l(B,{value:_.tenantId,"onUpdate:value":n[16]||(n[16]=t=>_.tenantId=t),"show-search":"",placeholder:e.$t("tenant.record_modal.tenantPlaceholder")},{default:a(()=>[(i(!0),f(C,null,z(J.value,t=>(i(),b(E,{key:t.id,value:t.id},{default:a(()=>[p(u(t.name)+" ("+u(t.slug)+")",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.record_modal.metricLabel"),required:""},{default:a(()=>[l(B,{value:_.metric,"onUpdate:value":n[17]||(n[17]=t=>_.metric=t)},{default:a(()=>[(i(!0),f(C,null,z(g(Ue),t=>(i(),b(E,{key:t,value:t},{default:a(()=>[p(u(t),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.record_modal.valueLabel"),required:""},{default:a(()=>[l(Le,{value:_.value,"onUpdate:value":n[18]||(n[18]=t=>_.value=t),min:0,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"]),l(A,{label:e.$t("tenant.record_modal.periodLabel")},{default:a(()=>[l(Y,{value:_.period,"onUpdate:value":n[19]||(n[19]=t=>_.period=t),placeholder:e.$t("tenant.record_modal.periodPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},ra=et(aa,[["__scopeId","data-v-7210f1ac"]]);export{ra as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./xterm-BZcWGsqw.js","./markdown-CsiA8-E5.js","./markdown-Dfs9RUU9.css","./addon-fit-CK6X9sAG.js","./xterm-DFuMZ0ql.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{u as le,_ as re,d as Q,e as V}from"./index-B_juAGfN.js";import{o as ie,e as ce,w as de,M as S,R as h,O,Q as Z,N as M,S as D,c as T,F as j,Y as G,P as R,r as k,K as L,f as ue,n as N,L as w,u as U,Z as fe,a1 as ve,a2 as me,a3 as ye}from"./vendor-M5lGV-wr.js";import{ar as he,R as we,b as pe}from"./icons-BFHq5fEF.js";const C=new Map,A=new Map,$=new Set,F=new Set;let H=!1;function _e(u){H||(H=!0,u.onMessage(l=>{if(!(!l||typeof l.type!="string")){if(l.type==="terminal.stdout"){const{sessionId:n,data:s,seq:g}=l.payload||{};if(!n)return;let v;try{const i=atob(s||""),b=new Uint8Array(i.length);for(let t=0;t<i.length;t++)b[t]=i.charCodeAt(t);v=new TextDecoder("utf-8").decode(b)}catch{v=""}const m={sessionId:n,data:v,seq:g};C.get(n)?.forEach(i=>i(m)),$.forEach(i=>i(m))}else if(l.type==="terminal.exit"){const{sessionId:n,exitCode:s,signal:g}=l.payload||{};if(!n)return;const v={sessionId:n,exitCode:s,signal:g};A.get(n)?.forEach(m=>m(v)),F.forEach(m=>m(v))}}}))}function I(u){const l=new TextEncoder().encode(u);let n="";for(let s=0;s<l.length;s++)n+=String.fromCharCode(l[s]);return btoa(n)}function J(u){const l=atob(u||""),n=new Uint8Array(l.length);for(let s=0;s<l.length;s++)n[s]=l.charCodeAt(s);return new TextDecoder("utf-8").decode(n)}function ge(){const u=le();_e(u);async function l(t={}){const o=await u.sendRaw({type:"terminal.create",payload:{shell:t.shell,cwd:t.cwd,env:t.env,cols:t.cols,rows:t.rows}});if(o.ok===!1)throw new Error(o.error||"terminal_create_failed");return o.result??o}async function n(){const t=await u.sendRaw({type:"terminal.list",payload:{}});if(t.ok===!1)throw new Error(t.error||"terminal_list_failed");const o=t.result??t;return Array.isArray(o.sessions)?o.sessions:[]}async function s(t,o){const r=await u.sendRaw({type:"terminal.stdin",payload:{sessionId:t,data:I(String(o))}});if(r.ok===!1)throw new Error(r.error||"terminal_stdin_failed");return r.result??r}async function g(t,o,r){const x=await u.sendRaw({type:"terminal.resize",payload:{sessionId:t,cols:o,rows:r}});if(x.ok===!1)throw new Error(x.error||"terminal_resize_failed");return x.result??x}async function v(t){const o=await u.sendRaw({type:"terminal.close",payload:{sessionId:t}});if(o.ok===!1)throw new Error(o.error||"terminal_close_failed");return o.result??o}async function m(t,o=0){const r=await u.sendRaw({type:"terminal.history",payload:{sessionId:t,fromSeq:o}});if(r.ok===!1)throw new Error(r.error||"terminal_history_failed");const x=r.result??r;return{truncated:!!x.truncated,chunks:(x.chunks||[]).map(E=>({seq:E.seq,data:J(E.data)}))}}function i(t,o){return t?(C.has(t)||C.set(t,new Set),C.get(t).add(o),()=>{C.get(t)?.delete(o),C.get(t)?.size===0&&C.delete(t)}):($.add(o),()=>$.delete(o))}function b(t,o){return t?(A.has(t)||A.set(t,new Set),A.get(t).add(o),()=>{A.get(t)?.delete(o),A.get(t)?.size===0&&A.delete(t)}):(F.add(o),()=>F.delete(o))}return{create:l,list:n,stdin:s,resize:g,close:v,history:m,onStdout:i,onExit:b,_internal:{stdoutSubs:C,exitSubs:A,toBase64Utf8:I,fromBase64Utf8:J}}}const xe={class:"terminal-page"},Se={class:"terminal-header"},be={class:"page-sub"},ke={class:"terminal-body"},Ce={class:"session-tabs"},Ae=["onClick"],Ee={class:"session-shell"},Te={class:"session-id"},Re={key:0,class:"session-empty"},ze={class:"xterm-host"},Me=["data-session-id"],De={key:0,class:"xterm-placeholder"},Le={key:1,class:"terminal-footer"},Oe={key:0,class:"footer-exit"},qe={__name:"Terminal",setup(u){const l=ge(),n=k([]),s=k(null),g=k("pwsh"),v=k(!1),m=k(!1),i=k(""),b=k(""),t=k([]),o=[{value:"pwsh",label:"PowerShell"},{value:"cmd",label:"CMD"},{value:"bash",label:"Bash"},{value:"wsl",label:"WSL"}],r=ue(()=>n.value.find(e=>e.id===s.value));function x(e){return e?e.slice(0,8):""}let E=null,q=null;async function ee(){if(E)return{xtermMod:E,fitAddonMod:q};try{E=await V(()=>import("./xterm-BZcWGsqw.js").then(e=>e.x),__vite__mapDeps([0,1,2]),import.meta.url),q=await V(()=>import("./addon-fit-CK6X9sAG.js").then(e=>e.a),__vite__mapDeps([3,1,2]),import.meta.url),await V(()=>Promise.resolve({}),__vite__mapDeps([4]),import.meta.url)}catch(e){throw b.value="xterm 资源加载失败:"+(e?.message||"未知错误"),e}return{xtermMod:E,fitAddonMod:q}}async function W(e){await N();const{xtermMod:a,fitAddonMod:y}=await ee(),p=t.value.find(f=>f?.dataset?.sessionId===e.id);if(!p)return;const c=new a.Terminal({cursorBlink:!0,fontFamily:'Consolas, "Courier New", monospace',fontSize:13,theme:{background:"#1e1e1e",foreground:"#d4d4d4"},convertEol:!1}),z=new y.FitAddon;c.loadAddon(z),c.open(p);try{z.fit()}catch{}e.xterm=c,e.fitAddon=z;const B=c.onData(f=>{l.stdin(e.id,f).catch(_=>{String(_?.message||"").includes("dangerous_keyword_blocked")?Q.warning("该命令被桌面端拦截(高危关键字)"):Q.error("stdin 失败: "+(_?.message||_))})}),d=l.onStdout(e.id,({data:f,seq:_})=>{e.lastSeq=_,c.write(f)}),P=l.onExit(e.id,({exitCode:f,signal:_})=>{e.alive=!1,e.exitCode=f,e.signal=_,c.writeln(`\r
|
|
3
|
+
\x1B[33m[session exited, code=${f}, signal=${_??"-"}]\x1B[0m`)});e.offs=()=>{try{B.dispose?.()}catch{}d(),P()};try{const{chunks:f,truncated:_}=await l.history(e.id,0);_&&c.writeln("\x1B[2m[history truncated — earlier output was evicted]\x1B[0m");for(const K of f)c.write(K.data),e.lastSeq=K.seq}catch(f){c.writeln(`\x1B[31m[history fetch failed: ${f?.message||f}]\x1B[0m`)}const Y=new ResizeObserver(()=>{try{z.fit(),l.resize(e.id,c.cols,c.rows).catch(()=>{})}catch{}});Y.observe(p);const se=e.offs;e.offs=()=>{try{Y.disconnect()}catch{}se()}}async function te(){v.value=!0,i.value="";try{const e=await l.create({shell:g.value,cols:80,rows:24}),a={id:e.sessionId,shell:e.shell,cwd:"",alive:!0,lastSeq:0,exitCode:null,xterm:null,fitAddon:null,offs:()=>{}};n.value.push(a),s.value=a.id,await W(a)}catch(e){i.value=e?.message||String(e)}finally{v.value=!1}}async function ae(e){try{await l.close(e)}catch(a){i.value=a?.message||String(a)}setTimeout(()=>ne(e),500)}function ne(e){const a=n.value.findIndex(p=>p.id===e);if(a===-1)return;const y=n.value[a];try{y.offs?.()}catch{}try{y.xterm?.dispose?.()}catch{}n.value.splice(a,1),s.value===e&&(s.value=n.value[0]?.id||null)}function oe(e){s.value=e,N(()=>{const a=n.value.find(y=>y.id===e);try{a?.fitAddon?.fit()}catch{}})}async function X(){m.value=!0,i.value="";try{const e=await l.list();for(const a of e){const y=n.value.find(c=>c.id===a.id);if(y){y.alive=a.alive,y.lastSeq=a.lastSeq;continue}const p={id:a.id,shell:a.shell,cwd:a.cwd,alive:a.alive,lastSeq:a.lastSeq,exitCode:null,xterm:null,fitAddon:null,offs:()=>{}};n.value.push(p),await W(p)}!s.value&&n.value.length>0&&(s.value=n.value[0].id)}catch(e){i.value=e?.message||String(e)}finally{m.value=!1}}return ie(async()=>{await X()}),ce(()=>{for(const e of n.value){try{e.offs?.()}catch{}try{e.xterm?.dispose?.()}catch{}}}),de(s,()=>{N(()=>{const e=r.value;try{e?.fitAddon?.fit()}catch{}})}),(e,a)=>{const y=L("a-tag"),p=L("a-select"),c=L("a-button"),z=L("a-space"),B=L("a-alert");return w(),S("div",xe,[h("div",Se,[h("div",null,[a[3]||(a[3]=h("h2",{class:"page-title"},"远程终端",-1)),h("p",be,[a[2]||(a[2]=O(" 桌面端托管的 PTY 会话;Android 端可远程操控同一通道 ",-1)),b.value?(w(),Z(y,{key:0,color:"orange",style:{"margin-left":"8px"}},{default:M(()=>[O(R(b.value),1)]),_:1})):D("",!0)])]),T(z,null,{default:M(()=>[T(p,{value:g.value,"onUpdate:value":a[0]||(a[0]=d=>g.value=d),style:{width:"130px"},size:"small",options:o},null,8,["value"]),T(c,{type:"primary",size:"small",loading:v.value,onClick:te},{icon:M(()=>[T(U(he))]),default:M(()=>[a[4]||(a[4]=O(" 新会话 ",-1))]),_:1},8,["loading"]),T(c,{size:"small",loading:m.value,onClick:X},{icon:M(()=>[T(U(we))]),default:M(()=>[a[5]||(a[5]=O(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),i.value?(w(),Z(B,{key:0,message:i.value,type:"error","show-icon":"",closable:"",style:{"margin-bottom":"12px"},onClose:a[1]||(a[1]=d=>i.value="")},null,8,["message"])):D("",!0),h("div",ke,[h("div",Ce,[(w(!0),S(j,null,G(n.value,d=>(w(),S("div",{key:d.id,class:fe(["session-tab",{active:d.id===s.value,dead:!d.alive}]),onClick:P=>oe(d.id)},[h("span",Ee,R(d.shell),1),h("span",Te,R(x(d.id)),1),T(U(pe),{class:"session-close",onClick:ve(P=>ae(d.id),["stop"])},null,8,["onClick"])],10,Ae))),128)),n.value.length===0?(w(),S("div",Re,' 点击 "新会话" 创建第一个终端 ')):D("",!0)]),h("div",ze,[(w(!0),S(j,null,G(n.value,d=>me((w(),S("div",{key:d.id,ref_for:!0,ref_key:"xtermContainers",ref:t,"data-session-id":d.id,class:"xterm-container"},null,8,Me)),[[ye,d.id===s.value]])),128)),n.value.length===0?(w(),S("div",De,[...a[6]||(a[6]=[h("span",null,"无活跃会话",-1)])])):D("",!0)])]),r.value?(w(),S("div",Le,[h("span",null,R(r.value.shell)+" · "+R(r.value.cwd||"(默认 cwd)")+" · seq "+R(r.value.lastSeq),1),r.value.alive?D("",!0):(w(),S("span",Oe,"已退出 (code="+R(r.value.exitCode??"-")+")",1))])):D("",!0)])}}},Ne=re(qe,[["__scopeId","data-v-2b31fd4d"]]);export{Ne as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as zt,b as Bt,u as Ot,d as A}from"./index-B_juAGfN.js";import{s as rt}from"./community-parser-CO25nZFt.js";import{R as At,n as Rt,N as ot,y as st,w as Ut,aL as at}from"./icons-BFHq5fEF.js";import{o as Et,M as y,R as m,P as c,u as a,c as o,N as n,Q as w,S as _,K as v,r as O,L as p,O as S,F as U,Y as K,f as G}from"./vendor-M5lGV-wr.js";function D(e){const t=rt(e);if(!t)return null;try{return JSON.parse(t)}catch{}const l=t.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(!l)return null;try{return JSON.parse(l[0])}catch{return null}}const Mt=Object.freeze(["today","week","month","all"]),ct=Object.freeze(["planning","active","suspended","archived"]),ut=Object.freeze(["pending","recorded","billed","rejected","refunded"]);function i(e,t=0){return typeof e=="number"&&Number.isFinite(e)?e:t}function V(e){if(!e)return{noDb:!1,error:""};const t=rt(e),l=/Database not available/i.test(t);return{noDb:l,error:l?"Database not available":""}}const Y={totalCalls:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,avgResponseTimeMs:0};function nt(e){const t={...Y};return!e||typeof e!="object"||Array.isArray(e)||(t.totalCalls=i(e.total_calls??e.totalCalls,0),t.totalInputTokens=i(e.total_input_tokens??e.totalInputTokens,0),t.totalOutputTokens=i(e.total_output_tokens??e.totalOutputTokens,0),t.totalTokens=i(e.total_tokens??e.totalTokens,0),t.totalCostUsd=i(e.total_cost_usd??e.totalCostUsd,0),t.avgResponseTimeMs=i(e.avg_response_time_ms??e.avgResponseTimeMs,0)),t}function lt(e){const t=D(e);return!t||typeof t!="object"||Array.isArray(t)?{stats:{...Y},today:{...Y}}:{stats:nt(t.stats),today:nt(t.today)}}function wt(e,t=0){if(!e||typeof e!="object")return null;const l=e.provider||"",f=e.model||"";return!l&&!f?null:{key:`${l}/${f}/${t}`,provider:String(l),model:String(f),calls:i(e.calls,0),inputTokens:i(e.input_tokens??e.inputTokens,0),outputTokens:i(e.output_tokens??e.outputTokens,0),totalTokens:i(e.total_tokens??e.totalTokens,0),costUsd:i(e.cost_usd??e.costUsd,0),_idx:t}}function Dt(e){const t=D(e);return Array.isArray(t)?t.map(wt).filter(Boolean):[]}function jt(e,t=0){if(!e||typeof e!="object")return null;const l=e.id||"";return l?{key:l,id:l,provider:String(e.provider||""),model:String(e.model||""),inputTokens:i(e.input_tokens??e.inputTokens,0),outputTokens:i(e.output_tokens??e.outputTokens,0),totalTokens:i(e.total_tokens??e.totalTokens,0),costUsd:i(e.cost_usd??e.costUsd,0),responseTimeMs:i(e.response_time_ms??e.responseTimeMs,0),endpoint:String(e.endpoint||""),createdAt:e.created_at??e.createdAt??"",_idx:t}:null}function Nt(e){const t=D(e);return Array.isArray(t)?t.map(jt).filter(Boolean):[]}const It={totalEntries:0,totalHits:0,totalTokensSaved:0,expiredEntries:0};function Vt(e){const t={...It},l=D(e);return!l||typeof l!="object"||Array.isArray(l)||(t.totalEntries=i(l.total_entries??l.totalEntries,0),t.totalHits=i(l.total_hits??l.totalHits,0),t.totalTokensSaved=i(l.total_tokens_saved??l.totalTokensSaved,0),t.expiredEntries=i(l.expired_entries??l.expiredEntries,0)),t}const Pt={totalBudgetsV2:0,totalRecordsV2:0,maxActiveBudgetsPerOwner:0,maxPendingRecordsPerBudget:0,budgetIdleMs:0,recordStuckMs:0,budgetsByStatus:{},recordsByStatus:{}};function Ft(e){const t=JSON.parse(JSON.stringify(Pt));for(const f of ct)t.budgetsByStatus[f]=0;for(const f of ut)t.recordsByStatus[f]=0;const l=D(e);if(!l||typeof l!="object"||Array.isArray(l))return t;if(t.totalBudgetsV2=i(l.totalBudgetsV2,0),t.totalRecordsV2=i(l.totalRecordsV2,0),t.maxActiveBudgetsPerOwner=i(l.maxActiveBudgetsPerOwner,0),t.maxPendingRecordsPerBudget=i(l.maxPendingRecordsPerBudget,0),t.budgetIdleMs=i(l.budgetIdleMs,0),t.recordStuckMs=i(l.recordStuckMs,0),l.budgetsByStatus&&typeof l.budgetsByStatus=="object")for(const[f,b]of Object.entries(l.budgetsByStatus))typeof b=="number"&&Number.isFinite(b)&&(t.budgetsByStatus[f]=b);if(l.recordsByStatus&&typeof l.recordsByStatus=="object")for(const[f,b]of Object.entries(l.recordsByStatus))typeof b=="number"&&Number.isFinite(b)&&(t.recordsByStatus[f]=b);return t}function Lt(e){if(e==null||e==="")return"—";const t=String(e),l=t.includes(" ")&&!t.includes("T")?t.replace(" ","T")+"Z":t,f=typeof e=="number"?new Date(e):new Date(l);return isNaN(f.getTime())?t:f.toLocaleString("zh-CN",{hour12:!1})}function P(e){return typeof e!="number"||!Number.isFinite(e)?"$0":"$"+(Math.abs(e)<1?e.toFixed(4):e.toFixed(2))}const $t={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Ht={class:"page-title"},Jt={class:"page-sub"},Kt={style:{display:"flex","align-items":"center",gap:"12px","flex-wrap":"wrap"}},Gt={style:{color:"var(--text-secondary)","font-size":"12px"}},Yt={class:"stat-sub"},Qt={class:"stat-sub"},Wt={class:"stat-sub"},Zt={class:"stat-sub"},qt={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Xt={key:2,style:{color:"var(--text-secondary)"}},te={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ee={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},oe={style:{color:"#faad14","font-weight":"500","font-family":"monospace"}},se={key:5,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"12px"}},ae={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},ne={key:0,style:{color:"var(--text-secondary)","font-size":"11px","font-family":"monospace"}},le={key:2,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},re={style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ce={style:{color:"var(--text-muted)","font-size":"11px","font-family":"monospace"}},ue={key:4,style:{color:"#faad14","font-weight":"500","font-family":"monospace"}},ie={key:0,style:{color:"var(--text-muted)","font-family":"monospace","font-size":"11px"}},de={key:1,style:{color:"var(--text-muted)"}},pe={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},fe={style:{"font-size":"12px",color:"var(--text-secondary)",margin:"0 0 8px"}},ke={style:{"font-size":"12px",color:"var(--text-secondary)",margin:"0 0 8px"}},me={__name:"Tokens",setup(e){const{t}=Bt(),l=Ot(),f=O(!1),b=O("all"),g=O({stats:{totalCalls:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,avgResponseTimeMs:0},today:{totalCalls:0,totalInputTokens:0,totalOutputTokens:0,totalTokens:0,totalCostUsd:0,avgResponseTimeMs:0}}),F=O([]),Q=O([]),h=O({totalEntries:0,totalHits:0,totalTokensSaved:0,expiredEntries:0}),R=O({totalBudgetsV2:0,totalRecordsV2:0,maxActiveBudgetsPerOwner:0,maxPendingRecordsPerBudget:0,budgetIdleMs:0,recordStuckMs:0,budgetsByStatus:{},recordsByStatus:{}}),j=O({noDb:!1,error:""}),W=O("breakdown"),it=G(()=>[{title:t("tokens.breakdownColumns.provider"),key:"provider",width:"130px"},{title:t("tokens.breakdownColumns.model"),key:"model"},{title:t("tokens.breakdownColumns.calls"),key:"calls",width:"90px"},{title:t("tokens.breakdownColumns.totalTokens"),key:"totalTokens",width:"180px"},{title:t("tokens.breakdownColumns.costUsd"),key:"costUsd",width:"180px"},{title:t("tokens.breakdownColumns.avgCost"),key:"avgCost",width:"110px"}]),dt=G(()=>[{title:t("tokens.recentColumns.createdAt"),key:"createdAt",width:"160px"},{title:t("tokens.recentColumns.provider"),key:"provider",width:"130px"},{title:t("tokens.recentColumns.model"),key:"model",width:"180px"},{title:t("tokens.recentColumns.tokens"),key:"tokens",width:"160px"},{title:t("tokens.recentColumns.costUsd"),key:"costUsd",width:"110px"},{title:t("tokens.recentColumns.responseTimeMs"),key:"responseTimeMs",width:"100px"},{title:t("tokens.recentColumns.endpoint"),key:"endpoint"}]),Z=G(()=>F.value.reduce((s,u)=>s+u.costUsd,0));function pt(s){const u=`tokens.period.${s}`,k=t(u);return k===u?s:k}function q(s){const u=["blue","green","purple","orange","cyan","magenta","gold","volcano"];let k=0;for(let z=0;z<(s||"").length;z++)k=k*31+s.charCodeAt(z)>>>0;return u[k%u.length]}function ft(s){return s<=500?"#52c41a":s<=1500?"#1677ff":s<=3e3?"#faad14":"#ff4d4f"}function kt(s){return s<=500?"green":s<=1500?"blue":s<=3e3?"gold":"red"}function C(s){return typeof s!="number"||!Number.isFinite(s)?"0":s.toLocaleString("en-US")}function mt(s){return!Z.value||s<=0?0:Math.min(100,Math.round(s/Z.value*100))}function X(s,u){return u?Math.round(s/u*100):0}function yt(s){const u=`tokens.budgetStatus.${s}`,k=t(u);return k===u?s:k}function vt(s){return{planning:"default",active:"green",suspended:"orange",archived:"default"}[s]||"default"}function _t(s){return{planning:"#888",active:"#52c41a",suspended:"#faad14",archived:"#666"}[s]||"#888"}function bt(s){const u=`tokens.recordStatus.${s}`,k=t(u);return k===u?s:k}function gt(s){return{pending:"default",recorded:"blue",billed:"green",rejected:"red",refunded:"orange"}[s]||"default"}function xt(s){return{pending:"#888",recorded:"#1677ff",billed:"#52c41a",rejected:"#ff4d4f",refunded:"#faad14"}[s]||"#888"}async function N(){f.value=!0,j.value={noDb:!1,error:""};try{const[s,u,k,z,L]=await Promise.all([l.execute(`tokens show --period ${b.value} --json`,8e3).catch(()=>({output:""})),l.execute("tokens breakdown --json",8e3).catch(()=>({output:""})),l.execute("tokens recent -n 100 --json",1e4).catch(()=>({output:""})),l.execute("tokens cache --json",6e3).catch(()=>({output:""})),l.execute("tokens stats-v2",6e3).catch(()=>({output:""}))]),I=[s,u,k,z].map(E=>V(E.output)).find(E=>E.noDb);I&&(j.value=I),g.value=lt(s.output),F.value=Dt(u.output),Q.value=Nt(k.output),h.value=Vt(z.output),R.value=Ft(L.output)}catch(s){A.error(t("tokens.messages.loadFailed",{err:s?.message||s}))}finally{f.value=!1}}async function ht(){try{const{output:s}=await l.execute(`tokens show --period ${b.value} --json`,8e3),u=V(s);if(u.noDb){j.value=u;return}g.value=lt(s)}catch(s){A.error(t("tokens.messages.loadShowFailed",{err:s?.message||s}))}}async function Tt(){try{const{output:s}=await l.execute("tokens cache --cleanup",8e3);if(V(s).noDb){A.error(t("tokens.messages.needInit"));return}A.success(t("tokens.messages.cleanupOk")),await N()}catch(s){A.error(t("tokens.messages.cleanupFailed",{err:s?.message||s}))}}async function St(){try{const{output:s}=await l.execute("tokens cache --clear",8e3);if(V(s).noDb){A.error(t("tokens.messages.needInit"));return}A.success(t("tokens.messages.clearOk")),await N()}catch(s){A.error(t("tokens.messages.clearFailed",{err:s?.message||s}))}}return Et(N),(s,u)=>{const k=v("a-button"),z=v("a-space"),L=v("a-alert"),I=v("a-radio-button"),E=v("a-radio-group"),x=v("a-card"),B=v("a-statistic"),T=v("a-col"),$=v("a-row"),M=v("a-tag"),H=v("a-progress"),tt=v("a-table"),J=v("a-tab-pane"),et=v("a-popconfirm"),Ct=v("a-tabs");return p(),y("div",null,[m("div",$t,[m("div",null,[m("h2",Ht,c(a(t)("tokens.title")),1),m("p",Jt,c(a(t)("tokens.subtitle")),1)]),o(z,null,{default:n(()=>[o(k,{loading:f.value,onClick:N},{icon:n(()=>[o(a(At))]),default:n(()=>[S(" "+c(a(t)("tokens.refresh")),1)]),_:1},8,["loading"])]),_:1})]),j.value.noDb?(p(),w(L,{key:0,type:"info","show-icon":"",message:a(t)("tokens.noDb.message"),description:a(t)("tokens.noDb.description"),style:{"margin-bottom":"16px"}},null,8,["message","description"])):_("",!0),o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"16px"},"body-style":{padding:"10px 16px"}},{default:n(()=>[m("div",Kt,[m("span",Gt,c(a(t)("tokens.periodLabel")),1),o(E,{value:b.value,"onUpdate:value":u[0]||(u[0]=r=>b.value=r),size:"small","button-style":"solid",onChange:ht},{default:n(()=>[(p(!0),y(U,null,K(a(Mt),r=>(p(),w(I,{key:r,value:r},{default:n(()=>[S(c(pt(r)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),_:1}),o($,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.calls"),value:g.value.stats.totalCalls,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:n(()=>[o(a(Rt))]),_:1},8,["title","value"]),m("div",Yt,c(a(t)("tokens.stats.callsToday",{count:g.value.today.totalCalls})),1)]),_:1})]),_:1}),o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.totalTokens"),value:g.value.stats.totalTokens,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:n(()=>[o(a(ot))]),_:1},8,["title","value"]),m("div",Qt,c(a(t)("tokens.stats.tokensInOut",{inputs:C(g.value.stats.totalInputTokens),outputs:C(g.value.stats.totalOutputTokens)})),1)]),_:1})]),_:1}),o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.totalCost"),value:g.value.stats.totalCostUsd,precision:g.value.stats.totalCostUsd<1?4:2,prefix:"$","value-style":{color:"#faad14",fontSize:"20px"}},null,8,["title","value","precision"]),m("div",Wt,c(a(t)("tokens.stats.costToday",{amount:a(P)(g.value.today.totalCostUsd)})),1)]),_:1})]),_:1}),o(T,{xs:12,sm:8,lg:5},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.avgResponse"),value:g.value.stats.avgResponseTimeMs,suffix:"ms",precision:0,"value-style":{color:ft(g.value.stats.avgResponseTimeMs),fontSize:"20px"}},{prefix:n(()=>[o(a(st))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),o(T,{xs:24,sm:8,lg:4},{default:n(()=>[o(x,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.stats.cacheHits"),value:h.value.totalHits,"value-style":{color:"#13c2c2",fontSize:"20px"}},{prefix:n(()=>[o(a(Ut))]),_:1},8,["title","value"]),m("div",Zt,c(a(t)("tokens.stats.cacheTokensSaved",{count:C(h.value.totalTokensSaved)})),1)]),_:1})]),_:1})]),_:1}),o(Ct,{activeKey:W.value,"onUpdate:activeKey":u[1]||(u[1]=r=>W.value=r),class:"tokens-tabs"},{default:n(()=>[o(J,{key:"breakdown",tab:a(t)("tokens.tabs.breakdown")},{default:n(()=>[o(tt,{columns:it.value,"data-source":F.value,pagination:{pageSize:20,showTotal:r=>a(t)("tokens.totals.models",{count:r})},size:"small",loading:f.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:r,record:d})=>[r.key==="provider"?(p(),w(M,{key:0,color:q(d.provider),style:{"font-family":"monospace"}},{default:n(()=>[S(c(d.provider),1)]),_:2},1032,["color"])):_("",!0),r.key==="model"?(p(),y("span",qt,c(d.model),1)):_("",!0),r.key==="calls"?(p(),y("span",Xt,c(C(d.calls)),1)):_("",!0),r.key==="totalTokens"?(p(),y(U,{key:3},[m("span",te,c(C(d.totalTokens)),1),m("div",ee,c(a(t)("tokens.breakdownDetails.tokensInOut",{inputs:C(d.inputTokens),outputs:C(d.outputTokens)})),1)],64)):_("",!0),r.key==="costUsd"?(p(),y(U,{key:4},[m("span",oe,c(a(P)(d.costUsd)),1),o(H,{percent:mt(d.costUsd),"show-info":!1,"stroke-color":"#faad14",size:"small",style:{"margin-top":"2px"}},null,8,["percent"])],64)):_("",!0),r.key==="avgCost"?(p(),y("span",se,c(d.calls>0?a(P)(d.costUsd/d.calls):"—"),1)):_("",!0)]),emptyText:n(()=>[m("div",ae,[o(a(ot),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),S(" "+c(a(t)("tokens.empty.breakdown")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),o(J,{key:"recent",tab:a(t)("tokens.tabs.recent")},{default:n(()=>[o(tt,{columns:dt.value,"data-source":Q.value,pagination:{pageSize:20,showTotal:r=>a(t)("tokens.totals.rows",{count:r})},size:"small",loading:f.value,style:{background:"var(--bg-card)"}},{bodyCell:n(({column:r,record:d})=>[r.key==="createdAt"?(p(),y("span",ne,c(a(Lt)(d.createdAt)),1)):_("",!0),r.key==="provider"?(p(),w(M,{key:1,color:q(d.provider),style:{"font-family":"monospace"}},{default:n(()=>[S(c(d.provider),1)]),_:2},1032,["color"])):_("",!0),r.key==="model"?(p(),y("span",le,c(d.model),1)):_("",!0),r.key==="tokens"?(p(),y(U,{key:3},[m("span",re,c(C(d.totalTokens)),1),m("div",ce,c(C(d.inputTokens))+" / "+c(C(d.outputTokens)),1)],64)):_("",!0),r.key==="costUsd"?(p(),y("span",ue,c(a(P)(d.costUsd)),1)):_("",!0),r.key==="responseTimeMs"?(p(),w(M,{key:5,color:kt(d.responseTimeMs)},{default:n(()=>[S(c(d.responseTimeMs)+"ms",1)]),_:2},1032,["color"])):_("",!0),r.key==="endpoint"?(p(),y(U,{key:6},[d.endpoint?(p(),y("span",ie,c(d.endpoint),1)):(p(),y("span",de,"—"))],64)):_("",!0)]),emptyText:n(()=>[m("div",pe,[o(a(st),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),S(" "+c(a(t)("tokens.empty.recent")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),o(J,{key:"cache",tab:a(t)("tokens.tabs.cache")},{default:n(()=>[o($,{gutter:[16,16],style:{"margin-bottom":"16px"}},{default:n(()=>[o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.totalEntries"),value:h.value.totalEntries,"value-style":{color:"#1677ff",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1}),o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.totalHits"),value:h.value.totalHits,"value-style":{color:"#52c41a",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1}),o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.totalTokensSaved"),value:h.value.totalTokensSaved,"value-style":{color:"#13c2c2",fontSize:"18px"}},null,8,["title","value"])]),_:1})]),_:1}),o(T,{xs:12,sm:6},{default:n(()=>[o(x,{size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(B,{title:a(t)("tokens.cache.expiredEntries"),value:h.value.expiredEntries,"value-style":{color:h.value.expiredEntries>0?"#faad14":"#888",fontSize:"18px"}},null,8,["title","value","value-style"])]),_:1})]),_:1})]),_:1}),o(x,{title:a(t)("tokens.cache.maintenanceTitle"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[o(z,null,{default:n(()=>[o(et,{title:a(t)("tokens.cache.cleanupConfirm"),"ok-text":a(t)("tokens.cache.cleanupOk"),"cancel-text":a(t)("common.cancel"),onConfirm:Tt},{default:n(()=>[o(k,{disabled:h.value.expiredEntries===0},{icon:n(()=>[o(a(at))]),default:n(()=>[S(" "+c(a(t)("tokens.cache.cleanupButton",{count:h.value.expiredEntries})),1)]),_:1},8,["disabled"])]),_:1},8,["title","ok-text","cancel-text"]),o(et,{title:a(t)("tokens.cache.clearConfirm"),"ok-text":a(t)("tokens.cache.clearOk"),"ok-type":"danger","cancel-text":a(t)("common.cancel"),onConfirm:St},{default:n(()=>[o(k,{danger:"",disabled:h.value.totalEntries===0},{icon:n(()=>[o(a(at))]),default:n(()=>[S(" "+c(a(t)("tokens.cache.clearButton")),1)]),_:1},8,["disabled"])]),_:1},8,["title","ok-text","cancel-text"])]),_:1})]),_:1},8,["title"]),o(x,{title:a(t)("tokens.v2.cardTitle"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-top":"16px"}},{default:n(()=>[o($,{gutter:[16,16]},{default:n(()=>[o(T,{xs:24,lg:12},{default:n(()=>[m("h5",fe,c(a(t)("tokens.v2.budgetsTitle")),1),(p(!0),y(U,null,K(a(ct),r=>(p(),y("div",{key:r,class:"bd-row"},[o(M,{color:vt(r),style:{"min-width":"80px","text-align":"center"}},{default:n(()=>[S(c(yt(r)),1)]),_:2},1032,["color"]),o(H,{percent:X(R.value.budgetsByStatus[r]||0,R.value.totalBudgetsV2),"stroke-color":_t(r),format:()=>`${R.value.budgetsByStatus[r]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1}),o(T,{xs:24,lg:12},{default:n(()=>[m("h5",ke,c(a(t)("tokens.v2.recordsTitle")),1),(p(!0),y(U,null,K(a(ut),r=>(p(),y("div",{key:r,class:"bd-row"},[o(M,{color:gt(r),style:{"min-width":"80px","text-align":"center"}},{default:n(()=>[S(c(bt(r)),1)]),_:2},1032,["color"]),o(H,{percent:X(R.value.recordsByStatus[r]||0,R.value.totalRecordsV2),"stroke-color":xt(r),format:()=>`${R.value.recordsByStatus[r]||0}`,size:"small",style:{flex:"1","margin-left":"12px"}},null,8,["percent","stroke-color","format"])]))),128))]),_:1})]),_:1})]),_:1},8,["title"])]),_:1},8,["tab"])]),_:1},8,["activeKey"])])}}},ge=zt(me,[["__scopeId","data-v-605706da"]]);export{ge as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as O,h as P,f as $,ag as fe,J as ce,i as Ct,j as I,g as Be,ah as Ve,M as Fe,a6 as Le,ai as $t,aj as Ie,ak as We,N as et,k as ze}from"./index-CEbbycgJ.js";import{w as z}from"./raf-Deuc0E8-.js";import{a as U,s as G,P as Xe}from"./motion-DFuREFOd.js";import{c as C,a4 as xt,a2 as pe,a9 as Ye,d as J,r as W,w as V,o as de,e as je,s as x,f as K,n as wt,q as Ue,x as Ge,a3 as ke,a1 as Ht,a8 as Ke,F as qe,p as Ze,i as Je}from"./vendor-M5lGV-wr.js";import{c as he}from"./vnode-BQi3uWRC.js";import{i as Qe}from"./isVisible-C7tPsqfj.js";import{i as tn}from"./ResizeObserver.es-D6qJbdzf.js";import{l as en,M as ve,r as nn,S as Rt,a as at,d as on,b as Tt,c as ge,i as rn,f as sn,g as Bt,j as Vt}from"./_getTag-BVc6NQ_K.js";function an(){return""}function un(t){return t?t.ownerDocument:window.document}function me(){}const ln=()=>({action:O.oneOfType([O.string,O.arrayOf(O.string)]).def([]),showAction:O.any.def([]),hideAction:O.any.def([]),getPopupClassNameFromAlign:O.any.def(an),onPopupVisibleChange:Function,afterPopupVisibleChange:O.func.def(me),popup:O.any,arrow:O.bool.def(!0),popupStyle:{type:Object,default:void 0},prefixCls:O.string.def("rc-trigger-popup"),popupClassName:O.string.def(""),popupPlacement:String,builtinPlacements:O.object,popupTransitionName:String,popupAnimation:O.any,mouseEnterDelay:O.number.def(0),mouseLeaveDelay:O.number.def(.1),zIndex:Number,focusDelay:O.number.def(0),blurDelay:O.number.def(.15),getPopupContainer:Function,getDocument:O.func.def(un),forceRender:{type:Boolean,default:void 0},destroyPopupOnHide:{type:Boolean,default:!1},mask:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!0},popupAlign:O.object.def(()=>({})),popupVisible:{type:Boolean,default:void 0},defaultPopupVisible:{type:Boolean,default:!1},maskTransitionName:String,maskAnimation:String,stretch:String,alignPoint:{type:Boolean,default:void 0},autoDestroy:{type:Boolean,default:!1},mobile:Object,getTriggerDOMNode:Function}),Mt={visible:Boolean,prefixCls:String,zIndex:Number,destroyPopupOnHide:Boolean,forceRender:Boolean,arrow:{type:Boolean,default:!0},animation:[String,Object],transitionName:String,stretch:{type:String},align:{type:Object},point:{type:Object},getRootDomNode:{type:Function},getClassNameFromAlign:{type:Function},onAlign:{type:Function},onMouseenter:{type:Function},onMouseleave:{type:Function},onMousedown:{type:Function},onTouchstart:{type:Function}},fn=P(P({},Mt),{mobile:{type:Object}}),cn=P(P({},Mt),{mask:Boolean,mobile:{type:Object},maskAnimation:String,maskTransitionName:String});function ye(t){const{prefixCls:e,visible:n,zIndex:i,mask:o,maskAnimation:r,maskTransitionName:s}=t;if(!o)return null;let a={};return(s||r)&&(a=fe({prefixCls:e,transitionName:s,animation:r})),C(xt,$({appear:!0},a),{default:()=>[pe(C("div",{style:{zIndex:i},class:`${e}-mask`},null),[[Ye("if"),n]])]})}ye.displayName="Mask";const pn=J({compatConfig:{MODE:3},name:"MobilePopupInner",inheritAttrs:!1,props:fn,emits:["mouseenter","mouseleave","mousedown","touchstart","align"],setup(t,e){let{expose:n,slots:i}=e;const o=W();return n({forceAlign:()=>{},getElement:()=>o.value}),()=>{var r;const{zIndex:s,visible:a,prefixCls:l,mobile:{popupClassName:u,popupStyle:h,popupMotion:p={},popupRender:c}={}}=t,f=P({zIndex:s},h);let d=ce((r=i.default)===null||r===void 0?void 0:r.call(i));d.length>1&&(d=C("div",{class:`${l}-content`},[d])),c&&(d=c(d));const g=Ct(l,u);return C(xt,$({ref:o},p),{default:()=>[a?C("div",{class:g,style:f},[d]):null]})}}});var dn=function(t,e,n,i){function o(r){return r instanceof n?r:new n(function(s){s(r)})}return new(n||(n=Promise))(function(r,s){function a(h){try{u(i.next(h))}catch(p){s(p)}}function l(h){try{u(i.throw(h))}catch(p){s(p)}}function u(h){h.done?r(h.value):o(h.value).then(a,l)}u((i=i.apply(t,e||[])).next())})};const Ft=["measure","align",null,"motion"],hn=((t,e)=>{const n=x(null),i=x(),o=x(!1);function r(l){o.value||(n.value=l)}function s(){z.cancel(i.value)}function a(l){s(),i.value=z(()=>{let u=n.value;switch(n.value){case"align":u="motion";break;case"motion":u="stable";break}r(u),l?.()})}return V(t,()=>{r("measure")},{immediate:!0,flush:"post"}),de(()=>{V(n,()=>{n.value==="measure"&&e(),n.value&&(i.value=z(()=>dn(void 0,void 0,void 0,function*(){const l=Ft.indexOf(n.value),u=Ft[l+1];u&&l!==-1&&r(u)})))},{immediate:!0,flush:"post"})}),je(()=>{o.value=!0,s()}),[n,a]}),vn=(t=>{const e=x({width:0,height:0});function n(o){e.value={width:o.offsetWidth,height:o.offsetHeight}}return[K(()=>{const o={};if(t.value){const{width:r,height:s}=e.value;t.value.indexOf("height")!==-1&&s?o.height=`${s}px`:t.value.indexOf("minHeight")!==-1&&s&&(o.minHeight=`${s}px`),t.value.indexOf("width")!==-1&&r?o.width=`${r}px`:t.value.indexOf("minWidth")!==-1&&r&&(o.minWidth=`${r}px`)}return o}),n]});function Lt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,i)}return n}function It(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Lt(Object(n),!0).forEach(function(i){gn(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Lt(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function bt(t){"@babel/helpers - typeof";return bt=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},bt(t)}function gn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var j,mn={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function ut(){if(j!==void 0)return j;j="";var t=document.createElement("p").style,e="Transform";for(var n in mn)n+e in t&&(j=n);return j}function we(){return ut()?"".concat(ut(),"TransitionProperty"):"transitionProperty"}function ft(){return ut()?"".concat(ut(),"Transform"):"transform"}function Wt(t,e){var n=we();n&&(t.style[n]=e,n!=="transitionProperty"&&(t.style.transitionProperty=e))}function ht(t,e){var n=ft();n&&(t.style[n]=e,n!=="transform"&&(t.style.transform=e))}function yn(t){return t.style.transitionProperty||t.style[we()]}function wn(t){var e=window.getComputedStyle(t,null),n=e.getPropertyValue("transform")||e.getPropertyValue(ft());if(n&&n!=="none"){var i=n.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(i[12]||i[4],0),y:parseFloat(i[13]||i[5],0)}}return{x:0,y:0}}var Tn=/matrix\((.*)\)/,bn=/matrix3d\((.*)\)/;function Pn(t,e){var n=window.getComputedStyle(t,null),i=n.getPropertyValue("transform")||n.getPropertyValue(ft());if(i&&i!=="none"){var o,r=i.match(Tn);if(r)r=r[1],o=r.split(",").map(function(a){return parseFloat(a,10)}),o[4]=e.x,o[5]=e.y,ht(t,"matrix(".concat(o.join(","),")"));else{var s=i.match(bn)[1];o=s.split(",").map(function(a){return parseFloat(a,10)}),o[12]=e.x,o[13]=e.y,ht(t,"matrix3d(".concat(o.join(","),")"))}}else ht(t,"translateX(".concat(e.x,"px) translateY(").concat(e.y,"px) translateZ(0)"))}var On=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,Q;function zt(t){var e=t.style.display;t.style.display="none",t.offsetHeight,t.style.display=e}function X(t,e,n){var i=n;if(bt(e)==="object"){for(var o in e)e.hasOwnProperty(o)&&X(t,o,e[o]);return}if(typeof i<"u"){typeof i=="number"&&(i="".concat(i,"px")),t.style[e]=i;return}return Q(t,e)}function _n(t){var e,n,i,o=t.ownerDocument,r=o.body,s=o&&o.documentElement;return e=t.getBoundingClientRect(),n=Math.floor(e.left),i=Math.floor(e.top),n-=s.clientLeft||r.clientLeft||0,i-=s.clientTop||r.clientTop||0,{left:n,top:i}}function Te(t,e){var n=t["page".concat(e?"Y":"X","Offset")],i="scroll".concat(e?"Top":"Left");if(typeof n!="number"){var o=t.document;n=o.documentElement[i],typeof n!="number"&&(n=o.body[i])}return n}function be(t){return Te(t)}function Pe(t){return Te(t,!0)}function q(t){var e=_n(t),n=t.ownerDocument,i=n.defaultView||n.parentWindow;return e.left+=be(i),e.top+=Pe(i),e}function St(t){return t!=null&&t==t.window}function Oe(t){return St(t)?t.document:t.nodeType===9?t:t.ownerDocument}function Cn(t,e,n){var i=n,o="",r=Oe(t);return i=i||r.defaultView.getComputedStyle(t,null),i&&(o=i.getPropertyValue(e)||i[e]),o}var xn=new RegExp("^(".concat(On,")(?!px)[a-z%]+$"),"i"),Mn=/^(top|right|bottom|left)$/,vt="currentStyle",gt="runtimeStyle",B="left",Sn="px";function An(t,e){var n=t[vt]&&t[vt][e];if(xn.test(n)&&!Mn.test(e)){var i=t.style,o=i[B],r=t[gt][B];t[gt][B]=t[vt][B],i[B]=e==="fontSize"?"1em":n||0,n=i.pixelLeft+Sn,i[B]=o,t[gt][B]=r}return n===""?"auto":n}typeof window<"u"&&(Q=window.getComputedStyle?Cn:An);function nt(t,e){return t==="left"?e.useCssRight?"right":t:e.useCssBottom?"bottom":t}function Xt(t){if(t==="left")return"right";if(t==="right")return"left";if(t==="top")return"bottom";if(t==="bottom")return"top"}function Yt(t,e,n){X(t,"position")==="static"&&(t.style.position="relative");var i=-999,o=-999,r=nt("left",n),s=nt("top",n),a=Xt(r),l=Xt(s);r!=="left"&&(i=999),s!=="top"&&(o=999);var u="",h=q(t);("left"in e||"top"in e)&&(u=yn(t)||"",Wt(t,"none")),"left"in e&&(t.style[a]="",t.style[r]="".concat(i,"px")),"top"in e&&(t.style[l]="",t.style[s]="".concat(o,"px")),zt(t);var p=q(t),c={};for(var f in e)if(e.hasOwnProperty(f)){var d=nt(f,n),g=f==="left"?i:o,w=h[f]-p[f];d===f?c[d]=g+w:c[d]=g-w}X(t,c),zt(t),("left"in e||"top"in e)&&Wt(t,u);var m={};for(var y in e)if(e.hasOwnProperty(y)){var b=nt(y,n),_=e[y]-h[y];y===b?m[b]=c[b]+_:m[b]=c[b]-_}X(t,m)}function Dn(t,e){var n=q(t),i=wn(t),o={x:i.x,y:i.y};"left"in e&&(o.x=i.x+e.left-n.left),"top"in e&&(o.y=i.y+e.top-n.top),Pn(t,o)}function En(t,e,n){if(n.ignoreShake){var i=q(t),o=i.left.toFixed(0),r=i.top.toFixed(0),s=e.left.toFixed(0),a=e.top.toFixed(0);if(o===s&&r===a)return}n.useCssRight||n.useCssBottom?Yt(t,e,n):n.useCssTransform&&ft()in document.body.style?Dn(t,e):Yt(t,e,n)}function At(t,e){for(var n=0;n<t.length;n++)e(t[n])}function _e(t){return Q(t,"boxSizing")==="border-box"}var Nn=["margin","border","padding"],Pt=-1,$n=2,Ot=1,Hn=0;function Rn(t,e,n){var i={},o=t.style,r;for(r in e)e.hasOwnProperty(r)&&(i[r]=o[r],o[r]=e[r]);n.call(t);for(r in e)e.hasOwnProperty(r)&&(o[r]=i[r])}function k(t,e,n){var i=0,o,r,s;for(r=0;r<e.length;r++)if(o=e[r],o)for(s=0;s<n.length;s++){var a=void 0;o==="border"?a="".concat(o).concat(n[s],"Width"):a=o+n[s],i+=parseFloat(Q(t,a))||0}return i}var D={getParent:function(e){var n=e;do n.nodeType===11&&n.host?n=n.host:n=n.parentNode;while(n&&n.nodeType!==1&&n.nodeType!==9);return n}};At(["Width","Height"],function(t){D["doc".concat(t)]=function(e){var n=e.document;return Math.max(n.documentElement["scroll".concat(t)],n.body["scroll".concat(t)],D["viewport".concat(t)](n))},D["viewport".concat(t)]=function(e){var n="client".concat(t),i=e.document,o=i.body,r=i.documentElement,s=r[n];return i.compatMode==="CSS1Compat"&&s||o&&o[n]||s}});function jt(t,e,n){var i=n;if(St(t))return e==="width"?D.viewportWidth(t):D.viewportHeight(t);if(t.nodeType===9)return e==="width"?D.docWidth(t):D.docHeight(t);var o=e==="width"?["Left","Right"]:["Top","Bottom"],r=Math.floor(e==="width"?t.getBoundingClientRect().width:t.getBoundingClientRect().height),s=_e(t),a=0;(r==null||r<=0)&&(r=void 0,a=Q(t,e),(a==null||Number(a)<0)&&(a=t.style[e]||0),a=Math.floor(parseFloat(a))||0),i===void 0&&(i=s?Ot:Pt);var l=r!==void 0||s,u=r||a;return i===Pt?l?u-k(t,["border","padding"],o):a:l?i===Ot?u:u+(i===$n?-k(t,["border"],o):k(t,["margin"],o)):a+k(t,Nn.slice(i),o)}var Bn={position:"absolute",visibility:"hidden",display:"block"};function Ut(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var i,o=e[0];return o.offsetWidth!==0?i=jt.apply(void 0,e):Rn(o,Bn,function(){i=jt.apply(void 0,e)}),i}At(["width","height"],function(t){var e=t.charAt(0).toUpperCase()+t.slice(1);D["outer".concat(e)]=function(i,o){return i&&Ut(i,t,o?Hn:Ot)};var n=t==="width"?["Left","Right"]:["Top","Bottom"];D[t]=function(i,o){var r=o;if(r!==void 0){if(i){var s=_e(i);return s&&(r+=k(i,["padding","border"],n)),X(i,t,r)}return}return i&&Ut(i,t,Pt)}});function Ce(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var v={getWindow:function(e){if(e&&e.document&&e.setTimeout)return e;var n=e.ownerDocument||e;return n.defaultView||n.parentWindow},getDocument:Oe,offset:function(e,n,i){if(typeof n<"u")En(e,n,i||{});else return q(e)},isWindow:St,each:At,css:X,clone:function(e){var n,i={};for(n in e)e.hasOwnProperty(n)&&(i[n]=e[n]);var o=e.overflow;if(o)for(n in e)e.hasOwnProperty(n)&&(i.overflow[n]=e.overflow[n]);return i},mix:Ce,getWindowScrollLeft:function(e){return be(e)},getWindowScrollTop:function(e){return Pe(e)},merge:function(){for(var e={},n=0;n<arguments.length;n++)v.mix(e,n<0||arguments.length<=n?void 0:arguments[n]);return e},viewportWidth:0,viewportHeight:0};Ce(v,D);var mt=v.getParent;function _t(t){if(v.isWindow(t)||t.nodeType===9)return null;var e=v.getDocument(t),n=e.body,i,o=v.css(t,"position"),r=o==="fixed"||o==="absolute";if(!r)return t.nodeName.toLowerCase()==="html"?null:mt(t);for(i=mt(t);i&&i!==n&&i.nodeType!==9;i=mt(i))if(o=v.css(i,"position"),o!=="static")return i;return null}var Gt=v.getParent;function Vn(t){if(v.isWindow(t)||t.nodeType===9)return!1;var e=v.getDocument(t),n=e.body,i=null;for(i=Gt(t);i&&i!==n&&i!==e;i=Gt(i)){var o=v.css(i,"position");if(o==="fixed")return!0}return!1}function Dt(t,e){for(var n={left:0,right:1/0,top:0,bottom:1/0},i=_t(t),o=v.getDocument(t),r=o.defaultView||o.parentWindow,s=o.body,a=o.documentElement;i;){if((navigator.userAgent.indexOf("MSIE")===-1||i.clientWidth!==0)&&i!==s&&i!==a&&v.css(i,"overflow")!=="visible"){var l=v.offset(i);l.left+=i.clientLeft,l.top+=i.clientTop,n.top=Math.max(n.top,l.top),n.right=Math.min(n.right,l.left+i.clientWidth),n.bottom=Math.min(n.bottom,l.top+i.clientHeight),n.left=Math.max(n.left,l.left)}else if(i===s||i===a)break;i=_t(i)}var u=null;if(!v.isWindow(t)&&t.nodeType!==9){u=t.style.position;var h=v.css(t,"position");h==="absolute"&&(t.style.position="fixed")}var p=v.getWindowScrollLeft(r),c=v.getWindowScrollTop(r),f=v.viewportWidth(r),d=v.viewportHeight(r),g=a.scrollWidth,w=a.scrollHeight,m=window.getComputedStyle(s);if(m.overflowX==="hidden"&&(g=r.innerWidth),m.overflowY==="hidden"&&(w=r.innerHeight),t.style&&(t.style.position=u),e||Vn(t))n.left=Math.max(n.left,p),n.top=Math.max(n.top,c),n.right=Math.min(n.right,p+f),n.bottom=Math.min(n.bottom,c+d);else{var y=Math.max(g,p+f);n.right=Math.min(n.right,y);var b=Math.max(w,c+d);n.bottom=Math.min(n.bottom,b)}return n.top>=0&&n.left>=0&&n.bottom>n.top&&n.right>n.left?n:null}function Fn(t,e,n,i){var o=v.clone(t),r={width:e.width,height:e.height};return i.adjustX&&o.left<n.left&&(o.left=n.left),i.resizeWidth&&o.left>=n.left&&o.left+r.width>n.right&&(r.width-=o.left+r.width-n.right),i.adjustX&&o.left+r.width>n.right&&(o.left=Math.max(n.right-r.width,n.left)),i.adjustY&&o.top<n.top&&(o.top=n.top),i.resizeHeight&&o.top>=n.top&&o.top+r.height>n.bottom&&(r.height-=o.top+r.height-n.bottom),i.adjustY&&o.top+r.height>n.bottom&&(o.top=Math.max(n.bottom-r.height,n.top)),v.mix(o,r)}function Et(t){var e,n,i;if(!v.isWindow(t)&&t.nodeType!==9)e=v.offset(t),n=v.outerWidth(t),i=v.outerHeight(t);else{var o=v.getWindow(t);e={left:v.getWindowScrollLeft(o),top:v.getWindowScrollTop(o)},n=v.viewportWidth(o),i=v.viewportHeight(o)}return e.width=n,e.height=i,e}function kt(t,e){var n=e.charAt(0),i=e.charAt(1),o=t.width,r=t.height,s=t.left,a=t.top;return n==="c"?a+=r/2:n==="b"&&(a+=r),i==="c"?s+=o/2:i==="r"&&(s+=o),{left:s,top:a}}function it(t,e,n,i,o){var r=kt(e,n[1]),s=kt(t,n[0]),a=[s.left-r.left,s.top-r.top];return{left:Math.round(t.left-a[0]+i[0]-o[0]),top:Math.round(t.top-a[1]+i[1]-o[1])}}function Kt(t,e,n){return t.left<n.left||t.left+e.width>n.right}function qt(t,e,n){return t.top<n.top||t.top+e.height>n.bottom}function Ln(t,e,n){return t.left>n.right||t.left+e.width<n.left}function In(t,e,n){return t.top>n.bottom||t.top+e.height<n.top}function ot(t,e,n){var i=[];return v.each(t,function(o){i.push(o.replace(e,function(r){return n[r]}))}),i}function rt(t,e){return t[e]=-t[e],t}function Zt(t,e){var n;return/%$/.test(t)?n=parseInt(t.substring(0,t.length-1),10)/100*e:n=parseInt(t,10),n||0}function Jt(t,e){t[0]=Zt(t[0],e.width),t[1]=Zt(t[1],e.height)}function xe(t,e,n,i){var o=n.points,r=n.offset||[0,0],s=n.targetOffset||[0,0],a=n.overflow,l=n.source||t;r=[].concat(r),s=[].concat(s),a=a||{};var u={},h=0,p=!!(a&&a.alwaysByViewport),c=Dt(l,p),f=Et(l);Jt(r,f),Jt(s,e);var d=it(f,e,o,r,s),g=v.merge(f,d);if(c&&(a.adjustX||a.adjustY)&&i){if(a.adjustX&&Kt(d,f,c)){var w=ot(o,/[lr]/gi,{l:"r",r:"l"}),m=rt(r,0),y=rt(s,0),b=it(f,e,w,m,y);Ln(b,f,c)||(h=1,o=w,r=m,s=y)}if(a.adjustY&&qt(d,f,c)){var _=ot(o,/[tb]/gi,{t:"b",b:"t"}),A=rt(r,1),T=rt(s,1),E=it(f,e,_,A,T);In(E,f,c)||(h=1,o=_,r=A,s=T)}h&&(d=it(f,e,o,r,s),v.mix(g,d));var M=Kt(d,f,c),S=qt(d,f,c);if(M||S){var R=o;M&&(R=ot(o,/[lr]/gi,{l:"r",r:"l"})),S&&(R=ot(o,/[tb]/gi,{t:"b",b:"t"})),o=R,r=n.offset||[0,0],s=n.targetOffset||[0,0]}u.adjustX=a.adjustX&&M,u.adjustY=a.adjustY&&S,(u.adjustX||u.adjustY)&&(g=Fn(d,f,c,u))}return g.width!==f.width&&v.css(l,"width",v.width(l)+g.width-f.width),g.height!==f.height&&v.css(l,"height",v.height(l)+g.height-f.height),v.offset(l,{left:g.left,top:g.top},{useCssRight:n.useCssRight,useCssBottom:n.useCssBottom,useCssTransform:n.useCssTransform,ignoreShake:n.ignoreShake}),{points:o,offset:r,targetOffset:s,overflow:u}}function Wn(t,e){var n=Dt(t,e),i=Et(t);return!n||i.left+i.width<=n.left||i.top+i.height<=n.top||i.left>=n.right||i.top>=n.bottom}function Nt(t,e,n){var i=n.target||e,o=Et(i),r=!Wn(i,n.overflow&&n.overflow.alwaysByViewport);return xe(t,o,n,r)}Nt.__getOffsetParent=_t;Nt.__getVisibleRectForElement=Dt;function zn(t,e,n){var i,o,r=v.getDocument(t),s=r.defaultView||r.parentWindow,a=v.getWindowScrollLeft(s),l=v.getWindowScrollTop(s),u=v.viewportWidth(s),h=v.viewportHeight(s);"pageX"in e?i=e.pageX:i=a+e.clientX,"pageY"in e?o=e.pageY:o=l+e.clientY;var p={left:i,top:o,width:0,height:0},c=i>=0&&i<=a+u&&o>=0&&o<=l+h,f=[n.points[0],"cc"];return xe(t,p,It(It({},n),{},{points:f}),c)}function Xn(t,e){return t===e?!0:!t||!e?!1:"pageX"in e&&"pageY"in e?t.pageX===e.pageX&&t.pageY===e.pageY:"clientX"in e&&"clientY"in e?t.clientX===e.clientX&&t.clientY===e.clientY:!1}function Yn(t,e){t!==document.activeElement&&I(e,t)&&typeof t.focus=="function"&&t.focus()}function Qt(t,e){let n=null,i=null;function o(s){let[{target:a}]=s;if(!document.documentElement.contains(a))return;const{width:l,height:u}=a.getBoundingClientRect(),h=Math.floor(l),p=Math.floor(u);(n!==h||i!==p)&&Promise.resolve().then(()=>{e({width:h,height:p})}),n=h,i=p}const r=new tn(o);return t&&r.observe(t),()=>{r.disconnect()}}const jn=((t,e)=>{let n=!1,i=null;function o(){clearTimeout(i)}function r(s){if(!n||s===!0){if(t()===!1)return;n=!0,o(),i=setTimeout(()=>{n=!1},e.value)}else o(),i=setTimeout(()=>{n=!1,r()},e.value)}return[r,()=>{n=!1,o()}]});function Un(){this.__data__=[],this.size=0}function Me(t,e){return t===e||t!==t&&e!==e}function ct(t,e){for(var n=t.length;n--;)if(Me(t[n][0],e))return n;return-1}var Gn=Array.prototype,kn=Gn.splice;function Kn(t){var e=this.__data__,n=ct(e,t);if(n<0)return!1;var i=e.length-1;return n==i?e.pop():kn.call(e,n,1),--this.size,!0}function qn(t){var e=this.__data__,n=ct(e,t);return n<0?void 0:e[n][1]}function Zn(t){return ct(this.__data__,t)>-1}function Jn(t,e){var n=this.__data__,i=ct(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}function N(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}N.prototype.clear=Un;N.prototype.delete=Kn;N.prototype.get=qn;N.prototype.has=Zn;N.prototype.set=Jn;function Qn(){this.__data__=new N,this.size=0}function ti(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function ei(t){return this.__data__.get(t)}function ni(t){return this.__data__.has(t)}var Z=en(Object,"create");function ii(){this.__data__=Z?Z(null):{},this.size=0}function oi(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var ri="__lodash_hash_undefined__",si=Object.prototype,ai=si.hasOwnProperty;function ui(t){var e=this.__data__;if(Z){var n=e[t];return n===ri?void 0:n}return ai.call(e,t)?e[t]:void 0}var li=Object.prototype,fi=li.hasOwnProperty;function ci(t){var e=this.__data__;return Z?e[t]!==void 0:fi.call(e,t)}var pi="__lodash_hash_undefined__";function di(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Z&&e===void 0?pi:e,this}function F(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}F.prototype.clear=ii;F.prototype.delete=oi;F.prototype.get=ui;F.prototype.has=ci;F.prototype.set=di;function hi(){this.size=0,this.__data__={hash:new F,map:new(ve||N),string:new F}}function vi(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function pt(t,e){var n=t.__data__;return vi(e)?n[typeof e=="string"?"string":"hash"]:n.map}function gi(t){var e=pt(this,t).delete(t);return this.size-=e?1:0,e}function mi(t){return pt(this,t).get(t)}function yi(t){return pt(this,t).has(t)}function wi(t,e){var n=pt(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}function L(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}L.prototype.clear=hi;L.prototype.delete=gi;L.prototype.get=mi;L.prototype.has=yi;L.prototype.set=wi;var Ti=200;function bi(t,e){var n=this.__data__;if(n instanceof N){var i=n.__data__;if(!ve||i.length<Ti-1)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new L(i)}return n.set(t,e),this.size=n.size,this}function H(t){var e=this.__data__=new N(t);this.size=e.size}H.prototype.clear=Qn;H.prototype.delete=ti;H.prototype.get=ei;H.prototype.has=ni;H.prototype.set=bi;var Pi="__lodash_hash_undefined__";function Oi(t){return this.__data__.set(t,Pi),this}function _i(t){return this.__data__.has(t)}function lt(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new L;++e<n;)this.add(t[e])}lt.prototype.add=lt.prototype.push=Oi;lt.prototype.has=_i;function Ci(t,e){for(var n=-1,i=t==null?0:t.length;++n<i;)if(e(t[n],n,t))return!0;return!1}function xi(t,e){return t.has(e)}var Mi=1,Si=2;function Se(t,e,n,i,o,r){var s=n&Mi,a=t.length,l=e.length;if(a!=l&&!(s&&l>a))return!1;var u=r.get(t),h=r.get(e);if(u&&h)return u==e&&h==t;var p=-1,c=!0,f=n&Si?new lt:void 0;for(r.set(t,e),r.set(e,t);++p<a;){var d=t[p],g=e[p];if(i)var w=s?i(g,d,p,e,t,r):i(d,g,p,t,e,r);if(w!==void 0){if(w)continue;c=!1;break}if(f){if(!Ci(e,function(m,y){if(!xi(f,y)&&(d===m||o(d,m,n,i,r)))return f.push(y)})){c=!1;break}}else if(!(d===g||o(d,g,n,i,r))){c=!1;break}}return r.delete(t),r.delete(e),c}var te=nn.Uint8Array;function Ai(t){var e=-1,n=Array(t.size);return t.forEach(function(i,o){n[++e]=[o,i]}),n}function Di(t){var e=-1,n=Array(t.size);return t.forEach(function(i){n[++e]=i}),n}var Ei=1,Ni=2,$i="[object Boolean]",Hi="[object Date]",Ri="[object Error]",Bi="[object Map]",Vi="[object Number]",Fi="[object RegExp]",Li="[object Set]",Ii="[object String]",Wi="[object Symbol]",zi="[object ArrayBuffer]",Xi="[object DataView]",ee=Rt?Rt.prototype:void 0,yt=ee?ee.valueOf:void 0;function Yi(t,e,n,i,o,r,s){switch(n){case Xi:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case zi:return!(t.byteLength!=e.byteLength||!r(new te(t),new te(e)));case $i:case Hi:case Vi:return Me(+t,+e);case Ri:return t.name==e.name&&t.message==e.message;case Fi:case Ii:return t==e+"";case Bi:var a=Ai;case Li:var l=i&Ei;if(a||(a=Di),t.size!=e.size&&!l)return!1;var u=s.get(t);if(u)return u==e;i|=Ni,s.set(t,e);var h=Se(a(t),a(e),i,o,r,s);return s.delete(t),h;case Wi:if(yt)return yt.call(t)==yt.call(e)}return!1}function ji(t,e){for(var n=-1,i=e.length,o=t.length;++n<i;)t[o+n]=e[n];return t}function Ui(t,e,n){var i=e(t);return at(t)?i:ji(i,n(t))}function Gi(t,e){for(var n=-1,i=t==null?0:t.length,o=0,r=[];++n<i;){var s=t[n];e(s,n,t)&&(r[o++]=s)}return r}function ki(){return[]}var Ki=Object.prototype,qi=Ki.propertyIsEnumerable,ne=Object.getOwnPropertySymbols,Zi=ne?function(t){return t==null?[]:(t=Object(t),Gi(ne(t),function(e){return qi.call(t,e)}))}:ki;function Ji(t,e){for(var n=-1,i=Array(t);++n<t;)i[n]=e(n);return i}var Qi=9007199254740991,to=/^(?:0|[1-9]\d*)$/;function eo(t,e){var n=typeof t;return e=e??Qi,!!e&&(n=="number"||n!="symbol"&&to.test(t))&&t>-1&&t%1==0&&t<e}var no=Object.prototype,io=no.hasOwnProperty;function oo(t,e){var n=at(t),i=!n&&on(t),o=!n&&!i&&Tt(t),r=!n&&!i&&!o&&ge(t),s=n||i||o||r,a=s?Ji(t.length,String):[],l=a.length;for(var u in t)(e||io.call(t,u))&&!(s&&(u=="length"||o&&(u=="offset"||u=="parent")||r&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||eo(u,l)))&&a.push(u);return a}function ro(t){return rn(t)?oo(t):sn(t)}function ie(t){return Ui(t,ro,Zi)}var so=1,ao=Object.prototype,uo=ao.hasOwnProperty;function lo(t,e,n,i,o,r){var s=n&so,a=ie(t),l=a.length,u=ie(e),h=u.length;if(l!=h&&!s)return!1;for(var p=l;p--;){var c=a[p];if(!(s?c in e:uo.call(e,c)))return!1}var f=r.get(t),d=r.get(e);if(f&&d)return f==e&&d==t;var g=!0;r.set(t,e),r.set(e,t);for(var w=s;++p<l;){c=a[p];var m=t[c],y=e[c];if(i)var b=s?i(y,m,c,e,t,r):i(m,y,c,t,e,r);if(!(b===void 0?m===y||o(m,y,n,i,r):b)){g=!1;break}w||(w=c=="constructor")}if(g&&!w){var _=t.constructor,A=e.constructor;_!=A&&"constructor"in t&&"constructor"in e&&!(typeof _=="function"&&_ instanceof _&&typeof A=="function"&&A instanceof A)&&(g=!1)}return r.delete(t),r.delete(e),g}var fo=1,oe="[object Arguments]",re="[object Array]",st="[object Object]",co=Object.prototype,se=co.hasOwnProperty;function po(t,e,n,i,o,r){var s=at(t),a=at(e),l=s?re:Bt(t),u=a?re:Bt(e);l=l==oe?st:l,u=u==oe?st:u;var h=l==st,p=u==st,c=l==u;if(c&&Tt(t)){if(!Tt(e))return!1;s=!0,h=!1}if(c&&!h)return r||(r=new H),s||ge(t)?Se(t,e,n,i,o,r):Yi(t,e,l,n,i,o,r);if(!(n&fo)){var f=h&&se.call(t,"__wrapped__"),d=p&&se.call(e,"__wrapped__");if(f||d){var g=f?t.value():t,w=d?e.value():e;return r||(r=new H),o(g,w,n,i,r)}}return c?(r||(r=new H),lo(t,e,n,i,o,r)):!1}function Ae(t,e,n,i,o){return t===e?!0:t==null||e==null||!Vt(t)&&!Vt(e)?t!==t&&e!==e:po(t,e,n,i,Ae,o)}function ho(t,e){return Ae(t,e)}const vo={align:Object,target:[Object,Function],onAlign:Function,monitorBufferTime:Number,monitorWindowResize:Boolean,disabled:Boolean};function ae(t){return typeof t!="function"?null:t()}function ue(t){return typeof t!="object"||!t?null:t}const go=J({compatConfig:{MODE:3},name:"Align",props:vo,emits:["align"],setup(t,e){let{expose:n,slots:i}=e;const o=W({}),r=W(),[s,a]=jn(()=>{const{disabled:c,target:f,align:d,onAlign:g}=t;if(!c&&f&&r.value){const w=r.value;let m;const y=ae(f),b=ue(f);o.value.element=y,o.value.point=b,o.value.align=d;const{activeElement:_}=document;return y&&Qe(y)?m=Nt(w,y,d):b&&(m=zn(w,b,d)),Yn(_,w),g&&m&&g(w,m),!0}return!1},K(()=>t.monitorBufferTime)),l=W({cancel:()=>{}}),u=W({cancel:()=>{}}),h=()=>{const c=t.target,f=ae(c),d=ue(c);r.value!==u.value.element&&(u.value.cancel(),u.value.element=r.value,u.value.cancel=Qt(r.value,s)),(o.value.element!==f||!Xn(o.value.point,d)||!ho(o.value.align,t.align))&&(s(),l.value.element!==f&&(l.value.cancel(),l.value.element=f,l.value.cancel=Qt(f,s)))};de(()=>{wt(()=>{h()})}),Ue(()=>{wt(()=>{h()})}),V(()=>t.disabled,c=>{c?a():s()},{immediate:!0,flush:"post"});const p=W(null);return V(()=>t.monitorWindowResize,c=>{c?p.value||(p.value=U(window,"resize",s)):p.value&&(p.value.remove(),p.value=null)},{flush:"post"}),Ge(()=>{l.value.cancel(),u.value.cancel(),p.value&&p.value.remove(),a()}),n({forceAlign:()=>s(!0)}),()=>{const c=i?.default();return c?he(c[0],{ref:r},!0,!0):null}}}),mo=J({compatConfig:{MODE:3},name:"PopupInner",inheritAttrs:!1,props:Mt,emits:["mouseenter","mouseleave","mousedown","touchstart","align"],setup(t,e){let{expose:n,attrs:i,slots:o}=e;const r=x(),s=x(),a=x(),[l,u]=vn(Ke(t,"stretch")),h=()=>{t.stretch&&u(t.getRootDomNode())},p=x(!1);let c;V(()=>t.visible,T=>{clearTimeout(c),T?c=setTimeout(()=>{p.value=t.visible}):p.value=!1},{immediate:!0});const[f,d]=hn(p,h),g=x(),w=()=>t.point?t.point:t.getRootDomNode,m=()=>{var T;(T=r.value)===null||T===void 0||T.forceAlign()},y=(T,E)=>{var M;const S=t.getClassNameFromAlign(E),R=a.value;a.value!==S&&(a.value=S),f.value==="align"&&(R!==S?Promise.resolve().then(()=>{m()}):d(()=>{var Y;(Y=g.value)===null||Y===void 0||Y.call(g)}),(M=t.onAlign)===null||M===void 0||M.call(t,T,E))},b=K(()=>{const T=typeof t.animation=="object"?t.animation:fe(t);return["onAfterEnter","onAfterLeave"].forEach(E=>{const M=T[E];T[E]=S=>{d(),f.value="stable",M?.(S)}}),T}),_=()=>new Promise(T=>{g.value=T});V([b,f],()=>{!b.value&&f.value==="motion"&&d()},{immediate:!0}),n({forceAlign:m,getElement:()=>s.value.$el||s.value});const A=K(()=>{var T;return!(!((T=t.align)===null||T===void 0)&&T.points&&(f.value==="align"||f.value==="stable"))});return()=>{var T;const{zIndex:E,align:M,prefixCls:S,destroyPopupOnHide:R,onMouseenter:Y,onMouseleave:De,onTouchstart:Ee=()=>{},onMousedown:Ne}=t,dt=f.value,$e=[P(P({},l.value),{zIndex:E,opacity:dt==="motion"||dt==="stable"||!p.value?null:0,pointerEvents:!p.value&&dt!=="stable"?"none":null}),i.style];let tt=ce((T=o.default)===null||T===void 0?void 0:T.call(o,{visible:t.visible}));tt.length>1&&(tt=C("div",{class:`${S}-content`},[tt]));const He=Ct(S,i.class,a.value,!t.arrow&&`${S}-arrow-hidden`),Re=p.value||!t.visible?Be(b.value.name,b.value):{};return C(xt,$($({ref:s},Re),{},{onBeforeEnter:_}),{default:()=>!R||t.visible?pe(C(go,{target:w(),key:"popup",ref:r,monitorWindowResize:!0,disabled:A.value,align:M,onAlign:y},{default:()=>C("div",{class:He,onMouseenter:Y,onMouseleave:De,onMousedown:Ht(Ne,["capture"]),[G?"onTouchstartPassive":"onTouchstart"]:Ht(Ee,["capture"]),style:$e},[tt])}),[[ke,p.value]]):null})}}}),yo=J({compatConfig:{MODE:3},name:"Popup",inheritAttrs:!1,props:cn,setup(t,e){let{attrs:n,slots:i,expose:o}=e;const r=x(!1),s=x(!1),a=x(),l=x();return V([()=>t.visible,()=>t.mobile],()=>{r.value=t.visible,t.visible&&t.mobile&&(s.value=!0)},{immediate:!0,flush:"post"}),o({forceAlign:()=>{var u;(u=a.value)===null||u===void 0||u.forceAlign()},getElement:()=>{var u;return(u=a.value)===null||u===void 0?void 0:u.getElement()}}),()=>{const u=P(P(P({},t),n),{visible:r.value}),h=s.value?C(pn,$($({},u),{},{mobile:t.mobile,ref:a}),{default:i.default}):C(mo,$($({},u),{},{ref:a}),{default:i.default});return C("div",{ref:l},[C(ye,u,null),h])}}});function wo(t,e,n){return n?t[0]===e[0]:t[0]===e[0]&&t[1]===e[1]}function le(t,e,n){const i=t[e]||{};return P(P({},i),n)}function To(t,e,n,i){const{points:o}=n,r=Object.keys(t);for(let s=0;s<r.length;s+=1){const a=r[s];if(wo(t[a].points,o,i))return`${e}-placement-${a}`}return""}const bo={methods:{setState(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=typeof t=="function"?t(this.$data,this.$props):t;if(this.getDerivedStateFromProps){const i=this.getDerivedStateFromProps(Ve(this),P(P({},this.$data),n));if(i===null)return;n=P(P({},n),i||{})}P(this.$data,n),this._.isMounted&&this.$forceUpdate(),wt(()=>{e&&e()})},__emit(){const t=[].slice.call(arguments,0);let e=t[0];e=`on${e[0].toUpperCase()}${e.substring(1)}`;const n=this.$props[e]||this.$attrs[e];if(t.length&&n)if(Array.isArray(n))for(let i=0,o=n.length;i<o;i++)n[i](...t.slice(1));else n(...t.slice(1))}}},Po=["onClick","onMousedown","onTouchstart","onMouseenter","onMouseleave","onFocus","onBlur","onContextmenu"],No=J({compatConfig:{MODE:3},name:"Trigger",mixins:[bo],inheritAttrs:!1,props:ln(),setup(t){const e=K(()=>{const{popupPlacement:o,popupAlign:r,builtinPlacements:s}=t;return o&&s?le(s,o,r):r}),n=x(null),i=o=>{n.value=o};return{vcTriggerContext:Je("vcTriggerContext",{}),popupRef:n,setPopupRef:i,triggerRef:x(null),align:e,focusTime:null,clickOutsideHandler:null,contextmenuOutsideHandler1:null,contextmenuOutsideHandler2:null,touchOutsideHandler:null,attachId:null,delayTimer:null,hasPopupMouseDown:!1,preClickTime:null,preTouchTime:null,mouseDownTimeout:null,childOriginEvents:{}}},data(){const t=this.$props;let e;return this.popupVisible!==void 0?e=!!t.popupVisible:e=!!t.defaultPopupVisible,Po.forEach(n=>{this[`fire${n}`]=i=>{this.fireEvents(n,i)}}),{prevPopupVisible:e,sPopupVisible:e,point:null}},watch:{popupVisible(t){t!==void 0&&(this.prevPopupVisible=this.sPopupVisible,this.sPopupVisible=t)}},created(){Ze("vcTriggerContext",{onPopupMouseDown:this.onPopupMouseDown,onPopupMouseenter:this.onPopupMouseenter,onPopupMouseleave:this.onPopupMouseleave}),ze(this)},deactivated(){this.setPopupVisible(!1)},mounted(){this.$nextTick(()=>{this.updatedCal()})},updated(){this.$nextTick(()=>{this.updatedCal()})},beforeUnmount(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout),z.cancel(this.attachId)},methods:{updatedCal(){const t=this.$props;if(this.$data.sPopupVisible){let n;!this.clickOutsideHandler&&(this.isClickToHide()||this.isContextmenuToShow())&&(n=t.getDocument(this.getRootDomNode()),this.clickOutsideHandler=U(n,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(n=n||t.getDocument(this.getRootDomNode()),this.touchOutsideHandler=U(n,"touchstart",this.onDocumentClick,G?{passive:!1}:!1)),!this.contextmenuOutsideHandler1&&this.isContextmenuToShow()&&(n=n||t.getDocument(this.getRootDomNode()),this.contextmenuOutsideHandler1=U(n,"scroll",this.onContextmenuClose)),!this.contextmenuOutsideHandler2&&this.isContextmenuToShow()&&(this.contextmenuOutsideHandler2=U(window,"blur",this.onContextmenuClose))}else this.clearOutsideHandler()},onMouseenter(t){const{mouseEnterDelay:e}=this.$props;this.fireEvents("onMouseenter",t),this.delaySetPopupVisible(!0,e,e?null:t)},onMouseMove(t){this.fireEvents("onMousemove",t),this.setPoint(t)},onMouseleave(t){this.fireEvents("onMouseleave",t),this.delaySetPopupVisible(!1,this.$props.mouseLeaveDelay)},onPopupMouseenter(){const{vcTriggerContext:t={}}=this;t.onPopupMouseenter&&t.onPopupMouseenter(),this.clearDelayTimer()},onPopupMouseleave(t){var e;if(t&&t.relatedTarget&&!t.relatedTarget.setTimeout&&I((e=this.popupRef)===null||e===void 0?void 0:e.getElement(),t.relatedTarget))return;this.isMouseLeaveToHide()&&this.delaySetPopupVisible(!1,this.$props.mouseLeaveDelay);const{vcTriggerContext:n={}}=this;n.onPopupMouseleave&&n.onPopupMouseleave(t)},onFocus(t){this.fireEvents("onFocus",t),this.clearDelayTimer(),this.isFocusToShow()&&(this.focusTime=Date.now(),this.delaySetPopupVisible(!0,this.$props.focusDelay))},onMousedown(t){this.fireEvents("onMousedown",t),this.preClickTime=Date.now()},onTouchstart(t){this.fireEvents("onTouchstart",t),this.preTouchTime=Date.now()},onBlur(t){I(t.target,t.relatedTarget||document.activeElement)||(this.fireEvents("onBlur",t),this.clearDelayTimer(),this.isBlurToHide()&&this.delaySetPopupVisible(!1,this.$props.blurDelay))},onContextmenu(t){t.preventDefault(),this.fireEvents("onContextmenu",t),this.setPopupVisible(!0,t)},onContextmenuClose(){this.isContextmenuToShow()&&this.close()},onClick(t){if(this.fireEvents("onClick",t),this.focusTime){let n;if(this.preClickTime&&this.preTouchTime?n=Math.min(this.preClickTime,this.preTouchTime):this.preClickTime?n=this.preClickTime:this.preTouchTime&&(n=this.preTouchTime),Math.abs(n-this.focusTime)<20)return;this.focusTime=0}this.preClickTime=0,this.preTouchTime=0,this.isClickToShow()&&(this.isClickToHide()||this.isBlurToHide())&&t&&t.preventDefault&&t.preventDefault(),t&&t.domEvent&&t.domEvent.preventDefault();const e=!this.$data.sPopupVisible;(this.isClickToHide()&&!e||e&&this.isClickToShow())&&this.setPopupVisible(!this.$data.sPopupVisible,t)},onPopupMouseDown(){const{vcTriggerContext:t={}}=this;this.hasPopupMouseDown=!0,clearTimeout(this.mouseDownTimeout),this.mouseDownTimeout=setTimeout(()=>{this.hasPopupMouseDown=!1},0),t.onPopupMouseDown&&t.onPopupMouseDown(...arguments)},onDocumentClick(t){if(this.$props.mask&&!this.$props.maskClosable)return;const e=t.target,n=this.getRootDomNode(),i=this.getPopupDomNode();(!I(n,e)||this.isContextMenuOnly())&&!I(i,e)&&!this.hasPopupMouseDown&&this.delaySetPopupVisible(!1,.1)},getPopupDomNode(){var t;return((t=this.popupRef)===null||t===void 0?void 0:t.getElement())||null},getRootDomNode(){var t,e,n,i;const{getTriggerDOMNode:o}=this.$props;if(o){const r=((e=(t=this.triggerRef)===null||t===void 0?void 0:t.$el)===null||e===void 0?void 0:e.nodeName)==="#comment"?null:et(this.triggerRef);return et(o(r))}try{const r=((i=(n=this.triggerRef)===null||n===void 0?void 0:n.$el)===null||i===void 0?void 0:i.nodeName)==="#comment"?null:et(this.triggerRef);if(r)return r}catch{}return et(this)},handleGetPopupClassFromAlign(t){const e=[],n=this.$props,{popupPlacement:i,builtinPlacements:o,prefixCls:r,alignPoint:s,getPopupClassNameFromAlign:a}=n;return i&&o&&e.push(To(o,r,t,s)),a&&e.push(a(t)),e.join(" ")},getPopupAlign(){const t=this.$props,{popupPlacement:e,popupAlign:n,builtinPlacements:i}=t;return e&&i?le(i,e,n):n},getComponent(){const t={};this.isMouseEnterToShow()&&(t.onMouseenter=this.onPopupMouseenter),this.isMouseLeaveToHide()&&(t.onMouseleave=this.onPopupMouseleave),t.onMousedown=this.onPopupMouseDown,t[G?"onTouchstartPassive":"onTouchstart"]=this.onPopupMouseDown;const{handleGetPopupClassFromAlign:e,getRootDomNode:n,$attrs:i}=this,{prefixCls:o,destroyPopupOnHide:r,popupClassName:s,popupAnimation:a,popupTransitionName:l,popupStyle:u,mask:h,maskAnimation:p,maskTransitionName:c,zIndex:f,stretch:d,alignPoint:g,mobile:w,arrow:m,forceRender:y}=this.$props,{sPopupVisible:b,point:_}=this.$data,A=P(P({prefixCls:o,arrow:m,destroyPopupOnHide:r,visible:b,point:g?_:null,align:this.align,animation:a,getClassNameFromAlign:e,stretch:d,getRootDomNode:n,mask:h,zIndex:f,transitionName:l,maskAnimation:p,maskTransitionName:c,class:s,style:u,onAlign:i.onPopupAlign||me},t),{ref:this.setPopupRef,mobile:w,forceRender:y});return C(yo,A,{default:this.$slots.popup||(()=>We(this,"popup"))})},attachParent(t){z.cancel(this.attachId);const{getPopupContainer:e,getDocument:n}=this.$props,i=this.getRootDomNode();let o;e?(i||e.length===0)&&(o=e(i)):o=n(this.getRootDomNode()).body,o?o.appendChild(t):this.attachId=z(()=>{this.attachParent(t)})},getContainer(){const{$props:t}=this,{getDocument:e}=t,n=e(this.getRootDomNode()).createElement("div");return n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.width="100%",this.attachParent(n),n},setPopupVisible(t,e){const{alignPoint:n,sPopupVisible:i,onPopupVisibleChange:o}=this;this.clearDelayTimer(),i!==t&&(Ie(this,"popupVisible")||this.setState({sPopupVisible:t,prevPopupVisible:i}),o&&o(t)),n&&e&&t&&this.setPoint(e)},setPoint(t){const{alignPoint:e}=this.$props;!e||!t||this.setState({point:{pageX:t.pageX,pageY:t.pageY}})},handlePortalUpdate(){this.prevPopupVisible!==this.sPopupVisible&&this.afterPopupVisibleChange(this.sPopupVisible)},delaySetPopupVisible(t,e,n){const i=e*1e3;if(this.clearDelayTimer(),i){const o=n?{pageX:n.pageX,pageY:n.pageY}:null;this.delayTimer=setTimeout(()=>{this.setPopupVisible(t,o),this.clearDelayTimer()},i)}else this.setPopupVisible(t,n)},clearDelayTimer(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)},clearOutsideHandler(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextmenuOutsideHandler1&&(this.contextmenuOutsideHandler1.remove(),this.contextmenuOutsideHandler1=null),this.contextmenuOutsideHandler2&&(this.contextmenuOutsideHandler2.remove(),this.contextmenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)},createTwoChains(t){let e=()=>{};const n=$t(this);return this.childOriginEvents[t]&&n[t]?this[`fire${t}`]:(e=this.childOriginEvents[t]||n[t]||e,e)},isClickToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("click")!==-1||e.indexOf("click")!==-1},isContextMenuOnly(){const{action:t}=this.$props;return t==="contextmenu"||t.length===1&&t[0]==="contextmenu"},isContextmenuToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("contextmenu")!==-1||e.indexOf("contextmenu")!==-1},isClickToHide(){const{action:t,hideAction:e}=this.$props;return t.indexOf("click")!==-1||e.indexOf("click")!==-1},isMouseEnterToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("hover")!==-1||e.indexOf("mouseenter")!==-1},isMouseLeaveToHide(){const{action:t,hideAction:e}=this.$props;return t.indexOf("hover")!==-1||e.indexOf("mouseleave")!==-1},isFocusToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("focus")!==-1||e.indexOf("focus")!==-1},isBlurToHide(){const{action:t,hideAction:e}=this.$props;return t.indexOf("focus")!==-1||e.indexOf("blur")!==-1},forcePopupAlign(){var t;this.$data.sPopupVisible&&((t=this.popupRef)===null||t===void 0||t.forceAlign())},fireEvents(t,e){this.childOriginEvents[t]&&this.childOriginEvents[t](e);const n=this.$props[t]||this.$attrs[t];n&&n(e)},close(){this.setPopupVisible(!1)}},render(){const{$attrs:t}=this,e=Fe(Le(this)),{alignPoint:n,getPopupContainer:i}=this.$props,o=e[0];this.childOriginEvents=$t(o);const r={key:"trigger"};this.isContextmenuToShow()?r.onContextmenu=this.onContextmenu:r.onContextmenu=this.createTwoChains("onContextmenu"),this.isClickToHide()||this.isClickToShow()?(r.onClick=this.onClick,r.onMousedown=this.onMousedown,r[G?"onTouchstartPassive":"onTouchstart"]=this.onTouchstart):(r.onClick=this.createTwoChains("onClick"),r.onMousedown=this.createTwoChains("onMousedown"),r[G?"onTouchstartPassive":"onTouchstart"]=this.createTwoChains("onTouchstart")),this.isMouseEnterToShow()?(r.onMouseenter=this.onMouseenter,n&&(r.onMousemove=this.onMouseMove)):r.onMouseenter=this.createTwoChains("onMouseenter"),this.isMouseLeaveToHide()?r.onMouseleave=this.onMouseleave:r.onMouseleave=this.createTwoChains("onMouseleave"),this.isFocusToShow()||this.isBlurToHide()?(r.onFocus=this.onFocus,r.onBlur=this.onBlur):(r.onFocus=this.createTwoChains("onFocus"),r.onBlur=u=>{u&&(!u.relatedTarget||!I(u.target,u.relatedTarget))&&this.createTwoChains("onBlur")(u)});const s=Ct(o&&o.props&&o.props.class,t.class);s&&(r.class=s);const a=he(o,P(P({},r),{ref:"triggerRef"}),!0,!0),l=C(Xe,{key:"portal",getContainer:i&&(()=>i(this.getRootDomNode())),didUpdate:this.handlePortalUpdate,visible:this.$data.sPopupVisible},{default:this.getComponent});return C(qe,null,[a,l])}});export{bo as B,L as M,H as S,No as T,te as U,oo as a,ji as b,Ui as c,ie as d,Ae as e,lt as f,Zi as g,xi as h,eo as i,ho as j,ro as k,Me as l,Di as m,ki as s};
|
|
1
|
+
import{P as O,h as P,f as $,ag as fe,J as ce,i as Ct,j as I,g as Be,ah as Ve,M as Fe,a6 as Le,ai as $t,aj as Ie,ak as We,N as et,k as ze}from"./index-B_juAGfN.js";import{w as z}from"./raf-Deuc0E8-.js";import{a as U,s as G,P as Xe}from"./motion-BiRUGscQ.js";import{c as C,a4 as xt,a2 as pe,a9 as Ye,d as J,r as W,w as V,o as de,e as je,s as x,f as K,n as wt,q as Ue,x as Ge,a3 as ke,a1 as Ht,a8 as Ke,F as qe,p as Ze,i as Je}from"./vendor-M5lGV-wr.js";import{c as he}from"./vnode-CDF4X084.js";import{i as Qe}from"./isVisible-C7tPsqfj.js";import{i as tn}from"./ResizeObserver.es-D6qJbdzf.js";import{l as en,M as ve,r as nn,S as Rt,a as at,d as on,b as Tt,c as ge,i as rn,f as sn,g as Bt,j as Vt}from"./_getTag-BVc6NQ_K.js";function an(){return""}function un(t){return t?t.ownerDocument:window.document}function me(){}const ln=()=>({action:O.oneOfType([O.string,O.arrayOf(O.string)]).def([]),showAction:O.any.def([]),hideAction:O.any.def([]),getPopupClassNameFromAlign:O.any.def(an),onPopupVisibleChange:Function,afterPopupVisibleChange:O.func.def(me),popup:O.any,arrow:O.bool.def(!0),popupStyle:{type:Object,default:void 0},prefixCls:O.string.def("rc-trigger-popup"),popupClassName:O.string.def(""),popupPlacement:String,builtinPlacements:O.object,popupTransitionName:String,popupAnimation:O.any,mouseEnterDelay:O.number.def(0),mouseLeaveDelay:O.number.def(.1),zIndex:Number,focusDelay:O.number.def(0),blurDelay:O.number.def(.15),getPopupContainer:Function,getDocument:O.func.def(un),forceRender:{type:Boolean,default:void 0},destroyPopupOnHide:{type:Boolean,default:!1},mask:{type:Boolean,default:!1},maskClosable:{type:Boolean,default:!0},popupAlign:O.object.def(()=>({})),popupVisible:{type:Boolean,default:void 0},defaultPopupVisible:{type:Boolean,default:!1},maskTransitionName:String,maskAnimation:String,stretch:String,alignPoint:{type:Boolean,default:void 0},autoDestroy:{type:Boolean,default:!1},mobile:Object,getTriggerDOMNode:Function}),Mt={visible:Boolean,prefixCls:String,zIndex:Number,destroyPopupOnHide:Boolean,forceRender:Boolean,arrow:{type:Boolean,default:!0},animation:[String,Object],transitionName:String,stretch:{type:String},align:{type:Object},point:{type:Object},getRootDomNode:{type:Function},getClassNameFromAlign:{type:Function},onAlign:{type:Function},onMouseenter:{type:Function},onMouseleave:{type:Function},onMousedown:{type:Function},onTouchstart:{type:Function}},fn=P(P({},Mt),{mobile:{type:Object}}),cn=P(P({},Mt),{mask:Boolean,mobile:{type:Object},maskAnimation:String,maskTransitionName:String});function ye(t){const{prefixCls:e,visible:n,zIndex:i,mask:o,maskAnimation:r,maskTransitionName:s}=t;if(!o)return null;let a={};return(s||r)&&(a=fe({prefixCls:e,transitionName:s,animation:r})),C(xt,$({appear:!0},a),{default:()=>[pe(C("div",{style:{zIndex:i},class:`${e}-mask`},null),[[Ye("if"),n]])]})}ye.displayName="Mask";const pn=J({compatConfig:{MODE:3},name:"MobilePopupInner",inheritAttrs:!1,props:fn,emits:["mouseenter","mouseleave","mousedown","touchstart","align"],setup(t,e){let{expose:n,slots:i}=e;const o=W();return n({forceAlign:()=>{},getElement:()=>o.value}),()=>{var r;const{zIndex:s,visible:a,prefixCls:l,mobile:{popupClassName:u,popupStyle:h,popupMotion:p={},popupRender:c}={}}=t,f=P({zIndex:s},h);let d=ce((r=i.default)===null||r===void 0?void 0:r.call(i));d.length>1&&(d=C("div",{class:`${l}-content`},[d])),c&&(d=c(d));const g=Ct(l,u);return C(xt,$({ref:o},p),{default:()=>[a?C("div",{class:g,style:f},[d]):null]})}}});var dn=function(t,e,n,i){function o(r){return r instanceof n?r:new n(function(s){s(r)})}return new(n||(n=Promise))(function(r,s){function a(h){try{u(i.next(h))}catch(p){s(p)}}function l(h){try{u(i.throw(h))}catch(p){s(p)}}function u(h){h.done?r(h.value):o(h.value).then(a,l)}u((i=i.apply(t,e||[])).next())})};const Ft=["measure","align",null,"motion"],hn=((t,e)=>{const n=x(null),i=x(),o=x(!1);function r(l){o.value||(n.value=l)}function s(){z.cancel(i.value)}function a(l){s(),i.value=z(()=>{let u=n.value;switch(n.value){case"align":u="motion";break;case"motion":u="stable";break}r(u),l?.()})}return V(t,()=>{r("measure")},{immediate:!0,flush:"post"}),de(()=>{V(n,()=>{n.value==="measure"&&e(),n.value&&(i.value=z(()=>dn(void 0,void 0,void 0,function*(){const l=Ft.indexOf(n.value),u=Ft[l+1];u&&l!==-1&&r(u)})))},{immediate:!0,flush:"post"})}),je(()=>{o.value=!0,s()}),[n,a]}),vn=(t=>{const e=x({width:0,height:0});function n(o){e.value={width:o.offsetWidth,height:o.offsetHeight}}return[K(()=>{const o={};if(t.value){const{width:r,height:s}=e.value;t.value.indexOf("height")!==-1&&s?o.height=`${s}px`:t.value.indexOf("minHeight")!==-1&&s&&(o.minHeight=`${s}px`),t.value.indexOf("width")!==-1&&r?o.width=`${r}px`:t.value.indexOf("minWidth")!==-1&&r&&(o.minWidth=`${r}px`)}return o}),n]});function Lt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,i)}return n}function It(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Lt(Object(n),!0).forEach(function(i){gn(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Lt(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function bt(t){"@babel/helpers - typeof";return bt=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},bt(t)}function gn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var j,mn={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function ut(){if(j!==void 0)return j;j="";var t=document.createElement("p").style,e="Transform";for(var n in mn)n+e in t&&(j=n);return j}function we(){return ut()?"".concat(ut(),"TransitionProperty"):"transitionProperty"}function ft(){return ut()?"".concat(ut(),"Transform"):"transform"}function Wt(t,e){var n=we();n&&(t.style[n]=e,n!=="transitionProperty"&&(t.style.transitionProperty=e))}function ht(t,e){var n=ft();n&&(t.style[n]=e,n!=="transform"&&(t.style.transform=e))}function yn(t){return t.style.transitionProperty||t.style[we()]}function wn(t){var e=window.getComputedStyle(t,null),n=e.getPropertyValue("transform")||e.getPropertyValue(ft());if(n&&n!=="none"){var i=n.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(i[12]||i[4],0),y:parseFloat(i[13]||i[5],0)}}return{x:0,y:0}}var Tn=/matrix\((.*)\)/,bn=/matrix3d\((.*)\)/;function Pn(t,e){var n=window.getComputedStyle(t,null),i=n.getPropertyValue("transform")||n.getPropertyValue(ft());if(i&&i!=="none"){var o,r=i.match(Tn);if(r)r=r[1],o=r.split(",").map(function(a){return parseFloat(a,10)}),o[4]=e.x,o[5]=e.y,ht(t,"matrix(".concat(o.join(","),")"));else{var s=i.match(bn)[1];o=s.split(",").map(function(a){return parseFloat(a,10)}),o[12]=e.x,o[13]=e.y,ht(t,"matrix3d(".concat(o.join(","),")"))}}else ht(t,"translateX(".concat(e.x,"px) translateY(").concat(e.y,"px) translateZ(0)"))}var On=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,Q;function zt(t){var e=t.style.display;t.style.display="none",t.offsetHeight,t.style.display=e}function X(t,e,n){var i=n;if(bt(e)==="object"){for(var o in e)e.hasOwnProperty(o)&&X(t,o,e[o]);return}if(typeof i<"u"){typeof i=="number"&&(i="".concat(i,"px")),t.style[e]=i;return}return Q(t,e)}function _n(t){var e,n,i,o=t.ownerDocument,r=o.body,s=o&&o.documentElement;return e=t.getBoundingClientRect(),n=Math.floor(e.left),i=Math.floor(e.top),n-=s.clientLeft||r.clientLeft||0,i-=s.clientTop||r.clientTop||0,{left:n,top:i}}function Te(t,e){var n=t["page".concat(e?"Y":"X","Offset")],i="scroll".concat(e?"Top":"Left");if(typeof n!="number"){var o=t.document;n=o.documentElement[i],typeof n!="number"&&(n=o.body[i])}return n}function be(t){return Te(t)}function Pe(t){return Te(t,!0)}function q(t){var e=_n(t),n=t.ownerDocument,i=n.defaultView||n.parentWindow;return e.left+=be(i),e.top+=Pe(i),e}function St(t){return t!=null&&t==t.window}function Oe(t){return St(t)?t.document:t.nodeType===9?t:t.ownerDocument}function Cn(t,e,n){var i=n,o="",r=Oe(t);return i=i||r.defaultView.getComputedStyle(t,null),i&&(o=i.getPropertyValue(e)||i[e]),o}var xn=new RegExp("^(".concat(On,")(?!px)[a-z%]+$"),"i"),Mn=/^(top|right|bottom|left)$/,vt="currentStyle",gt="runtimeStyle",B="left",Sn="px";function An(t,e){var n=t[vt]&&t[vt][e];if(xn.test(n)&&!Mn.test(e)){var i=t.style,o=i[B],r=t[gt][B];t[gt][B]=t[vt][B],i[B]=e==="fontSize"?"1em":n||0,n=i.pixelLeft+Sn,i[B]=o,t[gt][B]=r}return n===""?"auto":n}typeof window<"u"&&(Q=window.getComputedStyle?Cn:An);function nt(t,e){return t==="left"?e.useCssRight?"right":t:e.useCssBottom?"bottom":t}function Xt(t){if(t==="left")return"right";if(t==="right")return"left";if(t==="top")return"bottom";if(t==="bottom")return"top"}function Yt(t,e,n){X(t,"position")==="static"&&(t.style.position="relative");var i=-999,o=-999,r=nt("left",n),s=nt("top",n),a=Xt(r),l=Xt(s);r!=="left"&&(i=999),s!=="top"&&(o=999);var u="",h=q(t);("left"in e||"top"in e)&&(u=yn(t)||"",Wt(t,"none")),"left"in e&&(t.style[a]="",t.style[r]="".concat(i,"px")),"top"in e&&(t.style[l]="",t.style[s]="".concat(o,"px")),zt(t);var p=q(t),c={};for(var f in e)if(e.hasOwnProperty(f)){var d=nt(f,n),g=f==="left"?i:o,w=h[f]-p[f];d===f?c[d]=g+w:c[d]=g-w}X(t,c),zt(t),("left"in e||"top"in e)&&Wt(t,u);var m={};for(var y in e)if(e.hasOwnProperty(y)){var b=nt(y,n),_=e[y]-h[y];y===b?m[b]=c[b]+_:m[b]=c[b]-_}X(t,m)}function Dn(t,e){var n=q(t),i=wn(t),o={x:i.x,y:i.y};"left"in e&&(o.x=i.x+e.left-n.left),"top"in e&&(o.y=i.y+e.top-n.top),Pn(t,o)}function En(t,e,n){if(n.ignoreShake){var i=q(t),o=i.left.toFixed(0),r=i.top.toFixed(0),s=e.left.toFixed(0),a=e.top.toFixed(0);if(o===s&&r===a)return}n.useCssRight||n.useCssBottom?Yt(t,e,n):n.useCssTransform&&ft()in document.body.style?Dn(t,e):Yt(t,e,n)}function At(t,e){for(var n=0;n<t.length;n++)e(t[n])}function _e(t){return Q(t,"boxSizing")==="border-box"}var Nn=["margin","border","padding"],Pt=-1,$n=2,Ot=1,Hn=0;function Rn(t,e,n){var i={},o=t.style,r;for(r in e)e.hasOwnProperty(r)&&(i[r]=o[r],o[r]=e[r]);n.call(t);for(r in e)e.hasOwnProperty(r)&&(o[r]=i[r])}function k(t,e,n){var i=0,o,r,s;for(r=0;r<e.length;r++)if(o=e[r],o)for(s=0;s<n.length;s++){var a=void 0;o==="border"?a="".concat(o).concat(n[s],"Width"):a=o+n[s],i+=parseFloat(Q(t,a))||0}return i}var D={getParent:function(e){var n=e;do n.nodeType===11&&n.host?n=n.host:n=n.parentNode;while(n&&n.nodeType!==1&&n.nodeType!==9);return n}};At(["Width","Height"],function(t){D["doc".concat(t)]=function(e){var n=e.document;return Math.max(n.documentElement["scroll".concat(t)],n.body["scroll".concat(t)],D["viewport".concat(t)](n))},D["viewport".concat(t)]=function(e){var n="client".concat(t),i=e.document,o=i.body,r=i.documentElement,s=r[n];return i.compatMode==="CSS1Compat"&&s||o&&o[n]||s}});function jt(t,e,n){var i=n;if(St(t))return e==="width"?D.viewportWidth(t):D.viewportHeight(t);if(t.nodeType===9)return e==="width"?D.docWidth(t):D.docHeight(t);var o=e==="width"?["Left","Right"]:["Top","Bottom"],r=Math.floor(e==="width"?t.getBoundingClientRect().width:t.getBoundingClientRect().height),s=_e(t),a=0;(r==null||r<=0)&&(r=void 0,a=Q(t,e),(a==null||Number(a)<0)&&(a=t.style[e]||0),a=Math.floor(parseFloat(a))||0),i===void 0&&(i=s?Ot:Pt);var l=r!==void 0||s,u=r||a;return i===Pt?l?u-k(t,["border","padding"],o):a:l?i===Ot?u:u+(i===$n?-k(t,["border"],o):k(t,["margin"],o)):a+k(t,Nn.slice(i),o)}var Bn={position:"absolute",visibility:"hidden",display:"block"};function Ut(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var i,o=e[0];return o.offsetWidth!==0?i=jt.apply(void 0,e):Rn(o,Bn,function(){i=jt.apply(void 0,e)}),i}At(["width","height"],function(t){var e=t.charAt(0).toUpperCase()+t.slice(1);D["outer".concat(e)]=function(i,o){return i&&Ut(i,t,o?Hn:Ot)};var n=t==="width"?["Left","Right"]:["Top","Bottom"];D[t]=function(i,o){var r=o;if(r!==void 0){if(i){var s=_e(i);return s&&(r+=k(i,["padding","border"],n)),X(i,t,r)}return}return i&&Ut(i,t,Pt)}});function Ce(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var v={getWindow:function(e){if(e&&e.document&&e.setTimeout)return e;var n=e.ownerDocument||e;return n.defaultView||n.parentWindow},getDocument:Oe,offset:function(e,n,i){if(typeof n<"u")En(e,n,i||{});else return q(e)},isWindow:St,each:At,css:X,clone:function(e){var n,i={};for(n in e)e.hasOwnProperty(n)&&(i[n]=e[n]);var o=e.overflow;if(o)for(n in e)e.hasOwnProperty(n)&&(i.overflow[n]=e.overflow[n]);return i},mix:Ce,getWindowScrollLeft:function(e){return be(e)},getWindowScrollTop:function(e){return Pe(e)},merge:function(){for(var e={},n=0;n<arguments.length;n++)v.mix(e,n<0||arguments.length<=n?void 0:arguments[n]);return e},viewportWidth:0,viewportHeight:0};Ce(v,D);var mt=v.getParent;function _t(t){if(v.isWindow(t)||t.nodeType===9)return null;var e=v.getDocument(t),n=e.body,i,o=v.css(t,"position"),r=o==="fixed"||o==="absolute";if(!r)return t.nodeName.toLowerCase()==="html"?null:mt(t);for(i=mt(t);i&&i!==n&&i.nodeType!==9;i=mt(i))if(o=v.css(i,"position"),o!=="static")return i;return null}var Gt=v.getParent;function Vn(t){if(v.isWindow(t)||t.nodeType===9)return!1;var e=v.getDocument(t),n=e.body,i=null;for(i=Gt(t);i&&i!==n&&i!==e;i=Gt(i)){var o=v.css(i,"position");if(o==="fixed")return!0}return!1}function Dt(t,e){for(var n={left:0,right:1/0,top:0,bottom:1/0},i=_t(t),o=v.getDocument(t),r=o.defaultView||o.parentWindow,s=o.body,a=o.documentElement;i;){if((navigator.userAgent.indexOf("MSIE")===-1||i.clientWidth!==0)&&i!==s&&i!==a&&v.css(i,"overflow")!=="visible"){var l=v.offset(i);l.left+=i.clientLeft,l.top+=i.clientTop,n.top=Math.max(n.top,l.top),n.right=Math.min(n.right,l.left+i.clientWidth),n.bottom=Math.min(n.bottom,l.top+i.clientHeight),n.left=Math.max(n.left,l.left)}else if(i===s||i===a)break;i=_t(i)}var u=null;if(!v.isWindow(t)&&t.nodeType!==9){u=t.style.position;var h=v.css(t,"position");h==="absolute"&&(t.style.position="fixed")}var p=v.getWindowScrollLeft(r),c=v.getWindowScrollTop(r),f=v.viewportWidth(r),d=v.viewportHeight(r),g=a.scrollWidth,w=a.scrollHeight,m=window.getComputedStyle(s);if(m.overflowX==="hidden"&&(g=r.innerWidth),m.overflowY==="hidden"&&(w=r.innerHeight),t.style&&(t.style.position=u),e||Vn(t))n.left=Math.max(n.left,p),n.top=Math.max(n.top,c),n.right=Math.min(n.right,p+f),n.bottom=Math.min(n.bottom,c+d);else{var y=Math.max(g,p+f);n.right=Math.min(n.right,y);var b=Math.max(w,c+d);n.bottom=Math.min(n.bottom,b)}return n.top>=0&&n.left>=0&&n.bottom>n.top&&n.right>n.left?n:null}function Fn(t,e,n,i){var o=v.clone(t),r={width:e.width,height:e.height};return i.adjustX&&o.left<n.left&&(o.left=n.left),i.resizeWidth&&o.left>=n.left&&o.left+r.width>n.right&&(r.width-=o.left+r.width-n.right),i.adjustX&&o.left+r.width>n.right&&(o.left=Math.max(n.right-r.width,n.left)),i.adjustY&&o.top<n.top&&(o.top=n.top),i.resizeHeight&&o.top>=n.top&&o.top+r.height>n.bottom&&(r.height-=o.top+r.height-n.bottom),i.adjustY&&o.top+r.height>n.bottom&&(o.top=Math.max(n.bottom-r.height,n.top)),v.mix(o,r)}function Et(t){var e,n,i;if(!v.isWindow(t)&&t.nodeType!==9)e=v.offset(t),n=v.outerWidth(t),i=v.outerHeight(t);else{var o=v.getWindow(t);e={left:v.getWindowScrollLeft(o),top:v.getWindowScrollTop(o)},n=v.viewportWidth(o),i=v.viewportHeight(o)}return e.width=n,e.height=i,e}function kt(t,e){var n=e.charAt(0),i=e.charAt(1),o=t.width,r=t.height,s=t.left,a=t.top;return n==="c"?a+=r/2:n==="b"&&(a+=r),i==="c"?s+=o/2:i==="r"&&(s+=o),{left:s,top:a}}function it(t,e,n,i,o){var r=kt(e,n[1]),s=kt(t,n[0]),a=[s.left-r.left,s.top-r.top];return{left:Math.round(t.left-a[0]+i[0]-o[0]),top:Math.round(t.top-a[1]+i[1]-o[1])}}function Kt(t,e,n){return t.left<n.left||t.left+e.width>n.right}function qt(t,e,n){return t.top<n.top||t.top+e.height>n.bottom}function Ln(t,e,n){return t.left>n.right||t.left+e.width<n.left}function In(t,e,n){return t.top>n.bottom||t.top+e.height<n.top}function ot(t,e,n){var i=[];return v.each(t,function(o){i.push(o.replace(e,function(r){return n[r]}))}),i}function rt(t,e){return t[e]=-t[e],t}function Zt(t,e){var n;return/%$/.test(t)?n=parseInt(t.substring(0,t.length-1),10)/100*e:n=parseInt(t,10),n||0}function Jt(t,e){t[0]=Zt(t[0],e.width),t[1]=Zt(t[1],e.height)}function xe(t,e,n,i){var o=n.points,r=n.offset||[0,0],s=n.targetOffset||[0,0],a=n.overflow,l=n.source||t;r=[].concat(r),s=[].concat(s),a=a||{};var u={},h=0,p=!!(a&&a.alwaysByViewport),c=Dt(l,p),f=Et(l);Jt(r,f),Jt(s,e);var d=it(f,e,o,r,s),g=v.merge(f,d);if(c&&(a.adjustX||a.adjustY)&&i){if(a.adjustX&&Kt(d,f,c)){var w=ot(o,/[lr]/gi,{l:"r",r:"l"}),m=rt(r,0),y=rt(s,0),b=it(f,e,w,m,y);Ln(b,f,c)||(h=1,o=w,r=m,s=y)}if(a.adjustY&&qt(d,f,c)){var _=ot(o,/[tb]/gi,{t:"b",b:"t"}),A=rt(r,1),T=rt(s,1),E=it(f,e,_,A,T);In(E,f,c)||(h=1,o=_,r=A,s=T)}h&&(d=it(f,e,o,r,s),v.mix(g,d));var M=Kt(d,f,c),S=qt(d,f,c);if(M||S){var R=o;M&&(R=ot(o,/[lr]/gi,{l:"r",r:"l"})),S&&(R=ot(o,/[tb]/gi,{t:"b",b:"t"})),o=R,r=n.offset||[0,0],s=n.targetOffset||[0,0]}u.adjustX=a.adjustX&&M,u.adjustY=a.adjustY&&S,(u.adjustX||u.adjustY)&&(g=Fn(d,f,c,u))}return g.width!==f.width&&v.css(l,"width",v.width(l)+g.width-f.width),g.height!==f.height&&v.css(l,"height",v.height(l)+g.height-f.height),v.offset(l,{left:g.left,top:g.top},{useCssRight:n.useCssRight,useCssBottom:n.useCssBottom,useCssTransform:n.useCssTransform,ignoreShake:n.ignoreShake}),{points:o,offset:r,targetOffset:s,overflow:u}}function Wn(t,e){var n=Dt(t,e),i=Et(t);return!n||i.left+i.width<=n.left||i.top+i.height<=n.top||i.left>=n.right||i.top>=n.bottom}function Nt(t,e,n){var i=n.target||e,o=Et(i),r=!Wn(i,n.overflow&&n.overflow.alwaysByViewport);return xe(t,o,n,r)}Nt.__getOffsetParent=_t;Nt.__getVisibleRectForElement=Dt;function zn(t,e,n){var i,o,r=v.getDocument(t),s=r.defaultView||r.parentWindow,a=v.getWindowScrollLeft(s),l=v.getWindowScrollTop(s),u=v.viewportWidth(s),h=v.viewportHeight(s);"pageX"in e?i=e.pageX:i=a+e.clientX,"pageY"in e?o=e.pageY:o=l+e.clientY;var p={left:i,top:o,width:0,height:0},c=i>=0&&i<=a+u&&o>=0&&o<=l+h,f=[n.points[0],"cc"];return xe(t,p,It(It({},n),{},{points:f}),c)}function Xn(t,e){return t===e?!0:!t||!e?!1:"pageX"in e&&"pageY"in e?t.pageX===e.pageX&&t.pageY===e.pageY:"clientX"in e&&"clientY"in e?t.clientX===e.clientX&&t.clientY===e.clientY:!1}function Yn(t,e){t!==document.activeElement&&I(e,t)&&typeof t.focus=="function"&&t.focus()}function Qt(t,e){let n=null,i=null;function o(s){let[{target:a}]=s;if(!document.documentElement.contains(a))return;const{width:l,height:u}=a.getBoundingClientRect(),h=Math.floor(l),p=Math.floor(u);(n!==h||i!==p)&&Promise.resolve().then(()=>{e({width:h,height:p})}),n=h,i=p}const r=new tn(o);return t&&r.observe(t),()=>{r.disconnect()}}const jn=((t,e)=>{let n=!1,i=null;function o(){clearTimeout(i)}function r(s){if(!n||s===!0){if(t()===!1)return;n=!0,o(),i=setTimeout(()=>{n=!1},e.value)}else o(),i=setTimeout(()=>{n=!1,r()},e.value)}return[r,()=>{n=!1,o()}]});function Un(){this.__data__=[],this.size=0}function Me(t,e){return t===e||t!==t&&e!==e}function ct(t,e){for(var n=t.length;n--;)if(Me(t[n][0],e))return n;return-1}var Gn=Array.prototype,kn=Gn.splice;function Kn(t){var e=this.__data__,n=ct(e,t);if(n<0)return!1;var i=e.length-1;return n==i?e.pop():kn.call(e,n,1),--this.size,!0}function qn(t){var e=this.__data__,n=ct(e,t);return n<0?void 0:e[n][1]}function Zn(t){return ct(this.__data__,t)>-1}function Jn(t,e){var n=this.__data__,i=ct(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}function N(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}N.prototype.clear=Un;N.prototype.delete=Kn;N.prototype.get=qn;N.prototype.has=Zn;N.prototype.set=Jn;function Qn(){this.__data__=new N,this.size=0}function ti(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function ei(t){return this.__data__.get(t)}function ni(t){return this.__data__.has(t)}var Z=en(Object,"create");function ii(){this.__data__=Z?Z(null):{},this.size=0}function oi(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var ri="__lodash_hash_undefined__",si=Object.prototype,ai=si.hasOwnProperty;function ui(t){var e=this.__data__;if(Z){var n=e[t];return n===ri?void 0:n}return ai.call(e,t)?e[t]:void 0}var li=Object.prototype,fi=li.hasOwnProperty;function ci(t){var e=this.__data__;return Z?e[t]!==void 0:fi.call(e,t)}var pi="__lodash_hash_undefined__";function di(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Z&&e===void 0?pi:e,this}function F(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}F.prototype.clear=ii;F.prototype.delete=oi;F.prototype.get=ui;F.prototype.has=ci;F.prototype.set=di;function hi(){this.size=0,this.__data__={hash:new F,map:new(ve||N),string:new F}}function vi(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function pt(t,e){var n=t.__data__;return vi(e)?n[typeof e=="string"?"string":"hash"]:n.map}function gi(t){var e=pt(this,t).delete(t);return this.size-=e?1:0,e}function mi(t){return pt(this,t).get(t)}function yi(t){return pt(this,t).has(t)}function wi(t,e){var n=pt(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}function L(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}L.prototype.clear=hi;L.prototype.delete=gi;L.prototype.get=mi;L.prototype.has=yi;L.prototype.set=wi;var Ti=200;function bi(t,e){var n=this.__data__;if(n instanceof N){var i=n.__data__;if(!ve||i.length<Ti-1)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new L(i)}return n.set(t,e),this.size=n.size,this}function H(t){var e=this.__data__=new N(t);this.size=e.size}H.prototype.clear=Qn;H.prototype.delete=ti;H.prototype.get=ei;H.prototype.has=ni;H.prototype.set=bi;var Pi="__lodash_hash_undefined__";function Oi(t){return this.__data__.set(t,Pi),this}function _i(t){return this.__data__.has(t)}function lt(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new L;++e<n;)this.add(t[e])}lt.prototype.add=lt.prototype.push=Oi;lt.prototype.has=_i;function Ci(t,e){for(var n=-1,i=t==null?0:t.length;++n<i;)if(e(t[n],n,t))return!0;return!1}function xi(t,e){return t.has(e)}var Mi=1,Si=2;function Se(t,e,n,i,o,r){var s=n&Mi,a=t.length,l=e.length;if(a!=l&&!(s&&l>a))return!1;var u=r.get(t),h=r.get(e);if(u&&h)return u==e&&h==t;var p=-1,c=!0,f=n&Si?new lt:void 0;for(r.set(t,e),r.set(e,t);++p<a;){var d=t[p],g=e[p];if(i)var w=s?i(g,d,p,e,t,r):i(d,g,p,t,e,r);if(w!==void 0){if(w)continue;c=!1;break}if(f){if(!Ci(e,function(m,y){if(!xi(f,y)&&(d===m||o(d,m,n,i,r)))return f.push(y)})){c=!1;break}}else if(!(d===g||o(d,g,n,i,r))){c=!1;break}}return r.delete(t),r.delete(e),c}var te=nn.Uint8Array;function Ai(t){var e=-1,n=Array(t.size);return t.forEach(function(i,o){n[++e]=[o,i]}),n}function Di(t){var e=-1,n=Array(t.size);return t.forEach(function(i){n[++e]=i}),n}var Ei=1,Ni=2,$i="[object Boolean]",Hi="[object Date]",Ri="[object Error]",Bi="[object Map]",Vi="[object Number]",Fi="[object RegExp]",Li="[object Set]",Ii="[object String]",Wi="[object Symbol]",zi="[object ArrayBuffer]",Xi="[object DataView]",ee=Rt?Rt.prototype:void 0,yt=ee?ee.valueOf:void 0;function Yi(t,e,n,i,o,r,s){switch(n){case Xi:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case zi:return!(t.byteLength!=e.byteLength||!r(new te(t),new te(e)));case $i:case Hi:case Vi:return Me(+t,+e);case Ri:return t.name==e.name&&t.message==e.message;case Fi:case Ii:return t==e+"";case Bi:var a=Ai;case Li:var l=i&Ei;if(a||(a=Di),t.size!=e.size&&!l)return!1;var u=s.get(t);if(u)return u==e;i|=Ni,s.set(t,e);var h=Se(a(t),a(e),i,o,r,s);return s.delete(t),h;case Wi:if(yt)return yt.call(t)==yt.call(e)}return!1}function ji(t,e){for(var n=-1,i=e.length,o=t.length;++n<i;)t[o+n]=e[n];return t}function Ui(t,e,n){var i=e(t);return at(t)?i:ji(i,n(t))}function Gi(t,e){for(var n=-1,i=t==null?0:t.length,o=0,r=[];++n<i;){var s=t[n];e(s,n,t)&&(r[o++]=s)}return r}function ki(){return[]}var Ki=Object.prototype,qi=Ki.propertyIsEnumerable,ne=Object.getOwnPropertySymbols,Zi=ne?function(t){return t==null?[]:(t=Object(t),Gi(ne(t),function(e){return qi.call(t,e)}))}:ki;function Ji(t,e){for(var n=-1,i=Array(t);++n<t;)i[n]=e(n);return i}var Qi=9007199254740991,to=/^(?:0|[1-9]\d*)$/;function eo(t,e){var n=typeof t;return e=e??Qi,!!e&&(n=="number"||n!="symbol"&&to.test(t))&&t>-1&&t%1==0&&t<e}var no=Object.prototype,io=no.hasOwnProperty;function oo(t,e){var n=at(t),i=!n&&on(t),o=!n&&!i&&Tt(t),r=!n&&!i&&!o&&ge(t),s=n||i||o||r,a=s?Ji(t.length,String):[],l=a.length;for(var u in t)(e||io.call(t,u))&&!(s&&(u=="length"||o&&(u=="offset"||u=="parent")||r&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||eo(u,l)))&&a.push(u);return a}function ro(t){return rn(t)?oo(t):sn(t)}function ie(t){return Ui(t,ro,Zi)}var so=1,ao=Object.prototype,uo=ao.hasOwnProperty;function lo(t,e,n,i,o,r){var s=n&so,a=ie(t),l=a.length,u=ie(e),h=u.length;if(l!=h&&!s)return!1;for(var p=l;p--;){var c=a[p];if(!(s?c in e:uo.call(e,c)))return!1}var f=r.get(t),d=r.get(e);if(f&&d)return f==e&&d==t;var g=!0;r.set(t,e),r.set(e,t);for(var w=s;++p<l;){c=a[p];var m=t[c],y=e[c];if(i)var b=s?i(y,m,c,e,t,r):i(m,y,c,t,e,r);if(!(b===void 0?m===y||o(m,y,n,i,r):b)){g=!1;break}w||(w=c=="constructor")}if(g&&!w){var _=t.constructor,A=e.constructor;_!=A&&"constructor"in t&&"constructor"in e&&!(typeof _=="function"&&_ instanceof _&&typeof A=="function"&&A instanceof A)&&(g=!1)}return r.delete(t),r.delete(e),g}var fo=1,oe="[object Arguments]",re="[object Array]",st="[object Object]",co=Object.prototype,se=co.hasOwnProperty;function po(t,e,n,i,o,r){var s=at(t),a=at(e),l=s?re:Bt(t),u=a?re:Bt(e);l=l==oe?st:l,u=u==oe?st:u;var h=l==st,p=u==st,c=l==u;if(c&&Tt(t)){if(!Tt(e))return!1;s=!0,h=!1}if(c&&!h)return r||(r=new H),s||ge(t)?Se(t,e,n,i,o,r):Yi(t,e,l,n,i,o,r);if(!(n&fo)){var f=h&&se.call(t,"__wrapped__"),d=p&&se.call(e,"__wrapped__");if(f||d){var g=f?t.value():t,w=d?e.value():e;return r||(r=new H),o(g,w,n,i,r)}}return c?(r||(r=new H),lo(t,e,n,i,o,r)):!1}function Ae(t,e,n,i,o){return t===e?!0:t==null||e==null||!Vt(t)&&!Vt(e)?t!==t&&e!==e:po(t,e,n,i,Ae,o)}function ho(t,e){return Ae(t,e)}const vo={align:Object,target:[Object,Function],onAlign:Function,monitorBufferTime:Number,monitorWindowResize:Boolean,disabled:Boolean};function ae(t){return typeof t!="function"?null:t()}function ue(t){return typeof t!="object"||!t?null:t}const go=J({compatConfig:{MODE:3},name:"Align",props:vo,emits:["align"],setup(t,e){let{expose:n,slots:i}=e;const o=W({}),r=W(),[s,a]=jn(()=>{const{disabled:c,target:f,align:d,onAlign:g}=t;if(!c&&f&&r.value){const w=r.value;let m;const y=ae(f),b=ue(f);o.value.element=y,o.value.point=b,o.value.align=d;const{activeElement:_}=document;return y&&Qe(y)?m=Nt(w,y,d):b&&(m=zn(w,b,d)),Yn(_,w),g&&m&&g(w,m),!0}return!1},K(()=>t.monitorBufferTime)),l=W({cancel:()=>{}}),u=W({cancel:()=>{}}),h=()=>{const c=t.target,f=ae(c),d=ue(c);r.value!==u.value.element&&(u.value.cancel(),u.value.element=r.value,u.value.cancel=Qt(r.value,s)),(o.value.element!==f||!Xn(o.value.point,d)||!ho(o.value.align,t.align))&&(s(),l.value.element!==f&&(l.value.cancel(),l.value.element=f,l.value.cancel=Qt(f,s)))};de(()=>{wt(()=>{h()})}),Ue(()=>{wt(()=>{h()})}),V(()=>t.disabled,c=>{c?a():s()},{immediate:!0,flush:"post"});const p=W(null);return V(()=>t.monitorWindowResize,c=>{c?p.value||(p.value=U(window,"resize",s)):p.value&&(p.value.remove(),p.value=null)},{flush:"post"}),Ge(()=>{l.value.cancel(),u.value.cancel(),p.value&&p.value.remove(),a()}),n({forceAlign:()=>s(!0)}),()=>{const c=i?.default();return c?he(c[0],{ref:r},!0,!0):null}}}),mo=J({compatConfig:{MODE:3},name:"PopupInner",inheritAttrs:!1,props:Mt,emits:["mouseenter","mouseleave","mousedown","touchstart","align"],setup(t,e){let{expose:n,attrs:i,slots:o}=e;const r=x(),s=x(),a=x(),[l,u]=vn(Ke(t,"stretch")),h=()=>{t.stretch&&u(t.getRootDomNode())},p=x(!1);let c;V(()=>t.visible,T=>{clearTimeout(c),T?c=setTimeout(()=>{p.value=t.visible}):p.value=!1},{immediate:!0});const[f,d]=hn(p,h),g=x(),w=()=>t.point?t.point:t.getRootDomNode,m=()=>{var T;(T=r.value)===null||T===void 0||T.forceAlign()},y=(T,E)=>{var M;const S=t.getClassNameFromAlign(E),R=a.value;a.value!==S&&(a.value=S),f.value==="align"&&(R!==S?Promise.resolve().then(()=>{m()}):d(()=>{var Y;(Y=g.value)===null||Y===void 0||Y.call(g)}),(M=t.onAlign)===null||M===void 0||M.call(t,T,E))},b=K(()=>{const T=typeof t.animation=="object"?t.animation:fe(t);return["onAfterEnter","onAfterLeave"].forEach(E=>{const M=T[E];T[E]=S=>{d(),f.value="stable",M?.(S)}}),T}),_=()=>new Promise(T=>{g.value=T});V([b,f],()=>{!b.value&&f.value==="motion"&&d()},{immediate:!0}),n({forceAlign:m,getElement:()=>s.value.$el||s.value});const A=K(()=>{var T;return!(!((T=t.align)===null||T===void 0)&&T.points&&(f.value==="align"||f.value==="stable"))});return()=>{var T;const{zIndex:E,align:M,prefixCls:S,destroyPopupOnHide:R,onMouseenter:Y,onMouseleave:De,onTouchstart:Ee=()=>{},onMousedown:Ne}=t,dt=f.value,$e=[P(P({},l.value),{zIndex:E,opacity:dt==="motion"||dt==="stable"||!p.value?null:0,pointerEvents:!p.value&&dt!=="stable"?"none":null}),i.style];let tt=ce((T=o.default)===null||T===void 0?void 0:T.call(o,{visible:t.visible}));tt.length>1&&(tt=C("div",{class:`${S}-content`},[tt]));const He=Ct(S,i.class,a.value,!t.arrow&&`${S}-arrow-hidden`),Re=p.value||!t.visible?Be(b.value.name,b.value):{};return C(xt,$($({ref:s},Re),{},{onBeforeEnter:_}),{default:()=>!R||t.visible?pe(C(go,{target:w(),key:"popup",ref:r,monitorWindowResize:!0,disabled:A.value,align:M,onAlign:y},{default:()=>C("div",{class:He,onMouseenter:Y,onMouseleave:De,onMousedown:Ht(Ne,["capture"]),[G?"onTouchstartPassive":"onTouchstart"]:Ht(Ee,["capture"]),style:$e},[tt])}),[[ke,p.value]]):null})}}}),yo=J({compatConfig:{MODE:3},name:"Popup",inheritAttrs:!1,props:cn,setup(t,e){let{attrs:n,slots:i,expose:o}=e;const r=x(!1),s=x(!1),a=x(),l=x();return V([()=>t.visible,()=>t.mobile],()=>{r.value=t.visible,t.visible&&t.mobile&&(s.value=!0)},{immediate:!0,flush:"post"}),o({forceAlign:()=>{var u;(u=a.value)===null||u===void 0||u.forceAlign()},getElement:()=>{var u;return(u=a.value)===null||u===void 0?void 0:u.getElement()}}),()=>{const u=P(P(P({},t),n),{visible:r.value}),h=s.value?C(pn,$($({},u),{},{mobile:t.mobile,ref:a}),{default:i.default}):C(mo,$($({},u),{},{ref:a}),{default:i.default});return C("div",{ref:l},[C(ye,u,null),h])}}});function wo(t,e,n){return n?t[0]===e[0]:t[0]===e[0]&&t[1]===e[1]}function le(t,e,n){const i=t[e]||{};return P(P({},i),n)}function To(t,e,n,i){const{points:o}=n,r=Object.keys(t);for(let s=0;s<r.length;s+=1){const a=r[s];if(wo(t[a].points,o,i))return`${e}-placement-${a}`}return""}const bo={methods:{setState(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=typeof t=="function"?t(this.$data,this.$props):t;if(this.getDerivedStateFromProps){const i=this.getDerivedStateFromProps(Ve(this),P(P({},this.$data),n));if(i===null)return;n=P(P({},n),i||{})}P(this.$data,n),this._.isMounted&&this.$forceUpdate(),wt(()=>{e&&e()})},__emit(){const t=[].slice.call(arguments,0);let e=t[0];e=`on${e[0].toUpperCase()}${e.substring(1)}`;const n=this.$props[e]||this.$attrs[e];if(t.length&&n)if(Array.isArray(n))for(let i=0,o=n.length;i<o;i++)n[i](...t.slice(1));else n(...t.slice(1))}}},Po=["onClick","onMousedown","onTouchstart","onMouseenter","onMouseleave","onFocus","onBlur","onContextmenu"],No=J({compatConfig:{MODE:3},name:"Trigger",mixins:[bo],inheritAttrs:!1,props:ln(),setup(t){const e=K(()=>{const{popupPlacement:o,popupAlign:r,builtinPlacements:s}=t;return o&&s?le(s,o,r):r}),n=x(null),i=o=>{n.value=o};return{vcTriggerContext:Je("vcTriggerContext",{}),popupRef:n,setPopupRef:i,triggerRef:x(null),align:e,focusTime:null,clickOutsideHandler:null,contextmenuOutsideHandler1:null,contextmenuOutsideHandler2:null,touchOutsideHandler:null,attachId:null,delayTimer:null,hasPopupMouseDown:!1,preClickTime:null,preTouchTime:null,mouseDownTimeout:null,childOriginEvents:{}}},data(){const t=this.$props;let e;return this.popupVisible!==void 0?e=!!t.popupVisible:e=!!t.defaultPopupVisible,Po.forEach(n=>{this[`fire${n}`]=i=>{this.fireEvents(n,i)}}),{prevPopupVisible:e,sPopupVisible:e,point:null}},watch:{popupVisible(t){t!==void 0&&(this.prevPopupVisible=this.sPopupVisible,this.sPopupVisible=t)}},created(){Ze("vcTriggerContext",{onPopupMouseDown:this.onPopupMouseDown,onPopupMouseenter:this.onPopupMouseenter,onPopupMouseleave:this.onPopupMouseleave}),ze(this)},deactivated(){this.setPopupVisible(!1)},mounted(){this.$nextTick(()=>{this.updatedCal()})},updated(){this.$nextTick(()=>{this.updatedCal()})},beforeUnmount(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout),z.cancel(this.attachId)},methods:{updatedCal(){const t=this.$props;if(this.$data.sPopupVisible){let n;!this.clickOutsideHandler&&(this.isClickToHide()||this.isContextmenuToShow())&&(n=t.getDocument(this.getRootDomNode()),this.clickOutsideHandler=U(n,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(n=n||t.getDocument(this.getRootDomNode()),this.touchOutsideHandler=U(n,"touchstart",this.onDocumentClick,G?{passive:!1}:!1)),!this.contextmenuOutsideHandler1&&this.isContextmenuToShow()&&(n=n||t.getDocument(this.getRootDomNode()),this.contextmenuOutsideHandler1=U(n,"scroll",this.onContextmenuClose)),!this.contextmenuOutsideHandler2&&this.isContextmenuToShow()&&(this.contextmenuOutsideHandler2=U(window,"blur",this.onContextmenuClose))}else this.clearOutsideHandler()},onMouseenter(t){const{mouseEnterDelay:e}=this.$props;this.fireEvents("onMouseenter",t),this.delaySetPopupVisible(!0,e,e?null:t)},onMouseMove(t){this.fireEvents("onMousemove",t),this.setPoint(t)},onMouseleave(t){this.fireEvents("onMouseleave",t),this.delaySetPopupVisible(!1,this.$props.mouseLeaveDelay)},onPopupMouseenter(){const{vcTriggerContext:t={}}=this;t.onPopupMouseenter&&t.onPopupMouseenter(),this.clearDelayTimer()},onPopupMouseleave(t){var e;if(t&&t.relatedTarget&&!t.relatedTarget.setTimeout&&I((e=this.popupRef)===null||e===void 0?void 0:e.getElement(),t.relatedTarget))return;this.isMouseLeaveToHide()&&this.delaySetPopupVisible(!1,this.$props.mouseLeaveDelay);const{vcTriggerContext:n={}}=this;n.onPopupMouseleave&&n.onPopupMouseleave(t)},onFocus(t){this.fireEvents("onFocus",t),this.clearDelayTimer(),this.isFocusToShow()&&(this.focusTime=Date.now(),this.delaySetPopupVisible(!0,this.$props.focusDelay))},onMousedown(t){this.fireEvents("onMousedown",t),this.preClickTime=Date.now()},onTouchstart(t){this.fireEvents("onTouchstart",t),this.preTouchTime=Date.now()},onBlur(t){I(t.target,t.relatedTarget||document.activeElement)||(this.fireEvents("onBlur",t),this.clearDelayTimer(),this.isBlurToHide()&&this.delaySetPopupVisible(!1,this.$props.blurDelay))},onContextmenu(t){t.preventDefault(),this.fireEvents("onContextmenu",t),this.setPopupVisible(!0,t)},onContextmenuClose(){this.isContextmenuToShow()&&this.close()},onClick(t){if(this.fireEvents("onClick",t),this.focusTime){let n;if(this.preClickTime&&this.preTouchTime?n=Math.min(this.preClickTime,this.preTouchTime):this.preClickTime?n=this.preClickTime:this.preTouchTime&&(n=this.preTouchTime),Math.abs(n-this.focusTime)<20)return;this.focusTime=0}this.preClickTime=0,this.preTouchTime=0,this.isClickToShow()&&(this.isClickToHide()||this.isBlurToHide())&&t&&t.preventDefault&&t.preventDefault(),t&&t.domEvent&&t.domEvent.preventDefault();const e=!this.$data.sPopupVisible;(this.isClickToHide()&&!e||e&&this.isClickToShow())&&this.setPopupVisible(!this.$data.sPopupVisible,t)},onPopupMouseDown(){const{vcTriggerContext:t={}}=this;this.hasPopupMouseDown=!0,clearTimeout(this.mouseDownTimeout),this.mouseDownTimeout=setTimeout(()=>{this.hasPopupMouseDown=!1},0),t.onPopupMouseDown&&t.onPopupMouseDown(...arguments)},onDocumentClick(t){if(this.$props.mask&&!this.$props.maskClosable)return;const e=t.target,n=this.getRootDomNode(),i=this.getPopupDomNode();(!I(n,e)||this.isContextMenuOnly())&&!I(i,e)&&!this.hasPopupMouseDown&&this.delaySetPopupVisible(!1,.1)},getPopupDomNode(){var t;return((t=this.popupRef)===null||t===void 0?void 0:t.getElement())||null},getRootDomNode(){var t,e,n,i;const{getTriggerDOMNode:o}=this.$props;if(o){const r=((e=(t=this.triggerRef)===null||t===void 0?void 0:t.$el)===null||e===void 0?void 0:e.nodeName)==="#comment"?null:et(this.triggerRef);return et(o(r))}try{const r=((i=(n=this.triggerRef)===null||n===void 0?void 0:n.$el)===null||i===void 0?void 0:i.nodeName)==="#comment"?null:et(this.triggerRef);if(r)return r}catch{}return et(this)},handleGetPopupClassFromAlign(t){const e=[],n=this.$props,{popupPlacement:i,builtinPlacements:o,prefixCls:r,alignPoint:s,getPopupClassNameFromAlign:a}=n;return i&&o&&e.push(To(o,r,t,s)),a&&e.push(a(t)),e.join(" ")},getPopupAlign(){const t=this.$props,{popupPlacement:e,popupAlign:n,builtinPlacements:i}=t;return e&&i?le(i,e,n):n},getComponent(){const t={};this.isMouseEnterToShow()&&(t.onMouseenter=this.onPopupMouseenter),this.isMouseLeaveToHide()&&(t.onMouseleave=this.onPopupMouseleave),t.onMousedown=this.onPopupMouseDown,t[G?"onTouchstartPassive":"onTouchstart"]=this.onPopupMouseDown;const{handleGetPopupClassFromAlign:e,getRootDomNode:n,$attrs:i}=this,{prefixCls:o,destroyPopupOnHide:r,popupClassName:s,popupAnimation:a,popupTransitionName:l,popupStyle:u,mask:h,maskAnimation:p,maskTransitionName:c,zIndex:f,stretch:d,alignPoint:g,mobile:w,arrow:m,forceRender:y}=this.$props,{sPopupVisible:b,point:_}=this.$data,A=P(P({prefixCls:o,arrow:m,destroyPopupOnHide:r,visible:b,point:g?_:null,align:this.align,animation:a,getClassNameFromAlign:e,stretch:d,getRootDomNode:n,mask:h,zIndex:f,transitionName:l,maskAnimation:p,maskTransitionName:c,class:s,style:u,onAlign:i.onPopupAlign||me},t),{ref:this.setPopupRef,mobile:w,forceRender:y});return C(yo,A,{default:this.$slots.popup||(()=>We(this,"popup"))})},attachParent(t){z.cancel(this.attachId);const{getPopupContainer:e,getDocument:n}=this.$props,i=this.getRootDomNode();let o;e?(i||e.length===0)&&(o=e(i)):o=n(this.getRootDomNode()).body,o?o.appendChild(t):this.attachId=z(()=>{this.attachParent(t)})},getContainer(){const{$props:t}=this,{getDocument:e}=t,n=e(this.getRootDomNode()).createElement("div");return n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.width="100%",this.attachParent(n),n},setPopupVisible(t,e){const{alignPoint:n,sPopupVisible:i,onPopupVisibleChange:o}=this;this.clearDelayTimer(),i!==t&&(Ie(this,"popupVisible")||this.setState({sPopupVisible:t,prevPopupVisible:i}),o&&o(t)),n&&e&&t&&this.setPoint(e)},setPoint(t){const{alignPoint:e}=this.$props;!e||!t||this.setState({point:{pageX:t.pageX,pageY:t.pageY}})},handlePortalUpdate(){this.prevPopupVisible!==this.sPopupVisible&&this.afterPopupVisibleChange(this.sPopupVisible)},delaySetPopupVisible(t,e,n){const i=e*1e3;if(this.clearDelayTimer(),i){const o=n?{pageX:n.pageX,pageY:n.pageY}:null;this.delayTimer=setTimeout(()=>{this.setPopupVisible(t,o),this.clearDelayTimer()},i)}else this.setPopupVisible(t,n)},clearDelayTimer(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)},clearOutsideHandler(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextmenuOutsideHandler1&&(this.contextmenuOutsideHandler1.remove(),this.contextmenuOutsideHandler1=null),this.contextmenuOutsideHandler2&&(this.contextmenuOutsideHandler2.remove(),this.contextmenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)},createTwoChains(t){let e=()=>{};const n=$t(this);return this.childOriginEvents[t]&&n[t]?this[`fire${t}`]:(e=this.childOriginEvents[t]||n[t]||e,e)},isClickToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("click")!==-1||e.indexOf("click")!==-1},isContextMenuOnly(){const{action:t}=this.$props;return t==="contextmenu"||t.length===1&&t[0]==="contextmenu"},isContextmenuToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("contextmenu")!==-1||e.indexOf("contextmenu")!==-1},isClickToHide(){const{action:t,hideAction:e}=this.$props;return t.indexOf("click")!==-1||e.indexOf("click")!==-1},isMouseEnterToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("hover")!==-1||e.indexOf("mouseenter")!==-1},isMouseLeaveToHide(){const{action:t,hideAction:e}=this.$props;return t.indexOf("hover")!==-1||e.indexOf("mouseleave")!==-1},isFocusToShow(){const{action:t,showAction:e}=this.$props;return t.indexOf("focus")!==-1||e.indexOf("focus")!==-1},isBlurToHide(){const{action:t,hideAction:e}=this.$props;return t.indexOf("focus")!==-1||e.indexOf("blur")!==-1},forcePopupAlign(){var t;this.$data.sPopupVisible&&((t=this.popupRef)===null||t===void 0||t.forceAlign())},fireEvents(t,e){this.childOriginEvents[t]&&this.childOriginEvents[t](e);const n=this.$props[t]||this.$attrs[t];n&&n(e)},close(){this.setPopupVisible(!1)}},render(){const{$attrs:t}=this,e=Fe(Le(this)),{alignPoint:n,getPopupContainer:i}=this.$props,o=e[0];this.childOriginEvents=$t(o);const r={key:"trigger"};this.isContextmenuToShow()?r.onContextmenu=this.onContextmenu:r.onContextmenu=this.createTwoChains("onContextmenu"),this.isClickToHide()||this.isClickToShow()?(r.onClick=this.onClick,r.onMousedown=this.onMousedown,r[G?"onTouchstartPassive":"onTouchstart"]=this.onTouchstart):(r.onClick=this.createTwoChains("onClick"),r.onMousedown=this.createTwoChains("onMousedown"),r[G?"onTouchstartPassive":"onTouchstart"]=this.createTwoChains("onTouchstart")),this.isMouseEnterToShow()?(r.onMouseenter=this.onMouseenter,n&&(r.onMousemove=this.onMouseMove)):r.onMouseenter=this.createTwoChains("onMouseenter"),this.isMouseLeaveToHide()?r.onMouseleave=this.onMouseleave:r.onMouseleave=this.createTwoChains("onMouseleave"),this.isFocusToShow()||this.isBlurToHide()?(r.onFocus=this.onFocus,r.onBlur=this.onBlur):(r.onFocus=this.createTwoChains("onFocus"),r.onBlur=u=>{u&&(!u.relatedTarget||!I(u.target,u.relatedTarget))&&this.createTwoChains("onBlur")(u)});const s=Ct(o&&o.props&&o.props.class,t.class);s&&(r.class=s);const a=he(o,P(P({},r),{ref:"triggerRef"}),!0,!0),l=C(Xe,{key:"portal",getContainer:i&&(()=>i(this.getRootDomNode())),didUpdate:this.handlePortalUpdate,visible:this.$data.sPopupVisible},{default:this.getComponent});return C(qe,null,[a,l])}});export{bo as B,L as M,H as S,No as T,te as U,oo as a,ji as b,Ui as c,ie as d,Ae as e,lt as f,Zi as g,xi as h,eo as i,ho as j,ro as k,Me as l,Di as m,ki as s};
|