import{o as e}from"./rolldown-runtime-fVNAxIxX.js";import{$ as t,At as n,Bt as r,C as i,Cr as a,Dt as o,E as s,Er as c,G as l,H as u,K as d,Kt as ee,M as f,Ot as te,Pt as ne,Q as p,T as re,U as m,W as ie,Wn as h,er as g,mn as ae,qt as _,tt as v,xn as oe,xr as y,yn as b}from"./vendor-ag-grid~XmMajorFactor~XmConsultCategoryFactor~xmInfo~ZxFwView~HtFeeMethodTypeLineVie~ntegcu2a-CFxQnYK4.js";import"./vendor-ag-grid~XmMajorFactor~XmConsultCategoryFactor~xmInfo~ZxFwView~HtFeeMethodTypeLineVie~ntegcu2a-BnO-wAhh.js";import"./vendor-vue-CSlAvuUs.js";import{D as se}from"./workspace-DxKKyh8w.js";import{c as x,d as ce,i as S,o as le}from"./decimal-D3bp1pbs.js";import{n as C}from"./utils-DFe0HVk9.js";import{A as ue,D as de,M as fe,O as pe,T as me,b as he,dt as ge,f as _e,ft as ve,gt as ye,ht as be,i as xe,j as Se,k as Ce,lt as we,mt as Te,n as Ee,o as De,pt as Oe,t as ke,u as Ae,ut as je,w,x as T}from"./vendor-ui-B4V4Cf1T.js";import{t as Me}from"./numberFormat-jhZZmX17.js";import{_ as Ne,a as Pe}from"./sql-C69Jo4HU.js";import{t as Fe}from"./_plugin-vue_export-helper-DUFB50Ey.js";import{A as Ie,C as Le,D as Re,E,S as ze,T as Be,_ as Ve,a as He,b as Ue,c as We,d as Ge,f as Ke,g as D,h as qe,k as O,l as Je,m as Ye,o as Xe,p as Ze,s as Qe,u as k,v as $e,w as et,x as A,y as tt}from"./index-CAPJG_im.js";var nt=e(E(),1),rt=v({__name:`Card`,props:{class:{}},setup(e){let t=e;return(e,n)=>(r(),d(`div`,{"data-slot":`card`,class:y(g(C)(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,t.class))},[_(e.$slots,`default`)],2))}}),it=v({__name:`CardHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(r(),d(`div`,{"data-slot":`card-header`,class:y(g(C)(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,t.class))},[_(e.$slots,`default`)],2))}}),at=v({__name:`CardTitle`,props:{class:{}},setup(e){let t=e;return(e,n)=>(r(),d(`h3`,{"data-slot":`card-title`,class:y(g(C)(`leading-none font-semibold`,t.class))},[_(e.$slots,`default`)],2))}});const ot=e=>e.map((e,t)=>({...e,order:t,createdAt:e.createdAt||new Date().toISOString()})),st=e=>{if(!e)return`-`;let t=new Date(e);if(Number.isNaN(t.getTime()))return`-`;let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`},ct=e=>Array.isArray(e)?e.filter(e=>e&&typeof e==`object`).map((e,t)=>{let n=e,r=typeof n.name==`string`?n.name.trim():``,i=typeof n.createdAt==`string`?n.createdAt:new Date().toISOString();return{id:typeof n.id==`string`?n.id:`import-contract-${t}`,name:r||`导入合同段-${t+1}`,order:t,createdAt:i}}):[],lt=(e,t,n)=>{for(let r of t)if(n(e,r))return!0;return!1},ut=async(e,t)=>{let n=new Set(t.map(e=>String(e||``).trim()).filter(Boolean)),r={contracts:{},servicePricingStates:{},htFeeMainStates:{},htFeeMethodStates:{}};if(n.size===0)return r;await Promise.all(Array.from(n).map(t=>e.loadContract(t)));for(let t of n){let n=e.getContractState(t);n&&(r.contracts[t]=k(n));let i=e.servicePricingStates[t];D(i)&&(r.servicePricingStates[t]=k(i));let a=`htExtraFee-${t}-`;for(let[t,n]of Object.entries(e.htFeeMainStates))t.startsWith(a)&&(r.htFeeMainStates[t]=k(n));for(let[t,n]of Object.entries(e.htFeeMethodStates))t.startsWith(a)&&(r.htFeeMethodStates[t]=k(n))}return r},dt=async(e,t,n)=>{if(!D(t))return;let r=D(t.zxFwPricing)?t.zxFwPricing:null;if(!r)return;let i=D(r.contracts)?r.contracts:{},a=D(r.servicePricingStates)?r.servicePricingStates:{},o=D(r.htFeeMainStates)?r.htFeeMainStates:{},s=D(r.htFeeMethodStates)?r.htFeeMethodStates:{};for(let[t,r]of n.entries()){let n=i[t];D(n)&&Array.isArray(n.detailRows)&&await e.setContractState(r,n);let c=a[t];if(D(c)){for(let[t,n]of Object.entries(c))if(D(n))for(let i of Je){let a=n[i];!D(a)||!Array.isArray(a.detailRows)||e.setServicePricingMethodState(r,t,i,a,{force:!0})}}let l=`htExtraFee-${t}-`,u=`htExtraFee-${r}-`;for(let[t,n]of Object.entries(o)){if(!t.startsWith(l)||!D(n)||!Array.isArray(n.detailRows))continue;let r=t.replace(l,u);e.setHtFeeMainState(r,n,{force:!0})}for(let[t,n]of Object.entries(s)){if(!t.startsWith(l)||!D(n))continue;let r=t.replace(l,u);for(let[t,i]of Object.entries(n)){if(!D(i))continue;let n=i[`rate-fee`],a=i[`hourly-fee`],o=i[`quantity-unit-price-fee`];n!=null&&e.setHtFeeMethodState(r,t,`rate-fee`,k(n),{force:!0}),a!=null&&e.setHtFeeMethodState(r,t,`hourly-fee`,k(a),{force:!0}),o!=null&&e.setHtFeeMethodState(r,t,`quantity-unit-price-fee`,k(o),{force:!0})}}}},ft=async(e,t)=>{let n=await e.keys(),r=new Set(t),i=n.filter(e=>{for(let t of r)if(Ze(e,t))return!0;return!1});return Promise.all(i.map(async t=>({key:t,value:await e.getItem(t)})))},pt=(e,t)=>{let n=new Set(t.map(e=>String(e||``).trim()).filter(Boolean));return Object.entries(e.keyedStates).filter(([e])=>{for(let t of n)if(Ye(e,t))return!0;return!1}).map(([e,t])=>({key:e,value:k(t)}))};var mt={class:`flex h-full min-h-0 flex-col overflow-hidden`},ht={class:`relative z-30 shrink-0 overflow-visible border-b bg-background/95 px-1 pb-4 backdrop-blur supports-[backdrop-filter]:bg-background/80`},gt={class:`mb-6 flex items-center justify-between pt-1`},_t={class:`space-y-1`},vt={class:`text-lg font-bold`},yt={class:`text-xs text-muted-foreground`},bt={class:`flex items-center gap-2`},xt={class:`text-xs text-muted-foreground`},St={key:0,class:`absolute right-0 top-full z-[80] mt-1 w-max rounded-md border bg-background p-1 shadow-md`},Ct=[`disabled`],wt=[`disabled`],Tt=[`disabled`],Et={class:`flex flex-col gap-2 md:flex-row md:items-start`},Dt={class:`w-full md:max-w-md`},Ot={class:`flex items-center gap-2`},kt=[`placeholder`],At={key:0,class:`mt-1 text-xs text-muted-foreground`},jt={key:1,class:`mt-1 text-xs text-muted-foreground`},Mt={key:2,class:`mt-1 text-xs text-muted-foreground`},Nt={class:`flex flex-wrap items-center gap-2 md:ml-auto`},Pt={class:`inline-flex cursor-pointer items-center gap-2 text-xs text-muted-foreground select-none`},Ft=[`aria-checked`],It=[`checked`,`onChange`],Lt={class:`min-w-0 shrink text-[11px] leading-none font-normal text-muted-foreground truncate`},Rt={class:`shrink-0 text-[11px] leading-none font-normal text-muted-foreground`},zt={class:`shrink-0 text-[11px] leading-none font-normal text-muted-foreground`},Bt={key:1,class:y([`px-6 text-xs text-muted-foreground`,`space-y-1 pb-1`])},Vt={class:`break-all`},Ht={key:1,class:`mx-2 mb-4 rounded-2xl border border-dashed border-primary/30 bg-gradient-to-br from-primary/5 via-background to-muted/30 p-10 text-center shadow-sm`},Ut={class:`text-lg font-semibold tracking-wide text-foreground`},Wt={class:`mt-2 text-sm text-muted-foreground`},Gt=[`checked`,`onChange`],Kt={class:`min-w-0 shrink text-[11px] leading-none font-normal text-muted-foreground truncate`},qt={class:`shrink-0 text-[11px] leading-none font-normal text-muted-foreground`},Jt={class:`shrink-0 text-[11px] leading-none font-normal text-muted-foreground`},Yt={key:1,class:y([`px-6 text-xs text-muted-foreground`,`space-y-1 pb-4`])},Xt={class:`break-all`},Zt={key:0,class:`col-span-full rounded-lg border border-dashed p-8 text-center text-sm text-muted-foreground`},Qt=[`aria-label`],$t={key:0,class:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`},en={class:`text-base font-semibold`},tn={class:`space-y-2 px-5 py-4`},nn={class:`block text-sm font-medium text-foreground`},rn=[`placeholder`],an={class:`flex items-center justify-end gap-2 px-5 py-3`},on={class:`mt-4 flex items-center justify-end gap-2`},sn={class:`mt-4 flex items-center justify-end gap-2`},cn={class:`mt-4 flex items-center justify-end gap-2`},ln={class:`grid gap-1`},un=`ht-card-v1`,dn=58,fn=560,pn=24,mn=220,j=Fe(v({__name:`Ht`,setup(e){let _=Ie(),v=Le(),C=Be(),Fe=et(),E=ce(),{t:D,locale:Je}=se(),j=h([]),M=h(``),N=h(!1),P=h(!1),hn=h(null),gn=h(null),F=h(`none`),I=h([]),_n=h(!1),L=h(``),R=h(null),vn=h(!1),yn=h(D(`ht.toastSuccessTitle`)),bn=h(``),xn=h(!1),z=h(null),Sn=h(!1),Cn=h(``),wn=h(``),Tn=h(!1),B=h({x:0,y:0}),En=0,Dn=0,On=0,kn=0,An=h(null),jn=h(null),Mn=h(!1),V=h(!1),H=h(`ready`),U=h(!0),W=h({}),Nn=h(!1),Pn=0,G=0,Fn=null,K=null,q=null,In=null,Ln=fn+dn*pn+80,Rn=()=>[],zn=u(()=>M.value.trim().toLowerCase()),J=u(()=>F.value!==`none`),Bn=u(()=>I.value.length),Y=u(()=>j.value.length>0),Vn=u(()=>zn.value?j.value.filter(e=>{let t=e.name.toLowerCase(),n=e.id.toLowerCase();return t.includes(zn.value)||n.includes(zn.value)}):j.value),Hn=u(()=>!!zn.value),Un=u(()=>{let e=!1,t=0;for(let n of j.value){let r=W.value[n.id];typeof r!=`number`||!Number.isFinite(r)||(t+=r,e=!0)}return e?S(t,2):null}),Wn=u(()=>{let e=j.value.map(e=>String(e.id||``).trim()).filter(Boolean);return e.length===0?``:e.map(e=>{let t=`htExtraFee-${e}-additional-work`,n=`htExtraFee-${e}-reserve`,r=v.contracts[e]||null,i=v.htFeeMainStates[t]||null,a=v.htFeeMainStates[n]||null,o=v.htFeeMethodStates[t]||null,s=v.htFeeMethodStates[n]||null;return JSON.stringify({id:e,contractState:r,addMain:i,reserveMain:a,addMethods:o,reserveMethods:s})}).join(`|`)}),X=e=>{yn.value=D(`ht.toastSuccessTitle`),bn.value=e,vn.value=!1,requestAnimationFrame(()=>{vn.value=!0})},Z=(e,t)=>{Cn.value=e,wn.value=t,Sn.value=!0},Gn=u(()=>z.value?j.value.find(e=>e.id===z.value)?.name||z.value:``),Kn=u(()=>{let e=new Set(I.value);return j.value.filter(t=>e.has(t.id)).length}),qn=e=>{xn.value=e},Jn=e=>{z.value=e,xn.value=!0},Yn=async()=>{let e=z.value;e&&(await Fr(e),xn.value=!1,z.value=null)},Xn=()=>{P.value=!1},Zn=async()=>{try{let e=await E.getItem(Qe);U.value=!!(typeof e?.projectIndustry==`string`&&e.projectIndustry.trim())}catch(e){console.error(`load project base state failed:`,e),U.value=!1}},Qn=async()=>{let e=await E.getItem(Qe);return typeof e?.projectIndustry==`string`?e.projectIndustry.trim():``},$n=e=>typeof e==`number`&&Number.isFinite(e)?`${Me(e,2)} ${D(`htCard.currencySuffix`)}`:`--`,er=e=>{let t=Array.isArray(e?.detailRows)?e.detailRows:[];if(t.length===0)return null;let n=!1,r=0;for(let e of t){let t=x(e?.serviceBudget);if(t!=null){r+=t,n=!0;continue}let i=x(e?.adoptedBudgetUnitPrice),a=x(e?.personnelCount),o=x(e?.workdayCount);i==null||a==null||o==null||(r+=i*a*o,n=!0)}return n?S(r,2):null},tr=e=>{let t=Array.isArray(e?.detailRows)?e.detailRows:[];if(t.length===0)return null;let n=x(t.find(e=>String(e?.id||``)===`fee-subtotal-fixed`)?.budgetFee);if(n!=null)return S(n,2);let r=!1,i=0;for(let e of t){if(String(e?.id||``)===`fee-subtotal-fixed`)continue;let t=x(e?.budgetFee);if(t!=null){i+=t,r=!0;continue}let n=x(e?.quantity),a=x(e?.unitPrice);n==null||a==null||(i+=n*a,r=!0)}return r?S(i,2):null},nr=async(e,t)=>{let[n,r,i]=await Promise.all([v.loadHtFeeMethodState(e,t,`rate-fee`),v.loadHtFeeMethodState(e,t,`hourly-fee`),v.loadHtFeeMethodState(e,t,`quantity-unit-price-fee`)]),a=le([x(n?.budgetFee),er(r),tr(i)]);return a==null?null:S(a,2)},rr=async e=>{let t=await v.loadHtFeeMainState(e),n=(Array.isArray(t?.detailRows)?t.detailRows:[]).map(e=>String(e?.id||``).trim()).filter(Boolean);if(n.length===0)return null;let r=le(await Promise.all(n.map(t=>nr(e,t))));return r==null?null:S(r,2)},ir=async e=>{await v.loadContract(e);let t=v.getBaseSubtotal(e),[n,r]=await Promise.all([rr(`htExtraFee-${e}-additional-work`),rr(`htExtraFee-${e}-reserve`)]),i=le([t,n,r]);return i==null?null:S(i,2)},Q=async()=>{let e=++Pn,t=j.value.map(e=>String(e.id||``).trim()).filter(Boolean);if(t.length===0){W.value={},Nn.value=!1;return}Nn.value=!0;try{let n=await Promise.all(t.map(async e=>[e,await ir(e)]));if(e!==Pn)return;W.value=Object.fromEntries(n)}catch(e){console.error(`refresh contract budgets failed:`,e)}finally{e===Pn&&(Nn.value=!1)}},ar=()=>{In&&clearTimeout(In),In=setTimeout(()=>{Q()},80)},or=e=>{let t=e.trim(),n=Ne.find(e=>String(e.id||``).trim()===t),r=n?Pe(n.id,Je.value):``;return r?`${t} ${r}`:t},sr=e=>I.value.includes(e),cr=e=>{if(J.value){if(sr(e)){I.value=I.value.filter(t=>t!==e);return}I.value=[...I.value,e]}},lr=()=>{F.value=`none`,I.value=[]},ur=()=>{Y.value&&(Xn(),F.value=`export`,I.value=[])},dr=()=>{Y.value&&(Xn(),F.value=`delete`,I.value=[])},fr=()=>{U.value&&(Xn(),gn.value?.click())},pr=()=>{let e=An.value?.querySelector(`[data-slot="scroll-area-viewport"]`)||null;return jn.value=e,e},mr=(e=`smooth`)=>{let t=pr();t&&t.scrollTo({top:t.scrollHeight,behavior:e})},hr=(e=`smooth`)=>{let t=pr();t&&t.scrollTo({top:0,behavior:e})},gr=()=>{let e=jn.value;Mn.value=!!(e&&e.scrollTop>mn)},_r=()=>{gr()},vr=()=>{let e=pr();if(q===e){gr();return}if(q&&=(q.removeEventListener(`scroll`,_r),null),!e){Mn.value=!1;return}q=e,q.addEventListener(`scroll`,_r,{passive:!0}),gr()},yr=()=>{q&&=(q.removeEventListener(`scroll`,_r),null),Mn.value=!1},br=()=>{K&&=(clearTimeout(K),null),H.value=`enter`,K=setTimeout(()=>{H.value=`ready`,K=null},Ln)},xr=e=>({"--ht-card-enter-delay":`${Math.min(e,pn)*dn}ms`}),Sr=e=>({"--ht-card-select-delay":`${e%10*70}ms`}),Cr=e=>{if(J.value)return Sr(e);if(H.value===`enter`)return xr(e)},$=async()=>{try{j.value=ot(j.value),await E.setItem(un,JSON.parse(JSON.stringify(j.value)))}catch(e){console.error(`save contracts failed:`,e)}},wr=async e=>{let[t,n]=await Promise.all([E.getItem(We),E.getItem(Qe)]),r=typeof n?.projectIndustry==`string`?n.projectIndustry.trim():``,i=r?Re(r,t):{detailRows:Array.isArray(t?.detailRows)?k(t.detailRows):[],roughCalcEnabled:!!t?.roughCalcEnabled,totalAmount:typeof t?.totalAmount==`number`&&Number.isFinite(t.totalAmount)?t.totalAmount:null};await E.setItem(`${He}${e}`,i)},Tr=async()=>{if(I.value.length===0){Z(D(`ht.tipTitle`),D(`ht.selectAtLeastOne`));return}try{let e=new Set(I.value),t=j.value.filter(t=>e.has(t.id)).map((e,t)=>({...e,order:t})),n=await ft(E,t.map(e=>e.id)),r=pt(v,t.map(e=>e.id)),i=await ut(v,t.map(e=>e.id)),a=await Qn();if(!a){Z(D(`ht.exportFailedTitle`),D(`ht.industryMissingForExport`));return}let o=new Date,s=await Ue({version:3,packageType:`contract-segments`,exportedAt:o.toISOString(),project:{industry:a},contracts:t,storage:{localforageEntries:n,keyedEntries:r},pinia:{zxFwPricing:i}}),c=new Uint8Array(s.length);c.set(s);let l=new Blob([c],{type:`application/octet-stream`}),u=URL.createObjectURL(l),d=document.createElement(`a`);d.href=u,d.download=`contract-segments-${Ge(o)}${Xe}`,document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(u),X(D(`ht.exportSuccess`,{count:t.length})),lr()}catch(e){console.error(`export selected contracts failed:`,e),Z(D(`ht.exportFailedTitle`),D(`ht.retry`))}},Er=async e=>{let t=e.target,n=t.files?.[0];if(n)try{let e=n.name.toLowerCase();if(!e.endsWith(`.htzw`)&&!e.endsWith(`.zw`))throw Error(`INVALID_FILE_EXTENSION`);let t=await tt(await n.arrayBuffer());if(!qe(t))throw Error(`INVALID_CONTRACT_SEGMENT_PAYLOAD`);let r=Ve(t),i=await Qn();if(!i)throw Error(`CURRENT_PROJECT_INDUSTRY_MISSING`);if(!r.projectIndustry)throw Error(`IMPORT_PACKAGE_INDUSTRY_MISSING`);if(r.projectIndustry!==i)throw Error(`PROJECT_INDUSTRY_MISMATCH:${r.projectIndustry}:${i}`);let a=ct(t.contracts);if(a.length===0)throw Error(`EMPTY_CONTRACTS`);let s=r.localforageEntries,c=r.keyedEntries,l=new Set(a.map(e=>String(e.id||``).trim()).filter(Boolean)),u=s.filter(e=>lt(e.key,l,Ze)),d=c.filter(e=>lt(e.key,l,Ye)),ee=new Set(j.value.map(e=>e.id)),f=new Map,te=a.map((e,t)=>{let n=Ke(ee);return f.set(e.id,n),{...e,id:n,order:j.value.length+t,createdAt:e.createdAt||new Date().toISOString()}}),ne=u.map(e=>{let t=e.key;for(let[e,n]of f.entries())t.includes(e)&&(t=$e(t,e,n));return{key:t,value:e.value}}),p=d.map(e=>{let t=e.key;for(let[e,n]of f.entries())t.includes(e)&&(t=$e(t,e,n));return{key:t,value:e.value}});await Promise.all(ne.map(e=>E.setItem(e.key,e.value)));for(let e of p)v.setKeyState(e.key,k(e.value),{force:!0});await dt(v,r.piniaState,f),j.value=[...j.value,...te],await $(),await Promise.all([v.$persistNow?.(),C.$persistNow?.(),Fe.$persistNow?.()]),await Q(),X(D(`ht.importSuccess`,{count:te.length})),await o(),mr()}catch(e){console.error(`import contract segments failed:`,e);let t=e instanceof Error?e.message:``;if(t.startsWith(`PROJECT_INDUSTRY_MISMATCH:`)){let[,e=``,n=``]=t.split(`:`);Z(D(`ht.importFailedTitle`),D(`ht.importIndustryMismatch`,{importIndustry:or(e),currentIndustry:or(n)}))}else t===`CURRENT_PROJECT_INDUSTRY_MISSING`?Z(D(`ht.importFailedTitle`),D(`ht.importCurrentIndustryMissing`)):t===`IMPORT_PACKAGE_INDUSTRY_MISSING`?Z(D(`ht.importFailedTitle`),D(`ht.importPackageIndustryMissing`)):t===`ZW_CRYPTO_UNAVAILABLE`?Z(D(`ht.importFailedTitle`),D(`ht.importCryptoUnavailable`)):Z(D(`ht.importFailedTitle`),D(`ht.importFileInvalid`))}finally{t.value=``}},Dr=async(e,t)=>{try{let n=(await e.keys()).filter(e=>e.includes(t));await Promise.all(n.map(t=>e.removeItem(t)))}catch(e){console.error(`remove forage keys by contract id failed:`,t,e)}},Or=e=>{let t=_.tabs.filter(t=>{let n=t?.props?.contractId;return t.id===`contract-${e}`||t.id.startsWith(`zxfw-edit-${e}-`)||n===e}).map(e=>e.id);for(let e of t)_.removeTab(e)},kr=async e=>{v.removeContractData(e),await Promise.all([Dr(E,e)]),await Promise.all([v.$persistNow?.(),C.$persistNow?.(),Fe.$persistNow?.()])},Ar=async()=>{try{let e=await E.getItem(un);if(!e||e.length===0){j.value=Rn(),await $();return}j.value=ot([...e].sort((e,t)=>(e.order??0)-(t.order??0)))}catch(e){console.error(`load contracts failed:`,e),j.value=Rn()}},jr=()=>{U.value&&(Xn(),R.value=null,L.value=``,B.value={x:0,y:0},_n.value=!0)},Mr=e=>{Xn(),R.value=e.id,L.value=e.name,B.value={x:0,y:0},_n.value=!0},Nr=()=>{_n.value=!1,R.value=null,L.value=``,B.value={x:0,y:0}},Pr=async()=>{let e=L.value.trim();if(!e)return;if(R.value){let t=j.value.find(e=>e.id===R.value);if(!t)return;if(t.name===e){Nr();return}j.value=j.value.map(t=>t.id===R.value?{...t,name:e}:t),await $(),X(D(`ht.editSuccess`)),Nr();return}let t={id:`ct-${Date.now()}-${Math.random().toString(16).slice(2,6)}`,name:e,order:j.value.length,createdAt:new Date().toISOString()};j.value=[...j.value,t],await $();try{await wr(t.id)}catch(e){console.error(`initialize contract scale failed:`,e)}await Q(),X(D(`ht.createSuccess`)),Nr(),await o(),mr()},Fr=async e=>{Or(e),await o(),await kr(e),await new Promise(e=>setTimeout(e,80)),await kr(e),j.value=j.value.filter(t=>t.id!==e),I.value=I.value.filter(t=>t!==e),await $(),await Q(),X(D(`ht.deleteSuccess`))},Ir=async()=>{if(I.value.length===0){Z(D(`ht.tipTitle`),D(`ht.selectAtLeastOne`));return}let e=new Set(I.value);if(j.value.filter(t=>e.has(t.id)).length===0){Z(D(`ht.tipTitle`),D(`ht.noContractsToDelete`));return}Tn.value=!0},Lr=async()=>{let e=new Set(I.value),t=j.value.filter(t=>e.has(t.id));if(t.length===0){Tn.value=!1,Z(D(`ht.tipTitle`),D(`ht.noContractsToDelete`));return}try{let n=t.map(e=>e.id);for(let e of n)Or(e);await o();for(let e of n)await kr(e);await new Promise(e=>setTimeout(e,80));for(let e of n)await kr(e);j.value=j.value.filter(t=>!e.has(t.id)),I.value=I.value.filter(t=>!e.has(t)),await $(),await Q(),X(D(`ht.deleteBatchSuccess`,{count:n.length})),lr()}catch(e){console.error(`delete selected contracts failed:`,e),Z(D(`ht.batchDeleteFailedTitle`),D(`ht.retry`))}finally{Tn.value=!1}},Rr=async e=>{Hr(),!(e.oldIndex==null||e.newIndex==null||e.oldIndex===e.newIndex)&&(await $(),X(D(`ht.sortDone`)))},zr=e=>{V.value&&(Fn=e.clientY)},Br=()=>{if(!V.value){G=0;return}let e=jn.value||pr(),t=Fn;if(e&&t!=null){let n=e.getBoundingClientRect(),r=0;if(tn.bottom-88){let e=Math.max(0,Math.min(1,(t-(n.bottom-88))/88));r=Math.ceil(22*e)}r!==0&&(e.scrollTop=Math.max(0,Math.min(e.scrollTop+r,e.scrollHeight-e.clientHeight)))}G=window.requestAnimationFrame(Br)},Vr=()=>{K&&=(clearTimeout(K),null),H.value=`ready`,pr(),V.value=!0,Fn=null,window.addEventListener(`pointermove`,zr,{passive:!0}),window.addEventListener(`dragover`,zr,{passive:!0}),G&&cancelAnimationFrame(G),G=window.requestAnimationFrame(Br)},Hr=()=>{V.value=!1,Fn=null,window.removeEventListener(`pointermove`,zr),window.removeEventListener(`dragover`,zr),G&&=(cancelAnimationFrame(G),0)},Ur=e=>{if(J.value){cr(e.id);return}_.openTab({id:`contract-${e.id}`,title:D(`ht.contractTabTitle`,{name:e.name}),componentName:`QuickCalcView`,props:{contractId:e.id,contractName:e.name}})},Wr=e=>{B.value={x:On+(e.clientX-En),y:kn+(e.clientY-Dn)}},Gr=()=>{window.removeEventListener(`mousemove`,Wr),window.removeEventListener(`mouseup`,Gr)},Kr=e=>{En=e.clientX,Dn=e.clientY,On=B.value.x,kn=B.value.y,window.addEventListener(`mousemove`,Wr),window.addEventListener(`mouseup`,Gr)},qr=e=>{if(!P.value||!hn.value)return;let t=e.target;hn.value.contains(t)||(P.value=!1)};return ne(async()=>{await Zn(),await Ar(),await Q(),br(),await o(),vr(),window.addEventListener(`mousedown`,qr)}),te(()=>{Zn(),Q(),br(),o(()=>{vr()})}),n(()=>{Gr(),Hr(),In&&clearTimeout(In),yr(),window.removeEventListener(`mousedown`,qr),K&&clearTimeout(K),$()}),ae(Wn,(e,t)=>{e!==t&&ar()}),(e,n)=>(r(),ie(g(fe),null,{default:b(()=>[t(g(me),null,{default:b(()=>[m(`div`,mt,[m(`div`,ht,[m(`div`,gt,[m(`div`,_t,[m(`h3`,vt,c(g(D)(`ht.title`)),1),m(`div`,yt,c(g(D)(`ht.projectTotalBudget`,{amount:Nn.value?g(D)(`ht.budgetLoading`):$n(Un.value)})),1)]),m(`div`,bt,[J.value?(r(),d(f,{key:0},[m(`div`,xt,c(g(D)(`ht.selectedCount`,{count:Bn.value})),1),t(g(O),{variant:`outline`,disabled:Bn.value===0,onClick:n[0]||=e=>F.value===`export`?Tr():Ir()},{default:b(()=>[p(c(F.value===`export`?g(D)(`ht.exportSelected`):g(D)(`ht.deleteSelected`)),1)]),_:1},8,[`disabled`]),t(g(O),{variant:`ghost`,onClick:lr},{default:b(()=>[p(c(g(D)(`ht.cancelSelect`)),1)]),_:1})],64)):(r(),d(f,{key:1},[t(g(O),{class:`whitespace-nowrap`,disabled:!U.value,onClick:jr},{default:b(()=>[t(g(xe),{class:`mr-2 h-4 w-4`}),p(` `+c(g(D)(`ht.addContract`)),1)]),_:1},8,[`disabled`]),m(`div`,{ref_key:`contractDataMenuRef`,ref:hn,class:`relative`},[t(g(O),{variant:`outline`,size:`icon`,class:`h-10 w-10`,onClick:n[1]||=e=>P.value=!P.value},{default:b(()=>[t(g(_e),{class:`h-4 w-4`})]),_:1}),P.value?(r(),d(`div`,St,[m(`button`,{class:y([`block whitespace-nowrap rounded px-3 py-1.5 text-left text-sm`,Y.value?`cursor-pointer hover:bg-muted`:`cursor-not-allowed text-muted-foreground`]),disabled:!Y.value,onClick:dr},c(g(D)(`ht.batchDelete`)),11,Ct),m(`button`,{class:y([`block whitespace-nowrap rounded px-3 py-1.5 text-left text-sm`,Y.value?`cursor-pointer hover:bg-muted`:`cursor-not-allowed text-muted-foreground`]),disabled:!Y.value,onClick:ur},c(g(D)(`ht.exportContracts`)),11,wt),m(`button`,{class:y([`block whitespace-nowrap rounded px-3 py-1.5 text-left text-sm`,U.value?`cursor-pointer hover:bg-muted`:`cursor-not-allowed text-muted-foreground`]),disabled:!U.value,onClick:fr},c(g(D)(`ht.importContracts`)),11,Tt)])):l(``,!0),m(`input`,{ref_key:`contractImportFileRef`,ref:gn,type:`file`,class:`hidden`,accept:`.htzw,.zw`,onChange:Er},null,544)],512)],64))])]),m(`div`,Et,[m(`div`,Dt,[m(`div`,Ot,[oe(m(`input`,{"onUpdate:modelValue":n[2]||=e=>M.value=e,type:`text`,placeholder:g(D)(`ht.searchPlaceholder`),class:`h-10 w-full rounded-md border bg-background px-3 text-sm outline-none transition focus-visible:ring-2 focus-visible:ring-ring`},null,8,kt),[[i,M.value]]),M.value?(r(),ie(g(O),{key:0,variant:`outline`,size:`sm`,class:`h-10 shrink-0 px-3`,onClick:n[3]||=e=>M.value=``},{default:b(()=>[p(c(g(D)(`ht.clearFilter`)),1)]),_:1})):l(``,!0)]),Hn.value?(r(),d(`div`,At,c(g(D)(`ht.searchingHint`,{filtered:Vn.value.length,total:j.value.length})),1)):l(``,!0),J.value?(r(),d(`div`,jt,c(F.value===`export`?g(D)(`ht.selectModeExportHint`):g(D)(`ht.selectModeDeleteHint`)),1)):l(``,!0),U.value?l(``,!0):(r(),d(`div`,Mt,c(g(D)(`ht.setupRequiredHint`)),1))]),m(`div`,Nt,[m(`label`,Pt,[m(`span`,null,c(N.value?g(D)(`ht.listLayout`):g(D)(`ht.gridLayout`)),1),m(`button`,{type:`button`,role:`switch`,"aria-checked":N.value,class:y([`relative h-6 w-11 cursor-pointer rounded-full border transition-colors active:scale-95`,N.value?`bg-primary border-primary`:`bg-muted border-border`]),onClick:n[4]||=e=>N.value=!N.value},[m(`span`,{class:y([`pointer-events-none absolute top-1/2 h-4 w-4 -translate-y-1/2 rounded-full bg-background shadow-sm transition-all`,N.value?`left-6`:`left-1`])},null,2)],10,Ft)])])])]),m(`div`,{ref_key:`contractListScrollWrapRef`,ref:An,class:`mt-4 flex-1 min-h-0`},[t(g(ze),{class:y([`ht-contract-scroll-area h-full`,V.value&&`is-dragging`])},{default:b(()=>[!Hn.value&&Vn.value.length>0?(r(),ie(g(nt.default),{key:`contracts-${N.value?`list`:`grid`}`,modelValue:j.value,"onUpdate:modelValue":n[7]||=e=>j.value=e,"item-key":`id`,disabled:J.value,handle:`.contract-drag-handle`,"ghost-class":`ht-sortable-ghost`,"chosen-class":`ht-sortable-chosen`,"drag-class":`ht-sortable-drag`,class:y([`grid grid-cols-1 pb-4 pr-4 pt-3`,N.value?`gap-2`:`gap-4`,!N.value&&`md:grid-cols-2 lg:grid-cols-3`]),animation:`200`,onStart:Vr,onEnd:Rr},{item:b(({element:e,index:i})=>[t(g(rt),{class:y([`group relative cursor-pointer snap-start snap-always transition-colors hover:border-primary ht-contract-card`,J.value?`ht-contract-card--selecting`:H.value===`enter`&&!V.value?`ht-contract-card--enter`:`ht-contract-card--ready`,sr(e.id)&&`ht-contract-card--selected`,N.value&&`gap-0 py-0`]),style:a(Cr(i)),onClick:t=>Ur(e)},{default:b(()=>[J.value?(r(),d(`label`,{key:0,class:`absolute left-2 top-2 z-10 inline-flex cursor-pointer items-center rounded bg-background/90 p-0.5 shadow-sm`,onClick:n[5]||=s(()=>{},[`stop`])},[m(`input`,{type:`checkbox`,class:`h-4 w-4 cursor-pointer`,checked:sr(e.id),onChange:s(t=>cr(e.id),[`stop`])},null,40,It)])):l(``,!0),t(g(it),{class:y([`flex flex-row items-center justify-between gap-0 space-y-0`,N.value?`px-3 py-2`:`pb-4`])},{default:b(()=>[t(g(at),{class:y([`text-sm font-medium`,N.value&&`mr-1.5 flex min-w-0 flex-1 items-center gap-1.5`])},{default:b(()=>[m(`span`,{class:y(N.value?`min-w-0 truncate`:``)},c(e.name),3),N.value?(r(),d(f,{key:0},[m(`span`,Lt,` ID: `+c(e.id),1),m(`span`,Rt,c(g(D)(`ht.contractBudget`,{amount:$n(W.value[e.id])})),1),m(`span`,zt,c(g(D)(`ht.createdAt`,{time:g(st)(e.createdAt)})),1)],64)):l(``,!0)]),_:2},1032,[`class`]),J.value?l(``,!0):(r(),d(`div`,{key:0,class:y([`flex shrink-0 opacity-0 transition-opacity group-hover:opacity-100`,N.value?`gap-0.5`:`gap-1`])},[t(g(w),null,{default:b(()=>[t(g(T),{"as-child":``},{default:b(()=>[m(`button`,{type:`button`,class:y([`contract-drag-handle inline-flex cursor-grab items-center justify-center rounded-md text-muted-foreground hover:bg-muted active:cursor-grabbing`,N.value?`h-6 w-6`:`h-7 w-7`]),onClick:n[6]||=s(()=>{},[`stop`])},[t(g(Ae),{class:y(N.value?`h-3.5 w-3.5`:`h-4 w-4`)},null,8,[`class`])],2)]),_:1}),t(g(A),{side:`top`},{default:b(()=>[p(c(g(D)(`ht.dragSort`)),1)]),_:1})]),_:1}),t(g(w),null,{default:b(()=>[t(g(T),{"as-child":``},{default:b(()=>[t(g(O),{variant:`ghost`,size:`icon`,class:y(N.value?`h-6 w-6`:`h-7 w-7`),onClick:s(t=>Mr(e),[`stop`])},{default:b(()=>[t(g(De),{class:y(N.value?`h-3.5 w-3.5`:`h-4 w-4`)},null,8,[`class`])]),_:1},8,[`class`,`onClick`])]),_:2},1024),t(g(A),{side:`top`},{default:b(()=>[p(c(g(D)(`ht.edit`)),1)]),_:1})]),_:2},1024),t(g(w),null,{default:b(()=>[t(g(T),{"as-child":``},{default:b(()=>[t(g(O),{variant:`ghost`,size:`icon`,class:y([N.value?`h-6 w-6`:`h-7 w-7`,`text-destructive`]),onClick:s(t=>Jn(e.id),[`stop`])},{default:b(()=>[t(g(Ee),{class:y(N.value?`h-3.5 w-3.5`:`h-4 w-4`)},null,8,[`class`])]),_:1},8,[`class`,`onClick`])]),_:2},1024),t(g(A),{side:`top`},{default:b(()=>[p(c(g(D)(`ht.remove`)),1)]),_:1})]),_:2},1024)],2))]),_:2},1032,[`class`]),N.value?l(``,!0):(r(),d(`div`,Bt,[m(`div`,Vt,c(g(D)(`ht.idLabel`,{id:e.id})),1),m(`div`,null,c(g(D)(`ht.contractBudgetLine`,{amount:$n(W.value[e.id])})),1),m(`div`,null,c(g(D)(`ht.createdAt`,{time:g(st)(e.createdAt)})),1)]))]),_:2},1032,[`class`,`style`,`onClick`])]),_:1},8,[`modelValue`,`disabled`,`class`])):!Hn.value&&Vn.value.length===0?(r(),d(`div`,Ht,[m(`div`,Ut,c(g(D)(`ht.emptyTitle`)),1),m(`div`,Wt,c(g(D)(`ht.emptyDesc`)),1)])):(r(),d(`div`,{key:`contracts-search-${N.value?`list`:`grid`}`,class:y([`grid grid-cols-1 pb-4 pr-4 pt-3`,N.value?`gap-2`:`gap-4`,!N.value&&`md:grid-cols-2 lg:grid-cols-3`])},[(r(!0),d(f,null,ee(Vn.value,(e,i)=>(r(),ie(g(rt),{key:e.id,class:y([`group relative cursor-pointer snap-start snap-always transition-colors hover:border-primary ht-contract-card`,J.value?`ht-contract-card--selecting`:H.value===`enter`&&!V.value?`ht-contract-card--enter`:`ht-contract-card--ready`,sr(e.id)&&`ht-contract-card--selected`,N.value&&`gap-0 py-0`]),style:a(Cr(i)),onClick:t=>Ur(e)},{default:b(()=>[J.value?(r(),d(`label`,{key:0,class:`absolute left-2 top-2 z-10 inline-flex cursor-pointer items-center rounded bg-background/90 p-0.5 shadow-sm`,onClick:n[8]||=s(()=>{},[`stop`])},[m(`input`,{type:`checkbox`,class:`h-4 w-4 cursor-pointer`,checked:sr(e.id),onChange:s(t=>cr(e.id),[`stop`])},null,40,Gt)])):l(``,!0),t(g(it),{class:y([`flex flex-row items-center justify-between gap-0 space-y-0`,N.value?`px-3 py-2`:`pb-2`])},{default:b(()=>[t(g(at),{class:y([`text-sm font-medium`,N.value&&`mr-1.5 flex min-w-0 flex-1 items-center gap-1.5`])},{default:b(()=>[m(`span`,{class:y(N.value?`min-w-0 truncate`:``)},c(e.name),3),N.value?(r(),d(f,{key:0},[m(`span`,Kt,` ID: `+c(e.id),1),m(`span`,qt,c(g(D)(`ht.contractBudget`,{amount:$n(W.value[e.id])})),1),m(`span`,Jt,c(g(D)(`ht.createdAt`,{time:g(st)(e.createdAt)})),1)],64)):l(``,!0)]),_:2},1032,[`class`]),J.value?l(``,!0):(r(),d(`div`,{key:0,class:y([`flex shrink-0 opacity-0 transition-opacity group-hover:opacity-100`,N.value?`gap-0.5`:`gap-1`])},[t(g(w),null,{default:b(()=>[t(g(T),{"as-child":``},{default:b(()=>[m(`span`,{class:y([`inline-flex items-center justify-center rounded-md text-muted-foreground`,N.value?`h-6 w-6`:`h-7 w-7`])},[t(g(Ae),{class:y(N.value?`h-3.5 w-3.5`:`h-4 w-4`)},null,8,[`class`])],2)]),_:1}),t(g(A),{side:`top`},{default:b(()=>[p(c(g(D)(`ht.dragSortSearchOff`)),1)]),_:1})]),_:1}),t(g(w),null,{default:b(()=>[t(g(T),{"as-child":``},{default:b(()=>[t(g(O),{variant:`ghost`,size:`icon`,class:y(N.value?`h-6 w-6`:`h-7 w-7`),onClick:s(t=>Mr(e),[`stop`])},{default:b(()=>[t(g(De),{class:y(N.value?`h-3.5 w-3.5`:`h-4 w-4`)},null,8,[`class`])]),_:1},8,[`class`,`onClick`])]),_:2},1024),t(g(A),{side:`top`},{default:b(()=>[p(c(g(D)(`ht.edit`)),1)]),_:1})]),_:2},1024),t(g(w),null,{default:b(()=>[t(g(T),{"as-child":``},{default:b(()=>[t(g(O),{variant:`ghost`,size:`icon`,class:y([N.value?`h-6 w-6`:`h-7 w-7`,`text-destructive`]),onClick:s(t=>Jn(e.id),[`stop`])},{default:b(()=>[t(g(Ee),{class:y(N.value?`h-3.5 w-3.5`:`h-4 w-4`)},null,8,[`class`])]),_:1},8,[`class`,`onClick`])]),_:2},1024),t(g(A),{side:`top`},{default:b(()=>[p(c(g(D)(`ht.remove`)),1)]),_:1})]),_:2},1024)],2))]),_:2},1032,[`class`]),N.value?l(``,!0):(r(),d(`div`,Yt,[m(`div`,Xt,c(g(D)(`ht.idLabel`,{id:e.id})),1),m(`div`,null,c(g(D)(`ht.contractBudgetLine`,{amount:$n(W.value[e.id])})),1),m(`div`,null,c(g(D)(`ht.createdAt`,{time:g(st)(e.createdAt)})),1)]))]),_:2},1032,[`class`,`style`,`onClick`]))),128)),Vn.value.length===0?(r(),d(`div`,Zt,c(g(D)(`ht.notFound`)),1)):l(``,!0)],2))]),_:1},8,[`class`])],512),t(g(w),null,{default:b(()=>[t(g(T),{"as-child":``},{default:b(()=>[m(`button`,{type:`button`,"aria-label":g(D)(`ht.backToTop`),class:y([`fixed bottom-8 right-8 z-40 inline-flex h-11 w-11 cursor-pointer items-center justify-center rounded-full border border-black/15 bg-white text-black shadow-[0_10px_24px_rgba(0,0,0,0.16)] transition-all duration-300 hover:scale-105 hover:border-black/30 hover:bg-black hover:text-white`,Mn.value?`translate-y-0 opacity-100`:`pointer-events-none translate-y-3 opacity-0`]),onClick:n[9]||=e=>hr()},[t(g(he),{class:`h-5 w-5`})],10,Qt)]),_:1}),t(g(A),{side:`left`},{default:b(()=>[p(c(g(D)(`ht.backToTop`)),1)]),_:1})]),_:1}),_n.value?(r(),d(`div`,$t,[m(`div`,{class:`w-full max-w-md rounded-lg border bg-background shadow-xl`,style:a({transform:`translate(${B.value.x}px, ${B.value.y}px)`})},[m(`div`,{class:`flex items-center justify-between border-b px-5 py-4 cursor-move select-none`,onMousedown:s(Kr,[`prevent`])},[m(`h4`,en,c(R.value?g(D)(`ht.editContract`):g(D)(`ht.createContract`)),1),t(g(O),{variant:`ghost`,size:`icon`,class:`h-8 w-8`,onClick:Nr},{default:b(()=>[t(g(ke),{class:`h-4 w-4`})]),_:1})],32),m(`div`,tn,[m(`label`,nn,c(g(D)(`ht.contractName`)),1),oe(m(`input`,{"onUpdate:modelValue":n[10]||=e=>L.value=e,type:`text`,placeholder:g(D)(`ht.contractNamePlaceholder`),class:`h-10 w-full rounded-md border bg-background px-3 text-sm outline-none transition focus-visible:ring-2 focus-visible:ring-ring`,onKeydown:re(Pr,[`enter`])},null,40,rn),[[i,L.value]])]),m(`div`,an,[t(g(O),{variant:`outline`,onClick:Nr},{default:b(()=>[p(c(g(D)(`common.cancel`)),1)]),_:1}),t(g(O),{disabled:!L.value.trim(),onClick:Pr},{default:b(()=>[p(c(R.value?g(D)(`ht.save`):g(D)(`ht.ok`)),1)]),_:1},8,[`disabled`])])],4)])):l(``,!0)]),t(g(je),{open:xn.value,"onUpdate:open":qn},{default:b(()=>[t(g(ge),null,{default:b(()=>[t(g(ve),{class:`fixed inset-0 z-50 bg-black/45`}),t(g(be),{class:`fixed left-1/2 top-1/2 z-[70] w-[92vw] max-w-md -translate-x-1/2 -translate-y-1/2 rounded-lg border bg-background p-5 shadow-xl`},{default:b(()=>[t(g(we),{class:`text-base font-semibold`},{default:b(()=>[p(c(g(D)(`ht.deleteSingleTitle`)),1)]),_:1}),t(g(Oe),{class:`mt-2 text-sm text-muted-foreground`},{default:b(()=>[p(c(g(D)(`ht.deleteSingleDesc`,{name:Gn.value})),1)]),_:1}),m(`div`,on,[t(g(Te),{"as-child":``},{default:b(()=>[t(g(O),{variant:`outline`,onClick:n[11]||=e=>z.value=null},{default:b(()=>[p(c(g(D)(`common.cancel`)),1)]),_:1})]),_:1}),t(g(ye),{"as-child":``},{default:b(()=>[t(g(O),{variant:`destructive`,onClick:Yn},{default:b(()=>[p(c(g(D)(`common.confirm`)),1)]),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,[`open`]),t(g(je),{open:Tn.value,"onUpdate:open":n[12]||=e=>Tn.value=e},{default:b(()=>[t(g(ge),null,{default:b(()=>[t(g(ve),{class:`fixed inset-0 z-50 bg-black/45`}),t(g(be),{class:`fixed left-1/2 top-1/2 z-[70] w-[92vw] max-w-md -translate-x-1/2 -translate-y-1/2 rounded-lg border bg-background p-5 shadow-xl`},{default:b(()=>[t(g(we),{class:`text-base font-semibold`},{default:b(()=>[p(c(g(D)(`ht.deleteBatchTitle`)),1)]),_:1}),t(g(Oe),{class:`mt-2 text-sm text-muted-foreground`},{default:b(()=>[p(c(g(D)(`ht.deleteBatchDesc`,{count:Kn.value})),1)]),_:1}),m(`div`,sn,[t(g(Te),{"as-child":``},{default:b(()=>[t(g(O),{variant:`outline`},{default:b(()=>[p(c(g(D)(`common.cancel`)),1)]),_:1})]),_:1}),t(g(ye),{"as-child":``},{default:b(()=>[t(g(O),{variant:`destructive`,onClick:Lr},{default:b(()=>[p(c(g(D)(`common.confirm`)),1)]),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,[`open`]),t(g(je),{open:Sn.value,"onUpdate:open":n[14]||=e=>Sn.value=e},{default:b(()=>[t(g(ge),null,{default:b(()=>[t(g(ve),{class:`fixed inset-0 z-50 bg-black/45`}),t(g(be),{class:`fixed left-1/2 top-1/2 z-[70] w-[92vw] max-w-md -translate-x-1/2 -translate-y-1/2 rounded-lg border bg-background p-5 shadow-xl`},{default:b(()=>[t(g(we),{class:`text-base font-semibold`},{default:b(()=>[p(c(Cn.value),1)]),_:1}),t(g(Oe),{class:`mt-2 text-sm text-muted-foreground`},{default:b(()=>[p(c(wn.value),1)]),_:1}),m(`div`,cn,[t(g(ye),{"as-child":``},{default:b(()=>[t(g(O),{onClick:n[13]||=e=>Sn.value=!1},{default:b(()=>[p(c(g(D)(`tab.dialog.iKnow`)),1)]),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,[`open`]),t(g(Ce),{open:vn.value,"onUpdate:open":n[16]||=e=>vn.value=e,duration:1800,class:`group pointer-events-auto flex items-center gap-3 rounded-xl border border-border bg-card px-4 py-3 text-foreground shadow-lg`},{default:b(()=>[m(`div`,ln,[t(g(pe),{class:`text-sm font-semibold text-foreground`},{default:b(()=>[p(c(yn.value),1)]),_:1}),t(g(ue),{class:`text-xs text-muted-foreground`},{default:b(()=>[p(c(bn.value),1)]),_:1})]),t(g(Se),{"alt-text":g(D)(`tab.dialog.iKnow`),class:`ml-auto cursor-pointer inline-flex h-7 items-center rounded-md border border-border bg-muted px-2 text-xs text-foreground hover:bg-muted/80`,onClick:n[15]||=e=>vn.value=!1},{default:b(()=>[p(c(g(D)(`tab.dialog.iKnow`)),1)]),_:1},8,[`alt-text`])]),_:1},8,[`open`]),t(g(de),{class:`fixed bottom-5 right-5 z-[85] flex w-[380px] max-w-[92vw] flex-col gap-2 outline-none`})]),_:1})]),_:1}))}}),[[`__scopeId`,`data-v-01c49185`]]);export{j as default};