foucui 2.3.4 → 2.3.5

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.
@@ -52,7 +52,7 @@
52
52
  <table class="fou-print-table">${o}${s}${c}</table>
53
53
  </body></html>`),l.document.close(),l.focus(),setTimeout(()=>{l.print()},50))},Ir=(0,t.computed)(()=>[{name:`refresh`,show:wt.value,title:Y(`刷新`),icon:`refresh-line`,onClick:()=>o(`refresh`)},{name:`zoom`,show:Ot.value,title:Y(D.value?`退出全屏`:`全屏`),icon:D.value?`fullscreen-exit-line`:`fullscreen-line`,onClick:vr},{name:`import`,show:Et.value,title:Y(`导入`),icon:`upload-2-line`,onClick:Mr},{name:`print`,show:Dt.value,title:Y(`打印`),icon:`printer-line`,onClick:Fr},{name:`custom`,show:bt.value,title:Y(`列设置`),icon:`settings-3-line`,onClick:()=>M.value=!M.value},{name:`export`,show:Tt.value||!!a.exportConfig,title:Y(`导出`),icon:`download-2-line`,onClick:Er}]),Lr=e=>e.editor===`switch`||e.type===`switch`||e.editRender?.name===`switch`||e.cellRender?.name===`switch`,Rr=async e=>{if(navigator.clipboard&&window.isSecureContext){await navigator.clipboard.writeText(e);return}let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();try{document.execCommand(`copy`)}finally{t.remove()}},zr=async(e,t=`selected`)=>{let n=X.value,r=Tn.value.map(e=>e.row),i=at.value;if(t===`selected`&&i&&(n=n.slice(i.c0,i.c1+1),r=r.slice(i.r0,i.r1+1)),!n.length||!r.length){Q.warning(Y(`没有可复制的数据`));return}if(e===`horizontal`&&n.some(Lr)){Q.warning(Y(`横向复制暂不支持包含开关/自定义渲染的列`));return}let a=e=>String(e??``).replace(/\t/g,` `).replace(/\r?\n/g,` `),o=(e,t)=>a(vn(e,t)),s=e=>a(e.label||e.title||e.field||e._key),c=``;if(e===`vertical`){let e=[n.map(s).join(` `)];r.forEach(t=>e.push(n.map(e=>o(t,e)).join(` `))),c=e.join(`
54
54
  `)}else{let e=[];e.push([``].concat(r.map((e,t)=>String(t+1)))),n.forEach(t=>{e.push([s(t)].concat(r.map(e=>o(e,t))))}),c=e.map(e=>e.join(` `)).join(`
55
- `)}try{await Rr(c),Q.success(Y(`已复制到剪贴板`))}catch{Q.error(Y(`复制失败,请检查浏览器剪贴板权限`))}},Br=()=>{te.visible=!1},Vr=e=>{if(a.menuConfig?.enabled===!1)return;let t=a.menuConfig?.body?.options;if(!t?.length)return;let n=e.target.closest(`tr`)?.getAttribute(`data-row-key`)||``,r=n?Xr(a.data,n):void 0;a.menuConfig?.visibleMethod&&a.menuConfig.visibleMethod({type:`body`,row:r,options:t})===!1||(te.visible=!0,te.x=e.clientX,te.y=e.clientY,te.options=t,te.row=r)},Hr=e=>{e.code===`copy`||e.code===`COPY`?Ur():e.code===`cut`||e.code===`CUT`?Gr():(e.code===`paste`||e.code===`PASTE`)&&Kr(),o(`menu-click`,{menu:e,row:te.row,column:te.column}),Br()},Ur=async()=>{if(st().isCopy===!1)return;let e=tt((e,t)=>{let n=X.value.find(e=>Me(e)===t);return n?vn(e,n):String(e?.[t]??``)});if(e)try{await navigator.clipboard.writeText(e)}catch{}},Wr=(e,t,n)=>{let r=X.value.find(e=>Me(e)===t);if(!r||!Ne(r)){e[t]=n;return}ut(e,r,n)},Gr=async()=>{st().isCut!==!1&&(await Ur(),rt((e,t,n)=>Wr(e,t,n)))},Kr=async()=>{if(st().isPaste!==!1)try{let e=await navigator.clipboard.readText();nt(e,(e,t,n)=>Wr(e,t,n))}catch{}},qr=e=>{Qn(e),(0,t.nextTick)(()=>si(e))},Jr=e=>{let t=mo(a.rowConfig),n=ot().isArrow!==!1,r=ot().isEnter!==!1,i=ot().isEsc!==!1,o=ot().isTab===!0,s=ot().isUndo!==!1&&We();if(!a.editable&&!t&&!s)return;let c=e.target,l=c?.tagName,u=l===`INPUT`||l===`TEXTAREA`||l===`SELECT`||!!c?.isContentEditable||!!c?.closest?.(`.fou-input, .fou-select, .fou-input-number, .fou-time, .fou-time-panel`),f=e.ctrlKey||e.metaKey;if(f&&(e.key===`z`||e.key===`Z`)&&s&&!e.shiftKey){e.preventDefault(),Ke();return}if(f&&(e.key===`y`||e.key===`Y`||(e.key===`z`||e.key===`Z`)&&e.shiftKey)&&s){e.preventDefault(),qe();return}if(f&&(e.key===`c`||e.key===`C`)&&st().isCopy!==!1){u||(e.preventDefault(),Ur());return}if(f&&(e.key===`x`||e.key===`X`)&&st().isCut!==!1){u||(e.preventDefault(),Gr());return}if(f&&(e.key===`v`||e.key===`V`)&&st().isPaste!==!1){u||(e.preventDefault(),Kr());return}if(u&&ot().isEdit!==!0)return;let p=On.value.map(e=>e.row);if(!p.length)return;let m=j.value?p.findIndex(e=>q(e)===j.value):-1,h=e.shiftKey;if(n&&e.key===`ArrowDown`){e.preventDefault();let n=et(1,0,h);if(n)qr(n.row);else if(t){let e=p[Math.min(p.length-1,Math.max(0,m+1))];e&&qr(e)}}else if(n&&e.key===`ArrowUp`){e.preventDefault();let n=et(-1,0,h);if(n)qr(n.row);else if(t){let e=p[Math.max(0,m<=0?0:m-1)];e&&qr(e)}}else if(n&&e.key===`ArrowLeft`){e.preventDefault();let t=et(0,-1,h);t&&qr(t.row)}else if(n&&e.key===`ArrowRight`){e.preventDefault();let t=et(0,1,h);t&&qr(t.row)}else if(o&&e.key===`Tab`){e.preventDefault();let t=et(0,e.shiftKey?-1:1,!1);t&&qr(t.row)}else if(r&&e.key===`Enter`&&m>=0&&a.editable){if(ke.value)return;e.preventDefault();let t=p[m],n=it.value?.prop,r=n&&X.value.find(e=>Me(e)===n&&Ne(e))||X.value.find(e=>Ne(e)&&Ae(e)!==`switch`);t&&r&&Le(t,r,d.value)}else i&&e.key===`Escape`&&(Re(),J(),Br())},Yr=()=>({getTableData:()=>({fullData:a.data}),getCheckboxRecords:Sr,clearEdit:Re,exportData:jr,setAllTreeExpand:xr,importData:Mr,print:Fr}),Xr=(e,t)=>{let n=mt.value.children;for(let r of e||[]){if(q(r)===t)return r;if(r?.[n]?.length){let e=Xr(r[n],t);if(e)return e}}return null},Zr=()=>{ne?.destroy(),ne=null,ln.value&&(0,t.nextTick)(()=>{let e=l.value;e&&(ne=i.default.create(e,{handle:`.fou-table__drag-handle`,animation:150,draggable:`.fou-table__row:not(.fou-table__row--empty)`,onEnd:e=>{let t=e.item?.getAttribute(`data-row-key`)||``;o(`row-dragend`,{dragRow:Xr(a.data,t),oldIndex:e.oldIndex,newIndex:e.newIndex})}}))})},Qr={register(e){m.value=[...m.value.filter(t=>t.id!==e.id),e]},unregister(e){m.value=m.value.filter(t=>t.id!==e)},update(e){let t=m.value.findIndex(t=>t.id===e.id);if(t>=0){let n=m.value.slice();n[t]=e,m.value=n}else Qr.register(e)}};(0,t.provide)(go,Qr),(0,t.watch)(()=>[a.tree,a.defaultExpandAll,a.data],()=>{(!re||a.defaultExpandAll)&&pn()},{deep:!0,immediate:!0}),(0,t.watch)(()=>[ln.value,a.data.length,On.value.length],()=>Zr()),(0,t.watch)(()=>[On.value.length,a.height,a.maxHeight,X.value.length],()=>(0,t.nextTick)(se)),(0,t.onMounted)(()=>{Zr(),(0,t.nextTick)(()=>{se(),Nn(),x()})}),(0,t.onBeforeUnmount)(()=>{ne?.destroy(),ne=null,Lt?.destroy(),Lt=null,rr&&=(document.removeEventListener(`mouseup`,rr),null)});let $r=(0,t.defineComponent)({name:`FouTableCellContent`,props:{row:{type:Object,required:!0},col:{type:Object,required:!0},index:{type:Number,required:!0}},setup(e){return()=>{let n=e.row,r=e.col,i=e.index,o=Ae(r),s=Me(r),c=s==null?void 0:n[s];if(Pe(r)||Fe(n,r))return Vn(n,r);let l=typeof r.cellRender==`string`?r.cellRender:r.cellRender?.name;if(l&&uo.has(l)){let e=uo.get(l)({cellValue:c,row:n,column:r,$index:i});return e==null?null:typeof e==`string`?(0,t.createVNode)(`span`,{class:`fou-table__text`},e):e}let u=``;u=o===`select`&&r.options?.length?r.options.find(e=>e.value===c)?.label??vn(n,r):vn(n,r);let d=lt(n,r);return ct(r)&&d&&!Fe(n,r)&&a.tooltipConfig?.showAll!==!1?(0,t.createVNode)(ao,{content:d,placement:`top`,showAfter:a.tooltipConfig?.enterDelay??200,hideAfter:a.tooltipConfig?.leaveDelay??100},{default:()=>(0,t.createVNode)(`span`,{class:`fou-table__text`},u)}):(0,t.createVNode)(`span`,{class:`fou-table__text`},u)}}}),ei=(e,t)=>{let n=a.rowClassName;return n?typeof n==`function`?n({row:e,rowIndex:t}):n:``},ti=(e,t,n,r)=>{let i=a.cellClassName;return i?typeof i==`function`?i({row:e,column:t,rowIndex:n,columnIndex:r}):i:``},ni=e=>{if(e==null){j.value=null,o(`current-change`,{row:null});return}mo(a.rowConfig)&&(j.value=q(e),o(`current-change`,{row:e}))},ri=()=>{j.value=null,J(),o(`current-change`,{row:null})},ii=()=>{g.value={prop:``,order:null},_.value=[],o(`sort-change`,{prop:``,order:null,sorts:[]})},ai=e=>{if(e){let t=X.value.find(t=>Me(t)===e||t._key===e)?._key;t&&(C[t]=[],w[t]=[])}else Object.keys(C).forEach(e=>{C[e]=[],w[e]=[]});o(`filter-change`,{...C})},oi=e=>{let t=d.value;t&&(e.top!=null&&(t.scrollTop=e.top),e.left!=null&&(t.scrollLeft=e.left))},si=e=>{let t=q(e),n=d.value?.querySelector(`[data-row-key="${String(t).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"]`);n instanceof HTMLElement&&n.scrollIntoView({block:`nearest`})};return n({tableRef:c,gridRef:c,getGrid:Yr,clearEdit:Re,exportData:jr,getCheckboxRecords:Sr,setAllTreeExpand:xr,importData:Mr,print:Fr,getRadioRecord:()=>xe.value?Xr(a.data,xe.value):null,clearRadioRow:be,setRowExpand:he,clearRowExpand:ge,getUpdateRecords:Te,getInsertRecords:Ee,isUpdateByRow:we,reloadRow:De,reloadColumn:()=>{ie.value++},setCurrentRow:ni,clearCurrentRow:ri,clearSort:ii,clearFilter:ai,scrollTo:oi,scrollToRow:si,getColumnWidth:e=>{let t=X.value.find(t=>t._key===e||Me(t)===e);return t?tn(t):void 0},setColumnWidth:(e,t)=>{let n=X.value.find(t=>t._key===e||Me(t)===e);n&&G(n._key,t)},recalculate:()=>{ie.value++,(0,t.nextTick)(se)},getColumns:()=>X.value.slice(),undo:Ke,redo:qe,clearHistory:Je,canUndo:Ye,canRedo:Xe,copy:Ur,cut:Gr,paste:Kr,copyData:zr}),(n,r)=>{let i=k,a=Vt,o=pt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:s,class:(0,t.normalizeClass)([`fou-table`,[{"fou-table--border":e.border===!0||e.border===`full`||e.border==="default","fou-table--border-full":e.border===`full`||e.border===!0,"fou-table--border-outer":e.border===`outer`,"fou-table--border-inner":e.border===`inner`,"fou-table--border-none":e.border===`none`||e.border===!1,"fou-table--stripe":e.stripe,"fou-table--round":e.round,"fou-table--fullscreen":(0,t.unref)(D),"fou-table--toolbar":(0,t.unref)(Mt),"fou-table--hover":(0,t.unref)(po)(e.rowConfig),"fou-table--fixed-height":e.height!=null||e.maxHeight!=null,"fou-table--scroll-x":(0,t.unref)(b),"fou-table--scroll-y":(0,t.unref)(ae)>0},e.size?`fou-table--${e.size}`:``]]),tabindex:`0`,style:(0,t.normalizeStyle)((0,t.unref)(Qt)),onKeydown:Jr},[(0,t.unref)(Mt)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ys,[(0,t.createElementVNode)(`div`,bs,[(0,t.renderSlot)(n.$slots,`toolbar-left`),(0,t.renderSlot)(n.$slots,`toolbar`),(0,t.unref)(Nt)===`left`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xs,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ir),e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.name},[e.show?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__toolbar-icon`,title:e.title,onClick:e.onClick},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],8,Ss)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(kt)?((0,t.openBlock)(),(0,t.createBlock)(wo,{key:0,class:`fou-table__toolbar-dropdown`},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(Oo,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(jo,{onClick:r[0]||=e=>zr(`vertical`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`纵向复制`)),1)]),_:1}),(0,t.createVNode)(jo,{onClick:r[1]||=e=>zr(`horizontal`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`横向复制`)),1)]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__toolbar-icon`,title:(0,t.unref)(Y)(`复制`)},[(0,t.createVNode)(i,{icon:`file-copy-line`})],8,Cs)]),_:1})):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Pt(`left`),e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.component),(0,t.mergeProps)({key:e.name},{ref_for:!0},e.props),null,16))),128))]),(0,t.createElementVNode)(`div`,ws,[(0,t.renderSlot)(n.$slots,`toolbar-center`),(0,t.unref)(Nt)===`center`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ts,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ir),e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.name},[e.show?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__toolbar-icon`,title:e.title,onClick:e.onClick},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],8,Es)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(kt)?((0,t.openBlock)(),(0,t.createBlock)(wo,{key:0,class:`fou-table__toolbar-dropdown`},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(Oo,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(jo,{onClick:r[2]||=e=>zr(`vertical`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`纵向复制`)),1)]),_:1}),(0,t.createVNode)(jo,{onClick:r[3]||=e=>zr(`horizontal`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`横向复制`)),1)]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__toolbar-icon`,title:(0,t.unref)(Y)(`复制`)},[(0,t.createVNode)(i,{icon:`file-copy-line`})],8,Ds)]),_:1})):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Pt(`center`),e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.component),(0,t.mergeProps)({key:e.name},{ref_for:!0},e.props),null,16))),128))]),(0,t.createElementVNode)(`div`,Os,[(0,t.renderSlot)(n.$slots,`toolbar-tools`),(0,t.renderSlot)(n.$slots,`toolbar-right`),(0,t.unref)(Nt)===`right`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ks,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ir),e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.name},[e.show?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__toolbar-icon`,title:e.title,onClick:e.onClick},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],8,As)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(kt)?((0,t.openBlock)(),(0,t.createBlock)(wo,{key:0,class:`fou-table__toolbar-dropdown`},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(Oo,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(jo,{onClick:r[4]||=e=>zr(`vertical`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`纵向复制`)),1)]),_:1}),(0,t.createVNode)(jo,{onClick:r[5]||=e=>zr(`horizontal`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`横向复制`)),1)]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__toolbar-icon`,title:(0,t.unref)(Y)(`复制`)},[(0,t.createVNode)(i,{icon:`file-copy-line`})],8,js)]),_:1})):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Pt(`right`),e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.component),(0,t.mergeProps)({key:e.name},{ref_for:!0},e.props),null,16))),128))])])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(M)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ms,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(yt),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:e._key,class:`fou-table__custom-item`},[(0,t.createElementVNode)(`input`,{type:`checkbox`,checked:(0,t.unref)(B)[e._key]!==!1,onChange:t=>Ft(e._key,t.target.checked)},null,40,Ns),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label||e._key),1)]))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(o,{modelValue:(0,t.unref)(N),"onUpdate:modelValue":r[12]||=e=>(0,t.isRef)(N)?N.value=e:null,title:(0,t.unref)(Y)(`导出数据`),width:`480px`,"align-center":``,"show-minimize":!1,"show-fullscreen":!1},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:r[11]||=e=>N.value=!1},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`取消`)),1)]),_:1}),(0,t.createVNode)(a,{type:`primary`,disabled:!(0,t.unref)(F).length,onClick:Ar},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`下载`)),1)]),_:1},8,[`disabled`])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Ps,[(0,t.createElementVNode)(`div`,Fs,[(0,t.createElementVNode)(`div`,Is,(0,t.toDisplayString)((0,t.unref)(Y)(`导出字段`)),1),(0,t.createElementVNode)(`div`,Ls,[(0,t.createElementVNode)(`label`,Rs,[(0,t.createElementVNode)(`input`,{type:`checkbox`,checked:(0,t.unref)(wr),".indeterminate":(0,t.unref)(Tr),onChange:r[6]||=e=>Dr(e.target.checked)},null,40,zs),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`全选`)),1)]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Cr),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:e._key,class:`fou-table__export-field`},[(0,t.createElementVNode)(`input`,{type:`checkbox`,checked:(0,t.unref)(F).includes(e._key),onChange:t=>Or(e._key,t.target.checked)},null,40,Bs),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label||(0,t.unref)(bo)(e)||e._key),1)]))),128))])]),(0,t.createElementVNode)(`div`,Vs,[(0,t.createElementVNode)(`div`,Hs,(0,t.toDisplayString)((0,t.unref)(Y)(`文件格式`)),1),(0,t.createElementVNode)(`div`,Us,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ee,e=>(0,t.createElementVNode)(`label`,{key:e.value,class:(0,t.normalizeClass)([`fou-table__export-format`,{"is-active":(0,t.unref)(P)===e.value}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[7]||=e=>(0,t.isRef)(P)?P.value=e:null,type:`radio`,value:e.value},null,8,Ws),[[t.vModelRadio,(0,t.unref)(P)]]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],2)),64))])]),(0,t.createElementVNode)(`div`,Gs,[(0,t.createElementVNode)(`div`,Ks,(0,t.toDisplayString)((0,t.unref)(Y)(`导出范围`)),1),(0,t.createElementVNode)(`div`,qs,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(z,e=>(0,t.createElementVNode)(`label`,{key:e.value,class:(0,t.normalizeClass)([`fou-table__export-mode`,{"is-active":(0,t.unref)(I)===e.value}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[8]||=e=>(0,t.isRef)(I)?I.value=e:null,type:`radio`,value:e.value},null,8,Js),[[t.vModelRadio,(0,t.unref)(I)]]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],2)),64))]),(0,t.unref)(I)===`range`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ys,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`页码`)),1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[9]||=e=>(0,t.isRef)(L)?L.value=e:null,type:`number`,min:1,max:(0,t.unref)(Dn),class:`fou-table__export-range-input`},null,8,Xs),[[t.vModelText,(0,t.unref)(L),void 0,{number:!0}]]),r[20]||=(0,t.createElementVNode)(`span`,null,`-`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[10]||=e=>(0,t.isRef)(R)?R.value=e:null,type:`number`,min:(0,t.unref)(L),max:(0,t.unref)(Dn),class:`fou-table__export-range-input`},null,8,Zs),[[t.vModelText,(0,t.unref)(R),void 0,{number:!0}]]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`(共`))+` `+(0,t.toDisplayString)((0,t.unref)(Dn))+` `+(0,t.toDisplayString)((0,t.unref)(Y)(`页)`)),1)])):(0,t.createCommentVNode)(``,!0)])])]),_:1},8,[`modelValue`,`title`]),(0,t.createElementVNode)(`input`,{ref_key:`importInputRef`,ref:V,type:`file`,accept:`.csv,.xls,.xlsx,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,class:`fou-table__import-input`,onChange:Nr},null,544),(0,t.createElementVNode)(`div`,{class:`fou-table__main`,style:(0,t.normalizeStyle)((0,t.unref)($t))},[e.loading?((0,t.openBlock)(),(0,t.createBlock)(Wa,{key:0,class:`fou-table__loading`,text:e.loadingText||`${(0,t.unref)(Y)(`加载中`)}...`,effect:e.loadingEffect,transparent:e.loadingTransparent},null,8,[`text`,`effect`,`transparent`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`headerWrapRef`,ref:u,class:`fou-table__header-wrap`},[(0,t.createElementVNode)(`table`,{class:`fou-table__inner fou-table__header-table`,style:(0,t.normalizeStyle)((0,t.unref)(Xt))},[(0,t.createElementVNode)(`colgroup`,null,[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Qs)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,$s)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,ec)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,tc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:4,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).left}px`})},null,4)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:`hcol-${e._key}`,style:(0,t.normalizeStyle)(nr(e))},null,4))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:5,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).right}px`})},null,4)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`thead`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(qt),(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:`hr-${a}`},[(0,t.unref)(Bt)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--expand fou-table__cell--fixed-left is-align-center`,Gt(`expand`)]),style:{left:`0px`},rowspan:(0,t.unref)(qt).length},null,10,nc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:1,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--radio fou-table__cell--fixed-left is-align-center`,Gt(`radio`)]),style:(0,t.normalizeStyle)({left:`${Ht(`radio`)}px`}),rowspan:(0,t.unref)(qt).length},null,14,rc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:2,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--selection fou-table__cell--fixed-left is-align-center`,Gt(`selection`)]),style:(0,t.normalizeStyle)({left:`${Ht(`selection`)}px`}),rowspan:(0,t.unref)(qt).length},[(0,t.createVNode)(Ri,{"model-value":(0,t.unref)(Kn),indeterminate:(0,t.unref)(qn),onChange:r[13]||=e=>Jn(!!e)},null,8,[`model-value`,`indeterminate`])],14,ic)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:3,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--index fou-table__cell--fixed-left is-align-center`,Gt(`index`)]),style:(0,t.normalizeStyle)({left:`${Ht(`index`)}px`}),rowspan:(0,t.unref)(qt).length},(0,t.toDisplayString)((0,t.unref)(Y)(`序号`)),15,ac)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:4,rowspan:(0,t.unref)(qt).length,class:`fou-table__cell fou-table__cell--header`},null,8,oc)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n,(n,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:`th-${a}-${o}-${n.column._key}`,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header`,[n.column.className,n.column.headerClassName,n.column.headerAlign?`is-align-${n.column.headerAlign}`:`is-align-${n.column.align||e.headerAlign||e.align||`left`}`,{"fou-table__cell--sortable":n.isLeaf&&!!n.column.sortable,"fou-table__cell--col-drag":n.isLeaf&&(0,t.unref)(It),...n.isLeaf?_r(n.column):{}}]]),colspan:n.colspan,rowspan:n.rowspan,style:(0,t.normalizeStyle)(hr(n)),"data-col-key":n.isLeaf?n.column._key:void 0,onClick:e=>n.isLeaf&&Yn(n.column,e)},[(0,t.createElementVNode)(`div`,cc,[n.isLeaf&&(0,t.unref)(He)()&&(0,t.unref)(Ne)(n.column)?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:`edit-line`,class:`fou-table__edit-icon`,title:`edit`})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,lc,(0,t.toDisplayString)(n.label),1),n.isLeaf&&n.column.sortable?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`fou-table__sort`,Zn(n.column)])},[r[21]||=(0,t.createElementVNode)(`i`,{class:`fou-table__caret fou-table__caret--up`},null,-1),r[22]||=(0,t.createElementVNode)(`i`,{class:`fou-table__caret fou-table__caret--down`},null,-1),Xn(n.column)?((0,t.openBlock)(),(0,t.createElementBlock)(`em`,uc,(0,t.toDisplayString)(Xn(n.column)),1)):(0,t.createCommentVNode)(``,!0)],2)):(0,t.createCommentVNode)(``,!0),n.isLeaf&&yn(n.column)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:(0,t.normalizeClass)([`fou-table__filter-btn`,{"is-active":xn(n.column)||(0,t.unref)(T)===n.column._key}]),onClick:(0,t.withModifiers)(e=>ar(n.column,e),[`stop`])},[...r[23]||=[(0,t.createElementVNode)(`svg`,{viewBox:`0 0 1024 1024`,width:`12`,height:`12`},[(0,t.createElementVNode)(`path`,{fill:`currentColor`,d:`M128 192h768l-288 352v256l-192 64V544L128 192z`})],-1)]],10,dc)):(0,t.createCommentVNode)(``,!0),n.isLeaf&&tr(n.column)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:3,class:`fou-table__resizer`,onMousedown:e=>ir(n.column,e)},null,40,fc)):(0,t.createCommentVNode)(``,!0)])],14,sc))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:5,rowspan:(0,t.unref)(qt).length,class:`fou-table__cell fou-table__cell--header`},null,8,pc)):(0,t.createCommentVNode)(``,!0)]))),128))])],4)],512),(0,t.createElementVNode)(`div`,{ref_key:`bodyWrapRef`,ref:d,class:`fou-table__body-wrap`,onScroll:Fn,onContextmenu:(0,t.withModifiers)(Vr,[`prevent`])},[(0,t.createElementVNode)(`table`,{ref_key:`tableRef`,ref:c,class:`fou-table__inner fou-table__body-table`,style:(0,t.normalizeStyle)((0,t.unref)(Xt))},[(0,t.createElementVNode)(`colgroup`,null,[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,mc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,hc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,gc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,_c)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:4,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).left}px`})},null,4)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:`bcol-${e._key}`,style:(0,t.normalizeStyle)(nr(e))},null,4))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:5,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).right}px`})},null,4)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`tbody`,{ref_key:`tbodyRef`,ref:l,class:`fou-table__body`},[(0,t.unref)(An)&&(0,t.unref)(jn).padTop>0?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,vc,[(0,t.createElementVNode)(`td`,{colspan:(0,t.unref)(on)},[(0,t.createElementVNode)(`div`,{class:`fou-table__virtual-pad-space`,style:(0,t.normalizeStyle)({height:`${(0,t.unref)(jn).padTop}px`})},null,4)],8,yc)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Pn),a=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:q(a.flat.row)||a.flat.flatIndex},[(0,t.createElementVNode)(`tr`,{class:(0,t.normalizeClass)([`fou-table__row`,[{"fou-table__row--striped":e.stripe&&a.flat.flatIndex%2==1,"is-selected":Wn(a.flat.row),"is-current":(0,t.unref)(j)===q(a.flat.row),"is-radio-checked":(0,t.unref)(ve)(a.flat.row),"is-dirty":(0,t.unref)(Se)&&(0,t.unref)(we)(a.flat.row)},ei(a.flat.row,a.rowIndex)]]),"data-row-key":q(a.flat.row),onClick:e=>Qn(a.flat.row)},[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--expand fou-table__cell--fixed-left is-align-center`,Gt(`expand`)]),style:{left:`0px`},onClick:(0,t.withModifiers)(e=>_e(a.flat.row),[`stop`])},[(0,t.createElementVNode)(`div`,Sc,[(0,t.createElementVNode)(`button`,Cc,[(0,t.createVNode)(i,{icon:(0,t.unref)(pe)(a.flat.row)?`arrow-down-s-fill`:`arrow-right-s-fill`},null,8,[`icon`])])])],10,xc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:1,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--radio fou-table__cell--fixed-left is-align-center`,Gt(`radio`)]),style:(0,t.normalizeStyle)({left:`${Ht(`radio`)}px`}),onClick:(0,t.withModifiers)(e=>Oe(a.flat.row),[`stop`])},[(0,t.createElementVNode)(`div`,Tc,[(0,t.createElementVNode)(`input`,{type:`radio`,class:`fou-table__radio`,checked:(0,t.unref)(ve)(a.flat.row),name:S,onChange:e=>Oe(a.flat.row)},null,40,Ec)])],14,wc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:2,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--selection fou-table__cell--fixed-left is-align-center`,Gt(`selection`)]),style:(0,t.normalizeStyle)({left:`${Ht(`selection`)}px`}),onClick:r[14]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,Dc,[(0,t.createVNode)(Ri,{"model-value":Wn(a.flat.row),onChange:e=>Gn(a.flat.row,!!e)},null,8,[`model-value`,`onChange`])])],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:3,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--index fou-table__cell--fixed-left is-align-center`,Gt(`index`)]),style:(0,t.normalizeStyle)({left:`${Ht(`index`)}px`})},[(0,t.createElementVNode)(`div`,Oc,(0,t.toDisplayString)(a.flat.flatIndex+1),1)],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,kc)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),(r,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:`td-${r._key}-${q(a.flat.row)}`},[er(a.flat,a.rowIndex,r,an(r)).visible?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell`,[r.className,ti(a.flat.row,r,a.rowIndex,an(r)),`is-align-${r.align||e.align||`left`}`,{"fou-table__cell--ellipsis":ct(r),"is-editing":(0,t.unref)(Fe)(a.flat.row,r),"is-input-fill":(0,t.unref)(Ie)(a.flat.row,r),"is-editable":(0,t.unref)(Ne)(r),"is-valid-error":!!dt(a.flat.row,r),"is-active-cell":(0,t.unref)($e)(a.flat.row,r),"is-area-cell":(0,t.unref)(Qe)(a.flat.row,r),..._r(r)}]]),style:(0,t.normalizeStyle)(gr(r)),title:dt(a.flat.row,r)||void 0,rowspan:er(a.flat,a.rowIndex,r,an(r)).rowspan,colspan:er(a.flat,a.rowIndex,r,an(r)).colspan,onClick:e=>Hn(a.flat.row,r,e),onDblclick:e=>Un(a.flat.row,r)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-table__cell-inner`,{"fou-table__cell-inner--input-fill":(0,t.unref)(Ie)(a.flat.row,r)}])},[r.dragSort?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,jc,[(0,t.createVNode)(i,{icon:`drag-move-2-line`})])):e.tree&&r.treeNode?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:`fou-table__tree-cell`,style:(0,t.normalizeStyle)({paddingLeft:`${a.flat.level*18}px`})},[a.flat.hasChildren?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__tree-toggle`,onClick:(0,t.withModifiers)(e=>hn(a.flat.row),[`stop`])},[(0,t.createVNode)(i,{icon:a.flat.expanded?`arrow-down-s-fill`:`arrow-right-s-fill`},null,8,[`icon`])],8,Mc)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Nc)),(0,t.createVNode)((0,t.unref)($r),{row:a.flat.row,col:r,index:a.flat.flatIndex},null,8,[`row`,`col`,`index`])],4)):r.slot&&n.$slots[r.slot]?(0,t.renderSlot)(n.$slots,r.slot,(0,t.mergeProps)({ref_for:!0},Rn(a.flat.row,r,a.flat.flatIndex,a.flat.level)),void 0,void 0,2):r._defaultSlot?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(r._defaultSlot),(0,t.mergeProps)({key:3,ref_for:!0},Rn(a.flat.row,r,a.flat.flatIndex,a.flat.level)),null,16)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:4,class:(0,t.normalizeClass)([`fou-table__editor-host`,{"fou-table__editor-host--input-fill":(0,t.unref)(Ie)(a.flat.row,r)}])},[(0,t.createVNode)((0,t.unref)($r),{row:a.flat.row,col:r,index:a.flat.flatIndex},null,8,[`row`,`col`,`index`])],2))],2)],46,Ac)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,Pc)):(0,t.createCommentVNode)(``,!0)],10,bc),(0,t.unref)(Bt)&&(0,t.unref)(pe)(a.flat.row)?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,Fc,[(0,t.createElementVNode)(`td`,{colspan:(0,t.unref)(on),class:`fou-table__cell fou-table__cell--expand-content`},[(0,t.createElementVNode)(`div`,Lc,[(0,t.renderSlot)(n.$slots,`expand`,{row:a.flat.row,$index:a.flat.flatIndex},()=>[(0,t.createElementVNode)(`pre`,Rc,(0,t.toDisplayString)(JSON.stringify(a.flat.row,null,2)),1)])])],8,Ic)])):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(An)&&(0,t.unref)(jn).padBottom>0?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,zc,[(0,t.createElementVNode)(`td`,{colspan:(0,t.unref)(on)},[(0,t.createElementVNode)(`div`,{class:`fou-table__virtual-pad-space`,style:(0,t.normalizeStyle)({height:`${(0,t.unref)(jn).padBottom}px`})},null,4)],8,Bc)])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(On).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,Vc,[(0,t.createElementVNode)(`td`,{class:`fou-table__cell fou-table__cell--empty`,colspan:(0,t.unref)(on)},[(0,t.renderSlot)(n.$slots,`empty`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.emptyText||(0,t.unref)(Y)(`暂无数据`)),1)])],8,Hc)]))],512)],4)],544),e.showFooter&&(0,t.unref)(Ln).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`footerWrapRef`,ref:f,class:`fou-table__footer-wrap`},[(0,t.createElementVNode)(`table`,{class:`fou-table__inner fou-table__footer-table`,style:(0,t.normalizeStyle)((0,t.unref)(Xt))},[(0,t.createElementVNode)(`colgroup`,null,[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Uc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Wc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Gc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Kc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:4,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).left}px`})},null,4)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:`fcol-${e._key}`,style:(0,t.normalizeStyle)(nr(e))},null,4))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:5,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).right}px`})},null,4)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`tbody`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ln),(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:`fr-${i}`,class:`fou-table__row`},[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--fixed-left is-align-center`,Gt(`expand`)]),style:{left:`0px`}},[...r[24]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],2)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:1,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--fixed-left is-align-center`,Gt(`radio`)]),style:(0,t.normalizeStyle)({left:`${Ht(`radio`)}px`})},[...r[25]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:2,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--selection fou-table__cell--fixed-left is-align-center`,Gt(`selection`)]),style:(0,t.normalizeStyle)({left:`${Ht(`selection`)}px`})},[...r[26]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:3,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--index fou-table__cell--fixed-left is-align-center`,Gt(`index`)]),style:(0,t.normalizeStyle)({left:`${Ht(`index`)}px`})},[...r[27]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:`fd-${i}-${r}`,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer`,[`is-align-${(0,t.unref)(X)[r]?.footerAlign||(0,t.unref)(X)[r]?.align||e.footerAlign||e.align||`left`}`,(0,t.unref)(X)[r]?.footerClassName,_r((0,t.unref)(X)[r])]]),style:(0,t.normalizeStyle)(gr((0,t.unref)(X)[r]))},[(0,t.createElementVNode)(`div`,qc,(0,t.toDisplayString)(n),1)],6))),128))]))),128))])],4)],512)):(0,t.createCommentVNode)(``,!0)],4),(0,t.unref)(sn)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jc,[(0,t.createVNode)(or,{"current-page":(0,t.unref)(O),"onUpdate:currentPage":r[15]||=e=>(0,t.isRef)(O)?O.value=e:null,"page-size":(0,t.unref)(A),"onUpdate:pageSize":r[16]||=e=>(0,t.isRef)(A)?A.value=e:null,total:(0,t.unref)(En),"page-sizes":(0,t.unref)(cn)?.pageSizes||[10,20,50,100],background:(0,t.unref)(cn)?.background!==!1,small:(0,t.unref)(cn)?.small,layout:`total, sizes, prev, pager, next, jumper`,onCurrentChange:yr,onSizeChange:br},null,8,[`current-page`,`page-size`,`total`,`page-sizes`,`background`,`small`])])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(T)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-table__filter-mask`,onMousedown:sr},null,32)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(T)&&(0,t.unref)(E)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-table__filter-panel`,style:(0,t.normalizeStyle)({left:`${(0,t.unref)(E).left}px`,top:`${(0,t.unref)(E).top}px`}),onMousedown:r[18]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,Yc,[(0,t.createElementVNode)(`span`,Xc,(0,t.toDisplayString)((0,t.unref)(Y)(`筛选`)),1),(0,t.unref)(Sn).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zc,[(0,t.createVNode)(Ri,{"model-value":(0,t.unref)(ur),indeterminate:(0,t.unref)(dr),onChange:r[17]||=e=>fr(!!e)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`全选`)),1)]),_:1},8,[`model-value`,`indeterminate`])])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Qc,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Sn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(e.value),class:`fou-table__filter-item`},[(0,t.createVNode)(Ri,{"model-value":cr((0,t.unref)(T),e.value),onChange:n=>lr((0,t.unref)(T),e.value,!!n)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)]),_:2},1032,[`model-value`,`onChange`])]))),128)),(0,t.unref)(Sn).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$c,(0,t.toDisplayString)((0,t.unref)(Y)(`无筛选项`)),1))]),(0,t.createElementVNode)(`div`,el,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__filter-action is-plain`,onClick:mr},(0,t.toDisplayString)((0,t.unref)(Y)(`重置`)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__filter-action`,onClick:pr},(0,t.toDisplayString)((0,t.unref)(Y)(`确定`)),1)])],36)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(te).visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:`fou-table__filter-mask`,onMousedown:Br},null,32)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(te).visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,class:`fou-table__ctx-menu`,style:(0,t.normalizeStyle)({left:`${(0,t.unref)(te).x}px`,top:`${(0,t.unref)(te).y}px`}),onMousedown:r[19]||=(0,t.withModifiers)(()=>{},[`stop`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(te).options,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n},[n>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tl)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.code,type:`button`,class:`fou-table__ctx-item`,disabled:e.disabled,onClick:t=>Hr(e)},(0,t.toDisplayString)(e.name),9,nl))),128))],64))),128))],36)):(0,t.createCommentVNode)(``,!0)])),(0,t.renderSlot)(n.$slots,`default`)],38)}}}),il=v({default:()=>al}),al=rl,ol=(0,t.defineComponent)({name:`FouTableColumn`,__name:`index`,props:{label:{},title:{},prop:{},width:{},minWidth:{},maxWidth:{},fixed:{type:[Boolean,String]},sortable:{type:[Boolean,String]},filterable:{type:Boolean},children:{},aggFunc:{},align:{default:`left`},headerAlign:{},showOverflowTooltip:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},className:{},headerClassName:{},labelClassName:{},type:{},index:{},columnKey:{},filters:{},filterMethod:{},filteredValue:{},filterPlacement:{},filterMultiple:{type:Boolean},treeNode:{type:Boolean},dragSort:{type:Boolean},editor:{},editorProps:{},options:{},editable:{type:Boolean},formatter:{}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(go,null),a=Symbol(`fouTableColumn`),o=()=>({id:a,props:{...n},slots:{default:r.default,header:r.header}});return i&&((0,t.onMounted)(()=>{i.register(o())}),(0,t.watch)(()=>({...n}),()=>{i.update(o())},{deep:!0}),(0,t.onBeforeUnmount)(()=>{i.unregister(a)})),(e,t)=>null}}),sl=v({default:()=>cl}),cl=ol,ll={class:`fou-tag__content`},ul=(0,t.defineComponent)({name:`FouTag`,__name:`index`,props:{type:{default:`primary`},effect:{default:`light`},size:{default:`default`},closable:{type:Boolean,default:!1}},emits:[`close`],setup(e,{emit:n}){let r=n,i=e=>{e.stopPropagation(),r(`close`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-tag`,[`fou-tag--${e.type}`,`fou-tag--${e.effect}`,`fou-tag--${e.size}`,{"is-closable":e.closable}]])},[(0,t.createElementVNode)(`span`,ll,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tag__close`,"aria-label":`close`,onClick:i},` × `)):(0,t.createCommentVNode)(``,!0)],2))}}),dl=v({default:()=>fl}),fl=S(ul,[[`__scopeId`,`data-v-804a6421`]]),pl=[`value`,`placeholder`,`readonly`,`disabled`],ml={class:`fou-date__separator`},hl=[`value`,`placeholder`,`readonly`,`disabled`],gl=[`value`,`placeholder`,`readonly`,`disabled`],_l={class:`fou-date-panel__side`},vl={class:`fou-date-panel__header`},yl={class:`fou-date-panel__title`},bl={class:`fou-date-panel__weeks`},xl={class:`fou-date-panel__grid fou-date-panel__grid--day`},Sl=[`disabled`,`onClick`],Cl={class:`fou-date__solar`},wl={key:1,class:`fou-date-panel__grid fou-date-panel__grid--month`},Tl=[`disabled`,`onClick`],El={class:`fou-date__solar`},Dl={key:2,class:`fou-date-panel__grid fou-date-panel__grid--year`},Ol=[`disabled`,`onClick`],kl={class:`fou-date__solar`},Al={key:0,class:`fou-date-panel__side`},jl={class:`fou-date-panel__header`},Ml={class:`fou-date-panel__title`},Nl={class:`fou-date-panel__weeks`},Pl={class:`fou-date-panel__grid fou-date-panel__grid--day`},Fl=[`disabled`,`onClick`],Il={class:`fou-date__solar`},Ll={key:1,class:`fou-date-panel__grid fou-date-panel__grid--month`},Rl=[`disabled`,`onClick`],zl={class:`fou-date__solar`},Bl={key:2,class:`fou-date-panel__grid fou-date-panel__grid--year`},Vl=[`disabled`,`onClick`],Hl={class:`fou-date__solar`},Ul={key:0,class:`fou-date-panel__time`},Wl=[`value`],Gl=[`value`],Kl=[`value`],ql={key:1,class:`fou-date-panel__footer`},Jl=[`disabled`],Yl=(0,t.defineComponent)({name:`FouDate`,__name:`index`,props:{modelValue:{},showLunar:{type:Boolean,default:!0},type:{default:`date`},placeholder:{},startPlaceholder:{},endPlaceholder:{},format:{},valueFormat:{},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},size:{},editable:{type:Boolean,default:!0},readonly:{type:Boolean},rangeSeparator:{default:`至`},disabledDate:{},shortcuts:{},teleported:{type:Boolean},popperClass:{}},emits:[`update:modelValue`,`change`,`calendar-change`,`visible-change`,`panel-change`],setup(e,{emit:n}){let r=e,i=n,o=di(()=>r.disabled),{triggerBlur:s,triggerChange:c}=fi(),l=(0,t.computed)(()=>r.type===`datetime`||r.type===`datetimerange`),u=(0,t.ref)(null),d=(0,t.ref)(null),f=(0,t.ref)(!1),p=(0,t.ref)({}),m=(0,t.ref)(new Date().getFullYear()),h=(0,t.ref)(new Date().getMonth()),g=(0,t.ref)(new Date().getFullYear()),_=(0,t.ref)(new Date().getMonth()),v=(0,t.ref)(Math.floor(new Date().getFullYear()/10)*10),y=(0,t.ref)(Math.floor(new Date().getFullYear()/10)*10+10),b=(0,t.ref)(null),x=(0,t.ref)(null),S=[`日`,`一`,`二`,`三`,`四`,`五`,`六`],C=[`一月`,`二月`,`三月`,`四月`,`五月`,`六月`,`七月`,`八月`,`九月`,`十月`,`十一月`,`十二月`],w=(0,t.computed)(()=>{let e=r.type||`date`;return e===`year`||e===`yearrange`?`year`:e===`month`||e===`monthrange`?`month`:`date`}),T=(0,t.computed)(()=>[`daterange`,`datetimerange`,`monthrange`,`yearrange`].includes(r.type||``)),E=e=>{switch(e){case`datetime`:case`datetimerange`:return{format:`YYYY-MM-DD HH:mm:ss`,valueFormat:`YYYY-MM-DD HH:mm:ss`};case`month`:case`monthrange`:return{format:`YYYY-MM`,valueFormat:`YYYY-MM`};case`year`:case`yearrange`:return{format:`YYYY`,valueFormat:`YYYY`};default:return{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`}}},D=(0,t.computed)(()=>r.valueFormat||E(r.type||`date`).valueFormat),O=(0,t.computed)(()=>r.format||E(r.type||`date`).format),A=(0,t.computed)(()=>w.value===`year`?`开始年份`:w.value===`month`?`开始月份`:`开始日期`),j=(0,t.computed)(()=>w.value===`year`?`结束年份`:w.value===`month`?`结束月份`:`结束日期`),M=(0,t.computed)(()=>w.value===`year`?`选择年份`:w.value===`month`?`选择月份`:`选择日期`),N=e=>String(e).padStart(2,`0`),P=(e,t)=>e?t.replace(/YYYY/g,String(e.getFullYear())).replace(/MM/g,N(e.getMonth()+1)).replace(/DD/g,N(e.getDate())).replace(/HH/g,N(e.getHours())).replace(/mm/g,N(e.getMinutes())).replace(/ss/g,N(e.getSeconds())):``,F=e=>{if(!e&&e!==0)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;let t=String(e).trim();if(!t)return null;let n=t.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?/);return n?new Date(Number(n[1]),Number(n[2])-1,Number(n[3]),Number(n[4]),Number(n[5]),Number(n[6]||0)):(n=t.match(/^(\d{4})-(\d{2})-(\d{2})/),n?new Date(Number(n[1]),Number(n[2])-1,Number(n[3])):(n=t.match(/^(\d{4})-(\d{2})$/),n?new Date(Number(n[1]),Number(n[2])-1,1):(n=t.match(/^(\d{4})$/),n?new Date(Number(n[1]),0,1):null)))},I=e=>Array.isArray(e)?[F(e[0]),F(e[1])]:[null,null],L=e=>P(e,D.value),R=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),ee=e=>new Date(e.getFullYear(),e.getMonth(),1),z=e=>new Date(e.getFullYear(),0,1),B=e=>w.value===`year`?z(e):w.value===`month`?ee(e):l.value?new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds()):R(e),V=e=>B(e).getTime(),H=(e,t)=>!!e&&!!t&&V(e)===V(t),te=(e,t)=>{let n=new Date(e.getFullYear(),e.getMonth()+t,1);if(w.value===`date`){let t=e.getDate(),r=new Date(n.getFullYear(),n.getMonth()+1,0).getDate();n.setDate(Math.min(t,r))}return B(n)},ne=(e,t)=>{let n=new Date(e);return n.setFullYear(e.getFullYear()+t),B(n)},re=e=>w.value===`year`?ne(e,1):te(e,1),ie=(0,t.computed)(()=>T.value?null:F(r.modelValue)),ae=(0,t.computed)(()=>T.value?I(r.modelValue):[null,null]),oe=(0,t.computed)(()=>f.value&&T.value?b.value:ae.value[0]),U=(0,t.computed)(()=>f.value&&T.value?x.value:ae.value[1]),se=(0,t.computed)(()=>P(ie.value,O.value)),ce=(0,t.computed)(()=>P(f.value?b.value:ae.value[0],O.value)),le=(0,t.computed)(()=>P(f.value?x.value:ae.value[1],O.value)),W=(0,t.computed)(()=>T.value?!!(ae.value[0]||ae.value[1]):!!ie.value),ue=(0,t.computed)(()=>T.value?!!(b.value&&x.value):!!ie.value||!!b.value),K=(0,t.computed)(()=>b.value||x.value||ie.value||new Date),de=(0,t.computed)(()=>K.value.getHours()),fe=(0,t.computed)(()=>K.value.getMinutes()),q=(0,t.computed)(()=>K.value.getSeconds()),pe=(e,t,n)=>{let r=new Date(e);return t===`h`&&r.setHours(Math.min(23,Math.max(0,n))),t===`m`&&r.setMinutes(Math.min(59,Math.max(0,n))),t===`s`&&r.setSeconds(Math.min(59,Math.max(0,n))),r},me=(e,t)=>{let n=Number(t.target.value);if(Number.isNaN(n))return;if(T.value){b.value&&=pe(b.value,e,n),x.value&&=pe(x.value,e,n);return}let r=ie.value||b.value||new Date,i=pe(r,e,n);b.value=i,Ve(L(i))},he=(0,t.computed)(()=>w.value===`year`?`${v.value}年 - ${v.value+9}年`:w.value===`month`?`${m.value}年`:`${m.value}年 ${h.value+1}月`),ge=(0,t.computed)(()=>w.value===`year`?`${y.value}年 - ${y.value+9}年`:w.value===`month`?`${g.value}年`:`${g.value}年 ${_.value+1}月`),_e=new Map,ve=e=>{try{let t=`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`;if(_e.has(t))return _e.get(t);let n=a.Solar.fromYmd(e.getFullYear(),e.getMonth()+1,e.getDate()),r=n.getLunar(),i=[...r.getFestivals(),...n.getFestivals()],o=r.getJieQi(),s=r.getDayInChinese(),c=``;i.length?(c=i[0],s=c):o?(c=o,s=o):r.getDay()===1&&(s=r.getMonthInChinese()+`月`);let l={label:s,festival:c||void 0};return _e.set(t,l),l}catch{return{label:``}}},ye=e=>{let t=new Date;return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()},be=(e,t,n)=>{if(!t||!n)return!1;let r=V(e),i=V(t),a=V(n);return r>=Math.min(i,a)&&r<=Math.max(i,a)},xe=e=>{let t=T.value?oe.value:null,n=T.value?U.value:null;return T.value?H(e,t)&&H(e,n)?`start-date end-date`:H(e,t)?`start-date`:H(e,n)?`end-date`:be(e,t,n)?`in-range`:``:``},Se=(e,t)=>{let n=new Date(e,t,1).getDay(),i=new Date(e,t+1,0).getDate(),a=[],o=(e,t)=>{let n=r.disabledDate?.(e)??!1,i=T.value?H(e,oe.value)||H(e,U.value):H(e,ie.value);a.push({key:`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`,date:B(e),day:e.getDate(),label:String(e.getDate()),inMonth:t,disabled:n,selected:i,rangeState:xe(e),isToday:ye(e),lunar:ve(e)})};for(let r=0;r<n;r++)o(new Date(e,t,-n+r+1),!1);for(let n=1;n<=i;n++)o(new Date(e,t,n),!0);for(;a.length%7!=0;){let e=a[a.length-1].date;o(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1),!1)}return a},Ce=e=>C.map((t,n)=>{let i=new Date(e,n,1),a=r.disabledDate?.(i)??!1,o=T.value?H(i,oe.value)||H(i,U.value):H(i,ie.value);return{key:`${e}-${n}`,date:B(i),label:t,day:n+1,inMonth:!0,disabled:a,selected:o,rangeState:xe(i),isToday:!1,lunar:{label:``}}}),we=e=>Array.from({length:10},(t,n)=>{let i=e+n,a=new Date(i,0,1),o=r.disabledDate?.(a)??!1,s=T.value?H(a,oe.value)||H(a,U.value):H(a,ie.value);return{key:`y-${i}`,date:B(a),label:String(i),day:i,inMonth:!0,disabled:o,selected:s,rangeState:xe(a),isToday:!1,lunar:{label:``}}}),Te=(0,t.computed)(()=>Se(m.value,h.value)),Ee=(0,t.computed)(()=>Se(g.value,_.value)),De=(0,t.computed)(()=>Ce(m.value)),Oe=(0,t.computed)(()=>Ce(g.value)),ke=(0,t.computed)(()=>we(v.value)),Ae=(0,t.computed)(()=>we(y.value)),je=e=>{let t=String(e.rangeState||``);return{"is-other-month":!e.inMonth,"is-disabled":e.disabled,"is-selected":e.selected,"is-today":e.isToday,"in-range":t.includes(`in-range`),"start-date":t.includes(`start-date`),"end-date":t.includes(`end-date`)}},Me=()=>{if(w.value===`date`){let e=m.value,t=h.value+1;t>11&&(t=0,e+=1),g.value=e,_.value=t}else w.value===`month`?g.value=m.value+1:y.value=v.value+10},Ne=e=>{m.value=e.getFullYear(),h.value=e.getMonth(),v.value=Math.floor(e.getFullYear()/10)*10},Pe=e=>{g.value=e.getFullYear(),_.value=e.getMonth(),y.value=Math.floor(e.getFullYear()/10)*10},Fe=()=>{let e=u.value,t=d.value;if(!e)return;let n=e.getBoundingClientRect(),r=t?.offsetWidth||(T.value?640:322),i=t?.offsetHeight||360,a=n.bottom+4,o=n.left;o+r>window.innerWidth-8&&(o=Math.max(8,window.innerWidth-r-8)),a+i>window.innerHeight-8&&(a=Math.max(8,n.top-i-4)),p.value={position:`fixed`,top:`${Math.max(8,a)}px`,left:`${Math.max(8,o)}px`,zIndex:String(G(2e3))}},Ie=async()=>{if(!o.value){if(Fe(),f.value=!0,i(`visible-change`,!0),T.value){let[e,t]=ae.value;b.value=e?B(e):null,x.value=t?B(t):null;let n=b.value||new Date,r=x.value||re(B(n));if(Ne(n),Pe(r),w.value===`date`){let e=m.value*12+h.value;g.value*12+_.value<=e&&Me()}else w.value===`month`?g.value<=m.value&&(g.value=m.value+1):y.value<=v.value&&(y.value=v.value+10)}else{let e=ie.value||new Date;Ne(e)}await(0,t.nextTick)(),requestAnimationFrame(()=>{Fe(),requestAnimationFrame(()=>Fe())}),i(`panel-change`,[m.value,h.value])}},Le=()=>{f.value&&(f.value=!1,b.value=null,x.value=null,i(`visible-change`,!1),s())},Re=()=>{f.value?Le():Ie()},ze=e=>{if(w.value===`date`){let t=h.value+e,n=m.value;t<0?(t=11,--n):t>11&&(t=0,n+=1),m.value=n,h.value=t}else w.value===`month`?m.value+=e:v.value+=e*10;i(`panel-change`,[m.value,h.value])},Be=e=>{if(w.value===`date`){let t=_.value+e,n=g.value;t<0?(t=11,--n):t>11&&(t=0,n+=1),g.value=n,_.value=t}else w.value===`month`?g.value+=e:y.value+=e*10;i(`panel-change`,[g.value,_.value])},Ve=e=>{i(`update:modelValue`,e),i(`change`,e),i(`calendar-change`,e),c()},He=e=>{if(!l.value)return e;let t=(T.value?b.value:ie.value)||new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds())},Ue=(e,t)=>{if(t.disabled)return;let n=He(B(t.date));if(!T.value){if(l.value){b.value=n,Ve(L(n));return}Ve(L(n)),Le();return}let r=!!(b.value&&x.value);if(!b.value||r){b.value=n,x.value=null;return}V(n)<V(b.value)?(x.value=b.value,b.value=n):x.value=n},We=()=>{if(T.value){if(!b.value||!x.value)return;let e=b.value,t=x.value;V(e)>V(t)&&(t=re(e)),Ve([L(e),L(t)]),Le();return}let e=b.value||ie.value;e&&(Ve(L(e)),Le())},Ge=()=>{b.value=null,x.value=null,Le()},Ke=(0,t.computed)(()=>o.value||!!r.readonly||!r.editable||T.value),qe=e=>{if(Ke.value)return;let t=e.target.value,n=F(t);n?Ve(L(n)):String(t??``).trim()||Ve(null)},Je=()=>{Ve(T.value?[]:null)},Ye=e=>{if(!f.value)return;let t=e.target;u.value?.contains(t)||d.value?.contains(t)||Le()};return(0,t.watch)(f,e=>{e?(document.addEventListener(`click`,Ye,!0),window.addEventListener(`scroll`,Fe,!0),window.addEventListener(`resize`,Fe)):(document.removeEventListener(`click`,Ye,!0),window.removeEventListener(`scroll`,Fe,!0),window.removeEventListener(`resize`,Fe))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`click`,Ye,!0),window.removeEventListener(`scroll`,Fe,!0),window.removeEventListener(`resize`,Fe)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:u,class:(0,t.normalizeClass)([`fou-date`,[`fou-date--${e.type}`,{"is-disabled":(0,t.unref)(o),"is-focused":(0,t.unref)(f)}]])},[(0,t.createElementVNode)(`div`,{class:`fou-date__editor`,onClick:Re},[(0,t.unref)(T)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`input`,{class:`fou-date__input`,value:(0,t.unref)(ce),placeholder:e.startPlaceholder||(0,t.unref)(A),readonly:(0,t.unref)(Ke),disabled:(0,t.unref)(o)},null,8,pl),(0,t.createElementVNode)(`span`,ml,(0,t.toDisplayString)(e.rangeSeparator),1),(0,t.createElementVNode)(`input`,{class:`fou-date__input`,value:(0,t.unref)(le),placeholder:e.endPlaceholder||(0,t.unref)(j),readonly:(0,t.unref)(Ke),disabled:(0,t.unref)(o)},null,8,hl)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,class:`fou-date__input fou-date__input--single`,value:(0,t.unref)(se),placeholder:e.placeholder||(0,t.unref)(M),readonly:(0,t.unref)(Ke),disabled:(0,t.unref)(o),onBlur:qe},null,40,gl)),e.clearable&&(0,t.unref)(W)&&!(0,t.unref)(o)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-date__clear`,onClick:(0,t.withModifiers)(Je,[`stop`])},` × `)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,{icon:`calendar-line`,class:`fou-date__icon`})]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-date-fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(f)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`panelRef`,ref:d,class:(0,t.normalizeClass)([`fou-date-panel`,[e.popperClass,{"fou-date-panel--lunar":e.showLunar&&(0,t.unref)(w)===`date`,"fou-date-panel--range":(0,t.unref)(T),[`fou-date-panel--${(0,t.unref)(w)}`]:!0}]]),style:(0,t.normalizeStyle)((0,t.unref)(p)),onMousedown:r[7]||=(0,t.withModifiers)(()=>{},[`prevent`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date-panel__body`,{"is-range":(0,t.unref)(T)}])},[(0,t.createElementVNode)(`div`,_l,[(0,t.createElementVNode)(`div`,vl,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[0]||=e=>ze(-1)},`‹`),(0,t.createElementVNode)(`span`,yl,(0,t.toDisplayString)((0,t.unref)(he)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[1]||=e=>ze(1)},`›`)]),(0,t.unref)(w)===`date`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,bl,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(S,e=>(0,t.createElementVNode)(`span`,{key:e,class:`fou-date-panel__week`},(0,t.toDisplayString)(e),1)),64))]),(0,t.createElementVNode)(`div`,xl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Te),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`l-${n.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell`,je(n)]),disabled:n.disabled,onClick:e=>Ue(`start`,n)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":n.selected,"is-today":n.isToday}])},[(0,t.createElementVNode)(`span`,Cl,(0,t.toDisplayString)(n.day),1),e.showLunar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`fou-date__lunar`,{"is-festival":n.lunar.festival}])},(0,t.toDisplayString)(n.lunar.label),3)):(0,t.createCommentVNode)(``,!0)],2)],10,Sl))),128))])],64)):(0,t.unref)(w)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(De),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`lm-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--month`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`start`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,El,(0,t.toDisplayString)(e.label),1)],2)],10,Tl))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(ke),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`ly-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--year`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`start`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,kl,(0,t.toDisplayString)(e.label),1)],2)],10,Ol))),128))]))]),(0,t.unref)(T)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Al,[(0,t.createElementVNode)(`div`,jl,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[2]||=e=>Be(-1)},`‹`),(0,t.createElementVNode)(`span`,Ml,(0,t.toDisplayString)((0,t.unref)(ge)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[3]||=e=>Be(1)},`›`)]),(0,t.unref)(w)===`date`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,Nl,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(S,e=>(0,t.createElementVNode)(`span`,{key:`r-${e}`,class:`fou-date-panel__week`},(0,t.toDisplayString)(e),1)),64))]),(0,t.createElementVNode)(`div`,Pl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ee),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`r-${n.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell`,je(n)]),disabled:n.disabled,onClick:e=>Ue(`end`,n)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":n.selected,"is-today":n.isToday}])},[(0,t.createElementVNode)(`span`,Il,(0,t.toDisplayString)(n.day),1),e.showLunar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`fou-date__lunar`,{"is-festival":n.lunar.festival}])},(0,t.toDisplayString)(n.lunar.label),3)):(0,t.createCommentVNode)(``,!0)],2)],10,Fl))),128))])],64)):(0,t.unref)(w)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ll,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Oe),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`rm-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--month`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`end`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,zl,(0,t.toDisplayString)(e.label),1)],2)],10,Rl))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ae),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`ry-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--year`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`end`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,Hl,(0,t.toDisplayString)(e.label),1)],2)],10,Vl))),128))]))])):(0,t.createCommentVNode)(``,!0)],2),(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ul,[(0,t.createElementVNode)(`label`,null,[r[8]||=(0,t.createTextVNode)(` 时 `,-1),(0,t.createElementVNode)(`input`,{class:`fou-date-panel__time-input`,type:`number`,min:`0`,max:`23`,value:(0,t.unref)(de),onChange:r[4]||=e=>me(`h`,e)},null,40,Wl)]),(0,t.createElementVNode)(`label`,null,[r[9]||=(0,t.createTextVNode)(` 分 `,-1),(0,t.createElementVNode)(`input`,{class:`fou-date-panel__time-input`,type:`number`,min:`0`,max:`59`,value:(0,t.unref)(fe),onChange:r[5]||=e=>me(`m`,e)},null,40,Gl)]),(0,t.createElementVNode)(`label`,null,[r[10]||=(0,t.createTextVNode)(` 秒 `,-1),(0,t.createElementVNode)(`input`,{class:`fou-date-panel__time-input`,type:`number`,min:`0`,max:`59`,value:(0,t.unref)(q),onChange:r[6]||=e=>me(`s`,e)},null,40,Kl)])])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(T)||(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ql,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__btn fou-date-panel__btn--text`,onClick:Ge},` 取消 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__btn fou-date-panel__btn--primary`,disabled:!(0,t.unref)(ue),onClick:We},` 确定 `,8,Jl)])):(0,t.createCommentVNode)(``,!0)],38)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],2)}}}),Xl=v({default:()=>Zl}),Zl=Yl,Ql={class:`fou-scrollbar__view`},$l=(0,t.defineComponent)({name:`FouScrollbar`,__name:`index`,props:{maxHeight:{},height:{},native:{type:Boolean,default:!0},wrapClass:{}},emits:[`scroll`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=e=>{if(e!=null&&e!==``)return typeof e==`number`?`${e}px`:String(e)},c=(0,t.computed)(()=>{let e={},t=s(i.maxHeight),n=s(i.height);return t&&(e.maxHeight=t),n&&(e.height=n),e}),l=e=>{let t=e.target;a(`scroll`,{scrollTop:t.scrollTop,scrollLeft:t.scrollLeft})};return n({wrapRef:o,$el:o,setScrollTop:e=>{o.value&&(o.value.scrollTop=e)},setScrollLeft:e=>{o.value&&(o.value.scrollLeft=e)}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:o,class:(0,t.normalizeClass)([`fou-scrollbar`,[e.wrapClass,{"fou-scrollbar--native":e.native}]]),style:(0,t.normalizeStyle)((0,t.unref)(c)),onScroll:l},[(0,t.createElementVNode)(`div`,Ql,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38))}}),eu=v({default:()=>tu}),tu=S($l,[[`__scopeId`,`data-v-7c39c3a5`]]),nu={label:`label`,children:`children`,value:`value`};function ru(e,t){return e[t.value??`value`]??e[t.label??`label`]}function iu(e,t){return String(e[t.label??`label`]??``)}function au(e,t){let n=e[t.children??`children`];return Array.isArray(n)?n:[]}var ou={class:`fou-tree-node`,role:`treeitem`},su={key:1,class:`fou-tree-node__expand is-leaf`},cu={class:`fou-tree-node__label`},lu={key:0,class:`fou-tree-node__children`},uu=(0,t.defineComponent)({name:`FouTreeNode`,__name:`FouTreeNode`,props:{node:{},level:{},propsConfig:{},expandedKeys:{},currentKey:{},filterText:{},filterNodeMethod:{type:Function},highlightCurrent:{type:Boolean}},emits:[`toggle`,`node-click`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>ru(r.node,r.propsConfig)),o=(0,t.computed)(()=>iu(r.node,r.propsConfig)),s=(0,t.computed)(()=>au(r.node,r.propsConfig)),c=(0,t.computed)(()=>s.value.length>0),l=(0,t.computed)(()=>r.expandedKeys.has(a.value)),u=(0,t.computed)(()=>r.highlightCurrent&&r.currentKey===a.value),d=e=>ru(e,r.propsConfig),f=e=>r.filterText?r.filterNodeMethod?r.filterNodeMethod(r.filterText,e,e):iu(e,r.propsConfig).toLowerCase().includes(r.filterText.toLowerCase()):!0,p=e=>f(e)?!0:au(e,r.propsConfig).some(e=>p(e)),m=(0,t.computed)(()=>s.value.filter(e=>p(e)));return(n,r)=>{let s=(0,t.resolveComponent)(`FouTreeNode`,!0);return(0,t.openBlock)(),(0,t.createElementBlock)(`li`,ou,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-tree-node__content`,{"is-current":(0,t.unref)(u),"is-expanded":(0,t.unref)(l)}]),style:(0,t.normalizeStyle)({paddingLeft:`${e.level*18+8}px`}),onClick:r[1]||=t=>i(`node-click`,e.node)},[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tree-node__expand`,onClick:r[0]||=(0,t.withModifiers)(e=>i(`toggle`,(0,t.unref)(a)),[`stop`])},(0,t.toDisplayString)((0,t.unref)(l)?`▾`:`▸`),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,su)),(0,t.createElementVNode)(`span`,cu,(0,t.toDisplayString)((0,t.unref)(o)),1)],6),(0,t.unref)(c)&&(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,lu,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(m),n=>((0,t.openBlock)(),(0,t.createBlock)(s,{key:String(d(n)),node:n,level:e.level+1,"props-config":e.propsConfig,"expanded-keys":e.expandedKeys,"current-key":e.currentKey,"filter-text":e.filterText,"filter-node-method":e.filterNodeMethod,"highlight-current":e.highlightCurrent,onToggle:r[2]||=e=>i(`toggle`,e),onNodeClick:r[3]||=e=>i(`node-click`,e)},null,8,[`node`,`level`,`props-config`,`expanded-keys`,`current-key`,`filter-text`,`filter-node-method`,`highlight-current`]))),128))])):(0,t.createCommentVNode)(``,!0)])}}}),du=v({default:()=>fu}),fu=S(uu,[[`__scopeId`,`data-v-e1e2b043`]]),pu={class:`fou-tree`,role:`tree`},mu={key:0,class:`fou-tree__list`},hu={key:1,class:`fou-tree__empty`},gu=(0,t.defineComponent)({name:`FouTree`,__name:`index`,props:{data:{default:()=>[]},props:{default:()=>({})},highlightCurrent:{type:Boolean,default:!1},defaultExpandAll:{type:Boolean,default:!1},defaultExpandedKeys:{default:()=>[]},filterNodeMethod:{type:Function,default:void 0}},emits:[`node-click`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.ref)(new Set),c=(0,t.ref)(``),l=(0,t.computed)(()=>({...nu,...i.props}));(0,t.watch)(()=>i.data,()=>{if(i.defaultExpandAll){let e=new Set,t=n=>{n.forEach(n=>{e.add(ru(n,l.value)),t(au(n,l.value))})};t(i.data),s.value=e;return}i.defaultExpandedKeys?.length&&(s.value=new Set(i.defaultExpandedKeys))},{immediate:!0,deep:!0});let u=e=>c.value?i.filterNodeMethod?i.filterNodeMethod(c.value,e,e):iu(e,l.value).toLowerCase().includes(c.value.toLowerCase()):!0,d=e=>u(e)?!0:au(e,l.value).some(e=>d(e)),f=(0,t.computed)(()=>i.data.filter(e=>d(e))),p=e=>{let t=new Set(s.value);t.has(e)?t.delete(e):t.add(e),s.value=t},m=e=>{i.highlightCurrent&&(o.value=ru(e,l.value)),a(`node-click`,e,e)};return n({filter:e=>{c.value=e},setCurrentKey:e=>{o.value=e}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pu,[(0,t.unref)(f).length?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,mu,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(f),n=>((0,t.openBlock)(),(0,t.createBlock)(fu,{key:String((0,t.unref)(ru)(n,(0,t.unref)(l))),node:n,level:0,"props-config":(0,t.unref)(l),"expanded-keys":(0,t.unref)(s),"current-key":(0,t.unref)(o),"filter-text":(0,t.unref)(c),"filter-node-method":e.filterNodeMethod,"highlight-current":e.highlightCurrent,onToggle:p,onNodeClick:m},null,8,[`node`,`props-config`,`expanded-keys`,`current-key`,`filter-text`,`filter-node-method`,`highlight-current`]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hu,`无数据`))]))}}),_u=v({default:()=>vu}),vu=S(gu,[[`__scopeId`,`data-v-65d770e8`]]),yu=e=>e.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,``).replace(/<\/?script\b[^>]*>/gi,``),bu=e=>new Promise(n=>{let r=document.createElement(`div`);document.body.appendChild(r);let i=(0,t.reactive)({title:e.title||`温馨提示`,message:e.message,showCancel:!!e.showCancel,confirmText:e.confirmButtonText||`确定`,cancelText:e.cancelButtonText||`取消`,html:!!e.dangerouslyUseHTMLString}),a=e=>{e.key===`Escape`&&o(i.showCancel?`cancel`:`confirm`)},o=e=>{window.removeEventListener(`keydown`,a),s.unmount(),r.remove(),n(e)},s=(0,t.createApp)({setup(){return()=>(0,t.h)(`div`,{class:`fou-msgbox-root`},[(0,t.h)(`div`,{class:`fou-msgbox-mask`,onClick:()=>i.showCancel&&o(`cancel`)}),(0,t.h)(`div`,{class:`fou-msgbox`,role:`dialog`,"aria-modal":`true`,"aria-label":i.title},[(0,t.h)(`div`,{class:`fou-msgbox__title`},i.title),i.html&&typeof i.message==`string`?(0,t.h)(`div`,{class:`fou-msgbox__body`,innerHTML:yu(i.message)}):(0,t.h)(`div`,{class:`fou-msgbox__body`},(0,t.isVNode)(i.message)?[i.message]:String(i.message??``)),(0,t.h)(`div`,{class:`fou-msgbox__footer`},[i.showCancel?(0,t.h)(`button`,{type:`button`,class:`fou-msgbox__btn`,onClick:()=>o(`cancel`)},i.cancelText):null,(0,t.h)(`button`,{type:`button`,class:`fou-msgbox__btn fou-msgbox__btn--primary`,onClick:()=>o(`confirm`)},i.confirmText)])])])}});if(!document.getElementById(`fou-msgbox-style`)){let e=document.createElement(`style`);e.id=`fou-msgbox-style`,e.textContent=`
55
+ `)}try{await Rr(c),Q.success(Y(`已复制到剪贴板`))}catch{Q.error(Y(`复制失败,请检查浏览器剪贴板权限`))}},Br=()=>{te.visible=!1},Vr=e=>{if(a.menuConfig?.enabled===!1)return;let t=a.menuConfig?.body?.options;if(!t?.length)return;let n=e.target.closest(`tr`)?.getAttribute(`data-row-key`)||``,r=n?Xr(a.data,n):void 0;a.menuConfig?.visibleMethod&&a.menuConfig.visibleMethod({type:`body`,row:r,options:t})===!1||(te.visible=!0,te.x=e.clientX,te.y=e.clientY,te.options=t,te.row=r)},Hr=e=>{e.code===`copy`||e.code===`COPY`?Ur():e.code===`cut`||e.code===`CUT`?Gr():(e.code===`paste`||e.code===`PASTE`)&&Kr(),o(`menu-click`,{menu:e,row:te.row,column:te.column}),Br()},Ur=async()=>{if(st().isCopy===!1)return;let e=tt((e,t)=>{let n=X.value.find(e=>Me(e)===t);return n?vn(e,n):String(e?.[t]??``)});if(e)try{await navigator.clipboard.writeText(e)}catch{}},Wr=(e,t,n)=>{let r=X.value.find(e=>Me(e)===t);if(!r||!Ne(r)){e[t]=n;return}ut(e,r,n)},Gr=async()=>{st().isCut!==!1&&(await Ur(),rt((e,t,n)=>Wr(e,t,n)))},Kr=async()=>{if(st().isPaste!==!1)try{let e=await navigator.clipboard.readText();nt(e,(e,t,n)=>Wr(e,t,n))}catch{}},qr=e=>{Qn(e),(0,t.nextTick)(()=>si(e))},Jr=e=>{let t=mo(a.rowConfig),n=ot().isArrow!==!1,r=ot().isEnter!==!1,i=ot().isEsc!==!1,o=ot().isTab===!0,s=ot().isUndo!==!1&&We();if(!a.editable&&!t&&!s)return;let c=e.target,l=c?.tagName,u=l===`INPUT`||l===`TEXTAREA`||l===`SELECT`||!!c?.isContentEditable||!!c?.closest?.(`.fou-input, .fou-select, .fou-input-number, .fou-time, .fou-time-panel`),f=e.ctrlKey||e.metaKey;if(f&&(e.key===`z`||e.key===`Z`)&&s&&!e.shiftKey){e.preventDefault(),Ke();return}if(f&&(e.key===`y`||e.key===`Y`||(e.key===`z`||e.key===`Z`)&&e.shiftKey)&&s){e.preventDefault(),qe();return}if(f&&(e.key===`c`||e.key===`C`)&&st().isCopy!==!1){u||(e.preventDefault(),Ur());return}if(f&&(e.key===`x`||e.key===`X`)&&st().isCut!==!1){u||(e.preventDefault(),Gr());return}if(f&&(e.key===`v`||e.key===`V`)&&st().isPaste!==!1){u||(e.preventDefault(),Kr());return}if(u&&ot().isEdit!==!0)return;let p=On.value.map(e=>e.row);if(!p.length)return;let m=j.value?p.findIndex(e=>q(e)===j.value):-1,h=e.shiftKey;if(n&&e.key===`ArrowDown`){e.preventDefault();let n=et(1,0,h);if(n)qr(n.row);else if(t){let e=p[Math.min(p.length-1,Math.max(0,m+1))];e&&qr(e)}}else if(n&&e.key===`ArrowUp`){e.preventDefault();let n=et(-1,0,h);if(n)qr(n.row);else if(t){let e=p[Math.max(0,m<=0?0:m-1)];e&&qr(e)}}else if(n&&e.key===`ArrowLeft`){e.preventDefault();let t=et(0,-1,h);t&&qr(t.row)}else if(n&&e.key===`ArrowRight`){e.preventDefault();let t=et(0,1,h);t&&qr(t.row)}else if(o&&e.key===`Tab`){e.preventDefault();let t=et(0,e.shiftKey?-1:1,!1);t&&qr(t.row)}else if(r&&e.key===`Enter`&&m>=0&&a.editable){if(ke.value)return;e.preventDefault();let t=p[m],n=it.value?.prop,r=n&&X.value.find(e=>Me(e)===n&&Ne(e))||X.value.find(e=>Ne(e)&&Ae(e)!==`switch`);t&&r&&Le(t,r,d.value)}else i&&e.key===`Escape`&&(Re(),J(),Br())},Yr=()=>({getTableData:()=>({fullData:a.data}),getCheckboxRecords:Sr,clearEdit:Re,exportData:jr,setAllTreeExpand:xr,importData:Mr,print:Fr}),Xr=(e,t)=>{let n=mt.value.children;for(let r of e||[]){if(q(r)===t)return r;if(r?.[n]?.length){let e=Xr(r[n],t);if(e)return e}}return null},Zr=()=>{ne?.destroy(),ne=null,ln.value&&(0,t.nextTick)(()=>{let e=l.value;e&&(ne=i.default.create(e,{handle:`.fou-table__drag-handle`,animation:150,draggable:`.fou-table__row:not(.fou-table__row--empty)`,onEnd:e=>{let t=e.item?.getAttribute(`data-row-key`)||``;o(`row-dragend`,{dragRow:Xr(a.data,t),oldIndex:e.oldIndex,newIndex:e.newIndex})}}))})},Qr={register(e){m.value=[...m.value.filter(t=>t.id!==e.id),e]},unregister(e){m.value=m.value.filter(t=>t.id!==e)},update(e){let t=m.value.findIndex(t=>t.id===e.id);if(t>=0){let n=m.value.slice();n[t]=e,m.value=n}else Qr.register(e)}};(0,t.provide)(go,Qr),(0,t.watch)(()=>[a.tree,a.defaultExpandAll,a.data],()=>{(!re||a.defaultExpandAll)&&pn()},{deep:!0,immediate:!0}),(0,t.watch)(()=>[ln.value,a.data.length,On.value.length],()=>Zr()),(0,t.watch)(()=>[On.value.length,a.height,a.maxHeight,X.value.length],()=>(0,t.nextTick)(se)),(0,t.onMounted)(()=>{Zr(),(0,t.nextTick)(()=>{se(),Nn(),x()})}),(0,t.onBeforeUnmount)(()=>{ne?.destroy(),ne=null,Lt?.destroy(),Lt=null,rr&&=(document.removeEventListener(`mouseup`,rr),null)});let $r=(0,t.defineComponent)({name:`FouTableCellContent`,props:{row:{type:Object,required:!0},col:{type:Object,required:!0},index:{type:Number,required:!0}},setup(e){return()=>{let n=e.row,r=e.col,i=e.index,o=Ae(r),s=Me(r),c=s==null?void 0:n[s];if(Pe(r)||Fe(n,r))return Vn(n,r);let l=typeof r.cellRender==`string`?r.cellRender:r.cellRender?.name;if(l&&uo.has(l)){let e=uo.get(l)({cellValue:c,row:n,column:r,$index:i});return e==null?null:typeof e==`string`?(0,t.createVNode)(`span`,{class:`fou-table__text`},e):e}let u=``;u=o===`select`&&r.options?.length?r.options.find(e=>e.value===c)?.label??vn(n,r):vn(n,r);let d=lt(n,r);return ct(r)&&d&&!Fe(n,r)&&a.tooltipConfig?.showAll!==!1?(0,t.createVNode)(ao,{content:d,placement:`top`,showAfter:a.tooltipConfig?.enterDelay??200,hideAfter:a.tooltipConfig?.leaveDelay??100},{default:()=>(0,t.createVNode)(`span`,{class:`fou-table__text`},u)}):(0,t.createVNode)(`span`,{class:`fou-table__text`},u)}}}),ei=(e,t)=>{let n=a.rowClassName;return n?typeof n==`function`?n({row:e,rowIndex:t}):n:``},ti=(e,t,n,r)=>{let i=a.cellClassName;return i?typeof i==`function`?i({row:e,column:t,rowIndex:n,columnIndex:r}):i:``},ni=e=>{if(e==null){j.value=null,o(`current-change`,{row:null});return}mo(a.rowConfig)&&(j.value=q(e),o(`current-change`,{row:e}))},ri=()=>{j.value=null,J(),o(`current-change`,{row:null})},ii=()=>{g.value={prop:``,order:null},_.value=[],o(`sort-change`,{prop:``,order:null,sorts:[]})},ai=e=>{if(e){let t=X.value.find(t=>Me(t)===e||t._key===e)?._key;t&&(C[t]=[],w[t]=[])}else Object.keys(C).forEach(e=>{C[e]=[],w[e]=[]});o(`filter-change`,{...C})},oi=e=>{let t=d.value;t&&(e.top!=null&&(t.scrollTop=e.top),e.left!=null&&(t.scrollLeft=e.left))},si=e=>{let t=q(e),n=d.value?.querySelector(`[data-row-key="${String(t).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"]`);n instanceof HTMLElement&&n.scrollIntoView({block:`nearest`})};return n({tableRef:c,gridRef:c,getGrid:Yr,clearEdit:Re,exportData:jr,getCheckboxRecords:Sr,setAllTreeExpand:xr,importData:Mr,print:Fr,getRadioRecord:()=>xe.value?Xr(a.data,xe.value):null,clearRadioRow:be,setRowExpand:he,clearRowExpand:ge,getUpdateRecords:Te,getInsertRecords:Ee,isUpdateByRow:we,reloadRow:De,reloadColumn:()=>{ie.value++},setCurrentRow:ni,clearCurrentRow:ri,clearSort:ii,clearFilter:ai,scrollTo:oi,scrollToRow:si,getColumnWidth:e=>{let t=X.value.find(t=>t._key===e||Me(t)===e);return t?tn(t):void 0},setColumnWidth:(e,t)=>{let n=X.value.find(t=>t._key===e||Me(t)===e);n&&G(n._key,t)},recalculate:()=>{ie.value++,(0,t.nextTick)(se)},getColumns:()=>X.value.slice(),undo:Ke,redo:qe,clearHistory:Je,canUndo:Ye,canRedo:Xe,copy:Ur,cut:Gr,paste:Kr,copyData:zr}),(n,r)=>{let i=k,a=Vt,o=pt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:s,class:(0,t.normalizeClass)([`fou-table`,[{"fou-table--border":e.border===!0||e.border===`full`||e.border==="default","fou-table--border-full":e.border===`full`||e.border===!0,"fou-table--border-outer":e.border===`outer`,"fou-table--border-inner":e.border===`inner`,"fou-table--border-none":e.border===`none`||e.border===!1,"fou-table--stripe":e.stripe,"fou-table--round":e.round,"fou-table--fullscreen":(0,t.unref)(D),"fou-table--toolbar":(0,t.unref)(Mt),"fou-table--hover":(0,t.unref)(po)(e.rowConfig),"fou-table--fixed-height":e.height!=null||e.maxHeight!=null,"fou-table--scroll-x":(0,t.unref)(b),"fou-table--scroll-y":(0,t.unref)(ae)>0},e.size?`fou-table--${e.size}`:``]]),tabindex:`0`,style:(0,t.normalizeStyle)((0,t.unref)(Qt)),onKeydown:Jr},[(0,t.unref)(Mt)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ys,[(0,t.createElementVNode)(`div`,bs,[(0,t.renderSlot)(n.$slots,`toolbar-left`),(0,t.renderSlot)(n.$slots,`toolbar`),(0,t.unref)(Nt)===`left`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xs,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ir),e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.name},[e.show?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__toolbar-icon`,title:e.title,onClick:e.onClick},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],8,Ss)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(kt)?((0,t.openBlock)(),(0,t.createBlock)(wo,{key:0,class:`fou-table__toolbar-dropdown`},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(Oo,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(jo,{onClick:r[0]||=e=>zr(`vertical`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`纵向复制`)),1)]),_:1}),(0,t.createVNode)(jo,{onClick:r[1]||=e=>zr(`horizontal`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`横向复制`)),1)]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__toolbar-icon`,title:(0,t.unref)(Y)(`复制`)},[(0,t.createVNode)(i,{icon:`file-copy-line`})],8,Cs)]),_:1})):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Pt(`left`),e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.component),(0,t.mergeProps)({key:e.name},{ref_for:!0},e.props),null,16))),128))]),(0,t.createElementVNode)(`div`,ws,[(0,t.renderSlot)(n.$slots,`toolbar-center`),(0,t.unref)(Nt)===`center`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ts,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ir),e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.name},[e.show?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__toolbar-icon`,title:e.title,onClick:e.onClick},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],8,Es)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(kt)?((0,t.openBlock)(),(0,t.createBlock)(wo,{key:0,class:`fou-table__toolbar-dropdown`},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(Oo,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(jo,{onClick:r[2]||=e=>zr(`vertical`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`纵向复制`)),1)]),_:1}),(0,t.createVNode)(jo,{onClick:r[3]||=e=>zr(`horizontal`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`横向复制`)),1)]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__toolbar-icon`,title:(0,t.unref)(Y)(`复制`)},[(0,t.createVNode)(i,{icon:`file-copy-line`})],8,Ds)]),_:1})):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Pt(`center`),e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.component),(0,t.mergeProps)({key:e.name},{ref_for:!0},e.props),null,16))),128))]),(0,t.createElementVNode)(`div`,Os,[(0,t.renderSlot)(n.$slots,`toolbar-tools`),(0,t.renderSlot)(n.$slots,`toolbar-right`),(0,t.unref)(Nt)===`right`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ks,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ir),e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.name},[e.show?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__toolbar-icon`,title:e.title,onClick:e.onClick},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],8,As)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(kt)?((0,t.openBlock)(),(0,t.createBlock)(wo,{key:0,class:`fou-table__toolbar-dropdown`},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(Oo,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(jo,{onClick:r[4]||=e=>zr(`vertical`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`纵向复制`)),1)]),_:1}),(0,t.createVNode)(jo,{onClick:r[5]||=e=>zr(`horizontal`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`横向复制`)),1)]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__toolbar-icon`,title:(0,t.unref)(Y)(`复制`)},[(0,t.createVNode)(i,{icon:`file-copy-line`})],8,js)]),_:1})):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Pt(`right`),e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.component),(0,t.mergeProps)({key:e.name},{ref_for:!0},e.props),null,16))),128))])])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(M)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ms,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(yt),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:e._key,class:`fou-table__custom-item`},[(0,t.createElementVNode)(`input`,{type:`checkbox`,checked:(0,t.unref)(B)[e._key]!==!1,onChange:t=>Ft(e._key,t.target.checked)},null,40,Ns),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label||e._key),1)]))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(o,{modelValue:(0,t.unref)(N),"onUpdate:modelValue":r[12]||=e=>(0,t.isRef)(N)?N.value=e:null,title:(0,t.unref)(Y)(`导出数据`),width:`480px`,"align-center":``,"show-minimize":!1,"show-fullscreen":!1},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:r[11]||=e=>N.value=!1},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`取消`)),1)]),_:1}),(0,t.createVNode)(a,{type:`primary`,disabled:!(0,t.unref)(F).length,onClick:Ar},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`下载`)),1)]),_:1},8,[`disabled`])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Ps,[(0,t.createElementVNode)(`div`,Fs,[(0,t.createElementVNode)(`div`,Is,(0,t.toDisplayString)((0,t.unref)(Y)(`导出字段`)),1),(0,t.createElementVNode)(`div`,Ls,[(0,t.createElementVNode)(`label`,Rs,[(0,t.createElementVNode)(`input`,{type:`checkbox`,checked:(0,t.unref)(wr),".indeterminate":(0,t.unref)(Tr),onChange:r[6]||=e=>Dr(e.target.checked)},null,40,zs),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`全选`)),1)]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Cr),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:e._key,class:`fou-table__export-field`},[(0,t.createElementVNode)(`input`,{type:`checkbox`,checked:(0,t.unref)(F).includes(e._key),onChange:t=>Or(e._key,t.target.checked)},null,40,Bs),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label||(0,t.unref)(bo)(e)||e._key),1)]))),128))])]),(0,t.createElementVNode)(`div`,Vs,[(0,t.createElementVNode)(`div`,Hs,(0,t.toDisplayString)((0,t.unref)(Y)(`文件格式`)),1),(0,t.createElementVNode)(`div`,Us,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ee,e=>(0,t.createElementVNode)(`label`,{key:e.value,class:(0,t.normalizeClass)([`fou-table__export-format`,{"is-active":(0,t.unref)(P)===e.value}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[7]||=e=>(0,t.isRef)(P)?P.value=e:null,type:`radio`,value:e.value},null,8,Ws),[[t.vModelRadio,(0,t.unref)(P)]]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],2)),64))])]),(0,t.createElementVNode)(`div`,Gs,[(0,t.createElementVNode)(`div`,Ks,(0,t.toDisplayString)((0,t.unref)(Y)(`导出范围`)),1),(0,t.createElementVNode)(`div`,qs,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(z,e=>(0,t.createElementVNode)(`label`,{key:e.value,class:(0,t.normalizeClass)([`fou-table__export-mode`,{"is-active":(0,t.unref)(I)===e.value}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[8]||=e=>(0,t.isRef)(I)?I.value=e:null,type:`radio`,value:e.value},null,8,Js),[[t.vModelRadio,(0,t.unref)(I)]]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],2)),64))]),(0,t.unref)(I)===`range`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ys,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`页码`)),1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[9]||=e=>(0,t.isRef)(L)?L.value=e:null,type:`number`,min:1,max:(0,t.unref)(Dn),class:`fou-table__export-range-input`},null,8,Xs),[[t.vModelText,(0,t.unref)(L),void 0,{number:!0}]]),r[20]||=(0,t.createElementVNode)(`span`,null,`-`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[10]||=e=>(0,t.isRef)(R)?R.value=e:null,type:`number`,min:(0,t.unref)(L),max:(0,t.unref)(Dn),class:`fou-table__export-range-input`},null,8,Zs),[[t.vModelText,(0,t.unref)(R),void 0,{number:!0}]]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`(共`))+` `+(0,t.toDisplayString)((0,t.unref)(Dn))+` `+(0,t.toDisplayString)((0,t.unref)(Y)(`页)`)),1)])):(0,t.createCommentVNode)(``,!0)])])]),_:1},8,[`modelValue`,`title`]),(0,t.createElementVNode)(`input`,{ref_key:`importInputRef`,ref:V,type:`file`,accept:`.csv,.xls,.xlsx,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,class:`fou-table__import-input`,onChange:Nr},null,544),(0,t.createElementVNode)(`div`,{class:`fou-table__main`,style:(0,t.normalizeStyle)((0,t.unref)($t))},[e.loading?((0,t.openBlock)(),(0,t.createBlock)(Wa,{key:0,class:`fou-table__loading`,text:e.loadingText||`${(0,t.unref)(Y)(`加载中`)}...`,effect:e.loadingEffect,transparent:e.loadingTransparent},null,8,[`text`,`effect`,`transparent`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`headerWrapRef`,ref:u,class:`fou-table__header-wrap`},[(0,t.createElementVNode)(`table`,{class:`fou-table__inner fou-table__header-table`,style:(0,t.normalizeStyle)((0,t.unref)(Xt))},[(0,t.createElementVNode)(`colgroup`,null,[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Qs)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,$s)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,ec)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,tc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:4,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).left}px`})},null,4)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:`hcol-${e._key}`,style:(0,t.normalizeStyle)(nr(e))},null,4))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:5,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).right}px`})},null,4)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`thead`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(qt),(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:`hr-${a}`},[(0,t.unref)(Bt)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--expand fou-table__cell--fixed-left is-align-center`,Gt(`expand`)]),style:{left:`0px`},rowspan:(0,t.unref)(qt).length},null,10,nc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:1,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--radio fou-table__cell--fixed-left is-align-center`,Gt(`radio`)]),style:(0,t.normalizeStyle)({left:`${Ht(`radio`)}px`}),rowspan:(0,t.unref)(qt).length},null,14,rc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:2,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--selection fou-table__cell--fixed-left is-align-center`,Gt(`selection`)]),style:(0,t.normalizeStyle)({left:`${Ht(`selection`)}px`}),rowspan:(0,t.unref)(qt).length},[(0,t.createVNode)(Ri,{"model-value":(0,t.unref)(Kn),indeterminate:(0,t.unref)(qn),onChange:r[13]||=e=>Jn(!!e)},null,8,[`model-value`,`indeterminate`])],14,ic)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:3,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header fou-table__cell--index fou-table__cell--fixed-left is-align-center`,Gt(`index`)]),style:(0,t.normalizeStyle)({left:`${Ht(`index`)}px`}),rowspan:(0,t.unref)(qt).length},(0,t.toDisplayString)((0,t.unref)(Y)(`序号`)),15,ac)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:4,rowspan:(0,t.unref)(qt).length,class:`fou-table__cell fou-table__cell--header`},null,8,oc)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n,(n,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:`th-${a}-${o}-${n.column._key}`,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--header`,[n.column.className,n.column.headerClassName,n.column.headerAlign?`is-align-${n.column.headerAlign}`:`is-align-${n.column.align||e.headerAlign||e.align||`left`}`,{"fou-table__cell--sortable":n.isLeaf&&!!n.column.sortable,"fou-table__cell--col-drag":n.isLeaf&&(0,t.unref)(It),...n.isLeaf?_r(n.column):{}}]]),colspan:n.colspan,rowspan:n.rowspan,style:(0,t.normalizeStyle)(hr(n)),"data-col-key":n.isLeaf?n.column._key:void 0,onClick:e=>n.isLeaf&&Yn(n.column,e)},[(0,t.createElementVNode)(`div`,cc,[n.isLeaf&&(0,t.unref)(He)()&&(0,t.unref)(Ne)(n.column)?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:`edit-line`,class:`fou-table__edit-icon`,title:`edit`})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,lc,(0,t.toDisplayString)(n.label),1),n.isLeaf&&n.column.sortable?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`fou-table__sort`,Zn(n.column)])},[r[21]||=(0,t.createElementVNode)(`i`,{class:`fou-table__caret fou-table__caret--up`},null,-1),r[22]||=(0,t.createElementVNode)(`i`,{class:`fou-table__caret fou-table__caret--down`},null,-1),Xn(n.column)?((0,t.openBlock)(),(0,t.createElementBlock)(`em`,uc,(0,t.toDisplayString)(Xn(n.column)),1)):(0,t.createCommentVNode)(``,!0)],2)):(0,t.createCommentVNode)(``,!0),n.isLeaf&&yn(n.column)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:(0,t.normalizeClass)([`fou-table__filter-btn`,{"is-active":xn(n.column)||(0,t.unref)(T)===n.column._key}]),onClick:(0,t.withModifiers)(e=>ar(n.column,e),[`stop`])},[...r[23]||=[(0,t.createElementVNode)(`svg`,{viewBox:`0 0 1024 1024`,width:`12`,height:`12`},[(0,t.createElementVNode)(`path`,{fill:`currentColor`,d:`M128 192h768l-288 352v256l-192 64V544L128 192z`})],-1)]],10,dc)):(0,t.createCommentVNode)(``,!0),n.isLeaf&&tr(n.column)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:3,class:`fou-table__resizer`,onMousedown:e=>ir(n.column,e)},null,40,fc)):(0,t.createCommentVNode)(``,!0)])],14,sc))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0&&a===0?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:5,rowspan:(0,t.unref)(qt).length,class:`fou-table__cell fou-table__cell--header`},null,8,pc)):(0,t.createCommentVNode)(``,!0)]))),128))])],4)],512),(0,t.createElementVNode)(`div`,{ref_key:`bodyWrapRef`,ref:d,class:`fou-table__body-wrap`,onScroll:Fn,onContextmenu:(0,t.withModifiers)(Vr,[`prevent`])},[(0,t.createElementVNode)(`table`,{ref_key:`tableRef`,ref:c,class:`fou-table__inner fou-table__body-table`,style:(0,t.normalizeStyle)((0,t.unref)(Xt))},[(0,t.createElementVNode)(`colgroup`,null,[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,mc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,hc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,gc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,_c)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:4,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).left}px`})},null,4)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:`bcol-${e._key}`,style:(0,t.normalizeStyle)(nr(e))},null,4))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:5,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).right}px`})},null,4)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`tbody`,{ref_key:`tbodyRef`,ref:l,class:`fou-table__body`},[(0,t.unref)(An)&&(0,t.unref)(jn).padTop>0?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,vc,[(0,t.createElementVNode)(`td`,{colspan:(0,t.unref)(on)},[(0,t.createElementVNode)(`div`,{class:`fou-table__virtual-pad-space`,style:(0,t.normalizeStyle)({height:`${(0,t.unref)(jn).padTop}px`})},null,4)],8,yc)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Pn),a=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:q(a.flat.row)||a.flat.flatIndex},[(0,t.createElementVNode)(`tr`,{class:(0,t.normalizeClass)([`fou-table__row`,[{"fou-table__row--striped":e.stripe&&a.flat.flatIndex%2==1,"is-selected":Wn(a.flat.row),"is-current":(0,t.unref)(j)===q(a.flat.row),"is-radio-checked":(0,t.unref)(ve)(a.flat.row),"is-dirty":(0,t.unref)(Se)&&(0,t.unref)(we)(a.flat.row)},ei(a.flat.row,a.rowIndex)]]),"data-row-key":q(a.flat.row),onClick:e=>Qn(a.flat.row)},[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--expand fou-table__cell--fixed-left is-align-center`,Gt(`expand`)]),style:{left:`0px`},onClick:(0,t.withModifiers)(e=>_e(a.flat.row),[`stop`])},[(0,t.createElementVNode)(`div`,Sc,[(0,t.createElementVNode)(`button`,Cc,[(0,t.createVNode)(i,{icon:(0,t.unref)(pe)(a.flat.row)?`arrow-down-s-fill`:`arrow-right-s-fill`},null,8,[`icon`])])])],10,xc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:1,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--radio fou-table__cell--fixed-left is-align-center`,Gt(`radio`)]),style:(0,t.normalizeStyle)({left:`${Ht(`radio`)}px`}),onClick:(0,t.withModifiers)(e=>Oe(a.flat.row),[`stop`])},[(0,t.createElementVNode)(`div`,Tc,[(0,t.createElementVNode)(`input`,{type:`radio`,class:`fou-table__radio`,checked:(0,t.unref)(ve)(a.flat.row),name:S,onChange:e=>Oe(a.flat.row)},null,40,Ec)])],14,wc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:2,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--selection fou-table__cell--fixed-left is-align-center`,Gt(`selection`)]),style:(0,t.normalizeStyle)({left:`${Ht(`selection`)}px`}),onClick:r[14]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,Dc,[(0,t.createVNode)(Ri,{"model-value":Wn(a.flat.row),onChange:e=>Gn(a.flat.row,!!e)},null,8,[`model-value`,`onChange`])])],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:3,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--index fou-table__cell--fixed-left is-align-center`,Gt(`index`)]),style:(0,t.normalizeStyle)({left:`${Ht(`index`)}px`})},[(0,t.createElementVNode)(`div`,Oc,(0,t.toDisplayString)(a.flat.flatIndex+1),1)],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,kc)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),(r,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:`td-${r._key}-${q(a.flat.row)}`},[er(a.flat,a.rowIndex,r,an(r)).visible?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell`,[r.className,ti(a.flat.row,r,a.rowIndex,an(r)),`is-align-${r.align||e.align||`left`}`,{"fou-table__cell--ellipsis":ct(r),"is-editing":(0,t.unref)(Fe)(a.flat.row,r),"is-input-fill":(0,t.unref)(Ie)(a.flat.row,r),"is-editable":(0,t.unref)(Ne)(r),"is-valid-error":!!dt(a.flat.row,r),"is-active-cell":(0,t.unref)($e)(a.flat.row,r),"is-area-cell":(0,t.unref)(Qe)(a.flat.row,r),..._r(r)}]]),style:(0,t.normalizeStyle)(gr(r)),title:dt(a.flat.row,r)||void 0,rowspan:er(a.flat,a.rowIndex,r,an(r)).rowspan,colspan:er(a.flat,a.rowIndex,r,an(r)).colspan,onClick:e=>Hn(a.flat.row,r,e),onDblclick:e=>Un(a.flat.row,r)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-table__cell-inner`,{"fou-table__cell-inner--input-fill":(0,t.unref)(Ie)(a.flat.row,r)}])},[r.dragSort?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,jc,[(0,t.createVNode)(i,{icon:`drag-move-2-line`})])):e.tree&&r.treeNode?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:`fou-table__tree-cell`,style:(0,t.normalizeStyle)({paddingLeft:`${a.flat.level*18}px`})},[a.flat.hasChildren?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-table__tree-toggle`,onClick:(0,t.withModifiers)(e=>hn(a.flat.row),[`stop`])},[(0,t.createVNode)(i,{icon:a.flat.expanded?`arrow-down-s-fill`:`arrow-right-s-fill`},null,8,[`icon`])],8,Mc)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Nc)),(0,t.createVNode)((0,t.unref)($r),{row:a.flat.row,col:r,index:a.flat.flatIndex},null,8,[`row`,`col`,`index`])],4)):r.slot&&n.$slots[r.slot]?(0,t.renderSlot)(n.$slots,r.slot,(0,t.mergeProps)({ref_for:!0},Rn(a.flat.row,r,a.flat.flatIndex,a.flat.level)),void 0,void 0,2):r._defaultSlot?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(r._defaultSlot),(0,t.mergeProps)({key:3,ref_for:!0},Rn(a.flat.row,r,a.flat.flatIndex,a.flat.level)),null,16)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:4,class:(0,t.normalizeClass)([`fou-table__editor-host`,{"fou-table__editor-host--input-fill":(0,t.unref)(Ie)(a.flat.row,r)}])},[(0,t.createVNode)((0,t.unref)($r),{row:a.flat.row,col:r,index:a.flat.flatIndex},null,8,[`row`,`col`,`index`])],2))],2)],46,Ac)):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,Pc)):(0,t.createCommentVNode)(``,!0)],10,bc),(0,t.unref)(Bt)&&(0,t.unref)(pe)(a.flat.row)?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,Fc,[(0,t.createElementVNode)(`td`,{colspan:(0,t.unref)(on),class:`fou-table__cell fou-table__cell--expand-content`},[(0,t.createElementVNode)(`div`,Lc,[(0,t.renderSlot)(n.$slots,`expand`,{row:a.flat.row,$index:a.flat.flatIndex},()=>[(0,t.createElementVNode)(`pre`,Rc,(0,t.toDisplayString)(JSON.stringify(a.flat.row,null,2)),1)])])],8,Ic)])):(0,t.createCommentVNode)(``,!0)],64))),128)),(0,t.unref)(An)&&(0,t.unref)(jn).padBottom>0?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,zc,[(0,t.createElementVNode)(`td`,{colspan:(0,t.unref)(on)},[(0,t.createElementVNode)(`div`,{class:`fou-table__virtual-pad-space`,style:(0,t.normalizeStyle)({height:`${(0,t.unref)(jn).padBottom}px`})},null,4)],8,Bc)])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(On).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,Vc,[(0,t.createElementVNode)(`td`,{class:`fou-table__cell fou-table__cell--empty`,colspan:(0,t.unref)(on)},[(0,t.renderSlot)(n.$slots,`empty`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.emptyText||(0,t.unref)(Y)(`暂无数据`)),1)])],8,Hc)]))],512)],4)],544),e.showFooter&&(0,t.unref)(Ln).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`footerWrapRef`,ref:f,class:`fou-table__footer-wrap`},[(0,t.createElementVNode)(`table`,{class:`fou-table__inner fou-table__footer-table`,style:(0,t.normalizeStyle)((0,t.unref)(Xt))},[(0,t.createElementVNode)(`colgroup`,null,[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Uc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Wc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Gc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,Kc)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(en)&&(0,t.unref)(nn).left>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:4,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).left}px`})},null,4)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(rn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:`fcol-${e._key}`,style:(0,t.normalizeStyle)(nr(e))},null,4))),128)),(0,t.unref)(en)&&(0,t.unref)(nn).right>0?((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:5,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(nn).right}px`})},null,4)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`tbody`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ln),(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:`fr-${i}`,class:`fou-table__row`},[(0,t.unref)(Bt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--fixed-left is-align-center`,Gt(`expand`)]),style:{left:`0px`}},[...r[24]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],2)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(zt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:1,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--fixed-left is-align-center`,Gt(`radio`)]),style:(0,t.normalizeStyle)({left:`${Ht(`radio`)}px`})},[...r[25]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Z)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:2,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--selection fou-table__cell--fixed-left is-align-center`,Gt(`selection`)]),style:(0,t.normalizeStyle)({left:`${Ht(`selection`)}px`})},[...r[26]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(Jt)?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:3,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer fou-table__cell--index fou-table__cell--fixed-left is-align-center`,Gt(`index`)]),style:(0,t.normalizeStyle)({left:`${Ht(`index`)}px`})},[...r[27]||=[(0,t.createElementVNode)(`div`,{class:`fou-table__cell-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:`fd-${i}-${r}`,class:(0,t.normalizeClass)([`fou-table__cell fou-table__cell--footer`,[`is-align-${(0,t.unref)(X)[r]?.footerAlign||(0,t.unref)(X)[r]?.align||e.footerAlign||e.align||`left`}`,(0,t.unref)(X)[r]?.footerClassName,_r((0,t.unref)(X)[r])]]),style:(0,t.normalizeStyle)(gr((0,t.unref)(X)[r]))},[(0,t.createElementVNode)(`div`,qc,(0,t.toDisplayString)(n),1)],6))),128))]))),128))])],4)],512)):(0,t.createCommentVNode)(``,!0)],4),(0,t.unref)(sn)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jc,[(0,t.createVNode)(or,{"current-page":(0,t.unref)(O),"onUpdate:currentPage":r[15]||=e=>(0,t.isRef)(O)?O.value=e:null,"page-size":(0,t.unref)(A),"onUpdate:pageSize":r[16]||=e=>(0,t.isRef)(A)?A.value=e:null,total:(0,t.unref)(En),"page-sizes":(0,t.unref)(cn)?.pageSizes||[10,20,50,100],background:(0,t.unref)(cn)?.background!==!1,small:(0,t.unref)(cn)?.small,layout:`total, sizes, prev, pager, next, jumper`,onCurrentChange:yr,onSizeChange:br},null,8,[`current-page`,`page-size`,`total`,`page-sizes`,`background`,`small`])])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(T)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-table__filter-mask`,onMousedown:sr},null,32)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(T)&&(0,t.unref)(E)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-table__filter-panel`,style:(0,t.normalizeStyle)({left:`${(0,t.unref)(E).left}px`,top:`${(0,t.unref)(E).top}px`}),onMousedown:r[18]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,Yc,[(0,t.createElementVNode)(`span`,Xc,(0,t.toDisplayString)((0,t.unref)(Y)(`筛选`)),1),(0,t.unref)(Sn).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zc,[(0,t.createVNode)(Ri,{"model-value":(0,t.unref)(ur),indeterminate:(0,t.unref)(dr),onChange:r[17]||=e=>fr(!!e)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`全选`)),1)]),_:1},8,[`model-value`,`indeterminate`])])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Qc,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Sn),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(e.value),class:`fou-table__filter-item`},[(0,t.createVNode)(Ri,{"model-value":cr((0,t.unref)(T),e.value),onChange:n=>lr((0,t.unref)(T),e.value,!!n)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)]),_:2},1032,[`model-value`,`onChange`])]))),128)),(0,t.unref)(Sn).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$c,(0,t.toDisplayString)((0,t.unref)(Y)(`无筛选项`)),1))]),(0,t.createElementVNode)(`div`,el,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__filter-action is-plain`,onClick:mr},(0,t.toDisplayString)((0,t.unref)(Y)(`重置`)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-table__filter-action`,onClick:pr},(0,t.toDisplayString)((0,t.unref)(Y)(`确定`)),1)])],36)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(te).visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:`fou-table__filter-mask`,onMousedown:Br},null,32)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(te).visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,class:`fou-table__ctx-menu`,style:(0,t.normalizeStyle)({left:`${(0,t.unref)(te).x}px`,top:`${(0,t.unref)(te).y}px`}),onMousedown:r[19]||=(0,t.withModifiers)(()=>{},[`stop`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(te).options,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n},[n>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tl)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.code,type:`button`,class:`fou-table__ctx-item`,disabled:e.disabled,onClick:t=>Hr(e)},(0,t.toDisplayString)(e.name),9,nl))),128))],64))),128))],36)):(0,t.createCommentVNode)(``,!0)])),(0,t.renderSlot)(n.$slots,`default`)],38)}}}),il=v({default:()=>al}),al=rl,ol=(0,t.defineComponent)({name:`FouTableColumn`,__name:`index`,props:{label:{},title:{},prop:{},width:{},minWidth:{},maxWidth:{},fixed:{type:[Boolean,String]},sortable:{type:[Boolean,String]},filterable:{type:Boolean},children:{},aggFunc:{},align:{default:`left`},headerAlign:{},showOverflowTooltip:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},className:{},headerClassName:{},labelClassName:{},type:{},index:{},columnKey:{},filters:{},filterMethod:{},filteredValue:{},filterPlacement:{},filterMultiple:{type:Boolean},treeNode:{type:Boolean},dragSort:{type:Boolean},editor:{},editorProps:{},options:{},editable:{type:Boolean},formatter:{}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(go,null),a=Symbol(`fouTableColumn`),o=()=>({id:a,props:{...n},slots:{default:r.default,header:r.header}});return i&&((0,t.onMounted)(()=>{i.register(o())}),(0,t.watch)(()=>({...n}),()=>{i.update(o())},{deep:!0}),(0,t.onBeforeUnmount)(()=>{i.unregister(a)})),(e,t)=>null}}),sl=v({default:()=>cl}),cl=ol,ll={class:`fou-tag__content`},ul=(0,t.defineComponent)({name:`FouTag`,__name:`index`,props:{type:{default:`primary`},effect:{default:`light`},size:{default:`default`},closable:{type:Boolean,default:!1}},emits:[`close`],setup(e,{emit:n}){let r=n,i=e=>{e.stopPropagation(),r(`close`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-tag`,[`fou-tag--${e.type}`,`fou-tag--${e.effect}`,`fou-tag--${e.size}`,{"is-closable":e.closable}]])},[(0,t.createElementVNode)(`span`,ll,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tag__close`,"aria-label":`close`,onClick:i},` × `)):(0,t.createCommentVNode)(``,!0)],2))}}),dl=v({default:()=>fl}),fl=S(ul,[[`__scopeId`,`data-v-804a6421`]]),pl=[`value`,`placeholder`,`readonly`,`disabled`],ml={class:`fou-date__separator`},hl=[`value`,`placeholder`,`readonly`,`disabled`],gl=[`value`,`placeholder`,`readonly`,`disabled`],_l={class:`fou-date-panel__side`},vl={class:`fou-date-panel__header`},yl={class:`fou-date-panel__title`},bl={class:`fou-date-panel__weeks`},xl={class:`fou-date-panel__grid fou-date-panel__grid--day`},Sl=[`disabled`,`onClick`],Cl={class:`fou-date__solar`},wl={key:1,class:`fou-date-panel__grid fou-date-panel__grid--month`},Tl=[`disabled`,`onClick`],El={class:`fou-date__solar`},Dl={key:2,class:`fou-date-panel__grid fou-date-panel__grid--year`},Ol=[`disabled`,`onClick`],kl={class:`fou-date__solar`},Al={key:0,class:`fou-date-panel__side`},jl={class:`fou-date-panel__header`},Ml={class:`fou-date-panel__title`},Nl={class:`fou-date-panel__weeks`},Pl={class:`fou-date-panel__grid fou-date-panel__grid--day`},Fl=[`disabled`,`onClick`],Il={class:`fou-date__solar`},Ll={key:1,class:`fou-date-panel__grid fou-date-panel__grid--month`},Rl=[`disabled`,`onClick`],zl={class:`fou-date__solar`},Bl={key:2,class:`fou-date-panel__grid fou-date-panel__grid--year`},Vl=[`disabled`,`onClick`],Hl={class:`fou-date__solar`},Ul={key:0,class:`fou-date-panel__time`},Wl=[`value`],Gl=[`value`],Kl=[`value`],ql={key:1,class:`fou-date-panel__footer`},Jl=[`disabled`],Yl=(0,t.defineComponent)({name:`FouDate`,__name:`index`,props:{modelValue:{},showLunar:{type:Boolean,default:!0},type:{default:`date`},placeholder:{},startPlaceholder:{},endPlaceholder:{},format:{},valueFormat:{},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},size:{},editable:{type:Boolean,default:!0},readonly:{type:Boolean},rangeSeparator:{default:`至`},disabledDate:{},shortcuts:{},teleported:{type:Boolean},popperClass:{}},emits:[`update:modelValue`,`change`,`calendar-change`,`visible-change`,`panel-change`],setup(e,{emit:n}){let r=e,i=n,o=di(()=>r.disabled),{triggerBlur:s,triggerChange:c}=fi(),l=(0,t.computed)(()=>r.type===`datetime`||r.type===`datetimerange`),u=(0,t.ref)(null),d=(0,t.ref)(null),f=(0,t.ref)(!1),p=(0,t.ref)({}),m=(0,t.ref)(new Date().getFullYear()),h=(0,t.ref)(new Date().getMonth()),g=(0,t.ref)(new Date().getFullYear()),_=(0,t.ref)(new Date().getMonth()),v=(0,t.ref)(Math.floor(new Date().getFullYear()/10)*10),y=(0,t.ref)(Math.floor(new Date().getFullYear()/10)*10+10),b=(0,t.ref)(null),x=(0,t.ref)(null),S=[`日`,`一`,`二`,`三`,`四`,`五`,`六`],C=[`一月`,`二月`,`三月`,`四月`,`五月`,`六月`,`七月`,`八月`,`九月`,`十月`,`十一月`,`十二月`],w=(0,t.computed)(()=>{let e=r.type||`date`;return e===`year`||e===`yearrange`?`year`:e===`month`||e===`monthrange`?`month`:`date`}),T=(0,t.computed)(()=>[`daterange`,`datetimerange`,`monthrange`,`yearrange`].includes(r.type||``)),E=e=>{switch(e){case`datetime`:case`datetimerange`:return{format:`YYYY-MM-DD HH:mm:ss`,valueFormat:`YYYY-MM-DD HH:mm:ss`};case`month`:case`monthrange`:return{format:`YYYY-MM`,valueFormat:`YYYY-MM`};case`year`:case`yearrange`:return{format:`YYYY`,valueFormat:`YYYY`};default:return{format:`YYYY-MM-DD`,valueFormat:`YYYY-MM-DD`}}},D=(0,t.computed)(()=>r.valueFormat||E(r.type||`date`).valueFormat),O=(0,t.computed)(()=>r.format||E(r.type||`date`).format),A=(0,t.computed)(()=>w.value===`year`?`开始年份`:w.value===`month`?`开始月份`:`开始日期`),j=(0,t.computed)(()=>w.value===`year`?`结束年份`:w.value===`month`?`结束月份`:`结束日期`),M=(0,t.computed)(()=>w.value===`year`?`选择年份`:w.value===`month`?`选择月份`:`选择日期`),N=e=>String(e).padStart(2,`0`),P=(e,t)=>e?t.replace(/YYYY/g,String(e.getFullYear())).replace(/MM/g,N(e.getMonth()+1)).replace(/DD/g,N(e.getDate())).replace(/HH/g,N(e.getHours())).replace(/mm/g,N(e.getMinutes())).replace(/ss/g,N(e.getSeconds())):``,F=e=>{if(!e&&e!==0)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;let t=String(e).trim();if(!t)return null;let n=t.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?/);return n?new Date(Number(n[1]),Number(n[2])-1,Number(n[3]),Number(n[4]),Number(n[5]),Number(n[6]||0)):(n=t.match(/^(\d{4})-(\d{2})-(\d{2})/),n?new Date(Number(n[1]),Number(n[2])-1,Number(n[3])):(n=t.match(/^(\d{4})-(\d{2})$/),n?new Date(Number(n[1]),Number(n[2])-1,1):(n=t.match(/^(\d{4})$/),n?new Date(Number(n[1]),0,1):null)))},I=e=>Array.isArray(e)?[F(e[0]),F(e[1])]:[null,null],L=e=>P(e,D.value),R=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),ee=e=>new Date(e.getFullYear(),e.getMonth(),1),z=e=>new Date(e.getFullYear(),0,1),B=e=>w.value===`year`?z(e):w.value===`month`?ee(e):l.value?new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds()):R(e),V=e=>B(e).getTime(),H=(e,t)=>!!e&&!!t&&V(e)===V(t),te=(e,t)=>{let n=new Date(e.getFullYear(),e.getMonth()+t,1);if(w.value===`date`){let t=e.getDate(),r=new Date(n.getFullYear(),n.getMonth()+1,0).getDate();n.setDate(Math.min(t,r))}return B(n)},ne=(e,t)=>{let n=new Date(e);return n.setFullYear(e.getFullYear()+t),B(n)},re=e=>w.value===`year`?ne(e,1):te(e,1),ie=(0,t.computed)(()=>T.value?null:F(r.modelValue)),ae=(0,t.computed)(()=>T.value?I(r.modelValue):[null,null]),oe=(0,t.computed)(()=>f.value&&T.value?b.value:ae.value[0]),U=(0,t.computed)(()=>f.value&&T.value?x.value:ae.value[1]),se=(0,t.computed)(()=>P(ie.value,O.value)),ce=(0,t.computed)(()=>P(f.value?b.value:ae.value[0],O.value)),le=(0,t.computed)(()=>P(f.value?x.value:ae.value[1],O.value)),W=(0,t.computed)(()=>T.value?!!(ae.value[0]||ae.value[1]):!!ie.value),ue=(0,t.computed)(()=>T.value?!!(b.value&&x.value):!!ie.value||!!b.value),K=(0,t.computed)(()=>b.value||x.value||ie.value||new Date),de=(0,t.computed)(()=>K.value.getHours()),fe=(0,t.computed)(()=>K.value.getMinutes()),q=(0,t.computed)(()=>K.value.getSeconds()),pe=(e,t,n)=>{let r=new Date(e);return t===`h`&&r.setHours(Math.min(23,Math.max(0,n))),t===`m`&&r.setMinutes(Math.min(59,Math.max(0,n))),t===`s`&&r.setSeconds(Math.min(59,Math.max(0,n))),r},me=(e,t)=>{let n=Number(t.target.value);if(Number.isNaN(n))return;if(T.value){b.value&&=pe(b.value,e,n),x.value&&=pe(x.value,e,n);return}let r=ie.value||b.value||new Date,i=pe(r,e,n);b.value=i,Ve(L(i))},he=(0,t.computed)(()=>w.value===`year`?`${v.value}年 - ${v.value+9}年`:w.value===`month`?`${m.value}年`:`${m.value}年 ${h.value+1}月`),ge=(0,t.computed)(()=>w.value===`year`?`${y.value}年 - ${y.value+9}年`:w.value===`month`?`${g.value}年`:`${g.value}年 ${_.value+1}月`),_e=new Map,ve=e=>{try{let t=`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`;if(_e.has(t))return _e.get(t);let n=a.Solar.fromYmd(e.getFullYear(),e.getMonth()+1,e.getDate()),r=n.getLunar(),i=[...r.getFestivals(),...n.getFestivals()],o=r.getJieQi(),s=r.getDayInChinese(),c=``;i.length?(c=i[0],s=c):o?(c=o,s=o):r.getDay()===1&&(s=r.getMonthInChinese()+`月`);let l={label:s,festival:c||void 0};return _e.set(t,l),l}catch{return{label:``}}},ye=e=>{let t=new Date;return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()},be=(e,t,n)=>{if(!t||!n)return!1;let r=V(e),i=V(t),a=V(n);return r>=Math.min(i,a)&&r<=Math.max(i,a)},xe=e=>{let t=T.value?oe.value:null,n=T.value?U.value:null;return T.value?H(e,t)&&H(e,n)?`start-date end-date`:H(e,t)?`start-date`:H(e,n)?`end-date`:be(e,t,n)?`in-range`:``:``},Se=(e,t)=>{let n=new Date(e,t,1).getDay(),i=new Date(e,t+1,0).getDate(),a=[],o=(e,t)=>{let n=r.disabledDate?.(e)??!1,i=T.value?H(e,oe.value)||H(e,U.value):H(e,ie.value);a.push({key:`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`,date:B(e),day:e.getDate(),label:String(e.getDate()),inMonth:t,disabled:n,selected:i,rangeState:xe(e),isToday:ye(e),lunar:ve(e)})};for(let r=0;r<n;r++)o(new Date(e,t,-n+r+1),!1);for(let n=1;n<=i;n++)o(new Date(e,t,n),!0);for(;a.length%7!=0;){let e=a[a.length-1].date;o(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1),!1)}return a},Ce=e=>C.map((t,n)=>{let i=new Date(e,n,1),a=r.disabledDate?.(i)??!1,o=T.value?H(i,oe.value)||H(i,U.value):H(i,ie.value);return{key:`${e}-${n}`,date:B(i),label:t,day:n+1,inMonth:!0,disabled:a,selected:o,rangeState:xe(i),isToday:!1,lunar:{label:``}}}),we=e=>Array.from({length:10},(t,n)=>{let i=e+n,a=new Date(i,0,1),o=r.disabledDate?.(a)??!1,s=T.value?H(a,oe.value)||H(a,U.value):H(a,ie.value);return{key:`y-${i}`,date:B(a),label:String(i),day:i,inMonth:!0,disabled:o,selected:s,rangeState:xe(a),isToday:!1,lunar:{label:``}}}),Te=(0,t.computed)(()=>Se(m.value,h.value)),Ee=(0,t.computed)(()=>Se(g.value,_.value)),De=(0,t.computed)(()=>Ce(m.value)),Oe=(0,t.computed)(()=>Ce(g.value)),ke=(0,t.computed)(()=>we(v.value)),Ae=(0,t.computed)(()=>we(y.value)),je=e=>{let t=String(e.rangeState||``);return{"is-other-month":!e.inMonth,"is-disabled":e.disabled,"is-selected":e.selected,"is-today":e.isToday,"in-range":t.includes(`in-range`),"start-date":t.includes(`start-date`),"end-date":t.includes(`end-date`)}},Me=()=>{if(w.value===`date`){let e=m.value,t=h.value+1;t>11&&(t=0,e+=1),g.value=e,_.value=t}else w.value===`month`?g.value=m.value+1:y.value=v.value+10},Ne=e=>{m.value=e.getFullYear(),h.value=e.getMonth(),v.value=Math.floor(e.getFullYear()/10)*10},Pe=e=>{g.value=e.getFullYear(),_.value=e.getMonth(),y.value=Math.floor(e.getFullYear()/10)*10},Fe=()=>{let e=u.value,t=d.value;if(!e)return;let n=e.getBoundingClientRect(),r=t?.offsetWidth||(T.value?640:322),i=t?.offsetHeight||360,a=n.bottom+4,o=n.left;o+r>window.innerWidth-8&&(o=Math.max(8,window.innerWidth-r-8)),a+i>window.innerHeight-8&&(a=Math.max(8,n.top-i-4)),p.value={position:`fixed`,top:`${Math.max(8,a)}px`,left:`${Math.max(8,o)}px`,zIndex:String(G(2e3))}},Ie=async()=>{if(!o.value){if(Fe(),f.value=!0,i(`visible-change`,!0),T.value){let[e,t]=ae.value;b.value=e?B(e):null,x.value=t?B(t):null;let n=b.value||new Date,r=x.value||re(B(n));if(Ne(n),Pe(r),w.value===`date`){let e=m.value*12+h.value;g.value*12+_.value<=e&&Me()}else w.value===`month`?g.value<=m.value&&(g.value=m.value+1):y.value<=v.value&&(y.value=v.value+10)}else{let e=ie.value||new Date;Ne(e)}await(0,t.nextTick)(),requestAnimationFrame(()=>{Fe(),requestAnimationFrame(()=>Fe())}),i(`panel-change`,[m.value,h.value])}},Le=()=>{f.value&&(f.value=!1,b.value=null,x.value=null,i(`visible-change`,!1),s())},Re=()=>{f.value?Le():Ie()},ze=e=>{if(w.value===`date`){let t=h.value+e,n=m.value;t<0?(t=11,--n):t>11&&(t=0,n+=1),m.value=n,h.value=t}else w.value===`month`?m.value+=e:v.value+=e*10;i(`panel-change`,[m.value,h.value])},Be=e=>{if(w.value===`date`){let t=_.value+e,n=g.value;t<0?(t=11,--n):t>11&&(t=0,n+=1),g.value=n,_.value=t}else w.value===`month`?g.value+=e:y.value+=e*10;i(`panel-change`,[g.value,_.value])},Ve=e=>{i(`update:modelValue`,e),i(`change`,e),i(`calendar-change`,e),c()},He=e=>{if(!l.value)return e;let t=(T.value?b.value:ie.value)||new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds())},Ue=(e,t)=>{if(t.disabled)return;let n=He(B(t.date));if(!T.value){if(l.value){b.value=n,Ve(L(n));return}Ve(L(n)),Le();return}let r=!!(b.value&&x.value);if(!b.value||r){b.value=n,x.value=null;return}V(n)<V(b.value)?(x.value=b.value,b.value=n):x.value=n},We=()=>{if(T.value){if(!b.value||!x.value)return;let e=b.value,t=x.value;V(e)>V(t)&&(t=re(e)),Ve([L(e),L(t)]),Le();return}let e=b.value||ie.value;e&&(Ve(L(e)),Le())},Ge=()=>{b.value=null,x.value=null,Le()},Ke=(0,t.computed)(()=>o.value||!!r.readonly||!r.editable||T.value),qe=e=>{if(Ke.value)return;let t=e.target.value,n=F(t);n?Ve(L(n)):String(t??``).trim()||Ve(null)},Je=()=>{Ve(T.value?[]:null)},Ye=e=>{if(!f.value)return;let t=e.target;u.value?.contains(t)||d.value?.contains(t)||Le()};return(0,t.watch)(f,e=>{e?(document.addEventListener(`click`,Ye,!0),window.addEventListener(`scroll`,Fe,!0),window.addEventListener(`resize`,Fe)):(document.removeEventListener(`click`,Ye,!0),window.removeEventListener(`scroll`,Fe,!0),window.removeEventListener(`resize`,Fe))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`click`,Ye,!0),window.removeEventListener(`scroll`,Fe,!0),window.removeEventListener(`resize`,Fe)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:u,class:(0,t.normalizeClass)([`fou-date`,[`fou-date--${e.type}`,{"is-disabled":(0,t.unref)(o),"is-focused":(0,t.unref)(f)}]])},[(0,t.createElementVNode)(`div`,{class:`fou-date__editor`,onClick:Re},[(0,t.unref)(T)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`input`,{class:`fou-date__input`,value:(0,t.unref)(ce),placeholder:e.startPlaceholder||(0,t.unref)(A),readonly:(0,t.unref)(Ke),disabled:(0,t.unref)(o)},null,8,pl),(0,t.createElementVNode)(`span`,ml,(0,t.toDisplayString)(e.rangeSeparator),1),(0,t.createElementVNode)(`input`,{class:`fou-date__input`,value:(0,t.unref)(le),placeholder:e.endPlaceholder||(0,t.unref)(j),readonly:(0,t.unref)(Ke),disabled:(0,t.unref)(o)},null,8,hl)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,class:`fou-date__input fou-date__input--single`,value:(0,t.unref)(se),placeholder:e.placeholder||(0,t.unref)(M),readonly:(0,t.unref)(Ke),disabled:(0,t.unref)(o),onBlur:qe},null,40,gl)),e.clearable&&(0,t.unref)(W)&&!(0,t.unref)(o)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-date__clear`,onClick:(0,t.withModifiers)(Je,[`stop`])},` × `)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,{icon:`calendar-line`,class:`fou-date__icon`})]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-date-fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(f)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`panelRef`,ref:d,class:(0,t.normalizeClass)([`fou-date-panel`,[e.popperClass,{"fou-date-panel--lunar":e.showLunar&&(0,t.unref)(w)===`date`,"fou-date-panel--range":(0,t.unref)(T),[`fou-date-panel--${(0,t.unref)(w)}`]:!0}]]),style:(0,t.normalizeStyle)((0,t.unref)(p)),onMousedown:r[7]||=(0,t.withModifiers)(()=>{},[`prevent`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date-panel__body`,{"is-range":(0,t.unref)(T)}])},[(0,t.createElementVNode)(`div`,_l,[(0,t.createElementVNode)(`div`,vl,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[0]||=e=>ze(-1)},`‹`),(0,t.createElementVNode)(`span`,yl,(0,t.toDisplayString)((0,t.unref)(he)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[1]||=e=>ze(1)},`›`)]),(0,t.unref)(w)===`date`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,bl,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(S,e=>(0,t.createElementVNode)(`span`,{key:e,class:`fou-date-panel__week`},(0,t.toDisplayString)(e),1)),64))]),(0,t.createElementVNode)(`div`,xl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Te),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`l-${n.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell`,je(n)]),disabled:n.disabled,onClick:e=>Ue(`start`,n)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":n.selected,"is-today":n.isToday}])},[(0,t.createElementVNode)(`span`,Cl,(0,t.toDisplayString)(n.day),1),e.showLunar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`fou-date__lunar`,{"is-festival":n.lunar.festival}])},(0,t.toDisplayString)(n.lunar.label),3)):(0,t.createCommentVNode)(``,!0)],2)],10,Sl))),128))])],64)):(0,t.unref)(w)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(De),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`lm-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--month`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`start`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,El,(0,t.toDisplayString)(e.label),1)],2)],10,Tl))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(ke),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`ly-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--year`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`start`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,kl,(0,t.toDisplayString)(e.label),1)],2)],10,Ol))),128))]))]),(0,t.unref)(T)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Al,[(0,t.createElementVNode)(`div`,jl,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[2]||=e=>Be(-1)},`‹`),(0,t.createElementVNode)(`span`,Ml,(0,t.toDisplayString)((0,t.unref)(ge)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__nav`,onClick:r[3]||=e=>Be(1)},`›`)]),(0,t.unref)(w)===`date`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,Nl,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(S,e=>(0,t.createElementVNode)(`span`,{key:`r-${e}`,class:`fou-date-panel__week`},(0,t.toDisplayString)(e),1)),64))]),(0,t.createElementVNode)(`div`,Pl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ee),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`r-${n.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell`,je(n)]),disabled:n.disabled,onClick:e=>Ue(`end`,n)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":n.selected,"is-today":n.isToday}])},[(0,t.createElementVNode)(`span`,Il,(0,t.toDisplayString)(n.day),1),e.showLunar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`fou-date__lunar`,{"is-festival":n.lunar.festival}])},(0,t.toDisplayString)(n.lunar.label),3)):(0,t.createCommentVNode)(``,!0)],2)],10,Fl))),128))])],64)):(0,t.unref)(w)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ll,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Oe),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`rm-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--month`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`end`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,zl,(0,t.toDisplayString)(e.label),1)],2)],10,Rl))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Ae),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:`ry-${e.key}`,type:`button`,class:(0,t.normalizeClass)([`fou-date-panel__cell fou-date-panel__cell--year`,je(e)]),disabled:e.disabled,onClick:t=>Ue(`end`,e)},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-date__cell`,{"is-selected":e.selected}])},[(0,t.createElementVNode)(`span`,Hl,(0,t.toDisplayString)(e.label),1)],2)],10,Vl))),128))]))])):(0,t.createCommentVNode)(``,!0)],2),(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ul,[(0,t.createElementVNode)(`label`,null,[r[8]||=(0,t.createTextVNode)(` 时 `,-1),(0,t.createElementVNode)(`input`,{class:`fou-date-panel__time-input`,type:`number`,min:`0`,max:`23`,value:(0,t.unref)(de),onChange:r[4]||=e=>me(`h`,e)},null,40,Wl)]),(0,t.createElementVNode)(`label`,null,[r[9]||=(0,t.createTextVNode)(` 分 `,-1),(0,t.createElementVNode)(`input`,{class:`fou-date-panel__time-input`,type:`number`,min:`0`,max:`59`,value:(0,t.unref)(fe),onChange:r[5]||=e=>me(`m`,e)},null,40,Gl)]),(0,t.createElementVNode)(`label`,null,[r[10]||=(0,t.createTextVNode)(` 秒 `,-1),(0,t.createElementVNode)(`input`,{class:`fou-date-panel__time-input`,type:`number`,min:`0`,max:`59`,value:(0,t.unref)(q),onChange:r[6]||=e=>me(`s`,e)},null,40,Kl)])])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(T)||(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ql,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__btn fou-date-panel__btn--text`,onClick:Ge},` 取消 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-date-panel__btn fou-date-panel__btn--primary`,disabled:!(0,t.unref)(ue),onClick:We},` 确定 `,8,Jl)])):(0,t.createCommentVNode)(``,!0)],38)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],2)}}}),Xl=v({default:()=>Zl}),Zl=Yl,Ql={class:`fou-scrollbar__view`},$l=(0,t.defineComponent)({name:`FouScrollbar`,__name:`index`,props:{maxHeight:{},height:{},native:{type:Boolean,default:!0},wrapClass:{}},emits:[`scroll`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=e=>{if(e!=null&&e!==``)return typeof e==`number`?`${e}px`:String(e)},c=(0,t.computed)(()=>{let e={},t=s(i.maxHeight),n=s(i.height);return t&&(e.maxHeight=t),n&&(e.height=n),e}),l=e=>{let t=e.target;a(`scroll`,{scrollTop:t.scrollTop,scrollLeft:t.scrollLeft})};return n({wrapRef:o,$el:o,setScrollTop:e=>{o.value&&(o.value.scrollTop=e)},setScrollLeft:e=>{o.value&&(o.value.scrollLeft=e)}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:o,class:(0,t.normalizeClass)([`fou-scrollbar`,[e.wrapClass,{"fou-scrollbar--native":e.native}]]),style:(0,t.normalizeStyle)((0,t.unref)(c)),onScroll:l},[(0,t.createElementVNode)(`div`,Ql,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38))}}),eu=v({default:()=>tu}),tu=S($l,[[`__scopeId`,`data-v-7c39c3a5`]]),nu=Symbol(`fouTree`),ru={label:`label`,children:`children`,value:`value`,disabled:`disabled`},iu=[{label:`新增同级`,command:`append-sibling`,icon:`add-line`},{label:`新增子节点`,command:`append-child`,icon:`node-tree`},{divider:!0},{label:`删除`,command:`remove`,icon:`delete-bin-line`}];function au(e,t){return e[t.value??`value`]??e[t.label??`label`]}function ou(e,t){return String(e[t.label??`label`]??``)}function su(e,t){let n=e[t.children??`children`];return Array.isArray(n)?n:[]}function cu(e,t){return!!e[t.disabled??`disabled`]}function lu(e,t,n,r=null){e.forEach(e=>{n(e,r),lu(su(e,t),t,n,e)})}function uu(e,t){let n=[];return lu(e,t,e=>{n.push(au(e,t))}),n}function du(e,t){let n=[];return lu(su(e,t),t,e=>{n.push(au(e,t))}),n}function fu(e,t,n,r=null){for(let i=0;i<e.length;i++){let a=e[i];if(au(a,n)===t)return{node:a,parent:r,list:e,index:i};let o=fu(su(a,n),t,n,a);if(o)return o}return null}function pu(e,t={}){let n=e.value??`value`,r=e.label??`label`,i=`n-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,7)}`;return{[n]:t[n]??i,[r]:t[r]??t.label??`新节点`,...t}}function mu(e,t){let n=t.children??`children`;return Array.isArray(e[n])||(e[n]=[]),e[n]}var hu=[`aria-expanded`],gu={key:1,class:`fou-tree-node__expand is-leaf`},_u={class:`fou-tree-node__label`},vu={key:0,class:`fou-tree-node__children`},yu=(0,t.defineComponent)({name:`FouTreeNode`,__name:`FouTreeNode`,props:{node:{},level:{}},setup(e){let n=e,r=(0,t.inject)(nu);if(!r)throw Error(`FouTreeNode must be used inside FouTree`);let i=(0,t.computed)(()=>r.resolvedProps.value),a=(0,t.computed)(()=>au(n.node,i.value)),o=(0,t.computed)(()=>ou(n.node,i.value)),s=(0,t.computed)(()=>su(n.node,i.value)),c=(0,t.computed)(()=>s.value.length>0),l=(0,t.computed)(()=>r.expandedKeys.value.has(a.value)),u=(0,t.computed)(()=>r.highlightCurrent.value&&r.currentKey.value===a.value),d=(0,t.computed)(()=>cu(n.node,i.value)),f=(0,t.computed)(()=>r.checkedSet.value.has(a.value)),p=(0,t.computed)(()=>r.halfSet.value.has(a.value)),m=e=>au(e,i.value),h=e=>r.filterText.value?r.filterNodeMethod?r.filterNodeMethod(r.filterText.value,e,e):ou(e,i.value).toLowerCase().includes(r.filterText.value.toLowerCase()):!0,g=e=>h(e)?!0:su(e,i.value).some(e=>g(e)),_=(0,t.computed)(()=>s.value.filter(e=>g(e))),v=()=>{d.value||r.onNodeClick(n.node)},y=e=>{r.showContextMenu.value&&(e.preventDefault(),r.onContextMenu(e,n.node))},b=()=>{d.value||r.toggleCheck(n.node)},x=()=>{d.value||r.toggleRadio(n.node)},S=(0,t.computed)(()=>({setup:()=>()=>r.slots.default?.({node:n.node,data:n.node,label:o.value})}));return(n,i)=>{let s=Ri,h=qi,g=(0,t.resolveComponent)(`FouTreeNode`,!0);return(0,t.openBlock)(),(0,t.createElementBlock)(`li`,{class:`fou-tree-node`,role:`treeitem`,"aria-expanded":(0,t.unref)(c)?(0,t.unref)(l):void 0},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-tree-node__content`,{"is-current":(0,t.unref)(u),"is-expanded":(0,t.unref)(l),"is-disabled":(0,t.unref)(d)}]),style:(0,t.normalizeStyle)({paddingLeft:`${e.level*18+8}px`}),onClick:v,onContextmenu:y},[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tree-node__expand`,onClick:i[0]||=(0,t.withModifiers)(e=>(0,t.unref)(r).toggleExpand((0,t.unref)(a)),[`stop`])},(0,t.toDisplayString)((0,t.unref)(l)?`▾`:`▸`),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gu)),(0,t.unref)(r).showCheckbox.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:2,class:`fou-tree-node__check`,onClick:i[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createVNode)(s,{"model-value":(0,t.unref)(f),indeterminate:(0,t.unref)(p),disabled:(0,t.unref)(d),onChange:b},null,8,[`model-value`,`indeterminate`,`disabled`])])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(r).showRadio.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:3,class:`fou-tree-node__radio`,onClick:i[2]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createVNode)(h,{"model-value":(0,t.unref)(r).radioKey.value,label:(0,t.unref)(a),disabled:(0,t.unref)(d),onChange:x},null,8,[`model-value`,`label`,`disabled`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,_u,[(0,t.unref)(r).slots.default?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(S)),{key:0})):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(o)),1)],64))])],38),(0,t.unref)(c)&&(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,vu,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(_),n=>((0,t.openBlock)(),(0,t.createBlock)(g,{key:String(m(n)),node:n,level:e.level+1},null,8,[`node`,`level`]))),128))])):(0,t.createCommentVNode)(``,!0)],8,hu)}}}),bu=v({default:()=>xu}),xu=S(yu,[[`__scopeId`,`data-v-e5168c25`]]),Su={key:0,class:`fou-tree__list`},Cu={key:1,class:`fou-tree__empty`},wu={class:`fou-tree__menu-list`},Tu={key:0,class:`fou-tree__menu-divider`,role:`separator`},Eu=[`onClick`],Du=(0,t.defineComponent)({name:`FouTree`,__name:`index`,props:{data:{default:()=>[]},props:{default:()=>({})},highlightCurrent:{type:Boolean,default:!1},defaultExpandAll:{type:Boolean,default:!1},defaultExpandedKeys:{default:()=>[]},filterNodeMethod:{type:Function,default:void 0},emptyText:{default:`无数据`},showCheckbox:{type:Boolean,default:!1},checkStrictly:{type:Boolean,default:!1},checkedKeys:{default:void 0},defaultCheckedKeys:{default:()=>[]},showRadio:{type:Boolean,default:!1},radioKey:{default:void 0},defaultRadioKey:{default:null},currentKey:{default:void 0},showContextMenu:{type:Boolean,default:!1},contextMenuItems:{default:void 0}},emits:[`node-click`,`update:checkedKeys`,`check`,`update:radioKey`,`radio-change`,`update:currentKey`,`current-change`,`node-contextmenu`,`context-command`,`node-append`,`node-remove`,`update:data`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.useSlots)(),s=(0,t.ref)(i.currentKey??null),c=(0,t.ref)(i.radioKey??i.defaultRadioKey??null),l=(0,t.ref)(new Set(i.checkedKeys??i.defaultCheckedKeys)),u=(0,t.ref)(new Set),d=(0,t.ref)(``),f=(0,t.ref)(!1),p=(0,t.ref)({}),m=(0,t.ref)(null),h=(0,t.ref)(null),g=!1,_=(0,t.computed)(()=>({...ru,...i.props})),v=(0,t.computed)({get:()=>i.currentKey===void 0?s.value:i.currentKey,set:e=>{s.value=e,a(`update:currentKey`,e)}}),y=(0,t.computed)({get:()=>i.radioKey===void 0?c.value:i.radioKey,set:e=>{c.value=e,a(`update:radioKey`,e)}}),b=(0,t.computed)(()=>i.data||[]);(0,t.watch)(()=>i.checkedKeys,e=>{e&&(l.value=new Set(e))}),(0,t.watch)(()=>i.radioKey,e=>{e!==void 0&&(c.value=e)}),(0,t.watch)(()=>i.currentKey,e=>{e!==void 0&&(s.value=e)}),(0,t.watch)(()=>i.data,()=>{if(i.defaultExpandAll){u.value=new Set([...u.value,...uu(b.value,_.value)]);return}!g&&i.defaultExpandedKeys?.length&&(u.value=new Set(i.defaultExpandedKeys))},{immediate:!0}),g=!0;let x=e=>d.value?i.filterNodeMethod?i.filterNodeMethod(d.value,e,e):ou(e,_.value).toLowerCase().includes(d.value.toLowerCase()):!0,S=e=>x(e)?!0:su(e,_.value).some(e=>S(e)),C=(0,t.computed)(()=>b.value.filter(e=>S(e))),w=(0,t.computed)(()=>l.value),T=(0,t.computed)(()=>{let e=new Set;if(i.checkStrictly||!i.showCheckbox)return e;let t=_.value,n=l.value,r=i=>{i.forEach(i=>{let a=su(i,t);if(!a.length)return;r(a);let o=a.every(e=>n.has(au(e,t)));a.some(r=>n.has(au(r,t))||e.has(au(r,t)))&&!o&&e.add(au(i,t))})};return r(b.value),e}),E=(e,t)=>{let n=[...l.value];a(`update:checkedKeys`,n),a(`check`,{node:e,checked:t,checkedKeys:n,halfCheckedKeys:[...T.value]})},D=e=>{let t=new Set(u.value);t.has(e)?t.delete(e):t.add(e),u.value=t},O=e=>{let t=new Set(u.value);t.add(e),u.value=t},A=e=>e==null?null:fu(b.value,e,_.value),j=e=>{let t=e?au(e,_.value):null;v.value=t,a(`current-change`,e)},M=e=>{j(e),i.showRadio&&(y.value=au(e,_.value),a(`radio-change`,y.value,e)),a(`node-click`,e,e)},N=e=>{if(cu(e,_.value))return;let t=_.value,n=au(e,t),r=new Set(l.value),a=!r.has(n),o=(e,t)=>{t?r.add(e):r.delete(e)};if(o(n,a),!i.checkStrictly){du(e,t).forEach(e=>o(e,a));let i=A(n)?.parent??null;for(;i;){let e=su(i,t).filter(e=>!cu(e,t)),n=e.length>0&&e.every(e=>r.has(au(e,t)));o(au(i,t),n),i=A(au(i,t))?.parent??null}}l.value=r,E(e,a)},P=e=>{if(cu(e,_.value))return;let t=au(e,_.value);y.value=t,j(e),a(`radio-change`,t,e)},F=()=>{f.value=!1,h.value=null},I=async(e,n)=>{if(!i.showContextMenu)return;h.value=n,f.value=!0,a(`node-contextmenu`,e,n),await(0,t.nextTick)();let r=m.value,o=r?.offsetWidth||160,s=r?.offsetHeight||120,c=Math.max(4,Math.min(e.clientX,window.innerWidth-o-4)),l=Math.max(4,Math.min(e.clientY,window.innerHeight-s-4));p.value={top:`${l}px`,left:`${c}px`}},L=(e,t)=>{I(e,t)},R=e=>{i.showContextMenu&&(e.target.closest(`.fou-tree-node__content`)||(e.preventDefault(),I(e,null)))},ee=[{label:`新增节点`,command:`append-root`,icon:`add-line`}],z=(0,t.computed)(()=>h.value?i.contextMenuItems?.length?i.contextMenuItems:iu:ee),B=()=>{a(`update:data`,b.value)},V=(e={},t=null,n)=>{let r=pu(_.value,e);if(n){let e=A(au(n,_.value));e?e.list.splice(e.index+1,0,r):b.value.push(r)}else t?(mu(t,_.value).push(r),O(au(t,_.value))):b.value.push(r);return B(),a(`node-append`,r,t),r},H=e=>{let t=typeof e==`object`?au(e,_.value):e,n=A(t);if(!n)return null;let r=n.list.splice(n.index,1)[0],i=new Set([t,...du(r,_.value)]),o=new Set(l.value);return i.forEach(e=>o.delete(e)),l.value=o,a(`update:checkedKeys`,[...o]),v.value!==null&&i.has(v.value)&&j(null),y.value!==null&&i.has(y.value)&&(y.value=null,a(`radio-change`,null,null)),B(),a(`node-remove`,r),r},te=e=>{if(e.disabled||e.command===void 0)return;let t=h.value;if(a(`context-command`,e.command,t),e.command===`append-root`)V();else if(e.command===`append-sibling`){if(t){let e=A(au(t,_.value));V({},e?.parent??null,t)}else V()}else e.command===`append-child`&&t?V({},t):e.command===`remove`&&t&&H(t);F()},ne=e=>{m.value?.contains(e.target)||F()};(0,t.watch)(f,e=>{e?document.addEventListener(`mousedown`,ne,!0):document.removeEventListener(`mousedown`,ne,!0)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,ne,!0)});let re=(0,t.computed)(()=>v.value);return(0,t.provide)(nu,{resolvedProps:_,expandedKeys:u,currentKey:re,highlightCurrent:(0,t.computed)(()=>i.highlightCurrent),filterText:d,filterNodeMethod:i.filterNodeMethod,showCheckbox:(0,t.computed)(()=>i.showCheckbox),showRadio:(0,t.computed)(()=>i.showRadio),checkedSet:w,halfSet:T,radioKey:(0,t.computed)(()=>y.value),showContextMenu:(0,t.computed)(()=>i.showContextMenu),slots:o,toggleExpand:D,onNodeClick:M,toggleCheck:N,toggleRadio:P,onContextMenu:L}),n({filter:e=>{d.value=e},setCurrentKey:e=>{let t=e===null?null:A(e);j(t?.node??null)},getCurrentKey:()=>v.value,getCurrentNode:()=>A(v.value)?.node??null,getCheckedKeys:()=>[...l.value],getHalfCheckedKeys:()=>[...T.value],getCheckedNodes:()=>{let e=[],t=l.value;return lu(b.value,_.value,n=>{t.has(au(n,_.value))&&e.push(n)}),e},setCheckedKeys:e=>{l.value=new Set(e),a(`update:checkedKeys`,[...l.value])},getRadioKey:()=>y.value,setRadioKey:e=>{y.value=e;let t=e===null?null:A(e);a(`radio-change`,e,t?.node??null)},append:(e,t)=>{if(e==null)return V(t);let n=A(typeof e==`object`?au(e,_.value):e);return V(t,n?.node??null)},remove:e=>H(e)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-tree`,role:`tree`,onContextmenu:R},[C.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,Su,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(C.value,e=>((0,t.openBlock)(),(0,t.createBlock)(xu,{key:String((0,t.unref)(au)(e,_.value)),node:e,level:0},null,8,[`node`]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cu,(0,t.toDisplayString)(e.emptyText),1)),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-tree-menu`},{default:(0,t.withCtx)(()=>[f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`menuRef`,ref:m,class:`fou-tree__menu`,style:(0,t.normalizeStyle)(p.value),onContextmenu:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`ul`,wu,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(z.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n},[e.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Tu)):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:1,class:(0,t.normalizeClass)([`fou-tree__menu-item`,{"is-disabled":e.disabled}]),onClick:t=>te(e)},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:e.icon,class:`fou-tree__menu-icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],10,Eu))],64))),128))])],36)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],32)}}}),Ou=v({default:()=>ku}),ku=S(Du,[[`__scopeId`,`data-v-a1f2a3b5`]]),Au=e=>e.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,``).replace(/<\/?script\b[^>]*>/gi,``),ju=e=>new Promise(n=>{let r=document.createElement(`div`);document.body.appendChild(r);let i=(0,t.reactive)({title:e.title||`温馨提示`,message:e.message,showCancel:!!e.showCancel,confirmText:e.confirmButtonText||`确定`,cancelText:e.cancelButtonText||`取消`,html:!!e.dangerouslyUseHTMLString}),a=e=>{e.key===`Escape`&&o(i.showCancel?`cancel`:`confirm`)},o=e=>{window.removeEventListener(`keydown`,a),s.unmount(),r.remove(),n(e)},s=(0,t.createApp)({setup(){return()=>(0,t.h)(`div`,{class:`fou-msgbox-root`},[(0,t.h)(`div`,{class:`fou-msgbox-mask`,onClick:()=>i.showCancel&&o(`cancel`)}),(0,t.h)(`div`,{class:`fou-msgbox`,role:`dialog`,"aria-modal":`true`,"aria-label":i.title},[(0,t.h)(`div`,{class:`fou-msgbox__title`},i.title),i.html&&typeof i.message==`string`?(0,t.h)(`div`,{class:`fou-msgbox__body`,innerHTML:Au(i.message)}):(0,t.h)(`div`,{class:`fou-msgbox__body`},(0,t.isVNode)(i.message)?[i.message]:String(i.message??``)),(0,t.h)(`div`,{class:`fou-msgbox__footer`},[i.showCancel?(0,t.h)(`button`,{type:`button`,class:`fou-msgbox__btn`,onClick:()=>o(`cancel`)},i.cancelText):null,(0,t.h)(`button`,{type:`button`,class:`fou-msgbox__btn fou-msgbox__btn--primary`,onClick:()=>o(`confirm`)},i.confirmText)])])])}});if(!document.getElementById(`fou-msgbox-style`)){let e=document.createElement(`style`);e.id=`fou-msgbox-style`,e.textContent=`
56
56
  .fou-msgbox-root{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center}
57
57
  .fou-msgbox-mask{position:absolute;inset:0;background:rgba(0,0,0,.45)}
58
58
  .fou-msgbox{position:relative;z-index:1;width:min(420px,92vw);padding:16px 18px;border-radius:8px;background:var(--fou-bg-color,#fff);box-shadow:0 12px 32px rgba(0,0,0,.18);color:var(--fou-text-color,#303133)}
@@ -61,15 +61,15 @@
61
61
  .fou-msgbox__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
62
62
  .fou-msgbox__btn{height:32px;padding:0 14px;border-radius:4px;border:1px solid var(--fou-border-color,#dcdfe6);background:#fff;cursor:pointer}
63
63
  .fou-msgbox__btn--primary{color:#fff;background:var(--fou-color-primary,#0f766e);border-color:var(--fou-color-primary,#0f766e)}
64
- `,document.head.appendChild(e)}window.addEventListener(`keydown`,a),s.mount(r)}),xu=async(e,t=`温馨提示`,n)=>{t&&typeof t==`function`&&(n=t,t=`温馨提示`),await bu({title:String(t),message:e,dangerouslyUseHTMLString:!1,showCancel:!1}),n?.()},Su=(e,t=`温馨提示`,n,r,i=`确定`,a=`取消`)=>bu({title:t,message:e,showCancel:!0,confirmButtonText:i,cancelButtonText:a,dangerouslyUseHTMLString:!1}).then(e=>{e===`confirm`?n?.():r?.()});function Cu(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&(`message`in e||`title`in e)}var wu=(e,t=`温馨提示`,n)=>{if(Cu(e)&&e.message!=null){let t=e;return bu({title:t.title||`温馨提示`,message:t.message,showCancel:t.showCancel!==!1,confirmButtonText:t.confirmButtonText||`确定`,cancelButtonText:t.cancelButtonText||`取消`,dangerouslyUseHTMLString:!!t.dangerouslyUseHTMLString})}return bu({title:t,message:e,showCancel:!0,confirmButtonText:n?.confirmButtonText||`确定`,cancelButtonText:n?.cancelButtonText||`取消`,dangerouslyUseHTMLString:!!n?.dangerouslyUseHTMLString})},Tu=[`competition_name`,`student_name`,`competition_no`,`school_name`,`school_short_name`,`age_group`,`competition_room`,`seat_no`,`floor`,`teacher_name`,`date`,`session`,`enroll_teacher_name`,`teacher_phone`,`signup_teacher_name`,`signup_teacher_phone`,`signup_teacher_department`,`signup_teacher_position`,`signup_teacher_id_card`,`signup_teacher_email`,`signup_teacher_username`,`venue_name`,`venue_address`,`competition_daily_start`,`competition_daily_end`],Eu={competition_name:`比赛名称`,student_name:`学生姓名`,competition_no:`参赛编号`,school_name:`学校`,school_short_name:`学校简称`,age_group:`年龄段`,competition_room:`考场/教室`,seat_no:`座位号`,floor:`楼层`,teacher_name:`监考教师`,date:`比赛日期`,session:`场次`,enroll_teacher_name:`报名/带队教师(扩展)`,teacher_phone:`教师手机(扩展)`,signup_teacher_name:`报名教师姓名`,signup_teacher_phone:`报名教师手机`,signup_teacher_department:`报名教师部门`,signup_teacher_position:`报名教师职务`,signup_teacher_id_card:`报名教师身份证`,signup_teacher_email:`报名教师邮箱`,signup_teacher_username:`报名教师账号`,venue_name:`场地名称`,venue_address:`场地地址`,competition_daily_start:`比赛当天开始时间`,competition_daily_end:`比赛当天结束时间`};function Du(e,t){return e.replace(/\{\{\s*([a-zA-Z0-9_.]+)\s*\}\}/g,(e,n)=>{if(n.includes(`.`)){let[e,r]=n.split(`.`),i=t[e];if(i&&typeof i==`object`){let e=i[r];if(e!=null&&e!==``)return String(e)}}let r=t[n];return r!=null&&r!==``?String(r):``})}function Ou(e,t){let n=(e.competition_name==null?``:String(e.competition_name))||(t??``),r=String(e.school_name??``),i=String(e.school_short_name??e.school_name_short??``).trim()||ku(r);return{competition_name:n,student_name:String(e.student_name??``),competition_no:String(e.competition_no??``),school_name:r,school_short_name:i,age_group:String(e.age_group??``),competition_room:String(e.competition_room??``),seat_no:String(e.seat_no??``),floor:String(e.floor??``),teacher_name:String(e.teacher_name??``),date:String(e.date??e.competition_date??``),session:String(e.session??e.competition_session??``),enroll_teacher_name:String(e.enroll_teacher_name??``),teacher_phone:String(e.teacher_phone??``),signup_teacher_name:String(e.signup_teacher_name??``),signup_teacher_phone:String(e.signup_teacher_phone??``),signup_teacher_department:String(e.signup_teacher_department??``),signup_teacher_position:String(e.signup_teacher_position??``),signup_teacher_id_card:String(e.signup_teacher_id_card??``),signup_teacher_email:String(e.signup_teacher_email??``),signup_teacher_username:String(e.signup_teacher_username??``),venue_name:String(e.venue_name??``),venue_address:String(e.venue_address??``),competition_daily_start:String(e.competition_daily_start??``),competition_daily_end:String(e.competition_daily_end??``)}}function ku(e){let t=String(e??``).trim();if(!t)return``;t=t.replace(/\s+/g,``),t=t.replace(/^[中国中华人民共和國共和国]+/,``);let n=/^(?:[^省特别行政区]+省|内蒙古自治区|广西壮族自治区|宁夏回族自治区|新疆维吾尔自治区|西藏自治区|北京市|天津市|上海市|重庆市|香港特别行政区|澳门特别行政区|台湾省|[^市]+市|[^区县旗]+区|[^区县旗]+县|[^区县旗]+旗|[^镇乡街道]+镇|[^镇乡街道]+乡|[^镇乡街道]+街道)/,r=!0;for(;r&&t;){r=!1;let e=t.replace(n,``);e!==t&&(t=e,r=!0)}return t||e.trim()}function Au(e){return[...e].sort((e,t)=>(e.zIndex??0)-(t.zIndex??0))}var ju=Tu,Mu=Eu;function Nu(e,t){let n=(e.competition_name==null?``:String(e.competition_name))||(t??``),r=String(e.school_name??``),i=String(e.school_short_name??e.school_name_short??``).trim()||ku(r);return{competition_name:n,student_name:String(e.student_name??``),competition_no:String(e.competition_no??``),school_name:r,school_short_name:i,age_group:String(e.age_group??``),competition_room:String(e.competition_room??``),seat_no:String(e.seat_no??``),floor:String(e.floor??``),teacher_name:String(e.teacher_name??``),date:String(e.date??e.competition_date??``),session:String(e.session??e.competition_session??``),enroll_teacher_name:String(e.enroll_teacher_name??``),teacher_phone:String(e.teacher_phone??``),signup_teacher_name:String(e.signup_teacher_name??``),signup_teacher_phone:String(e.signup_teacher_phone??``),signup_teacher_department:String(e.signup_teacher_department??``),signup_teacher_position:String(e.signup_teacher_position??``),signup_teacher_id_card:String(e.signup_teacher_id_card??``),signup_teacher_email:String(e.signup_teacher_email??``),signup_teacher_username:String(e.signup_teacher_username??``),venue_name:String(e.venue_name??``),venue_address:String(e.venue_address??``),competition_daily_start:String(e.competition_daily_start??``),competition_daily_end:String(e.competition_daily_end??``)}}var Pu=[`spinner`,`dual-ring`,`crescent`,`gradient`,`dash`,`dots`,`wave`,`bounce`,`bars`,`bricks`,`square`,`flip`,`pulse`,`ripple`,`orbit`,`radar`,`spiral`,`infinity`,`hourglass`,`skeleton`],Fu=new WeakMap,Iu=e=>{if(e instanceof HTMLElement)return e;if(typeof e==`string`){let t=document.querySelector(e);if(t instanceof HTMLElement)return t}return document.body},Lu=e=>{let t=getComputedStyle(e).position;(t===`static`||!t)&&(e.dataset.fouLoadingPrevPosition=e.style.position||``,e.style.position=`relative`)},Ru=e=>{`fouLoadingPrevPosition`in e.dataset&&(e.style.position=e.dataset.fouLoadingPrevPosition||``,delete e.dataset.fouLoadingPrevPosition)},zu=e=>typeof e.value==`object`&&e.value!==null?{...e.value}:{loading:!!e.value},Bu=e=>typeof e.value==`object`&&e.value!==null?e.value.loading===void 0||!!e.value.loading:!!e.value,Vu=(e,n)=>{let r=n.text||``,i=n.effect||`spinner`,a=!!n.transparent,o=Fu.get(e);if(o&&o.text===r&&o.effect===i&&o.transparent===a)return o;o&&(o.app.unmount(),o.el.remove(),Fu.delete(e));let s=n.fullscreen??e===document.body;s||Lu(e);let c=document.createElement(`div`);c.className=`fou-loading-host`,e.appendChild(c);let l=(0,t.createApp)({setup(){return()=>(0,t.h)(Wa,{text:r,fullscreen:s,transparent:a,effect:i})}});l.mount(c);let u={app:l,el:c,host:e,text:r,effect:i,transparent:a};return Fu.set(e,u),u},Hu=e=>{let t=Fu.get(e);t&&(t.app.unmount(),t.el.remove(),Fu.delete(e),e!==document.body&&Ru(e))},Uu={mounted(e,t){Bu(t)&&Vu(e,{...zu(t),loading:!0})},updated(e,t){let n=zu(t);Bu(t)?Vu(e,{...n,loading:!0}):Hu(e)},unmounted(e){Hu(e)}},Wu={service(e={}){let t=Iu(e.target),n=t===document.body;return Vu(t,{...e,loading:!0,fullscreen:e.fullscreen??n}),{close:()=>Hu(t)}}},Gu={install(e){e.directive(`fou-loading`,Uu)}};function Ku(e){return typeof e==`string`?{size:e,orientation:`portrait`}:{size:e.size,orientation:e.orientation??`portrait`,widthMm:Number(e.widthMm||0)||void 0,heightMm:Number(e.heightMm||0)||void 0}}function qu(e){let t=e.size===`custom`;return new c.jsPDF({unit:`mm`,format:t?[Math.max(1,Number(e.widthMm||0)),Math.max(1,Number(e.heightMm||0))]:e.size===`a4`?`a4`:`a3`,orientation:t?`p`:e.orientation===`landscape`?`l`:`p`,compress:!0})}function Ju(e){return e.size===`custom`?`${Math.max(1,Number(e.widthMm||0))}mm ${Math.max(1,Number(e.heightMm||0))}mm`:`${e.size.toUpperCase()} ${e.orientation}`}async function Yu(e,t,n){if(!e.length)return;let r=Qu();try{let r=await Zu(e,n,{onProgress:e=>void 0});e.length,e.length,r.save(t)}finally{$u(r)}}async function Xu(e,t,n){if(!e.length)return;let r=Wu.service({fullscreen:!0,text:`正在准备打印预览`}),i=Ku(n),a=Array.from(document.querySelectorAll(`style`)).map(e=>e.outerHTML).join(`
64
+ `,document.head.appendChild(e)}window.addEventListener(`keydown`,a),s.mount(r)}),Mu=async(e,t=`温馨提示`,n)=>{t&&typeof t==`function`&&(n=t,t=`温馨提示`),await ju({title:String(t),message:e,dangerouslyUseHTMLString:!1,showCancel:!1}),n?.()},Nu=(e,t=`温馨提示`,n,r,i=`确定`,a=`取消`)=>ju({title:t,message:e,showCancel:!0,confirmButtonText:i,cancelButtonText:a,dangerouslyUseHTMLString:!1}).then(e=>{e===`confirm`?n?.():r?.()});function Pu(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&(`message`in e||`title`in e)}var Fu=(e,t=`温馨提示`,n)=>{if(Pu(e)&&e.message!=null){let t=e;return ju({title:t.title||`温馨提示`,message:t.message,showCancel:t.showCancel!==!1,confirmButtonText:t.confirmButtonText||`确定`,cancelButtonText:t.cancelButtonText||`取消`,dangerouslyUseHTMLString:!!t.dangerouslyUseHTMLString})}return ju({title:t,message:e,showCancel:!0,confirmButtonText:n?.confirmButtonText||`确定`,cancelButtonText:n?.cancelButtonText||`取消`,dangerouslyUseHTMLString:!!n?.dangerouslyUseHTMLString})},Iu=[`competition_name`,`student_name`,`competition_no`,`school_name`,`school_short_name`,`age_group`,`competition_room`,`seat_no`,`floor`,`teacher_name`,`date`,`session`,`enroll_teacher_name`,`teacher_phone`,`signup_teacher_name`,`signup_teacher_phone`,`signup_teacher_department`,`signup_teacher_position`,`signup_teacher_id_card`,`signup_teacher_email`,`signup_teacher_username`,`venue_name`,`venue_address`,`competition_daily_start`,`competition_daily_end`],Lu={competition_name:`比赛名称`,student_name:`学生姓名`,competition_no:`参赛编号`,school_name:`学校`,school_short_name:`学校简称`,age_group:`年龄段`,competition_room:`考场/教室`,seat_no:`座位号`,floor:`楼层`,teacher_name:`监考教师`,date:`比赛日期`,session:`场次`,enroll_teacher_name:`报名/带队教师(扩展)`,teacher_phone:`教师手机(扩展)`,signup_teacher_name:`报名教师姓名`,signup_teacher_phone:`报名教师手机`,signup_teacher_department:`报名教师部门`,signup_teacher_position:`报名教师职务`,signup_teacher_id_card:`报名教师身份证`,signup_teacher_email:`报名教师邮箱`,signup_teacher_username:`报名教师账号`,venue_name:`场地名称`,venue_address:`场地地址`,competition_daily_start:`比赛当天开始时间`,competition_daily_end:`比赛当天结束时间`};function Ru(e,t){return e.replace(/\{\{\s*([a-zA-Z0-9_.]+)\s*\}\}/g,(e,n)=>{if(n.includes(`.`)){let[e,r]=n.split(`.`),i=t[e];if(i&&typeof i==`object`){let e=i[r];if(e!=null&&e!==``)return String(e)}}let r=t[n];return r!=null&&r!==``?String(r):``})}function zu(e,t){let n=(e.competition_name==null?``:String(e.competition_name))||(t??``),r=String(e.school_name??``),i=String(e.school_short_name??e.school_name_short??``).trim()||Bu(r);return{competition_name:n,student_name:String(e.student_name??``),competition_no:String(e.competition_no??``),school_name:r,school_short_name:i,age_group:String(e.age_group??``),competition_room:String(e.competition_room??``),seat_no:String(e.seat_no??``),floor:String(e.floor??``),teacher_name:String(e.teacher_name??``),date:String(e.date??e.competition_date??``),session:String(e.session??e.competition_session??``),enroll_teacher_name:String(e.enroll_teacher_name??``),teacher_phone:String(e.teacher_phone??``),signup_teacher_name:String(e.signup_teacher_name??``),signup_teacher_phone:String(e.signup_teacher_phone??``),signup_teacher_department:String(e.signup_teacher_department??``),signup_teacher_position:String(e.signup_teacher_position??``),signup_teacher_id_card:String(e.signup_teacher_id_card??``),signup_teacher_email:String(e.signup_teacher_email??``),signup_teacher_username:String(e.signup_teacher_username??``),venue_name:String(e.venue_name??``),venue_address:String(e.venue_address??``),competition_daily_start:String(e.competition_daily_start??``),competition_daily_end:String(e.competition_daily_end??``)}}function Bu(e){let t=String(e??``).trim();if(!t)return``;t=t.replace(/\s+/g,``),t=t.replace(/^[中国中华人民共和國共和国]+/,``);let n=/^(?:[^省特别行政区]+省|内蒙古自治区|广西壮族自治区|宁夏回族自治区|新疆维吾尔自治区|西藏自治区|北京市|天津市|上海市|重庆市|香港特别行政区|澳门特别行政区|台湾省|[^市]+市|[^区县旗]+区|[^区县旗]+县|[^区县旗]+旗|[^镇乡街道]+镇|[^镇乡街道]+乡|[^镇乡街道]+街道)/,r=!0;for(;r&&t;){r=!1;let e=t.replace(n,``);e!==t&&(t=e,r=!0)}return t||e.trim()}function Vu(e){return[...e].sort((e,t)=>(e.zIndex??0)-(t.zIndex??0))}var Hu=Iu,Uu=Lu;function Wu(e,t){let n=(e.competition_name==null?``:String(e.competition_name))||(t??``),r=String(e.school_name??``),i=String(e.school_short_name??e.school_name_short??``).trim()||Bu(r);return{competition_name:n,student_name:String(e.student_name??``),competition_no:String(e.competition_no??``),school_name:r,school_short_name:i,age_group:String(e.age_group??``),competition_room:String(e.competition_room??``),seat_no:String(e.seat_no??``),floor:String(e.floor??``),teacher_name:String(e.teacher_name??``),date:String(e.date??e.competition_date??``),session:String(e.session??e.competition_session??``),enroll_teacher_name:String(e.enroll_teacher_name??``),teacher_phone:String(e.teacher_phone??``),signup_teacher_name:String(e.signup_teacher_name??``),signup_teacher_phone:String(e.signup_teacher_phone??``),signup_teacher_department:String(e.signup_teacher_department??``),signup_teacher_position:String(e.signup_teacher_position??``),signup_teacher_id_card:String(e.signup_teacher_id_card??``),signup_teacher_email:String(e.signup_teacher_email??``),signup_teacher_username:String(e.signup_teacher_username??``),venue_name:String(e.venue_name??``),venue_address:String(e.venue_address??``),competition_daily_start:String(e.competition_daily_start??``),competition_daily_end:String(e.competition_daily_end??``)}}var Gu=[`spinner`,`dual-ring`,`crescent`,`gradient`,`dash`,`dots`,`wave`,`bounce`,`bars`,`bricks`,`square`,`flip`,`pulse`,`ripple`,`orbit`,`radar`,`spiral`,`infinity`,`hourglass`,`skeleton`],Ku=new WeakMap,qu=e=>{if(e instanceof HTMLElement)return e;if(typeof e==`string`){let t=document.querySelector(e);if(t instanceof HTMLElement)return t}return document.body},Ju=e=>{let t=getComputedStyle(e).position;(t===`static`||!t)&&(e.dataset.fouLoadingPrevPosition=e.style.position||``,e.style.position=`relative`)},Yu=e=>{`fouLoadingPrevPosition`in e.dataset&&(e.style.position=e.dataset.fouLoadingPrevPosition||``,delete e.dataset.fouLoadingPrevPosition)},Xu=e=>typeof e.value==`object`&&e.value!==null?{...e.value}:{loading:!!e.value},Zu=e=>typeof e.value==`object`&&e.value!==null?e.value.loading===void 0||!!e.value.loading:!!e.value,Qu=(e,n)=>{let r=n.text||``,i=n.effect||`spinner`,a=!!n.transparent,o=Ku.get(e);if(o&&o.text===r&&o.effect===i&&o.transparent===a)return o;o&&(o.app.unmount(),o.el.remove(),Ku.delete(e));let s=n.fullscreen??e===document.body;s||Ju(e);let c=document.createElement(`div`);c.className=`fou-loading-host`,e.appendChild(c);let l=(0,t.createApp)({setup(){return()=>(0,t.h)(Wa,{text:r,fullscreen:s,transparent:a,effect:i})}});l.mount(c);let u={app:l,el:c,host:e,text:r,effect:i,transparent:a};return Ku.set(e,u),u},$u=e=>{let t=Ku.get(e);t&&(t.app.unmount(),t.el.remove(),Ku.delete(e),e!==document.body&&Yu(e))},ed={mounted(e,t){Zu(t)&&Qu(e,{...Xu(t),loading:!0})},updated(e,t){let n=Xu(t);Zu(t)?Qu(e,{...n,loading:!0}):$u(e)},unmounted(e){$u(e)}},td={service(e={}){let t=qu(e.target),n=t===document.body;return Qu(t,{...e,loading:!0,fullscreen:e.fullscreen??n}),{close:()=>$u(t)}}},nd={install(e){e.directive(`fou-loading`,ed)}};function rd(e){return typeof e==`string`?{size:e,orientation:`portrait`}:{size:e.size,orientation:e.orientation??`portrait`,widthMm:Number(e.widthMm||0)||void 0,heightMm:Number(e.heightMm||0)||void 0}}function id(e){let t=e.size===`custom`;return new c.jsPDF({unit:`mm`,format:t?[Math.max(1,Number(e.widthMm||0)),Math.max(1,Number(e.heightMm||0))]:e.size===`a4`?`a4`:`a3`,orientation:t?`p`:e.orientation===`landscape`?`l`:`p`,compress:!0})}function ad(e){return e.size===`custom`?`${Math.max(1,Number(e.widthMm||0))}mm ${Math.max(1,Number(e.heightMm||0))}mm`:`${e.size.toUpperCase()} ${e.orientation}`}async function od(e,t,n){if(!e.length)return;let r=ld();try{let r=await cd(e,n,{onProgress:e=>void 0});e.length,e.length,r.save(t)}finally{ud(r)}}async function sd(e,t,n){if(!e.length)return;let r=td.service({fullscreen:!0,text:`正在准备打印预览`}),i=rd(n),a=Array.from(document.querySelectorAll(`style`)).map(e=>e.outerHTML).join(`
65
65
  `),o=Array.from(document.querySelectorAll(`link[rel="stylesheet"]`)).map(e=>e.outerHTML).join(`
66
- `),s=Ju(i),c=e.map(e=>`<section class="print-page">${e.outerHTML}</section>`).join(`
66
+ `),s=ad(i),c=e.map(e=>`<section class="print-page">${e.outerHTML}</section>`).join(`
67
67
  `),l=document.createElement(`iframe`);l.setAttribute(`aria-hidden`,`true`),l.style.position=`fixed`,l.style.left=`-10000px`,l.style.top=`0`,l.style.width=`1px`,l.style.height=`1px`,l.style.border=`0`,l.style.opacity=`0`,l.style.pointerEvents=`none`,document.body.appendChild(l);let u=l.contentDocument,d=l.contentWindow;if(!u||!d)throw l.remove(),r.close(),Error(`打印环境初始化失败`);l.title=t,l.srcdoc=`<!doctype html>
68
68
  <html lang="zh-CN">
69
69
  <head>
70
70
  <meta charset="utf-8" />
71
71
  <meta name="viewport" content="width=device-width, initial-scale=1" />
72
- <title>${ed(t)}</title>
72
+ <title>${dd(t)}</title>
73
73
  ${o}
74
74
  ${a}
75
75
  <style>
@@ -100,13 +100,13 @@
100
100
  <body>
101
101
  ${c}
102
102
  </body>
103
- </html>`;try{await td(d),r.close(),d.focus(),await new Promise(e=>window.setTimeout(e,180)),d.print()}finally{window.setTimeout(()=>r.close(),120)}d.addEventListener(`afterprint`,()=>{window.setTimeout(()=>{l.remove()},300)},{once:!0}),window.setTimeout(()=>{l.remove()},4e3)}async function Zu(e,t,n={}){let r=qu(Ku(t)),i=r.internal.pageSize.getWidth(),a=r.internal.pageSize.getHeight();for(let t=0;t<e.length;t++){t>0&&r.addPage(),n.onProgress?.({phase:`render`,current:t+1,total:e.length,percent:Math.min(95,Math.round((t+1)/e.length*90)),text:`正在渲染第 ${t+1} / ${e.length} 页`});let o=(await(0,s.default)(e[t],{scale:2,useCORS:!0,logging:!1,backgroundColor:`#ffffff`,scrollX:0,scrollY:-window.scrollY,windowWidth:e[t].scrollWidth,windowHeight:e[t].scrollHeight})).toDataURL(`image/png`,.92);r.addImage(o,`PNG`,0,0,i,a)}return r}function Qu(){return Wu.service({fullscreen:!0,text:`正在生成 PDF 0%`})}function $u(e){window.setTimeout(()=>e.close(),120)}function ed(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}async function td(e){await new Promise(t=>{if(e.document.readyState===`complete`){t();return}e.addEventListener(`load`,()=>t(),{once:!0}),setTimeout(()=>t(),1200)});let t=Array.from(e.document.images);await Promise.all(t.map(e=>new Promise(t=>{if(e.complete){t();return}e.addEventListener(`load`,()=>t(),{once:!0}),e.addEventListener(`error`,()=>t(),{once:!0}),setTimeout(()=>t(),1200)})))}function nd(e=160){let n=(0,t.ref)(null),r=(0,t.ref)(Math.max(e,200)),i=0,a=null,o=null,s=()=>{let t=n.value;t&&(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{let n=Math.floor(t.getBoundingClientRect().height),i=Math.max(e,n);Math.abs(i-r.value)>1&&(r.value=i)}))},c=()=>{o?.(),o=null,a?.disconnect(),a=null};return(0,t.watch)(n,e=>{if(c(),!e)return;(0,t.nextTick)(()=>s());let n=()=>s();window.addEventListener(`resize`,n,{passive:!0}),o=()=>window.removeEventListener(`resize`,n),a=new ResizeObserver(()=>s()),a.observe(e)},{flush:`post`}),(0,t.onUnmounted)(()=>{c(),cancelAnimationFrame(i)}),{hostRef:n,tableHeight:r,recalcTableHeight:s}}function rd(e){if(e==null)return[];let t=String(e).trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(String).filter(Boolean)}catch{}return[]}function id(e,t){let n=rd(e);return n.length?n.map(e=>t[e]||e).filter(Boolean).join(` / `):String(e??``).trim()}var ad={class:`page-container badge-manage`},od={class:`tpl-list-layout`},sd={class:`tpl-region-aside`},cd={class:`tpl-list-main`},ld={class:`hint tpl-hint tpl-hint-shrink`},ud={class:`tpl-filter-bar`},dd={class:`pagination-wrapper tpl-pagination`},fd={class:`toolbar`},pd={key:0},md={key:1},hd={key:0},gd={key:1},_d={class:`preview-head`},vd={class:`preview-head-actions`},yd={key:1,class:`badge-grid`},bd={class:`badge-name`},xd={class:`badge-school`},Sd={class:`badge-no`},Cd={class:`badge-room`},wd={key:0,class:`checkbox-empty`},Td={class:`inline-stack`},Ed={class:`paper-config`},Dd={class:`paper-config-block`},Od={class:`paper-config-block`},kd={key:0,class:`paper-config-desc`},Ad={class:`paper-config-block`},jd={class:`paper-inline-row`},Md={class:`paper-config-desc`},Nd={class:`pdf-dialog-body`},Pd={class:`sb-name`},Fd={class:`sb-school`},Id={class:`sb-no`},Ld={class:`sb-room`},Rd=`zhihui_admin_badge_tasks`,zd=8,Bd=(0,t.defineComponent)({__name:`BadgeManageView`,setup(e){let{hostRef:n,tableHeight:r,recalcTableHeight:i}=nd(140),{hostRef:a,tableHeight:s,recalcTableHeight:c}=nd(160),l=(0,o.useRouter)(),u=(0,t.ref)(!1),d=(0,t.ref)(!1);function f(){return typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}let p=(0,t.ref)([]),m=(0,t.ref)([]),h=(0,t.ref)([]),g=(0,t.ref)(``),_=(0,t.ref)([]),v=(0,t.ref)({page:1,pageSize:10,total:0}),y=(0,t.ref)(null),b=(0,t.ref)(``),x=(0,t.ref)(``),S=(0,t.ref)(!1),C=(0,t.ref)(``),w=(0,t.ref)(void 0),T=(0,t.ref)(void 0),E=(0,t.ref)(!0),D=(0,t.ref)([]),O=(0,t.ref)(!1),k=(0,t.ref)([]),A=(0,t.ref)(`sequence`),j=(0,t.ref)([]),M=(0,t.ref)([]),N=(0,t.ref)([]),P=(0,t.ref)(``),F=(0,t.ref)(``),I=(0,t.ref)([]),L=(0,t.ref)([]),R=(0,t.ref)(``),ee=(0,t.ref)(!1),z=(0,t.ref)(`a4`),B=(0,t.ref)(`portrait`),V=(0,t.ref)(2),H=(0,t.ref)(2),te=(0,t.ref)(null),ne=(0,t.ref)(!1),re=(0,t.ref)(!1),ie=(0,t.ref)(!1),ae=(0,t.ref)(null),oe=(0,t.ref)(null),U=(0,t.ref)([]),se=(0,t.ref)([]),ce=(0,t.ref)(``),le={a4:{w:210,h:297},a3:{w:297,h:420}},W=(0,t.computed)(()=>z.value===`custom`),G=(0,t.computed)(()=>{if(W.value)return{w:Number(oe.value?.canvas?.widthMm??90),h:Number(oe.value?.canvas?.heightMm??130)};let e=le[z.value===`a3`?`a3`:`a4`];return B.value===`landscape`?{w:e.h,h:e.w}:e}),ue=(0,t.computed)(()=>({w:Number(oe.value?.canvas?.widthMm??90),h:Number(oe.value?.canvas?.heightMm??130)})),K=(0,t.computed)(()=>{let e=G.value,t=ue.value;if(W.value)return{requestedCols:1,maxCols:1,cols:1,rows:1,perPage:1,blockW:t.w,blockH:t.h};let n=Math.max(1,e.w-16),r=Math.max(1,e.h-16),i=Math.max(1,Math.floor(n/t.w)),a=Math.max(1,Number(H.value||1)),o=Math.min(a,i),s=Math.max(1,Math.floor(r/t.h));return{requestedCols:a,maxCols:i,cols:o,rows:s,perPage:Math.max(1,o*s),blockW:o*t.w,blockH:s*t.h}}),de=(0,t.computed)(()=>{let e=K.value.perPage,t=[];for(let n=0;n<U.value.length;n+=e)t.push(U.value.slice(n,n+e));return t}),fe=(0,t.computed)(()=>({width:`${G.value.w}mm`})),q=(0,t.computed)(()=>({width:`${G.value.w}mm`,height:`${G.value.h}mm`,padding:`${W.value?0:zd}mm`}));function pe(e){let t=Math.max(1,Math.min(K.value.cols,e||1)),n=Math.max(1,Math.ceil((e||1)/Math.max(1,K.value.cols)));return{width:`${t*ue.value.w}mm`,minHeight:`${n*ue.value.h}mm`,gridTemplateColumns:`repeat(${t}, ${ue.value.w}mm)`,gridAutoRows:`${ue.value.h}mm`}}let me=(0,t.computed)(()=>({width:`${ue.value.w}mm`,height:`${ue.value.h}mm`})),he=(0,t.computed)(()=>N.value.map(e=>{let t=String(e.seat_no??``).trim(),n=!t;return{value:e.id,label:`${e.student_name}(座位:${t||`无`})`,disabled:n}})),ge=(0,t.computed)(()=>m.value.map(e=>({label:e.name,value:e.id}))),_e=(0,t.computed)(()=>M.value.map(e=>({label:`${e.name||`未命名模板`}${e.is_default?`(默认)`:``}`,value:e.id}))),ve=(0,t.computed)(()=>{let e=P.value.trim().toLowerCase();return e?j.value.filter(t=>`${t.school_name}`.toLowerCase().includes(e)):j.value}),ye=(0,t.computed)(()=>{let e=F.value.trim().toLowerCase();return e?he.value.filter(t=>t.label.toLowerCase().includes(e)):he.value}),be=e=>{if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()},xe=e=>Array.isArray(e)?e.map(e=>({id:`r-${e.value}`,label:e.label,code:String(e.value||``),children:xe(e.children||[])})):[],Se=(0,t.computed)(()=>[{id:`all`,label:`全国`,code:``,children:xe(Ae)}]),Ce=(0,t.computed)(()=>x.value?je[x.value]||x.value:``),we=(e,t)=>{let n=e.trim();return!n||t.label.includes(n)},Te=e=>{x.value=e.code||``,v.value.page=1,Pe()},Ee=()=>{x.value=``,y.value?.setCurrentKey(`all`),v.value.page=1,Pe()},De=()=>{v.value.page=1,Pe()},Oe=()=>{g.value=``,_.value=[],x.value=``,b.value=``,y.value?.setCurrentKey(`all`),v.value.page=1,Pe()},ke=e=>(v.value.page-1)*v.value.pageSize+e+1,Me=()=>{try{localStorage.setItem(Rd,JSON.stringify(h.value))}catch{}},Ne=()=>{try{let e=localStorage.getItem(Rd);if(!e)return;let t=JSON.parse(e);Array.isArray(t)&&(h.value=t.map(e=>({id:String(e.id||f()),title:String(e.title||`证件任务`),competitionId:Number(e.competitionId||0),competitionName:String(e.competitionName||``),templateId:e.templateId?Number(e.templateId):void 0,templateName:e.templateName?String(e.templateName):void 0,scopeAllSchools:!!(e.scopeAllSchools??!0),schoolIds:Array.isArray(e.schoolIds)?e.schoolIds.map(e=>Number(e)):[],studentIds:Array.isArray(e.studentIds)?e.studentIds.map(e=>Number(e)):null,generateMode:e.generateMode===`school`?`school`:`sequence`,createdAt:String(e.createdAt||new Date().toISOString())})))}catch{}},Pe=async()=>{d.value=!0;try{let e={page:v.value.page,page_size:v.value.pageSize},t=g.value.trim();t&&(e.keyword=t),_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]),x.value&&(e.host_region_code=x.value);let n=await mn(e);p.value=n.data?.data||[],v.value.total=n.data?.total||0}catch{p.value=[],v.value.total=0}finally{d.value=!1,(0,t.nextTick)(()=>i())}},Fe=async()=>{try{let e=await mn({page:1,page_size:500});m.value=e.data?.data||[]}catch{m.value=[]}},Ie=e=>{l.push(`/fouui/badge/competition/${e}/badge-templates`)},Le=e=>{l.push(`/fouui/badge/competition/${e}`)},Re=()=>{u.value=!0},ze=()=>{Be(),S.value=!0},Be=()=>{C.value=``,w.value=void 0,T.value=void 0,E.value=!0,D.value=[],O.value=!1,k.value=[],A.value=`sequence`,j.value=[],M.value=[],N.value=[],P.value=``,F.value=``},Ve=async e=>{if(D.value=[],T.value=void 0,k.value=[],j.value=[],M.value=[],N.value=[],e){try{let t=await gn(e);M.value=t.data?.list??[];let n=M.value[0];n?.id&&(T.value=Number(n.id))}catch{M.value=[]}try{let t=await Nn(e);j.value=t.data?.schools??[]}catch{j.value=[]}try{let t=await Fn(e,{page:1,page_size:5e3});N.value=t.data?.data??t.data??[]}catch{N.value=[]}}},He=()=>{let e=w.value;if(!e){Q.warning(`请选择比赛`);return}if(!T.value){Q.warning(`请选择证件模板`);return}if(!E.value&&!D.value.length){Q.warning(`请选择至少一所学校,或改为「全部学校」`);return}if(O.value&&!k.value.length){Q.warning(`请勾选指定学生,或关闭「指定学生」`);return}let t=m.value.find(t=>t.id===e)||p.value.find(t=>t.id===e),n=M.value.find(e=>Number(e.id)===Number(T.value)),r={id:f(),title:C.value.trim()||`证件任务 ${h.value.length+1}`,competitionId:e,competitionName:t?.name??`#${e}`,templateId:Number(T.value),templateName:n?.name||`未命名模板`,scopeAllSchools:E.value,schoolIds:E.value?[]:[...D.value],studentIds:O.value&&k.value.length?[...k.value]:null,generateMode:A.value,createdAt:new Date().toISOString()};h.value=[r,...h.value],Me(),S.value=!1,Q.success(`任务已保存`)},Ue=e=>{te.value=e,z.value=`a4`,B.value=`portrait`,V.value=2,H.value=2,ee.value=!0},We=async e=>{te.value=e,z.value=`a4`,B.value=`portrait`,V.value=2,H.value=2,await Ge()},Ge=async()=>{let e=te.value;if(!e){ee.value=!1;return}ee.value=!1,R.value=e.title,ce.value=e.title,I.value=[],L.value=[],oe.value=null,U.value=[],se.value=[];let n={};!e.scopeAllSchools&&e.schoolIds.length&&(n.school_ids=e.schoolIds.join(`,`)),e.studentIds?.length&&(n.student_ids=e.studentIds.join(`,`)),re.value=!0,ne.value=!0;try{let r=await Pn(e.competitionId,n);if(I.value=J(r.data?.badges??[],e.generateMode),L.value=Qe(r.data?.skipped_no_seat??[],e.generateMode),se.value=L.value,!I.value.length&&!L.value.length){ne.value=!1,xu(`没有可生成的证件(请检查是否已按赛事场次上传学生、已添加教室并自动编排座位号)`,`提示`);return}U.value=I.value.map(e=>Ou(e));try{let n=(e.templateId?await vn(e.competitionId,e.templateId):await yn(e.competitionId)).data?.template_json;if(n&&typeof n==`object`&&Array.isArray(n.elements)&&n.elements.length&&(oe.value=n,await(0,t.nextTick)(),K.value.requestedCols>K.value.maxCols)){ne.value=!1,Q.warning(`${z.value.toUpperCase()}${B.value===`landscape`?`横向`:`纵向`} 最多每行显示 ${K.value.maxCols} 个证件,请调整后重试`);return}}catch{oe.value=null}}catch{ne.value=!1}finally{re.value=!1}},Ke=()=>{I.value=[],L.value=[],R.value=``},qe=()=>{te.value&&(ne.value=!0)},Je=async e=>{let t=te.value;if(t?.competitionId)try{await In(t.competitionId,{source:e})}catch{Q.warning(`参赛证已输出,但定档状态写入失败,请刷新后重试`)}},Ye=async()=>{let e=ae.value;if(!(!e||!U.value.length)){ie.value=!0;try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200));let n=(ce.value||`export`).replace(/[/\\?%*:|"<>]/g,`_`);await Yu(Array.from(e.querySelectorAll(`.pdf-page`)),`证件_${n}.pdf`,{size:z.value,orientation:B.value,widthMm:G.value.w,heightMm:G.value.h}),await Je(`badge_pdf`)}finally{ie.value=!1}}},Xe=async()=>{let e=ae.value;if(!(!e||!U.value.length))try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200)),await Xu(Array.from(e.querySelectorAll(`.pdf-page`)),`证件_${(ce.value||`证件预览`).replace(/[/\\?%*:|"<>]/g,`_`)}`,{size:z.value,orientation:B.value,widthMm:G.value.w,heightMm:G.value.h}),await Je(`badge_print`)}catch(e){Q.error(e instanceof Error?e.message:`打印失败`)}},Ze=e=>{h.value=h.value.filter(t=>t.id!==e),Me()};(0,t.onMounted)(async()=>{Ne(),await Promise.all([Pe(),Fe()]),(0,t.nextTick)(()=>{i(),c()})}),(0,t.watch)(b,e=>{y.value?.filter(e)}),(0,t.watch)(()=>h.value.length,()=>(0,t.nextTick)(()=>c())),(0,t.onActivated)(()=>(0,t.nextTick)(()=>{i(),c()})),(0,t.watch)(V,e=>{W.value||e>0&&(H.value=e)}),(0,t.watch)(H,e=>{if(W.value){H.value!==1&&(H.value=1),V.value!==1&&(V.value=1);return}let t=Math.max(1,Number(e||1));if(t!==e){H.value=t;return}V.value=[1,2,3].includes(t)?t:0}),(0,t.watch)(z,e=>{e===`custom`&&(B.value=`portrait`,V.value=1,H.value=1)});function J(e,t){let n=Array.isArray(e)?[...e]:[];return t===`school`?(n.sort((e,t)=>{let n=$e(e?.school_name,t?.school_name);if(n!==0)return n;let r=$e(e?.competition_room,t?.competition_room);if(r!==0)return r;let i=Y(e?.seat_no,t?.seat_no);return i===0?$e(e?.student_name,t?.student_name):i}),n):(n.sort((e,t)=>{let n=$e(e?.competition_room,t?.competition_room);if(n!==0)return n;let r=Y(e?.seat_no,t?.seat_no);if(r!==0)return r;let i=$e(e?.competition_no,t?.competition_no);return i===0?$e(e?.student_name,t?.student_name):i}),n)}function Qe(e,t){let n=Array.isArray(e)?[...e]:[];return n.sort((e,n)=>{if(t===`school`){let t=$e(e?.school_name,n?.school_name);if(t!==0)return t}return $e(e?.student_name,n?.student_name)}),n}function $e(e,t){return String(e||``).localeCompare(String(t||``),`zh-CN`)}function Y(e,t){let n=String(e||``).trim(),r=String(t||``).trim(),i=Number(n),a=Number(r);return n!==``&&!Number.isNaN(i)&&r!==``&&!Number.isNaN(a)&&i!==a?i-a:n.localeCompare(r,`zh-CN`,{numeric:!0})}return(e,i)=>{let o=va,c=vu,l=tu,f=Vt,m=Zl,x=fl,j=cl,M=al,N=or,le=mr,G=Pt,ue=la,K=ia,he=qi,xe=Vi,Ae=Ri,Me=Mi,Ne=ki,Fe=Si,Je=pt,J=yi,Qe=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,ad,[(0,t.createVNode)(le,{shadow:`never`,class:`tpl-entry-card tpl-fill-card`},{header:(0,t.withCtx)(()=>[...i[27]||=[(0,t.createElementVNode)(`div`,{class:`card-head`},[(0,t.createElementVNode)(`span`,{class:`toolbar-title`},`证件模板`),(0,t.createElementVNode)(`span`,{class:`card-head-desc`},`按比赛设计版面;保存后学校端按模板套打。`)],-1)]]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,od,[(0,t.createElementVNode)(`aside`,sd,[i[28]||=(0,t.createElementVNode)(`div`,{class:`tree-title`},`赛区分类`,-1),(0,t.createVNode)(o,{modelValue:b.value,"onUpdate:modelValue":i[0]||=e=>b.value=e,class:`tree-filter`,clearable:``,size:`small`,placeholder:`筛选赛区`},null,8,[`modelValue`]),(0,t.createVNode)(l,{class:`tpl-region-scroll`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{ref_key:`treeRef`,ref:y,data:Se.value,"highlight-current":``,"default-expanded-keys":[`all`],props:{label:`label`,children:`children`,value:`id`},"filter-node-method":we,onNodeClick:Te},null,8,[`data`])]),_:1})]),(0,t.createElementVNode)(`section`,cd,[(0,t.createElementVNode)(`p`,ld,[i[30]||=(0,t.createTextVNode)(` 在列表中选择比赛进入`,-1),i[31]||=(0,t.createElementVNode)(`strong`,null,`管理模板`,-1),i[32]||=(0,t.createTextVNode)(`,或与下方「证件生成任务」配合:先选比赛制作模板,再用任务生成预览。 `,-1),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:Re},{default:(0,t.withCtx)(()=>[...i[29]||=[(0,t.createTextVNode)(`证件图片库`,-1)]]),_:1})]),(0,t.createElementVNode)(`div`,ud,[(0,t.createVNode)(o,{modelValue:g.value,"onUpdate:modelValue":i[1]||=e=>g.value=e,clearable:``,placeholder:`关键字:比赛名称/赛区码/场地`,style:{width:`240px`},onKeyup:(0,t.withKeys)(De,[`enter`])},null,8,[`modelValue`]),(0,t.createVNode)(m,{modelValue:_.value,"onUpdate:modelValue":i[2]||=e=>_.value=e,type:`daterange`,"value-format":`YYYY-MM-DD`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`,"range-separator":`至`,style:{width:`260px`}},null,8,[`modelValue`]),(0,t.createVNode)(f,{type:`primary`,onClick:De},{default:(0,t.withCtx)(()=>[...i[33]||=[(0,t.createTextVNode)(`查询`,-1)]]),_:1}),(0,t.createVNode)(f,{onClick:Oe},{default:(0,t.withCtx)(()=>[...i[34]||=[(0,t.createTextVNode)(`重置`,-1)]]),_:1}),Ce.value?((0,t.openBlock)(),(0,t.createBlock)(x,{key:0,type:`info`,closable:``,onClose:Ee},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(Ce.value),1)]),_:1})):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,{ref_key:`tplHostRef`,ref:n,class:`table-host`},[(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)(M,{data:p.value,stripe:``,height:(0,t.unref)(r),"empty-text":`暂无比赛数据`,size:`small`,class:`tpl-table`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(j,{type:`index`,label:`#`,width:`52`,align:`center`,index:ke}),(0,t.createVNode)(j,{prop:`name`,label:`比赛名称`,"min-width":`200`,"show-overflow-tooltip":``}),(0,t.createVNode)(j,{prop:`area_code`,label:`赛区码`,width:`82`}),(0,t.createVNode)(j,{label:`举办地`,"min-width":`150`,"show-overflow-tooltip":``},{default:(0,t.withCtx)(({row:e})=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(id)(e.host_region,(0,t.unref)(je))||`—`),1)]),_:1}),(0,t.createVNode)(j,{prop:`start_date`,label:`开始日期`,width:`118`}),(0,t.createVNode)(j,{label:`状态`,width:`96`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(x,{size:`small`,type:[`info`,`success`,`primary`,`danger`][Number(e.status)]??`info`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)([`草稿`,`报名中`,`进行中`,`已结束`][Number(e.status)]??`—`),1)]),_:2},1032,[`type`])]),_:1}),(0,t.createVNode)(j,{label:`模板`,width:`220`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Ie(e.id)},{default:(0,t.withCtx)(()=>[...i[35]||=[(0,t.createTextVNode)(`管理模板`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Le(e.id)},{default:(0,t.withCtx)(()=>[...i[36]||=[(0,t.createTextVNode)(`比赛详情`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])),[[Qe,d.value]])],512),(0,t.createElementVNode)(`div`,dd,[(0,t.createVNode)(N,{"current-page":v.value.page,"onUpdate:currentPage":i[3]||=e=>v.value.page=e,"page-size":v.value.pageSize,"onUpdate:pageSize":i[4]||=e=>v.value.pageSize=e,total:v.value.total,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next`,onChange:Pe},null,8,[`current-page`,`page-size`,`total`])])])])]),_:1}),(0,t.createVNode)(le,{shadow:`never`,class:`task-fill-card`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,fd,[i[38]||=(0,t.createElementVNode)(`span`,{class:`toolbar-title`},`证件生成任务`,-1),(0,t.createVNode)(f,{type:`primary`,onClick:ze},{default:(0,t.withCtx)(()=>[...i[37]||=[(0,t.createTextVNode)(`添加任务`,-1)]]),_:1})]),i[43]||=(0,t.createElementVNode)(`p`,{class:`hint task-hint-shrink`},`任务保存在本浏览器;点击「生成预览」将先选择 A4/A3 纸张,再打开整版预览并可下载 PDF(无座位号的学生会被跳过或禁止)。`,-1),(0,t.createElementVNode)(`div`,{ref_key:`taskHostRef`,ref:a,class:`table-host`},[(0,t.createVNode)(M,{data:h.value,stripe:``,"empty-text":`暂无任务,请点击添加`,height:(0,t.unref)(s)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(j,{prop:`title`,label:`任务名称`,"min-width":`140`}),(0,t.createVNode)(j,{prop:`competitionName`,label:`比赛`,"min-width":`160`,"show-overflow-tooltip":``}),(0,t.createVNode)(j,{label:`模板`,"min-width":`140`,"show-overflow-tooltip":``},{default:(0,t.withCtx)(({row:e})=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.templateName||`默认模板`),1)]),_:1}),(0,t.createVNode)(j,{label:`学校范围`,width:`140`},{default:(0,t.withCtx)(({row:e})=>[e.scopeAllSchools?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,pd,`全部学校`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,md,(0,t.toDisplayString)(e.schoolIds.length)+` 所学校`,1))]),_:1}),(0,t.createVNode)(j,{label:`学生范围`,width:`120`},{default:(0,t.withCtx)(({row:e})=>[e.studentIds?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gd,`指定 `+(0,t.toDisplayString)(e.studentIds.length)+` 人`,1)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,hd,`范围内全部(无座位号跳过)`))]),_:1}),(0,t.createVNode)(j,{label:`生成方式`,width:`120`,align:`center`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.generateMode===`school`?`按学校`:`按顺序`),1)]),_:1}),(0,t.createVNode)(j,{label:`创建时间`,width:`175`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createTextVNode)((0,t.toDisplayString)(be(e.createdAt)),1)]),_:1}),(0,t.createVNode)(j,{label:`操作`,width:`360`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Ie(e.competitionId)},{default:(0,t.withCtx)(()=>[...i[39]||=[(0,t.createTextVNode)(`编辑模板`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`success`,onClick:t=>We(e)},{default:(0,t.withCtx)(()=>[...i[40]||=[(0,t.createTextVNode)(`立即生成证件`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Ue(e)},{default:(0,t.withCtx)(()=>[...i[41]||=[(0,t.createTextVNode)(`生成预览`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`danger`,onClick:t=>Ze(e.id)},{default:(0,t.withCtx)(()=>[...i[42]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])],512)]),_:1}),I.value.length||L.value.length?((0,t.openBlock)(),(0,t.createBlock)(le,{key:0,class:`preview-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,_d,[(0,t.createElementVNode)(`span`,null,`预览`+(0,t.toDisplayString)(R.value?` — ${R.value}`:``),1),(0,t.createElementVNode)(`div`,vd,[te.value&&(I.value.length||L.value.length)?((0,t.openBlock)(),(0,t.createBlock)(f,{key:0,link:``,type:`primary`,onClick:qe},{default:(0,t.withCtx)(()=>[...i[44]||=[(0,t.createTextVNode)(` 返回整版预览 `,-1)]]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(f,{link:``,type:`danger`,onClick:Ke},{default:(0,t.withCtx)(()=>[...i[45]||=[(0,t.createTextVNode)(`关闭预览`,-1)]]),_:1})])])]),default:(0,t.withCtx)(()=>[L.value.length?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(xu),{key:0,type:`warning`,"show-icon":``,closable:!1,title:`已跳过 ${L.value.length} 名学生(未编排座位号,无法制作证件)`,style:{"margin-bottom":`12px`}},null,8,[`title`])):(0,t.createCommentVNode)(``,!0),I.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yd,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(I.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`badge-card`,key:`${e.competition_no}-${e.seat_no}`},[i[46]||=(0,t.createElementVNode)(`div`,{class:`badge-header`},`智慧奇乐`,-1),(0,t.createElementVNode)(`div`,bd,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,xd,(0,t.toDisplayString)(e.school_name),1),(0,t.createElementVNode)(`div`,Sd,`参赛编号:`+(0,t.toDisplayString)(e.competition_no),1),(0,t.createElementVNode)(`div`,Cd,(0,t.toDisplayString)(e.competition_room)+` `+(0,t.toDisplayString)(e.seat_no)+`号`,1)]))),128))])):L.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(G,{key:2,description:`无符合条件的证件数据`}))]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(Je,{modelValue:S.value,"onUpdate:modelValue":i[17]||=e=>S.value=e,title:`添加证件任务`,width:`580px`,"align-center":``,draggable:``,"destroy-on-close":``,onClosed:Be},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(f,{onClick:i[16]||=e=>S.value=!1},{default:(0,t.withCtx)(()=>[...i[53]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(f,{type:`primary`,onClick:He},{default:(0,t.withCtx)(()=>[...i[54]||=[(0,t.createTextVNode)(`保存任务`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(Fe,{"label-width":`108px`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ue,{label:`任务名称`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{modelValue:C.value,"onUpdate:modelValue":i[5]||=e=>C.value=e,placeholder:`可选,便于区分`,clearable:``},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(ue,{label:`比赛`,required:``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{modelValue:w.value,"onUpdate:modelValue":i[6]||=e=>w.value=e,placeholder:`选择比赛`,style:{width:`100%`},options:ge.value,onChange:Ve},null,8,[`modelValue`,`options`])]),_:1}),(0,t.createVNode)(ue,{label:`学校范围`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(xe,{modelValue:E.value,"onUpdate:modelValue":i[7]||=e=>E.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:!0},{default:(0,t.withCtx)(()=>[...i[47]||=[(0,t.createTextVNode)(`全部学校`,-1)]]),_:1}),(0,t.createVNode)(he,{label:!1},{default:(0,t.withCtx)(()=>[...i[48]||=[(0,t.createTextVNode)(`指定学校`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),E.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(ue,{key:0,label:`选择学校`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{modelValue:P.value,"onUpdate:modelValue":i[8]||=e=>P.value=e,clearable:``,size:`small`,placeholder:`筛选学校`,disabled:!w.value,style:{width:`100%`,"margin-bottom":`8px`}},null,8,[`modelValue`,`disabled`]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`checkbox-scroll`,{"is-disabled":!w.value}])},[(0,t.createVNode)(Me,{modelValue:D.value,"onUpdate:modelValue":i[9]||=e=>D.value=e,disabled:!w.value},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ve.value,e=>((0,t.openBlock)(),(0,t.createBlock)(Ae,{key:e.id,label:e.id},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.school_name)+`(`+(0,t.toDisplayString)(e.student_count)+`人) `,1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`disabled`]),ve.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wd,`请先选择比赛`))],2)]),_:1})),w.value?((0,t.openBlock)(),(0,t.createBlock)(ue,{key:1,label:`模板`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{modelValue:T.value,"onUpdate:modelValue":i[10]||=e=>T.value=e,placeholder:`请选择证件模板`,style:{width:`100%`},options:_e.value},null,8,[`modelValue`,`options`]),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:i[11]||=e=>Ie(w.value)},{default:(0,t.withCtx)(()=>[...i[49]||=[(0,t.createTextVNode)(`编辑该比赛的证件模板`,-1)]]),_:1})]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(ue,{label:`指定学生`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Td,[(0,t.createVNode)(Ne,{modelValue:O.value,"onUpdate:modelValue":i[12]||=e=>O.value=e,"active-text":`仅所选学生`,"inactive-text":`范围内全部`},null,8,[`modelValue`])]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)(o,{modelValue:F.value,"onUpdate:modelValue":i[13]||=e=>F.value=e,clearable:``,size:`small`,placeholder:`筛选学生`,disabled:!w.value,style:{width:`100%`,"margin-top":`8px`}},null,8,[`modelValue`,`disabled`]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`checkbox-scroll`,{"is-disabled":!w.value}]),style:{"margin-top":`8px`}},[(0,t.createVNode)(Me,{modelValue:k.value,"onUpdate:modelValue":i[14]||=e=>k.value=e,disabled:!w.value},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ye.value,e=>((0,t.openBlock)(),(0,t.createBlock)(Ae,{key:e.value,label:e.value,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`disabled`]))),128))]),_:1},8,[`modelValue`,`disabled`])],2)],64)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createVNode)(ue,{label:`生成方式`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(xe,{modelValue:A.value,"onUpdate:modelValue":i[15]||=e=>A.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:`sequence`},{default:(0,t.withCtx)(()=>[...i[50]||=[(0,t.createTextVNode)(`按顺序生成`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`school`},{default:(0,t.withCtx)(()=>[...i[51]||=[(0,t.createTextVNode)(`按学校生成`,-1)]]),_:1})]),_:1},8,[`modelValue`]),i[52]||=(0,t.createElementVNode)(`div`,{class:`dialog-tip`},`预览、打印和下载 PDF 都会按这个顺序输出。`,-1)]),_:1})]),_:1})]),_:1},8,[`modelValue`]),(0,t.createVNode)(Dr,{modelValue:u.value,"onUpdate:modelValue":i[18]||=e=>u.value=e},null,8,[`modelValue`]),(0,t.createVNode)(Je,{modelValue:ee.value,"onUpdate:modelValue":i[24]||=e=>ee.value=e,title:`预览排版设置`,width:`520px`,"destroy-on-close":``,"align-center":``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(f,{onClick:i[23]||=e=>ee.value=!1},{default:(0,t.withCtx)(()=>[...i[67]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(f,{type:`primary`,onClick:Ge},{default:(0,t.withCtx)(()=>[...i[68]||=[(0,t.createTextVNode)(`下一步:整版预览`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[i[69]||=(0,t.createElementVNode)(`p`,{class:`paper-tip`},`生成整版证件预览前,请选择纸张模式。可按 A4/A3 排版,也可直接按模板实际尺寸生成。预览、下载 PDF、打印都会使用这套排版设置。`,-1),(0,t.createElementVNode)(`div`,Ed,[(0,t.createElementVNode)(`div`,Dd,[i[58]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`纸张尺寸`,-1),(0,t.createVNode)(xe,{modelValue:z.value,"onUpdate:modelValue":i[19]||=e=>z.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:`a4`},{default:(0,t.withCtx)(()=>[...i[55]||=[(0,t.createTextVNode)(`A4`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`a3`},{default:(0,t.withCtx)(()=>[...i[56]||=[(0,t.createTextVNode)(`A3`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`custom`},{default:(0,t.withCtx)(()=>[...i[57]||=[(0,t.createTextVNode)(`按模板尺寸`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),(0,t.createElementVNode)(`div`,Od,[i[61]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`打印方向`,-1),(0,t.createVNode)(xe,{modelValue:B.value,"onUpdate:modelValue":i[20]||=e=>B.value=e,disabled:W.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:`portrait`},{default:(0,t.withCtx)(()=>[...i[59]||=[(0,t.createTextVNode)(`纵向`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`landscape`},{default:(0,t.withCtx)(()=>[...i[60]||=[(0,t.createTextVNode)(`横向`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),W.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kd,`按模板尺寸生成时,页面宽高直接取模板设置,方向无需单独选择。`)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Ad,[i[66]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`每行显示`,-1),(0,t.createElementVNode)(`div`,jd,[(0,t.createVNode)(xe,{modelValue:V.value,"onUpdate:modelValue":i[21]||=e=>V.value=e,disabled:W.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:1},{default:(0,t.withCtx)(()=>[...i[62]||=[(0,t.createTextVNode)(`1个`,-1)]]),_:1}),(0,t.createVNode)(he,{label:2},{default:(0,t.withCtx)(()=>[...i[63]||=[(0,t.createTextVNode)(`2个`,-1)]]),_:1}),(0,t.createVNode)(he,{label:3},{default:(0,t.withCtx)(()=>[...i[64]||=[(0,t.createTextVNode)(`3个`,-1)]]),_:1}),(0,t.createVNode)(he,{label:0},{default:(0,t.withCtx)(()=>[...i[65]||=[(0,t.createTextVNode)(`自定义`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),(0,t.createVNode)(J,{modelValue:H.value,"onUpdate:modelValue":i[22]||=e=>H.value=e,min:1,max:12,"controls-position":`right`,style:{width:`120px`},disabled:W.value},null,8,[`modelValue`,`disabled`])]),(0,t.createElementVNode)(`div`,Md,(0,t.toDisplayString)(W.value?`按模板尺寸生成时固定为每页 1 个证件。`:`按当前模板尺寸自动计算每页行数;只控制每行显示几个证件。`),1)])])]),_:1},8,[`modelValue`]),(0,t.createVNode)(Je,{modelValue:ne.value,"onUpdate:modelValue":i[26]||=e=>ne.value=e,title:`证件整版预览 — ${ce.value}`,width:`96%`,top:`2vh`,"destroy-on-close":``,class:`pdf-preview-dialog`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(f,{disabled:!U.value.length,onClick:Xe},{default:(0,t.withCtx)(()=>[...i[71]||=[(0,t.createTextVNode)(`打印整版`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(f,{onClick:i[25]||=e=>ne.value=!1},{default:(0,t.withCtx)(()=>[...i[72]||=[(0,t.createTextVNode)(`关闭`,-1)]]),_:1}),(0,t.createVNode)(f,{type:`primary`,loading:ie.value,disabled:!U.value.length,onClick:Ye},{default:(0,t.withCtx)(()=>[...i[73]||=[(0,t.createTextVNode)(` 下载 PDF `,-1)]]),_:1},8,[`loading`,`disabled`])]),default:(0,t.withCtx)(()=>[se.value.length?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(xu),{key:0,type:`warning`,"show-icon":``,closable:!1,title:`已跳过 ${se.value.length} 名学生(未编排座位号)`,style:{"margin-bottom":`12px`}},null,8,[`title`])):(0,t.createCommentVNode)(``,!0),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Nd,[(0,t.createElementVNode)(`div`,{ref_key:`pdfExportRoot`,ref:ae,class:`pdf-export-root`,style:(0,t.normalizeStyle)(fe.value)},[oe.value?.canvas&&U.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(de.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-page`,style:(0,t.normalizeStyle)(q.value)},[(0,t.createElementVNode)(`div`,{class:`pdf-page-grid`,style:(0,t.normalizeStyle)(pe(e.length))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${n}-${r}`,class:`pdf-cell`,style:(0,t.normalizeStyle)(me.value)},[(0,t.createVNode)(ii,{doc:oe.value,"merge-data":e,"screen-scale":1},null,8,[`doc`,`merge-data`])],4))),128))],4)],4))),128)):U.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(I.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-cell simple-badge`},[i[70]||=(0,t.createElementVNode)(`div`,{class:`sb-h`},`智慧奇乐`,-1),(0,t.createElementVNode)(`div`,Pd,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,Fd,(0,t.toDisplayString)(e.school_name),1),(0,t.createElementVNode)(`div`,Id,`参赛编号:`+(0,t.toDisplayString)(e.competition_no),1),(0,t.createElementVNode)(`div`,Ld,(0,t.toDisplayString)(e.competition_room)+` `+(0,t.toDisplayString)(e.seat_no)+`号`,1)]))),128)):(0,t.createCommentVNode)(``,!0)],4)])),[[Qe,re.value]])]),_:1},8,[`modelValue`,`title`])])}}}),Vd=v({default:()=>Hd}),Hd=S(Bd,[[`__scopeId`,`data-v-4a4baa6f`]]),Ud=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-disabled`],Wd={key:0,class:`fou-slider__tooltip`},Gd=[`min`,`max`,`step`,`value`,`disabled`],Kd=(0,t.defineComponent)({name:`FouSlider`,__name:`index`,props:{modelValue:{default:0},min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`input`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.computed)(()=>{let e=r.modelValue??r.min;return Math.min(r.max,Math.max(r.min,e))}),u=(0,t.computed)(()=>{let e=r.max-r.min;return e<=0?0:(l.value-r.min)/e*100}),d=(e,t=!0)=>{let n=Math.min(r.max,Math.max(r.min,e)),a=Math.round((n-r.min)/r.step)*r.step+r.min,o=Number(a.toFixed(10));i(`update:modelValue`,o),i(`input`,o),t&&i(`change`,o)},f=e=>{let t=a.value;if(!t)return l.value;let n=t.getBoundingClientRect(),i=Math.min(1,Math.max(0,(e-n.left)/n.width));return r.min+i*(r.max-r.min)},p=e=>{r.disabled||d(f(e.clientX))},m=()=>{if(r.disabled)return;s.value=!0,c.value=r.showTooltip;let e=e=>{s.value&&d(f(e.clientX),!1)},t=n=>{s.value=!1,c.value=!1,d(f(n.clientX)),document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)};document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t)},h=e=>{r.disabled||d(l.value+e)},g=e=>{d(Number(e.target.value),!1)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-slider`,{"is-disabled":e.disabled}])},[(0,t.createElementVNode)(`div`,{ref_key:`trackRef`,ref:a,class:`fou-slider__runway`,onMousedown:p},[(0,t.createElementVNode)(`div`,{class:`fou-slider__bar`,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(u)}%`})},null,4),(0,t.createElementVNode)(`div`,{ref_key:`thumbRef`,ref:o,class:`fou-slider__button-wrapper`,style:(0,t.normalizeStyle)({left:`${(0,t.unref)(u)}%`}),tabindex:`0`,role:`slider`,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":(0,t.unref)(l),"aria-disabled":e.disabled,onMousedown:(0,t.withModifiers)(m,[`stop`]),onKeydown:[r[0]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(-e.step),[`prevent`]),[`left`]),r[1]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(e.step),[`prevent`]),[`right`]),r[2]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(-e.step),[`prevent`]),[`down`]),r[3]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(e.step),[`prevent`]),[`up`])],onMouseenter:r[4]||=t=>c.value=e.showTooltip,onMouseleave:r[5]||=e=>c.value=!1},[r[6]||=(0,t.createElementVNode)(`div`,{class:`fou-slider__button`},null,-1),(0,t.createVNode)(t.Transition,{name:`fou-slider-tip`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)&&e.showTooltip?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wd,(0,t.toDisplayString)((0,t.unref)(l)),1)):(0,t.createCommentVNode)(``,!0)]),_:1})],44,Ud)],544),(0,t.createElementVNode)(`input`,{type:`range`,class:`fou-slider__native`,min:e.min,max:e.max,step:e.step,value:(0,t.unref)(l),disabled:e.disabled,tabindex:`-1`,onInput:g},null,40,Gd)],2))}}),qd=v({default:()=>Jd}),Jd=S(Kd,[[`__scopeId`,`data-v-e0034ba9`]]),Yd={class:`fou-color-field__main`},Xd=[`title`],Zd=[`value`,`disabled`],Qd=[`placeholder`,`disabled`],$d={key:0,class:`fou-color-field__presets`},ef=[`title`,`disabled`,`onClick`],tf=(0,t.defineComponent)({name:`FouColorField`,__name:`index`,props:{modelValue:{default:``},presets:{default:()=>[`#409eff`,`#67c23a`,`#e6a23c`,`#f56c6c`,`#909399`,`#1e90ff`,`#4e6ef2`,`#0052d9`,`#3fb884`,`#6954f0`]},placeholder:{default:`#000000`},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`,`clear`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(``),s=(0,t.computed)(()=>!!r.modelValue),c=e=>{let t=e.trim();if(!t)return``;let n=t.startsWith(`#`)?t:`#${t}`;if(/^#[0-9a-fA-F]{6}$/.test(n))return n.toLowerCase();if(/^#[0-9a-fA-F]{3}$/.test(n)){let e=n[1],t=n[2],r=n[3];return`#${e}${e}${t}${t}${r}${r}`.toLowerCase()}return``},l=(0,t.computed)(()=>c(r.modelValue)||`#000000`),u=(0,t.computed)(()=>c(r.modelValue));(0,t.watch)(()=>r.modelValue,e=>{o.value=c(e)||e},{immediate:!0});let d=e=>{i(`update:modelValue`,e),i(`change`,e)},f=e=>{let t=e.target.value;o.value=t,d(t)},p=()=>{a.value=!1;let e=c(o.value);e?(o.value=e,d(e)):o.value=u.value},m=e=>{o.value=e,d(e)},h=()=>{o.value=``,i(`update:modelValue`,``),i(`change`,``),i(`clear`)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-color-field`,{"is-disabled":e.disabled,"is-focused":(0,t.unref)(a)}])},[(0,t.createElementVNode)(`div`,Yd,[(0,t.createElementVNode)(`label`,{class:`fou-color-field__native-wrap`,title:(0,t.unref)(u)},[(0,t.createElementVNode)(`input`,{class:`fou-color-field__native`,type:`color`,value:(0,t.unref)(l),disabled:e.disabled,onInput:f,onFocus:r[0]||=e=>a.value=!0,onBlur:r[1]||=e=>a.value=!1},null,40,Zd),(0,t.createElementVNode)(`span`,{class:`fou-color-field__preview`,style:(0,t.normalizeStyle)({background:(0,t.unref)(u)||`transparent`})},null,4)],8,Xd),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[2]||=e=>(0,t.isRef)(o)?o.value=e:null,class:`fou-color-field__hex`,type:`text`,maxlength:`7`,placeholder:e.placeholder,disabled:e.disabled,spellcheck:`false`,onFocus:r[3]||=e=>a.value=!0,onBlur:p,onKeydown:(0,t.withKeys)(p,[`enter`])},null,40,Qd),[[t.vModelText,(0,t.unref)(o)]]),e.clearable&&(0,t.unref)(s)&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-color-field__clear`,tabindex:`-1`,onClick:h},` × `)):(0,t.createCommentVNode)(``,!0)]),e.presets.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$d,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.presets,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-color-field__swatch`,{"is-active":(0,t.unref)(l).toLowerCase()===n.toLowerCase()}]),style:(0,t.normalizeStyle)({background:n}),title:n,disabled:e.disabled,onClick:e=>m(n)},null,14,ef))),128))])):(0,t.createCommentVNode)(``,!0)],2))}}),nf=v({default:()=>rf}),rf=S(tf,[[`__scopeId`,`data-v-b0056891`]]),af={key:1,class:`fou-fieldset`},of={key:0,class:`fou-divider__text`},sf=(0,t.defineComponent)({name:`FouDivider`,__name:`index`,props:{direction:{type:String,default:`horizontal`},contentPosition:{type:String,default:`center`},borderStyle:{type:String,default:`solid`},blockquote:{type:Boolean,default:!1},fieldset:{type:Boolean,default:!1},type:{type:String,default:`primary`},isBorder:{type:Boolean,default:!1},title:{type:String,default:``}},setup(e){return(n,r)=>e.blockquote?((0,t.openBlock)(),(0,t.createElementBlock)(`blockquote`,{key:0,class:(0,t.normalizeClass)([`fou-blockquote`,e.isBorder?`fou-blockquote-${e.type} is-border`:`fou-blockquote-${e.type}`])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2)):e.fieldset?((0,t.openBlock)(),(0,t.createElementBlock)(`fieldset`,af,[(0,t.createElementVNode)(`legend`,null,(0,t.toDisplayString)(e.title),1),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)([`fou-divider`,[`fou-divider--${e.direction}`,`fou-divider--${e.contentPosition}`,`fou-divider--${e.borderStyle}`]]),role:`separator`},[n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,of,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],2))}}),cf=v({default:()=>lf}),lf=S(sf,[[`__scopeId`,`data-v-312aa19d`]]),uf=(0,t.defineComponent)({name:`FouButtonGroup`,__name:`index`,props:{size:{default:`default`},vertical:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>({"fou-button-group--vertical":n.vertical,[`fou-button-group--${n.size}`]:!0}));return(0,t.provide)(`fouButtonGroupSize`,(0,t.toRef)(n,`size`)),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({class:[`fou-button-group`,(0,t.unref)(r)],role:`group`},e.$attrs),[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],16))}}),df=v({default:()=>ff}),ff=S(uf,[[`__scopeId`,`data-v-d400b6d1`]]);Lr();var pf={class:`qck-data-modules`},mf={class:`qck-dm-head`},hf={class:`qck-dm-head-actions`},gf={class:`qck-dm-list`},_f=[`onClick`],vf={class:`qck-dm-row`},yf={class:`qck-dm-fields`},bf={class:`qck-dm-field-head`},xf={class:`qck-dm-preview`},Sf={class:`qck-dm-field-head`},Cf={class:`qck-picker`},wf={class:`qck-picker__cats`},Tf=[`onClick`],Ef={class:`qck-picker__count`},Df={key:0,class:`qck-picker__empty`},Of={class:`qck-picker__fields`},kf={class:`qck-picker__toolbar`},Af={class:`qck-picker__label-opt`},jf={class:`qck-picker__grid`},Mf=[`title`,`onClick`],Nf={class:`qck-picker__field-label`},Pf={class:`qck-picker__field-token`},Ff={key:0,class:`qck-picker__empty`},If=(0,t.defineComponent)({name:`FouCanvasDataModulesPanel`,__name:`DataModulesPanel`,props:{modelValue:{},extraModules:{}},emits:[`update:modelValue`,`insert`,`preview-context`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.ref)(``),s=(0,t.ref)(!0),c=(0,t.ref)(!1),l=(0,t.ref)(``),u=(0,t.computed)({get:()=>kr(r.extraModules,r.modelValue),set:e=>i(`update:modelValue`,e)}),d=(0,t.computed)(()=>u.value.filter(e=>e.enabled!==!1));(0,t.watch)(u,e=>{!a.value&&e[0]&&(a.value=e[0].id),a.value&&!e.find(e=>e.id===a.value)&&(a.value=e[0]?.id||``)},{immediate:!0,deep:!0}),(0,t.watch)(c,e=>{if(!e)return;let t=d.value[0];l.value=t?.id||``});let f=(0,t.computed)(()=>u.value.find(e=>e.id===a.value)||null),p=(0,t.computed)(()=>d.value.find(e=>e.id===l.value)||d.value[0]||null),m=(0,t.computed)(()=>{let e=p.value;return e?e.fields.map(t=>({moduleId:e.id,key:t.key,label:t.label,token:`{{${e.id}.${t.key}}}`})):[]});function h(e){i(`update:modelValue`,e)}function g(e,t){let n=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),i=n.findIndex(t=>t.id===e.id);i>=0?n[i]={...n[i],enabled:t}:n.push({...e,enabled:t}),h(n)}function _(){let e=Pr(`自定义模块`),t=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules);t.push(e),h(t),a.value=e.id}function v(e){e.builtin||h((r.modelValue||[]).filter(t=>t.id!==e.id))}function y(){if(!f.value)return;let e=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),t=e.findIndex(e=>e.id===f.value.id);t<0&&(e.push({...f.value}),t=e.length-1);let n=`field_${Date.now().toString(36).slice(-4)}`;e[t]={...e[t],fields:[...e[t].fields,{key:n,label:`新字段`,type:`string`}],sample:{...e[t].sample||{},[n]:`样例`}},h(e)}function b(e,t){if(!f.value)return;let n=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),i=n.findIndex(e=>e.id===f.value.id);i<0&&(n.push({...f.value}),i=n.length-1);let a=n[i].fields.map((n,r)=>r===e?{...n,...t}:n);n[i]={...n[i],fields:a},h(n)}function x(e,t){if(!f.value)return;let n=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),i=n.findIndex(e=>e.id===f.value.id);i<0&&(n.push({...f.value}),i=n.length-1),n[i]={...n[i],sample:{...n[i].sample||{},[e]:t}},h(n)}function S(e){let t=s.value?`${e.label}:${e.token}`:e.token;i(`insert`,t,{moduleId:e.moduleId,key:e.key,label:e.label})}function C(){let e=Mr(u.value);if(o.value.trim())try{let t=JSON.parse(o.value);e={...e,...t}}catch{}i(`preview-context`,e)}function w(e){if(!f.value)return;let t=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),n=t.findIndex(e=>e.id===f.value.id);n<0?t.push({...f.value,label:e}):t[n]={...t[n],label:e},h(t)}function T(){c.value=!0}return(e,n)=>{let r=Vt,i=ki,h=va,E=pt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,pf,[(0,t.createElementVNode)(`div`,mf,[n[8]||=(0,t.createElementVNode)(`span`,{class:`qck-dm-title`},`数据模块`,-1),(0,t.createElementVNode)(`div`,hf,[(0,t.createVNode)(r,{size:`small`,type:`primary`,onClick:T},{default:(0,t.withCtx)(()=>[...n[6]||=[(0,t.createTextVNode)(`插入字段`,-1)]]),_:1}),(0,t.createVNode)(r,{size:`small`,plain:``,onClick:_},{default:(0,t.withCtx)(()=>[...n[7]||=[(0,t.createTextVNode)(`添加模块`,-1)]]),_:1})])]),n[17]||=(0,t.createElementVNode)(`p`,{class:`qck-dm-tip`},`字段由业务方通过 dataModules / extraModules 配置;点击「插入字段」在弹窗中选择。`,-1),(0,t.createElementVNode)(`div`,gf,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(u.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,t.normalizeClass)([`qck-dm-chip`,{active:e.id===a.value,off:e.enabled===!1}]),onClick:t=>a.value=e.id},[(0,t.createVNode)(i,{"model-value":e.enabled!==!1,size:`small`,onClick:n[0]||=(0,t.withModifiers)(()=>{},[`stop`]),"onUpdate:modelValue":t=>g(e,t)},null,8,[`model-value`,`onUpdate:modelValue`]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],10,_f))),128))]),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,vf,[n[10]||=(0,t.createElementVNode)(`span`,{class:`label`},`模块名`,-1),(0,t.createVNode)(h,{"model-value":f.value.label,size:`small`,disabled:!!f.value.builtin,"onUpdate:modelValue":w},null,8,[`model-value`,`disabled`]),f.value.builtin?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(r,{key:0,size:`small`,type:`danger`,link:``,onClick:n[1]||=e=>v(f.value)},{default:(0,t.withCtx)(()=>[...n[9]||=[(0,t.createTextVNode)(` 删除 `,-1)]]),_:1}))]),(0,t.createElementVNode)(`div`,yf,[(0,t.createElementVNode)(`div`,bf,[n[12]||=(0,t.createElementVNode)(`span`,null,`字段定义`,-1),(0,t.createVNode)(r,{size:`small`,onClick:y},{default:(0,t.withCtx)(()=>[...n[11]||=[(0,t.createTextVNode)(`增字段`,-1)]]),_:1})]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(f.value.fields,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${f.value.id}-${n}-${e.key}`,class:`qck-dm-field`},[(0,t.createVNode)(h,{"model-value":e.key,size:`small`,placeholder:`key`,"onUpdate:modelValue":e=>b(n,{key:e})},null,8,[`model-value`,`onUpdate:modelValue`]),(0,t.createVNode)(h,{"model-value":e.label,size:`small`,placeholder:`标签`,"onUpdate:modelValue":e=>b(n,{label:e})},null,8,[`model-value`,`onUpdate:modelValue`]),(0,t.createVNode)(h,{"model-value":f.value.sample?.[e.key]||``,size:`small`,placeholder:`样例`,"onUpdate:modelValue":t=>x(e.key,t)},null,8,[`model-value`,`onUpdate:modelValue`])]))),128))])],64)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,xf,[(0,t.createElementVNode)(`div`,Sf,[n[14]||=(0,t.createElementVNode)(`span`,null,`预览数据(JSON)`,-1),(0,t.createVNode)(r,{size:`small`,type:`primary`,onClick:C},{default:(0,t.withCtx)(()=>[...n[13]||=[(0,t.createTextVNode)(`应用到画布`,-1)]]),_:1})]),(0,t.createVNode)(h,{modelValue:o.value,"onUpdate:modelValue":n[2]||=e=>o.value=e,type:`textarea`,rows:4,placeholder:`{"student":{"name":"李四"},"classroom":{"name":"教室A"}}`},null,8,[`modelValue`])]),(0,t.createVNode)(E,{modelValue:c.value,"onUpdate:modelValue":n[5]||=e=>c.value=e,title:`选择要插入的字段`,width:`720px`,"destroy-on-close":``,class:`qck-field-picker`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(r,{onClick:n[4]||=e=>c.value=!1},{default:(0,t.withCtx)(()=>[...n[16]||=[(0,t.createTextVNode)(`关闭`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Cf,[(0,t.createElementVNode)(`aside`,wf,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(d.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,t.normalizeClass)([`qck-picker__cat`,{"is-active":p.value?.id===e.id}]),onClick:t=>l.value=e.id},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),(0,t.createElementVNode)(`span`,Ef,(0,t.toDisplayString)(e.fields.length),1)],10,Tf))),128)),d.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Df,`暂无启用模块,请先在左侧配置`))]),(0,t.createElementVNode)(`section`,Of,[(0,t.createElementVNode)(`div`,kf,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(p.value?.label||`字段`),1),(0,t.createElementVNode)(`label`,Af,[(0,t.createVNode)(i,{modelValue:s.value,"onUpdate:modelValue":n[3]||=e=>s.value=e,size:`small`},null,8,[`modelValue`]),n[15]||=(0,t.createTextVNode)(` 插入时带标签 `,-1)])]),(0,t.createElementVNode)(`div`,jf,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.token,type:`button`,class:`qck-picker__field`,title:e.token,onClick:t=>S(e)},[(0,t.createElementVNode)(`span`,Nf,(0,t.toDisplayString)(e.label),1),(0,t.createElementVNode)(`code`,Pf,(0,t.toDisplayString)(e.token),1)],8,Mf))),128)),p.value&&!m.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Ff,`该分类暂无字段`)):(0,t.createCommentVNode)(``,!0)])])])]),_:1},8,[`modelValue`])])}}}),Lf=v({default:()=>Rf}),Rf=S(If,[[`__scopeId`,`data-v-a6fb752d`]]);async function zf(e,t={}){let n=await(0,s.default)(e,{scale:t.scale??2,backgroundColor:t.backgroundColor===void 0?`#ffffff`:t.backgroundColor,useCORS:!0,logging:!1});return new Promise((e,t)=>{n.toBlob(n=>{n?e(n):t(Error(`PNG export failed`))},`image/png`,1)})}function Bf(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}async function Vf(e,t={}){let n=await zf(e,t);return Bf(n,t.fileName||`canvas-${Date.now()}.png`),n}var Hf=96/25.4;function Uf(e,t){let n=e.canvas;return t===`px`?{w:n.widthPx??Math.round(n.widthMm*Hf),h:n.heightPx??Math.round(n.heightMm*Hf),unit:`px`}:{w:n.widthMm,h:n.heightMm,unit:`mm`}}function Wf(e){return String(e||``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Gf(e){return e||``}function Kf(e,t){let n=t===`px`?`${Math.round(e.xMm*Hf)}px`:`${e.xMm}mm`,r=t===`px`?`${Math.round(e.yMm*Hf)}px`:`${e.yMm}mm`,i=t===`px`?`${Math.round(e.wMm*Hf)}px`:`${e.wMm}mm`,a=t===`px`?`${Math.round(e.hMm*Hf)}px`:`${e.hMm}mm`,o=[];return e.rotation&&o.push(`rotate(${e.rotation}deg)`),e.flipX&&o.push(`scaleX(-1)`),e.flipY&&o.push(`scaleY(-1)`),`position:absolute;left:${n};top:${r};width:${i};height:${a};z-index:${e.zIndex??1};box-sizing:border-box;${o.length?`transform:${o.join(` `)};transform-origin:center center;`:``}`}function qf(e,t,n){let r=Kf(e,n),i=``;if(e.type===`text`){let n=Wf(Br(e.text,t)),a=e.textDirection===`vertical`;i=`<div style="${r}display:flex;align-items:center;justify-content:flex-start;font-size:${e.fontSize}pt;font-family:${Wf(e.fontFamily)};color:${Wf(e.color)};white-space:pre-wrap;word-break:break-word;overflow:hidden;${a?`writing-mode:vertical-rl;text-orientation:upright;`:``}">${n}</div>`}else if(e.type===`image`||e.type===`seal`)i=`<div style="${r}display:flex;align-items:center;justify-content:center;"><img src="${Wf(Gf(e.src))}" alt="" style="max-width:100%;max-height:100%;object-fit:contain"/></div>`;else if(e.type===`shape`){let t=Wf(e.background||`transparent`);i=`<div style="${r}${e.opacity==null?``:`opacity:${e.opacity};`}background:${t};border-radius:${e.shape===`circle`?`50%`:`0`};"></div>`}else return``;if(e.link?.href){let n=Wf(Br(e.link.href,t)),r=e.link.target===`_self`?`_self`:`_blank`;return`<a href="${n}" target="${r}" rel="${(r===`_blank`?` noopener noreferrer`:``).trim()}" style="display:contents;text-decoration:none;color:inherit;">${i}</a>`}return i}function Jf(e,t={}){let n=t.context||{},r=t.forceUnit||e.canvas.unit||(e.mode===`banner`?`px`:`mm`),i=Uf(e,r),a=e.canvas.showBorder!==!1&&e.mode!==`banner`?`border:${e.canvas.borderWidthMm||.35}mm solid ${Wf(e.canvas.borderColor||`#334155`)};`:`border:none;`,o=e.canvas.backgroundImage?`background-image:url(${Wf(e.canvas.backgroundImage)});background-size:cover;background-position:center;`:`background:${Wf(e.canvas.background||`transparent`)};`,s=Hr(e.elements||[]).map(e=>qf(e,n,r)).join(`
103
+ </html>`;try{await fd(d),r.close(),d.focus(),await new Promise(e=>window.setTimeout(e,180)),d.print()}finally{window.setTimeout(()=>r.close(),120)}d.addEventListener(`afterprint`,()=>{window.setTimeout(()=>{l.remove()},300)},{once:!0}),window.setTimeout(()=>{l.remove()},4e3)}async function cd(e,t,n={}){let r=id(rd(t)),i=r.internal.pageSize.getWidth(),a=r.internal.pageSize.getHeight();for(let t=0;t<e.length;t++){t>0&&r.addPage(),n.onProgress?.({phase:`render`,current:t+1,total:e.length,percent:Math.min(95,Math.round((t+1)/e.length*90)),text:`正在渲染第 ${t+1} / ${e.length} 页`});let o=(await(0,s.default)(e[t],{scale:2,useCORS:!0,logging:!1,backgroundColor:`#ffffff`,scrollX:0,scrollY:-window.scrollY,windowWidth:e[t].scrollWidth,windowHeight:e[t].scrollHeight})).toDataURL(`image/png`,.92);r.addImage(o,`PNG`,0,0,i,a)}return r}function ld(){return td.service({fullscreen:!0,text:`正在生成 PDF 0%`})}function ud(e){window.setTimeout(()=>e.close(),120)}function dd(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}async function fd(e){await new Promise(t=>{if(e.document.readyState===`complete`){t();return}e.addEventListener(`load`,()=>t(),{once:!0}),setTimeout(()=>t(),1200)});let t=Array.from(e.document.images);await Promise.all(t.map(e=>new Promise(t=>{if(e.complete){t();return}e.addEventListener(`load`,()=>t(),{once:!0}),e.addEventListener(`error`,()=>t(),{once:!0}),setTimeout(()=>t(),1200)})))}function pd(e=160){let n=(0,t.ref)(null),r=(0,t.ref)(Math.max(e,200)),i=0,a=null,o=null,s=()=>{let t=n.value;t&&(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{let n=Math.floor(t.getBoundingClientRect().height),i=Math.max(e,n);Math.abs(i-r.value)>1&&(r.value=i)}))},c=()=>{o?.(),o=null,a?.disconnect(),a=null};return(0,t.watch)(n,e=>{if(c(),!e)return;(0,t.nextTick)(()=>s());let n=()=>s();window.addEventListener(`resize`,n,{passive:!0}),o=()=>window.removeEventListener(`resize`,n),a=new ResizeObserver(()=>s()),a.observe(e)},{flush:`post`}),(0,t.onUnmounted)(()=>{c(),cancelAnimationFrame(i)}),{hostRef:n,tableHeight:r,recalcTableHeight:s}}function md(e){if(e==null)return[];let t=String(e).trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(String).filter(Boolean)}catch{}return[]}function hd(e,t){let n=md(e);return n.length?n.map(e=>t[e]||e).filter(Boolean).join(` / `):String(e??``).trim()}var gd={class:`page-container badge-manage`},_d={class:`tpl-list-layout`},vd={class:`tpl-region-aside`},yd={class:`tpl-list-main`},bd={class:`hint tpl-hint tpl-hint-shrink`},xd={class:`tpl-filter-bar`},Sd={class:`pagination-wrapper tpl-pagination`},Cd={class:`toolbar`},wd={key:0},Td={key:1},Ed={key:0},Dd={key:1},Od={class:`preview-head`},kd={class:`preview-head-actions`},Ad={key:1,class:`badge-grid`},jd={class:`badge-name`},Md={class:`badge-school`},Nd={class:`badge-no`},Pd={class:`badge-room`},Fd={key:0,class:`checkbox-empty`},Id={class:`inline-stack`},Ld={class:`paper-config`},Rd={class:`paper-config-block`},zd={class:`paper-config-block`},Bd={key:0,class:`paper-config-desc`},Vd={class:`paper-config-block`},Hd={class:`paper-inline-row`},Ud={class:`paper-config-desc`},Wd={class:`pdf-dialog-body`},Gd={class:`sb-name`},Kd={class:`sb-school`},qd={class:`sb-no`},Jd={class:`sb-room`},Yd=`zhihui_admin_badge_tasks`,Xd=8,Zd=(0,t.defineComponent)({__name:`BadgeManageView`,setup(e){let{hostRef:n,tableHeight:r,recalcTableHeight:i}=pd(140),{hostRef:a,tableHeight:s,recalcTableHeight:c}=pd(160),l=(0,o.useRouter)(),u=(0,t.ref)(!1),d=(0,t.ref)(!1);function f(){return typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}let p=(0,t.ref)([]),m=(0,t.ref)([]),h=(0,t.ref)([]),g=(0,t.ref)(``),_=(0,t.ref)([]),v=(0,t.ref)({page:1,pageSize:10,total:0}),y=(0,t.ref)(null),b=(0,t.ref)(``),x=(0,t.ref)(``),S=(0,t.ref)(!1),C=(0,t.ref)(``),w=(0,t.ref)(void 0),T=(0,t.ref)(void 0),E=(0,t.ref)(!0),D=(0,t.ref)([]),O=(0,t.ref)(!1),k=(0,t.ref)([]),A=(0,t.ref)(`sequence`),j=(0,t.ref)([]),M=(0,t.ref)([]),N=(0,t.ref)([]),P=(0,t.ref)(``),F=(0,t.ref)(``),I=(0,t.ref)([]),L=(0,t.ref)([]),R=(0,t.ref)(``),ee=(0,t.ref)(!1),z=(0,t.ref)(`a4`),B=(0,t.ref)(`portrait`),V=(0,t.ref)(2),H=(0,t.ref)(2),te=(0,t.ref)(null),ne=(0,t.ref)(!1),re=(0,t.ref)(!1),ie=(0,t.ref)(!1),ae=(0,t.ref)(null),oe=(0,t.ref)(null),U=(0,t.ref)([]),se=(0,t.ref)([]),ce=(0,t.ref)(``),le={a4:{w:210,h:297},a3:{w:297,h:420}},W=(0,t.computed)(()=>z.value===`custom`),G=(0,t.computed)(()=>{if(W.value)return{w:Number(oe.value?.canvas?.widthMm??90),h:Number(oe.value?.canvas?.heightMm??130)};let e=le[z.value===`a3`?`a3`:`a4`];return B.value===`landscape`?{w:e.h,h:e.w}:e}),ue=(0,t.computed)(()=>({w:Number(oe.value?.canvas?.widthMm??90),h:Number(oe.value?.canvas?.heightMm??130)})),K=(0,t.computed)(()=>{let e=G.value,t=ue.value;if(W.value)return{requestedCols:1,maxCols:1,cols:1,rows:1,perPage:1,blockW:t.w,blockH:t.h};let n=Math.max(1,e.w-16),r=Math.max(1,e.h-16),i=Math.max(1,Math.floor(n/t.w)),a=Math.max(1,Number(H.value||1)),o=Math.min(a,i),s=Math.max(1,Math.floor(r/t.h));return{requestedCols:a,maxCols:i,cols:o,rows:s,perPage:Math.max(1,o*s),blockW:o*t.w,blockH:s*t.h}}),de=(0,t.computed)(()=>{let e=K.value.perPage,t=[];for(let n=0;n<U.value.length;n+=e)t.push(U.value.slice(n,n+e));return t}),fe=(0,t.computed)(()=>({width:`${G.value.w}mm`})),q=(0,t.computed)(()=>({width:`${G.value.w}mm`,height:`${G.value.h}mm`,padding:`${W.value?0:Xd}mm`}));function pe(e){let t=Math.max(1,Math.min(K.value.cols,e||1)),n=Math.max(1,Math.ceil((e||1)/Math.max(1,K.value.cols)));return{width:`${t*ue.value.w}mm`,minHeight:`${n*ue.value.h}mm`,gridTemplateColumns:`repeat(${t}, ${ue.value.w}mm)`,gridAutoRows:`${ue.value.h}mm`}}let me=(0,t.computed)(()=>({width:`${ue.value.w}mm`,height:`${ue.value.h}mm`})),he=(0,t.computed)(()=>N.value.map(e=>{let t=String(e.seat_no??``).trim(),n=!t;return{value:e.id,label:`${e.student_name}(座位:${t||`无`})`,disabled:n}})),ge=(0,t.computed)(()=>m.value.map(e=>({label:e.name,value:e.id}))),_e=(0,t.computed)(()=>M.value.map(e=>({label:`${e.name||`未命名模板`}${e.is_default?`(默认)`:``}`,value:e.id}))),ve=(0,t.computed)(()=>{let e=P.value.trim().toLowerCase();return e?j.value.filter(t=>`${t.school_name}`.toLowerCase().includes(e)):j.value}),ye=(0,t.computed)(()=>{let e=F.value.trim().toLowerCase();return e?he.value.filter(t=>t.label.toLowerCase().includes(e)):he.value}),be=e=>{if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()},xe=e=>Array.isArray(e)?e.map(e=>({id:`r-${e.value}`,label:e.label,code:String(e.value||``),children:xe(e.children||[])})):[],Se=(0,t.computed)(()=>[{id:`all`,label:`全国`,code:``,children:xe(Ae)}]),Ce=(0,t.computed)(()=>x.value?je[x.value]||x.value:``),we=(e,t)=>{let n=e.trim();return!n||t.label.includes(n)},Te=e=>{x.value=e.code||``,v.value.page=1,Pe()},Ee=()=>{x.value=``,y.value?.setCurrentKey(`all`),v.value.page=1,Pe()},De=()=>{v.value.page=1,Pe()},Oe=()=>{g.value=``,_.value=[],x.value=``,b.value=``,y.value?.setCurrentKey(`all`),v.value.page=1,Pe()},ke=e=>(v.value.page-1)*v.value.pageSize+e+1,Me=()=>{try{localStorage.setItem(Yd,JSON.stringify(h.value))}catch{}},Ne=()=>{try{let e=localStorage.getItem(Yd);if(!e)return;let t=JSON.parse(e);Array.isArray(t)&&(h.value=t.map(e=>({id:String(e.id||f()),title:String(e.title||`证件任务`),competitionId:Number(e.competitionId||0),competitionName:String(e.competitionName||``),templateId:e.templateId?Number(e.templateId):void 0,templateName:e.templateName?String(e.templateName):void 0,scopeAllSchools:!!(e.scopeAllSchools??!0),schoolIds:Array.isArray(e.schoolIds)?e.schoolIds.map(e=>Number(e)):[],studentIds:Array.isArray(e.studentIds)?e.studentIds.map(e=>Number(e)):null,generateMode:e.generateMode===`school`?`school`:`sequence`,createdAt:String(e.createdAt||new Date().toISOString())})))}catch{}},Pe=async()=>{d.value=!0;try{let e={page:v.value.page,page_size:v.value.pageSize},t=g.value.trim();t&&(e.keyword=t),_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]),x.value&&(e.host_region_code=x.value);let n=await mn(e);p.value=n.data?.data||[],v.value.total=n.data?.total||0}catch{p.value=[],v.value.total=0}finally{d.value=!1,(0,t.nextTick)(()=>i())}},Fe=async()=>{try{let e=await mn({page:1,page_size:500});m.value=e.data?.data||[]}catch{m.value=[]}},Ie=e=>{l.push(`/fouui/badge/competition/${e}/badge-templates`)},Le=e=>{l.push(`/fouui/badge/competition/${e}`)},Re=()=>{u.value=!0},ze=()=>{Be(),S.value=!0},Be=()=>{C.value=``,w.value=void 0,T.value=void 0,E.value=!0,D.value=[],O.value=!1,k.value=[],A.value=`sequence`,j.value=[],M.value=[],N.value=[],P.value=``,F.value=``},Ve=async e=>{if(D.value=[],T.value=void 0,k.value=[],j.value=[],M.value=[],N.value=[],e){try{let t=await gn(e);M.value=t.data?.list??[];let n=M.value[0];n?.id&&(T.value=Number(n.id))}catch{M.value=[]}try{let t=await Nn(e);j.value=t.data?.schools??[]}catch{j.value=[]}try{let t=await Fn(e,{page:1,page_size:5e3});N.value=t.data?.data??t.data??[]}catch{N.value=[]}}},He=()=>{let e=w.value;if(!e){Q.warning(`请选择比赛`);return}if(!T.value){Q.warning(`请选择证件模板`);return}if(!E.value&&!D.value.length){Q.warning(`请选择至少一所学校,或改为「全部学校」`);return}if(O.value&&!k.value.length){Q.warning(`请勾选指定学生,或关闭「指定学生」`);return}let t=m.value.find(t=>t.id===e)||p.value.find(t=>t.id===e),n=M.value.find(e=>Number(e.id)===Number(T.value)),r={id:f(),title:C.value.trim()||`证件任务 ${h.value.length+1}`,competitionId:e,competitionName:t?.name??`#${e}`,templateId:Number(T.value),templateName:n?.name||`未命名模板`,scopeAllSchools:E.value,schoolIds:E.value?[]:[...D.value],studentIds:O.value&&k.value.length?[...k.value]:null,generateMode:A.value,createdAt:new Date().toISOString()};h.value=[r,...h.value],Me(),S.value=!1,Q.success(`任务已保存`)},Ue=e=>{te.value=e,z.value=`a4`,B.value=`portrait`,V.value=2,H.value=2,ee.value=!0},We=async e=>{te.value=e,z.value=`a4`,B.value=`portrait`,V.value=2,H.value=2,await Ge()},Ge=async()=>{let e=te.value;if(!e){ee.value=!1;return}ee.value=!1,R.value=e.title,ce.value=e.title,I.value=[],L.value=[],oe.value=null,U.value=[],se.value=[];let n={};!e.scopeAllSchools&&e.schoolIds.length&&(n.school_ids=e.schoolIds.join(`,`)),e.studentIds?.length&&(n.student_ids=e.studentIds.join(`,`)),re.value=!0,ne.value=!0;try{let r=await Pn(e.competitionId,n);if(I.value=J(r.data?.badges??[],e.generateMode),L.value=Qe(r.data?.skipped_no_seat??[],e.generateMode),se.value=L.value,!I.value.length&&!L.value.length){ne.value=!1,Mu(`没有可生成的证件(请检查是否已按赛事场次上传学生、已添加教室并自动编排座位号)`,`提示`);return}U.value=I.value.map(e=>zu(e));try{let n=(e.templateId?await vn(e.competitionId,e.templateId):await yn(e.competitionId)).data?.template_json;if(n&&typeof n==`object`&&Array.isArray(n.elements)&&n.elements.length&&(oe.value=n,await(0,t.nextTick)(),K.value.requestedCols>K.value.maxCols)){ne.value=!1,Q.warning(`${z.value.toUpperCase()}${B.value===`landscape`?`横向`:`纵向`} 最多每行显示 ${K.value.maxCols} 个证件,请调整后重试`);return}}catch{oe.value=null}}catch{ne.value=!1}finally{re.value=!1}},Ke=()=>{I.value=[],L.value=[],R.value=``},qe=()=>{te.value&&(ne.value=!0)},Je=async e=>{let t=te.value;if(t?.competitionId)try{await In(t.competitionId,{source:e})}catch{Q.warning(`参赛证已输出,但定档状态写入失败,请刷新后重试`)}},Ye=async()=>{let e=ae.value;if(!(!e||!U.value.length)){ie.value=!0;try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200));let n=(ce.value||`export`).replace(/[/\\?%*:|"<>]/g,`_`);await od(Array.from(e.querySelectorAll(`.pdf-page`)),`证件_${n}.pdf`,{size:z.value,orientation:B.value,widthMm:G.value.w,heightMm:G.value.h}),await Je(`badge_pdf`)}finally{ie.value=!1}}},Xe=async()=>{let e=ae.value;if(!(!e||!U.value.length))try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200)),await sd(Array.from(e.querySelectorAll(`.pdf-page`)),`证件_${(ce.value||`证件预览`).replace(/[/\\?%*:|"<>]/g,`_`)}`,{size:z.value,orientation:B.value,widthMm:G.value.w,heightMm:G.value.h}),await Je(`badge_print`)}catch(e){Q.error(e instanceof Error?e.message:`打印失败`)}},Ze=e=>{h.value=h.value.filter(t=>t.id!==e),Me()};(0,t.onMounted)(async()=>{Ne(),await Promise.all([Pe(),Fe()]),(0,t.nextTick)(()=>{i(),c()})}),(0,t.watch)(b,e=>{y.value?.filter(e)}),(0,t.watch)(()=>h.value.length,()=>(0,t.nextTick)(()=>c())),(0,t.onActivated)(()=>(0,t.nextTick)(()=>{i(),c()})),(0,t.watch)(V,e=>{W.value||e>0&&(H.value=e)}),(0,t.watch)(H,e=>{if(W.value){H.value!==1&&(H.value=1),V.value!==1&&(V.value=1);return}let t=Math.max(1,Number(e||1));if(t!==e){H.value=t;return}V.value=[1,2,3].includes(t)?t:0}),(0,t.watch)(z,e=>{e===`custom`&&(B.value=`portrait`,V.value=1,H.value=1)});function J(e,t){let n=Array.isArray(e)?[...e]:[];return t===`school`?(n.sort((e,t)=>{let n=$e(e?.school_name,t?.school_name);if(n!==0)return n;let r=$e(e?.competition_room,t?.competition_room);if(r!==0)return r;let i=Y(e?.seat_no,t?.seat_no);return i===0?$e(e?.student_name,t?.student_name):i}),n):(n.sort((e,t)=>{let n=$e(e?.competition_room,t?.competition_room);if(n!==0)return n;let r=Y(e?.seat_no,t?.seat_no);if(r!==0)return r;let i=$e(e?.competition_no,t?.competition_no);return i===0?$e(e?.student_name,t?.student_name):i}),n)}function Qe(e,t){let n=Array.isArray(e)?[...e]:[];return n.sort((e,n)=>{if(t===`school`){let t=$e(e?.school_name,n?.school_name);if(t!==0)return t}return $e(e?.student_name,n?.student_name)}),n}function $e(e,t){return String(e||``).localeCompare(String(t||``),`zh-CN`)}function Y(e,t){let n=String(e||``).trim(),r=String(t||``).trim(),i=Number(n),a=Number(r);return n!==``&&!Number.isNaN(i)&&r!==``&&!Number.isNaN(a)&&i!==a?i-a:n.localeCompare(r,`zh-CN`,{numeric:!0})}return(e,i)=>{let o=va,c=ku,l=tu,f=Vt,m=Zl,x=fl,j=cl,M=al,N=or,le=mr,G=Pt,ue=la,K=ia,he=qi,xe=Vi,Ae=Ri,Me=Mi,Ne=ki,Fe=Si,Je=pt,J=yi,Qe=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,gd,[(0,t.createVNode)(le,{shadow:`never`,class:`tpl-entry-card tpl-fill-card`},{header:(0,t.withCtx)(()=>[...i[27]||=[(0,t.createElementVNode)(`div`,{class:`card-head`},[(0,t.createElementVNode)(`span`,{class:`toolbar-title`},`证件模板`),(0,t.createElementVNode)(`span`,{class:`card-head-desc`},`按比赛设计版面;保存后学校端按模板套打。`)],-1)]]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,_d,[(0,t.createElementVNode)(`aside`,vd,[i[28]||=(0,t.createElementVNode)(`div`,{class:`tree-title`},`赛区分类`,-1),(0,t.createVNode)(o,{modelValue:b.value,"onUpdate:modelValue":i[0]||=e=>b.value=e,class:`tree-filter`,clearable:``,size:`small`,placeholder:`筛选赛区`},null,8,[`modelValue`]),(0,t.createVNode)(l,{class:`tpl-region-scroll`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{ref_key:`treeRef`,ref:y,data:Se.value,"highlight-current":``,"default-expanded-keys":[`all`],props:{label:`label`,children:`children`,value:`id`},"filter-node-method":we,onNodeClick:Te},null,8,[`data`])]),_:1})]),(0,t.createElementVNode)(`section`,yd,[(0,t.createElementVNode)(`p`,bd,[i[30]||=(0,t.createTextVNode)(` 在列表中选择比赛进入`,-1),i[31]||=(0,t.createElementVNode)(`strong`,null,`管理模板`,-1),i[32]||=(0,t.createTextVNode)(`,或与下方「证件生成任务」配合:先选比赛制作模板,再用任务生成预览。 `,-1),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:Re},{default:(0,t.withCtx)(()=>[...i[29]||=[(0,t.createTextVNode)(`证件图片库`,-1)]]),_:1})]),(0,t.createElementVNode)(`div`,xd,[(0,t.createVNode)(o,{modelValue:g.value,"onUpdate:modelValue":i[1]||=e=>g.value=e,clearable:``,placeholder:`关键字:比赛名称/赛区码/场地`,style:{width:`240px`},onKeyup:(0,t.withKeys)(De,[`enter`])},null,8,[`modelValue`]),(0,t.createVNode)(m,{modelValue:_.value,"onUpdate:modelValue":i[2]||=e=>_.value=e,type:`daterange`,"value-format":`YYYY-MM-DD`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`,"range-separator":`至`,style:{width:`260px`}},null,8,[`modelValue`]),(0,t.createVNode)(f,{type:`primary`,onClick:De},{default:(0,t.withCtx)(()=>[...i[33]||=[(0,t.createTextVNode)(`查询`,-1)]]),_:1}),(0,t.createVNode)(f,{onClick:Oe},{default:(0,t.withCtx)(()=>[...i[34]||=[(0,t.createTextVNode)(`重置`,-1)]]),_:1}),Ce.value?((0,t.openBlock)(),(0,t.createBlock)(x,{key:0,type:`info`,closable:``,onClose:Ee},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(Ce.value),1)]),_:1})):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,{ref_key:`tplHostRef`,ref:n,class:`table-host`},[(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)(M,{data:p.value,stripe:``,height:(0,t.unref)(r),"empty-text":`暂无比赛数据`,size:`small`,class:`tpl-table`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(j,{type:`index`,label:`#`,width:`52`,align:`center`,index:ke}),(0,t.createVNode)(j,{prop:`name`,label:`比赛名称`,"min-width":`200`,"show-overflow-tooltip":``}),(0,t.createVNode)(j,{prop:`area_code`,label:`赛区码`,width:`82`}),(0,t.createVNode)(j,{label:`举办地`,"min-width":`150`,"show-overflow-tooltip":``},{default:(0,t.withCtx)(({row:e})=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(hd)(e.host_region,(0,t.unref)(je))||`—`),1)]),_:1}),(0,t.createVNode)(j,{prop:`start_date`,label:`开始日期`,width:`118`}),(0,t.createVNode)(j,{label:`状态`,width:`96`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(x,{size:`small`,type:[`info`,`success`,`primary`,`danger`][Number(e.status)]??`info`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)([`草稿`,`报名中`,`进行中`,`已结束`][Number(e.status)]??`—`),1)]),_:2},1032,[`type`])]),_:1}),(0,t.createVNode)(j,{label:`模板`,width:`220`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Ie(e.id)},{default:(0,t.withCtx)(()=>[...i[35]||=[(0,t.createTextVNode)(`管理模板`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Le(e.id)},{default:(0,t.withCtx)(()=>[...i[36]||=[(0,t.createTextVNode)(`比赛详情`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])),[[Qe,d.value]])],512),(0,t.createElementVNode)(`div`,Sd,[(0,t.createVNode)(N,{"current-page":v.value.page,"onUpdate:currentPage":i[3]||=e=>v.value.page=e,"page-size":v.value.pageSize,"onUpdate:pageSize":i[4]||=e=>v.value.pageSize=e,total:v.value.total,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next`,onChange:Pe},null,8,[`current-page`,`page-size`,`total`])])])])]),_:1}),(0,t.createVNode)(le,{shadow:`never`,class:`task-fill-card`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Cd,[i[38]||=(0,t.createElementVNode)(`span`,{class:`toolbar-title`},`证件生成任务`,-1),(0,t.createVNode)(f,{type:`primary`,onClick:ze},{default:(0,t.withCtx)(()=>[...i[37]||=[(0,t.createTextVNode)(`添加任务`,-1)]]),_:1})]),i[43]||=(0,t.createElementVNode)(`p`,{class:`hint task-hint-shrink`},`任务保存在本浏览器;点击「生成预览」将先选择 A4/A3 纸张,再打开整版预览并可下载 PDF(无座位号的学生会被跳过或禁止)。`,-1),(0,t.createElementVNode)(`div`,{ref_key:`taskHostRef`,ref:a,class:`table-host`},[(0,t.createVNode)(M,{data:h.value,stripe:``,"empty-text":`暂无任务,请点击添加`,height:(0,t.unref)(s)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(j,{prop:`title`,label:`任务名称`,"min-width":`140`}),(0,t.createVNode)(j,{prop:`competitionName`,label:`比赛`,"min-width":`160`,"show-overflow-tooltip":``}),(0,t.createVNode)(j,{label:`模板`,"min-width":`140`,"show-overflow-tooltip":``},{default:(0,t.withCtx)(({row:e})=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.templateName||`默认模板`),1)]),_:1}),(0,t.createVNode)(j,{label:`学校范围`,width:`140`},{default:(0,t.withCtx)(({row:e})=>[e.scopeAllSchools?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,wd,`全部学校`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Td,(0,t.toDisplayString)(e.schoolIds.length)+` 所学校`,1))]),_:1}),(0,t.createVNode)(j,{label:`学生范围`,width:`120`},{default:(0,t.withCtx)(({row:e})=>[e.studentIds?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Dd,`指定 `+(0,t.toDisplayString)(e.studentIds.length)+` 人`,1)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ed,`范围内全部(无座位号跳过)`))]),_:1}),(0,t.createVNode)(j,{label:`生成方式`,width:`120`,align:`center`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.generateMode===`school`?`按学校`:`按顺序`),1)]),_:1}),(0,t.createVNode)(j,{label:`创建时间`,width:`175`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createTextVNode)((0,t.toDisplayString)(be(e.createdAt)),1)]),_:1}),(0,t.createVNode)(j,{label:`操作`,width:`360`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Ie(e.competitionId)},{default:(0,t.withCtx)(()=>[...i[39]||=[(0,t.createTextVNode)(`编辑模板`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`success`,onClick:t=>We(e)},{default:(0,t.withCtx)(()=>[...i[40]||=[(0,t.createTextVNode)(`立即生成证件`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:t=>Ue(e)},{default:(0,t.withCtx)(()=>[...i[41]||=[(0,t.createTextVNode)(`生成预览`,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)(f,{link:``,type:`danger`,onClick:t=>Ze(e.id)},{default:(0,t.withCtx)(()=>[...i[42]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])],512)]),_:1}),I.value.length||L.value.length?((0,t.openBlock)(),(0,t.createBlock)(le,{key:0,class:`preview-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Od,[(0,t.createElementVNode)(`span`,null,`预览`+(0,t.toDisplayString)(R.value?` — ${R.value}`:``),1),(0,t.createElementVNode)(`div`,kd,[te.value&&(I.value.length||L.value.length)?((0,t.openBlock)(),(0,t.createBlock)(f,{key:0,link:``,type:`primary`,onClick:qe},{default:(0,t.withCtx)(()=>[...i[44]||=[(0,t.createTextVNode)(` 返回整版预览 `,-1)]]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(f,{link:``,type:`danger`,onClick:Ke},{default:(0,t.withCtx)(()=>[...i[45]||=[(0,t.createTextVNode)(`关闭预览`,-1)]]),_:1})])])]),default:(0,t.withCtx)(()=>[L.value.length?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Mu),{key:0,type:`warning`,"show-icon":``,closable:!1,title:`已跳过 ${L.value.length} 名学生(未编排座位号,无法制作证件)`,style:{"margin-bottom":`12px`}},null,8,[`title`])):(0,t.createCommentVNode)(``,!0),I.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ad,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(I.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`badge-card`,key:`${e.competition_no}-${e.seat_no}`},[i[46]||=(0,t.createElementVNode)(`div`,{class:`badge-header`},`智慧奇乐`,-1),(0,t.createElementVNode)(`div`,jd,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,Md,(0,t.toDisplayString)(e.school_name),1),(0,t.createElementVNode)(`div`,Nd,`参赛编号:`+(0,t.toDisplayString)(e.competition_no),1),(0,t.createElementVNode)(`div`,Pd,(0,t.toDisplayString)(e.competition_room)+` `+(0,t.toDisplayString)(e.seat_no)+`号`,1)]))),128))])):L.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(G,{key:2,description:`无符合条件的证件数据`}))]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(Je,{modelValue:S.value,"onUpdate:modelValue":i[17]||=e=>S.value=e,title:`添加证件任务`,width:`580px`,"align-center":``,draggable:``,"destroy-on-close":``,onClosed:Be},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(f,{onClick:i[16]||=e=>S.value=!1},{default:(0,t.withCtx)(()=>[...i[53]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(f,{type:`primary`,onClick:He},{default:(0,t.withCtx)(()=>[...i[54]||=[(0,t.createTextVNode)(`保存任务`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(Fe,{"label-width":`108px`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ue,{label:`任务名称`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{modelValue:C.value,"onUpdate:modelValue":i[5]||=e=>C.value=e,placeholder:`可选,便于区分`,clearable:``},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(ue,{label:`比赛`,required:``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{modelValue:w.value,"onUpdate:modelValue":i[6]||=e=>w.value=e,placeholder:`选择比赛`,style:{width:`100%`},options:ge.value,onChange:Ve},null,8,[`modelValue`,`options`])]),_:1}),(0,t.createVNode)(ue,{label:`学校范围`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(xe,{modelValue:E.value,"onUpdate:modelValue":i[7]||=e=>E.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:!0},{default:(0,t.withCtx)(()=>[...i[47]||=[(0,t.createTextVNode)(`全部学校`,-1)]]),_:1}),(0,t.createVNode)(he,{label:!1},{default:(0,t.withCtx)(()=>[...i[48]||=[(0,t.createTextVNode)(`指定学校`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),E.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(ue,{key:0,label:`选择学校`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{modelValue:P.value,"onUpdate:modelValue":i[8]||=e=>P.value=e,clearable:``,size:`small`,placeholder:`筛选学校`,disabled:!w.value,style:{width:`100%`,"margin-bottom":`8px`}},null,8,[`modelValue`,`disabled`]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`checkbox-scroll`,{"is-disabled":!w.value}])},[(0,t.createVNode)(Me,{modelValue:D.value,"onUpdate:modelValue":i[9]||=e=>D.value=e,disabled:!w.value},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ve.value,e=>((0,t.openBlock)(),(0,t.createBlock)(Ae,{key:e.id,label:e.id},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.school_name)+`(`+(0,t.toDisplayString)(e.student_count)+`人) `,1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`disabled`]),ve.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Fd,`请先选择比赛`))],2)]),_:1})),w.value?((0,t.openBlock)(),(0,t.createBlock)(ue,{key:1,label:`模板`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{modelValue:T.value,"onUpdate:modelValue":i[10]||=e=>T.value=e,placeholder:`请选择证件模板`,style:{width:`100%`},options:_e.value},null,8,[`modelValue`,`options`]),(0,t.createVNode)(f,{link:``,type:`primary`,onClick:i[11]||=e=>Ie(w.value)},{default:(0,t.withCtx)(()=>[...i[49]||=[(0,t.createTextVNode)(`编辑该比赛的证件模板`,-1)]]),_:1})]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(ue,{label:`指定学生`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Id,[(0,t.createVNode)(Ne,{modelValue:O.value,"onUpdate:modelValue":i[12]||=e=>O.value=e,"active-text":`仅所选学生`,"inactive-text":`范围内全部`},null,8,[`modelValue`])]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)(o,{modelValue:F.value,"onUpdate:modelValue":i[13]||=e=>F.value=e,clearable:``,size:`small`,placeholder:`筛选学生`,disabled:!w.value,style:{width:`100%`,"margin-top":`8px`}},null,8,[`modelValue`,`disabled`]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`checkbox-scroll`,{"is-disabled":!w.value}]),style:{"margin-top":`8px`}},[(0,t.createVNode)(Me,{modelValue:k.value,"onUpdate:modelValue":i[14]||=e=>k.value=e,disabled:!w.value},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ye.value,e=>((0,t.openBlock)(),(0,t.createBlock)(Ae,{key:e.value,label:e.value,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`disabled`]))),128))]),_:1},8,[`modelValue`,`disabled`])],2)],64)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createVNode)(ue,{label:`生成方式`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(xe,{modelValue:A.value,"onUpdate:modelValue":i[15]||=e=>A.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:`sequence`},{default:(0,t.withCtx)(()=>[...i[50]||=[(0,t.createTextVNode)(`按顺序生成`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`school`},{default:(0,t.withCtx)(()=>[...i[51]||=[(0,t.createTextVNode)(`按学校生成`,-1)]]),_:1})]),_:1},8,[`modelValue`]),i[52]||=(0,t.createElementVNode)(`div`,{class:`dialog-tip`},`预览、打印和下载 PDF 都会按这个顺序输出。`,-1)]),_:1})]),_:1})]),_:1},8,[`modelValue`]),(0,t.createVNode)(Dr,{modelValue:u.value,"onUpdate:modelValue":i[18]||=e=>u.value=e},null,8,[`modelValue`]),(0,t.createVNode)(Je,{modelValue:ee.value,"onUpdate:modelValue":i[24]||=e=>ee.value=e,title:`预览排版设置`,width:`520px`,"destroy-on-close":``,"align-center":``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(f,{onClick:i[23]||=e=>ee.value=!1},{default:(0,t.withCtx)(()=>[...i[67]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(f,{type:`primary`,onClick:Ge},{default:(0,t.withCtx)(()=>[...i[68]||=[(0,t.createTextVNode)(`下一步:整版预览`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[i[69]||=(0,t.createElementVNode)(`p`,{class:`paper-tip`},`生成整版证件预览前,请选择纸张模式。可按 A4/A3 排版,也可直接按模板实际尺寸生成。预览、下载 PDF、打印都会使用这套排版设置。`,-1),(0,t.createElementVNode)(`div`,Ld,[(0,t.createElementVNode)(`div`,Rd,[i[58]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`纸张尺寸`,-1),(0,t.createVNode)(xe,{modelValue:z.value,"onUpdate:modelValue":i[19]||=e=>z.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:`a4`},{default:(0,t.withCtx)(()=>[...i[55]||=[(0,t.createTextVNode)(`A4`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`a3`},{default:(0,t.withCtx)(()=>[...i[56]||=[(0,t.createTextVNode)(`A3`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`custom`},{default:(0,t.withCtx)(()=>[...i[57]||=[(0,t.createTextVNode)(`按模板尺寸`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),(0,t.createElementVNode)(`div`,zd,[i[61]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`打印方向`,-1),(0,t.createVNode)(xe,{modelValue:B.value,"onUpdate:modelValue":i[20]||=e=>B.value=e,disabled:W.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:`portrait`},{default:(0,t.withCtx)(()=>[...i[59]||=[(0,t.createTextVNode)(`纵向`,-1)]]),_:1}),(0,t.createVNode)(he,{label:`landscape`},{default:(0,t.withCtx)(()=>[...i[60]||=[(0,t.createTextVNode)(`横向`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),W.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bd,`按模板尺寸生成时,页面宽高直接取模板设置,方向无需单独选择。`)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Vd,[i[66]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`每行显示`,-1),(0,t.createElementVNode)(`div`,Hd,[(0,t.createVNode)(xe,{modelValue:V.value,"onUpdate:modelValue":i[21]||=e=>V.value=e,disabled:W.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(he,{label:1},{default:(0,t.withCtx)(()=>[...i[62]||=[(0,t.createTextVNode)(`1个`,-1)]]),_:1}),(0,t.createVNode)(he,{label:2},{default:(0,t.withCtx)(()=>[...i[63]||=[(0,t.createTextVNode)(`2个`,-1)]]),_:1}),(0,t.createVNode)(he,{label:3},{default:(0,t.withCtx)(()=>[...i[64]||=[(0,t.createTextVNode)(`3个`,-1)]]),_:1}),(0,t.createVNode)(he,{label:0},{default:(0,t.withCtx)(()=>[...i[65]||=[(0,t.createTextVNode)(`自定义`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),(0,t.createVNode)(J,{modelValue:H.value,"onUpdate:modelValue":i[22]||=e=>H.value=e,min:1,max:12,"controls-position":`right`,style:{width:`120px`},disabled:W.value},null,8,[`modelValue`,`disabled`])]),(0,t.createElementVNode)(`div`,Ud,(0,t.toDisplayString)(W.value?`按模板尺寸生成时固定为每页 1 个证件。`:`按当前模板尺寸自动计算每页行数;只控制每行显示几个证件。`),1)])])]),_:1},8,[`modelValue`]),(0,t.createVNode)(Je,{modelValue:ne.value,"onUpdate:modelValue":i[26]||=e=>ne.value=e,title:`证件整版预览 — ${ce.value}`,width:`96%`,top:`2vh`,"destroy-on-close":``,class:`pdf-preview-dialog`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(f,{disabled:!U.value.length,onClick:Xe},{default:(0,t.withCtx)(()=>[...i[71]||=[(0,t.createTextVNode)(`打印整版`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(f,{onClick:i[25]||=e=>ne.value=!1},{default:(0,t.withCtx)(()=>[...i[72]||=[(0,t.createTextVNode)(`关闭`,-1)]]),_:1}),(0,t.createVNode)(f,{type:`primary`,loading:ie.value,disabled:!U.value.length,onClick:Ye},{default:(0,t.withCtx)(()=>[...i[73]||=[(0,t.createTextVNode)(` 下载 PDF `,-1)]]),_:1},8,[`loading`,`disabled`])]),default:(0,t.withCtx)(()=>[se.value.length?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Mu),{key:0,type:`warning`,"show-icon":``,closable:!1,title:`已跳过 ${se.value.length} 名学生(未编排座位号)`,style:{"margin-bottom":`12px`}},null,8,[`title`])):(0,t.createCommentVNode)(``,!0),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wd,[(0,t.createElementVNode)(`div`,{ref_key:`pdfExportRoot`,ref:ae,class:`pdf-export-root`,style:(0,t.normalizeStyle)(fe.value)},[oe.value?.canvas&&U.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(de.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-page`,style:(0,t.normalizeStyle)(q.value)},[(0,t.createElementVNode)(`div`,{class:`pdf-page-grid`,style:(0,t.normalizeStyle)(pe(e.length))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${n}-${r}`,class:`pdf-cell`,style:(0,t.normalizeStyle)(me.value)},[(0,t.createVNode)(ii,{doc:oe.value,"merge-data":e,"screen-scale":1},null,8,[`doc`,`merge-data`])],4))),128))],4)],4))),128)):U.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(I.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-cell simple-badge`},[i[70]||=(0,t.createElementVNode)(`div`,{class:`sb-h`},`智慧奇乐`,-1),(0,t.createElementVNode)(`div`,Gd,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,Kd,(0,t.toDisplayString)(e.school_name),1),(0,t.createElementVNode)(`div`,qd,`参赛编号:`+(0,t.toDisplayString)(e.competition_no),1),(0,t.createElementVNode)(`div`,Jd,(0,t.toDisplayString)(e.competition_room)+` `+(0,t.toDisplayString)(e.seat_no)+`号`,1)]))),128)):(0,t.createCommentVNode)(``,!0)],4)])),[[Qe,re.value]])]),_:1},8,[`modelValue`,`title`])])}}}),Qd=v({default:()=>$d}),$d=S(Zd,[[`__scopeId`,`data-v-4a4baa6f`]]),ef=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-disabled`],tf={key:0,class:`fou-slider__tooltip`},nf=[`min`,`max`,`step`,`value`,`disabled`],rf=(0,t.defineComponent)({name:`FouSlider`,__name:`index`,props:{modelValue:{default:0},min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`input`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.computed)(()=>{let e=r.modelValue??r.min;return Math.min(r.max,Math.max(r.min,e))}),u=(0,t.computed)(()=>{let e=r.max-r.min;return e<=0?0:(l.value-r.min)/e*100}),d=(e,t=!0)=>{let n=Math.min(r.max,Math.max(r.min,e)),a=Math.round((n-r.min)/r.step)*r.step+r.min,o=Number(a.toFixed(10));i(`update:modelValue`,o),i(`input`,o),t&&i(`change`,o)},f=e=>{let t=a.value;if(!t)return l.value;let n=t.getBoundingClientRect(),i=Math.min(1,Math.max(0,(e-n.left)/n.width));return r.min+i*(r.max-r.min)},p=e=>{r.disabled||d(f(e.clientX))},m=()=>{if(r.disabled)return;s.value=!0,c.value=r.showTooltip;let e=e=>{s.value&&d(f(e.clientX),!1)},t=n=>{s.value=!1,c.value=!1,d(f(n.clientX)),document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)};document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t)},h=e=>{r.disabled||d(l.value+e)},g=e=>{d(Number(e.target.value),!1)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-slider`,{"is-disabled":e.disabled}])},[(0,t.createElementVNode)(`div`,{ref_key:`trackRef`,ref:a,class:`fou-slider__runway`,onMousedown:p},[(0,t.createElementVNode)(`div`,{class:`fou-slider__bar`,style:(0,t.normalizeStyle)({width:`${(0,t.unref)(u)}%`})},null,4),(0,t.createElementVNode)(`div`,{ref_key:`thumbRef`,ref:o,class:`fou-slider__button-wrapper`,style:(0,t.normalizeStyle)({left:`${(0,t.unref)(u)}%`}),tabindex:`0`,role:`slider`,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":(0,t.unref)(l),"aria-disabled":e.disabled,onMousedown:(0,t.withModifiers)(m,[`stop`]),onKeydown:[r[0]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(-e.step),[`prevent`]),[`left`]),r[1]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(e.step),[`prevent`]),[`right`]),r[2]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(-e.step),[`prevent`]),[`down`]),r[3]||=(0,t.withKeys)((0,t.withModifiers)(t=>h(e.step),[`prevent`]),[`up`])],onMouseenter:r[4]||=t=>c.value=e.showTooltip,onMouseleave:r[5]||=e=>c.value=!1},[r[6]||=(0,t.createElementVNode)(`div`,{class:`fou-slider__button`},null,-1),(0,t.createVNode)(t.Transition,{name:`fou-slider-tip`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)&&e.showTooltip?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tf,(0,t.toDisplayString)((0,t.unref)(l)),1)):(0,t.createCommentVNode)(``,!0)]),_:1})],44,ef)],544),(0,t.createElementVNode)(`input`,{type:`range`,class:`fou-slider__native`,min:e.min,max:e.max,step:e.step,value:(0,t.unref)(l),disabled:e.disabled,tabindex:`-1`,onInput:g},null,40,nf)],2))}}),af=v({default:()=>of}),of=S(rf,[[`__scopeId`,`data-v-e0034ba9`]]),sf={class:`fou-color-field__main`},cf=[`title`],lf=[`value`,`disabled`],uf=[`placeholder`,`disabled`],df={key:0,class:`fou-color-field__presets`},ff=[`title`,`disabled`,`onClick`],pf=(0,t.defineComponent)({name:`FouColorField`,__name:`index`,props:{modelValue:{default:``},presets:{default:()=>[`#409eff`,`#67c23a`,`#e6a23c`,`#f56c6c`,`#909399`,`#1e90ff`,`#4e6ef2`,`#0052d9`,`#3fb884`,`#6954f0`]},placeholder:{default:`#000000`},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`,`clear`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(``),s=(0,t.computed)(()=>!!r.modelValue),c=e=>{let t=e.trim();if(!t)return``;let n=t.startsWith(`#`)?t:`#${t}`;if(/^#[0-9a-fA-F]{6}$/.test(n))return n.toLowerCase();if(/^#[0-9a-fA-F]{3}$/.test(n)){let e=n[1],t=n[2],r=n[3];return`#${e}${e}${t}${t}${r}${r}`.toLowerCase()}return``},l=(0,t.computed)(()=>c(r.modelValue)||`#000000`),u=(0,t.computed)(()=>c(r.modelValue));(0,t.watch)(()=>r.modelValue,e=>{o.value=c(e)||e},{immediate:!0});let d=e=>{i(`update:modelValue`,e),i(`change`,e)},f=e=>{let t=e.target.value;o.value=t,d(t)},p=()=>{a.value=!1;let e=c(o.value);e?(o.value=e,d(e)):o.value=u.value},m=e=>{o.value=e,d(e)},h=()=>{o.value=``,i(`update:modelValue`,``),i(`change`,``),i(`clear`)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-color-field`,{"is-disabled":e.disabled,"is-focused":(0,t.unref)(a)}])},[(0,t.createElementVNode)(`div`,sf,[(0,t.createElementVNode)(`label`,{class:`fou-color-field__native-wrap`,title:(0,t.unref)(u)},[(0,t.createElementVNode)(`input`,{class:`fou-color-field__native`,type:`color`,value:(0,t.unref)(l),disabled:e.disabled,onInput:f,onFocus:r[0]||=e=>a.value=!0,onBlur:r[1]||=e=>a.value=!1},null,40,lf),(0,t.createElementVNode)(`span`,{class:`fou-color-field__preview`,style:(0,t.normalizeStyle)({background:(0,t.unref)(u)||`transparent`})},null,4)],8,cf),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[2]||=e=>(0,t.isRef)(o)?o.value=e:null,class:`fou-color-field__hex`,type:`text`,maxlength:`7`,placeholder:e.placeholder,disabled:e.disabled,spellcheck:`false`,onFocus:r[3]||=e=>a.value=!0,onBlur:p,onKeydown:(0,t.withKeys)(p,[`enter`])},null,40,uf),[[t.vModelText,(0,t.unref)(o)]]),e.clearable&&(0,t.unref)(s)&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-color-field__clear`,tabindex:`-1`,onClick:h},` × `)):(0,t.createCommentVNode)(``,!0)]),e.presets.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,df,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.presets,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-color-field__swatch`,{"is-active":(0,t.unref)(l).toLowerCase()===n.toLowerCase()}]),style:(0,t.normalizeStyle)({background:n}),title:n,disabled:e.disabled,onClick:e=>m(n)},null,14,ff))),128))])):(0,t.createCommentVNode)(``,!0)],2))}}),mf=v({default:()=>hf}),hf=S(pf,[[`__scopeId`,`data-v-b0056891`]]),gf={key:1,class:`fou-fieldset`},_f={key:0,class:`fou-divider__text`},vf=(0,t.defineComponent)({name:`FouDivider`,__name:`index`,props:{direction:{type:String,default:`horizontal`},contentPosition:{type:String,default:`center`},borderStyle:{type:String,default:`solid`},blockquote:{type:Boolean,default:!1},fieldset:{type:Boolean,default:!1},type:{type:String,default:`primary`},isBorder:{type:Boolean,default:!1},title:{type:String,default:``}},setup(e){return(n,r)=>e.blockquote?((0,t.openBlock)(),(0,t.createElementBlock)(`blockquote`,{key:0,class:(0,t.normalizeClass)([`fou-blockquote`,e.isBorder?`fou-blockquote-${e.type} is-border`:`fou-blockquote-${e.type}`])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2)):e.fieldset?((0,t.openBlock)(),(0,t.createElementBlock)(`fieldset`,gf,[(0,t.createElementVNode)(`legend`,null,(0,t.toDisplayString)(e.title),1),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)([`fou-divider`,[`fou-divider--${e.direction}`,`fou-divider--${e.contentPosition}`,`fou-divider--${e.borderStyle}`]]),role:`separator`},[n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,_f,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],2))}}),yf=v({default:()=>bf}),bf=S(vf,[[`__scopeId`,`data-v-312aa19d`]]),xf=(0,t.defineComponent)({name:`FouButtonGroup`,__name:`index`,props:{size:{default:`default`},vertical:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>({"fou-button-group--vertical":n.vertical,[`fou-button-group--${n.size}`]:!0}));return(0,t.provide)(`fouButtonGroupSize`,(0,t.toRef)(n,`size`)),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({class:[`fou-button-group`,(0,t.unref)(r)],role:`group`},e.$attrs),[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],16))}}),Sf=v({default:()=>Cf}),Cf=S(xf,[[`__scopeId`,`data-v-d400b6d1`]]);Lr();var wf={class:`qck-data-modules`},Tf={class:`qck-dm-head`},Ef={class:`qck-dm-head-actions`},Df={class:`qck-dm-list`},Of=[`onClick`],kf={class:`qck-dm-row`},Af={class:`qck-dm-fields`},jf={class:`qck-dm-field-head`},Mf={class:`qck-dm-preview`},Nf={class:`qck-dm-field-head`},Pf={class:`qck-picker`},Ff={class:`qck-picker__cats`},If=[`onClick`],Lf={class:`qck-picker__count`},Rf={key:0,class:`qck-picker__empty`},zf={class:`qck-picker__fields`},Bf={class:`qck-picker__toolbar`},Vf={class:`qck-picker__label-opt`},Hf={class:`qck-picker__grid`},Uf=[`title`,`onClick`],Wf={class:`qck-picker__field-label`},Gf={class:`qck-picker__field-token`},Kf={key:0,class:`qck-picker__empty`},qf=(0,t.defineComponent)({name:`FouCanvasDataModulesPanel`,__name:`DataModulesPanel`,props:{modelValue:{},extraModules:{}},emits:[`update:modelValue`,`insert`,`preview-context`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.ref)(``),s=(0,t.ref)(!0),c=(0,t.ref)(!1),l=(0,t.ref)(``),u=(0,t.computed)({get:()=>kr(r.extraModules,r.modelValue),set:e=>i(`update:modelValue`,e)}),d=(0,t.computed)(()=>u.value.filter(e=>e.enabled!==!1));(0,t.watch)(u,e=>{!a.value&&e[0]&&(a.value=e[0].id),a.value&&!e.find(e=>e.id===a.value)&&(a.value=e[0]?.id||``)},{immediate:!0,deep:!0}),(0,t.watch)(c,e=>{if(!e)return;let t=d.value[0];l.value=t?.id||``});let f=(0,t.computed)(()=>u.value.find(e=>e.id===a.value)||null),p=(0,t.computed)(()=>d.value.find(e=>e.id===l.value)||d.value[0]||null),m=(0,t.computed)(()=>{let e=p.value;return e?e.fields.map(t=>({moduleId:e.id,key:t.key,label:t.label,token:`{{${e.id}.${t.key}}}`})):[]});function h(e){i(`update:modelValue`,e)}function g(e,t){let n=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),i=n.findIndex(t=>t.id===e.id);i>=0?n[i]={...n[i],enabled:t}:n.push({...e,enabled:t}),h(n)}function _(){let e=Pr(`自定义模块`),t=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules);t.push(e),h(t),a.value=e.id}function v(e){e.builtin||h((r.modelValue||[]).filter(t=>t.id!==e.id))}function y(){if(!f.value)return;let e=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),t=e.findIndex(e=>e.id===f.value.id);t<0&&(e.push({...f.value}),t=e.length-1);let n=`field_${Date.now().toString(36).slice(-4)}`;e[t]={...e[t],fields:[...e[t].fields,{key:n,label:`新字段`,type:`string`}],sample:{...e[t].sample||{},[n]:`样例`}},h(e)}function b(e,t){if(!f.value)return;let n=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),i=n.findIndex(e=>e.id===f.value.id);i<0&&(n.push({...f.value}),i=n.length-1);let a=n[i].fields.map((n,r)=>r===e?{...n,...t}:n);n[i]={...n[i],fields:a},h(n)}function x(e,t){if(!f.value)return;let n=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),i=n.findIndex(e=>e.id===f.value.id);i<0&&(n.push({...f.value}),i=n.length-1),n[i]={...n[i],sample:{...n[i].sample||{},[e]:t}},h(n)}function S(e){let t=s.value?`${e.label}:${e.token}`:e.token;i(`insert`,t,{moduleId:e.moduleId,key:e.key,label:e.label})}function C(){let e=Mr(u.value);if(o.value.trim())try{let t=JSON.parse(o.value);e={...e,...t}}catch{}i(`preview-context`,e)}function w(e){if(!f.value)return;let t=r.modelValue?.length?[...r.modelValue]:kr(r.extraModules),n=t.findIndex(e=>e.id===f.value.id);n<0?t.push({...f.value,label:e}):t[n]={...t[n],label:e},h(t)}function T(){c.value=!0}return(e,n)=>{let r=Vt,i=ki,h=va,E=pt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,wf,[(0,t.createElementVNode)(`div`,Tf,[n[8]||=(0,t.createElementVNode)(`span`,{class:`qck-dm-title`},`数据模块`,-1),(0,t.createElementVNode)(`div`,Ef,[(0,t.createVNode)(r,{size:`small`,type:`primary`,onClick:T},{default:(0,t.withCtx)(()=>[...n[6]||=[(0,t.createTextVNode)(`插入字段`,-1)]]),_:1}),(0,t.createVNode)(r,{size:`small`,plain:``,onClick:_},{default:(0,t.withCtx)(()=>[...n[7]||=[(0,t.createTextVNode)(`添加模块`,-1)]]),_:1})])]),n[17]||=(0,t.createElementVNode)(`p`,{class:`qck-dm-tip`},`字段由业务方通过 dataModules / extraModules 配置;点击「插入字段」在弹窗中选择。`,-1),(0,t.createElementVNode)(`div`,Df,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(u.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,t.normalizeClass)([`qck-dm-chip`,{active:e.id===a.value,off:e.enabled===!1}]),onClick:t=>a.value=e.id},[(0,t.createVNode)(i,{"model-value":e.enabled!==!1,size:`small`,onClick:n[0]||=(0,t.withModifiers)(()=>{},[`stop`]),"onUpdate:modelValue":t=>g(e,t)},null,8,[`model-value`,`onUpdate:modelValue`]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],10,Of))),128))]),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,kf,[n[10]||=(0,t.createElementVNode)(`span`,{class:`label`},`模块名`,-1),(0,t.createVNode)(h,{"model-value":f.value.label,size:`small`,disabled:!!f.value.builtin,"onUpdate:modelValue":w},null,8,[`model-value`,`disabled`]),f.value.builtin?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(r,{key:0,size:`small`,type:`danger`,link:``,onClick:n[1]||=e=>v(f.value)},{default:(0,t.withCtx)(()=>[...n[9]||=[(0,t.createTextVNode)(` 删除 `,-1)]]),_:1}))]),(0,t.createElementVNode)(`div`,Af,[(0,t.createElementVNode)(`div`,jf,[n[12]||=(0,t.createElementVNode)(`span`,null,`字段定义`,-1),(0,t.createVNode)(r,{size:`small`,onClick:y},{default:(0,t.withCtx)(()=>[...n[11]||=[(0,t.createTextVNode)(`增字段`,-1)]]),_:1})]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(f.value.fields,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${f.value.id}-${n}-${e.key}`,class:`qck-dm-field`},[(0,t.createVNode)(h,{"model-value":e.key,size:`small`,placeholder:`key`,"onUpdate:modelValue":e=>b(n,{key:e})},null,8,[`model-value`,`onUpdate:modelValue`]),(0,t.createVNode)(h,{"model-value":e.label,size:`small`,placeholder:`标签`,"onUpdate:modelValue":e=>b(n,{label:e})},null,8,[`model-value`,`onUpdate:modelValue`]),(0,t.createVNode)(h,{"model-value":f.value.sample?.[e.key]||``,size:`small`,placeholder:`样例`,"onUpdate:modelValue":t=>x(e.key,t)},null,8,[`model-value`,`onUpdate:modelValue`])]))),128))])],64)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Mf,[(0,t.createElementVNode)(`div`,Nf,[n[14]||=(0,t.createElementVNode)(`span`,null,`预览数据(JSON)`,-1),(0,t.createVNode)(r,{size:`small`,type:`primary`,onClick:C},{default:(0,t.withCtx)(()=>[...n[13]||=[(0,t.createTextVNode)(`应用到画布`,-1)]]),_:1})]),(0,t.createVNode)(h,{modelValue:o.value,"onUpdate:modelValue":n[2]||=e=>o.value=e,type:`textarea`,rows:4,placeholder:`{"student":{"name":"李四"},"classroom":{"name":"教室A"}}`},null,8,[`modelValue`])]),(0,t.createVNode)(E,{modelValue:c.value,"onUpdate:modelValue":n[5]||=e=>c.value=e,title:`选择要插入的字段`,width:`720px`,"destroy-on-close":``,class:`qck-field-picker`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(r,{onClick:n[4]||=e=>c.value=!1},{default:(0,t.withCtx)(()=>[...n[16]||=[(0,t.createTextVNode)(`关闭`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Pf,[(0,t.createElementVNode)(`aside`,Ff,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(d.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,t.normalizeClass)([`qck-picker__cat`,{"is-active":p.value?.id===e.id}]),onClick:t=>l.value=e.id},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),(0,t.createElementVNode)(`span`,Lf,(0,t.toDisplayString)(e.fields.length),1)],10,If))),128)),d.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Rf,`暂无启用模块,请先在左侧配置`))]),(0,t.createElementVNode)(`section`,zf,[(0,t.createElementVNode)(`div`,Bf,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(p.value?.label||`字段`),1),(0,t.createElementVNode)(`label`,Vf,[(0,t.createVNode)(i,{modelValue:s.value,"onUpdate:modelValue":n[3]||=e=>s.value=e,size:`small`},null,8,[`modelValue`]),n[15]||=(0,t.createTextVNode)(` 插入时带标签 `,-1)])]),(0,t.createElementVNode)(`div`,Hf,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.token,type:`button`,class:`qck-picker__field`,title:e.token,onClick:t=>S(e)},[(0,t.createElementVNode)(`span`,Wf,(0,t.toDisplayString)(e.label),1),(0,t.createElementVNode)(`code`,Gf,(0,t.toDisplayString)(e.token),1)],8,Uf))),128)),p.value&&!m.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Kf,`该分类暂无字段`)):(0,t.createCommentVNode)(``,!0)])])])]),_:1},8,[`modelValue`])])}}}),Jf=v({default:()=>Yf}),Yf=S(qf,[[`__scopeId`,`data-v-a6fb752d`]]);async function Xf(e,t={}){let n=await(0,s.default)(e,{scale:t.scale??2,backgroundColor:t.backgroundColor===void 0?`#ffffff`:t.backgroundColor,useCORS:!0,logging:!1});return new Promise((e,t)=>{n.toBlob(n=>{n?e(n):t(Error(`PNG export failed`))},`image/png`,1)})}function Zf(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}async function Qf(e,t={}){let n=await Xf(e,t);return Zf(n,t.fileName||`canvas-${Date.now()}.png`),n}var $f=96/25.4;function ep(e,t){let n=e.canvas;return t===`px`?{w:n.widthPx??Math.round(n.widthMm*$f),h:n.heightPx??Math.round(n.heightMm*$f),unit:`px`}:{w:n.widthMm,h:n.heightMm,unit:`mm`}}function tp(e){return String(e||``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function np(e){return e||``}function rp(e,t){let n=t===`px`?`${Math.round(e.xMm*$f)}px`:`${e.xMm}mm`,r=t===`px`?`${Math.round(e.yMm*$f)}px`:`${e.yMm}mm`,i=t===`px`?`${Math.round(e.wMm*$f)}px`:`${e.wMm}mm`,a=t===`px`?`${Math.round(e.hMm*$f)}px`:`${e.hMm}mm`,o=[];return e.rotation&&o.push(`rotate(${e.rotation}deg)`),e.flipX&&o.push(`scaleX(-1)`),e.flipY&&o.push(`scaleY(-1)`),`position:absolute;left:${n};top:${r};width:${i};height:${a};z-index:${e.zIndex??1};box-sizing:border-box;${o.length?`transform:${o.join(` `)};transform-origin:center center;`:``}`}function ip(e,t,n){let r=rp(e,n),i=``;if(e.type===`text`){let n=tp(Br(e.text,t)),a=e.textDirection===`vertical`;i=`<div style="${r}display:flex;align-items:center;justify-content:flex-start;font-size:${e.fontSize}pt;font-family:${tp(e.fontFamily)};color:${tp(e.color)};white-space:pre-wrap;word-break:break-word;overflow:hidden;${a?`writing-mode:vertical-rl;text-orientation:upright;`:``}">${n}</div>`}else if(e.type===`image`||e.type===`seal`)i=`<div style="${r}display:flex;align-items:center;justify-content:center;"><img src="${tp(np(e.src))}" alt="" style="max-width:100%;max-height:100%;object-fit:contain"/></div>`;else if(e.type===`shape`){let t=tp(e.background||`transparent`);i=`<div style="${r}${e.opacity==null?``:`opacity:${e.opacity};`}background:${t};border-radius:${e.shape===`circle`?`50%`:`0`};"></div>`}else return``;if(e.link?.href){let n=tp(Br(e.link.href,t)),r=e.link.target===`_self`?`_self`:`_blank`;return`<a href="${n}" target="${r}" rel="${(r===`_blank`?` noopener noreferrer`:``).trim()}" style="display:contents;text-decoration:none;color:inherit;">${i}</a>`}return i}function ap(e,t={}){let n=t.context||{},r=t.forceUnit||e.canvas.unit||(e.mode===`banner`?`px`:`mm`),i=ep(e,r),a=e.canvas.showBorder!==!1&&e.mode!==`banner`?`border:${e.canvas.borderWidthMm||.35}mm solid ${tp(e.canvas.borderColor||`#334155`)};`:`border:none;`,o=e.canvas.backgroundImage?`background-image:url(${tp(e.canvas.backgroundImage)});background-size:cover;background-position:center;`:`background:${tp(e.canvas.background||`transparent`)};`,s=Hr(e.elements||[]).map(e=>ip(e,n,r)).join(`
104
104
  `);return`<!DOCTYPE html>
105
105
  <html lang="zh-CN">
106
106
  <head>
107
107
  <meta charset="utf-8"/>
108
108
  <meta name="viewport" content="width=device-width,initial-scale=1"/>
109
- <title>${Wf(t.title||`Banner`)}</title>
109
+ <title>${tp(t.title||`Banner`)}</title>
110
110
  <style>
111
111
  html,body{margin:0;padding:0;background:#f8fafc;}
112
112
  .fou-canvas-banner{position:relative;overflow:hidden;margin:0 auto;${a}${o}
@@ -119,12 +119,12 @@ ${c}
119
119
  ${s}
120
120
  </div>
121
121
  </body>
122
- </html>`}function Yf(e,t={}){let n=Jf(e,t),r=new Blob([n],{type:`text/html;charset=utf-8`});return Bf(r,t.fileName||`banner-${Date.now()}.html`),r}async function Xf(e,t={}){let n=await Qf(await zf(e,{scale:t.scale??2})),r=t.widthMm??210,i=t.heightMm??297,a=new c.jsPDF({orientation:r>i?`landscape`:`portrait`,unit:`mm`,format:[r,i]});return a.addImage(n,`PNG`,0,0,r,i),a.output(`blob`)}async function Zf(e,t={}){let n=await Xf(e,t);return Bf(n,t.fileName||`canvas-${Date.now()}.pdf`),n}function Qf(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}var $f=v({BANNER_DEFAULT_MODULES:()=>np,createBadgeDoc:()=>tp,createBannerDoc:()=>ep});function ep(e){return{version:1,mode:`banner`,canvas:{widthMm:320,heightMm:90,widthPx:1200,heightPx:340,unit:`px`,background:`#0f766e`,showBorder:!1},elements:[{id:`banner-title`,type:`text`,zIndex:2,xMm:20,yMm:25,wMm:200,hMm:20,text:`{{school.name}}`,fontSize:28,fontFamily:`Microsoft YaHei, sans-serif`,color:`#ffffff`,link:{href:`https://example.com`,target:`_blank`}},{id:`banner-sub`,type:`text`,zIndex:2,xMm:20,yMm:50,wMm:240,hMm:14,text:`{{competition.name}}`,fontSize:14,fontFamily:`Microsoft YaHei, sans-serif`,color:`#ccfbf1`}],dataModules:np,...e}}function tp(e){return{version:1,mode:`badge`,canvas:{widthMm:90,heightMm:130,unit:`mm`,background:`#ffffff`,showBorder:!0,borderColor:`#334155`,borderWidthMm:.35},elements:[],dataModules:Or(),...e}}var np,rp=g((()=>{Lr(),np=Or().map(e=>({...e,enabled:[`school`,`competition`].includes(e.id)}))}));Lr();var ip={class:`badge-editor-header page-header`},ap={class:`badge-editor-header__extra`},op={class:`tools-card-inner`},sp={class:`tools-scroll`},cp={class:`tools-accordion`},lp=[`hidden`],up={class:`tool-row`},dp={class:`tool-row`},fp={class:`tool-row`},pp={class:`divider-title-with-help`},mp={class:`tool-row`},hp={class:`tool-row`},gp={class:`canvas-bg-color-row`},_p={class:`tool-row`},vp={class:`divider-title-with-help`},yp={class:`tool-row`},bp={key:1,class:`tool-row`},xp={class:`canvas-bg-color-row`},Sp={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--canvas-bg`},Cp={class:`tools-tip tools-tip--compact`},wp={class:`divider-title-with-help`},Tp={class:`tool-row tool-row-actions`},Ep={key:3,class:`guide-list`},Dp=[`onClick`,`onContextmenu`],Op=[`hidden`],kp={class:`divider-title-with-help`},Ap={class:`tool-row tool-row-actions`},jp={class:`tool-row tool-row-actions`},Mp={class:`divider-title-with-help`},Np={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--actions`},Pp={class:`tool-row`},Fp={class:`tool-row`},Ip={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--regions`},Lp={key:0,class:`guide-list`},Rp=[`onClick`],zp={class:`guide-mm`},Bp={class:`tool-row`},Vp=[`hidden`],Hp={class:`tool-row align-row`},Up={class:`tool-row align-row`},Wp={key:0,class:`layer-list`},Gp=[`onClick`],Kp={class:`layer-label`},qp={class:`layer-z`},Jp={key:1,class:`muted-text`},Yp={class:`tools-footer`},Xp={class:`tool-row save-row`},Zp={key:0,class:`hint`},Qp={class:`canvas-card-header`},$p={class:`canvas-card-header__actions`},em={key:0,class:`ruler-corner`},tm={key:1,class:`ruler ruler-x`},nm={key:0,class:`ruler-label`},rm={key:2,class:`ruler ruler-y`},im={key:0,class:`ruler-label`},am=[`onPointerdown`,`onContextmenu`],om=[`onPointerdown`,`onContextmenu`],sm={class:`canvas-region__label`},cm=[`onPointerdown`],lm=[`onPointerdown`],um=[`onPointerdown`],dm=[`stroke`,`stroke-width`],fm=[`fill`,`stroke`,`stroke-width`],pm=[`fill`,`stroke`,`stroke-width`],mm=[`fill`,`stroke`,`stroke-width`],hm=[`points`,`fill`,`stroke`,`stroke-width`],gm=[`points`,`fill`,`stroke`,`stroke-width`],_m=[`onPointerdown`],vm=[`onPointerdown`],ym=[`src`],bm={key:0,class:`clipboard-image-badge`},xm=[`onPointerdown`],Sm=[`disabled`],Cm=[`disabled`],wm=[`disabled`],Tm=[`disabled`],Em=[`disabled`],Dm=[`disabled`],Om=[`disabled`],km=[`disabled`],Am=[`disabled`],jm=[`disabled`],Mm=[`disabled`],Nm=[`disabled`],Pm={class:`side-inner`},Fm={class:`side-props-scroll`},Im={key:0,class:`props`},Lm={class:`form-lbl-ico`},Rm={class:`form-lbl-ico`},zm={class:`pair-inputs`},Bm={class:`flip-actions`},Vm={key:1,class:`props`},Hm={class:`pair-inputs`},Um={class:`flip-actions`},Wm={key:2,class:`props`},Gm={class:`pair-inputs`},Km={key:3,class:`props`},qm={class:`canvas-bg-color-row`},Jm={class:`region-bg-actions`},Ym={class:`pair-inputs pair-inputs--wrap`},Xm={class:`divider-title-with-help`},Zm={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--region-ops`},Qm={key:4,class:`props multi-props`},$m={class:`multi-props-summary`},eh={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--actions`},th={class:`divider-title-with-help`},nh={class:`form-lbl-ico`},rh={class:`multi-style-inputs`},ih={class:`form-lbl-ico`},ah={class:`multi-style-inputs multi-style-inputs--color`},oh={class:`divider-title-with-help`},sh={class:`tool-row align-row side-align-row`},ch={class:`tool-row align-row side-align-row`},lh={class:`divider-title-with-help`},uh={class:`tool-row align-row side-align-row`},dh={class:`side-preview-block`},fh={class:`preview-wrap`},ph={class:`dlg-preview-scroll`},mh={style:{display:`flex`,"flex-direction":`column`,gap:`12px`}},hh=`fou-badge-editor-panel-widths`,gh=220,_h=480,vh=200,yh=420,bh=360,xh=96/25.4,Sh=24,Ch=320,wh=240,Th=20,Eh=50,Dh=(0,t.defineComponent)({name:`FouCanvasEditor`,__name:`FouCanvasEditor`,props:{mode:{default:void 0},embedded:{type:Boolean,default:!1},extraModules:{}},emits:[`save`,`update:modelValue`],setup(e,{emit:n}){let r=e,i,a;try{i=(0,o.useRoute)(),a=(0,o.useRouter)()}catch{i={params:{},name:``,path:``},a={push:()=>Promise.resolve()}}let s=Number(i.params.id),c=Number(i.params.tid),l=(0,t.computed)(()=>r.mode===`desk`||i.name===`DeskLabelTemplateEditor`||i.name===`FouDeskLabelEditor`||String(i.path).includes(`desk-label-template`));(0,t.computed)(()=>r.mode===`banner`);let u=(0,t.computed)(()=>l.value?[...ju]:[...Tu]);(0,t.computed)(()=>u.value.map(e=>({label:en(e),value:e})));let d=[{label:`矩形`,value:`rect`},{label:`圆形`,value:`circle`},{label:`三角形`,value:`triangle`},{label:`线条`,value:`line`},{label:`多边形`,value:`polygon`},{label:`梯形`,value:`trapezoid`}],f=(0,t.ref)(!1),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(`_blank`),g=(0,t.ref)(null),_=(0,t.ref)(0),v=null;function y(e){f.value=!1,v?.(e),v=null}let b=(0,t.ref)(``);(0,t.ref)(!0);let x=(0,t.ref)(`insert`),S=(0,t.ref)([]),C=(0,t.ref)({}),w=(0,t.ref)(`rect`);function T(e){C.value=e}function E(e){S.value=e,I.value&&(I.value.dataModules=e),C.value=Mr(kr(r.extraModules,e))}function D(e){if(!I.value)return;let t=ha().filter(e=>e.type===`text`),n=t.length?t[t.length-1]:null;n?n.text=String(n.text||``)+e:O(e)}function O(e){if(!I.value)return;let t=`t_${Date.now().toString(36)}`,n={id:t,type:`text`,zIndex:(I.value.elements.length||0)+1,xMm:10,yMm:10,wMm:40,hMm:12,text:e,fontSize:14,fontFamily:`Microsoft YaHei, sans-serif`,color:`#111827`};I.value.elements.push(n),z.value=[t]}async function A(){let e=document.querySelector(`.badge-editor .editor-scale-inner .badge-canvas, .badge-editor .host-inner`),t=document.querySelector(`.badge-editor .editor-clip`)||e;if(!t){Q.warning(`未找到画布节点`);return}await Vf(t,{fileName:`canvas-${Date.now()}.png`}),Q.success(`已导出 PNG`)}async function j(){let e=document.querySelector(`.badge-editor .editor-clip`);!e||!I.value||(await Zf(e,{fileName:`canvas-${Date.now()}.pdf`,widthMm:I.value.canvas.widthMm,heightMm:I.value.canvas.heightMm}),Q.success(`已导出 PDF`))}function M(){I.value&&(Yf(I.value,{fileName:`banner-${Date.now()}.html`,context:C.value,title:b.value||`Banner`}),Q.success(`已导出网页`))}let N=(0,t.ref)(!0),P=(0,t.ref)(!1),F=(0,t.ref)(``),I=(0,t.ref)(null),L=(0,t.ref)(90),R=(0,t.ref)(130),ee=(0,t.ref)({}),z=(0,t.ref)([]),B=(0,t.ref)(null),V=(0,t.ref)(null);(0,t.ref)(),(0,t.watch)(()=>I.value,e=>{if(!e)return;let t=kr(r.extraModules,e.dataModules);S.value=t,C.value=Mr(t)},{immediate:!0});let H=(0,t.ref)(null),te=(0,t.ref)(null),ne=(0,t.ref)(null),re=(0,t.ref)(null),ie=(0,t.ref)(!1),ae=(0,t.ref)(!1),oe=(()=>{try{let e=localStorage.getItem(hh);if(!e)return null;let t=JSON.parse(e);return{left:Number(t.left),right:Number(t.right)}}catch{return null}})(),U=(0,t.ref)(Number.isFinite(oe?.left)?Math.min(_h,Math.max(gh,oe.left)):292),se=(0,t.ref)(Number.isFinite(oe?.right)?Math.min(yh,Math.max(vh,oe.right)):260),ce=(0,t.ref)(null),le=(0,t.computed)(()=>({gridTemplateColumns:`${U.value}px 8px minmax(${bh}px, 1fr) 8px ${se.value}px`})),W=()=>{try{localStorage.setItem(hh,JSON.stringify({left:U.value,right:se.value}))}catch{}},G=0,ue=0,K=0,de=e=>{if(!ce.value)return;let t=e.clientX-G,n=ne.value?.clientWidth||0;if(ce.value===`left`){let e=ue+t,r=n-se.value-8-8-bh;e=Math.min(_h,Math.max(gh,e),r),U.value=Math.round(e)}else{let e=K-t,r=n-U.value-8-8-bh;e=Math.min(yh,Math.max(vh,e),r),se.value=Math.round(e)}},fe=()=>{ce.value&&(ce.value=null,window.removeEventListener(`pointermove`,de),window.removeEventListener(`pointerup`,fe),document.body.style.cursor=``,document.body.style.userSelect=``,W(),(0,t.nextTick)(()=>{Pa(),Ae.value??Ba(!1)}))},q=(e,t)=>{t.preventDefault(),t.stopPropagation(),ce.value=e,G=t.clientX,ue=U.value,K=se.value,document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,de),window.addEventListener(`pointerup`,fe)},pe=(0,t.ref)(null),me=(0,t.ref)(null),he=(0,t.ref)(null),ge=!1,_e=(0,t.ref)(420),ve=(0,t.ref)(420),ye=(0,t.ref)(!1),be=(0,t.ref)(!1),xe=(0,t.ref)(`lib`),Se=(0,t.ref)(!1),Ce=(0,t.ref)(`lib`),we=(0,t.ref)(!1),Te=(0,t.ref)(!1),Ee=(0,t.ref)(!0),De=(0,t.ref)(!1),Oe=(0,t.ref)(!1),ke=(0,t.ref)(!1),Ae=(0,t.ref)(null),je=(0,t.ref)([]),Me=(0,t.ref)(null),Ne=(0,t.ref)(null),Pe=(0,t.ref)({visible:!1,x:0,y:0,clientX:0,clientY:0,anchorMm:null,target:`blank`,regionId:null,guideId:null}),Fe=(0,t.ref)(!1),Ie=new Map,Le=0,Re=(0,t.ref)(2),ze=(0,t.ref)(2),Be=(0,t.ref)(`color`);(0,t.ref)(`center`);let Ve=(0,t.ref)(2),He=()=>{we.value=!0};function Ue(){l.value?a.push(`/fouui/badge/competition/${s}/desk-label-templates`):a.push(`/fouui/badge/competition/${s}/badge-templates`)}let We=(0,t.computed)(()=>I.value?Au(I.value.elements):[]),Ge=(0,t.computed)(()=>I.value?.regions??[]),Ke=(0,t.computed)(()=>I.value?.elements?[...I.value.elements].sort((e,t)=>(t.zIndex??0)-(e.zIndex??0)):[]),qe=(0,t.computed)(()=>z.value.length===1?z.value[0]:null);function Je(e){return z.value.includes(e)}let Ye=(0,t.computed)(()=>{let e=qe.value,t=I.value;if(!e||!t?.elements?.length)return null;let n=t.elements.find(t=>t.id===e);return!n||n.type!==`text`?null:n}),Xe=(0,t.computed)(()=>{let e=qe.value,t=I.value;if(!e||!t?.elements?.length)return null;let n=t.elements.find(t=>t.id===e);return!n||n.type!==`image`&&n.type!==`seal`?null:n}),Ze=(0,t.computed)(()=>{let e=qe.value,t=I.value;if(!e||!t?.elements?.length)return null;let n=t.elements.find(t=>t.id===e);return!n||n.type!==`shape`?null:n}),J=(0,t.computed)(()=>Ge.value.find(e=>e.id===B.value)||null),Qe=(0,t.computed)(()=>Ye.value||Xe.value||Ze.value),$e=(0,t.computed)({get(){return Math.round((Ze.value?.opacity??1)*100)},set(e){let t=Ze.value;t&&(t.opacity=Math.max(0,Math.min(1,e/100)))}}),Y=(0,t.computed)({get(){return Ze.value?.showStroke!==!1},set(e){let t=Ze.value;t&&(t.showStroke=e)}}),et=(0,t.computed)({get(){return!!Ze.value?.lockAspectRatio},set(e){let t=Ze.value;t&&(t.lockAspectRatio=e)}}),tt=(0,t.computed)({get(){let e=Xe.value?.rotation;return e!=null&&Number.isFinite(e)?Number(e):0},set(e){let t=Xe.value;if(!t)return;let n=e==null?0:Number(e);!Number.isFinite(n)||n===0?delete t.rotation:t.rotation=Math.round(n*100)/100}}),nt=(0,t.computed)({get(){let e=Ye.value?.rotation;return e!=null&&Number.isFinite(e)?Number(e):0},set(e){let t=Ye.value;if(!t)return;let n=e==null?0:Number(e);!Number.isFinite(n)||n===0?delete t.rotation:t.rotation=Math.round(n*100)/100}}),rt=(0,t.computed)({get(){return!!Qe.value?.flipX},set(e){let t=Qe.value;t&&(e?t.flipX=!0:delete t.flipX)}}),it=(0,t.computed)({get(){return!!Qe.value?.flipY},set(e){let t=Qe.value;t&&(e?t.flipY=!0:delete t.flipY)}}),at=(0,t.computed)(()=>I.value?.guides??[]),ot=(0,t.computed)(()=>je.value.length>0),st=(0,t.computed)(()=>!!Me.value?.regions?.length),ct=(0,t.computed)(()=>ot.value||st.value),lt=(0,t.computed)(()=>ha().some(e=>!!e.groupId)),ut=(0,t.computed)(()=>Ge.value.find(e=>e.id===Pe.value.regionId)||null),dt=(0,t.computed)(()=>at.value.find(e=>e.id===Pe.value.guideId)||null),ft=(0,t.computed)(()=>({left:`${Pe.value.x}px`,top:`${Pe.value.y}px`})),mt=(0,t.computed)(()=>{let e=he.value;if(!e)return{};let t=Math.min(e.x0,e.x1),n=Math.min(e.y0,e.y1),r=Math.abs(e.x1-e.x0),i=Math.abs(e.y1-e.y0);return{position:`absolute`,left:`${t}px`,top:`${n}px`,width:`${r}px`,height:`${i}px`,zIndex:9999,pointerEvents:`none`,border:`1px dashed #409eff`,background:`rgba(64, 158, 255, 0.12)`,boxSizing:`border-box`}}),ht=(0,t.computed)({get(){return Ye.value?.text??``},set(e){let t=Ye.value;t&&(t.text=e)}}),gt=(0,t.computed)({get(){return Ye.value?.textDirection===`vertical`?`vertical`:`horizontal`},set(e){let t=Ye.value;t&&(e===`vertical`?t.textDirection=`vertical`:delete t.textDirection)}});(0,t.watch)(Ye,e=>{e&&(e.color||=`#303133`,e.align||=`top-left`)}),(0,t.watch)(Ze,e=>{e&&(e.showStroke??=!0,e.lockAspectRatio??=Er(e.shape),e.shape===`polygon`&&(!Number.isFinite(e.polygonSides)||Number(e.polygonSides)<3)&&(e.polygonSides=5))}),(0,t.watch)(()=>[I.value?.canvas?.background??``,I.value?.canvas?.backgroundImage??``],()=>{nn()},{immediate:!0}),(0,t.watch)(be,e=>{!e&&Be.value===`image`&&!I.value?.canvas?.backgroundImage&&nn()});let _t=[{value:`top-left`,label:`左上`},{value:`top-center`,label:`上中`},{value:`top-right`,label:`右上`},{value:`middle-left`,label:`左中`},{value:`center`,label:`居中`},{value:`middle-right`,label:`右中`},{value:`bottom-left`,label:`左下`},{value:`bottom-center`,label:`下中`},{value:`bottom-right`,label:`右下`}],vt=(0,t.computed)({get(){return I.value?.canvas?.background||`rgba(255, 255, 255, 1)`},set(e){I.value?.canvas&&(I.value.canvas.background=String(e||``).trim(),I.value.canvas.background&&(Be.value=`color`))}}),X=(0,t.computed)({get(){return I.value?.canvas?.showBorder!==!1},set(e){I.value?.canvas&&(I.value.canvas.showBorder=!!e)}}),yt=(0,t.computed)({get(){return I.value?.canvas?.borderColor||`#334155`},set(e){I.value?.canvas&&(I.value.canvas.borderColor=String(e||``).trim()||`#334155`,I.value.canvas.showBorder??(I.value.canvas.showBorder=!0))}}),bt=(0,t.computed)({get(){let e=Number(I.value?.canvas?.borderWidthMm);return Number.isFinite(e)&&e>0?e:.35},set(e){if(!I.value?.canvas)return;let t=Number(e);I.value.canvas.borderWidthMm=Number.isFinite(t)?Math.max(.1,Math.min(8,t)):.35,I.value.canvas.showBorder??(I.value.canvas.showBorder=!0)}}),xt=(0,t.computed)({get(){return J.value?.backgroundImage?`image`:(J.value?.background||``).trim()?`color`:`transparent`},set(e){let t=J.value;if(t){if(e===`transparent`){delete t.backgroundImage,t.background=``;return}if(e===`color`){delete t.backgroundImage,String(t.background||``).trim()||(t.background=`#ffffff`);return}t.backgroundImage||cn(`lib`)}}}),St=(0,t.computed)({get(){return J.value?.background||`rgba(255, 255, 255, 1)`},set(e){let t=J.value;t&&(t.background=String(e||``).trim(),t.background&&delete t.backgroundImage)}}),Ct=(0,t.computed)(()=>C.value&&Object.keys(C.value).length?C.value:Ou({})),wt=(0,t.computed)(()=>I.value?.canvas?.widthMm?I.value.canvas.widthMm*xh:0),Tt=(0,t.computed)(()=>I.value?.canvas?.heightMm?I.value.canvas.heightMm*xh:0),Et=(0,t.computed)(()=>wt.value*Z.value),Dt=(0,t.computed)(()=>Tt.value*Z.value),Ot=(0,t.computed)(()=>xh*Z.value),kt=(0,t.computed)(()=>Math.max(_e.value-(Ee.value?Sh:0),120)),At=(0,t.computed)(()=>Math.max(ve.value-(Ee.value?Sh:0),120)),jt=(0,t.computed)(()=>Math.max(Ch,kt.value)),Mt=(0,t.computed)(()=>Math.max(wh,At.value)),Nt=(0,t.computed)(()=>Math.max(0,Et.value+jt.value*2)),Ft=(0,t.computed)(()=>Math.max(0,Dt.value+Mt.value*2)),It=(0,t.computed)(()=>Math.max(0,Math.round((Nt.value-Et.value)/2))),Lt=(0,t.computed)(()=>Math.max(0,Math.round((Ft.value-Dt.value)/2))),Rt=(0,t.computed)(()=>(Ee.value?Sh:0)+It.value),zt=(0,t.computed)(()=>(Ee.value?Sh:0)+Lt.value),Bt=(0,t.computed)(()=>{let e=Ee.value?Sh:0;return{"--ruler-size":`${e}px`,width:`${Nt.value+e}px`,height:`${Ft.value+e}px`}}),Ht=(0,t.computed)(()=>({width:`${Nt.value}px`,height:`${Ft.value}px`})),Ut=(0,t.computed)(()=>({width:`${Nt.value}px`})),Wt=(0,t.computed)(()=>({height:`${Ft.value}px`})),Gt=(0,t.computed)(()=>fn(It.value,Nt.value,Ot.value)),Kt=(0,t.computed)(()=>fn(Lt.value,Ft.value,Ot.value)),qt=(0,t.computed)(()=>{let e=wt.value,t=Tt.value;if(e<=0||t<=0)return 1;let n=Math.max(kt.value-40,60),r=Math.max(At.value-40,60),i=Math.min(n/e,r/t);return Math.max(.06,Math.min(3,i))}),Z=(0,t.computed)(()=>{let e=Ae.value;return e!=null&&Number.isFinite(e)?Math.max(.06,Math.min(3,e)):qt.value}),Jt=(0,t.computed)(()=>`${Math.round(Z.value*100)}%`),Yt=(0,t.computed)(()=>({width:`${Et.value}px`,height:`${Dt.value}px`,overflow:`hidden`,left:`${It.value}px`,top:`${Lt.value}px`,position:`absolute`,flexShrink:0})),Xt=(0,t.computed)(()=>({width:`${wt.value}px`,height:`${Tt.value}px`,transform:`scale(${Z.value})`,transformOrigin:`top left`})),Zt=(0,t.computed)(()=>{if(!I.value)return{};let e=10*xh,t=`linear-gradient(rgba(15, 23, 42, 0.06) 1px, transparent 1px),
123
- linear-gradient(90deg, rgba(15, 23, 42, 0.06) 1px, transparent 1px)`.replace(/\s+/g,` `),n=I.value.canvas.backgroundImage?`, url(${dn(I.value.canvas.backgroundImage)})`:``,r=I.value.canvas.backgroundImage?`${e}px ${e}px, ${e}px ${e}px, cover`:`${e}px ${e}px`,i=I.value.canvas.backgroundImage?`0 0, 0 0, center`:`0 0`,a=I.value.canvas.showBorder!==!1,o=I.value.canvas.borderColor||`#334155`,s=Number(I.value.canvas.borderWidthMm),c=Number.isFinite(s)&&s>0?s:.35;return{width:`100%`,height:`100%`,position:`relative`,boxSizing:`border-box`,backgroundColor:I.value.canvas.backgroundImage?void 0:I.value.canvas.background||`transparent`,backgroundImage:I.value.canvas.backgroundImage?`${t}${n}`:t,backgroundSize:r,backgroundPosition:i,border:a?`${c}mm solid ${o}`:`0 solid transparent`,borderRadius:`2px`,boxShadow:a?`0 1px 4px rgba(0,0,0,0.1)`:`inset 0 0 0 1px rgba(148, 163, 184, 0.35), 0 1px 3px rgba(0,0,0,0.06)`}}),Qt=(0,t.computed)(()=>{if(!I.value?.canvas?.widthMm)return .35;let e=I.value.canvas.widthMm*xh;return Math.min(220/e,.65)}),$t=(0,t.computed)(()=>{if(!I.value?.canvas?.widthMm)return .55;let e=I.value.canvas.widthMm*xh;return Math.min(520/e,1)});function en(e){return(l.value?Mu:Eu)[e]||e}function tn(){I.value?.canvas&&(I.value.canvas.widthMm=L.value,I.value.canvas.heightMm=R.value)}function nn(){I.value?.canvas?.backgroundImage?Be.value=`image`:(I.value?.canvas?.background||``).trim()?Be.value=`color`:Be.value=`transparent`}function rn(e){if(I.value?.canvas){if(e===`transparent`){delete I.value.canvas.backgroundImage,I.value.canvas.background=``;return}if(e===`color`){delete I.value.canvas.backgroundImage,String(I.value.canvas.background||``).trim()||(I.value.canvas.background=`#ffffff`);return}I.value.canvas.backgroundImage||an(`lib`)}}function an(e){xe.value=e,be.value=!0}function on(e){!I.value?.canvas||!e||(I.value.canvas.backgroundImage=e,I.value.canvas.background=``,Be.value=`image`)}function sn(){I.value?.canvas?.backgroundImage&&(delete I.value.canvas.backgroundImage,nn())}function cn(e){Ce.value=e,Se.value=!0}function ln(e){!J.value||!e||(J.value.backgroundImage=e,J.value.background=``)}function un(){J.value?.backgroundImage&&delete J.value.backgroundImage}function dn(e){return Rn(e)}function fn(e,t,n){if(!(t>0)||!(n>0)||!Number.isFinite(n)||!Number.isFinite(t))return[];let r=[1,2,5,10,20,25,50,100,200,250,500,1e3,2e3,5e3],i=r[r.length-1];for(let e of r)if(e*n>=10){i=e;break}let a=i;for(let e of r)if(!(e<i||e%i!==0)&&(a=e,e*n>=52))break;let o=a/2,s=Math.floor(-e/n/i)*i,c=Math.ceil((t-e)/n/i)*i;if(!Number.isFinite(s)||!Number.isFinite(c)||c<s)return[];let l=[];for(let t=s;t<=c;t+=i){let r=(t%a+a)%a===0,s=!r&&o>=i&&(t%o+o)%o===0;l.push({mm:t,major:r,mid:s,label:r?`${t}`:``,offsetPx:Math.round((e+t*n)*100)/100})}return l}function pn(e){return JSON.parse(JSON.stringify(e))}function mn(e){return JSON.parse(JSON.stringify(e))}function hn(){Le+=1;let e=4*Le;return{dx:e,dy:e}}function gn(e,t){let n=e.xMm+e.wMm,r=e.yMm+e.hMm;return n>t.xMm&&e.xMm<t.xMm+t.wMm&&r>t.yMm&&e.yMm<t.yMm+t.hMm}function _n(e){let t=Math.min(...e.map(e=>e.xMm)),n=Math.min(...e.map(e=>e.yMm)),r=Math.max(...e.map(e=>e.xMm+e.wMm)),i=Math.max(...e.map(e=>e.yMm+e.hMm));return{minX:t,minY:n,maxR:r,maxB:i,width:$(r-t),height:$(i-n)}}function yn(e){let t=Math.min(...e.map(e=>e.xMm)),n=Math.min(...e.map(e=>e.yMm)),r=Math.max(...e.map(e=>e.xMm+e.wMm)),i=Math.max(...e.map(e=>e.yMm+e.hMm));return{minX:t,minY:n,maxR:r,maxB:i,width:$(r-t),height:$(i-n)}}function xn(e){return{xMm:$(e.xMm+2),yMm:$(e.yMm+2)}}function Sn(e,t,n){let r=Math.max(0,Number(Ve.value)||0),i=Math.max(0,e.wMm-t.width),a=Math.max(0,e.hMm-t.height),o=n.endsWith(`left`)?0:n.endsWith(`right`)?1:.5,s=n.startsWith(`top`)?0:n.startsWith(`bottom`)?1:.5,c=Math.min(r,i),l=Math.min(r,a),u=Math.max(0,i-c*2),d=Math.max(0,a-l*2);return{xMm:$(e.xMm+c+u*o),yMm:$(e.yMm+l+d*s)}}function Cn(e,t,n){let r=e.xMm,i=e.yMm,a=!!e.flipX,o=!!e.flipY;return n===`x`?(r=$(t.minX+t.maxR-(e.xMm+e.wMm)),a=!a):n===`y`&&(i=$(t.minY+t.maxB-(e.yMm+e.hMm)),o=!o),{xMm:r,yMm:i,flipX:a||void 0,flipY:o||void 0}}function wn(e){if(!I.value||!e.length)return;let t=e.map(e=>I.value.elements.find(t=>t.id===e)).filter(e=>e!=null);t.length&&(je.value=t.map(e=>pn(e)),Ne.value=`elements`,Le=0,Q.success(t.length>1?`已复制 ${t.length} 个元素`:`已复制元素`))}function En(e){return I.value?.elements?.length?I.value.elements.filter(t=>t.regionId===e.id||gn(t,e)):[]}function On(e,t,n){if(!e.length){Q.info(`请先选中要复制的分块`);return}Me.value={regions:e.map(e=>mn(e)),elements:t.map(e=>pn(e))},Ne.value=`regions`,Le=0,Q.success(n)}function kn(){if(!J.value){Q.info(`请先选中一个分块`);return}On([J.value],[],`已复制分块「${J.value.name}」`)}function An(){if(!J.value||!I.value)return;let e=En(J.value);if(!e.length){Q.info(`当前分区内没有可复制的元素`);return}wn(e.map(e=>e.id))}function Nn(){if(!J.value){Q.info(`请先选中一个分块`);return}let e=En(J.value);On([J.value],e,e.length?`已复制分块和 ${e.length} 个元素`:`已复制分块「${J.value.name}」`)}function Pn(){if(!J.value){Q.info(`请先选中一个分块`);return}let e=ha();On([J.value],e,e.length?`已复制分块和 ${e.length} 个选中元素`:`已复制分块「${J.value.name}」`)}function Fn(e){let t=z.value.length?[...z.value]:e?[e]:[];if(!t.length){Q.info(`请先选中要复制的元素`);return}wn(t)}function In(e,t){if(!I.value||!je.value.length){Q.info(`剪贴板里还没有可粘贴的元素`);return}let n=je.value.map(e=>pn(e)),r=new Map,i=_n(n),a=hn(),o=t?.targetRegion??null,s=o?t?.align?Sn(o,i,t.align):xn(o):e,c=s?s.xMm-i.minX:a.dx,l=s?s.yMm-i.minY:a.dy,u=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0),d=n.map((e,n)=>{let a=Cn(e,i,t?.flipAxis);return{...e,id:Lr(),groupId:e.groupId?r.get(e.groupId)||(r.set(e.groupId,Rr()),r.get(e.groupId)):void 0,regionId:o?.id||e.regionId,xMm:$(a.xMm+c),yMm:$(a.yMm+l),flipX:a.flipX,flipY:a.flipY,zIndex:u+n+1}});ta(),I.value.elements.push(...d),o&&(B.value=o.id),z.value=d.map(e=>e.id),Q.success(d.length>1?`已粘贴 ${d.length} 个元素`:`已粘贴元素`)}function Ln(e){return{x:e.xMm+e.wMm/2,y:e.yMm+e.hMm/2}}function zn(e,t,n,r){return Math.max(0,Math.min(t,r)-Math.max(e,n))}function Bn(e,t){if(!I.value?.regions?.length)return null;let n=Ln(e),r=L.value-n.x,i=R.value-n.y,a=I.value.regions.filter(t=>t.id!==e.id);if(!a.length)return null;let o=null;for(let s of a){let a=Ln(s),c=t===`x`?zn(e.yMm,e.yMm+e.hMm,s.yMm,s.yMm+s.hMm):zn(e.xMm,e.xMm+e.wMm,s.xMm,s.xMm+s.wMm),l=t===`x`?Math.abs(a.x-r)*4+Math.abs(a.y-n.y)-c*.25:Math.abs(a.y-i)*4+Math.abs(a.x-n.x)-c*.25;(!o||l<o.score)&&(o={region:s,score:l})}return o?.region||null}function Vn(e){let t=ha().filter(t=>t.regionId===e.id||gn(t,e));return t.length?t:En(e)}function Hn(e){if(!J.value){Q.info(`请先选中一个分区`);return}cr(e,J.value)}function Un(e){if(!I.value||!J.value){Q.info(`请先选中一个分区`);return}let t=J.value,n=Bn(t,e);if(!n){Q.warning(e===`x`?`未找到左右对侧分区`:`未找到上下对侧分区`);return}let r=Vn(t).map(e=>pn(e));if(!r.length){Q.info(`当前分区内没有可镜像的内容`);return}let i=Math.max(.001,n.wMm/Math.max(t.wMm,.001)),a=Math.max(.001,n.hMm/Math.max(t.hMm,.001)),o=new Map,s=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0),c=r.map((r,c)=>{let l=r.xMm-t.xMm,u=r.yMm-t.yMm,d=$(r.wMm*i),f=$(r.hMm*a),p=$(e===`x`?(t.wMm-(l+r.wMm))*i:l*i),m=$(e===`y`?(t.hMm-(u+r.hMm))*a:u*a);return{...r,id:Lr(),groupId:r.groupId?o.get(r.groupId)||(o.set(r.groupId,Rr()),o.get(r.groupId)):void 0,regionId:n.id,xMm:$(n.xMm+p),yMm:$(n.yMm+m),wMm:d,hMm:f,flipX:e===`x`?!r.flipX||void 0:r.flipX,flipY:e===`y`?!r.flipY||void 0:r.flipY,zIndex:s+c+1}});ta(),I.value.elements.push(...c),B.value=n.id,z.value=c.map(e=>e.id),Q.success(e===`x`?`已镜像复制到横向对侧分区「${n.name}」`:`已镜像复制到纵向对侧分区「${n.name}」`)}function Wn(e){if(!I.value||!Me.value?.regions?.length){Q.info(`剪贴板里还没有可粘贴的分块`);return}let t=Me.value.regions.map(e=>mn(e)),n=Me.value.elements.map(e=>pn(e)),r=yn(t),i=hn(),a=e?e.xMm-r.minX:i.dx,o=e?e.yMm-r.minY:i.dy,s=new Map,c=new Map,l=t.map((e,n)=>{let r=zr();return s.set(e.id,r),{...e,id:r,name:t.length>1?`${e.name} ${n+1}`:`${e.name} 副本`,xMm:$(e.xMm+a),yMm:$(e.yMm+o)}}),u=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0),d=n.map((e,n)=>{let r=e.regionId&&s.get(e.regionId)||void 0;if(!r){let n=t.find(t=>gn(e,t));n&&(r=s.get(n.id)||void 0)}return{...e,id:Lr(),groupId:e.groupId?c.get(e.groupId)||(c.set(e.groupId,Rr()),c.get(e.groupId)):void 0,regionId:r,xMm:$(e.xMm+a),yMm:$(e.yMm+o),zIndex:u+n+1}});ta(),I.value.regions||=[],I.value.regions.push(...l),I.value.elements.push(...d),B.value=l[0]?.id||null,z.value=d.map(e=>e.id),Q.success(d.length?`已粘贴 ${l.length} 个分块和 ${d.length} 个元素`:`已粘贴 ${l.length} 个分块`)}function Gn(){return`clip_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function qn(e){return!!e&&(e.type===`image`||e.type===`seal`)&&e.clipboardSource===`clipboard`}function Jn(e){return qn(e)?e.clipboardUploadState===`pending`?`粘贴待上传`:`粘贴图片`:``}function Yn(e){let t=e?.length?e:Array.from(Ie.keys());for(let e of t){let t=Ie.get(e);t?.objectUrl&&URL.revokeObjectURL(t.objectUrl),Ie.delete(e)}}function Xn(e){let t=e?.target;t instanceof HTMLElement&&t.closest(`.canvas-context-menu`)||(Pe.value.visible=!1,Pe.value.anchorMm=null,Pe.value.target=`blank`,Pe.value.regionId=null,Pe.value.guideId=null)}function Zn(e,t){return{x:Math.max(8,Math.min(e,window.innerWidth-144-8)),y:Math.max(8,Math.min(t,window.innerHeight-320-8))}}function Qn(e,t,n,r=`blank`,i=null,a=null){let o=Zn(e,t);Pe.value={visible:!0,x:o.x,y:o.y,clientX:e,clientY:t,anchorMm:n??null,target:r,regionId:i,guideId:a}}function $n(e){Qn(e.clientX,e.clientY,null)}function er(e){if(!pe.value){Qn(e.clientX,e.clientY,null);return}let t=pe.value.getBoundingClientRect(),n=Z.value,r=$((e.clientX-t.left)/n/xh),i=$((e.clientY-t.top)/n/xh);Qn(e.clientX,e.clientY,{xMm:r,yMm:i})}function tr(e,t){V.value=null,B.value=t.id,Qn(e.clientX,e.clientY,{xMm:t.xMm,yMm:t.yMm},`region`,t.id)}function nr(e){V.value=e,e&&(z.value=[],B.value=null)}function rr(e,t){nr(t.id),Qn(e.clientX,e.clientY,t.axis===`horizontal`?{xMm:0,yMm:t.offsetMm}:{xMm:t.offsetMm,yMm:0},`guide`,null,t.id)}function ir(e){e===`delete`&&dt.value&&ji(dt.value.id),Xn()}function ar(){let e=H.value;if(!e||!I.value)return null;let t=(e.scrollLeft-Rt.value)/Z.value,n=(e.scrollTop-zt.value)/Z.value,r=kt.value/Z.value,i=At.value/Z.value,a=Math.min(Math.max(t+r/2,0),wt.value),o=Math.min(Math.max(n+i/2,0),Tt.value);return{xMm:$(a/xh),yMm:$(o/xh)}}function or(e,t){if(!I.value)return;let n=Gn(),r=URL.createObjectURL(e);Ie.set(n,{file:e,objectUrl:r,origName:e.name||`粘贴图片`}),mi(r,t??ar()??void 0,{clipboardSource:`clipboard`,clipboardUploadState:`pending`,clipboardUploadKey:n,clipboardOrigName:e.name||`粘贴图片`}),Q.success(`已粘贴图片,保存模板时才上传`)}function sr(e){e===`paste`&&ot.value?In(Pe.value.anchorMm??void 0):e===`paste_region`&&st.value?Wn(Pe.value.anchorMm??void 0):e===`delete`&&z.value.length?Xr([...z.value]):e===`zoom_in`?dr(Z.value+.1,{clientX:Pe.value.clientX,clientY:Pe.value.clientY}):e===`zoom_out`?dr(Z.value-.1,{clientX:Pe.value.clientX,clientY:Pe.value.clientY}):e===`fit`&&fr(),Xn()}function cr(e,t){if(!I.value)return;let n=En(t);if(!n.length){Q.info(`当前分块内没有可翻转的内容`);return}ta();let r={minX:t.xMm,minY:t.yMm,maxR:$(t.xMm+t.wMm),maxB:$(t.yMm+t.hMm)};for(let t of n){let n=Cn(t,r,e);t.xMm=n.xMm,t.yMm=n.yMm,t.flipX=n.flipX,t.flipY=n.flipY}z.value=n.map(e=>e.id),B.value=t.id,Q.success(e===`x`?`已左右翻转当前分块内容`:`已上下翻转当前分块内容`)}function lr(e){if(!ut.value){Xn();return}B.value=ut.value.id,e===`copy_region`?kn():e===`copy_region_contents`?Nn():e===`copy_region_selection`?Pn():e===`paste_region`?Wn({xMm:ut.value.xMm+4,yMm:ut.value.yMm+4}):e===`paste_elements`?In(void 0,{targetRegion:ut.value}):e===`paste_elements_flip_x`?In(void 0,{targetRegion:ut.value,flipAxis:`x`}):e===`paste_elements_flip_y`?In(void 0,{targetRegion:ut.value,flipAxis:`y`}):e===`flip_contents_x`?cr(`x`,ut.value):e===`flip_contents_y`?cr(`y`,ut.value):e===`delete_region`&&bi(ut.value.id),Xn()}function ur(e){return Math.max(.06,Math.min(3,Math.round(e*100)/100))}async function dr(e,n){let r=H.value,i=me.value;if(!r||!i){Ae.value=ur(e);return}let a=Z.value,o=ur(e);if(Math.abs(o-a)<.001)return;let s=r.getBoundingClientRect(),c=n?n.clientX-s.left:r.clientWidth/2,l=n?n.clientY-s.top:r.clientHeight/2,u=Rt.value,d=zt.value,f=(r.scrollLeft+c-u)/a,p=(r.scrollTop+l-d)/a;Ae.value=o,await(0,t.nextTick)();let m=me.value,h=H.value;if(!m||!h)return;let g=Rt.value,_=zt.value;h.scrollLeft=Math.max(0,g+f*o-c),h.scrollTop=Math.max(0,_+p*o-l)}function fr(){Ae.value=null,(0,t.nextTick)(()=>Ba(!0))}function pr(e){let t=Z.value;dr(t+e*.1)}function hr(e){if(!I.value||wt.value<=0)return;let t=e.deltaY>0?-.1:.1;dr(Z.value+t,{clientX:e.clientX,clientY:e.clientY})}function gr(e){let t=[];return e.rotation&&t.push(`rotate(${e.rotation}deg)`),e.flipX&&t.push(`scaleX(-1)`),e.flipY&&t.push(`scaleY(-1)`),t.join(` `)}function _r(e){return Du(e.text,Ct.value)}function vr(e){let t=xh,n=gr(e);return{position:`absolute`,left:`${e.xMm*t}px`,top:`${e.yMm*t}px`,width:`${e.wMm*t}px`,height:`${e.hMm*t}px`,zIndex:e.zIndex??1,...n?{transform:n}:{},transformOrigin:`center center`}}function yr(e){let t=xh,n=e.offsetMm*t;return e.axis===`horizontal`?{top:`${n}px`,left:`0`,width:`${wt.value}px`,height:`0`}:{left:`${n}px`,top:`0`,width:`0`,height:`${Tt.value}px`}}function br(e){let t=xh,n=e.offsetMm*t;return e.axis===`horizontal`?{left:`6px`,top:`${n}px`}:{top:`6px`,left:`${n}px`}}function xr(e){let t;switch(e.align){case`center`:t={justifyContent:`center`,alignItems:`center`,textAlign:`center`};break;case`top-center`:t={justifyContent:`center`,alignItems:`flex-start`,textAlign:`center`};break;case`bottom-center`:t={justifyContent:`center`,alignItems:`flex-end`,textAlign:`center`};break;case`middle-left`:t={justifyContent:`flex-start`,alignItems:`center`,textAlign:`left`};break;case`middle-right`:t={justifyContent:`flex-end`,alignItems:`center`,textAlign:`right`};break;case`top-right`:t={justifyContent:`flex-end`,alignItems:`flex-start`,textAlign:`right`};break;case`bottom-left`:t={justifyContent:`flex-start`,alignItems:`flex-end`,textAlign:`left`};break;case`bottom-right`:t={justifyContent:`flex-end`,alignItems:`flex-end`,textAlign:`right`};break;default:t={justifyContent:`flex-start`,alignItems:`flex-start`,textAlign:`left`}}let n=e.textDirection===`vertical`;return{width:`100%`,height:`100%`,display:`flex`,...t,fontFamily:e.fontFamily,fontSize:`${e.fontSize}pt`,color:e.color,lineHeight:1.25,whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflow:`hidden`,writingMode:n?`vertical-rl`:`horizontal-tb`,textOrientation:n?`upright`:`mixed`}}function Sr(e){return{width:`100%`,height:`100%`,display:`block`,opacity:String(e.opacity??1)}}function Cr(e){return e.showStroke===!1?`none`:e.strokeColor||`#409eff`}function wr(e){return e.background||`transparent`}function Tr(e){return Math.max(0,Number(e.strokeWidthMm??.6))*3.2}function Er(e){return e===`circle`||e===`triangle`||e===`polygon`||e===`trapezoid`}function Or(e){let t=Math.max(.01,Number(e.hMm)||.01);return Math.max(.01,Number(e.wMm)||.01)/t}function Ar(e,t,n){let r=Math.max(1,Number(n)||1);if(!e.lockAspectRatio){t===`width`?e.wMm=$(r):e.hMm=$(r);return}let i=Or(e);t===`width`?(e.wMm=$(r),e.hMm=$(Math.max(1,r/i))):(e.hMm=$(r),e.wMm=$(Math.max(1,r*i)))}function jr(e){let t=Ze.value;t&&Ar(t,`width`,e)}function Nr(e){let t=Ze.value;t&&Ar(t,`height`,e)}function Pr(e){let t=Math.max(3,Math.min(12,Math.round(Number(e.polygonSides??5)))),n=[];for(let e=0;e<t;e++){let r=-Math.PI/2+Math.PI*2*e/t;n.push(`${50+Math.cos(r)*44},${50+Math.sin(r)*44}`)}return n.join(` `)}function Fr(){return`18,6 82,6 96,94 4,94`}function Ir(e){return{left:`${e.xMm*xh}px`,top:`${e.yMm*xh}px`,width:`${e.wMm*xh}px`,height:`${e.hMm*xh}px`,backgroundColor:e.background||`rgba(64, 158, 255, 0.06)`,backgroundImage:e.backgroundImage?`url(${dn(e.backgroundImage)})`:void 0,backgroundSize:e.backgroundImage?`cover`:void 0,backgroundPosition:e.backgroundImage?`center`:void 0,backgroundRepeat:e.backgroundImage?`no-repeat`:void 0}}function Lr(){return`el_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function Rr(){return`grp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function zr(){return`region_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function Br(e,t,n){let r={id:Lr(),type:`text`,fontFamily:`Microsoft YaHei,sans-serif`},i=[{xMm:6,yMm:8,wMm:t-12,hMm:10,align:`top-center`,text:`{{competition_name}}`,fontSize:11,color:`#606266`},{xMm:6,yMm:n*.34,wMm:t-12,hMm:20,align:`center`,text:`{{student_name}}`,fontSize:22,color:`#303133`},{xMm:6,yMm:n*.56,wMm:t-12,hMm:10,align:`top-left`,text:`编号 {{competition_no}}`,fontSize:12,color:`#409eff`},{xMm:6,yMm:n*.68,wMm:(t-18)/2,hMm:9,align:`top-left`,text:`{{school_name}}`,fontSize:10,color:`#606266`},{xMm:6+(t-18)/2+6,yMm:n*.68,wMm:(t-18)/2,hMm:9,align:`top-right`,text:`{{age_group}}`,fontSize:10,color:`#606266`},{xMm:6,yMm:n*.78,wMm:t-12,hMm:12,align:`top-left`,text:`{{competition_room}} {{seat_no}}号`,fontSize:11,color:`#303133`}];if(e<i.length)return{...r,zIndex:1,...i[e]};let a=(t-12-5)/2,o=e-i.length,s=Math.floor(o/2),c=o%2,l=Math.min(n*.88+s*15,n-6-11);return{...r,zIndex:1,xMm:6+c*(a+5),yMm:l,wMm:a,hMm:11,align:`top-left`,text:`{{session}}`,fontSize:10,color:`#909399`}}function Vr(e){if(e.type===`text`){let t=e.text.replace(/\s+/g,` `).trim();return`${(t.length>16?`${t.slice(0,16)}…`:t)||`文字`}${e.groupId?` [组]`:``}`}return e.type===`shape`?`${e.shape===`rect`?`矩形`:e.shape===`circle`?`圆形`:e.shape===`triangle`?`三角形`:e.shape===`polygon`?`${Math.max(3,Math.round(Number(e.polygonSides??5)))}边形`:e.shape===`trapezoid`?`梯形`:`线条`}${e.groupId?` [组]`:``}`:`图片${e.groupId?` [组]`:``}`}function Hr(e,t){if(!I.value)return;let n=[...I.value.elements].sort((e,t)=>(e.zIndex??0)-(t.zIndex??0)),r=n.findIndex(t=>t.id===e.id),i=t===1?r+1:r-1;if(i<0||i>=n.length)return;let a=n[r],o=n[i],s=a.zIndex??1;a.zIndex=o.zIndex??1,o.zIndex=s}function Ur(){I.value?.elements?.length&&[...I.value.elements].sort((e,t)=>(e.zIndex??0)-(t.zIndex??0)).forEach((e,t)=>{e.zIndex=t+1})}function Wr(e){I.value&&(e.zIndex=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0)+1)}function Gr(e){if(!I.value)return;let t=I.value.elements.reduce((e,t)=>Math.min(e,t.zIndex??0),1/0);e.zIndex=(Number.isFinite(t)?t:1)-1,Ur()}function Kr(e,t){switch(ta(),e){case`forward`:Hr(t,1);break;case`backward`:Hr(t,-1);break;case`front`:Wr(t);break;case`back`:Gr(t)}}function qr(e){z.value=[e.id],g.value=e.id,m.value=e.link?.href||``,h.value=e.link?.target||`_blank`,p.value=!0}function Jr(){if(!I.value||!g.value)return;let e=I.value.elements.find(e=>e.id===g.value);if(!e)return;let t=m.value.trim();t?e.link={href:t,target:h.value||`_blank`}:delete e.link,p.value=!1,Q.success(t?`已设置链接`:`已清除链接`)}function Yr(e,t){if(Xn(),e===`copy`){wn(z.value.includes(t.id)?[...z.value]:Ci(t));return}if(e===`paste`){In({xMm:t.xMm+2,yMm:t.yMm+2});return}if(e===`set-link`){qr(t);return}if(e===`clear-link`){z.value=[t.id],t.link&&delete t.link,Q.success(`已清除链接`);return}e===`delete`&&Xr(z.value.includes(t.id)?[...z.value]:Ci(t))}async function Xr(e){if(!I.value||!e.length)return;let t=new Set(e),n=new Map;for(let r of e){let e=I.value.elements.find(e=>e.id===r);!qn(e)||e.clipboardUploadState!==`uploaded`||!e.clipboardImageId||I.value.elements.some(n=>!t.has(n.id)&&qn(n)&&n.clipboardImageId===e.clipboardImageId)||n.set(e.clipboardImageId,e.clipboardOrigName||`图片${e.clipboardImageId}`)}let r=!1;if(n.size){let e=await new Promise(e=>{_.value=n.size,v=e,f.value=!0});if(e===null)return;r=e}ta();let i=new Set(e);if(I.value.elements=I.value.elements.filter(e=>!i.has(e.id)),z.value=z.value.filter(e=>!i.has(e)),r){let e=(await Promise.allSettled(Array.from(n.keys()).map(e=>Mn(e)))).filter(e=>e.status===`rejected`).length;e?Q.warning(`已删除画布元素,但有 ${e} 张服务器图片删除失败`):Q.success(`已删除画布元素和服务器图片`)}}function Zr(e){if(e.button!==0||!pe.value||!I.value)return;e.preventDefault(),V.value=null,ge=e.shiftKey;let t=pe.value.getBoundingClientRect(),n=Z.value,r=(e.clientX-t.left)/n,i=(e.clientY-t.top)/n;he.value={x0:r,y0:i,x1:r,y1:i},window.addEventListener(`pointermove`,Qr),window.addEventListener(`pointerup`,$r,{once:!0})}function Qr(e){if(!he.value||!pe.value)return;let t=pe.value.getBoundingClientRect(),n=Z.value;he.value.x1=(e.clientX-t.left)/n,he.value.y1=(e.clientY-t.top)/n}function $r(e){window.removeEventListener(`pointermove`,Qr);let t=he.value;if(he.value=null,!t||!I.value||!pe.value||Math.abs(t.x1-t.x0)<4&&Math.abs(t.y1-t.y0)<4)return;let n=xh,r=Math.min(t.x0,t.x1)/n,i=Math.min(t.y0,t.y1)/n,a=Math.max(t.x0,t.x1)/n,o=Math.max(t.y0,t.y1)/n,s=[];for(let e of I.value.elements){let t=e.xMm+e.wMm,n=e.yMm+e.hMm;t>r&&e.xMm<a&&n>i&&e.yMm<o&&s.push(e.id)}let c=e.shiftKey||ge;ge=!1,c?z.value=Array.from(new Set([...z.value,...s])):z.value=s}let ei=null;function ti(e){e.button!==0&&e.button!==1||!H.value||(e.preventDefault(),Xn(),De.value=!0,ei={startX:e.clientX,startY:e.clientY,startScrollLeft:H.value.scrollLeft,startScrollTop:H.value.scrollTop},(e.currentTarget||H.value).setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,ni),window.addEventListener(`pointerup`,ri,{once:!0}))}function ni(e){if(!ei||!H.value)return;let t=H.value,n=ei.startScrollLeft-(e.clientX-ei.startX),r=ei.startScrollTop-(e.clientY-ei.startY),i=Math.max(0,t.scrollWidth-t.clientWidth),a=Math.max(0,t.scrollHeight-t.clientHeight);t.scrollLeft=Math.min(i,Math.max(0,n)),t.scrollTop=Math.min(a,Math.max(0,r))}function ri(){ei=null,De.value=!1,window.removeEventListener(`pointermove`,ni)}function ai(){ke.value=!0}function oi(){ke.value=!1,De.value||(Oe.value=!1)}function si(e){ke.value=!0,H.value?.focus(),e.button===1&&ti(e)}function ci(e){if(V.value=null,B.value=null,e.button===1||Oe.value){ti(e);return}Zr(e)}function li(e){if(e.button===0||e.button===1||Oe.value){V.value=null,B.value=null,e.button===0&&!e.shiftKey&&(z.value=[]),ti(e);return}}function ui(){if(!I.value)return;ta();let e=I.value.canvas.widthMm,t=I.value.canvas.heightMm,n=I.value.elements.filter(e=>e.type===`text`).length,r=Br(n,e,t);J.value&&(r.xMm=$(J.value.xMm+4),r.yMm=$(J.value.yMm+4),r.wMm=$(Math.max(10,J.value.wMm-8)),r.regionId=J.value.id),r.zIndex=(I.value.elements?.length??0)+1,I.value.elements.push(r),z.value=[r.id]}function di(e){if(!I.value)return;ta();let t=J.value,n=e===`line`?36:24,r=e===`line`?4:18,i=$(t?t.xMm+Math.max(2,(t.wMm-n)/2):Math.max(4,L.value*.2)),a=$(t?t.yMm+Math.max(2,(t.hMm-r)/2):Math.max(4,R.value*.2)),o={id:Lr(),type:`shape`,shape:e,zIndex:(I.value.elements?.length??0)+1,xMm:i,yMm:a,wMm:n,hMm:r,background:e===`line`?`transparent`:`rgba(64, 158, 255, 0.18)`,lockAspectRatio:Er(e),showStroke:!0,strokeColor:`#409eff`,strokeWidthMm:.6,opacity:1,polygonSides:e===`polygon`?5:void 0,regionId:t?.id};I.value.elements.push(o),z.value=[o.id]}let fi=null,pi=0;function mi(e,t,n){if(!I.value||!e)return;ta();let r=I.value.canvas.widthMm,i=I.value.canvas.heightMm,a=I.value.elements.filter(e=>e.type===`image`||e.type===`seal`).length,o=8+a%2*34,s=Math.max(8,i-28-Math.floor(a/2)*16),c=t?Math.min(Math.max($(t.xMm-16),0),Math.max(0,r-32)):J.value?Math.min(Math.max($(J.value.xMm+(J.value.wMm-32)/2),0),Math.max(0,r-32)):o,l=t?Math.min(Math.max($(t.yMm-10),0),Math.max(0,i-20)):J.value?Math.min(Math.max($(J.value.yMm+(J.value.hMm-20)/2),0),Math.max(0,i-20)):s,u={id:Lr(),type:`image`,zIndex:(I.value.elements?.length??0)+1,xMm:c,yMm:l,wMm:32,hMm:20,src:e,regionId:J.value?.id,...n};I.value.elements.push(u),z.value=[u.id],pi+=1,fi&&clearTimeout(fi),fi=setTimeout(()=>{fi=null;let e=pi;pi=0,Q.success(e>1?`已插入 ${e} 张图片`:`已插入图片`)},350)}function hi(e){e.canvas||={widthMm:L.value,heightMm:R.value,background:`#ffffff`},e.canvas.showBorder??(e.canvas.showBorder=!0),e.canvas.borderColor||(e.canvas.borderColor=`#334155`);let t=Number(e.canvas.borderWidthMm);e.canvas.borderWidthMm=Number.isFinite(t)&&t>0?Math.min(8,t):.35,e.guides||=[],e.guides=e.guides.filter(e=>e&&(e.axis===`horizontal`||e.axis===`vertical`)).map((e,t)=>({id:e.id||`guide_${t+1}`,axis:e.axis,offsetMm:Math.max(0,Number(e.offsetMm)||0)})),e.regions||=[],e.regions=e.regions.filter(e=>e&&Number(e.wMm)>0&&Number(e.hMm)>0).map((e,t)=>({id:e.id||`region_${t+1}`,name:String(e.name||`画布${t+1}`),xMm:Math.max(0,Number(e.xMm)||0),yMm:Math.max(0,Number(e.yMm)||0),wMm:Math.max(1,Number(e.wMm)||1),hMm:Math.max(1,Number(e.hMm)||1),background:String(e.background||``),backgroundImage:String(e.backgroundImage||``)})),e.elements=(e.elements||[]).map(e=>{let t={...e,id:String(e?.id||Lr()),zIndex:Number(e?.zIndex)||1,xMm:Number(e?.xMm)||0,yMm:Number(e?.yMm)||0,wMm:Math.max(1,Number(e?.wMm)||1),hMm:Math.max(1,Number(e?.hMm)||1)};return t.type===`shape`&&(t.shape=[`rect`,`circle`,`triangle`,`line`,`polygon`,`trapezoid`].includes(t.shape)?t.shape:`rect`,t.background||=`rgba(64, 158, 255, 0.2)`,t.lockAspectRatio=t.lockAspectRatio==null?Er(t.shape):!!t.lockAspectRatio,t.showStroke=t.showStroke!==!1,t.strokeColor||=`#409eff`,t.strokeWidthMm=Math.max(0,Number(t.strokeWidthMm??.6)),t.opacity=Math.max(0,Math.min(1,Number(t.opacity??1))),t.polygonSides=Math.max(3,Math.min(12,Math.round(Number(t.polygonSides??5))))),t})}function gi(e,t,n,r,i,a){return{id:zr(),name:e||`画布${a+1}`,xMm:$(t),yMm:$(n),wMm:$(r),hMm:$(i),background:``,backgroundImage:``}}function _i(e){if(!I.value)return;let t=Math.max(1,Math.round(ze.value||1)),n=Math.max(1,Math.round(Re.value||1)),r=L.value,i=R.value,a=[];if(e===`horizontal`){let e=r/n;for(let t=0;t<n;t++)a.push(gi(`画布${t+1}`,t*e,0,e,i,t))}else if(e===`vertical`){let e=i/t;for(let n=0;n<t;n++)a.push(gi(`画布${n+1}`,0,n*e,r,e,n))}else{let e=r/n,o=i/t;for(let r=0;r<t;r++)for(let t=0;t<n;t++){let i=r*n+t;a.push(gi(`画布${i+1}`,t*e,r*o,e,o,i))}}ta(),I.value.regions=a,B.value=a[0]?.id||null}function vi(){I.value?.regions?.length&&(ta(),I.value.regions=[],B.value=null)}function bi(e){if(I.value?.regions?.length){ta(),I.value.regions=I.value.regions.filter(t=>t.id!==e);for(let t of I.value.elements)t.regionId===e&&delete t.regionId;B.value===e&&(B.value=I.value.regions[0]?.id||null)}}function xi(e,t){if(e.button!==0||(e.preventDefault(),V.value=null,B.value=t.id,e.shiftKey||(z.value=[]),!I.value))return;let n=En(t);ta(),Ni={regions:[t],els:n,startX:e.clientX,startY:e.clientY,regionOrigins:[{id:t.id,x:t.xMm,y:t.yMm}],origins:n.map(e=>({id:e.id,x:e.xMm,y:e.yMm}))},e.currentTarget?.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Ii),window.addEventListener(`pointerup`,Li,{once:!0})}function Ci(e){return!I.value||!e.groupId?[e.id]:I.value.elements.filter(t=>t.groupId===e.groupId).map(e=>e.id)}function wi(e){B.value=null,z.value=Ci(e)}function Ti(){if(!I.value||z.value.length<2){Q.info(`至少选中两个元素才能组合`);return}ta();let e=Rr();for(let t of ha())t.groupId=e;Q.success(`已组合选中元素`)}function Ei(){let e=ha();if(!(!I.value||!e.length)){ta();for(let t of e)delete t.groupId;Q.success(`已打散组合`)}}function Di(e){let t=ha();if(t.length<2){Q.info(`至少选中两个元素才能整体翻转`);return}ta();let n=Math.min(...t.map(e=>e.xMm)),r=Math.max(...t.map(e=>e.xMm+e.wMm)),i=Math.min(...t.map(e=>e.yMm)),a=Math.max(...t.map(e=>e.yMm+e.hMm));for(let o of t)e===`x`?(o.xMm=$(n+r-(o.xMm+o.wMm)),o.flipX=!o.flipX):(o.yMm=$(i+a-(o.yMm+o.hMm)),o.flipY=!o.flipY);Q.success(e===`x`?`已左右翻转选中元素`:`已上下翻转选中元素`)}function Oi(){if(!(!J.value||!I.value||!z.value.length)){ta();for(let e of ha())e.regionId=J.value.id;Q.success(`已归入 ${J.value.name}`)}}function Ai(e){if(!I.value)return;ta();let t=Number(e===`horizontal`?(R.value/2).toFixed(2):(L.value/2).toFixed(2));I.value.guides||=[],I.value.guides.push({id:Lr(),axis:e,offsetMm:t})}function ji(e){I.value?.guides?.length&&(ta(),I.value.guides=I.value.guides.filter(t=>t.id!==e),V.value===e&&(V.value=null))}function Mi(){I.value?.guides?.length&&(ta(),I.value.guides=[],V.value=null)}let Ni=null,Pi=null;function Fi(e,t){V.value=null,B.value=null;let n=Ci(t);if(e.shiftKey){n.every(e=>z.value.includes(e))?z.value=z.value.filter(e=>!n.includes(e)):z.value=Array.from(new Set([...z.value,...n]));return}if(n.every(e=>z.value.includes(e))||(z.value=[...n]),!I.value)return;let r=I.value.elements.filter(e=>z.value.includes(e.id));r.length&&(ta(),Ni={regions:[],els:r,startX:e.clientX,startY:e.clientY,regionOrigins:[],origins:r.map(e=>({id:e.id,x:e.xMm,y:e.yMm}))},e.target.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Ii),window.addEventListener(`pointerup`,Li,{once:!0}))}function Ii(e){if(!Ni||!I.value)return;let t=e.clientX-Ni.startX,n=e.clientY-Ni.startY,r=Z.value,i=xh;for(let e of Ni.regions){let a=Ni.regionOrigins.find(t=>t.id===e.id);a&&(e.xMm=Math.round((a.x+t/r/i)*100)/100,e.yMm=Math.round((a.y+n/r/i)*100)/100)}for(let e of Ni.els){let a=Ni.origins.find(t=>t.id===e.id);a&&(e.xMm=Math.round((a.x+t/r/i)*100)/100,e.yMm=Math.round((a.y+n/r/i)*100)/100)}}function Li(){Ni=null,window.removeEventListener(`pointermove`,Ii)}function Ri(e,t){e.preventDefault(),nr(t.id),ta(),Pi={guide:t,startClient:t.axis===`horizontal`?e.clientY:e.clientX,startOffsetMm:t.offsetMm},e.currentTarget.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,zi),window.addEventListener(`pointerup`,Bi,{once:!0})}function zi(e){if(!Pi||!I.value)return;let t=(Pi.guide.axis===`horizontal`?e.clientY:e.clientX)-Pi.startClient,n=Z.value,r=xh,i=Pi.guide.axis===`horizontal`?R.value:L.value,a=Pi.startOffsetMm+t/n/r;Pi.guide.offsetMm=Math.max(0,Math.min(i,Math.round(a*100)/100))}function Bi(){Pi=null,window.removeEventListener(`pointermove`,zi)}let Hi=null;function Ui(e,t){e.preventDefault(),z.value=[t.id],ta(),Hi={el:t,startX:e.clientX,startY:e.clientY,startWMm:t.wMm,startHMm:t.hMm,aspectRatio:Math.max(.01,Number(t.wMm)||.01)/Math.max(.01,Number(t.hMm)||.01),lockAspectRatio:t.type===`shape`&&!!t.lockAspectRatio},e.currentTarget.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Wi),window.addEventListener(`pointerup`,Gi,{once:!0})}function Wi(e){if(!Hi)return;let t=e.clientX-Hi.startX,n=e.clientY-Hi.startY,r=Z.value,i=xh,a=Math.max(1,Math.round((Hi.startWMm+t/r/i)*100)/100),o=Math.max(1,Math.round((Hi.startHMm+n/r/i)*100)/100);if(Hi.lockAspectRatio||e.shiftKey){let e=Math.max(.01,Hi.aspectRatio||1);Math.abs(t)>=Math.abs(n)?(Hi.el.wMm=a,Hi.el.hMm=Math.max(1,Math.round(a/e*100)/100)):(Hi.el.hMm=o,Hi.el.wMm=Math.max(1,Math.round(o*e*100)/100));return}Hi.el.wMm=a,Hi.el.hMm=o}function Gi(){Hi=null,window.removeEventListener(`pointermove`,Wi)}let Ki=(0,t.ref)([]),Ji=(0,t.ref)([]),Yi=!1;function Xi(e){return JSON.parse(JSON.stringify(e))}function Zi(){Ki.value=[],Ji.value=[]}let Qi=(0,t.computed)(()=>Ki.value.length>0&&!!I.value),$i=(0,t.computed)(()=>Ji.value.length>0&&!!I.value);function ea(){Ni=null,Hi=null,Pi=null,ei=null,De.value=!1,window.removeEventListener(`pointermove`,Ii),window.removeEventListener(`pointerup`,Li),window.removeEventListener(`pointermove`,zi),window.removeEventListener(`pointerup`,Bi),window.removeEventListener(`pointermove`,Wi),window.removeEventListener(`pointerup`,Gi),window.removeEventListener(`pointermove`,ni),window.removeEventListener(`pointerup`,ri)}function ta(){Yi||!I.value||(Ki.value.push(Xi(I.value)),Ki.value.length>Eh&&Ki.value.shift(),Ji.value=[])}function na(e){Yi=!0;try{ea(),I.value=Xi(e);let t=new Set((I.value.elements??[]).map(e=>e.id));z.value=z.value.filter(e=>t.has(e));let n=new Set((I.value.regions??[]).map(e=>e.id));(!B.value||!n.has(B.value))&&(B.value=null);let r=new Set((I.value.guides??[]).map(e=>e.id));(!V.value||!r.has(V.value))&&(V.value=null)}finally{(0,t.nextTick)(()=>{Yi=!1})}}function ra(){if(!I.value||Ki.value.length===0||Yi)return;Ji.value.unshift(Xi(I.value));let e=Ki.value.pop();e&&na(e)}function aa(){if(!I.value||Ji.value.length===0||Yi)return;Ki.value.push(Xi(I.value));let e=Ji.value.shift();e&&na(e)}function oa(){ta(),tn()}function sa(){let e=document.activeElement;if(!e)return!1;let t=e.tagName;return!!(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e instanceof HTMLElement&&e.isContentEditable)}function ca(e){return!e||!(e instanceof HTMLElement)?!1:!!e.closest(`.fou-input, .fou-input-number, input, textarea, select, [contenteditable="true"]`)}function ua(e){if(ca(e.target)||sa())return;if(e.code===`Space`){let t=H.value,n=document.activeElement;if(!(t&&(ke.value||t===n||n&&t.contains(n)||Pe.value.visible)))return;e.preventDefault(),e.stopPropagation(),Oe.value=!0;return}let t=e.ctrlKey||e.metaKey,n=e.key.toLowerCase();if(e.key===`Escape`&&Xn(),t&&n===`c`){e.preventDefault(),e.stopPropagation(),J.value&&z.value.length?Pn():J.value?Nn():z.value.length?Fn():Q.info(`请先选中元素或分块`);return}if(t&&n===`z`&&!e.shiftKey){e.preventDefault(),e.stopPropagation(),ra();return}if(t&&(n===`y`||n===`z`&&e.shiftKey)){e.preventDefault(),e.stopPropagation(),aa();return}if(e.key===`Delete`||e.key===`Backspace`){if(V.value){e.preventDefault(),e.stopPropagation(),ji(V.value),Xn();return}if(!z.value.length)return;e.preventDefault(),e.stopPropagation(),Xr([...z.value]);return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key)||!z.value.length||!I.value)return;e.preventDefault(),e.stopPropagation(),ta();let r=xh,i=e.key===`ArrowLeft`?-1:+(e.key===`ArrowRight`),a=e.key===`ArrowUp`?-1:+(e.key===`ArrowDown`);for(let e of z.value){let t=I.value.elements.find(t=>t.id===e);t&&(t.xMm=Math.round((t.xMm+i/r)*100)/100,t.yMm=Math.round((t.yMm+a/r)*100)/100)}}function da(e){e.code===`Space`&&(Oe.value=!1)}function fa(){Oe.value=!1,ke.value=!1}async function pa(e){if(!I.value||Fe.value||ca(e.target)||sa())return;let t=H.value,n=document.activeElement,r=e.target;if(!(t&&(t===n||n&&t.contains(n)||r&&t.contains(r)||Pe.value.visible)))return;let i=Array.from(e.clipboardData?.items??[]).find(e=>e.kind===`file`&&e.type.startsWith(`image/`));if(i){let t=i.getAsFile();if(!t)return;e.preventDefault(),e.stopPropagation(),Xn(),or(t,Pe.value.anchorMm??ar());return}if(!ct.value)return;e.preventDefault(),e.stopPropagation();let a=Pe.value.target===`region`?ut.value:J.value;Ne.value===`regions`&&st.value?Wn(Pe.value.anchorMm??void 0):ot.value?In(a?void 0:Pe.value.anchorMm??void 0,a?{targetRegion:a}:void 0):st.value&&Wn(Pe.value.anchorMm??void 0),Xn()}async function ma(){if(!I.value)return{uploadedIds:[],cleanupKeys:[]};let e=new Map;for(let t of I.value.elements){if(!qn(t)||t.clipboardUploadState!==`pending`||!t.clipboardUploadKey)continue;let n=e.get(t.clipboardUploadKey)||[];n.push(t),e.set(t.clipboardUploadKey,n)}let t=new Map,n=[],r=[];try{for(let[i,a]of e.entries()){let e=Ie.get(i);if(!e)throw Error(`存在未上传的粘贴图片,请重新粘贴后再保存`);let o=await jn(e.file),s=Number(o?.data?.id??0),c=String(o?.data?.url??``).trim();if(!s||!c)throw Error(`图片「${e.origName||`未命名`}」上传失败`);let l=Rn(c);n.push(s),r.push(i);for(let n of a)t.set(n.id,{src:n.src,clipboardUploadState:n.clipboardUploadState,clipboardImageId:n.clipboardImageId}),n.src=l,n.clipboardUploadState=`uploaded`,n.clipboardImageId=s,n.clipboardOrigName=e.origName||n.clipboardOrigName}return{uploadedIds:n,cleanupKeys:r}}catch(e){for(let e of I.value.elements){let n=t.get(e.id);!n||!qn(e)||(e.src=n.src,e.clipboardUploadState=n.clipboardUploadState,e.clipboardImageId=n.clipboardImageId)}throw e}}function $(e){return Math.round(e*100)/100}function ha(){let e=I.value;return e?.elements?.length?z.value.map(t=>e.elements.find(e=>e.id===t)).filter(e=>e!=null):[]}function ga(){let e=I.value;if(!e?.elements?.length)return[];let t=[];for(let n of z.value){let r=e.elements.find(e=>e.id===n);r?.type===`text`&&t.push(r)}return t}let _a=(0,t.computed)(()=>ga().length),ya=(0,t.computed)(()=>{let e=ga();if(!e.length)return;let t=e[0].fontSize;return e.every(e=>e.fontSize===t)?t:void 0}),ba=(0,t.computed)(()=>ga()[0]?.color||`#303133`),xa=(0,t.ref)(void 0),Sa=(0,t.ref)(`#303133`);(0,t.watch)(ya,e=>{xa.value=e},{immediate:!0}),(0,t.watch)(ba,e=>{Sa.value=e||`#303133`},{immediate:!0});function Ca(e){if(e==null||!Number.isFinite(e)||!I.value)return;let t=ga();if(t.length){ta();for(let n of t)n.fontSize=e}}function wa(){Ca(xa.value)}function Ta(e){xa.value=e,Ca(e)}function Ea(e){if(e==null||e===``||!I.value)return;let t=ga();if(t.length){ta();for(let n of t)n.color=e}}function Da(){Ea((Sa.value||``).trim())}function Oa(e){e!=null&&(Sa.value=e),Ea(e)}function ka(e){if(!I.value?.canvas)return;let t=z.value;if(!t.length){Q.info(`请先选中元素`);return}ta();let n=I.value.canvas.widthMm,r=I.value.canvas.heightMm;for(let i of t){let t=I.value.elements.find(e=>e.id===i);if(t)switch(e){case`left`:t.xMm=0;break;case`right`:t.xMm=Math.max(0,n-t.wMm);break;case`h-center`:t.xMm=Math.max(0,(n-t.wMm)/2);break;case`top`:t.yMm=0;break;case`bottom`:t.yMm=Math.max(0,r-t.hMm);break;case`v-center`:t.yMm=Math.max(0,(r-t.hMm)/2)}}}function Aa(e){let t=ha();if(!t.length){Q.info(`请先选中元素`);return}if(t.length===1)return;ta();let n=Math.min(...t.map(e=>e.xMm)),r=Math.max(...t.map(e=>e.xMm+e.wMm)),i=Math.min(...t.map(e=>e.yMm)),a=Math.max(...t.map(e=>e.yMm+e.hMm)),o=(n+r)/2,s=(i+a)/2;for(let c of t)switch(e){case`sel-left`:c.xMm=$(n);break;case`sel-right`:c.xMm=$(r-c.wMm);break;case`sel-top`:c.yMm=$(i);break;case`sel-bottom`:c.yMm=$(a-c.hMm);break;case`sel-h-center`:c.xMm=$(o-c.wMm/2);break;case`sel-v-center`:c.yMm=$(s-c.hMm/2)}}function ja(e){let t=ha();if(t.length<2){Q.info(`分布需要至少选中两个元素`);return}if(ta(),e===`h`){let e=[...t].sort((e,t)=>e.xMm-t.xMm||e.id.localeCompare(t.id)),n=e[0].xMm,r=e[e.length-1],i=r.xMm+r.wMm,a=e.reduce((e,t)=>e+t.wMm,0),o=(i-n-a)/(e.length-1),s=n;for(let t of e)t.xMm=$(s),s+=t.wMm+o}else{let e=[...t].sort((e,t)=>e.yMm-t.yMm||e.id.localeCompare(t.id)),n=e[0].yMm,r=e[e.length-1],i=r.yMm+r.hMm,a=e.reduce((e,t)=>e+t.hMm,0),o=(i-n-a)/(e.length-1),s=n;for(let t of e)t.yMm=$(s),s+=t.hMm+o}}async function Ma(){N.value=!0,z.value=[],Ae.value=null,Yn();try{let e=(l.value?await Tn(s,c):await vn(s,c)).data;b.value=String(e.name||``).trim()||`未命名`,L.value=Number(e.width_mm)||90,R.value=Number(e.height_mm)||130;let n=e.template_json;n&&typeof n==`object`&&Array.isArray(n.elements)?(I.value=n,I.value.canvas=I.value.canvas||{widthMm:L.value,heightMm:R.value,background:`#ffffff`},I.value.canvas.widthMm=L.value,I.value.canvas.heightMm=R.value,hi(I.value)):I.value={version:1,canvas:{widthMm:L.value,heightMm:R.value,background:`#ffffff`,showBorder:!0,borderColor:`#334155`,borderWidthMm:.35},elements:[],guides:[],regions:[]};let r=e.default_test_json;ee.value=r&&typeof r==`object`?{...r}:{},Zi(),await(0,t.nextTick)(),Ba(!0)}catch{I.value=null,Zi(),Q.error(`加载模板失败`)}finally{N.value=!1}}async function Na(){if(!I.value)return;tn(),P.value=!0,F.value=``;let e=[],t=[];try{let n=await ma();e=n.uploadedIds,t=n.cleanupKeys;let r={name:b.value.trim()||`未命名`,width_mm:L.value,height_mm:R.value,template_json:I.value,default_test_json:ee.value};l.value?await Dn(s,c,r):await bn(s,c,r),Yn(t),F.value=`已保存`,Q.success(`保存成功`),await Ma()}catch(n){if(e.length){await Promise.allSettled(e.map(e=>Mn(e)));for(let e of I.value.elements){if(!qn(e)||e.clipboardUploadState!==`uploaded`||!e.clipboardUploadKey||!t.includes(e.clipboardUploadKey))continue;let n=Ie.get(e.clipboardUploadKey);n&&(e.src=n.objectUrl,e.clipboardUploadState=`pending`,delete e.clipboardImageId)}}Q.error(n?.response?.data?.message||`保存失败`)}finally{P.value=!1}}function Pa(){let e=te.value||H.value;if(!e)return;let t=Math.max(e.clientWidth||420,280),n=Math.max(e.clientHeight||420,240);Math.abs(t-_e.value)>8&&(_e.value=t),Math.abs(n-ve.value)>8&&(ve.value=n)}async function Fa(){await(0,t.nextTick)(),Pa(),Ae.value??Ba(!0)}async function Ia(){ie.value=!ie.value,document.body.classList.toggle(`badge-editor-window-fill-lock`,ie.value),await Fa()}async function La(){let e=re.value;if(e)try{if(document.fullscreenElement)await document.exitFullscreen();else{let t=e.requestFullscreen?.bind(e)||e.webkitRequestFullscreen?.bind(e);if(!t){Q.warning(`当前浏览器不支持全屏`);return}await t()}}catch{Q.warning(`无法进入全屏,请检查浏览器权限`)}}function Ra(){let e=re.value;ae.value=!!e&&document.fullscreenElement===e,Fa()}function za(e){e.key===`Escape`&&(!ie.value||document.fullscreenElement||(ie.value=!1,document.body.classList.remove(`badge-editor-window-fill-lock`),Fa()))}function Ba(e=!1){let t=H.value,n=me.value;if(!t||!n)return;let r=Et.value,i=Dt.value,a=Math.max(kt.value,120),o=Math.max(At.value,120),s=Math.max(Th,Math.round((a-r)/2)),c=Math.max(Th,Math.round((o-i)/2)),l=Math.max(0,Rt.value-(Ee.value?Sh:0)-s),u=Math.max(0,zt.value-(Ee.value?Sh:0)-c);(e||t.scrollLeft===0&&t.scrollTop===0||Math.abs(t.scrollLeft-l)>8||Math.abs(t.scrollTop-u)>8)&&(t.scrollLeft=l,t.scrollTop=u)}let Va=null,Ha=0;return(0,t.onMounted)(async()=>{if(r.embedded||r.mode===`banner`||!Number.isFinite(s)||s<=0||!Number.isFinite(c)||c<=0){if(!I.value){let{createBannerDoc:e,createBadgeDoc:t}=await Promise.resolve().then(()=>(rp(),$f));I.value=r.mode===`banner`?e():t({mode:r.mode||(l.value?`desk`:`badge`)}),b.value=b.value||(r.mode===`banner`?`Banner 草稿`:`模板草稿`),L.value=I.value.canvas.widthMm,R.value=I.value.canvas.heightMm,N.value=!1}}else await Ma();await(0,t.nextTick)(),Pa(),Ba(!0),Va=new ResizeObserver(()=>{cancelAnimationFrame(Ha),Ha=requestAnimationFrame(()=>{let e=_e.value,t=ve.value;Pa(),Ae.value==null&&(Math.abs(e-_e.value)>8||Math.abs(t-ve.value)>8)&&Ba(!0)})}),te.value?Va.observe(te.value):H.value&&Va.observe(H.value),window.addEventListener(`keydown`,ua,!0),window.addEventListener(`keyup`,da,!0),window.addEventListener(`blur`,fa),window.addEventListener(`paste`,pa,!0),window.addEventListener(`pointerdown`,Xn,!0),window.addEventListener(`scroll`,Xn,!0),document.addEventListener(`fullscreenchange`,Ra),window.addEventListener(`keydown`,za,!0)}),(0,t.onUnmounted)(()=>{Va?.disconnect(),cancelAnimationFrame(Ha),Yn(),document.body.classList.remove(`badge-editor-window-fill-lock`),document.fullscreenElement===re.value&&document.exitFullscreen?.(),window.removeEventListener(`pointermove`,de),window.removeEventListener(`pointerup`,fe),document.body.style.cursor=``,document.body.style.userSelect=``,window.removeEventListener(`keydown`,ua,!0),window.removeEventListener(`keyup`,da,!0),window.removeEventListener(`blur`,fa),window.removeEventListener(`paste`,pa,!0),window.removeEventListener(`pointerdown`,Xn,!0),window.removeEventListener(`scroll`,Xn,!0),document.removeEventListener(`fullscreenchange`,Ra),window.removeEventListener(`keydown`,za,!0),window.removeEventListener(`pointermove`,Ii),window.removeEventListener(`pointermove`,zi),window.removeEventListener(`pointermove`,Wi),window.removeEventListener(`pointermove`,Qr),window.removeEventListener(`pointermove`,ni)}),(e,n)=>{let i=k,a=Vt,o=ff,s=va,c=yi,u=ki,g=ao,v=lf,C=rf,O=qi,ee=Vi,oe=fl,U=ia,se=mr,W=jo,G=Oo,ue=wo,K=la,de=Si,fe=Jd,ge=Pt,_e=pt,ve=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`editorRootRef`,ref:re,class:(0,t.normalizeClass)([`page-container badge-editor`,{"is-window-fill":ie.value,"is-native-fullscreen":ae.value}])},[(0,t.createElementVNode)(`div`,ip,[(0,t.createVNode)(a,{link:``,onClick:Ue},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-left-line`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(`${l.value?`桌面贴模板`:`证件模板`}:${b.value||`未命名`}`),1)]),_:1}),(0,t.createElementVNode)(`div`,ap,[(0,t.createVNode)(o,{size:`small`,class:`header-undo-group`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{disabled:!Qi.value,title:`撤销 (Ctrl+Z)`,onClick:ra},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-go-back-line`}),n[121]||=(0,t.createTextVNode)(` 撤销 `,-1)]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{disabled:!$i.value,title:`重做 (Ctrl+Y / Ctrl+Shift+Z)`,onClick:aa},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-go-forward-line`}),n[122]||=(0,t.createTextVNode)(` 重做 `,-1)]),_:1},8,[`disabled`])]),_:1}),(0,t.createVNode)(a,{size:`small`,type:ie.value?`primary`:`default`,plain:``,title:`撑满当前浏览器可视区域`,onClick:Ia},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:ie.value?`fullscreen-exit-line`:`aspect-ratio-line`},null,8,[`icon`]),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(ie.value?`退出满屏`:`满屏`),1)]),_:1},8,[`type`]),(0,t.createVNode)(a,{size:`small`,type:ae.value?`primary`:`default`,plain:``,title:`撑满整个电脑屏幕`,onClick:La},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:ae.value?`fullscreen-exit-line`:`fullscreen-line`},null,8,[`icon`]),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(ae.value?`退出全屏`:`全屏`),1)]),_:1},8,[`type`]),(0,t.createVNode)(a,{type:`primary`,plain:``,disabled:!I.value,onClick:n[0]||=e=>Te.value=!0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`eye-line`}),n[123]||=(0,t.createTextVNode)(` 预览 `,-1)]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!I.value,onClick:A},{default:(0,t.withCtx)(()=>[...n[124]||=[(0,t.createTextVNode)(`导出图片`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!I.value,onClick:j},{default:(0,t.withCtx)(()=>[...n[125]||=[(0,t.createTextVNode)(`导出 PDF`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,disabled:!I.value,onClick:M},{default:(0,t.withCtx)(()=>[...n[126]||=[(0,t.createTextVNode)(`导出网页`,-1)]]),_:1},8,[`disabled`])])]),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`layoutRef`,ref:ne,class:(0,t.normalizeClass)([`layout`,{"is-resizing":!!ce.value}]),style:(0,t.normalizeStyle)(le.value)},[(0,t.createVNode)(se,{class:`tools`,shadow:`never`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,op,[(0,t.createElementVNode)(`div`,sp,[(0,t.createElementVNode)(`div`,cp,[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`tools-accordion__btn`,{"is-active":x.value===`canvas`}]),onClick:n[1]||=e=>x.value=`canvas`},`画布`,2),(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`tools-accordion__btn`,{"is-active":x.value===`insert`}]),onClick:n[2]||=e=>x.value=`insert`},`插入`,2),(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`tools-accordion__btn`,{"is-active":x.value===`arrange`}]),onClick:n[3]||=e=>x.value=`arrange`},`编排`,2)]),(0,t.createElementVNode)(`div`,{class:`tools-pane`,hidden:x.value!==`canvas`},[n[153]||=(0,t.createElementVNode)(`div`,{class:`tools-section-title`},`模板名称`,-1),(0,t.createElementVNode)(`div`,up,[(0,t.createVNode)(s,{modelValue:b.value,"onUpdate:modelValue":n[4]||=e=>b.value=e,maxlength:`120`,"show-word-limit":``,placeholder:`模板名称`,size:`small`},null,8,[`modelValue`])]),n[154]||=(0,t.createElementVNode)(`div`,{class:`tools-section-title`},`画布`,-1),(0,t.createElementVNode)(`div`,dp,[(0,t.createElementVNode)(`div`,null,[n[127]||=(0,t.createElementVNode)(`span`,{class:`label`},`宽:`,-1),(0,t.createVNode)(c,{modelValue:L.value,"onUpdate:modelValue":n[5]||=e=>L.value=e,min:40,max:300,size:`small`,"controls-position":`right`,onChange:oa},null,8,[`modelValue`]),n[128]||=(0,t.createTextVNode)(`mm `,-1)]),(0,t.createElementVNode)(`div`,null,[n[129]||=(0,t.createElementVNode)(`span`,{class:`label`},`高:`,-1),(0,t.createVNode)(c,{modelValue:R.value,"onUpdate:modelValue":n[6]||=e=>R.value=e,min:40,max:400,size:`small`,"controls-position":`right`,onChange:oa},null,8,[`modelValue`]),n[130]||=(0,t.createTextVNode)(`mm `,-1)])]),(0,t.createElementVNode)(`div`,fp,[n[131]||=(0,t.createElementVNode)(`span`,{class:`label`},`显示标尺`,-1),(0,t.createVNode)(u,{modelValue:Ee.value,"onUpdate:modelValue":n[7]||=e=>Ee.value=e,size:`small`},null,8,[`modelValue`])]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,pp,[n[133]||=(0,t.createElementVNode)(`span`,null,`画布边框`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[132]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`控制白纸边缘描边;预览与打印会同步生效。滚轮缩放仅改变视图,不改模板毫米尺寸。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,mp,[n[134]||=(0,t.createElementVNode)(`span`,{class:`label`},`显示边框`,-1),(0,t.createVNode)(u,{modelValue:X.value,"onUpdate:modelValue":n[8]||=e=>X.value=e,size:`small`},null,8,[`modelValue`])]),X.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,hp,[n[135]||=(0,t.createElementVNode)(`span`,{class:`label`},`边框色`,-1),(0,t.createElementVNode)(`div`,gp,[(0,t.createVNode)(C,{modelValue:yt.value,"onUpdate:modelValue":n[9]||=e=>yt.value=e},null,8,[`modelValue`]),(0,t.createVNode)(s,{modelValue:yt.value,"onUpdate:modelValue":n[10]||=e=>yt.value=e,size:`small`,placeholder:`#94a3b8`},null,8,[`modelValue`])])]),(0,t.createElementVNode)(`div`,_p,[n[136]||=(0,t.createElementVNode)(`span`,{class:`label`},`边框 mm`,-1),(0,t.createVNode)(c,{modelValue:bt.value,"onUpdate:modelValue":n[11]||=e=>bt.value=e,min:.1,max:8,step:.1,precision:1,size:`small`,"controls-position":`right`,style:{width:`120px`}},null,8,[`modelValue`])])],64)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,vp,[n[138]||=(0,t.createElementVNode)(`span`,null,`画布背景`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[137]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`支持透明、纯色和背景图。背景图可从图片库选择,也可直接上传。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,yp,[(0,t.createVNode)(ee,{modelValue:Be.value,"onUpdate:modelValue":n[12]||=e=>Be.value=e,size:`small`,onChange:rn},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`transparent`},{default:(0,t.withCtx)(()=>[...n[139]||=[(0,t.createTextVNode)(`透明`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`color`},{default:(0,t.withCtx)(()=>[...n[140]||=[(0,t.createTextVNode)(`色块`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`image`},{default:(0,t.withCtx)(()=>[...n[141]||=[(0,t.createTextVNode)(`图片`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),Be.value===`color`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bp,[n[142]||=(0,t.createElementVNode)(`span`,{class:`label`},`背景色`,-1),(0,t.createElementVNode)(`div`,xp,[(0,t.createVNode)(C,{modelValue:vt.value,"onUpdate:modelValue":n[13]||=e=>vt.value=e,"show-alpha":``},null,8,[`modelValue`]),(0,t.createVNode)(s,{modelValue:vt.value,"onUpdate:modelValue":n[14]||=e=>vt.value=e,size:`small`,placeholder:`#ffffff / rgba(...)`},null,8,[`modelValue`])])])):Be.value===`image`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createElementVNode)(`div`,Sp,[(0,t.createVNode)(a,{size:`small`,onClick:n[15]||=e=>an(`lib`)},{default:(0,t.withCtx)(()=>[...n[143]||=[(0,t.createTextVNode)(`选择图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[16]||=e=>an(`up`)},{default:(0,t.withCtx)(()=>[...n[144]||=[(0,t.createTextVNode)(`上传图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!I.value?.canvas?.backgroundImage,onClick:sn},{default:(0,t.withCtx)(()=>[...n[145]||=[(0,t.createTextVNode)(` 清除背景图 `,-1)]]),_:1},8,[`disabled`])]),(0,t.createElementVNode)(`p`,Cp,(0,t.toDisplayString)(I.value?.canvas?.backgroundImage?`当前已设置背景图,预览与打印会一起生效。`:`尚未选择背景图,可从图片库选择或直接上传。`),1)],64)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,wp,[n[147]||=(0,t.createElementVNode)(`span`,null,`标尺与参考线`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[146]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`支持像 Photoshop 一样显示标尺,并为模板保存水平/垂直参考线。参考线可拖动、手输位置,也会随模板一起生效。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Tp,[(0,t.createVNode)(a,{size:`small`,onClick:n[17]||=e=>Ai(`horizontal`)},{default:(0,t.withCtx)(()=>[...n[148]||=[(0,t.createTextVNode)(`添加横线`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[18]||=e=>Ai(`vertical`)},{default:(0,t.withCtx)(()=>[...n[149]||=[(0,t.createTextVNode)(`添加竖线`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!at.value.length,onClick:Mi},{default:(0,t.withCtx)(()=>[...n[150]||=[(0,t.createTextVNode)(`清空参考线`,-1)]]),_:1},8,[`disabled`])]),at.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ep,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(at.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`guide-row`,{active:V.value===e.id}]),onClick:t=>nr(e.id),onContextmenu:(0,t.withModifiers)(t=>rr(t,e),[`prevent`,`stop`])},[(0,t.createVNode)(oe,{size:`small`,type:e.axis===`horizontal`?`success`:`primary`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.axis===`horizontal`?`横线`:`竖线`),1)]),_:2},1032,[`type`]),(0,t.createVNode)(c,{modelValue:e.offsetMm,"onUpdate:modelValue":t=>e.offsetMm=t,min:0,max:e.axis===`horizontal`?R.value:L.value,step:.5,"controls-position":`right`,size:`small`},null,8,[`modelValue`,`onUpdate:modelValue`,`max`]),n[152]||=(0,t.createElementVNode)(`span`,{class:`guide-mm`},`mm`,-1),(0,t.createVNode)(a,{link:``,type:`danger`,onClick:t=>ji(e.id)},{default:(0,t.withCtx)(()=>[...n[151]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])],42,Dp))),128))])):(0,t.createCommentVNode)(``,!0)],8,lp),(0,t.createElementVNode)(`div`,{class:`tools-pane`,hidden:x.value!==`insert`},[(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,kp,[n[156]||=(0,t.createElementVNode)(`span`,null,`元素`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[155]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`新文字会按版心自动排位。图片可从图片库选用或本地上传,便于后续复用。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Ap,[(0,t.createVNode)(a,{size:`small`,type:`primary`,onClick:ui},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`edit-line`}),n[157]||=(0,t.createTextVNode)(` 文字 `,-1)]),_:1}),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,onClick:n[19]||=e=>ye.value=!0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`image-line`}),n[158]||=(0,t.createTextVNode)(` 图片 `,-1)]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`primary`,onClick:He},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`folder-open-line`}),n[159]||=(0,t.createTextVNode)(` 图片库管理 `,-1)]),_:1})]),(0,t.createElementVNode)(`div`,jp,[(0,t.createVNode)(U,{modelValue:w.value,"onUpdate:modelValue":n[20]||=e=>w.value=e,size:`small`,style:{width:`120px`},options:d},null,8,[`modelValue`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,onClick:n[21]||=e=>di(w.value)},{default:(0,t.withCtx)(()=>[...n[160]||=[(0,t.createTextVNode)(`添加形状`,-1)]]),_:1})]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Mp,[n[162]||=(0,t.createElementVNode)(`span`,null,`组合与分区`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[161]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`支持把多个元素组合/打散,也可把画布拆成多个分区,用于复制分区内容、给分区设置背景色和归类元素。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Np,[(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:Ti},{default:(0,t.withCtx)(()=>[...n[163]||=[(0,t.createTextVNode)(`组合`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!lt.value,onClick:Ei},{default:(0,t.withCtx)(()=>[...n[164]||=[(0,t.createTextVNode)(`打散`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!J.value,onClick:An},{default:(0,t.withCtx)(()=>[...n[165]||=[(0,t.createTextVNode)(`复制分区内容`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!z.value.length||!J.value,onClick:Oi},{default:(0,t.withCtx)(()=>[...n[166]||=[(0,t.createTextVNode)(`归入当前分区`,-1)]]),_:1},8,[`disabled`])]),(0,t.createElementVNode)(`div`,Pp,[n[167]||=(0,t.createElementVNode)(`span`,{class:`label`},`横向分块`,-1),(0,t.createVNode)(c,{modelValue:Re.value,"onUpdate:modelValue":n[22]||=e=>Re.value=e,min:1,max:12,size:`small`,"controls-position":`right`},null,8,[`modelValue`])]),(0,t.createElementVNode)(`div`,Fp,[n[168]||=(0,t.createElementVNode)(`span`,{class:`label`},`纵向分块`,-1),(0,t.createVNode)(c,{modelValue:ze.value,"onUpdate:modelValue":n[23]||=e=>ze.value=e,min:1,max:12,size:`small`,"controls-position":`right`},null,8,[`modelValue`])]),(0,t.createElementVNode)(`div`,Ip,[(0,t.createVNode)(a,{size:`small`,onClick:n[24]||=e=>_i(`horizontal`)},{default:(0,t.withCtx)(()=>[...n[169]||=[(0,t.createTextVNode)(`横向分块`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[25]||=e=>_i(`vertical`)},{default:(0,t.withCtx)(()=>[...n[170]||=[(0,t.createTextVNode)(`纵向分块`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[26]||=e=>_i(`grid`)},{default:(0,t.withCtx)(()=>[...n[171]||=[(0,t.createTextVNode)(`田字格/网格`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!Ge.value.length,onClick:vi},{default:(0,t.withCtx)(()=>[...n[172]||=[(0,t.createTextVNode)(`清空分区`,-1)]]),_:1},8,[`disabled`])]),Ge.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Lp,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Ge.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`guide-row`,{active:B.value===e.id}]),onClick:t=>B.value=e.id},[(0,t.createVNode)(oe,{size:`small`,type:B.value===e.id?`success`:`info`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.name),1)]),_:2},1032,[`type`]),(0,t.createElementVNode)(`span`,zp,(0,t.toDisplayString)(e.wMm.toFixed(1))+` x `+(0,t.toDisplayString)(e.hMm.toFixed(1))+` mm`,1)],10,Rp))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Bp,[(0,t.createVNode)(Rf,{"model-value":S.value,"extra-modules":r.extraModules,"onUpdate:modelValue":E,onInsert:D,onPreviewContext:T},null,8,[`model-value`,`extra-modules`])])],8,Op),(0,t.createElementVNode)(`div`,{class:`tools-pane`,hidden:x.value!==`arrange`},[(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[...n[173]||=[(0,t.createTextVNode)(`对齐到画布`,-1)]]),_:1}),(0,t.createElementVNode)(`div`,Hp,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`左对齐到画布`,onClick:n[27]||=e=>ka(`left`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-left-line`})]),_:1}),(0,t.createVNode)(a,{title:`水平居中对画布`,onClick:n[28]||=e=>ka(`h-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`expand-left-right-line`})]),_:1}),(0,t.createVNode)(a,{title:`右对齐到画布`,onClick:n[29]||=e=>ka(`right`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-right-line`})]),_:1})]),_:1})]),(0,t.createElementVNode)(`div`,Up,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`顶对齐到画布`,onClick:n[30]||=e=>ka(`top`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-up-line`})]),_:1}),(0,t.createVNode)(a,{title:`垂直居中对画布`,onClick:n[31]||=e=>ka(`v-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`drag-move-line`})]),_:1}),(0,t.createVNode)(a,{title:`底对齐到画布`,onClick:n[32]||=e=>ka(`bottom`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-down-line`})]),_:1})]),_:1})]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[...n[174]||=[(0,t.createTextVNode)(`图层`,-1)]]),_:1}),I.value?.elements?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wp,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Ke.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`layer-row`,{active:Je(e.id)}]),onClick:t=>wi(e)},[(0,t.createElementVNode)(`span`,Kp,(0,t.toDisplayString)(Vr(e)),1),(0,t.createElementVNode)(`span`,qp,`z`+(0,t.toDisplayString)(e.zIndex),1),(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`上移一层`,onClick:(0,t.withModifiers)(t=>Hr(e,1),[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-up-s-line`})]),_:1},8,[`onClick`]),(0,t.createVNode)(a,{title:`下移一层`,onClick:(0,t.withModifiers)(t=>Hr(e,-1),[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-down-s-line`})]),_:1},8,[`onClick`])]),_:2},1024)],10,Gp))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Jp,`暂无元素`))],8,Vp)]),(0,t.createElementVNode)(`div`,Yp,[(0,t.createVNode)(v),(0,t.createElementVNode)(`div`,Xp,[(0,t.createVNode)(a,{type:`success`,loading:P.value,onClick:Na},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`checkbox-circle-line`}),n[175]||=(0,t.createTextVNode)(` 保存模板 `,-1)]),_:1},8,[`loading`]),F.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Zp,(0,t.toDisplayString)(F.value),1)):(0,t.createCommentVNode)(``,!0)])])])]),_:1}),(0,t.createElementVNode)(`div`,{class:`layout-splitter`,title:`拖拽调整左侧宽度`,onPointerdown:n[33]||=e=>q(`left`,e)},null,32),(0,t.createVNode)(se,{class:`canvas-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Qp,[n[179]||=(0,t.createElementVNode)(`span`,null,`编辑区(滚轮缩放;灰底拖拽/空格/中键平移;纸面空白框选)`,-1),(0,t.createElementVNode)(`div`,$p,[(0,t.createVNode)(oe,{size:`small`,type:`info`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(Jt.value),1)]),_:1}),(0,t.createVNode)(o,{size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:n[34]||=e=>pr(-1)},{default:(0,t.withCtx)(()=>[...n[176]||=[(0,t.createTextVNode)(`缩小`,-1)]]),_:1}),(0,t.createVNode)(a,{onClick:fr},{default:(0,t.withCtx)(()=>[...n[177]||=[(0,t.createTextVNode)(`适配`,-1)]]),_:1}),(0,t.createVNode)(a,{onClick:n[35]||=e=>pr(1)},{default:(0,t.withCtx)(()=>[...n[178]||=[(0,t.createTextVNode)(`放大`,-1)]]),_:1})]),_:1})])])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`viewportRef`,ref:te,class:`canvas-card-body`},[(0,t.createElementVNode)(`div`,{ref_key:`hostRef`,ref:H,class:(0,t.normalizeClass)([`canvas-host`,{"is-panning":De.value,"is-pan-ready":Oe.value&&!De.value}]),tabindex:`0`,onPointerenter:ai,onPointerleave:oi,onPointerdown:si,onAuxclick:n[36]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:n[37]||=(0,t.withModifiers)(e=>{z.value=[],Xn()},[`self`]),onWheel:(0,t.withModifiers)(hr,[`prevent`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`editor-workspace`,{"no-rulers":!Ee.value}]),style:(0,t.normalizeStyle)(Bt.value)},[Ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,em)):(0,t.createCommentVNode)(``,!0),Ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tm,[(0,t.createElementVNode)(`div`,{class:`ruler-axis ruler-axis-x`,style:(0,t.normalizeStyle)(Ut.value)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Gt.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`x-${e.mm}`,class:(0,t.normalizeClass)([`ruler-tick ruler-tick-x`,{major:e.major,mid:e.mid}]),style:(0,t.normalizeStyle)({left:`${e.offsetPx}px`})},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,nm,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],6))),128))],4)])):(0,t.createCommentVNode)(``,!0),Ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rm,[(0,t.createElementVNode)(`div`,{class:`ruler-axis ruler-axis-y`,style:(0,t.normalizeStyle)(Wt.value)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Kt.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`y-${e.mm}`,class:(0,t.normalizeClass)([`ruler-tick ruler-tick-y`,{major:e.major,mid:e.mid}]),style:(0,t.normalizeStyle)({top:`${e.offsetPx}px`})},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,im,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],6))),128))],4)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`workspace-surface`,style:(0,t.normalizeStyle)(Ht.value),onPointerdown:(0,t.withModifiers)(li,[`self`]),onContextmenu:(0,t.withModifiers)($n,[`prevent`,`stop`,`self`])},[I.value&&wt.value>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`canvasClipRef`,ref:me,class:`canvas-scale-clip`,style:(0,t.normalizeStyle)(Yt.value)},[(0,t.createElementVNode)(`div`,{class:`canvas-scale-inner`,style:(0,t.normalizeStyle)(Xt.value)},[(0,t.createElementVNode)(`div`,{ref_key:`canvasInnerRef`,ref:pe,class:`canvas-inner canvas-inner--paper`,style:(0,t.normalizeStyle)(Zt.value),onPointerdown:(0,t.withModifiers)(ci,[`self`]),onContextmenu:(0,t.withModifiers)(er,[`prevent`,`stop`,`self`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(at.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`guide-line`,[e.axis===`horizontal`?`guide-line--h`:`guide-line--v`,{active:V.value===e.id}]]),style:(0,t.normalizeStyle)(yr(e)),onPointerdown:(0,t.withModifiers)(t=>Ri(t,e),[`stop`,`prevent`]),onContextmenu:(0,t.withModifiers)(t=>rr(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`span`,{class:`guide-badge`,style:(0,t.normalizeStyle)(br(e))},(0,t.toDisplayString)(e.axis===`horizontal`?`Y ${e.offsetMm.toFixed(1)}mm`:`X ${e.offsetMm.toFixed(1)}mm`),5)],46,am))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Ge.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`canvas-region`,{active:B.value===e.id}]),style:(0,t.normalizeStyle)(Ir(e)),onPointerdown:(0,t.withModifiers)(t=>xi(t,e),[`stop`]),onContextmenu:(0,t.withModifiers)(t=>tr(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`span`,sm,(0,t.toDisplayString)(e.name),1)],46,om))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(We.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.id},[e.type===`text`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,style:(0,t.normalizeStyle)(vr(e)),class:`layer-drop`},[(0,t.createVNode)(ue,{trigger:`contextmenu`,onCommand:t=>Yr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`copy`},{default:(0,t.withCtx)(()=>[...n[180]||=[(0,t.createTextVNode)(`复制元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`paste`,disabled:!ot.value},{default:(0,t.withCtx)(()=>[...n[181]||=[(0,t.createTextVNode)(`粘贴元素`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(W,{command:`delete`},{default:(0,t.withCtx)(()=>[...n[182]||=[(0,t.createTextVNode)(`删除元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`set-link`},{default:(0,t.withCtx)(()=>[...n[183]||=[(0,t.createTextVNode)(`设置链接`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`clear-link`},{default:(0,t.withCtx)(()=>[...n[184]||=[(0,t.createTextVNode)(`清除链接`,-1)]]),_:1}),(0,t.createVNode)(W,{divided:``,class:`ctx-submenu-item`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ue,{trigger:`hover`,placement:`right-start`,onCommand:t=>Kr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`forward`},{default:(0,t.withCtx)(()=>[...n[185]||=[(0,t.createTextVNode)(`上一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`backward`},{default:(0,t.withCtx)(()=>[...n[186]||=[(0,t.createTextVNode)(`下一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`front`,divided:``},{default:(0,t.withCtx)(()=>[...n[187]||=[(0,t.createTextVNode)(`最顶层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`back`},{default:(0,t.withCtx)(()=>[...n[188]||=[(0,t.createTextVNode)(`最底层`,-1)]]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[n[189]||=(0,t.createElementVNode)(`span`,{class:`ctx-submenu-trigger`},`层级 ›`,-1)]),_:1},8,[`onCommand`])]),_:2},1024)]),_:2},1024)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`hit`,{sel:Je(e.id)}]),onPointerdown:(0,t.withModifiers)(t=>Fi(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`div`,{class:`hit-inner`,style:(0,t.normalizeStyle)(xr(e))},(0,t.toDisplayString)(_r(e)),5),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`resize-handle-br`,title:`拖拽缩放区域`,onPointerdown:(0,t.withModifiers)(t=>Ui(t,e),[`stop`])},null,40,lm),[[t.vShow,z.value.length===1&&z.value[0]===e.id]])],42,cm)]),_:2},1032,[`onCommand`])],4)):e.type===`shape`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,style:(0,t.normalizeStyle)(vr(e)),class:`layer-drop`},[(0,t.createVNode)(ue,{trigger:`contextmenu`,onCommand:t=>Yr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`copy`},{default:(0,t.withCtx)(()=>[...n[190]||=[(0,t.createTextVNode)(`复制元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`paste`,disabled:!ot.value},{default:(0,t.withCtx)(()=>[...n[191]||=[(0,t.createTextVNode)(`粘贴元素`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(W,{command:`delete`},{default:(0,t.withCtx)(()=>[...n[192]||=[(0,t.createTextVNode)(`删除元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`set-link`},{default:(0,t.withCtx)(()=>[...n[193]||=[(0,t.createTextVNode)(`设置链接`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`clear-link`},{default:(0,t.withCtx)(()=>[...n[194]||=[(0,t.createTextVNode)(`清除链接`,-1)]]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`hit shape-hit`,{sel:Je(e.id)}]),onPointerdown:(0,t.withModifiers)(t=>Fi(t,e),[`prevent`,`stop`])},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:`shape-inner`,style:(0,t.normalizeStyle)(Sr(e)),viewBox:`0 0 100 100`,preserveAspectRatio:`none`},[e.shape===`line`?((0,t.openBlock)(),(0,t.createElementBlock)(`line`,{key:0,x1:`4`,y1:`50`,x2:`96`,y2:`50`,stroke:Cr(e),"stroke-width":Math.max(Tr(e),1),"stroke-linecap":`round`},null,8,dm)):e.shape===`rect`?((0,t.openBlock)(),(0,t.createElementBlock)(`rect`,{key:1,x:`4`,y:`4`,width:`92`,height:`92`,fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e)},null,8,fm)):e.shape===`circle`?((0,t.openBlock)(),(0,t.createElementBlock)(`ellipse`,{key:2,cx:`50`,cy:`50`,rx:`46`,ry:`46`,fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e)},null,8,pm)):e.shape===`triangle`?((0,t.openBlock)(),(0,t.createElementBlock)(`polygon`,{key:3,points:`50,4 96,96 4,96`,fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e),"stroke-linejoin":`round`},null,8,mm)):e.shape===`trapezoid`?((0,t.openBlock)(),(0,t.createElementBlock)(`polygon`,{key:4,points:Fr(),fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e),"stroke-linejoin":`round`},null,8,hm)):((0,t.openBlock)(),(0,t.createElementBlock)(`polygon`,{key:5,points:Pr(e),fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e),"stroke-linejoin":`round`},null,8,gm))],4)),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`resize-handle-br`,title:`拖拽缩放`,onPointerdown:(0,t.withModifiers)(t=>Ui(t,e),[`stop`])},null,40,_m),[[t.vShow,z.value.length===1&&z.value[0]===e.id]])],42,um)]),_:2},1032,[`onCommand`])],4)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,style:(0,t.normalizeStyle)(vr(e)),class:`layer-drop`},[(0,t.createVNode)(ue,{trigger:`contextmenu`,onCommand:t=>Yr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`copy`},{default:(0,t.withCtx)(()=>[...n[195]||=[(0,t.createTextVNode)(`复制元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`paste`,disabled:!ot.value},{default:(0,t.withCtx)(()=>[...n[196]||=[(0,t.createTextVNode)(`粘贴元素`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(W,{command:`delete`},{default:(0,t.withCtx)(()=>[...n[197]||=[(0,t.createTextVNode)(`删除元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`set-link`},{default:(0,t.withCtx)(()=>[...n[198]||=[(0,t.createTextVNode)(`设置链接`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`clear-link`},{default:(0,t.withCtx)(()=>[...n[199]||=[(0,t.createTextVNode)(`清除链接`,-1)]]),_:1}),(0,t.createVNode)(W,{divided:``,class:`ctx-submenu-item`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ue,{trigger:`hover`,placement:`right-start`,onCommand:t=>Kr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`forward`},{default:(0,t.withCtx)(()=>[...n[200]||=[(0,t.createTextVNode)(`上一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`backward`},{default:(0,t.withCtx)(()=>[...n[201]||=[(0,t.createTextVNode)(`下一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`front`,divided:``},{default:(0,t.withCtx)(()=>[...n[202]||=[(0,t.createTextVNode)(`最顶层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`back`},{default:(0,t.withCtx)(()=>[...n[203]||=[(0,t.createTextVNode)(`最底层`,-1)]]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[n[204]||=(0,t.createElementVNode)(`span`,{class:`ctx-submenu-trigger`},`层级 ›`,-1)]),_:1},8,[`onCommand`])]),_:2},1024)]),_:2},1024)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`hit img-hit`,{sel:Je(e.id)}]),onPointerdown:(0,t.withModifiers)(t=>Fi(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`img`,{src:dn(e.src),alt:``,draggable:`false`},null,8,ym),Jn(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,bm,(0,t.toDisplayString)(Jn(e)),1)):(0,t.createCommentVNode)(``,!0),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`resize-handle-br`,title:`拖拽缩放`,onPointerdown:(0,t.withModifiers)(t=>Ui(t,e),[`stop`])},null,40,xm),[[t.vShow,z.value.length===1&&z.value[0]===e.id]])],42,vm)]),_:2},1032,[`onCommand`])],4))],64))),128)),he.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`marquee-rect`,style:(0,t.normalizeStyle)(mt.value)},null,4)):(0,t.createCommentVNode)(``,!0)],36)],4)],4)):(0,t.createCommentVNode)(``,!0)],36)],6)],34)],512)]),_:1}),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[Pe.value.visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`canvas-context-menu`,style:(0,t.normalizeStyle)(ft.value),onPointerdown:n[55]||=(0,t.withModifiers)(()=>{},[`stop`])},[Pe.value.target===`guide`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`canvas-context-menu__item danger`,disabled:!dt.value,onClick:n[38]||=e=>ir(`delete`)},` 删除参考线 `,8,Sm)):Pe.value.target===`region`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[39]||=e=>lr(`copy_region`)},` 复制分块 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[40]||=e=>lr(`copy_region_contents`)},` 复制分块及内容 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!z.value.length,onClick:n[41]||=e=>lr(`copy_region_selection`)},` 复制分块+选中元素 `,8,Cm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!st.value,onClick:n[42]||=e=>lr(`paste_region`)},` 粘贴分块 `,8,wm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[43]||=e=>lr(`paste_elements`)},` 粘贴元素 `,8,Tm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[44]||=e=>lr(`paste_elements_flip_x`)},` 粘贴并左右翻转 `,8,Em),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[45]||=e=>lr(`paste_elements_flip_y`)},` 粘贴并上下翻转 `,8,Dm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ut.value,onClick:n[46]||=e=>lr(`flip_contents_x`)},` 当前分块内容左右翻转 `,8,Om),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ut.value,onClick:n[47]||=e=>lr(`flip_contents_y`)},` 当前分块内容上下翻转 `,8,km),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item danger`,disabled:!ut.value,onClick:n[48]||=e=>lr(`delete_region`)},` 删除当前分块 `,8,Am)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[49]||=e=>sr(`zoom_in`)},` 放大 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[50]||=e=>sr(`zoom_out`)},` 缩小 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[51]||=e=>sr(`fit`)},` 适配 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!z.value.length,onClick:n[52]||=e=>sr(`delete`)},` 删除选中元素 `,8,jm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[53]||=e=>sr(`paste`)},` 粘贴元素 `,8,Mm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!st.value,onClick:n[54]||=e=>sr(`paste_region`)},` 粘贴分块 `,8,Nm)],64))],36)):(0,t.createCommentVNode)(``,!0)])),(0,t.createElementVNode)(`div`,{class:`layout-splitter`,title:`拖拽调整右侧宽度`,onPointerdown:n[56]||=e=>q(`right`,e)},null,32),(0,t.createVNode)(se,{class:`side`,shadow:`never`},{header:(0,t.withCtx)(()=>[...n[205]||=[(0,t.createTextVNode)(`属性`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Pm,[(0,t.createElementVNode)(`div`,Fm,[Ye.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Im,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`文字内容`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)(s,{key:z.value.length===1?z.value[0]:`multi`,modelValue:ht.value,"onUpdate:modelValue":n[57]||=e=>ht.value=e,type:`textarea`,rows:8,placeholder:`可直接编辑;占位符用双花括号,如 student_name 写成模板里的字段名`},null,8,[`modelValue`]))]),_:1}),(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Lm,[(0,t.createVNode)(i,{icon:`expand-left-right-line`}),n[206]||=(0,t.createTextVNode)(`字号(pt)`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:Ye.value.fontSize,"onUpdate:modelValue":n[58]||=e=>Ye.value.fontSize=e,min:6,max:72,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Rm,[(0,t.createVNode)(i,{icon:`brush-line`}),n[207]||=(0,t.createTextVNode)(`颜色`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(C,{modelValue:Ye.value.color,"onUpdate:modelValue":n[59]||=e=>Ye.value.color=e,"show-alpha":``},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`区域 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,zm,[n[208]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:Ye.value.wMm,"onUpdate:modelValue":n[60]||=e=>Ye.value.wMm=e,min:5,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[209]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:Ye.value.hMm,"onUpdate:modelValue":n[61]||=e=>Ye.value.hMm=e,min:4,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,{label:`对齐`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(U,{modelValue:Ye.value.align,"onUpdate:modelValue":n[62]||=e=>Ye.value.align=e,placeholder:`对齐`,style:{width:`100%`},options:_t},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`文字方向`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ee,{modelValue:gt.value,"onUpdate:modelValue":n[63]||=e=>gt.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`horizontal`},{default:(0,t.withCtx)(()=>[...n[210]||=[(0,t.createTextVNode)(`横向`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`vertical`},{default:(0,t.withCtx)(()=>[...n[211]||=[(0,t.createTextVNode)(`纵向`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`旋转 (°)`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:nt.value,"onUpdate:modelValue":n[64]||=e=>nt.value=e,min:-180,max:180,step:1,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`翻转`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Bm,[(0,t.createVNode)(u,{modelValue:rt.value,"onUpdate:modelValue":n[65]||=e=>rt.value=e,"inline-prompt":``,"active-text":`左右`,"inactive-text":`左右`},null,8,[`modelValue`]),(0,t.createVNode)(u,{modelValue:it.value,"onUpdate:modelValue":n[66]||=e=>it.value=e,"inline-prompt":``,"active-text":`上下`,"inactive-text":`上下`},null,8,[`modelValue`])])]),_:1})]),_:1})])):Xe.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vm,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`尺寸 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Hm,[n[212]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:Xe.value.wMm,"onUpdate:modelValue":n[67]||=e=>Xe.value.wMm=e,min:5,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[213]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:Xe.value.hMm,"onUpdate:modelValue":n[68]||=e=>Xe.value.hMm=e,min:5,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,{label:`旋转 (°)`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:tt.value,"onUpdate:modelValue":n[69]||=e=>tt.value=e,min:-180,max:180,step:1,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`翻转`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Um,[(0,t.createVNode)(u,{modelValue:rt.value,"onUpdate:modelValue":n[70]||=e=>rt.value=e,"inline-prompt":``,"active-text":`左右`,"inactive-text":`左右`},null,8,[`modelValue`]),(0,t.createVNode)(u,{modelValue:it.value,"onUpdate:modelValue":n[71]||=e=>it.value=e,"inline-prompt":``,"active-text":`上下`,"inactive-text":`上下`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,null,{default:(0,t.withCtx)(()=>[...n[214]||=[(0,t.createElementVNode)(`span`,{class:`muted-text`},`画布上拖右下角蓝点可拉伸;文字和图片都支持角度旋转、左右翻转、上下翻转。`,-1)]]),_:1})]),_:1})])):Ze.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wm,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`图形`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(U,{modelValue:Ze.value.shape,"onUpdate:modelValue":n[72]||=e=>Ze.value.shape=e,style:{width:`100%`},options:d},null,8,[`modelValue`])]),_:1}),Ze.value.shape===`polygon`?((0,t.openBlock)(),(0,t.createBlock)(K,{key:0,label:`边数`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:Ze.value.polygonSides,"onUpdate:modelValue":n[73]||=e=>Ze.value.polygonSides=e,min:3,max:12,step:1,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(K,{label:`背景色`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(C,{modelValue:Ze.value.background,"onUpdate:modelValue":n[74]||=e=>Ze.value.background=e,"show-alpha":``},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`显示边框`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(u,{modelValue:Y.value,"onUpdate:modelValue":n[75]||=e=>Y.value=e},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`边框色`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(C,{modelValue:Ze.value.strokeColor,"onUpdate:modelValue":n[76]||=e=>Ze.value.strokeColor=e,"show-alpha":``,disabled:!Y.value},null,8,[`modelValue`,`disabled`])]),_:1}),(0,t.createVNode)(K,{label:`边框 mm`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:Ze.value.strokeWidthMm,"onUpdate:modelValue":n[77]||=e=>Ze.value.strokeWidthMm=e,min:0,max:20,step:.2,"controls-position":`right`,style:{width:`100%`},disabled:!Y.value},null,8,[`modelValue`,`disabled`])]),_:1}),(0,t.createVNode)(K,{label:`透明度`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(fe,{modelValue:$e.value,"onUpdate:modelValue":n[78]||=e=>$e.value=e,min:0,max:100},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`锁定比例`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(u,{modelValue:et.value,"onUpdate:modelValue":n[79]||=e=>et.value=e},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`尺寸 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Gm,[n[215]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:Ze.value.wMm,"onUpdate:modelValue":n[80]||=e=>Ze.value.wMm=e,min:1,max:500,step:.5,"controls-position":`right`,onChange:jr},null,8,[`modelValue`]),n[216]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:Ze.value.hMm,"onUpdate:modelValue":n[81]||=e=>Ze.value.hMm=e,min:1,max:500,step:.5,"controls-position":`right`,onChange:Nr},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,null,{default:(0,t.withCtx)(()=>[...n[217]||=[(0,t.createElementVNode)(`span`,{class:`muted-text`},`开启后,拖拽右下角或手动修改宽高都会按当前比例同步缩放。`,-1)]]),_:1})]),_:1})])):J.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Km,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`分区名称`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{modelValue:J.value.name,"onUpdate:modelValue":n[82]||=e=>J.value.name=e},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`背景模式`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ee,{modelValue:xt.value,"onUpdate:modelValue":n[83]||=e=>xt.value=e,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`transparent`},{default:(0,t.withCtx)(()=>[...n[218]||=[(0,t.createTextVNode)(`透明`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`color`},{default:(0,t.withCtx)(()=>[...n[219]||=[(0,t.createTextVNode)(`色块`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`image`},{default:(0,t.withCtx)(()=>[...n[220]||=[(0,t.createTextVNode)(`图片`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),xt.value===`color`?((0,t.openBlock)(),(0,t.createBlock)(K,{key:0,label:`背景色`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,qm,[(0,t.createVNode)(C,{modelValue:St.value,"onUpdate:modelValue":n[84]||=e=>St.value=e,"show-alpha":``},null,8,[`modelValue`]),(0,t.createVNode)(s,{modelValue:St.value,"onUpdate:modelValue":n[85]||=e=>St.value=e,size:`small`,placeholder:`#ffffff / rgba(...)`},null,8,[`modelValue`])])]),_:1})):xt.value===`image`?((0,t.openBlock)(),(0,t.createBlock)(K,{key:1,label:`背景图`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Jm,[(0,t.createVNode)(a,{size:`small`,onClick:n[86]||=e=>cn(`lib`)},{default:(0,t.withCtx)(()=>[...n[221]||=[(0,t.createTextVNode)(`选择图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[87]||=e=>cn(`up`)},{default:(0,t.withCtx)(()=>[...n[222]||=[(0,t.createTextVNode)(`上传图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!J.value.backgroundImage,onClick:un},{default:(0,t.withCtx)(()=>[...n[223]||=[(0,t.createTextVNode)(` 清除图片 `,-1)]]),_:1},8,[`disabled`])])]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(K,{label:`区域 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Ym,[n[224]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`X`,-1),(0,t.createVNode)(c,{modelValue:J.value.xMm,"onUpdate:modelValue":n[88]||=e=>J.value.xMm=e,min:0,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[225]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`Y`,-1),(0,t.createVNode)(c,{modelValue:J.value.yMm,"onUpdate:modelValue":n[89]||=e=>J.value.yMm=e,min:0,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[226]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:J.value.wMm,"onUpdate:modelValue":n[90]||=e=>J.value.wMm=e,min:1,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[227]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:J.value.hMm,"onUpdate:modelValue":n[91]||=e=>J.value.hMm=e,min:1,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{type:`danger`,plain:``,onClick:n[92]||=e=>bi(J.value.id)},{default:(0,t.withCtx)(()=>[...n[228]||=[(0,t.createTextVNode)(`删除当前分区`,-1)]]),_:1})]),_:1})]),_:1}),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Xm,[n[230]||=(0,t.createElementVNode)(`span`,null,`当前分区操作`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[229]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`这里直接处理当前分区内容。可先在分区里选中部分元素再操作;未选中时默认作用于整个分区内容。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Zm,[(0,t.createVNode)(a,{size:`small`,disabled:!J.value,onClick:n[93]||=e=>Hn(`x`)},{default:(0,t.withCtx)(()=>[...n[231]||=[(0,t.createTextVNode)(` 当前分区左右翻转 `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!J.value,onClick:n[94]||=e=>Hn(`y`)},{default:(0,t.withCtx)(()=>[...n[232]||=[(0,t.createTextVNode)(` 当前分区上下翻转 `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,disabled:!J.value,onClick:n[95]||=e=>Un(`x`)},{default:(0,t.withCtx)(()=>[...n[233]||=[(0,t.createTextVNode)(` 左右镜像到对侧 `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,disabled:!J.value,onClick:n[96]||=e=>Un(`y`)},{default:(0,t.withCtx)(()=>[...n[234]||=[(0,t.createTextVNode)(` 上下镜像到对侧 `,-1)]]),_:1},8,[`disabled`])])])):z.value.length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qm,[(0,t.createElementVNode)(`p`,$m,` 已选中 `+(0,t.toDisplayString)(z.value.length)+` 个元素:可整体拖拽、方向键微移、Delete 删除;下方可批量改选中文字的字号与颜色。单选一个文字块后可编辑全文与对齐。 `,1),(0,t.createElementVNode)(`div`,eh,[(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:Ti},{default:(0,t.withCtx)(()=>[...n[235]||=[(0,t.createTextVNode)(`组合`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!lt.value,onClick:Ei},{default:(0,t.withCtx)(()=>[...n[236]||=[(0,t.createTextVNode)(`打散`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:n[97]||=e=>Di(`x`)},{default:(0,t.withCtx)(()=>[...n[237]||=[(0,t.createTextVNode)(`左右翻转`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:n[98]||=e=>Di(`y`)},{default:(0,t.withCtx)(()=>[...n[238]||=[(0,t.createTextVNode)(`上下翻转`,-1)]]),_:1},8,[`disabled`])]),_a.value>0?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,th,[n[240]||=(0,t.createElementVNode)(`span`,null,`多选:文字样式`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[239]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`仅作用于选中范围内的文字块。颜色不一致时以当前色块为参考,确认后会统一覆盖。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createVNode)(de,{"label-width":`88px`,size:`small`,class:`multi-text-form`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,nh,[(0,t.createVNode)(i,{icon:`expand-left-right-line`}),n[241]||=(0,t.createTextVNode)(`字号(pt)`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,rh,[(0,t.createVNode)(c,{modelValue:xa.value,"onUpdate:modelValue":n[99]||=e=>xa.value=e,min:6,max:72,"controls-position":`right`,style:{width:`100%`},placeholder:`不一致`,onChange:Ta,onKeydown:(0,t.withKeys)((0,t.withModifiers)(wa,[`prevent`,`stop`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])]),_:1}),(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,ih,[(0,t.createVNode)(i,{icon:`brush-line`}),n[242]||=(0,t.createTextVNode)(`颜色`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ah,[(0,t.createVNode)(C,{"model-value":Sa.value,"show-alpha":``,onChange:Oa},null,8,[`model-value`]),(0,t.createVNode)(s,{modelValue:Sa.value,"onUpdate:modelValue":n[100]||=e=>Sa.value=e,size:`small`,placeholder:`#409EFF / rgba(...)`,onKeydown:(0,t.withKeys)((0,t.withModifiers)(Da,[`prevent`,`stop`]),[`enter`]),onBlur:Da},null,8,[`modelValue`,`onKeydown`])])]),_:1})]),_:1})],64)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,oh,[n[244]||=(0,t.createElementVNode)(`span`,null,`多选:相对选区对齐`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[243]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`以当前选中元素的包围盒为基准对齐彼此。至少选中 2 个元素时生效,单选无变化。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,sh,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`左边缘对齐`,onClick:n[101]||=e=>Aa(`sel-left`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-left-line`})]),_:1}),(0,t.createVNode)(a,{title:`右边缘对齐`,onClick:n[102]||=e=>Aa(`sel-right`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-right-line`})]),_:1}),(0,t.createVNode)(a,{title:`顶边对齐`,onClick:n[103]||=e=>Aa(`sel-top`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-up-line`})]),_:1}),(0,t.createVNode)(a,{title:`底边对齐`,onClick:n[104]||=e=>Aa(`sel-bottom`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-down-line`})]),_:1})]),_:1})]),(0,t.createElementVNode)(`div`,ch,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`水平居中对齐`,onClick:n[105]||=e=>Aa(`sel-h-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`expand-left-right-line`})]),_:1}),(0,t.createVNode)(a,{title:`垂直居中对齐`,onClick:n[106]||=e=>Aa(`sel-v-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`drag-move-line`})]),_:1})]),_:1})]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,lh,[n[246]||=(0,t.createElementVNode)(`span`,null,`多选:分布`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[245]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`在沿轴最前与最后元素之间均分间距,至少选中 2 个元素。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,uh,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`按左右顺序均分水平间距`,disabled:z.value.length<2,onClick:n[107]||=e=>ja(`h`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`settings-3-line`})]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{title:`按上下顺序均分垂直间距`,disabled:z.value.length<2,onClick:n[108]||=e=>ja(`v`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`sort-desc`})]),_:1},8,[`disabled`])]),_:1})])])):((0,t.openBlock)(),(0,t.createBlock)(ge,{key:5,description:`点击画布中的元素以编辑;空白处拖拽框选;Shift+点击多选`}))]),(0,t.createElementVNode)(`div`,dh,[(0,t.createVNode)(v),n[247]||=(0,t.createElementVNode)(`div`,{class:`subhead`},`保存后预览`,-1),(0,t.createElementVNode)(`div`,fh,[I.value?((0,t.openBlock)(),(0,t.createBlock)(ii,{key:0,doc:I.value,"merge-data":Ct.value,"screen-scale":Qt.value},null,8,[`doc`,`merge-data`,`screen-scale`])):(0,t.createCommentVNode)(``,!0)])])])]),_:1})],6)),[[ve,N.value]]),(0,t.createVNode)(_e,{modelValue:Te.value,"onUpdate:modelValue":n[109]||=e=>Te.value=e,title:`模板预览`,width:`640px`,draggable:``,"align-center":``,"destroy-on-close":``,class:`badge-preview-dialog`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ph,[I.value?((0,t.openBlock)(),(0,t.createBlock)(ii,{key:0,doc:I.value,"merge-data":Ct.value,"screen-scale":$t.value},null,8,[`doc`,`merge-data`,`screen-scale`])):(0,t.createCommentVNode)(``,!0)])]),_:1},8,[`modelValue`]),(0,t.createVNode)(Kn,{modelValue:ye.value,"onUpdate:modelValue":n[110]||=e=>ye.value=e,onPick:mi},null,8,[`modelValue`]),(0,t.createVNode)(Kn,{modelValue:be.value,"onUpdate:modelValue":n[111]||=e=>be.value=e,"default-tab":xe.value,onPick:on},null,8,[`modelValue`,`default-tab`]),(0,t.createVNode)(Kn,{modelValue:Se.value,"onUpdate:modelValue":n[112]||=e=>Se.value=e,"default-tab":Ce.value,onPick:ln},null,8,[`modelValue`,`default-tab`]),(0,t.createVNode)(Dr,{modelValue:we.value,"onUpdate:modelValue":n[113]||=e=>we.value=e},null,8,[`modelValue`]),(0,t.createVNode)(_e,{modelValue:p.value,"onUpdate:modelValue":n[117]||=e=>p.value=e,title:`设置链接`,width:`440px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:n[116]||=e=>p.value=!1},{default:(0,t.withCtx)(()=>[...n[250]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(a,{type:`primary`,onClick:Jr},{default:(0,t.withCtx)(()=>[...n[251]||=[(0,t.createTextVNode)(`确定`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,mh,[(0,t.createVNode)(s,{modelValue:m.value,"onUpdate:modelValue":n[114]||=e=>m.value=e,placeholder:`URL,可含 {{module.key}} 或旧 {{student_name}}`},null,8,[`modelValue`]),(0,t.createVNode)(ee,{modelValue:h.value,"onUpdate:modelValue":n[115]||=e=>h.value=e,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`_blank`},{default:(0,t.withCtx)(()=>[...n[248]||=[(0,t.createTextVNode)(`新窗口`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`_self`},{default:(0,t.withCtx)(()=>[...n[249]||=[(0,t.createTextVNode)(`当前页`,-1)]]),_:1})]),_:1},8,[`modelValue`])])]),_:1},8,[`modelValue`]),(0,t.createVNode)(_e,{modelValue:f.value,"onUpdate:modelValue":n[120]||=e=>f.value=e,title:`删除粘贴图片`,width:`440px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:n[118]||=e=>y(!1)},{default:(0,t.withCtx)(()=>[...n[252]||=[(0,t.createTextVNode)(`只删画布元素`,-1)]]),_:1}),(0,t.createVNode)(a,{type:`danger`,onClick:n[119]||=e=>y(!0)},{default:(0,t.withCtx)(()=>[...n[253]||=[(0,t.createTextVNode)(`同时删除服务器图片`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,null,`当前删除中包含 `+(0,t.toDisplayString)(_.value)+` 张已上传的粘贴图片,是否同时删除服务器图片?`,1)]),_:1},8,[`modelValue`])],2)}}}),Oh=v({default:()=>kh}),kh=S(Dh,[[`__scopeId`,`data-v-7d06f17b`]]),Ah=kh,jh=v({default:()=>Mh}),Mh=Ah,Nh={class:`page-container badge-tpl-list`},Ph={class:`badge-tpl-header page-header`},Fh={class:`card-hdr`},Ih={key:0,class:`card-sub`},Lh={key:1,class:`muted`},Rh=(0,t.defineComponent)({__name:`BadgeTemplateListView`,setup(e){let{hostRef:n,tableHeight:r,recalcTableHeight:i}=nd(200),a=(0,o.useRoute)(),s=(0,o.useRouter)(),c=Number(a.params.id),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)([]),f=(0,t.ref)(``),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(!1),g=(0,t.ref)(null);async function _(){try{let e=await hn(c);f.value=e.data?.name||e.data?.title||``}catch{f.value=``}}async function v(){l.value=!0;try{let e=await gn(c);d.value=e.data?.list||[]}catch{d.value=[],Q.error(`加载模板列表失败`)}finally{l.value=!1,(0,t.nextTick)(()=>i())}}function y(){m.value=``,p.value=!0}async function b(){let e=m.value.trim();if(!e){Q.warning(`请填写模板名称`);return}u.value=!0;try{let t=(await _n(c,{name:e})).data?.id;p.value=!1,Q.success(`已创建`),t?s.push(`/fouui/badge/competition/${c}/badge-template/${t}`):await v()}catch(e){Q.error(e?.response?.data?.message||`创建失败`)}finally{u.value=!1}}function x(e){s.push(`/fouui/badge/competition/${c}/badge-template/${e}`)}async function S(e){try{await Sn(c,e),Q.success(`已设为默认套打模板`),await v()}catch(e){Q.error(e?.response?.data?.message||`操作失败`)}}function C(e){g.value=e,h.value=!0}async function w(){let e=g.value;if(e){h.value=!1;try{await xn(c,e.id),Q.success(`已删除`),await v()}catch(e){Q.error(e?.response?.data?.message||`删除失败`)}}}return(0,t.onMounted)(async()=>{if(!Number.isFinite(c)||c<=0){Q.error(`无效的比赛 ID`);return}await _(),await v(),(0,t.nextTick)(()=>i())}),(0,t.onActivated)(()=>(0,t.nextTick)(()=>i())),(e,i)=>{let a=k,o=Vt,s=cl,c=fl,_=al,v=mr,T=va,E=la,D=Si,O=pt,A=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,Nh,[(0,t.createElementVNode)(`div`,Ph,[(0,t.createVNode)(o,{link:``,onClick:i[0]||=t=>e.$router.back()},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{icon:`arrow-left-line`}),i[7]||=(0,t.createTextVNode)(` 证件模板 `,-1)]),_:1})]),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)(v,{class:`main-card table-card table-fill-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Fh,[(0,t.createElementVNode)(`div`,null,[i[8]||=(0,t.createElementVNode)(`div`,{class:`card-title`},`模板列表`,-1),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ih,(0,t.toDisplayString)(f.value),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)(o,{type:`primary`,onClick:y},{default:(0,t.withCtx)(()=>[...i[9]||=[(0,t.createTextVNode)(`新建模板`,-1)]]),_:1})])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`hostRef`,ref:n,class:`table-host`},[(0,t.createVNode)(_,{data:d.value,border:``,stripe:``,height:(0,t.unref)(r)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{prop:`name`,label:`名称`,"min-width":`160`,"show-overflow-tooltip":``}),(0,t.createVNode)(s,{label:`默认套打`,width:`100`,align:`center`},{default:(0,t.withCtx)(({row:e})=>[e.is_default?((0,t.openBlock)(),(0,t.createBlock)(c,{key:0,type:`success`,size:`small`},{default:(0,t.withCtx)(()=>[...i[10]||=[(0,t.createTextVNode)(`默认`,-1)]]),_:1})):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Lh,`—`))]),_:1}),(0,t.createVNode)(s,{prop:`width_mm`,label:`宽 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`height_mm`,label:`高 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`update_time`,label:`更新时间`,width:`180`}),(0,t.createVNode)(s,{label:`操作`,width:`280`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(o,{link:``,type:`primary`,onClick:t=>x(e.id)},{default:(0,t.withCtx)(()=>[...i[11]||=[(0,t.createTextVNode)(`编辑`,-1)]]),_:1},8,[`onClick`]),e.is_default?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,link:``,type:`primary`,onClick:t=>S(e.id)},{default:(0,t.withCtx)(()=>[...i[12]||=[(0,t.createTextVNode)(`设为默认`,-1)]]),_:1},8,[`onClick`])),(0,t.createVNode)(o,{link:``,type:`danger`,onClick:t=>C(e)},{default:(0,t.withCtx)(()=>[...i[13]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])],512)]),_:1})),[[A,l.value]]),(0,t.createVNode)(O,{modelValue:p.value,"onUpdate:modelValue":i[3]||=e=>p.value=e,title:`新建证件模板`,width:`440px`,"destroy-on-close":``,onClosed:i[4]||=e=>m.value=``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[2]||=e=>p.value=!1},{default:(0,t.withCtx)(()=>[...i[14]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`primary`,loading:u.value,onClick:b},{default:(0,t.withCtx)(()=>[...i[15]||=[(0,t.createTextVNode)(`保存并制作`,-1)]]),_:1},8,[`loading`])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(D,{"label-width":`88px`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(E,{label:`模板名称`,required:``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(T,{modelValue:m.value,"onUpdate:modelValue":i[1]||=e=>m.value=e,placeholder:`保存后将进入空白画布开始编排`,maxlength:`120`,"show-word-limit":``,onKeyup:(0,t.withKeys)(b,[`enter`])},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),(0,t.createVNode)(O,{modelValue:h.value,"onUpdate:modelValue":i[6]||=e=>h.value=e,title:`删除确认`,width:`400px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[5]||=e=>h.value=!1},{default:(0,t.withCtx)(()=>[...i[16]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`danger`,onClick:w},{default:(0,t.withCtx)(()=>[...i[17]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,null,`确定删除模板「`+(0,t.toDisplayString)(g.value?.name||`未命名`)+`」吗?`,1)]),_:1},8,[`modelValue`])])}}}),zh=v({default:()=>Bh}),Bh=S(Rh,[[`__scopeId`,`data-v-2c5490c9`]]),Vh={class:`page-container desk-tpl-list`},Hh={class:`desk-tpl-header page-header`},Uh={class:`card-hdr`},Wh={key:0,class:`card-sub`},Gh={key:1,class:`muted`},Kh=(0,t.defineComponent)({__name:`DeskLabelTemplateListView`,setup(e){let{hostRef:n,tableHeight:r,recalcTableHeight:i}=nd(200),a=(0,o.useRoute)(),s=(0,o.useRouter)(),c=Number(a.params.id),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)([]),f=(0,t.ref)(``),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(!1),g=(0,t.ref)(null);async function _(){try{let e=await hn(c);f.value=e.data?.name||e.data?.title||``}catch{f.value=``}}async function v(){l.value=!0;try{let e=await Cn(c);d.value=e.data?.list||[]}catch{d.value=[],Q.error(`加载模板列表失败`)}finally{l.value=!1,(0,t.nextTick)(()=>i())}}function y(){m.value=``,p.value=!0}async function b(){let e=m.value.trim();if(!e){Q.warning(`请填写模板名称`);return}u.value=!0;try{let t=(await wn(c,{name:e})).data?.id;p.value=!1,Q.success(`已创建`),t?s.push(`/fouui/badge/competition/${c}/desk-label-template/${t}`):await v()}catch(e){Q.error(e?.response?.data?.msg||e?.response?.data?.message||`创建失败`)}finally{u.value=!1}}function x(e){s.push(`/fouui/badge/competition/${c}/desk-label-template/${e}`)}async function S(e){try{await kn(c,e),Q.success(`已设为默认模板`),await v()}catch(e){Q.error(e?.response?.data?.msg||e?.response?.data?.message||`操作失败`)}}function C(e){g.value=e,h.value=!0}async function w(){let e=g.value;if(e){h.value=!1;try{await On(c,e.id),Q.success(`已删除`),await v()}catch(e){Q.error(e?.response?.data?.msg||e?.response?.data?.message||`删除失败`)}}}return(0,t.onMounted)(async()=>{if(!Number.isFinite(c)||c<=0){Q.error(`无效的比赛 ID`);return}await _(),await v(),(0,t.nextTick)(()=>i())}),(0,t.onActivated)(()=>(0,t.nextTick)(()=>i())),(e,i)=>{let a=k,o=Vt,s=cl,c=fl,_=al,v=mr,T=va,E=la,D=Si,O=pt,A=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vh,[(0,t.createElementVNode)(`div`,Hh,[(0,t.createVNode)(o,{link:``,onClick:i[0]||=t=>e.$router.back()},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{icon:`arrow-left-line`}),i[7]||=(0,t.createTextVNode)(` 桌面贴模板 `,-1)]),_:1})]),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)(v,{class:`main-card table-card table-fill-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Uh,[(0,t.createElementVNode)(`div`,null,[i[8]||=(0,t.createElementVNode)(`div`,{class:`card-title`},`模板列表`,-1),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wh,(0,t.toDisplayString)(f.value),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)(o,{type:`primary`,onClick:y},{default:(0,t.withCtx)(()=>[...i[9]||=[(0,t.createTextVNode)(`新建模板`,-1)]]),_:1})])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`hostRef`,ref:n,class:`table-host`},[(0,t.createVNode)(_,{data:d.value,border:``,stripe:``,height:(0,t.unref)(r)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{prop:`name`,label:`名称`,"min-width":`160`,"show-overflow-tooltip":``}),(0,t.createVNode)(s,{label:`默认`,width:`100`,align:`center`},{default:(0,t.withCtx)(({row:e})=>[e.is_default?((0,t.openBlock)(),(0,t.createBlock)(c,{key:0,type:`success`,size:`small`},{default:(0,t.withCtx)(()=>[...i[10]||=[(0,t.createTextVNode)(`默认`,-1)]]),_:1})):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Gh,`—`))]),_:1}),(0,t.createVNode)(s,{prop:`width_mm`,label:`宽 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`height_mm`,label:`高 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`update_time`,label:`更新时间`,width:`180`}),(0,t.createVNode)(s,{label:`操作`,width:`280`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(o,{link:``,type:`primary`,onClick:t=>x(e.id)},{default:(0,t.withCtx)(()=>[...i[11]||=[(0,t.createTextVNode)(`编辑`,-1)]]),_:1},8,[`onClick`]),e.is_default?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,link:``,type:`primary`,onClick:t=>S(e.id)},{default:(0,t.withCtx)(()=>[...i[12]||=[(0,t.createTextVNode)(`设为默认`,-1)]]),_:1},8,[`onClick`])),(0,t.createVNode)(o,{link:``,type:`danger`,onClick:t=>C(e)},{default:(0,t.withCtx)(()=>[...i[13]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])],512)]),_:1})),[[A,l.value]]),(0,t.createVNode)(O,{modelValue:p.value,"onUpdate:modelValue":i[3]||=e=>p.value=e,title:`新建桌面贴模板`,width:`440px`,"destroy-on-close":``,onClosed:i[4]||=e=>m.value=``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[2]||=e=>p.value=!1},{default:(0,t.withCtx)(()=>[...i[14]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`primary`,loading:u.value,onClick:b},{default:(0,t.withCtx)(()=>[...i[15]||=[(0,t.createTextVNode)(`保存并制作`,-1)]]),_:1},8,[`loading`])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(D,{"label-width":`88px`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(E,{label:`模板名称`,required:``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(T,{modelValue:m.value,"onUpdate:modelValue":i[1]||=e=>m.value=e,placeholder:`保存后将进入空白画布开始编排`,maxlength:`120`,"show-word-limit":``,onKeyup:(0,t.withKeys)(b,[`enter`])},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),(0,t.createVNode)(O,{modelValue:h.value,"onUpdate:modelValue":i[6]||=e=>h.value=e,title:`删除确认`,width:`400px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[5]||=e=>h.value=!1},{default:(0,t.withCtx)(()=>[...i[16]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`danger`,onClick:w},{default:(0,t.withCtx)(()=>[...i[17]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,null,`确定删除模板「`+(0,t.toDisplayString)(g.value?.name||`未命名`)+`」吗?`,1)]),_:1},8,[`modelValue`])])}}}),qh=v({default:()=>Jh}),Jh=S(Kh,[[`__scopeId`,`data-v-726e851f`]]),Yh={class:`page-container desk-label-page`},Xh={class:`label-grid`},Zh={class:`label-seat`},Qh={class:`label-name`},$h={class:`label-school`},eg={class:`toolbar-pdf`},tg={class:`paper-config`},ng={class:`paper-config-block`},rg={class:`paper-config-block`},ig={key:0,class:`paper-config-desc`},ag={class:`paper-config-block`},og={class:`paper-inline-row`},sg={class:`paper-config-desc`},cg={class:`pdf-dialog-body`},lg={class:`simple-seat`},ug={class:`simple-name`},dg={class:`simple-school`},fg={class:`simple-no`},pg=0,mg=2,hg=(0,t.defineComponent)({__name:`DeskLabelView`,setup(e){let n=(0,o.useRouter)(),r=(0,t.ref)(0),i=(0,t.ref)([]),a=(0,t.ref)({}),s=(0,t.ref)(``),c=(0,t.ref)(!1),l=(0,t.ref)([]),u=(0,t.computed)(()=>i.value.map(e=>({label:e.name,value:e.id}))),d=(0,t.computed)(()=>l.value.map(e=>({label:e.is_default?`${e.name}(默认)`:e.name,value:e.id}))),f=(0,t.ref)(),p=(0,t.ref)(null),m=(0,t.ref)(!1),h=(0,t.ref)(`a4`),g=(0,t.ref)(`portrait`),_=(0,t.ref)(2),v=(0,t.ref)(2),y=(0,t.ref)(!1),b=(0,t.ref)(!1),x=(0,t.ref)(!1),S=(0,t.ref)(null),C=(0,t.ref)(null),w=(0,t.ref)([]),T=(0,t.computed)(()=>{let e=p.value,t=Number(e?.canvas?.widthMm||90),n=Number(e?.canvas?.heightMm||50),r=t*96/25.4,i=n*96/25.4;return Math.min(1,180/r,120/i)});async function E(){if(!r.value){l.value=[],f.value=void 0,p.value=null;return}c.value=!0;try{let e=(await Cn(r.value)).data?.list||[];l.value=e;let t=Number(f.value||0),n=t>0?e.find(e=>Number(e.id)===t):null,i=e.find(e=>!!e.is_default);f.value=n?t:i?.id?Number(i.id):e[0]?.id?Number(e[0].id):void 0,await D()}catch{l.value=[],f.value=void 0,p.value=null,Q.error(`加载桌面贴模板失败`)}finally{c.value=!1}}async function D(){if(!r.value){p.value=null;return}try{let e=(f.value?await Tn(r.value,Number(f.value)):await En(r.value)).data?.template_json;if(e&&typeof e==`object`&&Array.isArray(e.elements)){p.value=e;return}}catch{}p.value=null}let O=async()=>{if(r.value)try{await D();let e=await Ln(r.value);a.value=e.data||{}}catch{a.value={}}},k=async()=>{a.value={},C.value=null,w.value=[];let e=i.value.find(e=>e.id===r.value);s.value=e?.name||``,await E()},A=async()=>{await D()},j=()=>{r.value&&n.push(`/fouui/badge/competition/${r.value}/desk-label-templates`)};function M(){let e=[],t=Object.keys(a.value).sort((e,t)=>String(e).localeCompare(String(t),`zh-CN`));for(let n of t){let t=[...a.value[n]||[]].sort((e,t)=>{let n=Number(String(e?.seat_no??``).replace(/\D/g,``))||0,r=Number(String(t?.seat_no??``).replace(/\D/g,``))||0;return n===r?String(e?.student_name??``).localeCompare(String(t?.student_name??``),`zh-CN`):n-r});for(let n of t)e.push({...n})}return e}let N={a4:{w:210,h:297},a3:{w:297,h:420}},P=(0,t.computed)(()=>h.value===`custom`),F=(0,t.computed)(()=>{if(P.value)return{w:Number(C.value?.canvas?.widthMm??p.value?.canvas?.widthMm??90),h:Number(C.value?.canvas?.heightMm??p.value?.canvas?.heightMm??50)};let e=N[h.value===`a3`?`a3`:`a4`];return g.value===`landscape`?{w:e.h,h:e.w}:e}),I=(0,t.computed)(()=>({w:Number(C.value?.canvas?.widthMm??p.value?.canvas?.widthMm??90),h:Number(C.value?.canvas?.heightMm??p.value?.canvas?.heightMm??50)})),L=(0,t.computed)(()=>{let e=F.value,t=I.value;if(P.value)return{page:e,requestedCols:1,maxCols:1,cols:1,rowsPerPage:1,perPage:1,usableW:e.w,usableH:e.h,fitsWidth:!0,fitsHeight:!0,labelW:t.w,labelH:t.h,blockW:t.w};let n=Math.max(1,Number(v.value||1)),r=Math.max(1,e.w-0),i=Math.max(1,e.h-0),a=t.w<=r,o=t.h<=i,s=Math.max(1,Math.floor((r+mg)/(t.w+mg))),c=Math.min(n,s),l=Math.max(1,Math.floor((i+mg)/(t.h+mg)));return{page:e,requestedCols:n,maxCols:s,cols:c,rowsPerPage:l,perPage:c*l,usableW:r,usableH:i,fitsWidth:a,fitsHeight:o,labelW:t.w,labelH:t.h,blockW:c*t.w+Math.max(0,c-1)*mg}}),R=(0,t.computed)(()=>1),ee=(0,t.computed)(()=>{let e=L.value.perPage,t=w.value,n=[];for(let r=0;r<t.length;r+=e)n.push(t.slice(r,r+e));return n}),z=(0,t.computed)(()=>({width:`${L.value.page.w}mm`})),B=(0,t.computed)(()=>({width:`${L.value.page.w}mm`,height:`${L.value.page.h}mm`,padding:`${pg}mm`,boxSizing:`border-box`}));function V(e){let{cols:t,labelW:n,labelH:r}=L.value,i=Math.max(1,Math.ceil(Math.max(1,e||1)/t)),a=t*n+(t-1)*mg,o=i*r+(i-1)*mg;return{display:`grid`,gridTemplateColumns:`repeat(${t}, ${n}mm)`,gridAutoRows:`${r}mm`,gap:`${mg}mm`,width:`${a}mm`,height:`${o}mm`,boxSizing:`border-box`}}let H=(0,t.computed)(()=>{let{labelW:e,labelH:t}=L.value;return{width:`${e}mm`,height:`${t}mm`,boxSizing:`border-box`,overflow:`hidden`}}),te=()=>{if(!r.value||!Object.keys(a.value).length){Q.warning(`请先加载桌面贴数据`);return}h.value=`a4`,g.value=`portrait`,_.value=2,v.value=2,m.value=!0},ne=async()=>{if(r.value){m.value=!1,b.value=!0,y.value=!0,C.value=null,w.value=[];try{let e=M(),n=(f.value?await Tn(r.value,Number(f.value)):await En(r.value)).data?.template_json;if(n&&typeof n==`object`&&Array.isArray(n.elements)&&n.elements.length&&(C.value=n),w.value=e.map(e=>Nu(e,s.value)),await(0,t.nextTick)(),!L.value.fitsWidth||!L.value.fitsHeight){y.value=!1,Q.warning(`当前桌面贴尺寸 ${I.value.w} x ${I.value.h} mm 已超出 ${h.value.toUpperCase()}${g.value===`landscape`?`横向`:`纵向`} 纸张尺寸,请调整模板尺寸或改用更大纸张`);return}if(L.value.requestedCols>L.value.maxCols){y.value=!1,Q.warning(`${h.value.toUpperCase()}${g.value===`landscape`?`横向`:`纵向`} 最多每行显示 ${L.value.maxCols} 个桌面贴,请调整后重试`);return}}catch{w.value=M().map(e=>Nu(e,s.value))}finally{b.value=!1}}},re=async()=>{await(0,t.nextTick)()},ie=async()=>{let e=S.value;if(!(!e||!w.value.length)){x.value=!0;try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200));let n=`桌面贴_${s.value||r.value}.pdf`;await Yu(Array.from(e.querySelectorAll(`.pdf-page`)),n,{size:h.value,orientation:g.value,widthMm:F.value.w,heightMm:F.value.h})}finally{x.value=!1}}},ae=async()=>{let e=S.value;if(!(!e||!w.value.length))try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200)),await Xu(Array.from(e.querySelectorAll(`.pdf-page`)),`桌面贴_${s.value||r.value}`,{size:h.value,orientation:g.value,widthMm:F.value.w,heightMm:F.value.h})}catch(e){Q.error(e instanceof Error?e.message:`打印失败`)}};return(0,t.onMounted)(async()=>{try{let e=await mn({page_size:200});i.value=e.data?.data||[]}catch{i.value=[]}}),(0,t.watch)(_,e=>{P.value||e>0&&(v.value=e)}),(0,t.watch)(v,e=>{if(P.value){v.value!==1&&(v.value=1),_.value!==1&&(_.value=1);return}let t=Math.max(1,Number(e||1));if(t!==e){v.value=t;return}_.value=[1,2,3].includes(t)?t:0}),(0,t.watch)(h,e=>{e===`custom`&&(g.value=`portrait`,_.value=1,v.value=1)}),(e,n)=>{let i=ia,o=la,l=Vt,E=Si,D=mr,M=Pt,N=qi,F=Vi,I=yi,L=pt,oe=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,Yh,[(0,t.createVNode)(D,{class:`filter-card`,shadow:`never`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(E,{inline:!0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{label:`选择比赛`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,placeholder:`选择比赛`,style:{width:`320px`},options:u.value,onChange:k},null,8,[`modelValue`,`options`])]),_:1}),(0,t.createVNode)(o,{label:`桌面贴模板`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{modelValue:f.value,"onUpdate:modelValue":n[1]||=e=>f.value=e,clearable:``,placeholder:`默认模板`,style:{width:`260px`},disabled:!r.value||c.value,options:d.value,onChange:A},null,8,[`modelValue`,`disabled`,`options`])]),_:1}),(0,t.createVNode)(o,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{type:`primary`,disabled:!r.value,onClick:O},{default:(0,t.withCtx)(()=>[...n[10]||=[(0,t.createTextVNode)(`加载桌面贴数据`,-1)]]),_:1},8,[`disabled`])]),_:1}),r.value?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{onClick:j},{default:(0,t.withCtx)(()=>[...n[11]||=[(0,t.createTextVNode)(`桌面贴模板`,-1)]]),_:1})]),_:1})):(0,t.createCommentVNode)(``,!0)]),_:1})]),_:1}),Object.keys(a.value).length?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(D,{key:String(n),style:{"margin-bottom":`16px`}},{header:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(n),1)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Xh,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`label-card`,key:`${n}-${e.seat_no}`},[p.value?.elements?.length?((0,t.openBlock)(),(0,t.createBlock)(ii,{key:0,doc:p.value,"merge-data":(0,t.unref)(Nu)(e,s.value),"screen-scale":T.value},null,8,[`doc`,`merge-data`,`screen-scale`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,Zh,(0,t.toDisplayString)(e.seat_no)+`号`,1),(0,t.createElementVNode)(`div`,Qh,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,$h,(0,t.toDisplayString)(e.school_name),1)],64))]))),128))])]),_:2},1024))),128)),(0,t.createElementVNode)(`div`,eg,[(0,t.createVNode)(l,{type:`primary`,disabled:!r.value,onClick:te},{default:(0,t.withCtx)(()=>[...n[12]||=[(0,t.createTextVNode)(`生成预览与 PDF`,-1)]]),_:1},8,[`disabled`])])],64)):((0,t.openBlock)(),(0,t.createBlock)(M,{key:1,description:`请选择比赛并加载桌面贴`})),(0,t.createVNode)(L,{modelValue:m.value,"onUpdate:modelValue":n[7]||=e=>m.value=e,title:`预览排版设置`,width:`520px`,"destroy-on-close":``,"align-center":``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{onClick:n[6]||=e=>m.value=!1},{default:(0,t.withCtx)(()=>[...n[25]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(l,{type:`primary`,onClick:ne},{default:(0,t.withCtx)(()=>[...n[26]||=[(0,t.createTextVNode)(`下一步:整版预览`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[n[27]||=(0,t.createElementVNode)(`p`,{class:`paper-tip`},`导出整版 PDF 前请选择纸张模式。可按 A4/A3 排版,也可直接按模板实际尺寸生成。预览、下载 PDF、打印都会使用这套排版设置。`,-1),(0,t.createElementVNode)(`div`,tg,[(0,t.createElementVNode)(`div`,ng,[n[16]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`纸张尺寸`,-1),(0,t.createVNode)(F,{modelValue:h.value,"onUpdate:modelValue":n[2]||=e=>h.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(N,{label:`a4`},{default:(0,t.withCtx)(()=>[...n[13]||=[(0,t.createTextVNode)(`A4`,-1)]]),_:1}),(0,t.createVNode)(N,{label:`a3`},{default:(0,t.withCtx)(()=>[...n[14]||=[(0,t.createTextVNode)(`A3`,-1)]]),_:1}),(0,t.createVNode)(N,{label:`custom`},{default:(0,t.withCtx)(()=>[...n[15]||=[(0,t.createTextVNode)(`按模板尺寸`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),(0,t.createElementVNode)(`div`,rg,[n[19]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`打印方向`,-1),(0,t.createVNode)(F,{modelValue:g.value,"onUpdate:modelValue":n[3]||=e=>g.value=e,disabled:P.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(N,{label:`portrait`},{default:(0,t.withCtx)(()=>[...n[17]||=[(0,t.createTextVNode)(`纵向`,-1)]]),_:1}),(0,t.createVNode)(N,{label:`landscape`},{default:(0,t.withCtx)(()=>[...n[18]||=[(0,t.createTextVNode)(`横向`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),P.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ig,`按模板尺寸生成时,页面宽高直接取模板设置,方向无需单独选择。`)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,ag,[n[24]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`每行显示`,-1),(0,t.createElementVNode)(`div`,og,[(0,t.createVNode)(F,{modelValue:_.value,"onUpdate:modelValue":n[4]||=e=>_.value=e,disabled:P.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(N,{label:1},{default:(0,t.withCtx)(()=>[...n[20]||=[(0,t.createTextVNode)(`1个`,-1)]]),_:1}),(0,t.createVNode)(N,{label:2},{default:(0,t.withCtx)(()=>[...n[21]||=[(0,t.createTextVNode)(`2个`,-1)]]),_:1}),(0,t.createVNode)(N,{label:3},{default:(0,t.withCtx)(()=>[...n[22]||=[(0,t.createTextVNode)(`3个`,-1)]]),_:1}),(0,t.createVNode)(N,{label:0},{default:(0,t.withCtx)(()=>[...n[23]||=[(0,t.createTextVNode)(`自定义`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),(0,t.createVNode)(I,{modelValue:v.value,"onUpdate:modelValue":n[5]||=e=>v.value=e,min:1,max:12,"controls-position":`right`,style:{width:`120px`},disabled:P.value},null,8,[`modelValue`,`disabled`])]),(0,t.createElementVNode)(`div`,sg,(0,t.toDisplayString)(P.value?`按模板尺寸生成时固定为每页 1 个桌面贴。`:`只控制每行显示几个桌面贴;每页行数会按纸张高度自动计算。`),1)])])]),_:1},8,[`modelValue`]),(0,t.createVNode)(L,{modelValue:y.value,"onUpdate:modelValue":n[9]||=e=>y.value=e,title:`桌面贴整版预览 — ${s.value||``}`,width:`96%`,top:`2vh`,"destroy-on-close":``,class:`pdf-preview-dialog`,onOpened:re},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{disabled:!w.value.length,onClick:ae},{default:(0,t.withCtx)(()=>[...n[28]||=[(0,t.createTextVNode)(`打印整版`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(l,{onClick:n[8]||=e=>y.value=!1},{default:(0,t.withCtx)(()=>[...n[29]||=[(0,t.createTextVNode)(`关闭`,-1)]]),_:1}),(0,t.createVNode)(l,{type:`primary`,loading:x.value,disabled:!w.value.length,onClick:ie},{default:(0,t.withCtx)(()=>[...n[30]||=[(0,t.createTextVNode)(` 下载 PDF `,-1)]]),_:1},8,[`loading`,`disabled`])]),default:(0,t.withCtx)(()=>[(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,cg,[(0,t.createElementVNode)(`div`,{ref_key:`pdfExportRoot`,ref:S,class:`pdf-export-root`,style:(0,t.normalizeStyle)(z.value)},[C.value?.elements?.length&&w.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(ee.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-page`,style:(0,t.normalizeStyle)(B.value)},[(0,t.createElementVNode)(`div`,{class:`pdf-page-grid`,style:(0,t.normalizeStyle)(V(e.length))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${n}-${r}`,class:`pdf-cell`,style:(0,t.normalizeStyle)(H.value)},[(0,t.createVNode)(ii,{doc:C.value,"merge-data":e,"screen-scale":R.value},null,8,[`doc`,`merge-data`,`screen-scale`])],4))),128))],4)],4))),128)):w.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(ee.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-page`,style:(0,t.normalizeStyle)(B.value)},[(0,t.createElementVNode)(`div`,{class:`pdf-page-grid`,style:(0,t.normalizeStyle)(V(e.length))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${n}-${r}`,class:`pdf-cell simple`,style:(0,t.normalizeStyle)(H.value)},[(0,t.createElementVNode)(`div`,lg,(0,t.toDisplayString)(e.seat_no)+`号`,1),(0,t.createElementVNode)(`div`,ug,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,dg,(0,t.toDisplayString)(e.school_name),1),(0,t.createElementVNode)(`div`,fg,(0,t.toDisplayString)(e.competition_no),1)],4))),128))],4)],4))),128)):(0,t.createCommentVNode)(``,!0)],4)])),[[oe,b.value]])]),_:1},8,[`modelValue`,`title`])])}}}),gg=v({default:()=>_g}),_g=S(hg,[[`__scopeId`,`data-v-6ad7759b`]]),vg=(0,t.defineComponent)({name:`FouBadgeDot`,__name:`index`,props:{value:{default:``},max:{default:99},isDot:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>{if(n.isDot)return null;let e=n.value;if(e===``||e==null)return null;let t=Number(e);return!Number.isNaN(t)&&t>n.max?`${n.max}+`:String(e)});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-badge-dot`,{"is-dot":e.isDot}])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),!e.hidden&&(e.isDot||(0,t.unref)(r)!==null)?((0,t.openBlock)(),(0,t.createElementBlock)(`sup`,{key:0,class:(0,t.normalizeClass)([`fou-badge-dot__content`,{"is-dot":e.isDot,"is-fixed":!!n.$slots.default}])},[e.isDot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(r)),1)],64))],2)):(0,t.createCommentVNode)(``,!0)],2))}}),yg=v({default:()=>bg}),bg=S(vg,[[`__scopeId`,`data-v-e4bd07d4`]]),xg={class:`fou-banner__track`},Sg=[`onClick`],Cg=[`src`,`title`],wg=[`innerHTML`],Tg=[`src`,`alt`],Eg={key:1,class:`fou-banner__content`},Dg=[`innerHTML`],Og={key:1,class:`fou-banner__desc`},kg={key:2,class:`fou-banner__actions`},Ag=[`onClick`],jg={key:0,class:`fou-banner__indicators`},Mg=[`onClick`],Ng=(0,t.defineComponent)({name:`FouBanner`,__name:`index`,props:{items:{default:()=>[]},modelValue:{default:0},height:{default:`420px`},autoplay:{type:Boolean,default:!0},interval:{default:5e3},arrow:{default:`hover`},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`action`,`click`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.computed)(()=>i.items||[]),s=(0,t.computed)({get:()=>{let e=o.value.length;return e?((i.modelValue??0)%e+e)%e:0},set:e=>{a(`update:modelValue`,e),a(`change`,e)}}),c=(0,t.computed)(()=>({height:typeof i.height==`number`?`${i.height}px`:i.height})),l=e=>!!(e.title?.trim()||e.description?.trim()||e.actions?.length),u=null,d=e=>{o.value.length&&(s.value=e,g())},f=()=>{let e=o.value.length;e&&(s.value>=e-1?s.value=i.loop?0:e-1:s.value+=1,g())},p=()=>{let e=o.value.length;e&&(s.value<=0?s.value=i.loop?e-1:0:--s.value,g())},m=()=>{h(),!(!i.autoplay||o.value.length<=1)&&(u=setInterval(()=>f(),i.interval))},h=()=>{u&&=(clearInterval(u),null)},g=()=>{i.autoplay&&m()},_=()=>h(),v=()=>m(),y=(e,t)=>{a(`action`,e,t);let n=e.href||e.url||e.route;n&&typeof window<`u`&&(/^https?:\/\//i.test(n)?window.open(n,`_blank`):window.location.assign(n))},b=(e,t)=>{t.target?.closest(`button,a`)||(a(`click`,e),e.link&&(/^https?:\/\//i.test(e.link)?window.open(e.link,`_blank`):window.location.assign(e.link)))};return(0,t.watch)(()=>[i.autoplay,i.interval,o.value.length],()=>m(),{immediate:!0}),(0,t.onBeforeUnmount)(h),n({next:f,prev:p,go:d}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-banner`,style:(0,t.normalizeStyle)((0,t.unref)(c)),onMouseenter:_,onMouseleave:v},[(0,t.createElementVNode)(`div`,xg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:(0,t.normalizeClass)([`fou-banner__slide`,{"is-active":n===(0,t.unref)(s),"is-linked":!!e.link}]),onClick:t=>b(e,t)},[e.type===`iframe`||e.src?((0,t.openBlock)(),(0,t.createElementBlock)(`iframe`,{key:0,class:`fou-banner__iframe`,src:e.src||e.html,title:e.title||`banner-${n}`,frameborder:`0`,allowfullscreen:``},null,8,Cg)):e.type===`html`||e.html?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-banner__html`,innerHTML:e.html},null,8,wg)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.image?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,class:`fou-banner__image`,src:e.image,alt:e.title||``},null,8,Tg)):(0,t.createCommentVNode)(``,!0),r[0]||=(0,t.createElementVNode)(`div`,{class:`fou-banner__mask`},null,-1),l(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Eg,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-banner__title`,innerHTML:e.title},null,8,Dg)):(0,t.createCommentVNode)(``,!0),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Og,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0),e.actions?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.actions,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:r,type:`button`,class:(0,t.normalizeClass)([`fou-banner__btn`,n.type||`primary`]),onClick:(0,t.withModifiers)(t=>y(n,e),[`stop`])},(0,t.toDisplayString)(n.text),11,Ag))),128))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],64))],10,Sg))),128))]),(0,t.unref)(o).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-banner__dot`,{"is-active":n===(0,t.unref)(s)}]),onClick:(0,t.withModifiers)(e=>d(n),[`stop`])},null,10,Mg))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(o).length>1&&e.arrow!==`never`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-banner__nav fou-banner__nav--prev`,"aria-label":`prev`,onClick:(0,t.withModifiers)(p,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-left-s-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(o).length>1&&e.arrow!==`never`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-banner__nav fou-banner__nav--next`,"aria-label":`next`,onClick:(0,t.withModifiers)(f,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-right-s-line`})])):(0,t.createCommentVNode)(``,!0)],36)}}}),Pg=v({default:()=>Fg}),Fg=S(Ng,[[`__scopeId`,`data-v-d725c76c`]]),Ig=Symbol(`FouBreadcrumb`),Lg=[`href`],Rg=[`aria-current`],zg={key:2,class:`fou-breadcrumb-item__separator`,"aria-hidden":`true`},Bg=(0,t.defineComponent)({name:`FouBreadcrumbItem`,__name:`FouBreadcrumbItem`,props:{to:{},replace:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(Ig,null),i=(0,t.computed)(()=>!!r&&!n.disabled),a=(()=>{try{return(0,o.useRouter)()}catch{return null}})(),s=(0,t.computed)(()=>n.to!==void 0&&n.to!==null&&n.to!==``),c=(0,t.computed)(()=>{if(s.value)try{return a?.resolve(n.to).href}catch{return typeof n.to==`string`?n.to:void 0}}),l=()=>{if(!(n.disabled||!s.value)){if(!a){typeof n.to==`string`&&window.location.assign(n.to);return}(n.replace?a.replace(n.to):a.push(n.to)).catch(()=>{})}};return(n,a)=>{let o=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-breadcrumb-item`,{"is-link":(0,t.unref)(s),"is-disabled":e.disabled}])},[(0,t.unref)(s)&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`a`,{key:0,class:`fou-breadcrumb-item__inner`,href:(0,t.unref)(c),onClick:(0,t.withModifiers)(l,[`prevent`])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],8,Lg)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:`fou-breadcrumb-item__inner`,"aria-current":e.disabled?`page`:void 0},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],8,Rg)),(0,t.unref)(i)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,zg,[(0,t.unref)(r)?.separatorIcon.value?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,icon:(0,t.unref)(r).separatorIcon.value},null,8,[`icon`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(r)?.separator.value),1)],64))])):(0,t.createCommentVNode)(``,!0)],2)}}}),Vg=v({default:()=>Hg}),Hg=S(Bg,[[`__scopeId`,`data-v-2ba3ecee`]]),Ug=[`aria-label`],Wg={class:`fou-breadcrumb__list`},Gg=(0,t.defineComponent)({name:`FouBreadcrumb`,__name:`index`,props:{separator:{default:`/`},separatorIcon:{default:``},items:{default:()=>[]},auto:{type:Boolean,default:!1},ariaLabel:{default:`面包屑`}},setup(e){let n=e;(0,t.provide)(Ig,{separator:(0,t.computed)(()=>n.separator),separatorIcon:(0,t.computed)(()=>n.separatorIcon)});let r=(()=>{try{return(0,o.useRoute)()}catch{return null}})(),i=(0,t.computed)(()=>n.items?.length?n.items:!n.auto||!r?[]:r.matched.filter(e=>e.meta?.title||e.meta?.breadcrumb||e.name).map(e=>({label:String(e.meta?.breadcrumb||e.meta?.title||e.name||``),to:e.name?{name:e.name,params:r.params,query:r.query}:void 0})).filter(e=>e.label));return(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{class:`fou-breadcrumb`,"aria-label":e.ariaLabel},[(0,t.createElementVNode)(`ol`,Wg,[(0,t.unref)(i).length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)((0,t.unref)(i),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${e.label}-${n}`,class:`fou-breadcrumb__item`},[(0,t.createVNode)(Hg,{to:e.to,replace:e.replace,disabled:e.disabled||n===(0,t.unref)(i).length-1},{default:(0,t.withCtx)(()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,icon:e.icon,class:`fou-breadcrumb__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.label),1)]),_:2},1032,[`to`,`replace`,`disabled`])]))),128)):(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0,1)])],8,Ug)}}}),Kg=v({default:()=>qg}),qg=S(Gg,[[`__scopeId`,`data-v-bd048de6`]]),Jg={class:`fou-calendar__header`},Yg={class:`fou-calendar__title`},Xg={class:`fou-calendar__actions`},Zg={key:0,class:`fou-calendar__week`},Qg={key:1,class:`fou-calendar__grid fou-calendar__grid--day`},$g=[`disabled`,`onClick`],e_={class:`fou-calendar__solar`},t_={key:1,class:`fou-calendar__marks`},n_={key:2,class:`fou-calendar__grid fou-calendar__grid--month`},r_=[`onClick`],i_=(0,t.defineComponent)({name:`FouCalendar`,__name:`index`,props:{modelValue:{},showLunar:{type:Boolean,default:!0},firstDayOfWeek:{default:0},disabledDate:{},marks:{default:()=>[]},range:{}},emits:[`update:modelValue`,`input`,`change`,`panel-change`],setup(e,{emit:n}){let r=e,i=n,o=[`日`,`一`,`二`,`三`,`四`,`五`,`六`],s=[`一月`,`二月`,`三月`,`四月`,`五月`,`六月`,`七月`,`八月`,`九月`,`十月`,`十一月`,`十二月`],c=new Date,l=(0,t.ref)(`month`),u=(0,t.ref)(c.getFullYear()),d=(0,t.ref)(c.getMonth()),f=e=>{if(e==null||e===``)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;let t=new Date(e);return Number.isNaN(t.getTime())?null:t},p=(0,t.computed)(()=>f(r.modelValue)||c),m=(0,t.computed)(()=>new Date(u.value,d.value,1)),h=(0,t.computed)(()=>{let e=(r.firstDayOfWeek%7+7)%7;return[...o.slice(e),...o.slice(0,e)]}),g=(0,t.computed)(()=>l.value===`year`?`${u.value} 年`:`${u.value} 年 ${d.value+1} 月`),_=(e,t)=>!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),v=(e,t)=>!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth(),y=e=>`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`,b=new Map,x=e=>{try{let t=y(e);if(b.has(t))return b.get(t);let n=a.Solar.fromYmd(e.getFullYear(),e.getMonth()+1,e.getDate()),r=n.getLunar(),i=[...r.getFestivals(),...n.getFestivals()],o=r.getJieQi(),s=r.getDayInChinese(),c=``;i.length?(c=i[0],s=c):o?(c=o,s=o):r.getDay()===1&&(s=`${r.getMonthInChinese()}月`);let l={label:s,festival:c||void 0};return b.set(t,l),l}catch{return{label:``}}},S=(0,t.computed)(()=>{if(!r.range?.length)return null;let e=f(r.range[0]),t=f(r.range[1]);return!e||!t?null:e.getTime()<=t.getTime()?[e,t]:[t,e]}),C=(0,t.computed)(()=>{let e=new Map;return r.marks.forEach(t=>{let n=f(t.date);if(!n)return;let r=y(n),i=e.get(r)||[];i.push(t),e.set(r,i)}),e}),w=(0,t.computed)(()=>{let e=u.value,t=d.value,n=(new Date(e,t,1).getDay()-(r.firstDayOfWeek%7+7)%7+7)%7,i=new Date(e,t+1,0).getDate(),a=[],o=S.value,s=o?new Date(o[0].getFullYear(),o[0].getMonth(),o[0].getDate()).getTime():0,l=o?new Date(o[1].getFullYear(),o[1].getMonth(),o[1].getDate(),23,59,59,999).getTime():0,f=(e,t)=>{let n=e.getTime();a.push({key:y(e),date:e,day:e.getDate(),inMonth:t,disabled:r.disabledDate?.(e)??!1,selected:_(e,p.value),isToday:_(e,c),inRange:o?n>=s&&n<=l:!1,lunar:x(e),marks:C.value.get(y(e))||[]})};for(let r=0;r<n;r++)f(new Date(e,t,-n+r+1),!1);for(let n=1;n<=i;n++)f(new Date(e,t,n),!0);for(;a.length%7!=0;){let e=a[a.length-1].date;f(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1),!1)}return a}),T=e=>({"is-other-month":!e.inMonth,"is-disabled":e.disabled,"is-selected":e.selected,"is-today":e.isToday,"is-in-range":e.inRange}),E=e=>{r.disabledDate?.(e)||(u.value=e.getFullYear(),d.value=e.getMonth(),i(`update:modelValue`,e),i(`input`,e),i(`change`,e))},D=e=>{d.value=e,l.value=`month`,i(`panel-change`,m.value,`month`)},O=e=>{if(l.value===`year`)u.value+=e;else{let t=new Date(u.value,d.value+e,1);u.value=t.getFullYear(),d.value=t.getMonth()}i(`panel-change`,m.value,l.value)},k=()=>{u.value=c.getFullYear(),d.value=c.getMonth(),E(new Date(c.getFullYear(),c.getMonth(),c.getDate()))};return(0,t.watch)(()=>r.modelValue,e=>{let t=f(e);t&&(u.value=t.getFullYear(),d.value=t.getMonth())},{immediate:!0}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-calendar`,{"is-lunar":e.showLunar}])},[(0,t.createElementVNode)(`div`,Jg,[(0,t.renderSlot)(n.$slots,`header`,{date:(0,t.unref)(m),view:(0,t.unref)(l)},()=>[(0,t.createElementVNode)(`div`,Yg,(0,t.toDisplayString)((0,t.unref)(g)),1),(0,t.createElementVNode)(`div`,Xg,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn`,onClick:r[0]||=e=>O(-1)},`上一`+(0,t.toDisplayString)((0,t.unref)(l)===`year`?`年`:`月`),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn`,onClick:k},`今天`),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn`,onClick:r[1]||=e=>O(1)},`下一`+(0,t.toDisplayString)((0,t.unref)(l)===`year`?`年`:`月`),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn fou-calendar__btn--ghost`,onClick:r[2]||=e=>l.value=(0,t.unref)(l)===`month`?`year`:`month`},(0,t.toDisplayString)((0,t.unref)(l)===`month`?`年视图`:`月视图`),1)])],!0)]),(0,t.unref)(l)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(h),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:`fou-calendar__week-cell`},(0,t.toDisplayString)(e),1))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(l)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(w),r=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:r.key,type:`button`,class:(0,t.normalizeClass)([`fou-calendar__cell`,T(r)]),disabled:r.disabled,onClick:e=>E(r.date)},[(0,t.renderSlot)(n.$slots,`date-cell`,{date:r.date,data:r},()=>[(0,t.createElementVNode)(`span`,e_,(0,t.toDisplayString)(r.day),1),e.showLunar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`fou-calendar__lunar`,{"is-festival":r.lunar.festival}])},(0,t.toDisplayString)(r.lunar.label),3)):(0,t.createCommentVNode)(``,!0),r.marks.length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,t_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.marks.slice(0,3),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:n,class:(0,t.normalizeClass)([`fou-calendar__dot`,`is-${e.type||`primary`}`])},null,2))),128))])):(0,t.createCommentVNode)(``,!0)],!0)],10,$g))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,n_,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s,(e,n)=>(0,t.createElementVNode)(`button`,{key:e,type:`button`,class:(0,t.normalizeClass)([`fou-calendar__cell fou-calendar__cell--month`,{"is-selected":(0,t.unref)(m).getFullYear()===(0,t.unref)(u)&&(0,t.unref)(m).getMonth()===n&&v((0,t.unref)(p),new Date((0,t.unref)(u),n,1)),"is-today":(0,t.unref)(c).getFullYear()===(0,t.unref)(u)&&(0,t.unref)(c).getMonth()===n}]),onClick:e=>D(n)},(0,t.toDisplayString)(e),11,r_)),64))]))],2))}}),a_=v({default:()=>o_}),o_=S(i_,[[`__scopeId`,`data-v-0faedd2d`]]),s_=Symbol(`FouCarousel`),c_={class:`fou-carousel__viewport`},l_=[`aria-hidden`],u_=[`aria-label`,`onClick`],d_={class:`fou-carousel__registry`,"aria-hidden":`true`},f_=(0,t.defineComponent)({name:`FouCarousel`,__name:`index`,props:{modelValue:{default:0},autoplay:{type:Boolean,default:!0},interval:{default:3e3},height:{default:``},indicatorPosition:{default:`inside`},arrow:{default:`hover`},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)([]),s=(0,t.ref)(new Map),c=null,l=(0,t.computed)(()=>o.value.length),u=(0,t.computed)({get(){return l.value?((i.modelValue??0)%l.value+l.value)%l.value:0},set(e){a(`update:modelValue`,e),a(`change`,e)}}),d=(0,t.computed)(()=>{if(i.height!==``&&i.height!=null)return{height:typeof i.height==`number`?`${i.height}px`:i.height}}),f=(0,t.computed)(()=>({transform:`translateX(-${u.value*100}%)`})),p=e=>{let n=s.value.get(e);return n?(0,t.defineComponent)({name:`FouCarouselSlideHost`,setup:()=>()=>{let e=n();return Array.isArray(e)?e:e??null}}):null};(0,t.provide)(s_,{activeIndex:u,itemCount:l,registerItem:e=>{let t=o.value.findIndex(t=>t.uid===e.uid);return t>=0?o.value[t]=e:o.value.push(e),o.value.findIndex(t=>t.uid===e.uid)},unregisterItem:e=>{o.value=o.value.filter(t=>t.uid!==e),s.value.delete(e)},loop:(0,t.toRef)(i,`loop`)}),(0,t.provide)(`fouCarouselRegisterRender`,(e,t)=>{s.value.set(e,t)});let m=e=>{l.value&&(u.value=(e%l.value+l.value)%l.value)},h=()=>{l.value&&(u.value>=l.value-1?u.value=i.loop?0:l.value-1:u.value+=1)},g=()=>{l.value&&(u.value<=0?u.value=i.loop?l.value-1:0:--u.value)},_=()=>{v(),!(!i.autoplay||l.value<=1)&&(c=setInterval(()=>h(),i.interval))},v=()=>{c&&=(clearInterval(c),null)},y=()=>v(),b=()=>_();return(0,t.watch)(()=>[i.autoplay,i.interval,l.value],()=>_(),{immediate:!0}),(0,t.onBeforeUnmount)(v),n({next:h,prev:g,goTo:m}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-carousel`,[`fou-carousel--arrow-${e.arrow}`]]),style:(0,t.normalizeStyle)((0,t.unref)(d)),onMouseenter:y,onMouseleave:b},[(0,t.createElementVNode)(`div`,c_,[(0,t.createElementVNode)(`div`,{class:`fou-carousel__track`,style:(0,t.normalizeStyle)((0,t.unref)(f))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.uid,class:(0,t.normalizeClass)([`fou-carousel__slide`,{"is-active":n===(0,t.unref)(u)}]),"aria-hidden":n!==(0,t.unref)(u)},[p(e.uid)?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(p(e.uid)),{key:0})):(0,t.createCommentVNode)(``,!0)],10,l_))),128))],4),e.arrow!==`never`&&(0,t.unref)(l)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-carousel__arrow fou-carousel__arrow--left`,"aria-label":`previous`,onClick:(0,t.withModifiers)(g,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-left-s-line`})])):(0,t.createCommentVNode)(``,!0),e.arrow!==`never`&&(0,t.unref)(l)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-carousel__arrow fou-carousel__arrow--right`,"aria-label":`next`,onClick:(0,t.withModifiers)(h,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-right-s-line`})])):(0,t.createCommentVNode)(``,!0)]),e.indicatorPosition!==`none`&&(0,t.unref)(l)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-carousel__indicators`,`fou-carousel__indicators--${e.indicatorPosition}`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(l),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-carousel__indicator`,{"is-active":n===(0,t.unref)(u)}]),"aria-label":`slide ${n+1}`,onClick:(0,t.withModifiers)(e=>m(n),[`stop`])},null,10,u_))),128))],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,d_,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38)}}}),p_=v({default:()=>m_}),m_=S(f_,[[`__scopeId`,`data-v-5b42731e`]]),h_=[`data-uid`],g_=(0,t.defineComponent)({name:`FouCarouselItem`,__name:`index`,props:{name:{}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(s_,null),a=(0,t.inject)(`fouCarouselRegisterRender`,()=>{}),o=(0,t.getCurrentInstance)()?.uid??Math.random();return(0,t.onMounted)(()=>{i?.registerItem({uid:o,name:n.name}),a(o,()=>r.default?.())}),(0,t.onUpdated)(()=>{a(o,()=>r.default?.())}),(0,t.onUnmounted)(()=>{i?.unregisterItem(o)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-carousel-item`,"data-uid":(0,t.unref)(o)},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],8,h_))}}),__=v({default:()=>v_}),v_=S(g_,[[`__scopeId`,`data-v-7b4c1bf2`]]),y_=[`disabled`,`aria-checked`],b_=(0,t.defineComponent)({name:`FouCheckTag`,__name:`index`,props:{modelValue:{type:Boolean,default:!1},type:{default:`primary`},size:{default:`default`},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=()=>{if(r.disabled)return;let e=!r.modelValue;i(`update:modelValue`,e),i(`change`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`fou-check-tag`,[`fou-check-tag--${e.type}`,`fou-check-tag--${e.size}`,{"is-checked":e.modelValue,"is-disabled":e.disabled}]]),disabled:e.disabled,role:`checkbox`,"aria-checked":e.modelValue,onClick:a},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],10,y_))}}),x_=v({default:()=>S_}),S_=S(b_,[[`__scopeId`,`data-v-09c8f803`]]),C_=(0,t.defineComponent)({name:`FouCode`,__name:`index`,props:{code:{default:``},language:{default:`text`},wrap:{type:Boolean,default:!1},theme:{default:`light`}},setup(e){let n=e,r=(0,t.computed)(()=>String(n.code??``).replace(/\n$/,``));return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`pre`,{class:(0,t.normalizeClass)([`fou-code`,[`fou-code--${e.theme}`,{"is-wrap":e.wrap}]])},[(0,t.createElementVNode)(`code`,null,(0,t.toDisplayString)(r.value),1)],2))}}),w_=v({default:()=>T_}),T_=S(C_,[[`__scopeId`,`data-v-9dfa1c9c`]]),E_=Symbol(`fouRow`),D_=(0,t.defineComponent)({name:`FouCol`,__name:`index`,props:{span:{default:24},offset:{default:0},push:{default:0},pull:{default:0},xs:{},sm:{},md:{},lg:{},xl:{}},setup(e){let n=e,r=(0,t.inject)(E_,null),i=e=>e==null?null:typeof e==`number`?{span:e,offset:0}:{span:e.span??24,offset:e.offset??0},a=(0,t.computed)(()=>{let e=[`fou-col-${n.span}`];return n.offset&&e.push(`fou-col-offset-${n.offset}`),n.push&&e.push(`fou-col-push-${n.push}`),n.pull&&e.push(`fou-col-pull-${n.pull}`),[`xs`,`sm`,`md`,`lg`,`xl`].forEach(t=>{let r=i(n[t]);r&&(e.push(`fou-col-${t}-${r.span}`),r.offset&&e.push(`fou-col-${t}-offset-${r.offset}`))}),e}),o=(0,t.computed)(()=>{let e=r?.gutter.value||0;if(e)return{paddingLeft:`${e/2}px`,paddingRight:`${e/2}px`}});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-col`,(0,t.unref)(a)]),style:(0,t.normalizeStyle)((0,t.unref)(o))},[(0,t.renderSlot)(e.$slots,`default`)],6))}}),O_=v({default:()=>k_}),k_=D_,A_=Symbol(`FouCollapse`),j_={class:`fou-collapse`,role:`presentation`},M_=(0,t.defineComponent)({name:`FouCollapse`,__name:`index`,props:{modelValue:{},accordion:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=e=>e==null?[]:Array.isArray(e)?[...e]:[e],o=(0,t.computed)({get(){return a(r.modelValue)},set(e){let t=r.accordion?e[0]??``:e;i(`update:modelValue`,t),i(`change`,t)}}),s=e=>o.value.includes(e);return(0,t.provide)(A_,{activeNames:o,accordion:(0,t.toRef)(r,`accordion`),toggleItem:e=>{if(r.accordion){o.value=s(e)?[]:[e];return}let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=[...t]},isActive:s}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,j_,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)]))}}),N_=v({default:()=>P_}),P_=S(M_,[[`__scopeId`,`data-v-7a74db58`]]),F_=[`disabled`,`aria-expanded`],I_={class:`fou-collapse-item__title`},L_={class:`fou-collapse-item__content-inner`},R_=(0,t.defineComponent)({name:`FouCollapseItem`,__name:`index`,props:{name:{},title:{default:``},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(A_,null),i=(0,t.ref)(null),a=(0,t.ref)(0),o=(0,t.computed)(()=>r?.isActive(n.name)??!1),s=()=>{n.disabled||!r||r.toggleItem(n.name)},c=()=>{i.value&&(a.value=i.value.scrollHeight)};(0,t.watch)(o,async e=>{e&&(await(0,t.nextTick)(),c())});let l=null;return(0,t.onMounted)(()=>{c(),typeof ResizeObserver<`u`&&i.value&&(l=new ResizeObserver(c),l.observe(i.value))}),(0,t.onBeforeUnmount)(()=>{l?.disconnect()}),(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-collapse-item`,{"is-active":(0,t.unref)(o),"is-disabled":e.disabled}])},[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-collapse-item__header`,disabled:e.disabled,"aria-expanded":(0,t.unref)(o),onClick:s},[(0,t.createElementVNode)(`span`,I_,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),(0,t.createVNode)(a,{class:(0,t.normalizeClass)([`fou-collapse-item__arrow`,{"is-active":(0,t.unref)(o)}]),icon:`arrow-down-s-line`},null,8,[`class`])],8,F_),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-collapse-item__wrap`,{"is-active":(0,t.unref)(o)}])},[(0,t.createElementVNode)(`div`,{ref_key:`contentRef`,ref:i,class:`fou-collapse-item__content`},[(0,t.createElementVNode)(`div`,L_,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],512)],2)],2)}}}),z_=v({default:()=>B_}),B_=S(R_,[[`__scopeId`,`data-v-61260f89`]]),V_=(0,t.defineComponent)({name:`FouColorPicker`,__name:`index`,props:{modelValue:{default:``},presets:{default:()=>[`#1675fe`,`#409eff`,`#67c23a`,`#e6a23c`,`#f56c6c`,`#909399`,`#00bcd4`,`#9c27b0`,`#ff5722`,`#795548`]},placeholder:{default:`#1675fe`},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=n;return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)(rf,(0,t.mergeProps)({class:`fou-color-picker`},n.$attrs,{"model-value":e.modelValue,presets:e.presets,placeholder:e.placeholder,clearable:e.clearable,disabled:e.disabled,"onUpdate:modelValue":i[0]||=e=>r(`update:modelValue`,e),onChange:i[1]||=e=>r(`change`,e)}),null,16,[`model-value`,`presets`,`placeholder`,`clearable`,`disabled`]))}}),H_=v({default:()=>U_}),U_=S(V_,[[`__scopeId`,`data-v-b28d5132`]]),W_={key:0,class:`fou-colorful-card__header`},G_={key:1,class:`fou-colorful-card__title`},K_=`#0f766e`,q_=`#2dd4bf`,J_=(0,t.defineComponent)({name:`FouColorfulCard`,__name:`index`,props:{bodyStyle:{type:[Object,String],default:()=>({})},shadow:{type:String,default:`never`},colorFrom:{type:String,default:``},colorTo:{type:String,default:``},title:{type:String,default:``},icon:{type:String,default:``},style:{type:Object,default:()=>({})}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=n.colorFrom||K_,t=n.colorTo||q_,r=n.style&&Object.keys(n.style).length>0?n.style:{};return{background:`linear-gradient(120deg, ${e} 10%, ${t})`,...r}});return(n,i)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-colorful-card`,[`fou-colorful-card--shadow-${e.shadow}`]]),style:(0,t.normalizeStyle)((0,t.unref)(r))},[n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,W_,[(0,t.renderSlot)(n.$slots,`header`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`fou-colorful-card__body`,style:(0,t.normalizeStyle)(e.bodyStyle)},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,class:`fou-colorful-card__icon`,icon:e.icon},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,G_,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],4)],6)}}}),Y_=v({default:()=>X_}),X_=S(J_,[[`__scopeId`,`data-v-23113c4c`]]),Z_=[`value`,`placeholder`,`disabled`,`onKeydown`],Q_={key:0,class:`fou-combobox__list`},$_=[`onMouseenter`,`onClick`],ev={key:1,class:`fou-combobox__empty`},tv=(0,t.defineComponent)({name:`FouCombobox`,__name:`index`,props:{modelValue:{default:``},options:{default:()=>[]},placeholder:{default:`请选择`},size:{default:`default`},disabled:{type:Boolean,default:!1},allowFree:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(``),l=(0,t.ref)(0),u=(0,t.ref)({}),d=(0,t.computed)(()=>{let e=r.options.find(e=>e.value===r.modelValue);return e?e.label:``}),f=(0,t.computed)(()=>{if(!r.filterable||!c.value)return r.options;let e=c.value.toLowerCase();return r.options.filter(t=>t.label.toLowerCase().includes(e))});(0,t.watch)(()=>r.modelValue,()=>{c.value=d.value},{immediate:!0});let p=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+4;i+r.height>window.innerHeight-4&&(i=n.top-r.height-4);let s=Math.min(Math.max(4,n.left),window.innerWidth-r.width-4);u.value={position:`fixed`,top:`${Math.max(4,i)}px`,left:`${s}px`,width:`${n.width}px`,zIndex:`2100`}},m=async()=>{r.disabled||(s.value=!0,l.value=0,await(0,t.nextTick)(),p())},h=()=>{s.value&&(s.value=!1,c.value=d.value)},g=()=>s.value?h():m(),_=e=>{c.value=e.target.value,s.value||m()},v=()=>{if(!s.value)return m();l.value<f.value.length-1&&l.value++},y=()=>{l.value>0&&l.value--},b=()=>{let e=f.value[l.value];e&&x(e)},x=e=>{i(`update:modelValue`,e.value),i(`change`,e),c.value=e.label,s.value=!1},S=e=>{if(!s.value)return;let t=e.target;a.value?.contains(t)||o.value?.contains(t)||h()};return(0,t.watch)(s,e=>{e?document.addEventListener(`mousedown`,S,!0):document.removeEventListener(`mousedown`,S,!0)}),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`mousedown`,S,!0)),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-combobox`,[`fou-combobox--${e.size}`,{"is-open":s.value,"is-disabled":e.disabled}]])},[(0,t.createElementVNode)(`div`,{class:`fou-combobox__control`,onClick:g},[(0,t.createElementVNode)(`input`,{class:`fou-combobox__input`,value:c.value,placeholder:e.placeholder,disabled:e.disabled,onInput:_,onKeydown:[(0,t.withKeys)((0,t.withModifiers)(v,[`prevent`]),[`down`]),(0,t.withKeys)((0,t.withModifiers)(y,[`prevent`]),[`up`]),(0,t.withKeys)((0,t.withModifiers)(b,[`prevent`]),[`enter`]),(0,t.withKeys)(h,[`esc`])]},null,40,Z_),(0,t.createVNode)(i,{icon:`arrow-down-s-line`,class:(0,t.normalizeClass)([`fou-combobox__arrow`,{"is-open":s.value}])},null,8,[`class`])]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{ref_key:`panelRef`,ref:o,class:`fou-combobox__panel`,style:(0,t.normalizeStyle)(u.value)},[f.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,Q_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(f.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:r.value,class:(0,t.normalizeClass)([`fou-combobox__option`,{"is-active":i===l.value,"is-selected":r.value===e.modelValue}]),onMouseenter:e=>l.value=i,onClick:e=>x(r)},[(0,t.renderSlot)(n.$slots,`option`,{option:r},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.label),1)],!0)],42,$_))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ev,`无匹配项`))],4),[[t.vShow,s.value]])]))],2)}}}),nv=v({default:()=>rv}),rv=S(tv,[[`__scopeId`,`data-v-092b1fc6`]]),iv=(0,t.defineComponent)({name:`FouConfigProvider`,__name:`index`,props:{size:{default:`default`},locale:{},zIndex:{default:2e3}},setup(e){let n=e;return(0,t.provide)(`fouConfigProvider`,{size:(0,t.toRef)(n,`size`),locale:(0,t.toRef)(n,`locale`),zIndex:(0,t.toRef)(n,`zIndex`)}),(e,n)=>(0,t.renderSlot)(e.$slots,`default`)}}),av=v({default:()=>ov}),ov=iv,sv={class:`fou-context-menu__list`},cv={key:0,class:`fou-context-menu__divider`,role:`separator`},lv=[`onClick`],uv={class:`fou-context-menu__label`},dv={key:1,class:`fou-context-menu__shortcut`},fv=(0,t.defineComponent)({name:`FouContextMenu`,__name:`index`,props:{items:{default:()=>[]}},emits:[`select`,`command`,`visibleChange`],setup(e,{emit:n}){let r=n,i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)({}),c=async e=>{e.preventDefault(),o.value=!0,r(`visibleChange`,!0),await(0,t.nextTick)(),l(e.clientX,e.clientY)},l=(e,t)=>{let n=a.value;if(!n)return;let r=n.getBoundingClientRect(),i=window.innerWidth,o=window.innerHeight,c=Math.min(e,i-r.width-4),l=Math.min(t,o-r.height-4);c=Math.max(4,c),l=Math.max(4,l),s.value={position:`fixed`,top:`${l}px`,left:`${c}px`,zIndex:`3000`}},u=()=>{o.value&&(o.value=!1,r(`visibleChange`,!1))},d=e=>{e.disabled||(r(`select`,e),e.command!==void 0&&r(`command`,e.command),u())},f=e=>{a.value?.contains(e.target)||u()},p=()=>u();return(0,t.watch)(o,e=>{e?(document.addEventListener(`mousedown`,f,!0),window.addEventListener(`scroll`,p,!0),window.addEventListener(`resize`,p)):(document.removeEventListener(`mousedown`,f,!0),window.removeEventListener(`scroll`,p,!0),window.removeEventListener(`resize`,p))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,f,!0),window.removeEventListener(`scroll`,p,!0),window.removeEventListener(`resize`,p)}),(n,r)=>{let l=k;return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:i,class:`fou-context-menu`,onContextmenu:(0,t.withModifiers)(c,[`prevent`])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-context-menu-fade`},{default:(0,t.withCtx)(()=>[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`menuRef`,ref:a,class:`fou-context-menu__panel`,style:(0,t.normalizeStyle)(s.value),onContextmenu:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`ul`,sv,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n},[e.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,cv)):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:1,class:(0,t.normalizeClass)([`fou-context-menu__item`,{"is-disabled":e.disabled}]),onClick:t=>d(e)},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(l,{key:0,icon:e.icon,class:`fou-context-menu__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,uv,(0,t.toDisplayString)(e.label),1),e.shortcut?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,dv,(0,t.toDisplayString)(e.shortcut),1)):(0,t.createCommentVNode)(``,!0)],10,lv))],64))),128)),(0,t.renderSlot)(n.$slots,`items`,{},void 0,!0)])],36)):(0,t.createCommentVNode)(``,!0)]),_:3})]))],64)}}}),pv=v({default:()=>mv}),mv=S(fv,[[`__scopeId`,`data-v-b83b6df9`]]),hv=[`disabled`],gv={key:0},_v=(0,t.defineComponent)({name:`FouCopy`,__name:`index`,props:{text:{default:``},copyText:{default:`复制`},copiedText:{default:`已复制`},showText:{type:Boolean,default:!1},successMessage:{default:`已复制到剪贴板`},silent:{type:Boolean,default:!1}},emits:[`copy`,`error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=null,s=async e=>{if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)},c=async()=>{if(r.text)try{await s(r.text),a.value=!0,o&&clearTimeout(o),o=setTimeout(()=>{a.value=!1},1600),i(`copy`,r.text),r.silent||Q.success(r.successMessage)}catch(e){i(`error`,e),r.silent||Q.error(`复制失败`)}};return(0,t.onBeforeUnmount)(()=>{o&&clearTimeout(o)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`fou-copy`,onClick:c},[(0,t.renderSlot)(n.$slots,`default`,{copied:(0,t.unref)(a),copy:c},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-copy__btn`,disabled:!e.text},[(0,t.createVNode)(i,{icon:(0,t.unref)(a)?`check-line`:`file-copy-line`},null,8,[`icon`]),e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gv,(0,t.toDisplayString)((0,t.unref)(a)?e.copiedText:e.copyText),1)):(0,t.createCommentVNode)(``,!0)],8,hv)],!0)])}}}),vv=v({default:()=>yv}),yv=S(_v,[[`__scopeId`,`data-v-65e9eb99`]]),bv={class:`fou-countdown`},xv={key:0,class:`fou-countdown__title`},Sv={key:0,class:`fou-countdown__prefix`},Cv={class:`fou-countdown__value`},wv={key:1,class:`fou-countdown__suffix`},Tv=(0,t.defineComponent)({name:`FouCountdown`,__name:`index`,props:{value:{default:0},title:{default:``},prefix:{default:``},suffix:{default:``},valueStyle:{default:()=>({})},format:{default:`HH:mm:ss`}},emits:[`finish`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(Date.now()),o=(0,t.ref)(!1),s=null,c=(0,t.computed)(()=>{let e=r.value;if(e instanceof Date)return e.getTime();if(typeof e==`number`)return e;let t=Date.parse(String(e));return Number.isNaN(t)?Date.now():t}),l=(0,t.computed)(()=>Math.max(0,c.value-a.value)),u=(e,t)=>String(e).padStart(t,`0`),d=(0,t.computed)(()=>{let e=Math.floor(l.value/1e3),t=Math.floor(e/86400),n=Math.floor(e%86400/3600),i=Math.floor(e%3600/60),a=e%60,o={DD:u(t,2),D:String(t),HH:u(n,2),H:String(n),mm:u(i,2),m:String(i),ss:u(a,2),s:String(a)};return r.format.replace(/DD|HH|mm|ss|D|H|m|s/g,e=>o[e]??e)}),f=()=>{a.value=Date.now(),i(`change`,l.value),!o.value&&l.value<=0&&(o.value=!0,i(`finish`))};return(0,t.watch)(()=>r.value,()=>{s&&clearInterval(s),o.value=l.value<=0,a.value=Date.now(),s=setInterval(f,1e3),f()},{immediate:!0}),(0,t.onBeforeUnmount)(()=>{s&&clearInterval(s)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bv,[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xv,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`fou-countdown__content`,style:(0,t.normalizeStyle)(e.valueStyle)},[e.prefix||n.$slots.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Sv,[(0,t.renderSlot)(n.$slots,`prefix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.prefix),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,Cv,[(0,t.renderSlot)(n.$slots,`default`,{value:(0,t.unref)(l),formatted:(0,t.unref)(d)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(d)),1)],!0)]),e.suffix||n.$slots.suffix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,wv,[(0,t.renderSlot)(n.$slots,`suffix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.suffix),1)],!0)])):(0,t.createCommentVNode)(``,!0)],4)]))}}),Ev=v({default:()=>Dv}),Dv=S(Tv,[[`__scopeId`,`data-v-94497669`]]),Ov=Symbol(`FouDescriptions`),kv={key:0,class:`fou-descriptions__header`},Av={class:`fou-descriptions__body`},jv=(0,t.defineComponent)({name:`FouDescriptions`,__name:`index`,props:{title:{default:``},column:{default:3},border:{type:Boolean,default:!1},direction:{default:`horizontal`},size:{default:`default`}},setup(e){let n=e,r=(0,t.ref)([]);(0,t.provide)(Ov,{column:(0,t.toRef)(n,`column`),border:(0,t.toRef)(n,`border`),direction:(0,t.toRef)(n,`direction`),size:(0,t.toRef)(n,`size`),registerItem:e=>{let t=r.value.findIndex(t=>t.uid===e.uid);t>=0?r.value[t]=e:r.value.push(e)},unregisterItem:e=>{r.value=r.value.filter(t=>t.uid!==e)}});let i=(0,t.computed)(()=>({"--fou-descriptions-columns":String(Math.max(1,n.column))}));return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-descriptions`,[`fou-descriptions--${e.size}`,`fou-descriptions--${e.direction}`,{"is-bordered":e.border}]]),style:(0,t.normalizeStyle)((0,t.unref)(i))},[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kv,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Av,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],6))}}),Mv=v({default:()=>Nv}),Nv=S(jv,[[`__scopeId`,`data-v-4f65a8e7`]]),Pv={class:`fou-descriptions-item__label`},Fv={class:`fou-descriptions-item__content`},Iv=(0,t.defineComponent)({name:`FouDescriptionsItem`,__name:`index`,props:{label:{default:``},span:{default:1}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(Ov,null),a=(0,t.getCurrentInstance)()?.uid??Math.random(),o=(0,t.computed)(()=>i?.border.value??!1),s=(0,t.computed)(()=>({gridColumn:`span ${Math.max(1,n.span)}`}));return(0,t.onMounted)(()=>{i?.registerItem({uid:a,label:n.label,span:n.span,render:()=>r.default?.()})}),(0,t.onUnmounted)(()=>{i?.unregisterItem(a)}),(0,t.watch)(()=>[n.label,n.span],()=>{i?.registerItem({uid:a,label:n.label,span:n.span,render:()=>r.default?.()})}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-descriptions-item`,{"is-bordered":(0,t.unref)(o)}]),style:(0,t.normalizeStyle)((0,t.unref)(s))},[(0,t.createElementVNode)(`div`,Pv,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)],!0)]),(0,t.createElementVNode)(`div`,Fv,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],6))}}),Lv=v({default:()=>Rv}),Rv=S(Iv,[[`__scopeId`,`data-v-8b3da2ff`]]),zv={key:0,class:`fou-digital-card__icon`},Bv={class:`fou-digital-card__content`},Vv={class:`fou-digital-card__value`},Hv={key:0,class:`fou-digital-card__affix`},Uv={class:`fou-digital-card__num`},Wv={key:1,class:`fou-digital-card__affix`},Gv={key:0,class:`fou-digital-card__title`},Kv={key:1,class:`fou-digital-card__footer`},qv=(0,t.defineComponent)({name:`FouDigitalCard`,__name:`index`,props:{value:{default:0},title:{default:``},prefix:{default:``},suffix:{default:``},icon:{default:``},precision:{default:0},groupSeparator:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},duration:{default:800},theme:{default:`light`}},setup(e){let n=e,r=(0,t.ref)(0),i=(0,t.computed)(()=>{let e=Number(r.value.toFixed(n.precision)).toFixed(n.precision);if(!n.groupSeparator)return e;let[t,i]=e.split(`.`),a=t.replace(/\B(?=(\d{3})+(?!\d))/g,`,`);return i?`${a}.${i}`:a}),a=e=>{if(!n.animated){r.value=e;return}let t=r.value,i=performance.now(),a=o=>{let s=Math.min(1,(o-i)/n.duration),c=1-(1-s)**3;r.value=t+(e-t)*c,s<1?requestAnimationFrame(a):r.value=e};requestAnimationFrame(a)};return(0,t.watch)(()=>n.value,e=>a(Number(e)||0),{immediate:!0}),(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-digital-card`,[`fou-digital-card--${e.theme}`]])},[e.icon||n.$slots.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zv,[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[(0,t.createVNode)(a,{icon:e.icon},null,8,[`icon`])],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Bv,[(0,t.createElementVNode)(`div`,Vv,[e.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Hv,(0,t.toDisplayString)(e.prefix),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,Uv,(0,t.toDisplayString)(i.value),1),e.suffix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Wv,(0,t.toDisplayString)(e.suffix),1)):(0,t.createCommentVNode)(``,!0)]),e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gv,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kv,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)])],2)}}}),Jv=v({default:()=>Yv}),Yv=S(qv,[[`__scopeId`,`data-v-e3169d9d`]]),Xv=(0,t.defineComponent)({name:`FouDot`,__name:`index`,props:{type:{values:[`primary`,`success`,`warning`,`danger`],type:String,default:`primary`}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)(`fou-dot fou-dot-`+e.type)},null,2))}}),Zv=v({default:()=>Qv}),Qv=S(Xv,[[`__scopeId`,`data-v-626b67bc`]]),$v={key:0,class:`fou-drawer__header`},ey={class:`fou-drawer__title`},ty={class:`fou-drawer__body`},ny={key:1,class:`fou-drawer__footer`},ry=(0,t.defineComponent)({name:`FouDrawer`,inheritAttrs:!1,__name:`index`,props:{modelValue:{type:Boolean,default:!1},title:{default:``},direction:{default:`rtl`},size:{default:`30%`},modal:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},zIndex:{default:0},appendToBody:{type:Boolean,default:!0},beforeClose:{}},emits:[`update:modelValue`,`open`,`opened`,`close`,`closed`],setup(e,{emit:n}){let i=(0,t.useAttrs)(),a=(0,t.computed)(()=>{let{class:e,style:t,...n}=i;return n}),o=(0,t.computed)(()=>i.style),s=e,c=(0,t.computed)(()=>s.appendToBody!==!1),l=(0,t.ref)(s.zIndex||G(4e3)),u=n,d=(0,r.useVModel)(s,`modelValue`,u),f=(0,t.computed)(()=>typeof s.size==`number`?`${s.size}px`:String(s.size)),p=(0,t.computed)(()=>{let e=f.value;switch(s.direction){case`ltr`:return{width:e,height:`100%`};case`ttb`:return{width:`100%`,height:e};case`btt`:return{width:`100%`,height:e};default:return{width:e,height:`100%`}}}),m=(0,t.computed)(()=>{switch(s.direction){case`ltr`:return`fou-drawer-slide-left`;case`ttb`:return`fou-drawer-slide-top`;case`btt`:return`fou-drawer-slide-bottom`;default:return`fou-drawer-slide-right`}}),{lock:h,unlock:g}=nt(),_=()=>{u(`close`),d.value=!1},v=()=>{if(s.beforeClose){s.beforeClose(()=>_());return}_()},y=()=>{s.closeOnClickModal&&v()},b=(0,t.computed)(()=>s.modal&&d.value);(0,t.watch)(b,e=>{e?h():g()}),(0,t.watch)(d,async e=>{e?(l.value=s.zIndex||G(4e3),window.addEventListener(`keydown`,x),u(`open`),await(0,t.nextTick)(),u(`opened`)):(window.removeEventListener(`keydown`,x),u(`closed`))});let x=e=>{s.closeOnPressEscape&&e.key===`Escape`&&v()};return(0,t.onMounted)(()=>{b.value&&h(),d.value&&window.addEventListener(`keydown`,x)}),(0,t.onBeforeUnmount)(()=>{g(),window.removeEventListener(`keydown`,x)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!(0,t.unref)(c)},[(0,t.createVNode)(t.Transition,{name:(0,t.unref)(m)},{default:(0,t.withCtx)(()=>[(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-drawer-root`,[`fou-drawer-root--${e.direction}`]]),style:(0,t.normalizeStyle)({zIndex:String((0,t.unref)(l))})},[e.modal?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-drawer__mask`,onClick:y})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,(0,t.mergeProps)({class:[`fou-drawer`,[`fou-drawer--${e.direction}`,{"fou-drawer--animated":e.animated},(0,t.unref)(i).class]]},(0,t.unref)(a),{style:[(0,t.unref)(p),(0,t.unref)(o)],role:`dialog`,"aria-modal":`true`}),[e.showClose||e.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$v,[(0,t.createElementVNode)(`div`,ey,[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),e.showClose?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-drawer__close`,"aria-label":`close`,onClick:v},` × `)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ty,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ny,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],16)],6)):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`name`])],8,[`disabled`]))}}),iy=v({default:()=>ay}),ay=S(ry,[[`__scopeId`,`data-v-e3058753`]]),oy={class:`fou-ellipsis-wrap`},sy=(0,t.defineComponent)({name:`FouEllipsis`,__name:`index`,props:{content:{default:``},lines:{default:1},tooltip:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.computed)(()=>n.content||r.value?.textContent?.trim()||``),o=(0,t.computed)(()=>n.tooltip&&i.value&&!!a.value),s=()=>{let e=r.value;e&&(i.value=e.scrollHeight>e.clientHeight+1||e.scrollWidth>e.clientWidth+1)},c=null;return(0,t.onMounted)(()=>{s(),c=new ResizeObserver(s),r.value&&c.observe(r.value)}),(0,t.watch)(()=>[n.content,n.lines],()=>(0,t.nextTick)(s)),(0,t.onBeforeUnmount)(()=>c?.disconnect()),(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oy,[(0,t.createVNode)(ao,{content:(0,t.unref)(a),disabled:!(0,t.unref)(o)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{ref_key:`rootRef`,ref:r,class:(0,t.normalizeClass)([`fou-ellipsis`,{"is-line-clamp":e.lines>1}]),style:(0,t.normalizeStyle)(e.lines>1?{WebkitLineClamp:String(e.lines)}:void 0)},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)],6)]),_:3},8,[`content`,`disabled`])]))}}),cy=v({default:()=>ly}),ly=S(sy,[[`__scopeId`,`data-v-98b80dc2`]]),uy={class:`fou-result__icon`},dy={key:0,class:`fou-result__title`},fy={key:1,class:`fou-result__subtitle`},py={key:2,class:`fou-result__extra`},my={key:3,class:`fou-result__content`},hy=(0,t.defineComponent)({name:`FouResult`,__name:`index`,props:{icon:{default:``},title:{default:``},subTitle:{default:``}},setup(e){let n=e,r={success:`checkbox-circle-line`,warning:`error-warning-line`,info:`information-line`,error:`close-circle-line`},i=(0,t.computed)(()=>n.icon&&r[n.icon]||``);return(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-result`,e.icon?`fou-result--${e.icon}`:``])},[(0,t.createElementVNode)(`div`,uy,[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[(0,t.unref)(i)?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,icon:(0,t.unref)(i)},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0)],!0)]),e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dy,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),e.subTitle||n.$slots[`sub-title`]?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fy,[(0,t.renderSlot)(n.$slots,`sub-title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.subTitle),1)],!0)])):(0,t.createCommentVNode)(``,!0),n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,py,[(0,t.renderSlot)(n.$slots,`extra`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,my,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],2)}}}),gy=v({default:()=>_y}),_y=S(hy,[[`__scopeId`,`data-v-9728c3ac`]]),vy=(0,t.defineComponent)({name:`FouException`,__name:`index`,props:{status:{default:404},title:{default:``},subTitle:{default:``},showBack:{type:Boolean,default:!0},backText:{default:`返回首页`}},emits:[`back`],setup(e,{emit:n}){let r={403:{icon:`warning`,title:`403`,subTitle:`抱歉,你没有权限访问该页面`},404:{icon:`info`,title:`404`,subTitle:`抱歉,你访问的页面不存在`},500:{icon:`error`,title:`500`,subTitle:`抱歉,服务器出了点问题`}},i=e,a=n,o=(0,t.computed)(()=>r[String(i.status)]||r[404]),s=()=>a(`back`);return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(_y,{class:`fou-exception`,icon:(0,t.unref)(o).icon,title:e.title||(0,t.unref)(o).title,"sub-title":e.subTitle||(0,t.unref)(o).subTitle},(0,t.createSlots)({extra:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`extra`,{},()=>[e.showBack?((0,t.openBlock)(),(0,t.createBlock)(Vt,{key:0,type:`primary`,onClick:s},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.backText),1)]),_:1})):(0,t.createCommentVNode)(``,!0)])]),default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:2},[n.$slots.icon?{name:`icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`icon`)]),key:`0`}:void 0,n.$slots.title?{name:`title`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`title`)]),key:`1`}:void 0,n.$slots[`sub-title`]?{name:`sub-title`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`sub-title`)]),key:`2`}:void 0]),1032,[`icon`,`title`,`sub-title`]))}}),yy=v({default:()=>by}),by=vy,xy=Symbol(`FouFloatButtonGroup`),Sy=[`aria-label`],Cy={class:`fou-float-button__icon`},wy={key:0,class:`fou-float-button__desc`},Ty=(0,t.defineComponent)({name:`FouFloatButton`,__name:`index`,props:{type:{default:`default`},shape:{default:`circle`},icon:{default:``},description:{default:``},href:{default:``},target:{default:``},right:{default:40},bottom:{default:40},zIndex:{default:100}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.inject)(xy,!1),o=(0,t.computed)(()=>a?void 0:{position:`fixed`,right:`${r.right}px`,bottom:`${r.bottom}px`,zIndex:String(r.zIndex)}),s=e=>{i(`click`,e),r.href&&window.open(r.href,r.target||`_self`)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`fou-float-button`,[`fou-float-button--${e.shape}`,`fou-float-button--${e.type}`,{"is-in-group":(0,t.unref)(a)}]]),style:(0,t.normalizeStyle)((0,t.unref)(o)),"aria-label":e.description||`悬浮按钮`,onClick:s},[(0,t.createElementVNode)(`span`,Cy,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:e.icon},null,8,[`icon`])):((0,t.openBlock)(),(0,t.createBlock)(i,{key:1,icon:`add-line`}))],!0)]),e.description&&e.shape===`square`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,wy,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)],14,Sy)}}}),Ey=v({default:()=>Dy}),Dy=S(Ty,[[`__scopeId`,`data-v-d71d62ad`]]),Oy={class:`fou-float-button-group__items`},ky=(0,t.defineComponent)({name:`FouFloatButtonGroup`,__name:`index`,props:{type:{default:`primary`},shape:{default:`circle`},icon:{default:`apps-line`},description:{default:``},trigger:{default:`click`},right:{default:40},bottom:{default:40},zIndex:{default:100}},setup(e){let n=e;(0,t.provide)(xy,!0);let r=(0,t.ref)(n.trigger===`hover`),i=(0,t.computed)(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`,zIndex:String(n.zIndex)})),a=()=>{n.trigger!==`hover`&&(r.value=!r.value)},o=()=>{n.trigger===`hover`&&(r.value=!0)},s=()=>{n.trigger===`hover`&&(r.value=!1)};return(n,c)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-float-button-group`,style:(0,t.normalizeStyle)((0,t.unref)(i)),onMouseenter:o,onMouseleave:s},[(0,t.withDirectives)((0,t.createElementVNode)(`div`,Oy,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],512),[[t.vShow,(0,t.unref)(r)]]),(0,t.createVNode)(Dy,{type:e.type,shape:e.shape,icon:(0,t.unref)(r)?`close-line`:e.icon,description:e.description,onClick:a},null,8,[`type`,`shape`,`icon`,`description`])],36))}}),Ay=v({default:()=>jy}),jy=S(ky,[[`__scopeId`,`data-v-299feda2`]]),My=(0,t.defineComponent)({name:`FouFullscreen`,__name:`index`,setup(e){let{isFullscreen:n,toggle:i}=(0,r.useFullscreen)();return(e,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createBlock)(a,{class:`fou-fullscreen`,icon:(0,t.unref)(n)?`fullscreen-exit-fill`:`fullscreen-fill`,onClick:(0,t.unref)(i)},null,8,[`icon`,`onClick`])}}}),Ny=v({default:()=>Py}),Py=My,Fy={key:0,class:`fou-grid__form`},Iy={key:0,class:`fou-grid__form-inner`},Ly=[`onUpdate:modelValue`,`placeholder`],Ry=(0,t.defineComponent)({name:`FouGrid`,__name:`index`,props:{columns:{default:()=>[]},data:{default:()=>[]},loading:{type:Boolean,default:!1},height:{},maxHeight:{},border:{type:[Boolean,String],default:!0},stripe:{type:Boolean},round:{type:Boolean},editable:{type:Boolean},editTrigger:{},editConfig:{},rowKey:{},showIndex:{type:Boolean},showSelection:{type:Boolean},showFooter:{type:Boolean},tree:{type:Boolean},pagerConfig:{type:[Object,Boolean]},toolbarConfig:{type:[Object,Boolean]},formConfig:{type:[Object,Boolean]},proxyConfig:{default:void 0},sortConfig:{},filterConfig:{},columnConfig:{},rowConfig:{},customConfig:{},menuConfig:{},editRules:{},virtualYConfig:{type:[Object,Boolean]},spanMethod:{},mergeCells:{}},emits:[`proxy-query`,`proxy-delete`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(1),d=(0,t.ref)(10),f=(0,t.ref)(null),p=(0,t.ref)({}),m=(0,t.reactive)({}),h=(0,t.computed)(()=>i.toolbarConfig===!1?{enabled:!1}:i.toolbarConfig===!0||i.toolbarConfig==null?{enabled:!0,refresh:!0,export:!0,zoom:!0,custom:!0}:{enabled:!0,...i.toolbarConfig}),g=(0,t.computed)(()=>h.value.enabled!==!1),_=(0,t.computed)(()=>{let e=h.value;return{enabled:e.enabled,refresh:e.refresh,export:e.export,import:e.import,print:e.print,custom:e.custom,zoom:e.zoom,copy:e.copy,toolsPlacement:e.toolsPlacement,customTools:e.customTools}}),v=(0,t.useSlots)(),y=(0,t.computed)(()=>i.formConfig===!1?!1:i.formConfig===!0?!0:i.formConfig&&typeof i.formConfig==`object`?i.formConfig.enabled!==!1:!!v.form),b=(0,t.computed)(()=>i.formConfig&&typeof i.formConfig==`object`&&i.formConfig.items||[]);(0,t.watch)(b,e=>{e.forEach(e=>{e.field in m||(m[e.field]=``)})},{immediate:!0});let x=(0,t.computed)(()=>i.proxyConfig?.enabled!==!1&&!!i.proxyConfig?.ajax?.query),S=(0,t.computed)(()=>x.value&&c.value?c.value:i.data||[]),C=(0,t.computed)(()=>{let e=i.pagerConfig===!0?{enabled:!0}:i.pagerConfig&&typeof i.pagerConfig==`object`?{...i.pagerConfig}:x.value?{enabled:!0}:!1;return!e||e===!1?!1:{...e,currentPage:u.value,pageSize:d.value,total:l.value??e.total??S.value.length}}),w=(0,t.computed)(()=>{let{data:e,loading:t,pagerConfig:n,toolbarConfig:r,formConfig:a,proxyConfig:o,...s}=i;return{...s,toolbarConfig:_.value,showExport:h.value.export!==!1,customConfig:i.customConfig||(h.value.custom===!1?void 0:{enabled:!0}),showPrint:h.value.print===!0,showImport:h.value.import===!0,showCopy:h.value.copy===!0}}),T=(0,t.computed)(()=>({loading:s.value,data:S.value,total:l.value,form:m})),E=(e,t)=>t?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e,D=async()=>{if(!x.value||!i.proxyConfig?.ajax?.query){a(`proxy-query`,{form:{...m}});return}s.value=!0;try{let e=await i.proxyConfig.ajax.query({page:{currentPage:u.value,pageSize:d.value},form:{...m},sorts:f.value?[f.value]:[],filters:p.value}),t=i.proxyConfig.props?.result||`result`,n=i.proxyConfig.props?.total||`page.total`;if(Array.isArray(e))c.value=e,l.value=e.length;else{let r=E(e,t)??e.data??[];c.value=Array.isArray(r)?r:[];let i=E(e,n)??e.total??e.page?.total??c.value.length;l.value=Number(i)||0}a(`proxy-query`,{form:{...m},result:c.value})}finally{s.value=!1}},O=()=>{Object.keys(m).forEach(e=>{m[e]=``}),u.value=1,D()},k=D,A=e=>{u.value=e.currentPage,d.value=e.pageSize,x.value&&D()},j=e=>{f.value=e,i.sortConfig?.remote&&x.value&&D()},M=e=>{p.value=e,i.filterConfig?.remote&&x.value&&D()};return(0,t.onMounted)(()=>{x.value&&i.proxyConfig?.autoLoad!==!1&&D()}),n({reload:D,getTable:()=>o.value,commitProxy:D,formModel:m}),(n,r)=>{let i=al;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-grid`,{"fou-grid--loading":(0,t.unref)(s)}])},[(0,t.unref)(y)&&(n.$slots.form||e.formConfig)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Fy,[(0,t.renderSlot)(n.$slots,`form`,{query:(0,t.unref)(k),form:(0,t.unref)(m),reload:D},()=>[(0,t.unref)(b).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Iy,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(b),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:e.field,class:`fou-grid__form-item`},[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.title||e.field),1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":n=>(0,t.unref)(m)[e.field]=n,class:`fou-grid__form-input`,placeholder:e.title||e.field,onKeydown:r[0]||=(0,t.withKeys)(e=>D(),[`enter`])},null,40,Ly),[[t.vModelText,(0,t.unref)(m)[e.field]]])]))),128)),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-grid__form-btn`,onClick:r[1]||=e=>D()},`查询`),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-grid__form-btn is-plain`,onClick:O},`重置`)])):(0,t.createCommentVNode)(``,!0)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,(0,t.mergeProps)({ref_key:`tableRef`,ref:o},(0,t.unref)(w),{data:(0,t.unref)(S),loading:(0,t.unref)(s)||e.loading,"pager-config":(0,t.unref)(C),"show-toolbar":(0,t.unref)(g),"show-export":(0,t.unref)(h)?.export!==!1,onPageChange:A,onRefresh:D,onSortChange:j,onFilterChange:M}),(0,t.createSlots)({default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),_:2},[n.$slots.toolbar?{name:`toolbar`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`0`}:void 0,n.$slots[`toolbar-left`]?{name:`toolbar-left`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-left`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`1`}:void 0,n.$slots[`toolbar-center`]?{name:`toolbar-center`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-center`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`2`}:void 0,n.$slots[`toolbar-right`]?{name:`toolbar-right`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-right`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`3`}:void 0,n.$slots[`toolbar-tools`]?{name:`toolbar-tools`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-tools`,{},void 0,!0)]),key:`4`}:void 0]),1040,[`data`,`loading`,`pager-config`,`show-toolbar`,`show-export`])],2)}}}),zy=v({default:()=>By}),By=S(Ry,[[`__scopeId`,`data-v-09298a7d`]]),Vy={class:`fou-highlight`},Hy=(0,t.defineComponent)({name:`FouHighlight`,__name:`index`,props:{text:{default:``},keywords:{default:()=>[]},caseSensitive:{type:Boolean,default:!1},color:{default:``}},setup(e){let n=e,r=(0,t.computed)(()=>n.color?{background:n.color,color:`#fff`}:void 0),i=(0,t.computed)(()=>{let e=n.text||``,t=(Array.isArray(n.keywords)?n.keywords:[n.keywords]).map(e=>String(e||``).trim()).filter(Boolean);if(!e||!t.length)return[{text:e,hit:!1}];let r=t.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)),i=n.caseSensitive?`g`:`gi`,a=RegExp(`(${r.join(`|`)})`,i);return e.split(a).filter(e=>e!==``).map(e=>({text:e,hit:t.some(t=>n.caseSensitive?e===t:e.toLowerCase()===t.toLowerCase())}))});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Vy,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(i),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n},[e.hit?((0,t.openBlock)(),(0,t.createElementBlock)(`mark`,{key:0,class:`fou-highlight__mark`,style:(0,t.normalizeStyle)((0,t.unref)(r))},(0,t.toDisplayString)(e.text),5)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)],64))],64))),128))]))}}),Uy=v({default:()=>Wy}),Wy=S(Hy,[[`__scopeId`,`data-v-7331076e`]]),Gy={key:0,class:`fou-hover-card__title`},Ky={class:`fou-hover-card__body`},qy=(0,t.defineComponent)({name:`FouHoverCard`,__name:`index`,props:{title:{default:``},placement:{default:`top`},width:{default:280},openDelay:{default:80},closeDelay:{default:120}},emits:[`visibleChange`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)({}),l,u,d=!1,f=()=>{l&&clearTimeout(l),u&&clearTimeout(u)},p=async()=>{f(),l=setTimeout(async()=>{s.value=!0,i(`visibleChange`,!0),await(0,t.nextTick)(),y()},r.openDelay)},m=()=>{f(),u=setTimeout(()=>{d||(s.value=!1,i(`visibleChange`,!1))},r.closeDelay)},h=()=>p(),g=()=>m(),_=()=>{d=!0,f()},v=()=>{d=!1,m()},y=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),s=0,l=0;switch(r.placement){case`top`:s=n.top-i.height-10,l=n.left+n.width/2-i.width/2;break;case`left`:s=n.top+n.height/2-i.height/2,l=n.left-i.width-10;break;case`right`:s=n.top+n.height/2-i.height/2,l=n.right+10;break;default:s=n.bottom+10,l=n.left+n.width/2-i.width/2}l=Math.min(Math.max(4,l),window.innerWidth-i.width-4),s=Math.min(Math.max(4,s),window.innerHeight-i.height-4),c.value={position:`fixed`,top:`${s}px`,left:`${l}px`,width:`${r.width}px`,zIndex:`2100`}},b=()=>s.value&&y();return(0,t.watch)(s,e=>{e?(window.addEventListener(`scroll`,b,!0),window.addEventListener(`resize`,b)):(window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b))}),(0,t.onBeforeUnmount)(()=>{f(),window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:a,class:`fou-hover-card`,onMouseenter:h,onMouseleave:g},[(0,t.renderSlot)(n.$slots,`trigger`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-hover-card-fade`},{default:(0,t.withCtx)(()=>[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`cardRef`,ref:o,class:(0,t.normalizeClass)([`fou-hover-card__panel`,[`fou-hover-card--${e.placement}`]]),style:(0,t.normalizeStyle)(c.value),onMouseenter:_,onMouseleave:v},[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gy,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Ky,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38)):(0,t.createCommentVNode)(``,!0)]),_:3})]))],64))}}),Jy=v({default:()=>Yy}),Yy=S(qy,[[`__scopeId`,`data-v-158ede3a`]]),Xy=`24-hours-fill.24-hours-line.4k-fill.4k-line.a-b.accessibility-fill.accessibility-line.account-box-2-fill.account-box-2-line.account-box-fill.account-box-line.account-circle-2-fill.account-circle-2-line.account-circle-fill.account-circle-line.account-pin-box-fill.account-pin-box-line.account-pin-circle-fill.account-pin-circle-line.add-box-fill.add-box-line.add-circle-fill.add-circle-line.add-fill.add-large-fill.add-large-line.add-line.admin-fill.admin-line.advertisement-fill.advertisement-line.aed-electrodes-fill.aed-electrodes-line.aed-fill.aed-line.ai-generate.ai-generate-2.ai-generate-text.airplay-fill.airplay-line.alarm-add-fill.alarm-add-line.alarm-fill.alarm-line.alarm-snooze-fill.alarm-snooze-line.alarm-warning-fill.alarm-warning-line.album-fill.album-line.alert-fill.alert-line.alibaba-cloud-fill.alibaba-cloud-line.aliens-fill.aliens-line.align-bottom.align-center.align-item-bottom-fill.align-item-bottom-line.align-item-horizontal-center-fill.align-item-horizontal-center-line.align-item-left-fill.align-item-left-line.align-item-right-fill.align-item-right-line.align-item-top-fill.align-item-top-line.align-item-vertical-center-fill.align-item-vertical-center-line.align-justify.align-left.align-right.align-top.align-vertically.alipay-fill.alipay-line.amazon-fill.amazon-line.anchor-fill.anchor-line.ancient-gate-fill.ancient-gate-line.ancient-pavilion-fill.ancient-pavilion-line.android-fill.android-line.angularjs-fill.angularjs-line.anthropic-fill.anthropic-line.anticlockwise-2-fill.anticlockwise-2-line.anticlockwise-fill.anticlockwise-line.app-store-fill.app-store-line.apple-fill.apple-line.apps-2-add-fill.apps-2-add-line.apps-2-ai-fill.apps-2-ai-line.apps-2-fill.apps-2-line.apps-fill.apps-line.archive-2-fill.archive-2-line.archive-drawer-fill.archive-drawer-line.archive-fill.archive-line.archive-stack-fill.archive-stack-line.armchair-fill.armchair-line.arrow-down-box-fill.arrow-down-box-line.arrow-down-circle-fill.arrow-down-circle-line.arrow-down-double-fill.arrow-down-double-line.arrow-down-fill.arrow-down-line.arrow-down-long-fill.arrow-down-long-line.arrow-down-s-fill.arrow-down-s-line.arrow-down-wide-fill.arrow-down-wide-line.arrow-drop-down-fill.arrow-drop-down-line.arrow-drop-left-fill.arrow-drop-left-line.arrow-drop-right-fill.arrow-drop-right-line.arrow-drop-up-fill.arrow-drop-up-line.arrow-go-back-fill.arrow-go-back-line.arrow-go-forward-fill.arrow-go-forward-line.arrow-left-box-fill.arrow-left-box-line.arrow-left-circle-fill.arrow-left-circle-line.arrow-left-double-fill.arrow-left-double-line.arrow-left-down-box-fill.arrow-left-down-box-line.arrow-left-down-fill.arrow-left-down-line.arrow-left-down-long-fill.arrow-left-down-long-line.arrow-left-fill.arrow-left-line.arrow-left-long-fill.arrow-left-long-line.arrow-left-right-fill.arrow-left-right-line.arrow-left-s-fill.arrow-left-s-line.arrow-left-up-box-fill.arrow-left-up-box-line.arrow-left-up-fill.arrow-left-up-line.arrow-left-up-long-fill.arrow-left-up-long-line.arrow-left-wide-fill.arrow-left-wide-line.arrow-right-box-fill.arrow-right-box-line.arrow-right-circle-fill.arrow-right-circle-line.arrow-right-double-fill.arrow-right-double-line.arrow-right-down-box-fill.arrow-right-down-box-line.arrow-right-down-fill.arrow-right-down-line.arrow-right-down-long-fill.arrow-right-down-long-line.arrow-right-fill.arrow-right-line.arrow-right-long-fill.arrow-right-long-line.arrow-right-s-fill.arrow-right-s-line.arrow-right-up-box-fill.arrow-right-up-box-line.arrow-right-up-fill.arrow-right-up-line.arrow-right-up-long-fill.arrow-right-up-long-line.arrow-right-wide-fill.arrow-right-wide-line.arrow-turn-back-fill.arrow-turn-back-line.arrow-turn-forward-fill.arrow-turn-forward-line.arrow-up-box-fill.arrow-up-box-line.arrow-up-circle-fill.arrow-up-circle-line.arrow-up-double-fill.arrow-up-double-line.arrow-up-down-fill.arrow-up-down-line.arrow-up-fill.arrow-up-line.arrow-up-long-fill.arrow-up-long-line.arrow-up-s-fill.arrow-up-s-line.arrow-up-wide-fill.arrow-up-wide-line.artboard-2-fill.artboard-2-line.artboard-fill.artboard-line.article-fill.article-line.aspect-ratio-fill.aspect-ratio-line.asterisk.at-fill.at-line.attachment-2.attachment-fill.attachment-line.auction-fill.auction-line.award-fill.award-line.baidu-fill.baidu-line.ball-pen-fill.ball-pen-line.bank-card-2-fill.bank-card-2-line.bank-card-fill.bank-card-line.bank-fill.bank-line.bar-chart-2-fill.bar-chart-2-line.bar-chart-box-ai-fill.bar-chart-box-ai-line.bar-chart-box-fill.bar-chart-box-line.bar-chart-fill.bar-chart-grouped-fill.bar-chart-grouped-line.bar-chart-horizontal-fill.bar-chart-horizontal-line.bar-chart-line.barcode-box-fill.barcode-box-line.barcode-fill.barcode-line.bard-fill.bard-line.barricade-fill.barricade-line.base-station-fill.base-station-line.basketball-fill.basketball-line.battery-2-charge-fill.battery-2-charge-line.battery-2-fill.battery-2-line.battery-charge-fill.battery-charge-line.battery-fill.battery-line.battery-low-fill.battery-low-line.battery-saver-fill.battery-saver-line.battery-share-fill.battery-share-line.bear-smile-fill.bear-smile-line.beer-fill.beer-line.behance-fill.behance-line.bell-fill.bell-line.bike-fill.bike-line.bilibili-fill.bilibili-line.bill-fill.bill-line.billiards-fill.billiards-line.bit-coin-fill.bit-coin-line.blaze-fill.blaze-line.blender-fill.blender-line.blogger-fill.blogger-line.bluesky-fill.bluesky-line.bluetooth-connect-fill.bluetooth-connect-line.bluetooth-fill.bluetooth-line.blur-off-fill.blur-off-line.bnb-fill.bnb-line.body-scan-fill.body-scan-line.bold.book-2-fill.book-2-line.book-3-fill.book-3-line.book-fill.book-line.book-marked-fill.book-marked-line.book-open-fill.book-open-line.book-read-fill.book-read-line.book-shelf-fill.book-shelf-line.booklet-fill.booklet-line.bookmark-2-fill.bookmark-2-line.bookmark-3-fill.bookmark-3-line.bookmark-fill.bookmark-line.bootstrap-fill.bootstrap-line.bowl-fill.bowl-line.box-1-fill.box-1-line.box-2-fill.box-2-line.box-3-fill.box-3-line.boxing-fill.boxing-line.braces-fill.braces-line.brackets-fill.brackets-line.brain-2-fill.brain-2-line.brain-fill.brain-line.bread-fill.bread-line.briefcase-2-fill.briefcase-2-line.briefcase-3-fill.briefcase-3-line.briefcase-4-fill.briefcase-4-line.briefcase-5-fill.briefcase-5-line.briefcase-fill.briefcase-line.bring-forward.bring-to-front.broadcast-fill.broadcast-line.brush-2-fill.brush-2-line.brush-3-fill.brush-3-line.brush-4-fill.brush-4-line.brush-ai-fill.brush-ai-line.brush-fill.brush-line.btc-fill.btc-line.bubble-chart-fill.bubble-chart-line.bug-2-fill.bug-2-line.bug-fill.bug-line.building-2-fill.building-2-line.building-3-fill.building-3-line.building-4-fill.building-4-line.building-fill.building-line.bus-2-fill.bus-2-line.bus-fill.bus-line.bus-wifi-fill.bus-wifi-line.cactus-fill.cactus-line.cake-2-fill.cake-2-line.cake-3-fill.cake-3-line.cake-fill.cake-line.calculator-fill.calculator-line.calendar-2-fill.calendar-2-line.calendar-check-fill.calendar-check-line.calendar-close-fill.calendar-close-line.calendar-event-fill.calendar-event-line.calendar-fill.calendar-line.calendar-schedule-fill.calendar-schedule-line.calendar-todo-fill.calendar-todo-line.calendar-view.camera-2-fill.camera-2-line.camera-3-fill.camera-3-line.camera-ai-fill.camera-ai-line.camera-fill.camera-lens-ai-fill.camera-lens-ai-line.camera-lens-fill.camera-lens-line.camera-line.camera-off-fill.camera-off-line.camera-switch-fill.camera-switch-line.candle-fill.candle-line.capsule-fill.capsule-line.car-fill.car-line.car-washing-fill.car-washing-line.caravan-fill.caravan-line.carousel-view.cash-fill.cash-line.cast-fill.cast-line.cellphone-fill.cellphone-line.celsius-fill.celsius-line.centos-fill.centos-line.character-recognition-fill.character-recognition-line.charging-pile-2-fill.charging-pile-2-line.charging-pile-fill.charging-pile-line.chat-1-fill.chat-1-line.chat-2-fill.chat-2-line.chat-3-fill.chat-3-line.chat-4-fill.chat-4-line.chat-ai-fill.chat-ai-line.chat-check-fill.chat-check-line.chat-delete-fill.chat-delete-line.chat-download-fill.chat-download-line.chat-follow-up-fill.chat-follow-up-line.chat-forward-fill.chat-forward-line.chat-heart-fill.chat-heart-line.chat-history-fill.chat-history-line.chat-new-fill.chat-new-line.chat-off-fill.chat-off-line.chat-poll-fill.chat-poll-line.chat-private-fill.chat-private-line.chat-quote-fill.chat-quote-line.chat-search-fill.chat-search-line.chat-settings-fill.chat-settings-line.chat-smile-2-fill.chat-smile-2-line.chat-smile-3-fill.chat-smile-3-line.chat-smile-ai-fill.chat-smile-ai-line.chat-smile-fill.chat-smile-line.chat-thread-fill.chat-thread-line.chat-unread-fill.chat-unread-line.chat-upload-fill.chat-upload-line.chat-voice-ai-fill.chat-voice-ai-line.chat-voice-fill.chat-voice-line.check-double-fill.check-double-line.check-fill.check-line.checkbox-blank-circle-fill.checkbox-blank-circle-line.checkbox-blank-fill.checkbox-blank-line.checkbox-circle-fill.checkbox-circle-line.checkbox-fill.checkbox-indeterminate-fill.checkbox-indeterminate-line.checkbox-line.checkbox-multiple-blank-fill.checkbox-multiple-blank-line.checkbox-multiple-fill.checkbox-multiple-line.chess-fill.chess-line.china-railway-fill.china-railway-line.chrome-fill.chrome-line.circle-fill.circle-line.clapperboard-ai-fill.clapperboard-ai-line.clapperboard-fill.clapperboard-line.claude-fill.claude-line.clipboard-fill.clipboard-line.clockwise-2-fill.clockwise-2-line.clockwise-fill.clockwise-line.close-circle-fill.close-circle-line.close-fill.close-large-fill.close-large-line.close-line.closed-captioning-ai-fill.closed-captioning-ai-line.closed-captioning-fill.closed-captioning-line.cloud-fill.cloud-line.cloud-off-fill.cloud-off-line.cloud-windy-fill.cloud-windy-line.cloudy-2-fill.cloudy-2-line.cloudy-fill.cloudy-line.code-ai-fill.code-ai-line.code-block.code-box-fill.code-box-line.code-fill.code-line.code-s-fill.code-s-line.code-s-slash-fill.code-s-slash-line.code-view.codepen-fill.codepen-line.coin-fill.coin-line.coins-fill.coins-line.collage-fill.collage-line.collapse-diagonal-2-fill.collapse-diagonal-2-line.collapse-diagonal-fill.collapse-diagonal-line.collapse-horizontal-fill.collapse-horizontal-line.collapse-vertical-fill.collapse-vertical-line.color-filter-ai-fill.color-filter-ai-line.color-filter-fill.color-filter-line.command-fill.command-line.community-fill.community-line.compass-2-fill.compass-2-line.compass-3-fill.compass-3-line.compass-4-fill.compass-4-line.compass-discover-fill.compass-discover-line.compass-fill.compass-line.compasses-2-fill.compasses-2-line.compasses-fill.compasses-line.computer-fill.computer-line.contacts-book-2-fill.contacts-book-2-line.contacts-book-3-fill.contacts-book-3-line.contacts-book-fill.contacts-book-line.contacts-book-upload-fill.contacts-book-upload-line.contacts-fill.contacts-line.contract-fill.contract-left-fill.contract-left-line.contract-left-right-fill.contract-left-right-line.contract-line.contract-right-fill.contract-right-line.contract-up-down-fill.contract-up-down-line.contrast-2-fill.contrast-2-line.contrast-drop-2-fill.contrast-drop-2-line.contrast-drop-fill.contrast-drop-line.contrast-fill.contrast-line.copilot-fill.copilot-line.copper-coin-fill.copper-coin-line.copper-diamond-fill.copper-diamond-line.copyleft-fill.copyleft-line.copyright-fill.copyright-line.coreos-fill.coreos-line.corner-down-left-fill.corner-down-left-line.corner-down-right-fill.corner-down-right-line.corner-left-down-fill.corner-left-down-line.corner-left-up-fill.corner-left-up-line.corner-right-down-fill.corner-right-down-line.corner-right-up-fill.corner-right-up-line.corner-up-left-double-fill.corner-up-left-double-line.corner-up-left-fill.corner-up-left-line.corner-up-right-double-fill.corner-up-right-double-line.corner-up-right-fill.corner-up-right-line.coupon-2-fill.coupon-2-line.coupon-3-fill.coupon-3-line.coupon-4-fill.coupon-4-line.coupon-5-fill.coupon-5-line.coupon-fill.coupon-line.cpu-fill.cpu-line.creative-commons-by-fill.creative-commons-by-line.creative-commons-fill.creative-commons-line.creative-commons-nc-fill.creative-commons-nc-line.creative-commons-nd-fill.creative-commons-nd-line.creative-commons-sa-fill.creative-commons-sa-line.creative-commons-zero-fill.creative-commons-zero-line.criminal-fill.criminal-line.crop-2-fill.crop-2-line.crop-fill.crop-line.cross-fill.cross-line.crosshair-2-fill.crosshair-2-line.crosshair-fill.crosshair-line.css3-fill.css3-line.cup-fill.cup-line.currency-fill.currency-line.cursor-fill.cursor-line.custom-size.customer-service-2-fill.customer-service-2-line.customer-service-fill.customer-service-line.dashboard-2-fill.dashboard-2-line.dashboard-3-fill.dashboard-3-line.dashboard-fill.dashboard-horizontal-fill.dashboard-horizontal-line.dashboard-line.database-2-fill.database-2-line.database-fill.database-line.delete-back-2-fill.delete-back-2-line.delete-back-fill.delete-back-line.delete-bin-2-fill.delete-bin-2-line.delete-bin-3-fill.delete-bin-3-line.delete-bin-4-fill.delete-bin-4-line.delete-bin-5-fill.delete-bin-5-line.delete-bin-6-fill.delete-bin-6-line.delete-bin-7-fill.delete-bin-7-line.delete-bin-fill.delete-bin-line.delete-column.delete-row.device-fill.device-line.device-recover-fill.device-recover-line.diamond-fill.diamond-line.diamond-ring-fill.diamond-ring-line.dice-1-fill.dice-1-line.dice-2-fill.dice-2-line.dice-3-fill.dice-3-line.dice-4-fill.dice-4-line.dice-5-fill.dice-5-line.dice-6-fill.dice-6-line.dice-fill.dice-line.dingding-fill.dingding-line.direction-fill.direction-line.disc-fill.disc-line.discord-fill.discord-line.discount-percent-fill.discount-percent-line.discuss-fill.discuss-line.dislike-fill.dislike-line.disqus-fill.disqus-line.divide-fill.divide-line.dna-fill.dna-line.donut-chart-fill.donut-chart-line.door-closed-fill.door-closed-line.door-fill.door-line.door-lock-box-fill.door-lock-box-line.door-lock-fill.door-lock-line.door-open-fill.door-open-line.dossier-fill.dossier-line.douban-fill.douban-line.double-quotes-l.double-quotes-r.download-2-fill.download-2-line.download-cloud-2-fill.download-cloud-2-line.download-cloud-fill.download-cloud-line.download-fill.download-line.draft-fill.draft-line.drag-drop-fill.drag-drop-line.drag-move-2-fill.drag-move-2-line.drag-move-fill.drag-move-line.draggable.dribbble-fill.dribbble-line.drinks-2-fill.drinks-2-line.drinks-fill.drinks-line.drive-fill.drive-line.drizzle-fill.drizzle-line.drop-fill.drop-line.dropbox-fill.dropbox-line.dropdown-list.dropper-fill.dropper-line.dual-sim-1-fill.dual-sim-1-line.dual-sim-2-fill.dual-sim-2-line.dv-fill.dv-line.dvd-ai-fill.dvd-ai-line.dvd-fill.dvd-line.e-bike-2-fill.e-bike-2-line.e-bike-fill.e-bike-line.earth-fill.earth-line.earthquake-fill.earthquake-line.edge-fill.edge-line.edge-new-fill.edge-new-line.edit-2-fill.edit-2-line.edit-box-fill.edit-box-line.edit-circle-fill.edit-circle-line.edit-fill.edit-line.eject-fill.eject-line.emoji-sticker-fill.emoji-sticker-line.emotion-2-fill.emotion-2-line.emotion-fill.emotion-happy-fill.emotion-happy-line.emotion-laugh-fill.emotion-laugh-line.emotion-line.emotion-normal-fill.emotion-normal-line.emotion-sad-fill.emotion-sad-line.emotion-unhappy-fill.emotion-unhappy-line.empathize-fill.empathize-line.emphasis.emphasis-cn.english-input.equal-fill.equal-line.equalizer-2-fill.equalizer-2-line.equalizer-3-fill.equalizer-3-line.equalizer-fill.equalizer-line.eraser-fill.eraser-line.error-warning-fill.error-warning-line.eth-fill.eth-line.evernote-fill.evernote-line.exchange-2-fill.exchange-2-line.exchange-box-fill.exchange-box-line.exchange-cny-fill.exchange-cny-line.exchange-dollar-fill.exchange-dollar-line.exchange-fill.exchange-funds-fill.exchange-funds-line.exchange-line.expand-diagonal-2-fill.expand-diagonal-2-line.expand-diagonal-fill.expand-diagonal-line.expand-diagonal-s-2-fill.expand-diagonal-s-2-line.expand-diagonal-s-fill.expand-diagonal-s-line.expand-height-fill.expand-height-line.expand-horizontal-fill.expand-horizontal-line.expand-horizontal-s-fill.expand-horizontal-s-line.expand-left-fill.expand-left-line.expand-left-right-fill.expand-left-right-line.expand-right-fill.expand-right-line.expand-up-down-fill.expand-up-down-line.expand-vertical-fill.expand-vertical-line.expand-vertical-s-fill.expand-vertical-s-line.expand-width-fill.expand-width-line.export-fill.export-line.external-link-fill.external-link-line.eye-2-fill.eye-2-line.eye-close-fill.eye-close-line.eye-fill.eye-line.eye-off-fill.eye-off-line.facebook-box-fill.facebook-box-line.facebook-circle-fill.facebook-circle-line.facebook-fill.facebook-line.fahrenheit-fill.fahrenheit-line.fediverse-fill.fediverse-line.feedback-fill.feedback-line.figma-fill.figma-line.file-2-fill.file-2-line.file-3-fill.file-3-line.file-4-fill.file-4-line.file-add-fill.file-add-line.file-chart-2-fill.file-chart-2-line.file-chart-fill.file-chart-line.file-check-fill.file-check-line.file-close-fill.file-close-line.file-cloud-fill.file-cloud-line.file-code-fill.file-code-line.file-copy-2-fill.file-copy-2-line.file-copy-fill.file-copy-line.file-damage-fill.file-damage-line.file-download-fill.file-download-line.file-edit-fill.file-edit-line.file-excel-2-fill.file-excel-2-line.file-excel-fill.file-excel-line.file-fill.file-forbid-fill.file-forbid-line.file-gif-fill.file-gif-line.file-history-fill.file-history-line.file-hwp-fill.file-hwp-line.file-image-fill.file-image-line.file-info-fill.file-info-line.file-line.file-list-2-fill.file-list-2-line.file-list-3-fill.file-list-3-line.file-list-fill.file-list-line.file-lock-fill.file-lock-line.file-marked-fill.file-marked-line.file-music-fill.file-music-line.file-paper-2-fill.file-paper-2-line.file-paper-fill.file-paper-line.file-pdf-2-fill.file-pdf-2-line.file-pdf-fill.file-pdf-line.file-ppt-2-fill.file-ppt-2-line.file-ppt-fill.file-ppt-line.file-reduce-fill.file-reduce-line.file-search-fill.file-search-line.file-settings-fill.file-settings-line.file-shield-2-fill.file-shield-2-line.file-shield-fill.file-shield-line.file-shred-fill.file-shred-line.file-text-fill.file-text-line.file-transfer-fill.file-transfer-line.file-unknow-fill.file-unknow-line.file-upload-fill.file-upload-line.file-user-fill.file-user-line.file-video-fill.file-video-line.file-warning-fill.file-warning-line.file-word-2-fill.file-word-2-line.file-word-fill.file-word-line.file-zip-fill.file-zip-line.film-ai-fill.film-ai-line.film-fill.film-line.filter-2-fill.filter-2-line.filter-3-fill.filter-3-line.filter-fill.filter-line.filter-off-fill.filter-off-line.find-replace-fill.find-replace-line.finder-fill.finder-line.fingerprint-2-fill.fingerprint-2-line.fingerprint-fill.fingerprint-line.fire-fill.fire-line.firebase-fill.firebase-line.firefox-browser-fill.firefox-browser-line.firefox-fill.firefox-line.first-aid-kit-fill.first-aid-kit-line.flag-2-fill.flag-2-line.flag-fill.flag-line.flag-off-fill.flag-off-line.flashlight-fill.flashlight-line.flask-fill.flask-line.flickr-fill.flickr-line.flight-land-fill.flight-land-line.flight-takeoff-fill.flight-takeoff-line.flip-horizontal-2-fill.flip-horizontal-2-line.flip-horizontal-fill.flip-horizontal-line.flip-vertical-2-fill.flip-vertical-2-line.flip-vertical-fill.flip-vertical-line.flood-fill.flood-line.flow-chart.flower-fill.flower-line.flutter-fill.flutter-line.focus-2-fill.focus-2-line.focus-3-fill.focus-3-line.focus-fill.focus-line.focus-mode.foggy-fill.foggy-line.folder-2-fill.folder-2-line.folder-3-fill.folder-3-line.folder-4-fill.folder-4-line.folder-5-fill.folder-5-line.folder-6-fill.folder-6-line.folder-add-fill.folder-add-line.folder-chart-2-fill.folder-chart-2-line.folder-chart-fill.folder-chart-line.folder-check-fill.folder-check-line.folder-close-fill.folder-close-line.folder-cloud-fill.folder-cloud-line.folder-download-fill.folder-download-line.folder-fill.folder-forbid-fill.folder-forbid-line.folder-history-fill.folder-history-line.folder-image-fill.folder-image-line.folder-info-fill.folder-info-line.folder-keyhole-fill.folder-keyhole-line.folder-line.folder-lock-fill.folder-lock-line.folder-music-fill.folder-music-line.folder-open-fill.folder-open-line.folder-received-fill.folder-received-line.folder-reduce-fill.folder-reduce-line.folder-settings-fill.folder-settings-line.folder-shared-fill.folder-shared-line.folder-shield-2-fill.folder-shield-2-line.folder-shield-fill.folder-shield-line.folder-transfer-fill.folder-transfer-line.folder-unknow-fill.folder-unknow-line.folder-upload-fill.folder-upload-line.folder-user-fill.folder-user-line.folder-video-fill.folder-video-line.folder-warning-fill.folder-warning-line.folder-zip-fill.folder-zip-line.folders-fill.folders-line.font-color.font-family.font-mono.font-sans.font-sans-serif.font-size.font-size-2.font-size-ai.football-fill.football-line.footprint-fill.footprint-line.forbid-2-fill.forbid-2-line.forbid-fill.forbid-line.format-clear.formula.forward-10-fill.forward-10-line.forward-15-fill.forward-15-line.forward-30-fill.forward-30-line.forward-5-fill.forward-5-line.forward-end-fill.forward-end-line.forward-end-mini-fill.forward-end-mini-line.fridge-fill.fridge-line.friendica-fill.friendica-line.fullscreen-exit-fill.fullscreen-exit-line.fullscreen-fill.fullscreen-line.function-add-fill.function-add-line.function-fill.function-line.functions.funds-box-fill.funds-box-line.funds-fill.funds-line.gallery-fill.gallery-line.gallery-upload-fill.gallery-upload-line.gallery-view.gallery-view-2.game-fill.game-line.gamepad-fill.gamepad-line.gas-station-fill.gas-station-line.gatsby-fill.gatsby-line.gemini-fill.gemini-line.genderless-fill.genderless-line.ghost-2-fill.ghost-2-line.ghost-fill.ghost-line.ghost-smile-fill.ghost-smile-line.gift-2-fill.gift-2-line.gift-fill.gift-line.git-branch-fill.git-branch-line.git-close-pull-request-fill.git-close-pull-request-line.git-commit-fill.git-commit-line.git-fork-fill.git-fork-line.git-merge-fill.git-merge-line.git-pr-draft-fill.git-pr-draft-line.git-pull-request-fill.git-pull-request-line.git-repository-commits-fill.git-repository-commits-line.git-repository-fill.git-repository-line.git-repository-private-fill.git-repository-private-line.github-fill.github-line.gitlab-fill.gitlab-line.glasses-2-fill.glasses-2-line.glasses-fill.glasses-line.global-fill.global-line.globe-fill.globe-line.goblet-2-fill.goblet-2-line.goblet-fill.goblet-line.goggles-fill.goggles-line.golf-ball-fill.golf-ball-line.google-fill.google-line.google-play-fill.google-play-line.government-fill.government-line.gps-fill.gps-line.gradienter-fill.gradienter-line.graduation-cap-fill.graduation-cap-line.grid-fill.grid-line.group-2-fill.group-2-line.group-3-fill.group-3-line.group-fill.group-line.guide-fill.guide-line.h-1.h-2.h-3.h-4.h-5.h-6.hail-fill.hail-line.hammer-fill.hammer-line.hand.hand-coin-fill.hand-coin-line.hand-heart-fill.hand-heart-line.hand-sanitizer-fill.hand-sanitizer-line.handbag-fill.handbag-line.hard-drive-2-fill.hard-drive-2-line.hard-drive-3-fill.hard-drive-3-line.hard-drive-fill.hard-drive-line.hashtag.haze-2-fill.haze-2-line.haze-fill.haze-line.hd-fill.hd-line.heading.headphone-fill.headphone-line.health-book-fill.health-book-line.heart-2-fill.heart-2-line.heart-3-fill.heart-3-line.heart-add-2-fill.heart-add-2-line.heart-add-fill.heart-add-line.heart-fill.heart-line.heart-pulse-fill.heart-pulse-line.hearts-fill.hearts-line.heavy-showers-fill.heavy-showers-line.hexagon-fill.hexagon-line.history-fill.history-line.home-2-fill.home-2-line.home-3-fill.home-3-line.home-4-fill.home-4-line.home-5-fill.home-5-line.home-6-fill.home-6-line.home-7-fill.home-7-line.home-8-fill.home-8-line.home-9-fill.home-9-line.home-fill.home-gear-fill.home-gear-line.home-heart-fill.home-heart-line.home-line.home-office-fill.home-office-line.home-smile-2-fill.home-smile-2-line.home-smile-fill.home-smile-line.home-wifi-fill.home-wifi-line.honor-of-kings-fill.honor-of-kings-line.honour-fill.honour-line.hospital-fill.hospital-line.hotel-bed-fill.hotel-bed-line.hotel-fill.hotel-line.hotspot-fill.hotspot-line.hourglass-2-fill.hourglass-2-line.hourglass-fill.hourglass-line.hq-fill.hq-line.html5-fill.html5-line.id-card-fill.id-card-line.ie-fill.ie-line.image-2-fill.image-2-line.image-add-fill.image-add-line.image-ai-fill.image-ai-line.image-circle-ai-fill.image-circle-ai-line.image-circle-fill.image-circle-line.image-edit-fill.image-edit-line.image-fill.image-line.import-fill.import-line.inbox-2-fill.inbox-2-line.inbox-archive-fill.inbox-archive-line.inbox-fill.inbox-line.inbox-unarchive-fill.inbox-unarchive-line.increase-decrease-fill.increase-decrease-line.indent-decrease.indent-increase.indeterminate-circle-fill.indeterminate-circle-line.infinity-fill.infinity-line.info-card-fill.info-card-line.info-i.information-2-fill.information-2-line.information-fill.information-line.information-off-fill.information-off-line.infrared-thermometer-fill.infrared-thermometer-line.ink-bottle-fill.ink-bottle-line.input-cursor-move.input-field.input-method-fill.input-method-line.insert-column-left.insert-column-right.insert-row-bottom.insert-row-top.instagram-fill.instagram-line.install-fill.install-line.instance-fill.instance-line.invision-fill.invision-line.italic.java-fill.java-line.javascript-fill.javascript-line.jewelry-fill.jewelry-line.kakao-talk-fill.kakao-talk-line.kanban-view.kanban-view-2.key-2-fill.key-2-line.key-fill.key-line.keyboard-box-fill.keyboard-box-line.keyboard-fill.keyboard-line.keynote-fill.keynote-line.kick-fill.kick-line.knife-blood-fill.knife-blood-line.knife-fill.knife-line.landscape-ai-fill.landscape-ai-line.landscape-fill.landscape-line.layout-2-fill.layout-2-line.layout-3-fill.layout-3-line.layout-4-fill.layout-4-line.layout-5-fill.layout-5-line.layout-6-fill.layout-6-line.layout-bottom-2-fill.layout-bottom-2-line.layout-bottom-fill.layout-bottom-line.layout-column-fill.layout-column-line.layout-fill.layout-grid-2-fill.layout-grid-2-line.layout-grid-fill.layout-grid-line.layout-horizontal-fill.layout-horizontal-line.layout-left-2-fill.layout-left-2-line.layout-left-fill.layout-left-line.layout-line.layout-masonry-fill.layout-masonry-line.layout-right-2-fill.layout-right-2-line.layout-right-fill.layout-right-line.layout-row-fill.layout-row-line.layout-top-2-fill.layout-top-2-line.layout-top-fill.layout-top-line.layout-vertical-fill.layout-vertical-line.leaf-fill.leaf-line.letter-spacing-2.lifebuoy-fill.lifebuoy-line.lightbulb-fill.lightbulb-flash-fill.lightbulb-flash-line.lightbulb-line.line-chart-fill.line-chart-line.line-fill.line-height.line-height-2.line-line.link.link-m.link-unlink.link-unlink-m.linkedin-box-fill.linkedin-box-line.linkedin-fill.linkedin-line.links-fill.links-line.list-check.list-check-2.list-check-3.list-indefinite.list-ordered.list-ordered-2.list-radio.list-settings-fill.list-settings-line.list-unordered.list-view.live-fill.live-line.loader-2-fill.loader-2-line.loader-3-fill.loader-3-line.loader-4-fill.loader-4-line.loader-5-fill.loader-5-line.loader-fill.loader-line.lock-2-fill.lock-2-line.lock-fill.lock-line.lock-password-fill.lock-password-line.lock-star-fill.lock-star-line.lock-unlock-fill.lock-unlock-line.login-box-fill.login-box-line.login-circle-fill.login-circle-line.logout-box-fill.logout-box-line.logout-box-r-fill.logout-box-r-line.logout-circle-fill.logout-circle-line.logout-circle-r-fill.logout-circle-r-line.loop-left-fill.loop-left-line.loop-right-fill.loop-right-line.luggage-cart-fill.luggage-cart-line.luggage-deposit-fill.luggage-deposit-line.lungs-fill.lungs-line.mac-fill.mac-line.macbook-fill.macbook-line.magic-fill.magic-line.mail-add-fill.mail-add-line.mail-ai-fill.mail-ai-line.mail-check-fill.mail-check-line.mail-close-fill.mail-close-line.mail-download-fill.mail-download-line.mail-fill.mail-forbid-fill.mail-forbid-line.mail-line.mail-lock-fill.mail-lock-line.mail-open-fill.mail-open-line.mail-send-fill.mail-send-line.mail-settings-fill.mail-settings-line.mail-star-fill.mail-star-line.mail-unread-fill.mail-unread-line.mail-volume-fill.mail-volume-line.map-2-fill.map-2-line.map-fill.map-line.map-pin-2-fill.map-pin-2-line.map-pin-3-fill.map-pin-3-line.map-pin-4-fill.map-pin-4-line.map-pin-5-fill.map-pin-5-line.map-pin-add-fill.map-pin-add-line.map-pin-fill.map-pin-line.map-pin-range-fill.map-pin-range-line.map-pin-time-fill.map-pin-time-line.map-pin-user-fill.map-pin-user-line.mark-pen-fill.mark-pen-line.markdown-fill.markdown-line.markup-fill.markup-line.mastercard-fill.mastercard-line.mastodon-fill.mastodon-line.medal-2-fill.medal-2-line.medal-fill.medal-line.medicine-bottle-fill.medicine-bottle-line.medium-fill.medium-line.megaphone-fill.megaphone-line.memories-fill.memories-line.men-fill.men-line.mental-health-fill.mental-health-line.menu-2-fill.menu-2-line.menu-3-fill.menu-3-line.menu-4-fill.menu-4-line.menu-5-fill.menu-5-line.menu-add-fill.menu-add-line.menu-fill.menu-fold-2-fill.menu-fold-2-line.menu-fold-3-fill.menu-fold-3-line.menu-fold-4-fill.menu-fold-4-line.menu-fold-fill.menu-fold-line.menu-line.menu-search-fill.menu-search-line.menu-unfold-2-fill.menu-unfold-2-line.menu-unfold-3-fill.menu-unfold-3-line.menu-unfold-4-fill.menu-unfold-4-line.menu-unfold-fill.menu-unfold-line.merge-cells-horizontal.merge-cells-vertical.message-2-fill.message-2-line.message-3-fill.message-3-line.message-fill.message-line.messenger-fill.messenger-line.meta-fill.meta-line.meteor-fill.meteor-line.mic-2-ai-fill.mic-2-ai-line.mic-2-fill.mic-2-line.mic-ai-fill.mic-ai-line.mic-fill.mic-line.mic-off-fill.mic-off-line.mickey-fill.mickey-line.microscope-fill.microscope-line.microsoft-fill.microsoft-line.microsoft-loop-fill.microsoft-loop-line.mind-map.mini-program-fill.mini-program-line.mist-fill.mist-line.mixtral-fill.mixtral-line.mobile-download-fill.mobile-download-line.money-cny-box-fill.money-cny-box-line.money-cny-circle-fill.money-cny-circle-line.money-dollar-box-fill.money-dollar-box-line.money-dollar-circle-fill.money-dollar-circle-line.money-euro-box-fill.money-euro-box-line.money-euro-circle-fill.money-euro-circle-line.money-pound-box-fill.money-pound-box-line.money-pound-circle-fill.money-pound-circle-line.money-rupee-circle-fill.money-rupee-circle-line.moon-clear-fill.moon-clear-line.moon-cloudy-fill.moon-cloudy-line.moon-fill.moon-foggy-fill.moon-foggy-line.moon-line.more-2-fill.more-2-line.more-fill.more-line.motorbike-fill.motorbike-line.mouse-fill.mouse-line.movie-2-ai-fill.movie-2-ai-line.movie-2-fill.movie-2-line.movie-ai-fill.movie-ai-line.movie-fill.movie-line.multi-image-fill.multi-image-line.music-2-fill.music-2-line.music-ai-fill.music-ai-line.music-fill.music-line.mv-ai-fill.mv-ai-line.mv-fill.mv-line.navigation-fill.navigation-line.netease-cloud-music-fill.netease-cloud-music-line.netflix-fill.netflix-line.news-fill.news-line.newspaper-fill.newspaper-line.nextjs-fill.nextjs-line.nft-fill.nft-line.no-credit-card-fill.no-credit-card-line.node-tree.nodejs-fill.nodejs-line.notification-2-fill.notification-2-line.notification-3-fill.notification-3-line.notification-4-fill.notification-4-line.notification-badge-fill.notification-badge-line.notification-fill.notification-line.notification-off-fill.notification-off-line.notification-snooze-fill.notification-snooze-line.notion-fill.notion-line.npmjs-fill.npmjs-line.number-0.number-1.number-2.number-3.number-4.number-5.number-6.number-7.number-8.number-9.numbers-fill.numbers-line.nurse-fill.nurse-line.octagon-fill.octagon-line.oil-fill.oil-line.omega.open-arm-fill.open-arm-line.open-source-fill.open-source-line.openai-fill.openai-line.openbase-fill.openbase-line.opera-fill.opera-line.order-play-fill.order-play-line.organization-chart.outlet-2-fill.outlet-2-line.outlet-fill.outlet-line.overline.p2p-fill.p2p-line.page-separator.pages-fill.pages-line.paint-brush-fill.paint-brush-line.paint-fill.paint-line.palette-fill.palette-line.pantone-fill.pantone-line.paragraph.parent-fill.parent-line.parentheses-fill.parentheses-line.parking-box-fill.parking-box-line.parking-fill.parking-line.pass-expired-fill.pass-expired-line.pass-pending-fill.pass-pending-line.pass-valid-fill.pass-valid-line.passport-fill.passport-line.patreon-fill.patreon-line.pause-circle-fill.pause-circle-line.pause-fill.pause-large-fill.pause-large-line.pause-line.pause-mini-fill.pause-mini-line.paypal-fill.paypal-line.pen-nib-fill.pen-nib-line.pencil-fill.pencil-line.pencil-ruler-2-fill.pencil-ruler-2-line.pencil-ruler-fill.pencil-ruler-line.pentagon-fill.pentagon-line.percent-fill.percent-line.perplexity-fill.perplexity-line.phone-camera-fill.phone-camera-line.phone-fill.phone-find-fill.phone-find-line.phone-line.phone-lock-fill.phone-lock-line.php-fill.php-line.picture-in-picture-2-fill.picture-in-picture-2-line.picture-in-picture-exit-fill.picture-in-picture-exit-line.picture-in-picture-fill.picture-in-picture-line.pie-chart-2-fill.pie-chart-2-line.pie-chart-box-fill.pie-chart-box-line.pie-chart-fill.pie-chart-line.pin-distance-fill.pin-distance-line.ping-pong-fill.ping-pong-line.pinterest-fill.pinterest-line.pinyin-input.pix-fill.pix-line.pixelfed-fill.pixelfed-line.plane-fill.plane-line.planet-fill.planet-line.plant-fill.plant-line.play-circle-fill.play-circle-line.play-fill.play-large-fill.play-large-line.play-line.play-list-2-fill.play-list-2-line.play-list-add-fill.play-list-add-line.play-list-fill.play-list-line.play-mini-fill.play-mini-line.play-reverse-fill.play-reverse-large-fill.play-reverse-large-line.play-reverse-line.play-reverse-mini-fill.play-reverse-mini-line.playstation-fill.playstation-line.plug-2-fill.plug-2-line.plug-fill.plug-line.poker-clubs-fill.poker-clubs-line.poker-diamonds-fill.poker-diamonds-line.poker-hearts-fill.poker-hearts-line.poker-spades-fill.poker-spades-line.polaroid-2-fill.polaroid-2-line.polaroid-fill.polaroid-line.police-badge-fill.police-badge-line.police-car-fill.police-car-line.presentation-fill.presentation-line.price-tag-2-fill.price-tag-2-line.price-tag-3-fill.price-tag-3-line.price-tag-fill.price-tag-line.printer-cloud-fill.printer-cloud-line.printer-fill.printer-line.product-hunt-fill.product-hunt-line.profile-fill.profile-line.progress-1-fill.progress-1-line.progress-2-fill.progress-2-line.progress-3-fill.progress-3-line.progress-4-fill.progress-4-line.progress-5-fill.progress-5-line.progress-6-fill.progress-6-line.progress-7-fill.progress-7-line.progress-8-fill.progress-8-line.prohibited-2-fill.prohibited-2-line.prohibited-fill.prohibited-line.projector-2-fill.projector-2-line.projector-fill.projector-line.psychotherapy-fill.psychotherapy-line.pulse-ai-fill.pulse-ai-line.pulse-fill.pulse-line.pushpin-2-fill.pushpin-2-line.pushpin-fill.pushpin-line.puzzle-2-fill.puzzle-2-line.puzzle-fill.puzzle-line.qq-fill.qq-line.qr-code-fill.qr-code-line.qr-scan-2-fill.qr-scan-2-line.qr-scan-fill.qr-scan-line.question-answer-fill.question-answer-line.question-fill.question-line.question-mark.questionnaire-fill.questionnaire-line.quill-pen-ai-fill.quill-pen-ai-line.quill-pen-fill.quill-pen-line.quote-text.radar-fill.radar-line.radio-2-fill.radio-2-line.radio-button-fill.radio-button-line.radio-fill.radio-line.rainbow-fill.rainbow-line.rainy-fill.rainy-line.ram-2-fill.ram-2-line.ram-fill.ram-line.reactjs-fill.reactjs-line.receipt-fill.receipt-line.record-circle-fill.record-circle-line.record-mail-fill.record-mail-line.rectangle-fill.rectangle-line.recycle-fill.recycle-line.red-packet-fill.red-packet-line.reddit-fill.reddit-line.refresh-fill.refresh-line.refund-2-fill.refund-2-line.refund-fill.refund-line.registered-fill.registered-line.remix-run-fill.remix-run-line.remixicon-fill.remixicon-line.remote-control-2-fill.remote-control-2-line.remote-control-fill.remote-control-line.repeat-2-fill.repeat-2-line.repeat-fill.repeat-line.repeat-one-fill.repeat-one-line.replay-10-fill.replay-10-line.replay-15-fill.replay-15-line.replay-30-fill.replay-30-line.replay-5-fill.replay-5-line.reply-all-fill.reply-all-line.reply-fill.reply-line.reserved-fill.reserved-line.reset-left-fill.reset-left-line.reset-right-fill.reset-right-line.rest-time-fill.rest-time-line.restart-fill.restart-line.restaurant-2-fill.restaurant-2-line.restaurant-fill.restaurant-line.rewind-fill.rewind-line.rewind-mini-fill.rewind-mini-line.rewind-start-fill.rewind-start-line.rewind-start-mini-fill.rewind-start-mini-line.rfid-fill.rfid-line.rhythm-fill.rhythm-line.riding-fill.riding-line.road-map-fill.road-map-line.roadster-fill.roadster-line.robot-2-fill.robot-2-line.robot-3-fill.robot-3-line.robot-fill.robot-line.rocket-2-fill.rocket-2-line.rocket-fill.rocket-line.rotate-lock-fill.rotate-lock-line.rounded-corner.route-fill.route-line.router-fill.router-line.rss-fill.rss-line.ruler-2-fill.ruler-2-line.ruler-fill.ruler-line.run-fill.run-line.safari-fill.safari-line.safe-2-fill.safe-2-line.safe-3-fill.safe-3-line.safe-fill.safe-line.sailboat-fill.sailboat-line.save-2-fill.save-2-line.save-3-fill.save-3-line.save-fill.save-line.scales-2-fill.scales-2-line.scales-3-fill.scales-3-line.scales-fill.scales-line.scan-2-fill.scan-2-line.scan-fill.scan-line.school-fill.school-line.scissors-2-fill.scissors-2-line.scissors-cut-fill.scissors-cut-line.scissors-fill.scissors-line.screenshot-2-fill.screenshot-2-line.screenshot-fill.screenshot-line.scroll-to-bottom-fill.scroll-to-bottom-line.sd-card-fill.sd-card-line.sd-card-mini-fill.sd-card-mini-line.search-2-fill.search-2-line.search-eye-fill.search-eye-line.search-fill.search-line.secure-payment-fill.secure-payment-line.seedling-fill.seedling-line.send-backward.send-plane-2-fill.send-plane-2-line.send-plane-fill.send-plane-line.send-to-back.sensor-fill.sensor-line.seo-fill.seo-line.separator.server-fill.server-line.service-bell-fill.service-bell-line.service-fill.service-line.settings-2-fill.settings-2-line.settings-3-fill.settings-3-line.settings-4-fill.settings-4-line.settings-5-fill.settings-5-line.settings-6-fill.settings-6-line.settings-fill.settings-line.shadow-fill.shadow-line.shake-hands-fill.shake-hands-line.shape-2-fill.shape-2-line.shape-fill.shape-line.shapes-fill.shapes-line.share-2-fill.share-2-line.share-box-fill.share-box-line.share-circle-fill.share-circle-line.share-fill.share-forward-2-fill.share-forward-2-line.share-forward-box-fill.share-forward-box-line.share-forward-fill.share-forward-line.share-line.shield-check-fill.shield-check-line.shield-cross-fill.shield-cross-line.shield-fill.shield-flash-fill.shield-flash-line.shield-keyhole-fill.shield-keyhole-line.shield-line.shield-star-fill.shield-star-line.shield-user-fill.shield-user-line.shining-2-fill.shining-2-line.shining-fill.shining-line.ship-2-fill.ship-2-line.ship-fill.ship-line.shirt-fill.shirt-line.shopping-bag-2-fill.shopping-bag-2-line.shopping-bag-3-fill.shopping-bag-3-line.shopping-bag-4-fill.shopping-bag-4-line.shopping-bag-fill.shopping-bag-line.shopping-basket-2-fill.shopping-basket-2-line.shopping-basket-fill.shopping-basket-line.shopping-cart-2-fill.shopping-cart-2-line.shopping-cart-fill.shopping-cart-line.showers-fill.showers-line.shuffle-fill.shuffle-line.shut-down-fill.shut-down-line.side-bar-fill.side-bar-line.sidebar-fold-fill.sidebar-fold-line.sidebar-unfold-fill.sidebar-unfold-line.signal-tower-fill.signal-tower-line.signal-wifi-1-fill.signal-wifi-1-line.signal-wifi-2-fill.signal-wifi-2-line.signal-wifi-3-fill.signal-wifi-3-line.signal-wifi-error-fill.signal-wifi-error-line.signal-wifi-fill.signal-wifi-line.signal-wifi-off-fill.signal-wifi-off-line.signpost-fill.signpost-line.sim-card-2-fill.sim-card-2-line.sim-card-fill.sim-card-line.single-quotes-l.single-quotes-r.sip-fill.sip-line.sketching.skip-back-fill.skip-back-line.skip-back-mini-fill.skip-back-mini-line.skip-down-fill.skip-down-line.skip-forward-fill.skip-forward-line.skip-forward-mini-fill.skip-forward-mini-line.skip-left-fill.skip-left-line.skip-right-fill.skip-right-line.skip-up-fill.skip-up-line.skull-2-fill.skull-2-line.skull-fill.skull-line.skype-fill.skype-line.slack-fill.slack-line.slash-commands.slash-commands-2.slice-fill.slice-line.slideshow-2-fill.slideshow-2-line.slideshow-3-fill.slideshow-3-line.slideshow-4-fill.slideshow-4-line.slideshow-fill.slideshow-line.slideshow-view.slow-down-fill.slow-down-line.smartphone-fill.smartphone-line.snapchat-fill.snapchat-line.snowflake-fill.snowflake-line.snowy-fill.snowy-line.sofa-fill.sofa-line.sort-alphabet-asc.sort-alphabet-desc.sort-asc.sort-desc.sort-number-asc.sort-number-desc.sound-module-fill.sound-module-line.soundcloud-fill.soundcloud-line.space.space-ship-fill.space-ship-line.spam-2-fill.spam-2-line.spam-3-fill.spam-3-line.spam-fill.spam-line.sparkling-2-fill.sparkling-2-line.sparkling-fill.sparkling-line.speak-ai-fill.speak-ai-line.speak-fill.speak-line.speaker-2-fill.speaker-2-line.speaker-3-fill.speaker-3-line.speaker-fill.speaker-line.spectrum-fill.spectrum-line.speed-fill.speed-line.speed-mini-fill.speed-mini-line.speed-up-fill.speed-up-line.split-cells-horizontal.split-cells-vertical.spotify-fill.spotify-line.spy-fill.spy-line.square-fill.square-line.square-root.stack-fill.stack-line.stack-overflow-fill.stack-overflow-line.stacked-view.stackshare-fill.stackshare-line.stairs-fill.stairs-line.star-fill.star-half-fill.star-half-line.star-half-s-fill.star-half-s-line.star-line.star-off-fill.star-off-line.star-s-fill.star-s-line.star-smile-fill.star-smile-line.steam-fill.steam-line.steering-2-fill.steering-2-line.steering-fill.steering-line.stethoscope-fill.stethoscope-line.sticky-note-2-fill.sticky-note-2-line.sticky-note-add-fill.sticky-note-add-line.sticky-note-fill.sticky-note-line.stock-fill.stock-line.stop-circle-fill.stop-circle-line.stop-fill.stop-large-fill.stop-large-line.stop-line.stop-mini-fill.stop-mini-line.store-2-fill.store-2-line.store-3-fill.store-3-line.store-fill.store-line.strikethrough.strikethrough-2.subscript.subscript-2.subtract-fill.subtract-line.subway-fill.subway-line.subway-wifi-fill.subway-wifi-line.suitcase-2-fill.suitcase-2-line.suitcase-3-fill.suitcase-3-line.suitcase-fill.suitcase-line.sun-cloudy-fill.sun-cloudy-line.sun-fill.sun-foggy-fill.sun-foggy-line.sun-line.supabase-fill.supabase-line.superscript.superscript-2.surgical-mask-fill.surgical-mask-line.surround-sound-fill.surround-sound-line.survey-fill.survey-line.svelte-fill.svelte-line.swap-2-fill.swap-2-line.swap-3-fill.swap-3-line.swap-box-fill.swap-box-line.swap-fill.swap-line.switch-fill.switch-line.sword-fill.sword-line.syringe-fill.syringe-line.t-box-fill.t-box-line.t-shirt-2-fill.t-shirt-2-line.t-shirt-air-fill.t-shirt-air-line.t-shirt-fill.t-shirt-line.table-2.table-3.table-alt-fill.table-alt-line.table-fill.table-line.table-view.tablet-fill.tablet-line.tailwind-css-fill.tailwind-css-line.takeaway-fill.takeaway-line.taobao-fill.taobao-line.tape-fill.tape-line.task-fill.task-line.taxi-fill.taxi-line.taxi-wifi-fill.taxi-wifi-line.team-fill.team-line.telegram-2-fill.telegram-2-line.telegram-fill.telegram-line.temp-cold-fill.temp-cold-line.temp-hot-fill.temp-hot-line.tent-fill.tent-line.terminal-box-fill.terminal-box-line.terminal-fill.terminal-line.terminal-window-fill.terminal-window-line.test-tube-fill.test-tube-line.text.text-block.text-direction-l.text-direction-r.text-snippet.text-spacing.text-wrap.thermometer-fill.thermometer-line.threads-fill.threads-line.thumb-down-fill.thumb-down-line.thumb-up-fill.thumb-up-line.thunderstorms-fill.thunderstorms-line.ticket-2-fill.ticket-2-line.ticket-fill.ticket-line.tiktok-fill.tiktok-line.time-fill.time-line.time-zone-fill.time-zone-line.timeline-view.timer-2-fill.timer-2-line.timer-fill.timer-flash-fill.timer-flash-line.timer-line.todo-fill.todo-line.toggle-fill.toggle-line.token-swap-fill.token-swap-line.tools-fill.tools-line.tooth-fill.tooth-line.tornado-fill.tornado-line.trademark-fill.trademark-line.traffic-light-fill.traffic-light-line.train-fill.train-line.train-wifi-fill.train-wifi-line.translate.translate-2.translate-ai.translate-ai-2.travesti-fill.travesti-line.treasure-map-fill.treasure-map-line.tree-fill.tree-line.trello-fill.trello-line.triangle-fill.triangle-line.triangular-flag-fill.triangular-flag-line.trophy-fill.trophy-line.truck-fill.truck-line.tumblr-fill.tumblr-line.tv-2-fill.tv-2-line.tv-fill.tv-line.twitch-fill.twitch-line.twitter-fill.twitter-line.twitter-x-fill.twitter-x-line.typhoon-fill.typhoon-line.u-disk-fill.u-disk-line.ubuntu-fill.ubuntu-line.umbrella-fill.umbrella-line.underline.uninstall-fill.uninstall-line.unpin-fill.unpin-line.unsplash-fill.unsplash-line.upload-2-fill.upload-2-line.upload-cloud-2-fill.upload-cloud-2-line.upload-cloud-fill.upload-cloud-line.upload-fill.upload-line.usb-fill.usb-line.user-2-fill.user-2-line.user-3-fill.user-3-line.user-4-fill.user-4-line.user-5-fill.user-5-line.user-6-fill.user-6-line.user-add-fill.user-add-line.user-community-fill.user-community-line.user-fill.user-follow-fill.user-follow-line.user-forbid-fill.user-forbid-line.user-heart-fill.user-heart-line.user-line.user-location-fill.user-location-line.user-minus-fill.user-minus-line.user-received-2-fill.user-received-2-line.user-received-fill.user-received-line.user-search-fill.user-search-line.user-settings-fill.user-settings-line.user-shared-2-fill.user-shared-2-line.user-shared-fill.user-shared-line.user-smile-fill.user-smile-line.user-star-fill.user-star-line.user-unfollow-fill.user-unfollow-line.user-voice-fill.user-voice-line.vercel-fill.vercel-line.verified-badge-fill.verified-badge-line.video-add-fill.video-add-line.video-ai-fill.video-ai-line.video-chat-fill.video-chat-line.video-download-fill.video-download-line.video-fill.video-line.video-off-fill.video-off-line.video-on-ai-fill.video-on-ai-line.video-on-fill.video-on-line.video-upload-fill.video-upload-line.vidicon-2-fill.vidicon-2-line.vidicon-fill.vidicon-line.vimeo-fill.vimeo-line.vip-crown-2-fill.vip-crown-2-line.vip-crown-fill.vip-crown-line.vip-diamond-fill.vip-diamond-line.vip-fill.vip-line.virus-fill.virus-line.visa-fill.visa-line.vk-fill.vk-line.voice-ai-fill.voice-ai-line.voice-recognition-fill.voice-recognition-line.voiceprint-fill.voiceprint-line.volume-down-fill.volume-down-line.volume-mute-fill.volume-mute-line.volume-off-vibrate-fill.volume-off-vibrate-line.volume-up-fill.volume-up-line.volume-vibrate-fill.volume-vibrate-line.vuejs-fill.vuejs-line.walk-fill.walk-line.wallet-2-fill.wallet-2-line.wallet-3-fill.wallet-3-line.wallet-fill.wallet-line.water-flash-fill.water-flash-line.water-percent-fill.water-percent-line.webcam-fill.webcam-line.webhook-fill.webhook-line.wechat-2-fill.wechat-2-line.wechat-channels-fill.wechat-channels-line.wechat-fill.wechat-line.wechat-pay-fill.wechat-pay-line.weibo-fill.weibo-line.weight-fill.weight-line.whatsapp-fill.whatsapp-line.wheelchair-fill.wheelchair-line.wifi-fill.wifi-line.wifi-off-fill.wifi-off-line.window-2-fill.window-2-line.window-fill.window-line.windows-fill.windows-line.windy-fill.windy-line.wireless-charging-fill.wireless-charging-line.women-fill.women-line.wordpress-fill.wordpress-line.wubi-input.xbox-fill.xbox-line.xing-fill.xing-line.xrp-fill.xrp-line.xtz-fill.xtz-line.youtube-fill.youtube-line.yuque-fill.yuque-line.zcool-fill.zcool-line.zhihu-fill.zhihu-line.zoom-in-fill.zoom-in-line.zoom-out-fill.zoom-out-line.zzz-fill.zzz-line`.split(`.`),Zy=[{id:`remix`,prefix:``,name:`Remix Icon`,license:`Apache-2.0`,valueMode:`bare`,localRemix:!0},{id:`ant-design`,prefix:`ant-design`,name:`Ant Design Icons`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ant-design/icons.json`)},{id:`ep`,prefix:`ep`,name:`EP 图标`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ep/icons.json`)},{id:`flagpack`,prefix:`flagpack`,name:`Flagpack`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/flagpack/icons.json`)},{id:`icon-park`,prefix:`icon-park`,name:`IconPark`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/icon-park/icons.json`)},{id:`icon-park-outline`,prefix:`icon-park-outline`,name:`IconPark Outline`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/icon-park-outline/icons.json`)},{id:`mdi`,prefix:`mdi`,name:`Material Design Icons`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/mdi/icons.json`)},{id:`ri`,prefix:`ri`,name:`Remix (Iconify)`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ri/icons.json`)},{id:`logos`,prefix:`logos`,name:`SVG Logos`,license:`CC0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/logos/icons.json`)},{id:`carbon`,prefix:`carbon`,name:`Carbon`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/carbon/icons.json`)},{id:`tabler`,prefix:`tabler`,name:`Tabler Icons`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/tabler/icons.json`)},{id:`lucide`,prefix:`lucide`,name:`Lucide`,license:`ISC`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/lucide/icons.json`)},{id:`ph`,prefix:`ph`,name:`Phosphor`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ph/icons.json`)},{id:`bi`,prefix:`bi`,name:`Bootstrap Icons`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/bi/icons.json`)}],Qy=new Set,$y=new Map,eb=e=>e.default||e;async function tb(e){if(e.localRemix)return[];if($y.has(e.id))return $y.get(e.id);if(!e.loader)return[];let t=eb(await e.loader());Qy.has(e.id)||((0,n.addCollection)(t),Qy.add(e.id));let r=Object.keys(t.icons||{}).sort();return $y.set(e.id,r),r}var nb=(e,t)=>e.valueMode===`bare`?t:`${e.prefix}:${t}`,rb=e=>{let t=String(e||``).trim();if(!t.includes(`:`))return`remix`;let n=t.split(`:`)[0];return Zy.find(e=>e.prefix===n)?.id||`remix`},ib={class:`fou-icon-picker`},ab={key:1,class:`fou-icon-picker__placeholder`},ob={class:`fou-icon-picker__body`},sb={class:`fou-icon-picker__libs`},cb=[`onClick`],lb={class:`fou-icon-picker__license-tip`},ub={class:`fou-icon-picker__main`},db={class:`fou-icon-picker__meta`},fb={key:0,class:`fou-icon-picker__current`},pb={class:`fou-icon-picker__current-icon`},mb={class:`fou-icon-picker__grid`},hb=[`title`],gb=[`title`,`onClick`],_b={key:1,class:`fou-icon-picker__pager`},vb=60,yb=(0,t.defineComponent)({name:`FouIconPicker`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`home-2-line / mdi:home`}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(``),s=(0,t.ref)(1),c=(0,t.ref)(`remix`),l=(0,t.ref)(!1),u=(0,t.reactive)({remix:Xy}),d=(0,t.reactive)({remix:Xy.length}),f=(0,t.computed)(()=>Zy.find(e=>e.id===c.value)||Zy[0]),p=(0,t.computed)(()=>Zy.map(e=>({...e,count:d[e.id]||(e.localRemix?Xy.length:`…`)}))),m=(0,t.computed)(()=>u[c.value]||[]),h=(0,t.computed)(()=>{let e=o.value.trim().toLowerCase();return e?m.value.filter(t=>t.toLowerCase().includes(e)):m.value}),g=(0,t.computed)(()=>Math.max(1,Math.ceil(h.value.length/vb))),_=(0,t.computed)(()=>{let e=(s.value-1)*vb;return h.value.slice(e,e+vb)}),v=e=>nb(f.value,e),y=async e=>{if(e.localRemix){u.remix=Xy,d.remix=Xy.length;return}if(!u[e.id]?.length){l.value=!0;try{let t=await tb(e);u[e.id]=t,d[e.id]=t.length}finally{l.value=!1}}},b=async e=>{c.value=e,s.value=1,o.value=``;let t=Zy.find(t=>t.id===e);t&&await y(t)},x=()=>{a.value=!0},S=async()=>{c.value=rb(r.modelValue),await y(f.value)},C=e=>{i(`update:modelValue`,v(e)),a.value=!1},w=()=>{i(`update:modelValue`,``)},T=e=>{i(`update:modelValue`,e||``),o.value=e?.includes(`:`)?e.split(`:`)[1]||``:e||``,s.value=1,a.value=!0};return(n,r)=>{let i=k,u=va,d=Vt,f=Pt,y=or,E=pt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,ib,[(0,t.createElementVNode)(`div`,{class:`fou-icon-picker__trigger`,onClick:x},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-icon-picker__preview-wrap`,{"is-on":!!e.modelValue}])},[e.modelValue?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:e.modelValue,class:`fou-icon-picker__preview`},null,8,[`icon`])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ab,(0,t.toDisplayString)((0,t.unref)(Y)(`选择图标`)),1))],2),(0,t.createVNode)(u,{"model-value":e.modelValue,class:`fou-icon-picker__input`,placeholder:e.placeholder,clearable:``,"onUpdate:modelValue":T,onFocus:x,onClick:(0,t.withModifiers)(x,[`stop`])},null,8,[`model-value`,`placeholder`]),(0,t.createVNode)(d,{size:`small`,onClick:(0,t.withModifiers)(x,[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`apps-2-line`})]),_:1})]),(0,t.createVNode)(E,{modelValue:(0,t.unref)(a),"onUpdate:modelValue":r[3]||=e=>(0,t.isRef)(a)?a.value=e:null,title:(0,t.unref)(Y)(`选择图标`),width:`920px`,"z-index":5300,"show-minimize":!1,"show-fullscreen":!1,"destroy-on-close":``,onOpened:S},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ob,[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createBlock)(Wa,{key:0,class:`fou-icon-picker__loading`})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`aside`,sb,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(p),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,t.normalizeClass)([`fou-icon-picker__lib`,{"is-active":(0,t.unref)(c)===e.id}]),onClick:t=>b(e.id)},[(0,t.createElementVNode)(`strong`,null,(0,t.toDisplayString)(e.name),1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.count)+` icons`,1),(0,t.createElementVNode)(`em`,null,(0,t.toDisplayString)(e.license),1)],10,cb))),128)),(0,t.createElementVNode)(`p`,lb,(0,t.toDisplayString)((0,t.unref)(Y)(`均为免费开源图标,可商用(按需懒加载)`)),1)]),(0,t.createElementVNode)(`div`,ub,[(0,t.createVNode)(u,{modelValue:(0,t.unref)(o),"onUpdate:modelValue":r[0]||=e=>(0,t.isRef)(o)?o.value=e:null,clearable:``,placeholder:(0,t.unref)(Y)(`搜索图标名`),class:`fou-icon-picker__search`,onInput:r[1]||=e=>s.value=1},{prefix:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`search-line`})]),_:1},8,[`modelValue`,`placeholder`]),(0,t.createElementVNode)(`div`,db,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(h).length)+` / `+(0,t.toDisplayString)((0,t.unref)(m).length),1),e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,fb,[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`当前`))+`: `,1),(0,t.createElementVNode)(`span`,pb,[(0,t.createVNode)(i,{icon:e.modelValue},null,8,[`icon`])]),(0,t.createElementVNode)(`code`,null,(0,t.toDisplayString)(e.modelValue),1)])):(0,t.createCommentVNode)(``,!0),e.modelValue?((0,t.openBlock)(),(0,t.createBlock)(d,{key:1,link:``,type:`danger`,size:`small`,onClick:w},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`清除`)),1)]),_:1})):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,mb,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-icon-picker__item is-clear`,title:(0,t.unref)(Y)(`清除图标`),onClick:w},[(0,t.createVNode)(i,{icon:`delete-bin-line`}),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`清除`)),1)],8,hb),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(_),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-icon-picker__item`,{"is-active":e.modelValue===v(n)}]),title:v(n),onClick:e=>C(n)},[(0,t.createVNode)(i,{icon:v(n)},null,8,[`icon`]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(n),1)],10,gb))),128))]),!(0,t.unref)(l)&&!(0,t.unref)(h).length?((0,t.openBlock)(),(0,t.createBlock)(f,{key:0,description:(0,t.unref)(Y)(`无匹配图标`)},null,8,[`description`])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(g)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_b,[(0,t.createVNode)(y,{"current-page":(0,t.unref)(s),"onUpdate:currentPage":r[2]||=e=>(0,t.isRef)(s)?s.value=e:null,background:``,layout:`prev, pager, next, jumper`,"page-size":vb,total:(0,t.unref)(h).length,small:``},null,8,[`current-page`,`total`])])):(0,t.createCommentVNode)(``,!0)])])]),_:1},8,[`modelValue`,`title`])])}}}),bb=v({default:()=>xb}),xb=S(yb,[[`__scopeId`,`data-v-cac005a6`]]),Sb=[`src`],Cb={class:`fou-image-viewer__toolbar`},wb={key:2,class:`fou-image-viewer__index`},Tb=(0,t.defineComponent)({name:`FouImageViewer`,__name:`index`,props:{modelValue:{type:Boolean,default:!1},urlList:{default:()=>[]},initialIndex:{default:0},hideOnClickModal:{type:Boolean,default:!0},zIndex:{}},emits:[`update:modelValue`,`close`,`switch`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(0),o=(0,t.ref)(3e3),s=(0,t.ref)(1),c=(0,t.computed)(()=>(r.urlList||[]).filter(Boolean));(0,t.watch)(()=>[r.modelValue,r.initialIndex],([e,t])=>{e&&(a.value=Math.min(Math.max(0,t),Math.max(0,c.value.length-1)),s.value=1,o.value=r.zIndex||G(3e3))},{immediate:!0});let l=()=>{i(`update:modelValue`,!1),i(`close`)},u=()=>{r.hideOnClickModal&&l()},d=e=>{c.value.length&&(a.value=(a.value+e+c.value.length)%c.value.length,s.value=1,i(`switch`,a.value))},f=e=>{s.value=Math.min(4,Math.max(.4,Number((s.value+e).toFixed(2))))},p=e=>{f(e.deltaY>0?-.15:.15)},m=e=>{r.modelValue&&(e.key===`Escape`&&l(),e.key===`ArrowLeft`&&d(-1),e.key===`ArrowRight`&&d(1))};return(0,t.onMounted)(()=>document.addEventListener(`keydown`,m)),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`keydown`,m)),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-image-viewer-fade`},{default:(0,t.withCtx)(()=>[e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-image-viewer`,style:(0,t.normalizeStyle)({zIndex:(0,t.unref)(o)}),role:`dialog`,"aria-modal":`true`,"aria-label":`图片预览`,onClick:(0,t.withModifiers)(u,[`self`])},[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-image-viewer__btn is-close`,"aria-label":`关闭`,onClick:l},[(0,t.createVNode)(i,{icon:`close-line`})]),(0,t.unref)(c).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-image-viewer__btn is-prev`,"aria-label":`上一张`,onClick:r[0]||=(0,t.withModifiers)(e=>d(-1),[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-left-s-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(c).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-image-viewer__btn is-next`,"aria-label":`下一张`,onClick:r[1]||=(0,t.withModifiers)(e=>d(1),[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-right-s-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`img`,{class:`fou-image-viewer__img`,src:(0,t.unref)(c)[(0,t.unref)(a)]||``,alt:``,style:(0,t.normalizeStyle)({transform:`scale(${(0,t.unref)(s)})`}),onClick:r[2]||=(0,t.withModifiers)(()=>{},[`stop`]),onWheel:(0,t.withModifiers)(p,[`prevent`])},null,44,Sb),(0,t.createElementVNode)(`div`,Cb,[(0,t.createElementVNode)(`button`,{type:`button`,"aria-label":`缩小`,onClick:r[3]||=(0,t.withModifiers)(e=>f(-.2),[`stop`])},[(0,t.createVNode)(i,{icon:`zoom-out-line`})]),(0,t.createElementVNode)(`button`,{type:`button`,"aria-label":`重置`,onClick:r[4]||=(0,t.withModifiers)(e=>s.value=1,[`stop`])},[(0,t.createVNode)(i,{icon:`aspect-ratio-line`})]),(0,t.createElementVNode)(`button`,{type:`button`,"aria-label":`放大`,onClick:r[5]||=(0,t.withModifiers)(e=>f(.2),[`stop`])},[(0,t.createVNode)(i,{icon:`zoom-in-line`})])]),(0,t.unref)(c).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wb,(0,t.toDisplayString)((0,t.unref)(a)+1)+` / `+(0,t.toDisplayString)((0,t.unref)(c).length),1)):(0,t.createCommentVNode)(``,!0)],4)):(0,t.createCommentVNode)(``,!0)]),_:1})])}}}),Eb=v({default:()=>Db}),Db=S(Tb,[[`__scopeId`,`data-v-98059a31`]]),Ob=Symbol(`FouImagePreviewGroup`),kb=[`src`,`alt`,`loading`],Ab={key:0,class:`fou-image__mask`},jb=(0,t.defineComponent)({name:`FouImage`,__name:`index`,props:{src:{default:``},fit:{default:`cover`},alt:{default:``},lazy:{type:Boolean,default:!1},preview:{type:Boolean,default:!0},previewSrcList:{default:()=>[]},initialIndex:{default:0},hideOnClickModal:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.inject)(Ob,null),i=(0,t.ref)(!1),a=(0,t.computed)(()=>n.previewSrcList.length?n.previewSrcList:n.src?[n.src]:[]),o=(0,t.computed)(()=>{if(!n.previewSrcList.length)return 0;let e=n.previewSrcList.indexOf(n.src||``);return e>=0?e:n.initialIndex}),s=(0,t.computed)(()=>n.preview&&(!!n.src||n.previewSrcList.length>0));(0,t.watch)(()=>n.src,(e,t)=>{r&&(t&&r.unregister(t),e&&r.register(e))},{immediate:!0}),(0,t.onUnmounted)(()=>{n.src&&r?.unregister(n.src)});let c=()=>{if(s.value){if(r&&n.src){r.open(n.src);return}i.value=!0}};return(n,l)=>{let u=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-image`,{"is-preview":(0,t.unref)(s)}]),onClick:c},[(0,t.createElementVNode)(`img`,{class:`fou-image__inner`,src:e.src,alt:e.alt,loading:e.lazy?`lazy`:void 0,style:(0,t.normalizeStyle)({objectFit:e.fit})},null,12,kb),(0,t.unref)(s)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ab,[(0,t.createVNode)(u,{icon:`zoom-in-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(r)?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(Db,{key:1,modelValue:(0,t.unref)(i),"onUpdate:modelValue":l[0]||=e=>(0,t.isRef)(i)?i.value=e:null,"url-list":(0,t.unref)(a),"initial-index":(0,t.unref)(o),"hide-on-click-modal":e.hideOnClickModal},null,8,[`modelValue`,`url-list`,`initial-index`,`hide-on-click-modal`]))],2)}}}),Mb=v({default:()=>Nb}),Nb=S(jb,[[`__scopeId`,`data-v-7a1a7c78`]]),Pb={class:`fou-image-preview-group`},Fb=(0,t.defineComponent)({name:`FouImagePreviewGroup`,__name:`index`,setup(e){let n=(0,t.ref)([]),r=(0,t.ref)(!1),i=(0,t.ref)(0);return(0,t.provide)(Ob,{register:e=>{e&&!n.value.includes(e)&&(n.value=[...n.value,e])},unregister:e=>{n.value=n.value.filter(t=>t!==e)},open:e=>{let t=n.value.indexOf(e);i.value=t>=0?t:0,r.value=!0}}),(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Pb,[(0,t.renderSlot)(e.$slots,`default`),(0,t.createVNode)(Db,{modelValue:(0,t.unref)(r),"onUpdate:modelValue":a[0]||=e=>(0,t.isRef)(r)?r.value=e:null,"url-list":(0,t.unref)(n),"initial-index":(0,t.unref)(i),onSwitch:a[1]||=e=>i.value=e},null,8,[`modelValue`,`url-list`,`initial-index`])]))}}),Ib=v({default:()=>Lb}),Lb=Fb,Rb=[`value`,`disabled`,`type`,`aria-label`,`onInput`,`onKeydown`,`onFocus`],zb=(0,t.defineComponent)({name:`FouInputOtp`,__name:`index`,props:{modelValue:{default:``},length:{default:6},size:{default:`default`},disabled:{type:Boolean,default:!1},mask:{type:Boolean,default:!1},numeric:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`complete`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)([]),s=(0,t.computed)(()=>{let e=String(r.modelValue||``).slice(0,r.length).split(``),t=[];for(let n=0;n<r.length;n++)t.push(e[n]??``);return t}),c=(e,t)=>{o.value[t]=e},l=e=>{let t=e.join(``);i(`update:modelValue`,t),i(`change`,t),t.length===r.length&&!e.includes(``)&&i(`complete`,t)},u=e=>{(0,t.nextTick)(()=>o.value[e]?.focus())},d=(e,t)=>{let n=e.target.value;r.numeric&&(n=n.replace(/\D/g,``)),n=n.slice(-1);let i=[...s.value];i[t]=n,n&&t<r.length-1&&u(t+1),l(i)},f=(e,t)=>{if(e.key===`Backspace`){let n=[...s.value];n[t]?(n[t]=``,l(n)):t>0&&(n[t-1]=``,l(n),u(t-1)),e.preventDefault()}else e.key===`ArrowLeft`&&t>0?u(t-1):e.key===`ArrowRight`&&t<r.length-1&&u(t+1)},p=(e,t)=>{e.target.select()},m=e=>{e.preventDefault();let t=e.clipboardData?.getData(`text`)??``;r.numeric&&(t=t.replace(/\D/g,``));let n=t.slice(0,r.length).split(``),i=[...s.value];n.forEach((e,t)=>i[t]=e),l(i),u(Math.min(n.length,r.length-1))};return(0,t.watch)(()=>r.length,()=>o.value=[]),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-otp`,[`fou-otp--${e.size}`,{"is-disabled":e.disabled}]]),onPaste:m},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s.value,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:r,ref_for:!0,ref:e=>c(e,r),class:(0,t.normalizeClass)([`fou-otp__input`,{"is-filled":!!n}]),value:n,disabled:e.disabled,type:e.mask?`password`:`text`,inputmode:`numeric`,maxlength:`1`,"aria-label":`验证码第 ${r+1} 位`,onInput:e=>d(e,r),onKeydown:e=>f(e,r),onFocus:e=>p(e,r)},null,42,Rb))),128))],34))}}),Bb=v({default:()=>Vb}),Vb=S(zb,[[`__scopeId`,`data-v-f3046b65`]]),Hb={class:`fou-input-tag__text`},Ub=[`onClick`],Wb={key:0,class:`fou-input-tag__more`},Gb=[`value`,`placeholder`,`disabled`],Kb=(0,t.defineComponent)({name:`FouInputTag`,__name:`index`,props:{modelValue:{default:()=>[]},placeholder:{default:`请输入后回车`},disabled:{type:Boolean,default:!1},max:{default:0},collapseTags:{type:Boolean,default:!1},collapseTagsTooltip:{type:Boolean},closable:{type:Boolean,default:!0},size:{default:`default`},delimiter:{default:`,`},trigger:{default:`Enter`}},emits:[`update:modelValue`,`change`,`add`,`remove`],setup(e,{emit:n}){let r=e,i=n,a=di(()=>r.disabled),{triggerBlur:o,triggerChange:s}=fi(),c=(0,t.ref)(null),l=(0,t.ref)(``),u=(0,t.ref)(!1),d=(0,t.computed)(()=>Array.isArray(r.modelValue)?r.modelValue:[]),f=(0,t.computed)(()=>r.max>0&&d.value.length>=r.max),p=(0,t.computed)(()=>r.collapseTags&&d.value.length>1?d.value.slice(0,1):d.value),m=(0,t.computed)(()=>r.collapseTags&&d.value.length>1?d.value.length-1:0),h=(0,t.computed)(()=>{let e=r.delimiter;return Array.isArray(e)?e:[e]}),g=e=>{let t=e.trim();if(!t||a.value||f.value){l.value=``;return}if(d.value.includes(t)){l.value=``;return}let n=[...d.value,t];i(`update:modelValue`,n),i(`change`,n),i(`add`,t),s(),l.value=``},_=e=>{if(a.value)return;let t=d.value[e],n=d.value.filter((t,n)=>n!==e);i(`update:modelValue`,n),i(`change`,n),i(`remove`,t),s()},v=e=>{let t=e.target.value,n=h.value.find(e=>e&&t.includes(e));if(n){g(t.split(n)[0]||``);return}l.value=t},y=e=>{let t=e.key===`Enter`,n=e.key===` `;if(r.trigger===`Enter`&&t||r.trigger===`Space`&&n||r.trigger===`Both`&&(t||n)){e.preventDefault(),g(l.value);return}e.key===`Backspace`&&!l.value&&d.value.length&&_(d.value.length-1)},b=()=>{u.value=!1,l.value&&g(l.value),o()},x=()=>{a.value||c.value?.focus()};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-input-tag`,[`fou-input-tag--${e.size}`,{"is-disabled":(0,t.unref)(a),"is-focused":(0,t.unref)(u),"is-collapse":e.collapseTags}]]),onClick:x},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(p),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:`${n}-${r}`,class:`fou-input-tag__tag`},[(0,t.createElementVNode)(`span`,Hb,(0,t.toDisplayString)(n),1),!(0,t.unref)(a)&&e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-input-tag__close`,"aria-label":`删除`,onClick:(0,t.withModifiers)(e=>_(r),[`stop`])},` × `,8,Ub)):(0,t.createCommentVNode)(``,!0)]))),128)),(0,t.unref)(m)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Wb,`+`+(0,t.toDisplayString)((0,t.unref)(m)),1)):(0,t.createCommentVNode)(``,!0),!(0,t.unref)(a)&&!(0,t.unref)(f)?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,ref_key:`inputRef`,ref:c,class:`fou-input-tag__inner`,value:(0,t.unref)(l),placeholder:(0,t.unref)(d).length?``:e.placeholder,disabled:(0,t.unref)(a),onInput:v,onKeydown:y,onFocus:r[0]||=e=>u.value=!0,onBlur:b},null,40,Gb)):(0,t.createCommentVNode)(``,!0)],2))}}),qb=v({default:()=>Jb}),Jb=S(Kb,[[`__scopeId`,`data-v-d22da89a`]]),Yb=(0,t.defineComponent)({name:`FouKbd`,__name:`index`,props:{size:{default:`default`}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`kbd`,{class:(0,t.normalizeClass)([`fou-kbd`,[`fou-kbd--${e.size}`]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),Xb=v({default:()=>Zb}),Zb=S(Yb,[[`__scopeId`,`data-v-7af3b298`]]),Qb=(0,t.defineComponent)({name:`FouLayoutContainer`,__name:`index`,props:{direction:{default:`horizontal`},fit:{type:Boolean,default:!1},gap:{default:12}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-layout`,[`fou-layout--${e.direction}`]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),$b=v({default:()=>ex}),ex=S(Qb,[[`__scopeId`,`data-v-8f7fef83`]]),tx=[`href`,`target`,`rel`],nx={key:1,class:`fou-link__text`},rx=(0,t.defineComponent)({name:`FouLink`,__name:`index`,props:{type:{default:`default`},href:{},target:{},underline:{type:[Boolean,String],default:`hover`},disabled:{type:Boolean,default:!1},icon:{},iconRight:{}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.target===`_blank`?`noopener noreferrer`:void 0),o=e=>{if(r.disabled){e.preventDefault(),e.stopPropagation();return}i(`click`,e)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`a`,{class:(0,t.normalizeClass)([`fou-link`,[`fou-link--${e.type}`,{"is-underline":e.underline===!0||e.underline===`always`,"is-hover-underline":e.underline===`hover`||e.underline===!0,"is-disabled":e.disabled}]]),href:e.disabled?void 0:e.href,target:e.target,rel:(0,t.unref)(a),onClick:o},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:e.icon,class:`fou-link__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,nx,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),e.iconRight?((0,t.openBlock)(),(0,t.createBlock)(i,{key:2,icon:e.iconRight,class:`fou-link__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0)],10,tx)}}}),ix=v({default:()=>ax}),ax=S(rx,[[`__scopeId`,`data-v-c2be34b7`]]),ox=[`href`,`target`],sx={class:`fou-link-preview__content`},cx={class:`fou-link-preview__host`},lx={key:0,class:`fou-link-preview__title`},ux={key:1,class:`fou-link-preview__desc`},dx=(0,t.defineComponent)({name:`FouLinkPreview`,__name:`index`,props:{href:{},title:{default:``},description:{default:``},image:{default:``},target:{default:`_blank`},openDelay:{default:200},closeDelay:{default:150}},emits:[`visibleChange`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)({}),l,u,d=!1,f=(0,t.computed)(()=>{try{return new URL(r.href).hostname}catch{return r.href}}),p=()=>{l&&clearTimeout(l),u&&clearTimeout(u)},m=async()=>{p(),l=setTimeout(async()=>{s.value=!0,i(`visibleChange`,!0),await(0,t.nextTick)(),b()},r.openDelay)},h=()=>{p(),u=setTimeout(()=>{d||(s.value=!1,i(`visibleChange`,!1))},r.closeDelay)},g=()=>m(),_=()=>h(),v=()=>{d=!0,p()},y=()=>{d=!1,h()},b=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+10;i+r.height>window.innerHeight-4&&(i=n.top-r.height-10);let s=n.left;s=Math.min(Math.max(4,s),window.innerWidth-r.width-4),i=Math.max(4,i),c.value={position:`fixed`,top:`${i}px`,left:`${s}px`,width:`${Math.min(320,window.innerWidth-8)}px`,zIndex:`2100`}},x=()=>s.value&&b();return(0,t.watch)(s,e=>{e?(window.addEventListener(`scroll`,x,!0),window.addEventListener(`resize`,x)):(window.removeEventListener(`scroll`,x,!0),window.removeEventListener(`resize`,x))}),(0,t.onBeforeUnmount)(()=>{p(),window.removeEventListener(`scroll`,x,!0),window.removeEventListener(`resize`,x)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`a`,{ref_key:`triggerRef`,ref:a,class:`fou-link-preview`,href:e.href,target:e.target,rel:`noopener noreferrer`,onMouseenter:g,onMouseleave:_},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.href),1)],!0)],40,ox),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-link-preview-fade`},{default:(0,t.withCtx)(()=>[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`cardRef`,ref:o,class:`fou-link-preview__panel`,style:(0,t.normalizeStyle)(c.value),onMouseenter:v,onMouseleave:y},[e.image?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-link-preview__image`,style:(0,t.normalizeStyle)({backgroundImage:`url(${e.image})`})},null,4)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,sx,[(0,t.createElementVNode)(`div`,cx,[(0,t.createVNode)(i,{icon:`links-line`}),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(f.value),1)]),e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lx,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ux,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)])],36)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],64)}}}),fx=v({default:()=>px}),px=S(dx,[[`__scopeId`,`data-v-3733dca3`]]),mx=[`value`,`rows`,`placeholder`,`disabled`],hx=[`value`,`placeholder`,`disabled`],gx={class:`fou-mention__list`},_x=[`onMousedown`,`onMouseenter`],vx={key:0,class:`fou-mention__avatar`},yx={class:`fou-mention__label`},bx=(0,t.defineComponent)({name:`FouMention`,__name:`index`,props:{modelValue:{default:``},options:{default:()=>[]},triggerChar:{default:`@`},placeholder:{default:`输入 @ 提及他人`},size:{default:`default`},disabled:{type:Boolean,default:!1},type:{default:`text`},rows:{default:3}},emits:[`update:modelValue`,`select`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(0),l=(0,t.ref)(``),u=(0,t.ref)({}),d=(0,t.computed)(()=>{let e=l.value.toLowerCase();return r.options.filter(t=>t.label.toLowerCase().includes(e))}),f=e=>{let t=e.target.value;i(`update:modelValue`,t),p(t,e.target.selectionStart??t.length)},p=(e,t)=>{let n=e.slice(0,t),i=n.lastIndexOf(r.triggerChar);if(i===-1){s.value=!1;return}let a=n.slice(i+1);if(/\s/.test(a)){s.value=!1;return}l.value=a,c.value=0,m()},m=async()=>{s.value=!0,await(0,t.nextTick)(),h()},h=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+4;i+r.height>window.innerHeight-4&&(i=n.top-r.height-4);let s=Math.min(Math.max(4,n.left),window.innerWidth-r.width-4);i=Math.max(4,i),u.value={position:`fixed`,top:`${i}px`,left:`${s}px`,width:`${Math.max(n.width,180)}px`,zIndex:`2100`}},g=e=>{let n=a.value;if(!n)return;let o=r.modelValue,c=n.selectionStart??o.length,l=o.slice(0,c).lastIndexOf(r.triggerChar),u=o.slice(0,l),d=o.slice(c),f=`${r.triggerChar}${e.label} `,p=u+f+d;i(`update:modelValue`,p),i(`select`,e),s.value=!1,(0,t.nextTick)(()=>{let e=(u+f).length;n.focus(),n.setSelectionRange(e,e)})},_=e=>g(e),v=e=>{if(s.value){if(e.key===`ArrowDown`)e.preventDefault(),c.value<d.value.length-1&&c.value++;else if(e.key===`ArrowUp`)e.preventDefault(),c.value>0&&c.value--;else if(e.key===`Enter`){e.preventDefault();let t=d.value[c.value];t&&g(t)}else e.key===`Escape`&&(s.value=!1)}},y=e=>{if([`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){let t=e.target;p(t.value,t.selectionStart??0)}},b=e=>{s.value&&(o.value?.contains(e.target)||(s.value=!1))};return(0,t.watch)(s,e=>{e?document.addEventListener(`mousedown`,b,!0):document.removeEventListener(`mousedown`,b,!0)}),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`mousedown`,b,!0)),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-mention`,[`fou-mention--${e.size}`,{"is-disabled":e.disabled}]])},[e.type===`textarea`?((0,t.openBlock)(),(0,t.createElementBlock)(`textarea`,{key:0,ref_key:`inputRef`,ref:a,class:`fou-mention__input`,value:e.modelValue,rows:e.rows,placeholder:e.placeholder,disabled:e.disabled,onInput:f,onKeydown:v,onKeyup:y},null,40,mx)):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,ref_key:`inputRef`,ref:a,class:`fou-mention__input`,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,onInput:f,onKeydown:v,onKeyup:y},null,40,hx)),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`panelRef`,ref:o,class:`fou-mention__panel`,style:(0,t.normalizeStyle)(u.value)},[(0,t.createElementVNode)(`ul`,gx,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(d.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.value,class:(0,t.normalizeClass)([`fou-mention__option`,{"is-active":n===c.value}]),onMousedown:(0,t.withModifiers)(t=>_(e),[`prevent`]),onMouseenter:e=>c.value=n},[e.avatar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,vx,(0,t.toDisplayString)(e.avatar),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,yx,(0,t.toDisplayString)(e.label),1)],42,_x))),128))])],4)):(0,t.createCommentVNode)(``,!0)]))],2))}}),xx=v({default:()=>Sx}),Sx=S(bx,[[`__scopeId`,`data-v-f948204c`]]),Cx=Symbol(`FouRouteMenu`),wx={class:`fou-route-menu__list`},Tx=(0,t.defineComponent)({name:`FouMenuRoot`,__name:`FouMenuRoot`,props:{mode:{default:`vertical`},defaultActive:{default:``},collapse:{type:Boolean,default:!1},uniqueOpened:{type:Boolean,default:!1},defaultOpeneds:{default:()=>[]},menuTrigger:{default:`click`}},setup(e,{expose:n}){let r=e,i=(0,t.ref)(r.defaultActive),a=(0,t.ref)(new Set);(0,t.watch)(()=>r.defaultActive,e=>{e&&(i.value=e)}),(0,t.watch)(()=>[...r.defaultOpeneds],e=>{e.forEach(e=>f(e))},{immediate:!0});let o=(0,t.computed)(()=>r.mode),s=(0,t.computed)(()=>r.collapse),c=(0,t.computed)(()=>r.uniqueOpened),l=(0,t.computed)(()=>r.menuTrigger),u=(0,t.computed)(()=>i.value),d=e=>a.value.has(e),f=e=>{if(r.collapse||r.mode===`horizontal`){let t=new Set;for(let n of a.value)(e===n||e.startsWith(`${n}/`))&&t.add(n);t.add(e),a.value=t;return}let t=new Set;if(r.uniqueOpened&&r.mode===`vertical`)for(let n of a.value)(e===n||e.startsWith(`${n}/`))&&t.add(n);else for(let e of a.value)t.add(e);t.add(e),a.value=t},p=e=>{let t=new Set;for(let n of a.value)n===e||n.startsWith(`${e}/`)||t.add(n);a.value=t},m=()=>{a.value=new Set},h=null,g=()=>!!(document.querySelector(`.fou-menu-flyout-panel:hover`)||document.querySelector(`.fou-route-menu-sub.is-popup > .fou-route-menu-sub__title:hover`)||document.querySelector(`.fou-route-menu.is-collapse .fou-route-menu-sub__title:hover`)||document.querySelector(`.fou-route-menu--horizontal .fou-route-menu-sub__title:hover`)||document.querySelector(`.fou-route-menu-item__tip:hover`));return(0,t.onBeforeUnmount)(()=>{h&&clearTimeout(h)}),(0,t.provide)(Cx,{mode:o,collapse:s,activeIndex:u,uniqueOpened:c,menuTrigger:l,isSubOpen:d,toggleSub:e=>{d(e)?p(e):f(e)},openSub:f,closeSub:p,enterFlyout:e=>{h&&=(clearTimeout(h),null),f(e)},leaveFlyout:()=>{h&&clearTimeout(h);let e=r.mode===`horizontal`?280:160;h=setTimeout(()=>{if(g()){h=null;return}(r.collapse||r.mode===`horizontal`)&&m(),h=null},e)},selectItem:e=>{i.value=e},isActive:e=>{let t=i.value;return t===e||t.startsWith(`${e}/`)}}),n({open:f,close:p,closeAll:m}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{class:(0,t.normalizeClass)([`fou-route-menu`,[`fou-route-menu--${e.mode}`,{"is-collapse":e.collapse}]]),role:`menu`},[(0,t.createElementVNode)(`ul`,wx,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],2))}}),Ex=v({default:()=>Dx}),Dx=S(Tx,[[`__scopeId`,`data-v-2586617d`]]),Ox=`加载中...`,kx=3e3;function Ax(e,...t){return e}var jx=(0,t.reactive)({lock:!1,device:`desktop`,theme:{layout:`vertical`,autoHideColumnMenu:!1}}),Mx=()=>({lock:(0,t.computed)(()=>jx.lock),device:(0,t.computed)(()=>jx.device),theme:(0,t.computed)(()=>jx.theme),foldSideBar:()=>{}});function Nx(e){return/^(https?:|mailto:|tel:|http)/.test(e||``)}var Px={class:`fou-route-menu-item__inner`},Fx={class:`fou-route-menu-item__icon-wrap`},Ix=[`title`],Lx={class:`fou-route-menu-item__tip-title`},Rx=(0,t.defineComponent)({name:`FouMenuItem`,__name:`FouMenuItem`,props:{itemOrMenu:{type:Object,default:()=>({})}},setup(e){let n=e,i=(0,t.inject)(Cx,null),a=null,s=null;try{a=(0,o.useRoute)(),s=(0,o.useRouter)()}catch{a=null,s=null}let c=Mx(),l=(0,t.computed)(()=>{try{return c.device?.value??c.device??`desktop`}catch{return`desktop`}}),u=(0,t.computed)(()=>{try{return c.theme?.value??c.theme??{layout:`vertical`}}catch{return{layout:`vertical`}}}),d=()=>{try{c.foldSideBar?.()}catch{}},{enter:f,exit:p}=(0,r.useFullscreen)(),m=()=>{u.value.layout===`column`&&u.value.autoHideColumnMenu&&l.value!==`mobile`&&d()},h=(0,t.ref)(null),g=(0,t.ref)(!1),_=(0,t.ref)({}),v=null,y=(0,t.computed)(()=>n.itemOrMenu.path),b=(0,t.computed)(()=>i?.activeIndex.value===y.value),x=(0,t.computed)(()=>i?.collapse.value??!1),S=(0,t.computed)(()=>Ax(n.itemOrMenu.meta?.title||``)),C=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeType||`info`),w=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeEffect||`dark`),T=(0,t.computed)(()=>{let e=n.itemOrMenu.meta?.dot;return e===!0?`danger`:typeof e==`string`?e:`danger`}),E=()=>{let e=h.value;if(!e)return;let t=e.getBoundingClientRect();_.value={position:`fixed`,top:`${Math.round(t.top+t.height/2)}px`,left:`${Math.round(t.right+10)}px`,transform:`translateY(-50%)`,zIndex:`4100`}},D=()=>{v&&=(clearTimeout(v),null),x.value&&(h.value?.closest(`.fou-route-menu-sub__list.is-flyout`)||(E(),g.value=!0))},O=()=>{v&&clearTimeout(v),v=setTimeout(()=>{g.value=!1,v=null},80)};(0,t.onBeforeUnmount)(()=>{v&&clearTimeout(v)});let A=()=>{i?.selectItem(y.value),m(),(0,t.nextTick)(()=>{let e=n.itemOrMenu.path,t=n.itemOrMenu.meta.target,r=n.itemOrMenu.meta.fullscreen;t===`_blank`?((Nx(e)||a?.path!==e)&&window.open(e),s?.push(`/redirect`).catch(()=>{})):Nx(e)?globalThis.location.href=e:(!a||a.path!==e)&&(l.value===`mobile`&&d(),s?.push(n.itemOrMenu.path).catch(()=>{})),setTimeout(()=>{r?f():p()},1e3)})};return(n,r)=>{let i=k,a=Qv,o=fl;return(0,t.openBlock)(),(0,t.createElementBlock)(`li`,{ref_key:`itemRef`,ref:h,class:(0,t.normalizeClass)([`fou-route-menu-item`,{"is-active":(0,t.unref)(b),"is-collapse-tip":(0,t.unref)(x)}]),role:`menuitem`,onClick:A,onMouseenter:D,onMouseleave:O},[(0,t.createElementVNode)(`div`,Px,[(0,t.createElementVNode)(`span`,Fx,[(0,t.createVNode)(i,{icon:e.itemOrMenu.meta?.icon||`menu-line`,"is-custom-svg":e.itemOrMenu.meta?.isCustomSvg,title:(0,t.unref)(S)},null,8,[`icon`,`is-custom-svg`,`title`]),e.itemOrMenu.meta?.dot?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,class:`fou-route-menu-item__dot`,type:(0,t.unref)(T)},null,8,[`type`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,{class:`fou-route-menu-item__text`,title:(0,t.unref)(S)},(0,t.toDisplayString)((0,t.unref)(S)),9,Ix),e.itemOrMenu.meta?.badge?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,class:(0,t.normalizeClass)([`fou-route-menu-item__badge`,[`fou-menu-tag--${(0,t.unref)(w)}`]]),size:`small`,type:(0,t.unref)(C),effect:(0,t.unref)(w)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Ax)(e.itemOrMenu.meta.badge)),1)]),_:1},8,[`class`,`type`,`effect`])):(0,t.createCommentVNode)(``,!0)]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`fou-route-menu-item__tip`,role:`tooltip`,style:(0,t.normalizeStyle)((0,t.unref)(_)),onMouseenter:D,onMouseleave:O},[r[0]||=(0,t.createElementVNode)(`i`,{class:`fou-route-menu-item__tip-arrow`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`span`,Lx,(0,t.toDisplayString)((0,t.unref)(S)),1),e.itemOrMenu.meta?.badge?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,size:`small`,type:(0,t.unref)(C),effect:(0,t.unref)(w)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Ax)(e.itemOrMenu.meta.badge)),1)]),_:1},8,[`type`,`effect`])):(0,t.createCommentVNode)(``,!0)],36),[[t.vShow,(0,t.unref)(x)&&(0,t.unref)(g)]])]))],34)}}}),zx=v({default:()=>Bx}),Bx=S(Rx,[[`__scopeId`,`data-v-81230a6b`]]),Vx=(0,t.defineComponent)({name:`FouMenu`,__name:`index`,props:{item:{type:Object,required:!0},layout:{type:String,default:``}},setup(e){let n=Object.assign({"./components/FouMenuItem.vue":zx,"./components/FouSubMenu.vue":Xx}),r={};Object.getOwnPropertyNames(n).forEach(e=>{r[e.replaceAll(/(\/|components|\.|vue)/g,``)]=n[e].default});let i=e,a=(0,t.computed)(()=>i.item.children&&i.item.children.some(e=>e.meta&&e.meta.hidden!==!0)?r.FouSubMenu:r.FouMenuItem);return(n,r)=>{let i=(0,t.resolveComponent)(`fou-menu`);return(0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(a)),{"item-or-menu":e.item,layout:e.layout},{default:(0,t.withCtx)(()=>[e.item.children&&e.item.children.length>0?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(e.item.children,n=>((0,t.openBlock)(),(0,t.createBlock)(i,{key:n.path,item:n,layout:e.layout},null,8,[`item`,`layout`]))),128)):(0,t.createCommentVNode)(``,!0)]),_:1},8,[`item-or-menu`,`layout`])}}}),Hx=v({default:()=>Ux}),Ux=Vx,Wx={class:`fou-route-menu-sub__icon-wrap`},Gx=[`title`],Kx={key:2,class:`fou-route-menu-sub__more`},qx={key:0,class:`fou-menu-flyout-panel__arrow`,"aria-hidden":`true`},Jx={key:1,class:`fou-menu-flyout-panel__head`},Yx=(0,t.defineComponent)({name:`FouSubMenu`,__name:`FouSubMenu`,props:{itemOrMenu:{type:Object,default:()=>({})},layout:{type:String,default:``}},setup(e){let n=e,r=(0,t.inject)(Cx,null),i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)({}),c=(0,t.ref)(`right`),l=null,u=(0,t.computed)(()=>n.itemOrMenu.path),d=(0,t.computed)(()=>Y(n.itemOrMenu.meta?.title||``)),f=(0,t.computed)(()=>r?.mode.value===`horizontal`),p=(0,t.computed)(()=>r?.collapse.value??!1),m=(0,t.computed)(()=>f.value||p.value),h=(0,t.computed)(()=>m.value),g=(0,t.computed)(()=>r?.isSubOpen(u.value)??!1),_=(0,t.computed)(()=>r?.isActive(u.value)??!1),v=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeType||`info`),y=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeEffect||`dark`),b=(0,t.computed)(()=>{let e=n.itemOrMenu.meta?.dot;return e===!0?`danger`:typeof e==`string`?e:`danger`}),x=(0,t.computed)(()=>g.value),S=()=>{let e=a.value;if(!e||!h.value)return;let t=e.getBoundingClientRect(),n=u.value.split(`/`).filter(Boolean).length,r=!!e.closest(`.fou-menu-flyout-panel`),i=0,o=0,l=`right`,d=t.left+t.width/2,p=t.top+t.height/2;f.value&&!r?(l=`bottom`,i=Math.round(d-100),o=Math.round(t.bottom+6),i=Math.min(Math.max(8,i),window.innerWidth-200-8)):(i=Math.round(t.right+10),o=Math.round(t.top),i+200>window.innerWidth-8?(i=Math.round(t.left-200-10),l=`left`):l=`right`);let m=window.innerHeight-16;o>m-80&&(o=Math.max(8,m-240)),o<8&&(o=8);let g=Math.round(d-i-5),_=Math.round(p-o-5);g=Math.min(Math.max(12,g),178),_=Math.min(Math.max(12,_),220),c.value=l,s.value={position:`fixed`,top:`${o}px`,left:`${i}px`,zIndex:String(5200+n),"--fou-flyout-arrow-x":`${g}px`,"--fou-flyout-arrow-y":`${_}px`}},C=()=>{m.value?r?.enterFlyout(u.value):r?.openSub(u.value),(0,t.nextTick)(()=>{S(),requestAnimationFrame(()=>S())})},w=()=>{if(r){if(m.value){g.value?r.leaveFlyout():C();return}r.toggleSub(u.value)}},T=()=>{l&&=(clearTimeout(l),null),r&&(r.menuTrigger.value===`hover`||m.value)&&C()},E=e=>{let t=e.relatedTarget;if(!(t&&(i.value?.contains(t)||o.value?.contains(t)))){if(!m.value){if(r?.menuTrigger.value!==`hover`)return;l&&clearTimeout(l),l=setTimeout(()=>{r?.closeSub(u.value),l=null},120);return}r?.leaveFlyout()}};return(0,t.watch)(g,e=>{e&&h.value&&(0,t.nextTick)(()=>S())}),(0,t.onBeforeUnmount)(()=>{l&&clearTimeout(l)}),(n,r)=>{let l=Ux,u=k,f=Qv,p=fl;return e.itemOrMenu.meta&&e.itemOrMenu.meta.levelHidden?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(e.itemOrMenu.children,n=>((0,t.openBlock)(),(0,t.createBlock)(l,{key:n.path,item:n,layout:e.layout},null,8,[`item`,`layout`]))),128)):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:1,ref_key:`subRef`,ref:i,class:(0,t.normalizeClass)([`fou-route-menu-sub`,{"is-open":(0,t.unref)(g),"is-active":(0,t.unref)(_),"is-popup":(0,t.unref)(m)}]),role:`none`,onMouseenter:T,onMouseleave:E},[(0,t.createElementVNode)(`div`,{ref_key:`titleRef`,ref:a,class:`fou-route-menu-sub__title`,onClick:w},[(0,t.createElementVNode)(`span`,Wx,[(0,t.createVNode)(u,{icon:e.itemOrMenu.meta?.icon||`folder-line`,"is-custom-svg":e.itemOrMenu.meta?.isCustomSvg,title:(0,t.unref)(d)},null,8,[`icon`,`is-custom-svg`,`title`]),e.itemOrMenu.meta?.dot?((0,t.openBlock)(),(0,t.createBlock)(f,{key:0,class:`fou-route-menu-sub__dot`,type:(0,t.unref)(b)},null,8,[`type`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,{class:`fou-route-menu-sub__text`,title:(0,t.unref)(d)},(0,t.toDisplayString)((0,t.unref)(d)),9,Gx),e.itemOrMenu.meta?.badge?((0,t.openBlock)(),(0,t.createBlock)(p,{key:0,class:(0,t.normalizeClass)([`fou-route-menu-sub__badge`,[`fou-menu-tag--${(0,t.unref)(y)}`]]),size:`small`,type:(0,t.unref)(v),effect:(0,t.unref)(y)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(e.itemOrMenu.meta.badge)),1)]),_:1},8,[`class`,`type`,`effect`])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(m)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Kx,[(0,t.createVNode)(u,{icon:`arrow-right-s-line`})])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`fou-route-menu-sub__arrow`,{"is-open":(0,t.unref)(g)}])},[(0,t.createVNode)(u,{icon:`arrow-down-s-line`})],2))],512),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!(0,t.unref)(h)},[(0,t.withDirectives)((0,t.createElementVNode)(`ul`,{ref_key:`listRef`,ref:o,class:(0,t.normalizeClass)([`fou-route-menu-sub__list`,{"is-flyout":(0,t.unref)(h),"fou-menu-flyout-panel":(0,t.unref)(h),[`is-placement-${(0,t.unref)(c)}`]:(0,t.unref)(h)}]),style:(0,t.normalizeStyle)((0,t.unref)(h)?(0,t.unref)(s):void 0),onMouseenter:T,onMouseleave:E},[(0,t.unref)(h)?((0,t.openBlock)(),(0,t.createElementBlock)(`i`,qx)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(h)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jx,(0,t.toDisplayString)((0,t.unref)(d)),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],38),[[t.vShow,(0,t.unref)(x)]])],8,[`disabled`]))],34))}}}),Xx=v({default:()=>Zx}),Zx=S(Yx,[[`__scopeId`,`data-v-3f0479e1`]]),Qx=Symbol(`FouMenuNav`),$x={class:`fou-menu-nav-item__inner`},eS={class:`fou-menu-nav-item__title`},tS=(0,t.defineComponent)({name:`FouMenuNavItem`,__name:`FouMenuNavItem`,props:{index:{},title:{default:``},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(Qx,null),i=null;try{i=(0,o.useRouter)()}catch{i=null}let a=(0,t.computed)(()=>r?.activeIndex.value===n.index),s=()=>{n.disabled||!r||(r.selectItem(n.index),r.router.value&&i&&i.push(n.index).catch(()=>{}))};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{class:(0,t.normalizeClass)([`fou-menu-nav-item`,{"is-active":(0,t.unref)(a),"is-disabled":e.disabled}]),role:`menuitem`,onClick:s},[(0,t.createElementVNode)(`div`,$x,[(0,t.renderSlot)(n.$slots,`icon`,{},void 0,!0),(0,t.createElementVNode)(`span`,eS,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])])],2))}}),nS=v({default:()=>rS}),rS=S(tS,[[`__scopeId`,`data-v-7d03eb13`]]),iS={class:`fou-menu-nav-sub__text`},aS={class:`fou-menu-nav-sub__list`},oS=(0,t.defineComponent)({name:`FouMenuNavSub`,__name:`FouMenuNavSub`,props:{index:{},title:{default:``}},setup(e){let n=e,r=(0,t.inject)(Qx,null),i=(0,t.computed)(()=>r?.isSubOpen(n.index)??!1),a=(0,t.computed)(()=>{let e=r?.activeIndex.value??``;return e===n.index||e.startsWith(`${n.index}/`)}),o=()=>{r?.toggleSub(n.index)};return(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{class:(0,t.normalizeClass)([`fou-menu-nav-sub`,{"is-open":(0,t.unref)(i),"is-active":(0,t.unref)(a)}]),role:`none`},[(0,t.createElementVNode)(`div`,{class:`fou-menu-nav-sub__title`,onClick:o},[(0,t.renderSlot)(n.$slots,`icon`,{},void 0,!0),(0,t.createElementVNode)(`span`,iS,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-menu-nav-sub__arrow`,{"is-open":(0,t.unref)(i)}])},`▾`,2)]),(0,t.withDirectives)((0,t.createElementVNode)(`ul`,aS,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],512),[[t.vShow,(0,t.unref)(i)&&!(0,t.unref)(r)?.collapse.value]])],2))}}),sS=v({default:()=>cS}),cS=S(oS,[[`__scopeId`,`data-v-d43bbb7b`]]),lS={class:`fou-menu-nav__list`},uS=(0,t.defineComponent)({name:`FouMenuNav`,__name:`index`,props:{mode:{default:`vertical`},defaultActive:{default:``},defaultOpeneds:{default:()=>[]},collapse:{type:Boolean,default:!1},router:{type:Boolean,default:!1}},emits:[`select`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(r.defaultActive),o=(0,t.ref)(new Set(r.defaultOpeneds));(0,t.watch)(()=>r.defaultActive,e=>{e&&(a.value=e)}),(0,t.watch)(()=>r.defaultOpeneds,e=>{o.value=new Set(e||[])});let s=(0,t.computed)(()=>r.mode),c=(0,t.computed)(()=>r.collapse),l=(0,t.computed)(()=>r.defaultActive),u=(0,t.computed)(()=>a.value),d=(0,t.computed)(()=>r.router);return(0,t.provide)(Qx,{mode:s,collapse:c,defaultActive:l,activeIndex:u,router:d,selectItem:e=>{a.value=e,i(`select`,e)},isSubOpen:e=>o.value.has(e),toggleSub:e=>{let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{class:(0,t.normalizeClass)([`fou-menu-nav`,[`fou-menu-nav--${e.mode}`,{"is-collapse":e.collapse,"is-horizontal":e.mode===`horizontal`}]]),role:`menu`},[(0,t.createElementVNode)(`ul`,lS,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],2))}}),dS=v({default:()=>fS}),fS=S(uS,[[`__scopeId`,`data-v-6d01fd65`]]),pS={class:`fou-notify__content`},mS={key:0,class:`fou-notify__title`},hS={key:1,class:`fou-notify__message`},gS=(0,t.defineComponent)({name:`FouNotificationItem`,__name:`FouNotificationItem`,props:{id:{},type:{},position:{},title:{},message:{},showClose:{type:Boolean},visible:{type:Boolean}},emits:[`close`],setup(e){let n=e,r=(0,t.computed)(()=>({success:`ri-checkbox-circle-line`,warning:`ri-alert-line`,info:`ri-information-line`,error:`ri-close-circle-line`})[n.type]);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)(t.Transition,{name:`fou-notify-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-notify`,[`fou-notify--${e.type}`,`fou-notify--${e.position}`]])},[(0,t.createElementVNode)(`i`,{class:(0,t.normalizeClass)([`fou-notify__icon`,(0,t.unref)(r)])},null,2),(0,t.createElementVNode)(`div`,pS,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mS,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.message?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hS,(0,t.toDisplayString)(e.message),1)):(0,t.createCommentVNode)(``,!0)]),e.showClose?((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:`fou-notify__close ri-close-line`,onClick:i[0]||=e=>n.$emit(`close`)})):(0,t.createCommentVNode)(``,!0)],2),[[t.vShow,e.visible]])]),_:1}))}}),_S=v({default:()=>vS}),vS=gS,yS=(0,t.defineComponent)({name:`FouPage`,inheritAttrs:!1,__name:`index`,setup(e){return(e,n)=>{let r=or;return(0,t.openBlock)(),(0,t.createBlock)(r,(0,t.normalizeProps)((0,t.guardReactiveProps)(e.$attrs)),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)}}}),bS=v({default:()=>xS}),xS=yS,SS={class:`fou-page-header`},CS={key:0,class:`fou-page-header__breadcrumb`},wS={class:`fou-page-header__main`},TS={class:`fou-page-header__left`},ES={class:`fou-page-header__heading`},DS={key:0,class:`fou-page-header__title`},OS={key:1,class:`fou-page-header__content`},kS={key:0,class:`fou-page-header__extra`},AS=(0,t.defineComponent)({name:`FouPageHeader`,__name:`index`,props:{title:{default:``},content:{default:``},icon:{default:``}},emits:[`back`],setup(e,{emit:n}){let r=n;return(n,i)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,SS,[n.$slots.breadcrumb?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,CS,[(0,t.renderSlot)(n.$slots,`breadcrumb`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,wS,[(0,t.createElementVNode)(`div`,TS,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-page-header__back`,"aria-label":`返回`,onClick:i[0]||=e=>r(`back`)},[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[(0,t.createVNode)(a,{icon:e.icon||`arrow-left-line`},null,8,[`icon`])],!0)]),(0,t.createElementVNode)(`div`,ES,[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,DS,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),e.content||n.$slots.content?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,OS,[(0,t.renderSlot)(n.$slots,`content`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)])):(0,t.createCommentVNode)(``,!0)])]),n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kS,[(0,t.renderSlot)(n.$slots,`extra`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)])])}}}),jS=v({default:()=>MS}),MS=S(AS,[[`__scopeId`,`data-v-405076b1`]]),NS={class:`fou-page-main`},PS={key:0,class:`fou-page-main__header`},FS={class:`fou-page-main__heading`},IS={key:0,class:`fou-page-main__title`},LS={key:0,class:`fou-page-main__desc`},RS={key:0,class:`fou-page-main__extra`},zS={class:`fou-page-main__body`},BS=(0,t.defineComponent)({name:`FouPageMain`,__name:`index`,props:{title:{default:``},description:{default:``}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`section`,NS,[e.title||n.$slots.title||n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`header`,PS,[(0,t.createElementVNode)(`div`,FS,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h2`,IS,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0)],!0),e.description||n.$slots.description?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,LS,[(0,t.renderSlot)(n.$slots,`description`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.description),1)],!0)])):(0,t.createCommentVNode)(``,!0)]),n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,RS,[(0,t.renderSlot)(n.$slots,`extra`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,zS,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])]))}}),VS=v({default:()=>HS}),HS=S(BS,[[`__scopeId`,`data-v-bc32527c`]]),US=(0,t.defineComponent)({name:`FouParagraph`,__name:`index`,props:{type:{default:``},indent:{type:Boolean,default:!1},lineClamp:{default:0}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{class:(0,t.normalizeClass)([`fou-paragraph`,[e.type?`fou-paragraph--${e.type}`:``,{"is-indent":e.indent,"is-line-clamp":e.lineClamp>0}]]),style:(0,t.normalizeStyle)(e.lineClamp>0?{WebkitLineClamp:String(e.lineClamp)}:void 0)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],6))}}),WS=v({default:()=>GS}),GS=S(US,[[`__scopeId`,`data-v-a4c339e8`]]),KS={class:`fou-pwd-strength__bars`},qS={key:0,class:`fou-pwd-strength__label`},JS=(0,t.defineComponent)({name:`FouPasswordStrength`,__name:`index`,props:{password:{default:``},showLabel:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=String(n.password||``);if(!e)return{score:0,label:`weak`,text:``};let t=0;return e.length>=8&&t++,/[A-Z]/.test(e)&&/[a-z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^A-Za-z0-9]/.test(e)&&t++,e.length<6&&(t=Math.min(t,1)),[{score:0,label:`weak`,text:``},{score:1,label:`weak`,text:`弱`},{score:2,label:`fair`,text:`中`},{score:3,label:`good`,text:`强`},{score:4,label:`strong`,text:`极强`}][t]});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-pwd-strength`,[`fou-pwd-strength--${r.value.label}`]])},[(0,t.createElementVNode)(`div`,KS,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(4,e=>(0,t.createElementVNode)(`span`,{key:e,class:(0,t.normalizeClass)([`fou-pwd-strength__bar`,{"is-on":e<=r.value.score}])},null,2)),64))]),e.showLabel?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,qS,(0,t.toDisplayString)(r.value.text),1)):(0,t.createCommentVNode)(``,!0)],2))}}),YS=v({default:()=>XS}),XS=S(JS,[[`__scopeId`,`data-v-7cd9df04`]]),ZS={class:`fou-popconfirm-host`},QS={class:`fou-popconfirm__body`},$S={class:`fou-popconfirm__title`},eC={class:`fou-popconfirm__actions`},tC=(0,t.defineComponent)({name:`FouPopconfirm`,inheritAttrs:!1,__name:`index`,props:{title:{default:`确定执行此操作?`},confirmButtonText:{default:`确定`},cancelButtonText:{default:`取消`},confirmButtonType:{default:`primary`},width:{default:240},zIndex:{default:5200}},emits:[`confirm`,`cancel`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(`bottom`),l=(0,t.ref)({}),u=(0,t.computed)(()=>typeof r.width==`number`?`${r.width}px`:String(r.width)),d=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),i=typeof r.width==`number`?r.width:Number.parseFloat(String(r.width))||240,s=n.left+n.width/2-i/2,d=window.innerWidth,f=window.innerHeight;s=Math.min(Math.max(8,s),d-i-8);let p=t.offsetHeight||96,m=`bottom`,h=n.bottom+10;h+p>f-8&&n.top-10-p>8&&(m=`top`,h=n.top-10-p),c.value=m;let g=n.left+n.width/2,_=Math.round(g-s-6);_=Math.min(Math.max(14,_),i-20),l.value={position:`fixed`,top:`${Math.round(h)}px`,left:`${Math.round(s)}px`,width:u.value,"--fou-popconfirm-arrow-x":`${_}px`}},f=async()=>{s.value=!0,await(0,t.nextTick)(),d(),requestAnimationFrame(()=>d())},p=()=>{s.value=!1},m=()=>{i(`confirm`),p()},h=()=>{i(`cancel`),p()},g=()=>{s.value&&d()};return(0,t.watch)(s,e=>{e?(window.addEventListener(`scroll`,g,!0),window.addEventListener(`resize`,g)):(window.removeEventListener(`scroll`,g,!0),window.removeEventListener(`resize`,g))}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`scroll`,g,!0),window.removeEventListener(`resize`,g)}),(n,r)=>{let i=k,u=Vt;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,ZS,[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:a,class:`fou-popconfirm__trigger`,onClick:f},[(0,t.renderSlot)(n.$slots,`reference`,{},void 0,!0)],512),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-popconfirm-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`fou-popconfirm-root`,style:(0,t.normalizeStyle)({zIndex:String(e.zIndex)})},[(0,t.createElementVNode)(`div`,{class:`fou-popconfirm__mask`,onClick:h}),(0,t.createElementVNode)(`div`,{ref_key:`popperRef`,ref:o,class:(0,t.normalizeClass)([`fou-popconfirm`,`is-placement-${(0,t.unref)(c)}`]),style:(0,t.normalizeStyle)((0,t.unref)(l)),onClick:r[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[r[1]||=(0,t.createElementVNode)(`i`,{class:`fou-popconfirm__arrow`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`div`,QS,[(0,t.createVNode)(i,{class:`fou-popconfirm__icon`,icon:`error-warning-line`}),(0,t.createElementVNode)(`div`,$S,(0,t.toDisplayString)(e.title),1)]),(0,t.createElementVNode)(`div`,eC,[(0,t.renderSlot)(n.$slots,`actions`,{},()=>[(0,t.createVNode)(u,{size:`small`,onClick:h},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.cancelButtonText),1)]),_:1}),(0,t.createVNode)(u,{size:`small`,type:e.confirmButtonType,onClick:m},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.confirmButtonText),1)]),_:1},8,[`type`])],!0)])],6)],4),[[t.vShow,(0,t.unref)(s)]])]),_:3})]))])}}}),nC=v({default:()=>rC}),rC=S(tC,[[`__scopeId`,`data-v-c0375827`]]),iC={key:0,class:`fou-popover__title`},aC={class:`fou-popover__body`},oC=(0,t.defineComponent)({name:`FouPopover`,inheritAttrs:!1,__name:`index`,props:{visible:{type:Boolean},title:{default:``},width:{default:240},placement:{default:`bottom`},trigger:{default:`click`},closeOnClickOutside:{type:Boolean,default:!0},zIndex:{default:2e3}},emits:[`update:visible`,`show`,`hide`],setup(e,{emit:n}){let r=(0,t.useAttrs)(),i=e,a=n,o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(!1),l=(0,t.ref)({}),u=(0,t.ref)(!1),d=(0,t.computed)(()=>i.visible!==void 0),f=(0,t.computed)({get:()=>d.value?!!i.visible:c.value,set:e=>{d.value?a(`update:visible`,e):c.value=e}}),p=(0,t.computed)(()=>typeof i.width==`number`?`${i.width}px`:String(i.width)),m=()=>{let e=o.value,t=s.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=0,c=0;switch(i.placement){case`top`:a=n.top-r.height-10,c=n.left+n.width/2-r.width/2;break;case`left`:a=n.top+n.height/2-r.height/2,c=n.left-r.width-10;break;case`right`:a=n.top+n.height/2-r.height/2,c=n.right+10;break;default:a=n.bottom+10,c=n.left+n.width/2-r.width/2}let u=window.innerWidth,d=window.innerHeight;c=Math.min(Math.max(4,c),u-r.width-4),a=Math.min(Math.max(4,a),d-r.height-4),l.value={position:`fixed`,top:`${a}px`,left:`${c}px`,width:p.value}},h=async()=>{f.value||(f.value=!0,a(`show`),await(0,t.nextTick)(),m())},g=()=>{f.value&&(f.value=!1,a(`hide`))},_=()=>{i.trigger===`click`&&(f.value?g():h())},v,y=()=>{i.trigger===`hover`&&(v&&clearTimeout(v),h())},b=()=>{i.trigger===`hover`&&(v=setTimeout(()=>{u.value||g()},120))},x=()=>{u.value=!0,v&&clearTimeout(v)},S=()=>{u.value=!1,i.trigger===`hover`&&b()},C=()=>{i.trigger===`click`&&i.closeOnClickOutside&&g()},w=e=>{if(i.trigger!==`click`||!f.value)return;let t=e.target;o.value?.contains(t)||s.value?.contains(t)||i.closeOnClickOutside&&g()},T=()=>{f.value&&m()};return(0,t.watch)(f,e=>{e?(document.addEventListener(`click`,w,!0),window.addEventListener(`scroll`,T,!0),window.addEventListener(`resize`,T)):(document.removeEventListener(`click`,w,!0),window.removeEventListener(`scroll`,T,!0),window.removeEventListener(`resize`,T))}),(0,t.onBeforeUnmount)(()=>{v&&clearTimeout(v),document.removeEventListener(`click`,w,!0),window.removeEventListener(`scroll`,T,!0),window.removeEventListener(`resize`,T)}),(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,(0,t.mergeProps)({class:`fou-popover-host`},(0,t.unref)(r)),[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:o,class:`fou-popover__trigger`,onClick:_,onMouseenter:y,onMouseleave:b},[(0,t.renderSlot)(n.$slots,`reference`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-popover-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`fou-popover-root`,style:(0,t.normalizeStyle)({zIndex:String(e.zIndex)})},[e.trigger===`click`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-popover__mask`,onClick:C})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`popperRef`,ref:s,class:(0,t.normalizeClass)([`fou-popover`,[`fou-popover--${e.placement}`]]),style:(0,t.normalizeStyle)((0,t.unref)(l)),role:`dialog`,onMouseenter:x,onMouseleave:S,onClick:i[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,iC,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,aC,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38)],4),[[t.vShow,(0,t.unref)(f)]])]),_:3})]))],16))}}),sC=v({default:()=>cC}),cC=S(oC,[[`__scopeId`,`data-v-0d5add06`]]),lC=[`aria-valuenow`],uC={key:0,class:`fou-progress__text fou-progress__text--inside`},dC={key:0,class:`fou-progress__text`},fC=[`viewBox`],pC=[`cx`,`cy`,`r`,`stroke-width`],mC=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`,`stroke-linecap`,`transform`],hC={key:0,class:`fou-progress__circle-text`},gC=(0,t.defineComponent)({name:`FouProgress`,__name:`index`,props:{percentage:{default:0},type:{default:`line`},status:{default:``},strokeWidth:{default:6},textInside:{type:Boolean,default:!1},color:{},showText:{type:Boolean,default:!0},width:{default:126}},setup(e){let n=e,r=(0,t.computed)(()=>Math.min(100,Math.max(0,n.percentage))),i=(0,t.computed)(()=>n.status?n.status:r.value>=100?`success`:``),a=(0,t.computed)(()=>({success:`var(--fou-color-success, var(--fou-color-success, #67c23a))`,exception:`var(--fou-color-danger, var(--fou-color-danger, #f56c6c))`,warning:`var(--fou-color-warning, var(--fou-color-warning, #e6a23c))`})[i.value]||`var(--fou-color-primary, var(--fou-color-primary, #0f766e))`),o=(0,t.computed)(()=>typeof n.color==`string`?n.color:typeof n.color==`function`?n.color(r.value):a.value),s=(0,t.computed)(()=>({width:`${r.value}%`,backgroundColor:o.value})),c=(0,t.computed)(()=>i.value===`success`?`✓`:i.value===`exception`?`✕`:i.value===`warning`?`!`:`${r.value}%`),l=(0,t.computed)(()=>n.width/2),u=(0,t.computed)(()=>(n.width-n.strokeWidth)/2),d=(0,t.computed)(()=>2*Math.PI*u.value),f=(0,t.computed)(()=>n.type===`dashboard`?.75:1),p=(0,t.computed)(()=>{let e=r.value/100;return d.value*(1-e*f.value)}),m=(0,t.computed)(()=>n.type===`dashboard`?`rotate(135 ${l.value} ${l.value})`:`rotate(-90 ${l.value} ${l.value})`);return(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-progress`,[`fou-progress--${e.type}`,{"is-success":(0,t.unref)(i)===`success`,"is-exception":(0,t.unref)(i)===`exception`,"is-warning":(0,t.unref)(i)===`warning`}]]),role:`progressbar`,"aria-valuenow":(0,t.unref)(r),"aria-valuemin":`0`,"aria-valuemax":`100`},[e.type===`line`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,{class:`fou-progress__outer`,style:(0,t.normalizeStyle)({height:`${e.strokeWidth}px`})},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-progress__inner`,{"is-text-inside":e.textInside}]),style:(0,t.normalizeStyle)((0,t.unref)(s))},[e.textInside&&e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,uC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(c)),1)],!0)])):(0,t.createCommentVNode)(``,!0)],6)],4),!e.textInside&&e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,dC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(c)),1)],!0)])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-progress__circle`,style:(0,t.normalizeStyle)({width:`${e.width}px`,height:`${e.width}px`})},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{viewBox:`0 0 ${e.width} ${e.width}`},[(0,t.createElementVNode)(`circle`,{class:`fou-progress__track`,cx:(0,t.unref)(l),cy:(0,t.unref)(l),r:(0,t.unref)(u),fill:`none`,"stroke-width":e.strokeWidth},null,8,pC),(0,t.createElementVNode)(`circle`,{class:`fou-progress__path`,cx:(0,t.unref)(l),cy:(0,t.unref)(l),r:(0,t.unref)(u),fill:`none`,stroke:(0,t.unref)(o),"stroke-width":e.strokeWidth,"stroke-dasharray":(0,t.unref)(d),"stroke-dashoffset":(0,t.unref)(p),"stroke-linecap":e.type===`dashboard`?`round`:`butt`,transform:(0,t.unref)(m)},null,8,mC)],8,fC)),e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(c)),1)],!0)])):(0,t.createCommentVNode)(``,!0)],4))],10,lC))}}),_C=v({default:()=>vC}),vC=S(gC,[[`__scopeId`,`data-v-146433c6`]]),yC=_(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),bC=_((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),xC=_((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),SC=_(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),CC=_(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),wC=_((e=>{var t=bC().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),TC=_((e=>{var t=bC().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),EC=_((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),DC=_((e=>{var t=xC(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),OC=_((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),kC=_((e=>{var t=OC();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),AC=_(((e,t)=>{var n=kC();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),jC=_((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),MC=_((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
124
- ]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),NC=_((e=>{var t=jC(),n=MC();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),PC=_((e=>{var t=bC(),n=DC(),r=xC(),i=NC(),a=jC(),o=7973,s=t.getBCHDigit(o);function c(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function l(e,t){return i.getCharCountIndicator(e,t)+4}function u(e,t){let n=0;return e.forEach(function(e){let r=l(e.mode,t);n+=r+e.getBitsLength()}),n}function d(t,n){for(let r=1;r<=40;r++)if(u(t,r)<=e.getCapacity(r,n,i.MIXED))return r}e.from=function(e,t){return a.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,o){if(!a.isValid(e))throw Error(`Invalid QR Code version`);o===void 0&&(o=i.BYTE);let s=(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r))*8;if(o===i.MIXED)return s;let c=s-l(o,e);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,i=r.from(t,r.M);if(Array.isArray(e)){if(e.length>1)return d(e,i);if(e.length===0)return 1;n=e[0]}else n=e;return c(n.mode,n.getLength(),i)},e.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=o<<t.getBCHDigit(n)-s;return e<<12|n}})),FC=_((e=>{var t=bC(),n=1335,r=21522,i=t.getBCHDigit(n);e.getEncodedBits=function(e,a){let o=e.bit<<3|a,s=o<<10;for(;t.getBCHDigit(s)-i>=0;)s^=n<<t.getBCHDigit(s)-i;return(o<<10|s)^r}})),IC=_(((e,t)=>{var n=NC();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),LC=_(((e,t)=>{var n=NC(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),RC=_(((e,t)=>{var n=NC();function r(e){this.mode=n.BYTE,this.data=typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),zC=_(((e,t)=>{var n=NC(),r=bC();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
125
- Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),BC=_(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),VC=_((e=>{var t=NC(),n=IC(),r=LC(),i=RC(),a=zC(),o=MC(),s=bC(),c=BC();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
126
- Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),HC=_((e=>{var t=bC(),n=xC(),r=SC(),i=CC(),a=wC(),o=TC(),s=EC(),c=DC(),l=AC(),u=PC(),d=FC(),f=NC(),p=VC();function m(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function h(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function g(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function _(e,t){let n=e.size,r=u.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function v(e,t,n){let r=e.size,i=d.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function y(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function b(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),f.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return x(a,e,n)}function x(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function S(e,n,r,a){let o;if(Array.isArray(e))o=p.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=p.rawSplit(e);t=u.getBestVersionForData(n,r)}o=p.fromString(e,t||40)}else throw Error(`Invalid data`);let c=u.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`
122
+ </html>`}function op(e,t={}){let n=ap(e,t),r=new Blob([n],{type:`text/html;charset=utf-8`});return Zf(r,t.fileName||`banner-${Date.now()}.html`),r}async function sp(e,t={}){let n=await lp(await Xf(e,{scale:t.scale??2})),r=t.widthMm??210,i=t.heightMm??297,a=new c.jsPDF({orientation:r>i?`landscape`:`portrait`,unit:`mm`,format:[r,i]});return a.addImage(n,`PNG`,0,0,r,i),a.output(`blob`)}async function cp(e,t={}){let n=await sp(e,t);return Zf(n,t.fileName||`canvas-${Date.now()}.pdf`),n}function lp(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}var up=v({BANNER_DEFAULT_MODULES:()=>pp,createBadgeDoc:()=>fp,createBannerDoc:()=>dp});function dp(e){return{version:1,mode:`banner`,canvas:{widthMm:320,heightMm:90,widthPx:1200,heightPx:340,unit:`px`,background:`#0f766e`,showBorder:!1},elements:[{id:`banner-title`,type:`text`,zIndex:2,xMm:20,yMm:25,wMm:200,hMm:20,text:`{{school.name}}`,fontSize:28,fontFamily:`Microsoft YaHei, sans-serif`,color:`#ffffff`,link:{href:`https://example.com`,target:`_blank`}},{id:`banner-sub`,type:`text`,zIndex:2,xMm:20,yMm:50,wMm:240,hMm:14,text:`{{competition.name}}`,fontSize:14,fontFamily:`Microsoft YaHei, sans-serif`,color:`#ccfbf1`}],dataModules:pp,...e}}function fp(e){return{version:1,mode:`badge`,canvas:{widthMm:90,heightMm:130,unit:`mm`,background:`#ffffff`,showBorder:!0,borderColor:`#334155`,borderWidthMm:.35},elements:[],dataModules:Or(),...e}}var pp,mp=g((()=>{Lr(),pp=Or().map(e=>({...e,enabled:[`school`,`competition`].includes(e.id)}))}));Lr();var hp={class:`badge-editor-header page-header`},gp={class:`badge-editor-header__extra`},_p={class:`tools-card-inner`},vp={class:`tools-scroll`},yp={class:`tools-accordion`},bp=[`hidden`],xp={class:`tool-row`},Sp={class:`tool-row`},Cp={class:`tool-row`},wp={class:`divider-title-with-help`},Tp={class:`tool-row`},Ep={class:`tool-row`},Dp={class:`canvas-bg-color-row`},Op={class:`tool-row`},kp={class:`divider-title-with-help`},Ap={class:`tool-row`},jp={key:1,class:`tool-row`},Mp={class:`canvas-bg-color-row`},Np={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--canvas-bg`},Pp={class:`tools-tip tools-tip--compact`},Fp={class:`divider-title-with-help`},Ip={class:`tool-row tool-row-actions`},Lp={key:3,class:`guide-list`},Rp=[`onClick`,`onContextmenu`],zp=[`hidden`],Bp={class:`divider-title-with-help`},Vp={class:`tool-row tool-row-actions`},Hp={class:`tool-row tool-row-actions`},Up={class:`divider-title-with-help`},Wp={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--actions`},Gp={class:`tool-row`},Kp={class:`tool-row`},qp={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--regions`},Jp={key:0,class:`guide-list`},Yp=[`onClick`],Xp={class:`guide-mm`},Zp={class:`tool-row`},Qp=[`hidden`],$p={class:`tool-row align-row`},em={class:`tool-row align-row`},tm={key:0,class:`layer-list`},nm=[`onClick`],rm={class:`layer-label`},im={class:`layer-z`},am={key:1,class:`muted-text`},om={class:`tools-footer`},sm={class:`tool-row save-row`},cm={key:0,class:`hint`},lm={class:`canvas-card-header`},um={class:`canvas-card-header__actions`},dm={key:0,class:`ruler-corner`},fm={key:1,class:`ruler ruler-x`},pm={key:0,class:`ruler-label`},mm={key:2,class:`ruler ruler-y`},hm={key:0,class:`ruler-label`},gm=[`onPointerdown`,`onContextmenu`],_m=[`onPointerdown`,`onContextmenu`],vm={class:`canvas-region__label`},ym=[`onPointerdown`],bm=[`onPointerdown`],xm=[`onPointerdown`],Sm=[`stroke`,`stroke-width`],Cm=[`fill`,`stroke`,`stroke-width`],wm=[`fill`,`stroke`,`stroke-width`],Tm=[`fill`,`stroke`,`stroke-width`],Em=[`points`,`fill`,`stroke`,`stroke-width`],Dm=[`points`,`fill`,`stroke`,`stroke-width`],Om=[`onPointerdown`],km=[`onPointerdown`],Am=[`src`],jm={key:0,class:`clipboard-image-badge`},Mm=[`onPointerdown`],Nm=[`disabled`],Pm=[`disabled`],Fm=[`disabled`],Im=[`disabled`],Lm=[`disabled`],Rm=[`disabled`],zm=[`disabled`],Bm=[`disabled`],Vm=[`disabled`],Hm=[`disabled`],Um=[`disabled`],Wm=[`disabled`],Gm={class:`side-inner`},Km={class:`side-props-scroll`},qm={key:0,class:`props`},Jm={class:`form-lbl-ico`},Ym={class:`form-lbl-ico`},Xm={class:`pair-inputs`},Zm={class:`flip-actions`},Qm={key:1,class:`props`},$m={class:`pair-inputs`},eh={class:`flip-actions`},th={key:2,class:`props`},nh={class:`pair-inputs`},rh={key:3,class:`props`},ih={class:`canvas-bg-color-row`},ah={class:`region-bg-actions`},oh={class:`pair-inputs pair-inputs--wrap`},sh={class:`divider-title-with-help`},ch={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--region-ops`},lh={key:4,class:`props multi-props`},uh={class:`multi-props-summary`},dh={class:`tool-row tool-row-actions tool-action-grid tool-action-grid--actions`},fh={class:`divider-title-with-help`},ph={class:`form-lbl-ico`},mh={class:`multi-style-inputs`},hh={class:`form-lbl-ico`},gh={class:`multi-style-inputs multi-style-inputs--color`},_h={class:`divider-title-with-help`},vh={class:`tool-row align-row side-align-row`},yh={class:`tool-row align-row side-align-row`},bh={class:`divider-title-with-help`},xh={class:`tool-row align-row side-align-row`},Sh={class:`side-preview-block`},Ch={class:`preview-wrap`},wh={class:`dlg-preview-scroll`},Th={style:{display:`flex`,"flex-direction":`column`,gap:`12px`}},Eh=`fou-badge-editor-panel-widths`,Dh=220,Oh=480,kh=200,Ah=420,jh=360,Mh=96/25.4,Nh=24,Ph=320,Fh=240,Ih=20,Lh=50,Rh=(0,t.defineComponent)({name:`FouCanvasEditor`,__name:`FouCanvasEditor`,props:{mode:{default:void 0},embedded:{type:Boolean,default:!1},extraModules:{}},emits:[`save`,`update:modelValue`],setup(e,{emit:n}){let r=e,i,a;try{i=(0,o.useRoute)(),a=(0,o.useRouter)()}catch{i={params:{},name:``,path:``},a={push:()=>Promise.resolve()}}let s=Number(i.params.id),c=Number(i.params.tid),l=(0,t.computed)(()=>r.mode===`desk`||i.name===`DeskLabelTemplateEditor`||i.name===`FouDeskLabelEditor`||String(i.path).includes(`desk-label-template`));(0,t.computed)(()=>r.mode===`banner`);let u=(0,t.computed)(()=>l.value?[...Hu]:[...Iu]);(0,t.computed)(()=>u.value.map(e=>({label:en(e),value:e})));let d=[{label:`矩形`,value:`rect`},{label:`圆形`,value:`circle`},{label:`三角形`,value:`triangle`},{label:`线条`,value:`line`},{label:`多边形`,value:`polygon`},{label:`梯形`,value:`trapezoid`}],f=(0,t.ref)(!1),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(`_blank`),g=(0,t.ref)(null),_=(0,t.ref)(0),v=null;function y(e){f.value=!1,v?.(e),v=null}let b=(0,t.ref)(``);(0,t.ref)(!0);let x=(0,t.ref)(`insert`),S=(0,t.ref)([]),C=(0,t.ref)({}),w=(0,t.ref)(`rect`);function T(e){C.value=e}function E(e){S.value=e,I.value&&(I.value.dataModules=e),C.value=Mr(kr(r.extraModules,e))}function D(e){if(!I.value)return;let t=ha().filter(e=>e.type===`text`),n=t.length?t[t.length-1]:null;n?n.text=String(n.text||``)+e:O(e)}function O(e){if(!I.value)return;let t=`t_${Date.now().toString(36)}`,n={id:t,type:`text`,zIndex:(I.value.elements.length||0)+1,xMm:10,yMm:10,wMm:40,hMm:12,text:e,fontSize:14,fontFamily:`Microsoft YaHei, sans-serif`,color:`#111827`};I.value.elements.push(n),z.value=[t]}async function A(){let e=document.querySelector(`.badge-editor .editor-scale-inner .badge-canvas, .badge-editor .host-inner`),t=document.querySelector(`.badge-editor .editor-clip`)||e;if(!t){Q.warning(`未找到画布节点`);return}await Qf(t,{fileName:`canvas-${Date.now()}.png`}),Q.success(`已导出 PNG`)}async function j(){let e=document.querySelector(`.badge-editor .editor-clip`);!e||!I.value||(await cp(e,{fileName:`canvas-${Date.now()}.pdf`,widthMm:I.value.canvas.widthMm,heightMm:I.value.canvas.heightMm}),Q.success(`已导出 PDF`))}function M(){I.value&&(op(I.value,{fileName:`banner-${Date.now()}.html`,context:C.value,title:b.value||`Banner`}),Q.success(`已导出网页`))}let N=(0,t.ref)(!0),P=(0,t.ref)(!1),F=(0,t.ref)(``),I=(0,t.ref)(null),L=(0,t.ref)(90),R=(0,t.ref)(130),ee=(0,t.ref)({}),z=(0,t.ref)([]),B=(0,t.ref)(null),V=(0,t.ref)(null);(0,t.ref)(),(0,t.watch)(()=>I.value,e=>{if(!e)return;let t=kr(r.extraModules,e.dataModules);S.value=t,C.value=Mr(t)},{immediate:!0});let H=(0,t.ref)(null),te=(0,t.ref)(null),ne=(0,t.ref)(null),re=(0,t.ref)(null),ie=(0,t.ref)(!1),ae=(0,t.ref)(!1),oe=(()=>{try{let e=localStorage.getItem(Eh);if(!e)return null;let t=JSON.parse(e);return{left:Number(t.left),right:Number(t.right)}}catch{return null}})(),U=(0,t.ref)(Number.isFinite(oe?.left)?Math.min(Oh,Math.max(Dh,oe.left)):292),se=(0,t.ref)(Number.isFinite(oe?.right)?Math.min(Ah,Math.max(kh,oe.right)):260),ce=(0,t.ref)(null),le=(0,t.computed)(()=>({gridTemplateColumns:`${U.value}px 8px minmax(${jh}px, 1fr) 8px ${se.value}px`})),W=()=>{try{localStorage.setItem(Eh,JSON.stringify({left:U.value,right:se.value}))}catch{}},G=0,ue=0,K=0,de=e=>{if(!ce.value)return;let t=e.clientX-G,n=ne.value?.clientWidth||0;if(ce.value===`left`){let e=ue+t,r=n-se.value-8-8-jh;e=Math.min(Oh,Math.max(Dh,e),r),U.value=Math.round(e)}else{let e=K-t,r=n-U.value-8-8-jh;e=Math.min(Ah,Math.max(kh,e),r),se.value=Math.round(e)}},fe=()=>{ce.value&&(ce.value=null,window.removeEventListener(`pointermove`,de),window.removeEventListener(`pointerup`,fe),document.body.style.cursor=``,document.body.style.userSelect=``,W(),(0,t.nextTick)(()=>{Pa(),Ae.value??Ba(!1)}))},q=(e,t)=>{t.preventDefault(),t.stopPropagation(),ce.value=e,G=t.clientX,ue=U.value,K=se.value,document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,de),window.addEventListener(`pointerup`,fe)},pe=(0,t.ref)(null),me=(0,t.ref)(null),he=(0,t.ref)(null),ge=!1,_e=(0,t.ref)(420),ve=(0,t.ref)(420),ye=(0,t.ref)(!1),be=(0,t.ref)(!1),xe=(0,t.ref)(`lib`),Se=(0,t.ref)(!1),Ce=(0,t.ref)(`lib`),we=(0,t.ref)(!1),Te=(0,t.ref)(!1),Ee=(0,t.ref)(!0),De=(0,t.ref)(!1),Oe=(0,t.ref)(!1),ke=(0,t.ref)(!1),Ae=(0,t.ref)(null),je=(0,t.ref)([]),Me=(0,t.ref)(null),Ne=(0,t.ref)(null),Pe=(0,t.ref)({visible:!1,x:0,y:0,clientX:0,clientY:0,anchorMm:null,target:`blank`,regionId:null,guideId:null}),Fe=(0,t.ref)(!1),Ie=new Map,Le=0,Re=(0,t.ref)(2),ze=(0,t.ref)(2),Be=(0,t.ref)(`color`);(0,t.ref)(`center`);let Ve=(0,t.ref)(2),He=()=>{we.value=!0};function Ue(){l.value?a.push(`/fouui/badge/competition/${s}/desk-label-templates`):a.push(`/fouui/badge/competition/${s}/badge-templates`)}let We=(0,t.computed)(()=>I.value?Vu(I.value.elements):[]),Ge=(0,t.computed)(()=>I.value?.regions??[]),Ke=(0,t.computed)(()=>I.value?.elements?[...I.value.elements].sort((e,t)=>(t.zIndex??0)-(e.zIndex??0)):[]),qe=(0,t.computed)(()=>z.value.length===1?z.value[0]:null);function Je(e){return z.value.includes(e)}let Ye=(0,t.computed)(()=>{let e=qe.value,t=I.value;if(!e||!t?.elements?.length)return null;let n=t.elements.find(t=>t.id===e);return!n||n.type!==`text`?null:n}),Xe=(0,t.computed)(()=>{let e=qe.value,t=I.value;if(!e||!t?.elements?.length)return null;let n=t.elements.find(t=>t.id===e);return!n||n.type!==`image`&&n.type!==`seal`?null:n}),Ze=(0,t.computed)(()=>{let e=qe.value,t=I.value;if(!e||!t?.elements?.length)return null;let n=t.elements.find(t=>t.id===e);return!n||n.type!==`shape`?null:n}),J=(0,t.computed)(()=>Ge.value.find(e=>e.id===B.value)||null),Qe=(0,t.computed)(()=>Ye.value||Xe.value||Ze.value),$e=(0,t.computed)({get(){return Math.round((Ze.value?.opacity??1)*100)},set(e){let t=Ze.value;t&&(t.opacity=Math.max(0,Math.min(1,e/100)))}}),Y=(0,t.computed)({get(){return Ze.value?.showStroke!==!1},set(e){let t=Ze.value;t&&(t.showStroke=e)}}),et=(0,t.computed)({get(){return!!Ze.value?.lockAspectRatio},set(e){let t=Ze.value;t&&(t.lockAspectRatio=e)}}),tt=(0,t.computed)({get(){let e=Xe.value?.rotation;return e!=null&&Number.isFinite(e)?Number(e):0},set(e){let t=Xe.value;if(!t)return;let n=e==null?0:Number(e);!Number.isFinite(n)||n===0?delete t.rotation:t.rotation=Math.round(n*100)/100}}),nt=(0,t.computed)({get(){let e=Ye.value?.rotation;return e!=null&&Number.isFinite(e)?Number(e):0},set(e){let t=Ye.value;if(!t)return;let n=e==null?0:Number(e);!Number.isFinite(n)||n===0?delete t.rotation:t.rotation=Math.round(n*100)/100}}),rt=(0,t.computed)({get(){return!!Qe.value?.flipX},set(e){let t=Qe.value;t&&(e?t.flipX=!0:delete t.flipX)}}),it=(0,t.computed)({get(){return!!Qe.value?.flipY},set(e){let t=Qe.value;t&&(e?t.flipY=!0:delete t.flipY)}}),at=(0,t.computed)(()=>I.value?.guides??[]),ot=(0,t.computed)(()=>je.value.length>0),st=(0,t.computed)(()=>!!Me.value?.regions?.length),ct=(0,t.computed)(()=>ot.value||st.value),lt=(0,t.computed)(()=>ha().some(e=>!!e.groupId)),ut=(0,t.computed)(()=>Ge.value.find(e=>e.id===Pe.value.regionId)||null),dt=(0,t.computed)(()=>at.value.find(e=>e.id===Pe.value.guideId)||null),ft=(0,t.computed)(()=>({left:`${Pe.value.x}px`,top:`${Pe.value.y}px`})),mt=(0,t.computed)(()=>{let e=he.value;if(!e)return{};let t=Math.min(e.x0,e.x1),n=Math.min(e.y0,e.y1),r=Math.abs(e.x1-e.x0),i=Math.abs(e.y1-e.y0);return{position:`absolute`,left:`${t}px`,top:`${n}px`,width:`${r}px`,height:`${i}px`,zIndex:9999,pointerEvents:`none`,border:`1px dashed #409eff`,background:`rgba(64, 158, 255, 0.12)`,boxSizing:`border-box`}}),ht=(0,t.computed)({get(){return Ye.value?.text??``},set(e){let t=Ye.value;t&&(t.text=e)}}),gt=(0,t.computed)({get(){return Ye.value?.textDirection===`vertical`?`vertical`:`horizontal`},set(e){let t=Ye.value;t&&(e===`vertical`?t.textDirection=`vertical`:delete t.textDirection)}});(0,t.watch)(Ye,e=>{e&&(e.color||=`#303133`,e.align||=`top-left`)}),(0,t.watch)(Ze,e=>{e&&(e.showStroke??=!0,e.lockAspectRatio??=Er(e.shape),e.shape===`polygon`&&(!Number.isFinite(e.polygonSides)||Number(e.polygonSides)<3)&&(e.polygonSides=5))}),(0,t.watch)(()=>[I.value?.canvas?.background??``,I.value?.canvas?.backgroundImage??``],()=>{nn()},{immediate:!0}),(0,t.watch)(be,e=>{!e&&Be.value===`image`&&!I.value?.canvas?.backgroundImage&&nn()});let _t=[{value:`top-left`,label:`左上`},{value:`top-center`,label:`上中`},{value:`top-right`,label:`右上`},{value:`middle-left`,label:`左中`},{value:`center`,label:`居中`},{value:`middle-right`,label:`右中`},{value:`bottom-left`,label:`左下`},{value:`bottom-center`,label:`下中`},{value:`bottom-right`,label:`右下`}],vt=(0,t.computed)({get(){return I.value?.canvas?.background||`rgba(255, 255, 255, 1)`},set(e){I.value?.canvas&&(I.value.canvas.background=String(e||``).trim(),I.value.canvas.background&&(Be.value=`color`))}}),X=(0,t.computed)({get(){return I.value?.canvas?.showBorder!==!1},set(e){I.value?.canvas&&(I.value.canvas.showBorder=!!e)}}),yt=(0,t.computed)({get(){return I.value?.canvas?.borderColor||`#334155`},set(e){I.value?.canvas&&(I.value.canvas.borderColor=String(e||``).trim()||`#334155`,I.value.canvas.showBorder??(I.value.canvas.showBorder=!0))}}),bt=(0,t.computed)({get(){let e=Number(I.value?.canvas?.borderWidthMm);return Number.isFinite(e)&&e>0?e:.35},set(e){if(!I.value?.canvas)return;let t=Number(e);I.value.canvas.borderWidthMm=Number.isFinite(t)?Math.max(.1,Math.min(8,t)):.35,I.value.canvas.showBorder??(I.value.canvas.showBorder=!0)}}),xt=(0,t.computed)({get(){return J.value?.backgroundImage?`image`:(J.value?.background||``).trim()?`color`:`transparent`},set(e){let t=J.value;if(t){if(e===`transparent`){delete t.backgroundImage,t.background=``;return}if(e===`color`){delete t.backgroundImage,String(t.background||``).trim()||(t.background=`#ffffff`);return}t.backgroundImage||cn(`lib`)}}}),St=(0,t.computed)({get(){return J.value?.background||`rgba(255, 255, 255, 1)`},set(e){let t=J.value;t&&(t.background=String(e||``).trim(),t.background&&delete t.backgroundImage)}}),Ct=(0,t.computed)(()=>C.value&&Object.keys(C.value).length?C.value:zu({})),wt=(0,t.computed)(()=>I.value?.canvas?.widthMm?I.value.canvas.widthMm*Mh:0),Tt=(0,t.computed)(()=>I.value?.canvas?.heightMm?I.value.canvas.heightMm*Mh:0),Et=(0,t.computed)(()=>wt.value*Z.value),Dt=(0,t.computed)(()=>Tt.value*Z.value),Ot=(0,t.computed)(()=>Mh*Z.value),kt=(0,t.computed)(()=>Math.max(_e.value-(Ee.value?Nh:0),120)),At=(0,t.computed)(()=>Math.max(ve.value-(Ee.value?Nh:0),120)),jt=(0,t.computed)(()=>Math.max(Ph,kt.value)),Mt=(0,t.computed)(()=>Math.max(Fh,At.value)),Nt=(0,t.computed)(()=>Math.max(0,Et.value+jt.value*2)),Ft=(0,t.computed)(()=>Math.max(0,Dt.value+Mt.value*2)),It=(0,t.computed)(()=>Math.max(0,Math.round((Nt.value-Et.value)/2))),Lt=(0,t.computed)(()=>Math.max(0,Math.round((Ft.value-Dt.value)/2))),Rt=(0,t.computed)(()=>(Ee.value?Nh:0)+It.value),zt=(0,t.computed)(()=>(Ee.value?Nh:0)+Lt.value),Bt=(0,t.computed)(()=>{let e=Ee.value?Nh:0;return{"--ruler-size":`${e}px`,width:`${Nt.value+e}px`,height:`${Ft.value+e}px`}}),Ht=(0,t.computed)(()=>({width:`${Nt.value}px`,height:`${Ft.value}px`})),Ut=(0,t.computed)(()=>({width:`${Nt.value}px`})),Wt=(0,t.computed)(()=>({height:`${Ft.value}px`})),Gt=(0,t.computed)(()=>fn(It.value,Nt.value,Ot.value)),Kt=(0,t.computed)(()=>fn(Lt.value,Ft.value,Ot.value)),qt=(0,t.computed)(()=>{let e=wt.value,t=Tt.value;if(e<=0||t<=0)return 1;let n=Math.max(kt.value-40,60),r=Math.max(At.value-40,60),i=Math.min(n/e,r/t);return Math.max(.06,Math.min(3,i))}),Z=(0,t.computed)(()=>{let e=Ae.value;return e!=null&&Number.isFinite(e)?Math.max(.06,Math.min(3,e)):qt.value}),Jt=(0,t.computed)(()=>`${Math.round(Z.value*100)}%`),Yt=(0,t.computed)(()=>({width:`${Et.value}px`,height:`${Dt.value}px`,overflow:`hidden`,left:`${It.value}px`,top:`${Lt.value}px`,position:`absolute`,flexShrink:0})),Xt=(0,t.computed)(()=>({width:`${wt.value}px`,height:`${Tt.value}px`,transform:`scale(${Z.value})`,transformOrigin:`top left`})),Zt=(0,t.computed)(()=>{if(!I.value)return{};let e=10*Mh,t=`linear-gradient(rgba(15, 23, 42, 0.06) 1px, transparent 1px),
123
+ linear-gradient(90deg, rgba(15, 23, 42, 0.06) 1px, transparent 1px)`.replace(/\s+/g,` `),n=I.value.canvas.backgroundImage?`, url(${dn(I.value.canvas.backgroundImage)})`:``,r=I.value.canvas.backgroundImage?`${e}px ${e}px, ${e}px ${e}px, cover`:`${e}px ${e}px`,i=I.value.canvas.backgroundImage?`0 0, 0 0, center`:`0 0`,a=I.value.canvas.showBorder!==!1,o=I.value.canvas.borderColor||`#334155`,s=Number(I.value.canvas.borderWidthMm),c=Number.isFinite(s)&&s>0?s:.35;return{width:`100%`,height:`100%`,position:`relative`,boxSizing:`border-box`,backgroundColor:I.value.canvas.backgroundImage?void 0:I.value.canvas.background||`transparent`,backgroundImage:I.value.canvas.backgroundImage?`${t}${n}`:t,backgroundSize:r,backgroundPosition:i,border:a?`${c}mm solid ${o}`:`0 solid transparent`,borderRadius:`2px`,boxShadow:a?`0 1px 4px rgba(0,0,0,0.1)`:`inset 0 0 0 1px rgba(148, 163, 184, 0.35), 0 1px 3px rgba(0,0,0,0.06)`}}),Qt=(0,t.computed)(()=>{if(!I.value?.canvas?.widthMm)return .35;let e=I.value.canvas.widthMm*Mh;return Math.min(220/e,.65)}),$t=(0,t.computed)(()=>{if(!I.value?.canvas?.widthMm)return .55;let e=I.value.canvas.widthMm*Mh;return Math.min(520/e,1)});function en(e){return(l.value?Uu:Lu)[e]||e}function tn(){I.value?.canvas&&(I.value.canvas.widthMm=L.value,I.value.canvas.heightMm=R.value)}function nn(){I.value?.canvas?.backgroundImage?Be.value=`image`:(I.value?.canvas?.background||``).trim()?Be.value=`color`:Be.value=`transparent`}function rn(e){if(I.value?.canvas){if(e===`transparent`){delete I.value.canvas.backgroundImage,I.value.canvas.background=``;return}if(e===`color`){delete I.value.canvas.backgroundImage,String(I.value.canvas.background||``).trim()||(I.value.canvas.background=`#ffffff`);return}I.value.canvas.backgroundImage||an(`lib`)}}function an(e){xe.value=e,be.value=!0}function on(e){!I.value?.canvas||!e||(I.value.canvas.backgroundImage=e,I.value.canvas.background=``,Be.value=`image`)}function sn(){I.value?.canvas?.backgroundImage&&(delete I.value.canvas.backgroundImage,nn())}function cn(e){Ce.value=e,Se.value=!0}function ln(e){!J.value||!e||(J.value.backgroundImage=e,J.value.background=``)}function un(){J.value?.backgroundImage&&delete J.value.backgroundImage}function dn(e){return Rn(e)}function fn(e,t,n){if(!(t>0)||!(n>0)||!Number.isFinite(n)||!Number.isFinite(t))return[];let r=[1,2,5,10,20,25,50,100,200,250,500,1e3,2e3,5e3],i=r[r.length-1];for(let e of r)if(e*n>=10){i=e;break}let a=i;for(let e of r)if(!(e<i||e%i!==0)&&(a=e,e*n>=52))break;let o=a/2,s=Math.floor(-e/n/i)*i,c=Math.ceil((t-e)/n/i)*i;if(!Number.isFinite(s)||!Number.isFinite(c)||c<s)return[];let l=[];for(let t=s;t<=c;t+=i){let r=(t%a+a)%a===0,s=!r&&o>=i&&(t%o+o)%o===0;l.push({mm:t,major:r,mid:s,label:r?`${t}`:``,offsetPx:Math.round((e+t*n)*100)/100})}return l}function pn(e){return JSON.parse(JSON.stringify(e))}function mn(e){return JSON.parse(JSON.stringify(e))}function hn(){Le+=1;let e=4*Le;return{dx:e,dy:e}}function gn(e,t){let n=e.xMm+e.wMm,r=e.yMm+e.hMm;return n>t.xMm&&e.xMm<t.xMm+t.wMm&&r>t.yMm&&e.yMm<t.yMm+t.hMm}function _n(e){let t=Math.min(...e.map(e=>e.xMm)),n=Math.min(...e.map(e=>e.yMm)),r=Math.max(...e.map(e=>e.xMm+e.wMm)),i=Math.max(...e.map(e=>e.yMm+e.hMm));return{minX:t,minY:n,maxR:r,maxB:i,width:$(r-t),height:$(i-n)}}function yn(e){let t=Math.min(...e.map(e=>e.xMm)),n=Math.min(...e.map(e=>e.yMm)),r=Math.max(...e.map(e=>e.xMm+e.wMm)),i=Math.max(...e.map(e=>e.yMm+e.hMm));return{minX:t,minY:n,maxR:r,maxB:i,width:$(r-t),height:$(i-n)}}function xn(e){return{xMm:$(e.xMm+2),yMm:$(e.yMm+2)}}function Sn(e,t,n){let r=Math.max(0,Number(Ve.value)||0),i=Math.max(0,e.wMm-t.width),a=Math.max(0,e.hMm-t.height),o=n.endsWith(`left`)?0:n.endsWith(`right`)?1:.5,s=n.startsWith(`top`)?0:n.startsWith(`bottom`)?1:.5,c=Math.min(r,i),l=Math.min(r,a),u=Math.max(0,i-c*2),d=Math.max(0,a-l*2);return{xMm:$(e.xMm+c+u*o),yMm:$(e.yMm+l+d*s)}}function Cn(e,t,n){let r=e.xMm,i=e.yMm,a=!!e.flipX,o=!!e.flipY;return n===`x`?(r=$(t.minX+t.maxR-(e.xMm+e.wMm)),a=!a):n===`y`&&(i=$(t.minY+t.maxB-(e.yMm+e.hMm)),o=!o),{xMm:r,yMm:i,flipX:a||void 0,flipY:o||void 0}}function wn(e){if(!I.value||!e.length)return;let t=e.map(e=>I.value.elements.find(t=>t.id===e)).filter(e=>e!=null);t.length&&(je.value=t.map(e=>pn(e)),Ne.value=`elements`,Le=0,Q.success(t.length>1?`已复制 ${t.length} 个元素`:`已复制元素`))}function En(e){return I.value?.elements?.length?I.value.elements.filter(t=>t.regionId===e.id||gn(t,e)):[]}function On(e,t,n){if(!e.length){Q.info(`请先选中要复制的分块`);return}Me.value={regions:e.map(e=>mn(e)),elements:t.map(e=>pn(e))},Ne.value=`regions`,Le=0,Q.success(n)}function kn(){if(!J.value){Q.info(`请先选中一个分块`);return}On([J.value],[],`已复制分块「${J.value.name}」`)}function An(){if(!J.value||!I.value)return;let e=En(J.value);if(!e.length){Q.info(`当前分区内没有可复制的元素`);return}wn(e.map(e=>e.id))}function Nn(){if(!J.value){Q.info(`请先选中一个分块`);return}let e=En(J.value);On([J.value],e,e.length?`已复制分块和 ${e.length} 个元素`:`已复制分块「${J.value.name}」`)}function Pn(){if(!J.value){Q.info(`请先选中一个分块`);return}let e=ha();On([J.value],e,e.length?`已复制分块和 ${e.length} 个选中元素`:`已复制分块「${J.value.name}」`)}function Fn(e){let t=z.value.length?[...z.value]:e?[e]:[];if(!t.length){Q.info(`请先选中要复制的元素`);return}wn(t)}function In(e,t){if(!I.value||!je.value.length){Q.info(`剪贴板里还没有可粘贴的元素`);return}let n=je.value.map(e=>pn(e)),r=new Map,i=_n(n),a=hn(),o=t?.targetRegion??null,s=o?t?.align?Sn(o,i,t.align):xn(o):e,c=s?s.xMm-i.minX:a.dx,l=s?s.yMm-i.minY:a.dy,u=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0),d=n.map((e,n)=>{let a=Cn(e,i,t?.flipAxis);return{...e,id:Lr(),groupId:e.groupId?r.get(e.groupId)||(r.set(e.groupId,Rr()),r.get(e.groupId)):void 0,regionId:o?.id||e.regionId,xMm:$(a.xMm+c),yMm:$(a.yMm+l),flipX:a.flipX,flipY:a.flipY,zIndex:u+n+1}});ta(),I.value.elements.push(...d),o&&(B.value=o.id),z.value=d.map(e=>e.id),Q.success(d.length>1?`已粘贴 ${d.length} 个元素`:`已粘贴元素`)}function Ln(e){return{x:e.xMm+e.wMm/2,y:e.yMm+e.hMm/2}}function zn(e,t,n,r){return Math.max(0,Math.min(t,r)-Math.max(e,n))}function Bn(e,t){if(!I.value?.regions?.length)return null;let n=Ln(e),r=L.value-n.x,i=R.value-n.y,a=I.value.regions.filter(t=>t.id!==e.id);if(!a.length)return null;let o=null;for(let s of a){let a=Ln(s),c=t===`x`?zn(e.yMm,e.yMm+e.hMm,s.yMm,s.yMm+s.hMm):zn(e.xMm,e.xMm+e.wMm,s.xMm,s.xMm+s.wMm),l=t===`x`?Math.abs(a.x-r)*4+Math.abs(a.y-n.y)-c*.25:Math.abs(a.y-i)*4+Math.abs(a.x-n.x)-c*.25;(!o||l<o.score)&&(o={region:s,score:l})}return o?.region||null}function Vn(e){let t=ha().filter(t=>t.regionId===e.id||gn(t,e));return t.length?t:En(e)}function Hn(e){if(!J.value){Q.info(`请先选中一个分区`);return}cr(e,J.value)}function Un(e){if(!I.value||!J.value){Q.info(`请先选中一个分区`);return}let t=J.value,n=Bn(t,e);if(!n){Q.warning(e===`x`?`未找到左右对侧分区`:`未找到上下对侧分区`);return}let r=Vn(t).map(e=>pn(e));if(!r.length){Q.info(`当前分区内没有可镜像的内容`);return}let i=Math.max(.001,n.wMm/Math.max(t.wMm,.001)),a=Math.max(.001,n.hMm/Math.max(t.hMm,.001)),o=new Map,s=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0),c=r.map((r,c)=>{let l=r.xMm-t.xMm,u=r.yMm-t.yMm,d=$(r.wMm*i),f=$(r.hMm*a),p=$(e===`x`?(t.wMm-(l+r.wMm))*i:l*i),m=$(e===`y`?(t.hMm-(u+r.hMm))*a:u*a);return{...r,id:Lr(),groupId:r.groupId?o.get(r.groupId)||(o.set(r.groupId,Rr()),o.get(r.groupId)):void 0,regionId:n.id,xMm:$(n.xMm+p),yMm:$(n.yMm+m),wMm:d,hMm:f,flipX:e===`x`?!r.flipX||void 0:r.flipX,flipY:e===`y`?!r.flipY||void 0:r.flipY,zIndex:s+c+1}});ta(),I.value.elements.push(...c),B.value=n.id,z.value=c.map(e=>e.id),Q.success(e===`x`?`已镜像复制到横向对侧分区「${n.name}」`:`已镜像复制到纵向对侧分区「${n.name}」`)}function Wn(e){if(!I.value||!Me.value?.regions?.length){Q.info(`剪贴板里还没有可粘贴的分块`);return}let t=Me.value.regions.map(e=>mn(e)),n=Me.value.elements.map(e=>pn(e)),r=yn(t),i=hn(),a=e?e.xMm-r.minX:i.dx,o=e?e.yMm-r.minY:i.dy,s=new Map,c=new Map,l=t.map((e,n)=>{let r=zr();return s.set(e.id,r),{...e,id:r,name:t.length>1?`${e.name} ${n+1}`:`${e.name} 副本`,xMm:$(e.xMm+a),yMm:$(e.yMm+o)}}),u=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0),d=n.map((e,n)=>{let r=e.regionId&&s.get(e.regionId)||void 0;if(!r){let n=t.find(t=>gn(e,t));n&&(r=s.get(n.id)||void 0)}return{...e,id:Lr(),groupId:e.groupId?c.get(e.groupId)||(c.set(e.groupId,Rr()),c.get(e.groupId)):void 0,regionId:r,xMm:$(e.xMm+a),yMm:$(e.yMm+o),zIndex:u+n+1}});ta(),I.value.regions||=[],I.value.regions.push(...l),I.value.elements.push(...d),B.value=l[0]?.id||null,z.value=d.map(e=>e.id),Q.success(d.length?`已粘贴 ${l.length} 个分块和 ${d.length} 个元素`:`已粘贴 ${l.length} 个分块`)}function Gn(){return`clip_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function qn(e){return!!e&&(e.type===`image`||e.type===`seal`)&&e.clipboardSource===`clipboard`}function Jn(e){return qn(e)?e.clipboardUploadState===`pending`?`粘贴待上传`:`粘贴图片`:``}function Yn(e){let t=e?.length?e:Array.from(Ie.keys());for(let e of t){let t=Ie.get(e);t?.objectUrl&&URL.revokeObjectURL(t.objectUrl),Ie.delete(e)}}function Xn(e){let t=e?.target;t instanceof HTMLElement&&t.closest(`.canvas-context-menu`)||(Pe.value.visible=!1,Pe.value.anchorMm=null,Pe.value.target=`blank`,Pe.value.regionId=null,Pe.value.guideId=null)}function Zn(e,t){return{x:Math.max(8,Math.min(e,window.innerWidth-144-8)),y:Math.max(8,Math.min(t,window.innerHeight-320-8))}}function Qn(e,t,n,r=`blank`,i=null,a=null){let o=Zn(e,t);Pe.value={visible:!0,x:o.x,y:o.y,clientX:e,clientY:t,anchorMm:n??null,target:r,regionId:i,guideId:a}}function $n(e){Qn(e.clientX,e.clientY,null)}function er(e){if(!pe.value){Qn(e.clientX,e.clientY,null);return}let t=pe.value.getBoundingClientRect(),n=Z.value,r=$((e.clientX-t.left)/n/Mh),i=$((e.clientY-t.top)/n/Mh);Qn(e.clientX,e.clientY,{xMm:r,yMm:i})}function tr(e,t){V.value=null,B.value=t.id,Qn(e.clientX,e.clientY,{xMm:t.xMm,yMm:t.yMm},`region`,t.id)}function nr(e){V.value=e,e&&(z.value=[],B.value=null)}function rr(e,t){nr(t.id),Qn(e.clientX,e.clientY,t.axis===`horizontal`?{xMm:0,yMm:t.offsetMm}:{xMm:t.offsetMm,yMm:0},`guide`,null,t.id)}function ir(e){e===`delete`&&dt.value&&ji(dt.value.id),Xn()}function ar(){let e=H.value;if(!e||!I.value)return null;let t=(e.scrollLeft-Rt.value)/Z.value,n=(e.scrollTop-zt.value)/Z.value,r=kt.value/Z.value,i=At.value/Z.value,a=Math.min(Math.max(t+r/2,0),wt.value),o=Math.min(Math.max(n+i/2,0),Tt.value);return{xMm:$(a/Mh),yMm:$(o/Mh)}}function or(e,t){if(!I.value)return;let n=Gn(),r=URL.createObjectURL(e);Ie.set(n,{file:e,objectUrl:r,origName:e.name||`粘贴图片`}),mi(r,t??ar()??void 0,{clipboardSource:`clipboard`,clipboardUploadState:`pending`,clipboardUploadKey:n,clipboardOrigName:e.name||`粘贴图片`}),Q.success(`已粘贴图片,保存模板时才上传`)}function sr(e){e===`paste`&&ot.value?In(Pe.value.anchorMm??void 0):e===`paste_region`&&st.value?Wn(Pe.value.anchorMm??void 0):e===`delete`&&z.value.length?Xr([...z.value]):e===`zoom_in`?dr(Z.value+.1,{clientX:Pe.value.clientX,clientY:Pe.value.clientY}):e===`zoom_out`?dr(Z.value-.1,{clientX:Pe.value.clientX,clientY:Pe.value.clientY}):e===`fit`&&fr(),Xn()}function cr(e,t){if(!I.value)return;let n=En(t);if(!n.length){Q.info(`当前分块内没有可翻转的内容`);return}ta();let r={minX:t.xMm,minY:t.yMm,maxR:$(t.xMm+t.wMm),maxB:$(t.yMm+t.hMm)};for(let t of n){let n=Cn(t,r,e);t.xMm=n.xMm,t.yMm=n.yMm,t.flipX=n.flipX,t.flipY=n.flipY}z.value=n.map(e=>e.id),B.value=t.id,Q.success(e===`x`?`已左右翻转当前分块内容`:`已上下翻转当前分块内容`)}function lr(e){if(!ut.value){Xn();return}B.value=ut.value.id,e===`copy_region`?kn():e===`copy_region_contents`?Nn():e===`copy_region_selection`?Pn():e===`paste_region`?Wn({xMm:ut.value.xMm+4,yMm:ut.value.yMm+4}):e===`paste_elements`?In(void 0,{targetRegion:ut.value}):e===`paste_elements_flip_x`?In(void 0,{targetRegion:ut.value,flipAxis:`x`}):e===`paste_elements_flip_y`?In(void 0,{targetRegion:ut.value,flipAxis:`y`}):e===`flip_contents_x`?cr(`x`,ut.value):e===`flip_contents_y`?cr(`y`,ut.value):e===`delete_region`&&bi(ut.value.id),Xn()}function ur(e){return Math.max(.06,Math.min(3,Math.round(e*100)/100))}async function dr(e,n){let r=H.value,i=me.value;if(!r||!i){Ae.value=ur(e);return}let a=Z.value,o=ur(e);if(Math.abs(o-a)<.001)return;let s=r.getBoundingClientRect(),c=n?n.clientX-s.left:r.clientWidth/2,l=n?n.clientY-s.top:r.clientHeight/2,u=Rt.value,d=zt.value,f=(r.scrollLeft+c-u)/a,p=(r.scrollTop+l-d)/a;Ae.value=o,await(0,t.nextTick)();let m=me.value,h=H.value;if(!m||!h)return;let g=Rt.value,_=zt.value;h.scrollLeft=Math.max(0,g+f*o-c),h.scrollTop=Math.max(0,_+p*o-l)}function fr(){Ae.value=null,(0,t.nextTick)(()=>Ba(!0))}function pr(e){let t=Z.value;dr(t+e*.1)}function hr(e){if(!I.value||wt.value<=0)return;let t=e.deltaY>0?-.1:.1;dr(Z.value+t,{clientX:e.clientX,clientY:e.clientY})}function gr(e){let t=[];return e.rotation&&t.push(`rotate(${e.rotation}deg)`),e.flipX&&t.push(`scaleX(-1)`),e.flipY&&t.push(`scaleY(-1)`),t.join(` `)}function _r(e){return Ru(e.text,Ct.value)}function vr(e){let t=Mh,n=gr(e);return{position:`absolute`,left:`${e.xMm*t}px`,top:`${e.yMm*t}px`,width:`${e.wMm*t}px`,height:`${e.hMm*t}px`,zIndex:e.zIndex??1,...n?{transform:n}:{},transformOrigin:`center center`}}function yr(e){let t=Mh,n=e.offsetMm*t;return e.axis===`horizontal`?{top:`${n}px`,left:`0`,width:`${wt.value}px`,height:`0`}:{left:`${n}px`,top:`0`,width:`0`,height:`${Tt.value}px`}}function br(e){let t=Mh,n=e.offsetMm*t;return e.axis===`horizontal`?{left:`6px`,top:`${n}px`}:{top:`6px`,left:`${n}px`}}function xr(e){let t;switch(e.align){case`center`:t={justifyContent:`center`,alignItems:`center`,textAlign:`center`};break;case`top-center`:t={justifyContent:`center`,alignItems:`flex-start`,textAlign:`center`};break;case`bottom-center`:t={justifyContent:`center`,alignItems:`flex-end`,textAlign:`center`};break;case`middle-left`:t={justifyContent:`flex-start`,alignItems:`center`,textAlign:`left`};break;case`middle-right`:t={justifyContent:`flex-end`,alignItems:`center`,textAlign:`right`};break;case`top-right`:t={justifyContent:`flex-end`,alignItems:`flex-start`,textAlign:`right`};break;case`bottom-left`:t={justifyContent:`flex-start`,alignItems:`flex-end`,textAlign:`left`};break;case`bottom-right`:t={justifyContent:`flex-end`,alignItems:`flex-end`,textAlign:`right`};break;default:t={justifyContent:`flex-start`,alignItems:`flex-start`,textAlign:`left`}}let n=e.textDirection===`vertical`;return{width:`100%`,height:`100%`,display:`flex`,...t,fontFamily:e.fontFamily,fontSize:`${e.fontSize}pt`,color:e.color,lineHeight:1.25,whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflow:`hidden`,writingMode:n?`vertical-rl`:`horizontal-tb`,textOrientation:n?`upright`:`mixed`}}function Sr(e){return{width:`100%`,height:`100%`,display:`block`,opacity:String(e.opacity??1)}}function Cr(e){return e.showStroke===!1?`none`:e.strokeColor||`#409eff`}function wr(e){return e.background||`transparent`}function Tr(e){return Math.max(0,Number(e.strokeWidthMm??.6))*3.2}function Er(e){return e===`circle`||e===`triangle`||e===`polygon`||e===`trapezoid`}function Or(e){let t=Math.max(.01,Number(e.hMm)||.01);return Math.max(.01,Number(e.wMm)||.01)/t}function Ar(e,t,n){let r=Math.max(1,Number(n)||1);if(!e.lockAspectRatio){t===`width`?e.wMm=$(r):e.hMm=$(r);return}let i=Or(e);t===`width`?(e.wMm=$(r),e.hMm=$(Math.max(1,r/i))):(e.hMm=$(r),e.wMm=$(Math.max(1,r*i)))}function jr(e){let t=Ze.value;t&&Ar(t,`width`,e)}function Nr(e){let t=Ze.value;t&&Ar(t,`height`,e)}function Pr(e){let t=Math.max(3,Math.min(12,Math.round(Number(e.polygonSides??5)))),n=[];for(let e=0;e<t;e++){let r=-Math.PI/2+Math.PI*2*e/t;n.push(`${50+Math.cos(r)*44},${50+Math.sin(r)*44}`)}return n.join(` `)}function Fr(){return`18,6 82,6 96,94 4,94`}function Ir(e){return{left:`${e.xMm*Mh}px`,top:`${e.yMm*Mh}px`,width:`${e.wMm*Mh}px`,height:`${e.hMm*Mh}px`,backgroundColor:e.background||`rgba(64, 158, 255, 0.06)`,backgroundImage:e.backgroundImage?`url(${dn(e.backgroundImage)})`:void 0,backgroundSize:e.backgroundImage?`cover`:void 0,backgroundPosition:e.backgroundImage?`center`:void 0,backgroundRepeat:e.backgroundImage?`no-repeat`:void 0}}function Lr(){return`el_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function Rr(){return`grp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function zr(){return`region_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function Br(e,t,n){let r={id:Lr(),type:`text`,fontFamily:`Microsoft YaHei,sans-serif`},i=[{xMm:6,yMm:8,wMm:t-12,hMm:10,align:`top-center`,text:`{{competition_name}}`,fontSize:11,color:`#606266`},{xMm:6,yMm:n*.34,wMm:t-12,hMm:20,align:`center`,text:`{{student_name}}`,fontSize:22,color:`#303133`},{xMm:6,yMm:n*.56,wMm:t-12,hMm:10,align:`top-left`,text:`编号 {{competition_no}}`,fontSize:12,color:`#409eff`},{xMm:6,yMm:n*.68,wMm:(t-18)/2,hMm:9,align:`top-left`,text:`{{school_name}}`,fontSize:10,color:`#606266`},{xMm:6+(t-18)/2+6,yMm:n*.68,wMm:(t-18)/2,hMm:9,align:`top-right`,text:`{{age_group}}`,fontSize:10,color:`#606266`},{xMm:6,yMm:n*.78,wMm:t-12,hMm:12,align:`top-left`,text:`{{competition_room}} {{seat_no}}号`,fontSize:11,color:`#303133`}];if(e<i.length)return{...r,zIndex:1,...i[e]};let a=(t-12-5)/2,o=e-i.length,s=Math.floor(o/2),c=o%2,l=Math.min(n*.88+s*15,n-6-11);return{...r,zIndex:1,xMm:6+c*(a+5),yMm:l,wMm:a,hMm:11,align:`top-left`,text:`{{session}}`,fontSize:10,color:`#909399`}}function Vr(e){if(e.type===`text`){let t=e.text.replace(/\s+/g,` `).trim();return`${(t.length>16?`${t.slice(0,16)}…`:t)||`文字`}${e.groupId?` [组]`:``}`}return e.type===`shape`?`${e.shape===`rect`?`矩形`:e.shape===`circle`?`圆形`:e.shape===`triangle`?`三角形`:e.shape===`polygon`?`${Math.max(3,Math.round(Number(e.polygonSides??5)))}边形`:e.shape===`trapezoid`?`梯形`:`线条`}${e.groupId?` [组]`:``}`:`图片${e.groupId?` [组]`:``}`}function Hr(e,t){if(!I.value)return;let n=[...I.value.elements].sort((e,t)=>(e.zIndex??0)-(t.zIndex??0)),r=n.findIndex(t=>t.id===e.id),i=t===1?r+1:r-1;if(i<0||i>=n.length)return;let a=n[r],o=n[i],s=a.zIndex??1;a.zIndex=o.zIndex??1,o.zIndex=s}function Ur(){I.value?.elements?.length&&[...I.value.elements].sort((e,t)=>(e.zIndex??0)-(t.zIndex??0)).forEach((e,t)=>{e.zIndex=t+1})}function Wr(e){I.value&&(e.zIndex=I.value.elements.reduce((e,t)=>Math.max(e,t.zIndex??0),0)+1)}function Gr(e){if(!I.value)return;let t=I.value.elements.reduce((e,t)=>Math.min(e,t.zIndex??0),1/0);e.zIndex=(Number.isFinite(t)?t:1)-1,Ur()}function Kr(e,t){switch(ta(),e){case`forward`:Hr(t,1);break;case`backward`:Hr(t,-1);break;case`front`:Wr(t);break;case`back`:Gr(t)}}function qr(e){z.value=[e.id],g.value=e.id,m.value=e.link?.href||``,h.value=e.link?.target||`_blank`,p.value=!0}function Jr(){if(!I.value||!g.value)return;let e=I.value.elements.find(e=>e.id===g.value);if(!e)return;let t=m.value.trim();t?e.link={href:t,target:h.value||`_blank`}:delete e.link,p.value=!1,Q.success(t?`已设置链接`:`已清除链接`)}function Yr(e,t){if(Xn(),e===`copy`){wn(z.value.includes(t.id)?[...z.value]:Ci(t));return}if(e===`paste`){In({xMm:t.xMm+2,yMm:t.yMm+2});return}if(e===`set-link`){qr(t);return}if(e===`clear-link`){z.value=[t.id],t.link&&delete t.link,Q.success(`已清除链接`);return}e===`delete`&&Xr(z.value.includes(t.id)?[...z.value]:Ci(t))}async function Xr(e){if(!I.value||!e.length)return;let t=new Set(e),n=new Map;for(let r of e){let e=I.value.elements.find(e=>e.id===r);!qn(e)||e.clipboardUploadState!==`uploaded`||!e.clipboardImageId||I.value.elements.some(n=>!t.has(n.id)&&qn(n)&&n.clipboardImageId===e.clipboardImageId)||n.set(e.clipboardImageId,e.clipboardOrigName||`图片${e.clipboardImageId}`)}let r=!1;if(n.size){let e=await new Promise(e=>{_.value=n.size,v=e,f.value=!0});if(e===null)return;r=e}ta();let i=new Set(e);if(I.value.elements=I.value.elements.filter(e=>!i.has(e.id)),z.value=z.value.filter(e=>!i.has(e)),r){let e=(await Promise.allSettled(Array.from(n.keys()).map(e=>Mn(e)))).filter(e=>e.status===`rejected`).length;e?Q.warning(`已删除画布元素,但有 ${e} 张服务器图片删除失败`):Q.success(`已删除画布元素和服务器图片`)}}function Zr(e){if(e.button!==0||!pe.value||!I.value)return;e.preventDefault(),V.value=null,ge=e.shiftKey;let t=pe.value.getBoundingClientRect(),n=Z.value,r=(e.clientX-t.left)/n,i=(e.clientY-t.top)/n;he.value={x0:r,y0:i,x1:r,y1:i},window.addEventListener(`pointermove`,Qr),window.addEventListener(`pointerup`,$r,{once:!0})}function Qr(e){if(!he.value||!pe.value)return;let t=pe.value.getBoundingClientRect(),n=Z.value;he.value.x1=(e.clientX-t.left)/n,he.value.y1=(e.clientY-t.top)/n}function $r(e){window.removeEventListener(`pointermove`,Qr);let t=he.value;if(he.value=null,!t||!I.value||!pe.value||Math.abs(t.x1-t.x0)<4&&Math.abs(t.y1-t.y0)<4)return;let n=Mh,r=Math.min(t.x0,t.x1)/n,i=Math.min(t.y0,t.y1)/n,a=Math.max(t.x0,t.x1)/n,o=Math.max(t.y0,t.y1)/n,s=[];for(let e of I.value.elements){let t=e.xMm+e.wMm,n=e.yMm+e.hMm;t>r&&e.xMm<a&&n>i&&e.yMm<o&&s.push(e.id)}let c=e.shiftKey||ge;ge=!1,c?z.value=Array.from(new Set([...z.value,...s])):z.value=s}let ei=null;function ti(e){e.button!==0&&e.button!==1||!H.value||(e.preventDefault(),Xn(),De.value=!0,ei={startX:e.clientX,startY:e.clientY,startScrollLeft:H.value.scrollLeft,startScrollTop:H.value.scrollTop},(e.currentTarget||H.value).setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,ni),window.addEventListener(`pointerup`,ri,{once:!0}))}function ni(e){if(!ei||!H.value)return;let t=H.value,n=ei.startScrollLeft-(e.clientX-ei.startX),r=ei.startScrollTop-(e.clientY-ei.startY),i=Math.max(0,t.scrollWidth-t.clientWidth),a=Math.max(0,t.scrollHeight-t.clientHeight);t.scrollLeft=Math.min(i,Math.max(0,n)),t.scrollTop=Math.min(a,Math.max(0,r))}function ri(){ei=null,De.value=!1,window.removeEventListener(`pointermove`,ni)}function ai(){ke.value=!0}function oi(){ke.value=!1,De.value||(Oe.value=!1)}function si(e){ke.value=!0,H.value?.focus(),e.button===1&&ti(e)}function ci(e){if(V.value=null,B.value=null,e.button===1||Oe.value){ti(e);return}Zr(e)}function li(e){if(e.button===0||e.button===1||Oe.value){V.value=null,B.value=null,e.button===0&&!e.shiftKey&&(z.value=[]),ti(e);return}}function ui(){if(!I.value)return;ta();let e=I.value.canvas.widthMm,t=I.value.canvas.heightMm,n=I.value.elements.filter(e=>e.type===`text`).length,r=Br(n,e,t);J.value&&(r.xMm=$(J.value.xMm+4),r.yMm=$(J.value.yMm+4),r.wMm=$(Math.max(10,J.value.wMm-8)),r.regionId=J.value.id),r.zIndex=(I.value.elements?.length??0)+1,I.value.elements.push(r),z.value=[r.id]}function di(e){if(!I.value)return;ta();let t=J.value,n=e===`line`?36:24,r=e===`line`?4:18,i=$(t?t.xMm+Math.max(2,(t.wMm-n)/2):Math.max(4,L.value*.2)),a=$(t?t.yMm+Math.max(2,(t.hMm-r)/2):Math.max(4,R.value*.2)),o={id:Lr(),type:`shape`,shape:e,zIndex:(I.value.elements?.length??0)+1,xMm:i,yMm:a,wMm:n,hMm:r,background:e===`line`?`transparent`:`rgba(64, 158, 255, 0.18)`,lockAspectRatio:Er(e),showStroke:!0,strokeColor:`#409eff`,strokeWidthMm:.6,opacity:1,polygonSides:e===`polygon`?5:void 0,regionId:t?.id};I.value.elements.push(o),z.value=[o.id]}let fi=null,pi=0;function mi(e,t,n){if(!I.value||!e)return;ta();let r=I.value.canvas.widthMm,i=I.value.canvas.heightMm,a=I.value.elements.filter(e=>e.type===`image`||e.type===`seal`).length,o=8+a%2*34,s=Math.max(8,i-28-Math.floor(a/2)*16),c=t?Math.min(Math.max($(t.xMm-16),0),Math.max(0,r-32)):J.value?Math.min(Math.max($(J.value.xMm+(J.value.wMm-32)/2),0),Math.max(0,r-32)):o,l=t?Math.min(Math.max($(t.yMm-10),0),Math.max(0,i-20)):J.value?Math.min(Math.max($(J.value.yMm+(J.value.hMm-20)/2),0),Math.max(0,i-20)):s,u={id:Lr(),type:`image`,zIndex:(I.value.elements?.length??0)+1,xMm:c,yMm:l,wMm:32,hMm:20,src:e,regionId:J.value?.id,...n};I.value.elements.push(u),z.value=[u.id],pi+=1,fi&&clearTimeout(fi),fi=setTimeout(()=>{fi=null;let e=pi;pi=0,Q.success(e>1?`已插入 ${e} 张图片`:`已插入图片`)},350)}function hi(e){e.canvas||={widthMm:L.value,heightMm:R.value,background:`#ffffff`},e.canvas.showBorder??(e.canvas.showBorder=!0),e.canvas.borderColor||(e.canvas.borderColor=`#334155`);let t=Number(e.canvas.borderWidthMm);e.canvas.borderWidthMm=Number.isFinite(t)&&t>0?Math.min(8,t):.35,e.guides||=[],e.guides=e.guides.filter(e=>e&&(e.axis===`horizontal`||e.axis===`vertical`)).map((e,t)=>({id:e.id||`guide_${t+1}`,axis:e.axis,offsetMm:Math.max(0,Number(e.offsetMm)||0)})),e.regions||=[],e.regions=e.regions.filter(e=>e&&Number(e.wMm)>0&&Number(e.hMm)>0).map((e,t)=>({id:e.id||`region_${t+1}`,name:String(e.name||`画布${t+1}`),xMm:Math.max(0,Number(e.xMm)||0),yMm:Math.max(0,Number(e.yMm)||0),wMm:Math.max(1,Number(e.wMm)||1),hMm:Math.max(1,Number(e.hMm)||1),background:String(e.background||``),backgroundImage:String(e.backgroundImage||``)})),e.elements=(e.elements||[]).map(e=>{let t={...e,id:String(e?.id||Lr()),zIndex:Number(e?.zIndex)||1,xMm:Number(e?.xMm)||0,yMm:Number(e?.yMm)||0,wMm:Math.max(1,Number(e?.wMm)||1),hMm:Math.max(1,Number(e?.hMm)||1)};return t.type===`shape`&&(t.shape=[`rect`,`circle`,`triangle`,`line`,`polygon`,`trapezoid`].includes(t.shape)?t.shape:`rect`,t.background||=`rgba(64, 158, 255, 0.2)`,t.lockAspectRatio=t.lockAspectRatio==null?Er(t.shape):!!t.lockAspectRatio,t.showStroke=t.showStroke!==!1,t.strokeColor||=`#409eff`,t.strokeWidthMm=Math.max(0,Number(t.strokeWidthMm??.6)),t.opacity=Math.max(0,Math.min(1,Number(t.opacity??1))),t.polygonSides=Math.max(3,Math.min(12,Math.round(Number(t.polygonSides??5))))),t})}function gi(e,t,n,r,i,a){return{id:zr(),name:e||`画布${a+1}`,xMm:$(t),yMm:$(n),wMm:$(r),hMm:$(i),background:``,backgroundImage:``}}function _i(e){if(!I.value)return;let t=Math.max(1,Math.round(ze.value||1)),n=Math.max(1,Math.round(Re.value||1)),r=L.value,i=R.value,a=[];if(e===`horizontal`){let e=r/n;for(let t=0;t<n;t++)a.push(gi(`画布${t+1}`,t*e,0,e,i,t))}else if(e===`vertical`){let e=i/t;for(let n=0;n<t;n++)a.push(gi(`画布${n+1}`,0,n*e,r,e,n))}else{let e=r/n,o=i/t;for(let r=0;r<t;r++)for(let t=0;t<n;t++){let i=r*n+t;a.push(gi(`画布${i+1}`,t*e,r*o,e,o,i))}}ta(),I.value.regions=a,B.value=a[0]?.id||null}function vi(){I.value?.regions?.length&&(ta(),I.value.regions=[],B.value=null)}function bi(e){if(I.value?.regions?.length){ta(),I.value.regions=I.value.regions.filter(t=>t.id!==e);for(let t of I.value.elements)t.regionId===e&&delete t.regionId;B.value===e&&(B.value=I.value.regions[0]?.id||null)}}function xi(e,t){if(e.button!==0||(e.preventDefault(),V.value=null,B.value=t.id,e.shiftKey||(z.value=[]),!I.value))return;let n=En(t);ta(),Ni={regions:[t],els:n,startX:e.clientX,startY:e.clientY,regionOrigins:[{id:t.id,x:t.xMm,y:t.yMm}],origins:n.map(e=>({id:e.id,x:e.xMm,y:e.yMm}))},e.currentTarget?.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Ii),window.addEventListener(`pointerup`,Li,{once:!0})}function Ci(e){return!I.value||!e.groupId?[e.id]:I.value.elements.filter(t=>t.groupId===e.groupId).map(e=>e.id)}function wi(e){B.value=null,z.value=Ci(e)}function Ti(){if(!I.value||z.value.length<2){Q.info(`至少选中两个元素才能组合`);return}ta();let e=Rr();for(let t of ha())t.groupId=e;Q.success(`已组合选中元素`)}function Ei(){let e=ha();if(!(!I.value||!e.length)){ta();for(let t of e)delete t.groupId;Q.success(`已打散组合`)}}function Di(e){let t=ha();if(t.length<2){Q.info(`至少选中两个元素才能整体翻转`);return}ta();let n=Math.min(...t.map(e=>e.xMm)),r=Math.max(...t.map(e=>e.xMm+e.wMm)),i=Math.min(...t.map(e=>e.yMm)),a=Math.max(...t.map(e=>e.yMm+e.hMm));for(let o of t)e===`x`?(o.xMm=$(n+r-(o.xMm+o.wMm)),o.flipX=!o.flipX):(o.yMm=$(i+a-(o.yMm+o.hMm)),o.flipY=!o.flipY);Q.success(e===`x`?`已左右翻转选中元素`:`已上下翻转选中元素`)}function Oi(){if(!(!J.value||!I.value||!z.value.length)){ta();for(let e of ha())e.regionId=J.value.id;Q.success(`已归入 ${J.value.name}`)}}function Ai(e){if(!I.value)return;ta();let t=Number(e===`horizontal`?(R.value/2).toFixed(2):(L.value/2).toFixed(2));I.value.guides||=[],I.value.guides.push({id:Lr(),axis:e,offsetMm:t})}function ji(e){I.value?.guides?.length&&(ta(),I.value.guides=I.value.guides.filter(t=>t.id!==e),V.value===e&&(V.value=null))}function Mi(){I.value?.guides?.length&&(ta(),I.value.guides=[],V.value=null)}let Ni=null,Pi=null;function Fi(e,t){V.value=null,B.value=null;let n=Ci(t);if(e.shiftKey){n.every(e=>z.value.includes(e))?z.value=z.value.filter(e=>!n.includes(e)):z.value=Array.from(new Set([...z.value,...n]));return}if(n.every(e=>z.value.includes(e))||(z.value=[...n]),!I.value)return;let r=I.value.elements.filter(e=>z.value.includes(e.id));r.length&&(ta(),Ni={regions:[],els:r,startX:e.clientX,startY:e.clientY,regionOrigins:[],origins:r.map(e=>({id:e.id,x:e.xMm,y:e.yMm}))},e.target.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Ii),window.addEventListener(`pointerup`,Li,{once:!0}))}function Ii(e){if(!Ni||!I.value)return;let t=e.clientX-Ni.startX,n=e.clientY-Ni.startY,r=Z.value,i=Mh;for(let e of Ni.regions){let a=Ni.regionOrigins.find(t=>t.id===e.id);a&&(e.xMm=Math.round((a.x+t/r/i)*100)/100,e.yMm=Math.round((a.y+n/r/i)*100)/100)}for(let e of Ni.els){let a=Ni.origins.find(t=>t.id===e.id);a&&(e.xMm=Math.round((a.x+t/r/i)*100)/100,e.yMm=Math.round((a.y+n/r/i)*100)/100)}}function Li(){Ni=null,window.removeEventListener(`pointermove`,Ii)}function Ri(e,t){e.preventDefault(),nr(t.id),ta(),Pi={guide:t,startClient:t.axis===`horizontal`?e.clientY:e.clientX,startOffsetMm:t.offsetMm},e.currentTarget.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,zi),window.addEventListener(`pointerup`,Bi,{once:!0})}function zi(e){if(!Pi||!I.value)return;let t=(Pi.guide.axis===`horizontal`?e.clientY:e.clientX)-Pi.startClient,n=Z.value,r=Mh,i=Pi.guide.axis===`horizontal`?R.value:L.value,a=Pi.startOffsetMm+t/n/r;Pi.guide.offsetMm=Math.max(0,Math.min(i,Math.round(a*100)/100))}function Bi(){Pi=null,window.removeEventListener(`pointermove`,zi)}let Hi=null;function Ui(e,t){e.preventDefault(),z.value=[t.id],ta(),Hi={el:t,startX:e.clientX,startY:e.clientY,startWMm:t.wMm,startHMm:t.hMm,aspectRatio:Math.max(.01,Number(t.wMm)||.01)/Math.max(.01,Number(t.hMm)||.01),lockAspectRatio:t.type===`shape`&&!!t.lockAspectRatio},e.currentTarget.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Wi),window.addEventListener(`pointerup`,Gi,{once:!0})}function Wi(e){if(!Hi)return;let t=e.clientX-Hi.startX,n=e.clientY-Hi.startY,r=Z.value,i=Mh,a=Math.max(1,Math.round((Hi.startWMm+t/r/i)*100)/100),o=Math.max(1,Math.round((Hi.startHMm+n/r/i)*100)/100);if(Hi.lockAspectRatio||e.shiftKey){let e=Math.max(.01,Hi.aspectRatio||1);Math.abs(t)>=Math.abs(n)?(Hi.el.wMm=a,Hi.el.hMm=Math.max(1,Math.round(a/e*100)/100)):(Hi.el.hMm=o,Hi.el.wMm=Math.max(1,Math.round(o*e*100)/100));return}Hi.el.wMm=a,Hi.el.hMm=o}function Gi(){Hi=null,window.removeEventListener(`pointermove`,Wi)}let Ki=(0,t.ref)([]),Ji=(0,t.ref)([]),Yi=!1;function Xi(e){return JSON.parse(JSON.stringify(e))}function Zi(){Ki.value=[],Ji.value=[]}let Qi=(0,t.computed)(()=>Ki.value.length>0&&!!I.value),$i=(0,t.computed)(()=>Ji.value.length>0&&!!I.value);function ea(){Ni=null,Hi=null,Pi=null,ei=null,De.value=!1,window.removeEventListener(`pointermove`,Ii),window.removeEventListener(`pointerup`,Li),window.removeEventListener(`pointermove`,zi),window.removeEventListener(`pointerup`,Bi),window.removeEventListener(`pointermove`,Wi),window.removeEventListener(`pointerup`,Gi),window.removeEventListener(`pointermove`,ni),window.removeEventListener(`pointerup`,ri)}function ta(){Yi||!I.value||(Ki.value.push(Xi(I.value)),Ki.value.length>Lh&&Ki.value.shift(),Ji.value=[])}function na(e){Yi=!0;try{ea(),I.value=Xi(e);let t=new Set((I.value.elements??[]).map(e=>e.id));z.value=z.value.filter(e=>t.has(e));let n=new Set((I.value.regions??[]).map(e=>e.id));(!B.value||!n.has(B.value))&&(B.value=null);let r=new Set((I.value.guides??[]).map(e=>e.id));(!V.value||!r.has(V.value))&&(V.value=null)}finally{(0,t.nextTick)(()=>{Yi=!1})}}function ra(){if(!I.value||Ki.value.length===0||Yi)return;Ji.value.unshift(Xi(I.value));let e=Ki.value.pop();e&&na(e)}function aa(){if(!I.value||Ji.value.length===0||Yi)return;Ki.value.push(Xi(I.value));let e=Ji.value.shift();e&&na(e)}function oa(){ta(),tn()}function sa(){let e=document.activeElement;if(!e)return!1;let t=e.tagName;return!!(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e instanceof HTMLElement&&e.isContentEditable)}function ca(e){return!e||!(e instanceof HTMLElement)?!1:!!e.closest(`.fou-input, .fou-input-number, input, textarea, select, [contenteditable="true"]`)}function ua(e){if(ca(e.target)||sa())return;if(e.code===`Space`){let t=H.value,n=document.activeElement;if(!(t&&(ke.value||t===n||n&&t.contains(n)||Pe.value.visible)))return;e.preventDefault(),e.stopPropagation(),Oe.value=!0;return}let t=e.ctrlKey||e.metaKey,n=e.key.toLowerCase();if(e.key===`Escape`&&Xn(),t&&n===`c`){e.preventDefault(),e.stopPropagation(),J.value&&z.value.length?Pn():J.value?Nn():z.value.length?Fn():Q.info(`请先选中元素或分块`);return}if(t&&n===`z`&&!e.shiftKey){e.preventDefault(),e.stopPropagation(),ra();return}if(t&&(n===`y`||n===`z`&&e.shiftKey)){e.preventDefault(),e.stopPropagation(),aa();return}if(e.key===`Delete`||e.key===`Backspace`){if(V.value){e.preventDefault(),e.stopPropagation(),ji(V.value),Xn();return}if(!z.value.length)return;e.preventDefault(),e.stopPropagation(),Xr([...z.value]);return}if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key)||!z.value.length||!I.value)return;e.preventDefault(),e.stopPropagation(),ta();let r=Mh,i=e.key===`ArrowLeft`?-1:+(e.key===`ArrowRight`),a=e.key===`ArrowUp`?-1:+(e.key===`ArrowDown`);for(let e of z.value){let t=I.value.elements.find(t=>t.id===e);t&&(t.xMm=Math.round((t.xMm+i/r)*100)/100,t.yMm=Math.round((t.yMm+a/r)*100)/100)}}function da(e){e.code===`Space`&&(Oe.value=!1)}function fa(){Oe.value=!1,ke.value=!1}async function pa(e){if(!I.value||Fe.value||ca(e.target)||sa())return;let t=H.value,n=document.activeElement,r=e.target;if(!(t&&(t===n||n&&t.contains(n)||r&&t.contains(r)||Pe.value.visible)))return;let i=Array.from(e.clipboardData?.items??[]).find(e=>e.kind===`file`&&e.type.startsWith(`image/`));if(i){let t=i.getAsFile();if(!t)return;e.preventDefault(),e.stopPropagation(),Xn(),or(t,Pe.value.anchorMm??ar());return}if(!ct.value)return;e.preventDefault(),e.stopPropagation();let a=Pe.value.target===`region`?ut.value:J.value;Ne.value===`regions`&&st.value?Wn(Pe.value.anchorMm??void 0):ot.value?In(a?void 0:Pe.value.anchorMm??void 0,a?{targetRegion:a}:void 0):st.value&&Wn(Pe.value.anchorMm??void 0),Xn()}async function ma(){if(!I.value)return{uploadedIds:[],cleanupKeys:[]};let e=new Map;for(let t of I.value.elements){if(!qn(t)||t.clipboardUploadState!==`pending`||!t.clipboardUploadKey)continue;let n=e.get(t.clipboardUploadKey)||[];n.push(t),e.set(t.clipboardUploadKey,n)}let t=new Map,n=[],r=[];try{for(let[i,a]of e.entries()){let e=Ie.get(i);if(!e)throw Error(`存在未上传的粘贴图片,请重新粘贴后再保存`);let o=await jn(e.file),s=Number(o?.data?.id??0),c=String(o?.data?.url??``).trim();if(!s||!c)throw Error(`图片「${e.origName||`未命名`}」上传失败`);let l=Rn(c);n.push(s),r.push(i);for(let n of a)t.set(n.id,{src:n.src,clipboardUploadState:n.clipboardUploadState,clipboardImageId:n.clipboardImageId}),n.src=l,n.clipboardUploadState=`uploaded`,n.clipboardImageId=s,n.clipboardOrigName=e.origName||n.clipboardOrigName}return{uploadedIds:n,cleanupKeys:r}}catch(e){for(let e of I.value.elements){let n=t.get(e.id);!n||!qn(e)||(e.src=n.src,e.clipboardUploadState=n.clipboardUploadState,e.clipboardImageId=n.clipboardImageId)}throw e}}function $(e){return Math.round(e*100)/100}function ha(){let e=I.value;return e?.elements?.length?z.value.map(t=>e.elements.find(e=>e.id===t)).filter(e=>e!=null):[]}function ga(){let e=I.value;if(!e?.elements?.length)return[];let t=[];for(let n of z.value){let r=e.elements.find(e=>e.id===n);r?.type===`text`&&t.push(r)}return t}let _a=(0,t.computed)(()=>ga().length),ya=(0,t.computed)(()=>{let e=ga();if(!e.length)return;let t=e[0].fontSize;return e.every(e=>e.fontSize===t)?t:void 0}),ba=(0,t.computed)(()=>ga()[0]?.color||`#303133`),xa=(0,t.ref)(void 0),Sa=(0,t.ref)(`#303133`);(0,t.watch)(ya,e=>{xa.value=e},{immediate:!0}),(0,t.watch)(ba,e=>{Sa.value=e||`#303133`},{immediate:!0});function Ca(e){if(e==null||!Number.isFinite(e)||!I.value)return;let t=ga();if(t.length){ta();for(let n of t)n.fontSize=e}}function wa(){Ca(xa.value)}function Ta(e){xa.value=e,Ca(e)}function Ea(e){if(e==null||e===``||!I.value)return;let t=ga();if(t.length){ta();for(let n of t)n.color=e}}function Da(){Ea((Sa.value||``).trim())}function Oa(e){e!=null&&(Sa.value=e),Ea(e)}function ka(e){if(!I.value?.canvas)return;let t=z.value;if(!t.length){Q.info(`请先选中元素`);return}ta();let n=I.value.canvas.widthMm,r=I.value.canvas.heightMm;for(let i of t){let t=I.value.elements.find(e=>e.id===i);if(t)switch(e){case`left`:t.xMm=0;break;case`right`:t.xMm=Math.max(0,n-t.wMm);break;case`h-center`:t.xMm=Math.max(0,(n-t.wMm)/2);break;case`top`:t.yMm=0;break;case`bottom`:t.yMm=Math.max(0,r-t.hMm);break;case`v-center`:t.yMm=Math.max(0,(r-t.hMm)/2)}}}function Aa(e){let t=ha();if(!t.length){Q.info(`请先选中元素`);return}if(t.length===1)return;ta();let n=Math.min(...t.map(e=>e.xMm)),r=Math.max(...t.map(e=>e.xMm+e.wMm)),i=Math.min(...t.map(e=>e.yMm)),a=Math.max(...t.map(e=>e.yMm+e.hMm)),o=(n+r)/2,s=(i+a)/2;for(let c of t)switch(e){case`sel-left`:c.xMm=$(n);break;case`sel-right`:c.xMm=$(r-c.wMm);break;case`sel-top`:c.yMm=$(i);break;case`sel-bottom`:c.yMm=$(a-c.hMm);break;case`sel-h-center`:c.xMm=$(o-c.wMm/2);break;case`sel-v-center`:c.yMm=$(s-c.hMm/2)}}function ja(e){let t=ha();if(t.length<2){Q.info(`分布需要至少选中两个元素`);return}if(ta(),e===`h`){let e=[...t].sort((e,t)=>e.xMm-t.xMm||e.id.localeCompare(t.id)),n=e[0].xMm,r=e[e.length-1],i=r.xMm+r.wMm,a=e.reduce((e,t)=>e+t.wMm,0),o=(i-n-a)/(e.length-1),s=n;for(let t of e)t.xMm=$(s),s+=t.wMm+o}else{let e=[...t].sort((e,t)=>e.yMm-t.yMm||e.id.localeCompare(t.id)),n=e[0].yMm,r=e[e.length-1],i=r.yMm+r.hMm,a=e.reduce((e,t)=>e+t.hMm,0),o=(i-n-a)/(e.length-1),s=n;for(let t of e)t.yMm=$(s),s+=t.hMm+o}}async function Ma(){N.value=!0,z.value=[],Ae.value=null,Yn();try{let e=(l.value?await Tn(s,c):await vn(s,c)).data;b.value=String(e.name||``).trim()||`未命名`,L.value=Number(e.width_mm)||90,R.value=Number(e.height_mm)||130;let n=e.template_json;n&&typeof n==`object`&&Array.isArray(n.elements)?(I.value=n,I.value.canvas=I.value.canvas||{widthMm:L.value,heightMm:R.value,background:`#ffffff`},I.value.canvas.widthMm=L.value,I.value.canvas.heightMm=R.value,hi(I.value)):I.value={version:1,canvas:{widthMm:L.value,heightMm:R.value,background:`#ffffff`,showBorder:!0,borderColor:`#334155`,borderWidthMm:.35},elements:[],guides:[],regions:[]};let r=e.default_test_json;ee.value=r&&typeof r==`object`?{...r}:{},Zi(),await(0,t.nextTick)(),Ba(!0)}catch{I.value=null,Zi(),Q.error(`加载模板失败`)}finally{N.value=!1}}async function Na(){if(!I.value)return;tn(),P.value=!0,F.value=``;let e=[],t=[];try{let n=await ma();e=n.uploadedIds,t=n.cleanupKeys;let r={name:b.value.trim()||`未命名`,width_mm:L.value,height_mm:R.value,template_json:I.value,default_test_json:ee.value};l.value?await Dn(s,c,r):await bn(s,c,r),Yn(t),F.value=`已保存`,Q.success(`保存成功`),await Ma()}catch(n){if(e.length){await Promise.allSettled(e.map(e=>Mn(e)));for(let e of I.value.elements){if(!qn(e)||e.clipboardUploadState!==`uploaded`||!e.clipboardUploadKey||!t.includes(e.clipboardUploadKey))continue;let n=Ie.get(e.clipboardUploadKey);n&&(e.src=n.objectUrl,e.clipboardUploadState=`pending`,delete e.clipboardImageId)}}Q.error(n?.response?.data?.message||`保存失败`)}finally{P.value=!1}}function Pa(){let e=te.value||H.value;if(!e)return;let t=Math.max(e.clientWidth||420,280),n=Math.max(e.clientHeight||420,240);Math.abs(t-_e.value)>8&&(_e.value=t),Math.abs(n-ve.value)>8&&(ve.value=n)}async function Fa(){await(0,t.nextTick)(),Pa(),Ae.value??Ba(!0)}async function Ia(){ie.value=!ie.value,document.body.classList.toggle(`badge-editor-window-fill-lock`,ie.value),await Fa()}async function La(){let e=re.value;if(e)try{if(document.fullscreenElement)await document.exitFullscreen();else{let t=e.requestFullscreen?.bind(e)||e.webkitRequestFullscreen?.bind(e);if(!t){Q.warning(`当前浏览器不支持全屏`);return}await t()}}catch{Q.warning(`无法进入全屏,请检查浏览器权限`)}}function Ra(){let e=re.value;ae.value=!!e&&document.fullscreenElement===e,Fa()}function za(e){e.key===`Escape`&&(!ie.value||document.fullscreenElement||(ie.value=!1,document.body.classList.remove(`badge-editor-window-fill-lock`),Fa()))}function Ba(e=!1){let t=H.value,n=me.value;if(!t||!n)return;let r=Et.value,i=Dt.value,a=Math.max(kt.value,120),o=Math.max(At.value,120),s=Math.max(Ih,Math.round((a-r)/2)),c=Math.max(Ih,Math.round((o-i)/2)),l=Math.max(0,Rt.value-(Ee.value?Nh:0)-s),u=Math.max(0,zt.value-(Ee.value?Nh:0)-c);(e||t.scrollLeft===0&&t.scrollTop===0||Math.abs(t.scrollLeft-l)>8||Math.abs(t.scrollTop-u)>8)&&(t.scrollLeft=l,t.scrollTop=u)}let Va=null,Ha=0;return(0,t.onMounted)(async()=>{if(r.embedded||r.mode===`banner`||!Number.isFinite(s)||s<=0||!Number.isFinite(c)||c<=0){if(!I.value){let{createBannerDoc:e,createBadgeDoc:t}=await Promise.resolve().then(()=>(mp(),up));I.value=r.mode===`banner`?e():t({mode:r.mode||(l.value?`desk`:`badge`)}),b.value=b.value||(r.mode===`banner`?`Banner 草稿`:`模板草稿`),L.value=I.value.canvas.widthMm,R.value=I.value.canvas.heightMm,N.value=!1}}else await Ma();await(0,t.nextTick)(),Pa(),Ba(!0),Va=new ResizeObserver(()=>{cancelAnimationFrame(Ha),Ha=requestAnimationFrame(()=>{let e=_e.value,t=ve.value;Pa(),Ae.value==null&&(Math.abs(e-_e.value)>8||Math.abs(t-ve.value)>8)&&Ba(!0)})}),te.value?Va.observe(te.value):H.value&&Va.observe(H.value),window.addEventListener(`keydown`,ua,!0),window.addEventListener(`keyup`,da,!0),window.addEventListener(`blur`,fa),window.addEventListener(`paste`,pa,!0),window.addEventListener(`pointerdown`,Xn,!0),window.addEventListener(`scroll`,Xn,!0),document.addEventListener(`fullscreenchange`,Ra),window.addEventListener(`keydown`,za,!0)}),(0,t.onUnmounted)(()=>{Va?.disconnect(),cancelAnimationFrame(Ha),Yn(),document.body.classList.remove(`badge-editor-window-fill-lock`),document.fullscreenElement===re.value&&document.exitFullscreen?.(),window.removeEventListener(`pointermove`,de),window.removeEventListener(`pointerup`,fe),document.body.style.cursor=``,document.body.style.userSelect=``,window.removeEventListener(`keydown`,ua,!0),window.removeEventListener(`keyup`,da,!0),window.removeEventListener(`blur`,fa),window.removeEventListener(`paste`,pa,!0),window.removeEventListener(`pointerdown`,Xn,!0),window.removeEventListener(`scroll`,Xn,!0),document.removeEventListener(`fullscreenchange`,Ra),window.removeEventListener(`keydown`,za,!0),window.removeEventListener(`pointermove`,Ii),window.removeEventListener(`pointermove`,zi),window.removeEventListener(`pointermove`,Wi),window.removeEventListener(`pointermove`,Qr),window.removeEventListener(`pointermove`,ni)}),(e,n)=>{let i=k,a=Vt,o=Cf,s=va,c=yi,u=ki,g=ao,v=bf,C=hf,O=qi,ee=Vi,oe=fl,U=ia,se=mr,W=jo,G=Oo,ue=wo,K=la,de=Si,fe=of,ge=Pt,_e=pt,ve=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`editorRootRef`,ref:re,class:(0,t.normalizeClass)([`page-container badge-editor`,{"is-window-fill":ie.value,"is-native-fullscreen":ae.value}])},[(0,t.createElementVNode)(`div`,hp,[(0,t.createVNode)(a,{link:``,onClick:Ue},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-left-line`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(`${l.value?`桌面贴模板`:`证件模板`}:${b.value||`未命名`}`),1)]),_:1}),(0,t.createElementVNode)(`div`,gp,[(0,t.createVNode)(o,{size:`small`,class:`header-undo-group`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{disabled:!Qi.value,title:`撤销 (Ctrl+Z)`,onClick:ra},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-go-back-line`}),n[121]||=(0,t.createTextVNode)(` 撤销 `,-1)]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{disabled:!$i.value,title:`重做 (Ctrl+Y / Ctrl+Shift+Z)`,onClick:aa},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-go-forward-line`}),n[122]||=(0,t.createTextVNode)(` 重做 `,-1)]),_:1},8,[`disabled`])]),_:1}),(0,t.createVNode)(a,{size:`small`,type:ie.value?`primary`:`default`,plain:``,title:`撑满当前浏览器可视区域`,onClick:Ia},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:ie.value?`fullscreen-exit-line`:`aspect-ratio-line`},null,8,[`icon`]),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(ie.value?`退出满屏`:`满屏`),1)]),_:1},8,[`type`]),(0,t.createVNode)(a,{size:`small`,type:ae.value?`primary`:`default`,plain:``,title:`撑满整个电脑屏幕`,onClick:La},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:ae.value?`fullscreen-exit-line`:`fullscreen-line`},null,8,[`icon`]),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(ae.value?`退出全屏`:`全屏`),1)]),_:1},8,[`type`]),(0,t.createVNode)(a,{type:`primary`,plain:``,disabled:!I.value,onClick:n[0]||=e=>Te.value=!0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`eye-line`}),n[123]||=(0,t.createTextVNode)(` 预览 `,-1)]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!I.value,onClick:A},{default:(0,t.withCtx)(()=>[...n[124]||=[(0,t.createTextVNode)(`导出图片`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!I.value,onClick:j},{default:(0,t.withCtx)(()=>[...n[125]||=[(0,t.createTextVNode)(`导出 PDF`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,disabled:!I.value,onClick:M},{default:(0,t.withCtx)(()=>[...n[126]||=[(0,t.createTextVNode)(`导出网页`,-1)]]),_:1},8,[`disabled`])])]),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`layoutRef`,ref:ne,class:(0,t.normalizeClass)([`layout`,{"is-resizing":!!ce.value}]),style:(0,t.normalizeStyle)(le.value)},[(0,t.createVNode)(se,{class:`tools`,shadow:`never`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,_p,[(0,t.createElementVNode)(`div`,vp,[(0,t.createElementVNode)(`div`,yp,[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`tools-accordion__btn`,{"is-active":x.value===`canvas`}]),onClick:n[1]||=e=>x.value=`canvas`},`画布`,2),(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`tools-accordion__btn`,{"is-active":x.value===`insert`}]),onClick:n[2]||=e=>x.value=`insert`},`插入`,2),(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`tools-accordion__btn`,{"is-active":x.value===`arrange`}]),onClick:n[3]||=e=>x.value=`arrange`},`编排`,2)]),(0,t.createElementVNode)(`div`,{class:`tools-pane`,hidden:x.value!==`canvas`},[n[153]||=(0,t.createElementVNode)(`div`,{class:`tools-section-title`},`模板名称`,-1),(0,t.createElementVNode)(`div`,xp,[(0,t.createVNode)(s,{modelValue:b.value,"onUpdate:modelValue":n[4]||=e=>b.value=e,maxlength:`120`,"show-word-limit":``,placeholder:`模板名称`,size:`small`},null,8,[`modelValue`])]),n[154]||=(0,t.createElementVNode)(`div`,{class:`tools-section-title`},`画布`,-1),(0,t.createElementVNode)(`div`,Sp,[(0,t.createElementVNode)(`div`,null,[n[127]||=(0,t.createElementVNode)(`span`,{class:`label`},`宽:`,-1),(0,t.createVNode)(c,{modelValue:L.value,"onUpdate:modelValue":n[5]||=e=>L.value=e,min:40,max:300,size:`small`,"controls-position":`right`,onChange:oa},null,8,[`modelValue`]),n[128]||=(0,t.createTextVNode)(`mm `,-1)]),(0,t.createElementVNode)(`div`,null,[n[129]||=(0,t.createElementVNode)(`span`,{class:`label`},`高:`,-1),(0,t.createVNode)(c,{modelValue:R.value,"onUpdate:modelValue":n[6]||=e=>R.value=e,min:40,max:400,size:`small`,"controls-position":`right`,onChange:oa},null,8,[`modelValue`]),n[130]||=(0,t.createTextVNode)(`mm `,-1)])]),(0,t.createElementVNode)(`div`,Cp,[n[131]||=(0,t.createElementVNode)(`span`,{class:`label`},`显示标尺`,-1),(0,t.createVNode)(u,{modelValue:Ee.value,"onUpdate:modelValue":n[7]||=e=>Ee.value=e,size:`small`},null,8,[`modelValue`])]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,wp,[n[133]||=(0,t.createElementVNode)(`span`,null,`画布边框`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[132]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`控制白纸边缘描边;预览与打印会同步生效。滚轮缩放仅改变视图,不改模板毫米尺寸。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Tp,[n[134]||=(0,t.createElementVNode)(`span`,{class:`label`},`显示边框`,-1),(0,t.createVNode)(u,{modelValue:X.value,"onUpdate:modelValue":n[8]||=e=>X.value=e,size:`small`},null,8,[`modelValue`])]),X.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,Ep,[n[135]||=(0,t.createElementVNode)(`span`,{class:`label`},`边框色`,-1),(0,t.createElementVNode)(`div`,Dp,[(0,t.createVNode)(C,{modelValue:yt.value,"onUpdate:modelValue":n[9]||=e=>yt.value=e},null,8,[`modelValue`]),(0,t.createVNode)(s,{modelValue:yt.value,"onUpdate:modelValue":n[10]||=e=>yt.value=e,size:`small`,placeholder:`#94a3b8`},null,8,[`modelValue`])])]),(0,t.createElementVNode)(`div`,Op,[n[136]||=(0,t.createElementVNode)(`span`,{class:`label`},`边框 mm`,-1),(0,t.createVNode)(c,{modelValue:bt.value,"onUpdate:modelValue":n[11]||=e=>bt.value=e,min:.1,max:8,step:.1,precision:1,size:`small`,"controls-position":`right`,style:{width:`120px`}},null,8,[`modelValue`])])],64)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,kp,[n[138]||=(0,t.createElementVNode)(`span`,null,`画布背景`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[137]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`支持透明、纯色和背景图。背景图可从图片库选择,也可直接上传。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Ap,[(0,t.createVNode)(ee,{modelValue:Be.value,"onUpdate:modelValue":n[12]||=e=>Be.value=e,size:`small`,onChange:rn},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`transparent`},{default:(0,t.withCtx)(()=>[...n[139]||=[(0,t.createTextVNode)(`透明`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`color`},{default:(0,t.withCtx)(()=>[...n[140]||=[(0,t.createTextVNode)(`色块`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`image`},{default:(0,t.withCtx)(()=>[...n[141]||=[(0,t.createTextVNode)(`图片`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),Be.value===`color`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jp,[n[142]||=(0,t.createElementVNode)(`span`,{class:`label`},`背景色`,-1),(0,t.createElementVNode)(`div`,Mp,[(0,t.createVNode)(C,{modelValue:vt.value,"onUpdate:modelValue":n[13]||=e=>vt.value=e,"show-alpha":``},null,8,[`modelValue`]),(0,t.createVNode)(s,{modelValue:vt.value,"onUpdate:modelValue":n[14]||=e=>vt.value=e,size:`small`,placeholder:`#ffffff / rgba(...)`},null,8,[`modelValue`])])])):Be.value===`image`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createElementVNode)(`div`,Np,[(0,t.createVNode)(a,{size:`small`,onClick:n[15]||=e=>an(`lib`)},{default:(0,t.withCtx)(()=>[...n[143]||=[(0,t.createTextVNode)(`选择图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[16]||=e=>an(`up`)},{default:(0,t.withCtx)(()=>[...n[144]||=[(0,t.createTextVNode)(`上传图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!I.value?.canvas?.backgroundImage,onClick:sn},{default:(0,t.withCtx)(()=>[...n[145]||=[(0,t.createTextVNode)(` 清除背景图 `,-1)]]),_:1},8,[`disabled`])]),(0,t.createElementVNode)(`p`,Pp,(0,t.toDisplayString)(I.value?.canvas?.backgroundImage?`当前已设置背景图,预览与打印会一起生效。`:`尚未选择背景图,可从图片库选择或直接上传。`),1)],64)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Fp,[n[147]||=(0,t.createElementVNode)(`span`,null,`标尺与参考线`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[146]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`支持像 Photoshop 一样显示标尺,并为模板保存水平/垂直参考线。参考线可拖动、手输位置,也会随模板一起生效。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Ip,[(0,t.createVNode)(a,{size:`small`,onClick:n[17]||=e=>Ai(`horizontal`)},{default:(0,t.withCtx)(()=>[...n[148]||=[(0,t.createTextVNode)(`添加横线`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[18]||=e=>Ai(`vertical`)},{default:(0,t.withCtx)(()=>[...n[149]||=[(0,t.createTextVNode)(`添加竖线`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!at.value.length,onClick:Mi},{default:(0,t.withCtx)(()=>[...n[150]||=[(0,t.createTextVNode)(`清空参考线`,-1)]]),_:1},8,[`disabled`])]),at.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Lp,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(at.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`guide-row`,{active:V.value===e.id}]),onClick:t=>nr(e.id),onContextmenu:(0,t.withModifiers)(t=>rr(t,e),[`prevent`,`stop`])},[(0,t.createVNode)(oe,{size:`small`,type:e.axis===`horizontal`?`success`:`primary`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.axis===`horizontal`?`横线`:`竖线`),1)]),_:2},1032,[`type`]),(0,t.createVNode)(c,{modelValue:e.offsetMm,"onUpdate:modelValue":t=>e.offsetMm=t,min:0,max:e.axis===`horizontal`?R.value:L.value,step:.5,"controls-position":`right`,size:`small`},null,8,[`modelValue`,`onUpdate:modelValue`,`max`]),n[152]||=(0,t.createElementVNode)(`span`,{class:`guide-mm`},`mm`,-1),(0,t.createVNode)(a,{link:``,type:`danger`,onClick:t=>ji(e.id)},{default:(0,t.withCtx)(()=>[...n[151]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])],42,Rp))),128))])):(0,t.createCommentVNode)(``,!0)],8,bp),(0,t.createElementVNode)(`div`,{class:`tools-pane`,hidden:x.value!==`insert`},[(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Bp,[n[156]||=(0,t.createElementVNode)(`span`,null,`元素`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[155]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`新文字会按版心自动排位。图片可从图片库选用或本地上传,便于后续复用。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Vp,[(0,t.createVNode)(a,{size:`small`,type:`primary`,onClick:ui},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`edit-line`}),n[157]||=(0,t.createTextVNode)(` 文字 `,-1)]),_:1}),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,onClick:n[19]||=e=>ye.value=!0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`image-line`}),n[158]||=(0,t.createTextVNode)(` 图片 `,-1)]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`primary`,onClick:He},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`folder-open-line`}),n[159]||=(0,t.createTextVNode)(` 图片库管理 `,-1)]),_:1})]),(0,t.createElementVNode)(`div`,Hp,[(0,t.createVNode)(U,{modelValue:w.value,"onUpdate:modelValue":n[20]||=e=>w.value=e,size:`small`,style:{width:`120px`},options:d},null,8,[`modelValue`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,onClick:n[21]||=e=>di(w.value)},{default:(0,t.withCtx)(()=>[...n[160]||=[(0,t.createTextVNode)(`添加形状`,-1)]]),_:1})]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Up,[n[162]||=(0,t.createElementVNode)(`span`,null,`组合与分区`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[161]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`支持把多个元素组合/打散,也可把画布拆成多个分区,用于复制分区内容、给分区设置背景色和归类元素。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,Wp,[(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:Ti},{default:(0,t.withCtx)(()=>[...n[163]||=[(0,t.createTextVNode)(`组合`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!lt.value,onClick:Ei},{default:(0,t.withCtx)(()=>[...n[164]||=[(0,t.createTextVNode)(`打散`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!J.value,onClick:An},{default:(0,t.withCtx)(()=>[...n[165]||=[(0,t.createTextVNode)(`复制分区内容`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!z.value.length||!J.value,onClick:Oi},{default:(0,t.withCtx)(()=>[...n[166]||=[(0,t.createTextVNode)(`归入当前分区`,-1)]]),_:1},8,[`disabled`])]),(0,t.createElementVNode)(`div`,Gp,[n[167]||=(0,t.createElementVNode)(`span`,{class:`label`},`横向分块`,-1),(0,t.createVNode)(c,{modelValue:Re.value,"onUpdate:modelValue":n[22]||=e=>Re.value=e,min:1,max:12,size:`small`,"controls-position":`right`},null,8,[`modelValue`])]),(0,t.createElementVNode)(`div`,Kp,[n[168]||=(0,t.createElementVNode)(`span`,{class:`label`},`纵向分块`,-1),(0,t.createVNode)(c,{modelValue:ze.value,"onUpdate:modelValue":n[23]||=e=>ze.value=e,min:1,max:12,size:`small`,"controls-position":`right`},null,8,[`modelValue`])]),(0,t.createElementVNode)(`div`,qp,[(0,t.createVNode)(a,{size:`small`,onClick:n[24]||=e=>_i(`horizontal`)},{default:(0,t.withCtx)(()=>[...n[169]||=[(0,t.createTextVNode)(`横向分块`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[25]||=e=>_i(`vertical`)},{default:(0,t.withCtx)(()=>[...n[170]||=[(0,t.createTextVNode)(`纵向分块`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[26]||=e=>_i(`grid`)},{default:(0,t.withCtx)(()=>[...n[171]||=[(0,t.createTextVNode)(`田字格/网格`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!Ge.value.length,onClick:vi},{default:(0,t.withCtx)(()=>[...n[172]||=[(0,t.createTextVNode)(`清空分区`,-1)]]),_:1},8,[`disabled`])]),Ge.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jp,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Ge.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`guide-row`,{active:B.value===e.id}]),onClick:t=>B.value=e.id},[(0,t.createVNode)(oe,{size:`small`,type:B.value===e.id?`success`:`info`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.name),1)]),_:2},1032,[`type`]),(0,t.createElementVNode)(`span`,Xp,(0,t.toDisplayString)(e.wMm.toFixed(1))+` x `+(0,t.toDisplayString)(e.hMm.toFixed(1))+` mm`,1)],10,Yp))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Zp,[(0,t.createVNode)(Yf,{"model-value":S.value,"extra-modules":r.extraModules,"onUpdate:modelValue":E,onInsert:D,onPreviewContext:T},null,8,[`model-value`,`extra-modules`])])],8,zp),(0,t.createElementVNode)(`div`,{class:`tools-pane`,hidden:x.value!==`arrange`},[(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[...n[173]||=[(0,t.createTextVNode)(`对齐到画布`,-1)]]),_:1}),(0,t.createElementVNode)(`div`,$p,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`左对齐到画布`,onClick:n[27]||=e=>ka(`left`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-left-line`})]),_:1}),(0,t.createVNode)(a,{title:`水平居中对画布`,onClick:n[28]||=e=>ka(`h-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`expand-left-right-line`})]),_:1}),(0,t.createVNode)(a,{title:`右对齐到画布`,onClick:n[29]||=e=>ka(`right`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-right-line`})]),_:1})]),_:1})]),(0,t.createElementVNode)(`div`,em,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`顶对齐到画布`,onClick:n[30]||=e=>ka(`top`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-up-line`})]),_:1}),(0,t.createVNode)(a,{title:`垂直居中对画布`,onClick:n[31]||=e=>ka(`v-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`drag-move-line`})]),_:1}),(0,t.createVNode)(a,{title:`底对齐到画布`,onClick:n[32]||=e=>ka(`bottom`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-down-line`})]),_:1})]),_:1})]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[...n[174]||=[(0,t.createTextVNode)(`图层`,-1)]]),_:1}),I.value?.elements?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Ke.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`layer-row`,{active:Je(e.id)}]),onClick:t=>wi(e)},[(0,t.createElementVNode)(`span`,rm,(0,t.toDisplayString)(Vr(e)),1),(0,t.createElementVNode)(`span`,im,`z`+(0,t.toDisplayString)(e.zIndex),1),(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`上移一层`,onClick:(0,t.withModifiers)(t=>Hr(e,1),[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-up-s-line`})]),_:1},8,[`onClick`]),(0,t.createVNode)(a,{title:`下移一层`,onClick:(0,t.withModifiers)(t=>Hr(e,-1),[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-down-s-line`})]),_:1},8,[`onClick`])]),_:2},1024)],10,nm))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,am,`暂无元素`))],8,Qp)]),(0,t.createElementVNode)(`div`,om,[(0,t.createVNode)(v),(0,t.createElementVNode)(`div`,sm,[(0,t.createVNode)(a,{type:`success`,loading:P.value,onClick:Na},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`checkbox-circle-line`}),n[175]||=(0,t.createTextVNode)(` 保存模板 `,-1)]),_:1},8,[`loading`]),F.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,cm,(0,t.toDisplayString)(F.value),1)):(0,t.createCommentVNode)(``,!0)])])])]),_:1}),(0,t.createElementVNode)(`div`,{class:`layout-splitter`,title:`拖拽调整左侧宽度`,onPointerdown:n[33]||=e=>q(`left`,e)},null,32),(0,t.createVNode)(se,{class:`canvas-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,lm,[n[179]||=(0,t.createElementVNode)(`span`,null,`编辑区(滚轮缩放;灰底拖拽/空格/中键平移;纸面空白框选)`,-1),(0,t.createElementVNode)(`div`,um,[(0,t.createVNode)(oe,{size:`small`,type:`info`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(Jt.value),1)]),_:1}),(0,t.createVNode)(o,{size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:n[34]||=e=>pr(-1)},{default:(0,t.withCtx)(()=>[...n[176]||=[(0,t.createTextVNode)(`缩小`,-1)]]),_:1}),(0,t.createVNode)(a,{onClick:fr},{default:(0,t.withCtx)(()=>[...n[177]||=[(0,t.createTextVNode)(`适配`,-1)]]),_:1}),(0,t.createVNode)(a,{onClick:n[35]||=e=>pr(1)},{default:(0,t.withCtx)(()=>[...n[178]||=[(0,t.createTextVNode)(`放大`,-1)]]),_:1})]),_:1})])])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`viewportRef`,ref:te,class:`canvas-card-body`},[(0,t.createElementVNode)(`div`,{ref_key:`hostRef`,ref:H,class:(0,t.normalizeClass)([`canvas-host`,{"is-panning":De.value,"is-pan-ready":Oe.value&&!De.value}]),tabindex:`0`,onPointerenter:ai,onPointerleave:oi,onPointerdown:si,onAuxclick:n[36]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:n[37]||=(0,t.withModifiers)(e=>{z.value=[],Xn()},[`self`]),onWheel:(0,t.withModifiers)(hr,[`prevent`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`editor-workspace`,{"no-rulers":!Ee.value}]),style:(0,t.normalizeStyle)(Bt.value)},[Ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dm)):(0,t.createCommentVNode)(``,!0),Ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fm,[(0,t.createElementVNode)(`div`,{class:`ruler-axis ruler-axis-x`,style:(0,t.normalizeStyle)(Ut.value)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Gt.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`x-${e.mm}`,class:(0,t.normalizeClass)([`ruler-tick ruler-tick-x`,{major:e.major,mid:e.mid}]),style:(0,t.normalizeStyle)({left:`${e.offsetPx}px`})},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,pm,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],6))),128))],4)])):(0,t.createCommentVNode)(``,!0),Ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mm,[(0,t.createElementVNode)(`div`,{class:`ruler-axis ruler-axis-y`,style:(0,t.normalizeStyle)(Wt.value)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Kt.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`y-${e.mm}`,class:(0,t.normalizeClass)([`ruler-tick ruler-tick-y`,{major:e.major,mid:e.mid}]),style:(0,t.normalizeStyle)({top:`${e.offsetPx}px`})},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,hm,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],6))),128))],4)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`workspace-surface`,style:(0,t.normalizeStyle)(Ht.value),onPointerdown:(0,t.withModifiers)(li,[`self`]),onContextmenu:(0,t.withModifiers)($n,[`prevent`,`stop`,`self`])},[I.value&&wt.value>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`canvasClipRef`,ref:me,class:`canvas-scale-clip`,style:(0,t.normalizeStyle)(Yt.value)},[(0,t.createElementVNode)(`div`,{class:`canvas-scale-inner`,style:(0,t.normalizeStyle)(Xt.value)},[(0,t.createElementVNode)(`div`,{ref_key:`canvasInnerRef`,ref:pe,class:`canvas-inner canvas-inner--paper`,style:(0,t.normalizeStyle)(Zt.value),onPointerdown:(0,t.withModifiers)(ci,[`self`]),onContextmenu:(0,t.withModifiers)(er,[`prevent`,`stop`,`self`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(at.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`guide-line`,[e.axis===`horizontal`?`guide-line--h`:`guide-line--v`,{active:V.value===e.id}]]),style:(0,t.normalizeStyle)(yr(e)),onPointerdown:(0,t.withModifiers)(t=>Ri(t,e),[`stop`,`prevent`]),onContextmenu:(0,t.withModifiers)(t=>rr(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`span`,{class:`guide-badge`,style:(0,t.normalizeStyle)(br(e))},(0,t.toDisplayString)(e.axis===`horizontal`?`Y ${e.offsetMm.toFixed(1)}mm`:`X ${e.offsetMm.toFixed(1)}mm`),5)],46,gm))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Ge.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`canvas-region`,{active:B.value===e.id}]),style:(0,t.normalizeStyle)(Ir(e)),onPointerdown:(0,t.withModifiers)(t=>xi(t,e),[`stop`]),onContextmenu:(0,t.withModifiers)(t=>tr(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`span`,vm,(0,t.toDisplayString)(e.name),1)],46,_m))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(We.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.id},[e.type===`text`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,style:(0,t.normalizeStyle)(vr(e)),class:`layer-drop`},[(0,t.createVNode)(ue,{trigger:`contextmenu`,onCommand:t=>Yr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`copy`},{default:(0,t.withCtx)(()=>[...n[180]||=[(0,t.createTextVNode)(`复制元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`paste`,disabled:!ot.value},{default:(0,t.withCtx)(()=>[...n[181]||=[(0,t.createTextVNode)(`粘贴元素`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(W,{command:`delete`},{default:(0,t.withCtx)(()=>[...n[182]||=[(0,t.createTextVNode)(`删除元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`set-link`},{default:(0,t.withCtx)(()=>[...n[183]||=[(0,t.createTextVNode)(`设置链接`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`clear-link`},{default:(0,t.withCtx)(()=>[...n[184]||=[(0,t.createTextVNode)(`清除链接`,-1)]]),_:1}),(0,t.createVNode)(W,{divided:``,class:`ctx-submenu-item`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ue,{trigger:`hover`,placement:`right-start`,onCommand:t=>Kr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`forward`},{default:(0,t.withCtx)(()=>[...n[185]||=[(0,t.createTextVNode)(`上一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`backward`},{default:(0,t.withCtx)(()=>[...n[186]||=[(0,t.createTextVNode)(`下一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`front`,divided:``},{default:(0,t.withCtx)(()=>[...n[187]||=[(0,t.createTextVNode)(`最顶层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`back`},{default:(0,t.withCtx)(()=>[...n[188]||=[(0,t.createTextVNode)(`最底层`,-1)]]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[n[189]||=(0,t.createElementVNode)(`span`,{class:`ctx-submenu-trigger`},`层级 ›`,-1)]),_:1},8,[`onCommand`])]),_:2},1024)]),_:2},1024)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`hit`,{sel:Je(e.id)}]),onPointerdown:(0,t.withModifiers)(t=>Fi(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`div`,{class:`hit-inner`,style:(0,t.normalizeStyle)(xr(e))},(0,t.toDisplayString)(_r(e)),5),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`resize-handle-br`,title:`拖拽缩放区域`,onPointerdown:(0,t.withModifiers)(t=>Ui(t,e),[`stop`])},null,40,bm),[[t.vShow,z.value.length===1&&z.value[0]===e.id]])],42,ym)]),_:2},1032,[`onCommand`])],4)):e.type===`shape`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,style:(0,t.normalizeStyle)(vr(e)),class:`layer-drop`},[(0,t.createVNode)(ue,{trigger:`contextmenu`,onCommand:t=>Yr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`copy`},{default:(0,t.withCtx)(()=>[...n[190]||=[(0,t.createTextVNode)(`复制元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`paste`,disabled:!ot.value},{default:(0,t.withCtx)(()=>[...n[191]||=[(0,t.createTextVNode)(`粘贴元素`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(W,{command:`delete`},{default:(0,t.withCtx)(()=>[...n[192]||=[(0,t.createTextVNode)(`删除元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`set-link`},{default:(0,t.withCtx)(()=>[...n[193]||=[(0,t.createTextVNode)(`设置链接`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`clear-link`},{default:(0,t.withCtx)(()=>[...n[194]||=[(0,t.createTextVNode)(`清除链接`,-1)]]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`hit shape-hit`,{sel:Je(e.id)}]),onPointerdown:(0,t.withModifiers)(t=>Fi(t,e),[`prevent`,`stop`])},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:`shape-inner`,style:(0,t.normalizeStyle)(Sr(e)),viewBox:`0 0 100 100`,preserveAspectRatio:`none`},[e.shape===`line`?((0,t.openBlock)(),(0,t.createElementBlock)(`line`,{key:0,x1:`4`,y1:`50`,x2:`96`,y2:`50`,stroke:Cr(e),"stroke-width":Math.max(Tr(e),1),"stroke-linecap":`round`},null,8,Sm)):e.shape===`rect`?((0,t.openBlock)(),(0,t.createElementBlock)(`rect`,{key:1,x:`4`,y:`4`,width:`92`,height:`92`,fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e)},null,8,Cm)):e.shape===`circle`?((0,t.openBlock)(),(0,t.createElementBlock)(`ellipse`,{key:2,cx:`50`,cy:`50`,rx:`46`,ry:`46`,fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e)},null,8,wm)):e.shape===`triangle`?((0,t.openBlock)(),(0,t.createElementBlock)(`polygon`,{key:3,points:`50,4 96,96 4,96`,fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e),"stroke-linejoin":`round`},null,8,Tm)):e.shape===`trapezoid`?((0,t.openBlock)(),(0,t.createElementBlock)(`polygon`,{key:4,points:Fr(),fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e),"stroke-linejoin":`round`},null,8,Em)):((0,t.openBlock)(),(0,t.createElementBlock)(`polygon`,{key:5,points:Pr(e),fill:wr(e),stroke:Cr(e),"stroke-width":Tr(e),"stroke-linejoin":`round`},null,8,Dm))],4)),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`resize-handle-br`,title:`拖拽缩放`,onPointerdown:(0,t.withModifiers)(t=>Ui(t,e),[`stop`])},null,40,Om),[[t.vShow,z.value.length===1&&z.value[0]===e.id]])],42,xm)]),_:2},1032,[`onCommand`])],4)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,style:(0,t.normalizeStyle)(vr(e)),class:`layer-drop`},[(0,t.createVNode)(ue,{trigger:`contextmenu`,onCommand:t=>Yr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`copy`},{default:(0,t.withCtx)(()=>[...n[195]||=[(0,t.createTextVNode)(`复制元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`paste`,disabled:!ot.value},{default:(0,t.withCtx)(()=>[...n[196]||=[(0,t.createTextVNode)(`粘贴元素`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(W,{command:`delete`},{default:(0,t.withCtx)(()=>[...n[197]||=[(0,t.createTextVNode)(`删除元素`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`set-link`},{default:(0,t.withCtx)(()=>[...n[198]||=[(0,t.createTextVNode)(`设置链接`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`clear-link`},{default:(0,t.withCtx)(()=>[...n[199]||=[(0,t.createTextVNode)(`清除链接`,-1)]]),_:1}),(0,t.createVNode)(W,{divided:``,class:`ctx-submenu-item`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ue,{trigger:`hover`,placement:`right-start`,onCommand:t=>Kr(t,e)},{dropdown:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(W,{command:`forward`},{default:(0,t.withCtx)(()=>[...n[200]||=[(0,t.createTextVNode)(`上一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`backward`},{default:(0,t.withCtx)(()=>[...n[201]||=[(0,t.createTextVNode)(`下一层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`front`,divided:``},{default:(0,t.withCtx)(()=>[...n[202]||=[(0,t.createTextVNode)(`最顶层`,-1)]]),_:1}),(0,t.createVNode)(W,{command:`back`},{default:(0,t.withCtx)(()=>[...n[203]||=[(0,t.createTextVNode)(`最底层`,-1)]]),_:1})]),_:1})]),default:(0,t.withCtx)(()=>[n[204]||=(0,t.createElementVNode)(`span`,{class:`ctx-submenu-trigger`},`层级 ›`,-1)]),_:1},8,[`onCommand`])]),_:2},1024)]),_:2},1024)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`hit img-hit`,{sel:Je(e.id)}]),onPointerdown:(0,t.withModifiers)(t=>Fi(t,e),[`prevent`,`stop`])},[(0,t.createElementVNode)(`img`,{src:dn(e.src),alt:``,draggable:`false`},null,8,Am),Jn(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,jm,(0,t.toDisplayString)(Jn(e)),1)):(0,t.createCommentVNode)(``,!0),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`resize-handle-br`,title:`拖拽缩放`,onPointerdown:(0,t.withModifiers)(t=>Ui(t,e),[`stop`])},null,40,Mm),[[t.vShow,z.value.length===1&&z.value[0]===e.id]])],42,km)]),_:2},1032,[`onCommand`])],4))],64))),128)),he.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`marquee-rect`,style:(0,t.normalizeStyle)(mt.value)},null,4)):(0,t.createCommentVNode)(``,!0)],36)],4)],4)):(0,t.createCommentVNode)(``,!0)],36)],6)],34)],512)]),_:1}),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[Pe.value.visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`canvas-context-menu`,style:(0,t.normalizeStyle)(ft.value),onPointerdown:n[55]||=(0,t.withModifiers)(()=>{},[`stop`])},[Pe.value.target===`guide`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`canvas-context-menu__item danger`,disabled:!dt.value,onClick:n[38]||=e=>ir(`delete`)},` 删除参考线 `,8,Nm)):Pe.value.target===`region`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[39]||=e=>lr(`copy_region`)},` 复制分块 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[40]||=e=>lr(`copy_region_contents`)},` 复制分块及内容 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!z.value.length,onClick:n[41]||=e=>lr(`copy_region_selection`)},` 复制分块+选中元素 `,8,Pm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!st.value,onClick:n[42]||=e=>lr(`paste_region`)},` 粘贴分块 `,8,Fm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[43]||=e=>lr(`paste_elements`)},` 粘贴元素 `,8,Im),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[44]||=e=>lr(`paste_elements_flip_x`)},` 粘贴并左右翻转 `,8,Lm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[45]||=e=>lr(`paste_elements_flip_y`)},` 粘贴并上下翻转 `,8,Rm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ut.value,onClick:n[46]||=e=>lr(`flip_contents_x`)},` 当前分块内容左右翻转 `,8,zm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ut.value,onClick:n[47]||=e=>lr(`flip_contents_y`)},` 当前分块内容上下翻转 `,8,Bm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item danger`,disabled:!ut.value,onClick:n[48]||=e=>lr(`delete_region`)},` 删除当前分块 `,8,Vm)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[49]||=e=>sr(`zoom_in`)},` 放大 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[50]||=e=>sr(`zoom_out`)},` 缩小 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,onClick:n[51]||=e=>sr(`fit`)},` 适配 `),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!z.value.length,onClick:n[52]||=e=>sr(`delete`)},` 删除选中元素 `,8,Hm),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!ot.value,onClick:n[53]||=e=>sr(`paste`)},` 粘贴元素 `,8,Um),(0,t.createElementVNode)(`button`,{type:`button`,class:`canvas-context-menu__item`,disabled:!st.value,onClick:n[54]||=e=>sr(`paste_region`)},` 粘贴分块 `,8,Wm)],64))],36)):(0,t.createCommentVNode)(``,!0)])),(0,t.createElementVNode)(`div`,{class:`layout-splitter`,title:`拖拽调整右侧宽度`,onPointerdown:n[56]||=e=>q(`right`,e)},null,32),(0,t.createVNode)(se,{class:`side`,shadow:`never`},{header:(0,t.withCtx)(()=>[...n[205]||=[(0,t.createTextVNode)(`属性`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Gm,[(0,t.createElementVNode)(`div`,Km,[Ye.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qm,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`文字内容`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)(s,{key:z.value.length===1?z.value[0]:`multi`,modelValue:ht.value,"onUpdate:modelValue":n[57]||=e=>ht.value=e,type:`textarea`,rows:8,placeholder:`可直接编辑;占位符用双花括号,如 student_name 写成模板里的字段名`},null,8,[`modelValue`]))]),_:1}),(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Jm,[(0,t.createVNode)(i,{icon:`expand-left-right-line`}),n[206]||=(0,t.createTextVNode)(`字号(pt)`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:Ye.value.fontSize,"onUpdate:modelValue":n[58]||=e=>Ye.value.fontSize=e,min:6,max:72,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ym,[(0,t.createVNode)(i,{icon:`brush-line`}),n[207]||=(0,t.createTextVNode)(`颜色`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(C,{modelValue:Ye.value.color,"onUpdate:modelValue":n[59]||=e=>Ye.value.color=e,"show-alpha":``},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`区域 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Xm,[n[208]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:Ye.value.wMm,"onUpdate:modelValue":n[60]||=e=>Ye.value.wMm=e,min:5,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[209]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:Ye.value.hMm,"onUpdate:modelValue":n[61]||=e=>Ye.value.hMm=e,min:4,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,{label:`对齐`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(U,{modelValue:Ye.value.align,"onUpdate:modelValue":n[62]||=e=>Ye.value.align=e,placeholder:`对齐`,style:{width:`100%`},options:_t},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`文字方向`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ee,{modelValue:gt.value,"onUpdate:modelValue":n[63]||=e=>gt.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`horizontal`},{default:(0,t.withCtx)(()=>[...n[210]||=[(0,t.createTextVNode)(`横向`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`vertical`},{default:(0,t.withCtx)(()=>[...n[211]||=[(0,t.createTextVNode)(`纵向`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`旋转 (°)`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:nt.value,"onUpdate:modelValue":n[64]||=e=>nt.value=e,min:-180,max:180,step:1,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`翻转`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Zm,[(0,t.createVNode)(u,{modelValue:rt.value,"onUpdate:modelValue":n[65]||=e=>rt.value=e,"inline-prompt":``,"active-text":`左右`,"inactive-text":`左右`},null,8,[`modelValue`]),(0,t.createVNode)(u,{modelValue:it.value,"onUpdate:modelValue":n[66]||=e=>it.value=e,"inline-prompt":``,"active-text":`上下`,"inactive-text":`上下`},null,8,[`modelValue`])])]),_:1})]),_:1})])):Xe.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qm,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`尺寸 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,$m,[n[212]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:Xe.value.wMm,"onUpdate:modelValue":n[67]||=e=>Xe.value.wMm=e,min:5,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[213]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:Xe.value.hMm,"onUpdate:modelValue":n[68]||=e=>Xe.value.hMm=e,min:5,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,{label:`旋转 (°)`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:tt.value,"onUpdate:modelValue":n[69]||=e=>tt.value=e,min:-180,max:180,step:1,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`翻转`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,eh,[(0,t.createVNode)(u,{modelValue:rt.value,"onUpdate:modelValue":n[70]||=e=>rt.value=e,"inline-prompt":``,"active-text":`左右`,"inactive-text":`左右`},null,8,[`modelValue`]),(0,t.createVNode)(u,{modelValue:it.value,"onUpdate:modelValue":n[71]||=e=>it.value=e,"inline-prompt":``,"active-text":`上下`,"inactive-text":`上下`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,null,{default:(0,t.withCtx)(()=>[...n[214]||=[(0,t.createElementVNode)(`span`,{class:`muted-text`},`画布上拖右下角蓝点可拉伸;文字和图片都支持角度旋转、左右翻转、上下翻转。`,-1)]]),_:1})]),_:1})])):Ze.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,th,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`图形`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(U,{modelValue:Ze.value.shape,"onUpdate:modelValue":n[72]||=e=>Ze.value.shape=e,style:{width:`100%`},options:d},null,8,[`modelValue`])]),_:1}),Ze.value.shape===`polygon`?((0,t.openBlock)(),(0,t.createBlock)(K,{key:0,label:`边数`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:Ze.value.polygonSides,"onUpdate:modelValue":n[73]||=e=>Ze.value.polygonSides=e,min:3,max:12,step:1,"controls-position":`right`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(K,{label:`背景色`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(C,{modelValue:Ze.value.background,"onUpdate:modelValue":n[74]||=e=>Ze.value.background=e,"show-alpha":``},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`显示边框`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(u,{modelValue:Y.value,"onUpdate:modelValue":n[75]||=e=>Y.value=e},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`边框色`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(C,{modelValue:Ze.value.strokeColor,"onUpdate:modelValue":n[76]||=e=>Ze.value.strokeColor=e,"show-alpha":``,disabled:!Y.value},null,8,[`modelValue`,`disabled`])]),_:1}),(0,t.createVNode)(K,{label:`边框 mm`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(c,{modelValue:Ze.value.strokeWidthMm,"onUpdate:modelValue":n[77]||=e=>Ze.value.strokeWidthMm=e,min:0,max:20,step:.2,"controls-position":`right`,style:{width:`100%`},disabled:!Y.value},null,8,[`modelValue`,`disabled`])]),_:1}),(0,t.createVNode)(K,{label:`透明度`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(fe,{modelValue:$e.value,"onUpdate:modelValue":n[78]||=e=>$e.value=e,min:0,max:100},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`锁定比例`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(u,{modelValue:et.value,"onUpdate:modelValue":n[79]||=e=>et.value=e},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`尺寸 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,nh,[n[215]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:Ze.value.wMm,"onUpdate:modelValue":n[80]||=e=>Ze.value.wMm=e,min:1,max:500,step:.5,"controls-position":`right`,onChange:jr},null,8,[`modelValue`]),n[216]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:Ze.value.hMm,"onUpdate:modelValue":n[81]||=e=>Ze.value.hMm=e,min:1,max:500,step:.5,"controls-position":`right`,onChange:Nr},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,null,{default:(0,t.withCtx)(()=>[...n[217]||=[(0,t.createElementVNode)(`span`,{class:`muted-text`},`开启后,拖拽右下角或手动修改宽高都会按当前比例同步缩放。`,-1)]]),_:1})]),_:1})])):J.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rh,[(0,t.createVNode)(de,{"label-width":`88px`,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,{label:`分区名称`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{modelValue:J.value.name,"onUpdate:modelValue":n[82]||=e=>J.value.name=e},null,8,[`modelValue`])]),_:1}),(0,t.createVNode)(K,{label:`背景模式`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(ee,{modelValue:xt.value,"onUpdate:modelValue":n[83]||=e=>xt.value=e,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`transparent`},{default:(0,t.withCtx)(()=>[...n[218]||=[(0,t.createTextVNode)(`透明`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`color`},{default:(0,t.withCtx)(()=>[...n[219]||=[(0,t.createTextVNode)(`色块`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`image`},{default:(0,t.withCtx)(()=>[...n[220]||=[(0,t.createTextVNode)(`图片`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),xt.value===`color`?((0,t.openBlock)(),(0,t.createBlock)(K,{key:0,label:`背景色`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ih,[(0,t.createVNode)(C,{modelValue:St.value,"onUpdate:modelValue":n[84]||=e=>St.value=e,"show-alpha":``},null,8,[`modelValue`]),(0,t.createVNode)(s,{modelValue:St.value,"onUpdate:modelValue":n[85]||=e=>St.value=e,size:`small`,placeholder:`#ffffff / rgba(...)`},null,8,[`modelValue`])])]),_:1})):xt.value===`image`?((0,t.openBlock)(),(0,t.createBlock)(K,{key:1,label:`背景图`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ah,[(0,t.createVNode)(a,{size:`small`,onClick:n[86]||=e=>cn(`lib`)},{default:(0,t.withCtx)(()=>[...n[221]||=[(0,t.createTextVNode)(`选择图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,onClick:n[87]||=e=>cn(`up`)},{default:(0,t.withCtx)(()=>[...n[222]||=[(0,t.createTextVNode)(`上传图片`,-1)]]),_:1}),(0,t.createVNode)(a,{size:`small`,link:``,type:`danger`,disabled:!J.value.backgroundImage,onClick:un},{default:(0,t.withCtx)(()=>[...n[223]||=[(0,t.createTextVNode)(` 清除图片 `,-1)]]),_:1},8,[`disabled`])])]),_:1})):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(K,{label:`区域 mm`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,oh,[n[224]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`X`,-1),(0,t.createVNode)(c,{modelValue:J.value.xMm,"onUpdate:modelValue":n[88]||=e=>J.value.xMm=e,min:0,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[225]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`Y`,-1),(0,t.createVNode)(c,{modelValue:J.value.yMm,"onUpdate:modelValue":n[89]||=e=>J.value.yMm=e,min:0,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[226]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`宽`,-1),(0,t.createVNode)(c,{modelValue:J.value.wMm,"onUpdate:modelValue":n[90]||=e=>J.value.wMm=e,min:1,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`]),n[227]||=(0,t.createElementVNode)(`span`,{class:`pair-label`},`高`,-1),(0,t.createVNode)(c,{modelValue:J.value.hMm,"onUpdate:modelValue":n[91]||=e=>J.value.hMm=e,min:1,max:500,step:.5,"controls-position":`right`},null,8,[`modelValue`])])]),_:1}),(0,t.createVNode)(K,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{type:`danger`,plain:``,onClick:n[92]||=e=>bi(J.value.id)},{default:(0,t.withCtx)(()=>[...n[228]||=[(0,t.createTextVNode)(`删除当前分区`,-1)]]),_:1})]),_:1})]),_:1}),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,sh,[n[230]||=(0,t.createElementVNode)(`span`,null,`当前分区操作`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[229]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`这里直接处理当前分区内容。可先在分区里选中部分元素再操作;未选中时默认作用于整个分区内容。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,ch,[(0,t.createVNode)(a,{size:`small`,disabled:!J.value,onClick:n[93]||=e=>Hn(`x`)},{default:(0,t.withCtx)(()=>[...n[231]||=[(0,t.createTextVNode)(` 当前分区左右翻转 `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!J.value,onClick:n[94]||=e=>Hn(`y`)},{default:(0,t.withCtx)(()=>[...n[232]||=[(0,t.createTextVNode)(` 当前分区上下翻转 `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,disabled:!J.value,onClick:n[95]||=e=>Un(`x`)},{default:(0,t.withCtx)(()=>[...n[233]||=[(0,t.createTextVNode)(` 左右镜像到对侧 `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,type:`primary`,plain:``,disabled:!J.value,onClick:n[96]||=e=>Un(`y`)},{default:(0,t.withCtx)(()=>[...n[234]||=[(0,t.createTextVNode)(` 上下镜像到对侧 `,-1)]]),_:1},8,[`disabled`])])])):z.value.length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lh,[(0,t.createElementVNode)(`p`,uh,` 已选中 `+(0,t.toDisplayString)(z.value.length)+` 个元素:可整体拖拽、方向键微移、Delete 删除;下方可批量改选中文字的字号与颜色。单选一个文字块后可编辑全文与对齐。 `,1),(0,t.createElementVNode)(`div`,dh,[(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:Ti},{default:(0,t.withCtx)(()=>[...n[235]||=[(0,t.createTextVNode)(`组合`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:!lt.value,onClick:Ei},{default:(0,t.withCtx)(()=>[...n[236]||=[(0,t.createTextVNode)(`打散`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:n[97]||=e=>Di(`x`)},{default:(0,t.withCtx)(()=>[...n[237]||=[(0,t.createTextVNode)(`左右翻转`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{size:`small`,disabled:z.value.length<2,onClick:n[98]||=e=>Di(`y`)},{default:(0,t.withCtx)(()=>[...n[238]||=[(0,t.createTextVNode)(`上下翻转`,-1)]]),_:1},8,[`disabled`])]),_a.value>0?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,fh,[n[240]||=(0,t.createElementVNode)(`span`,null,`多选:文字样式`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[239]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`仅作用于选中范围内的文字块。颜色不一致时以当前色块为参考,确认后会统一覆盖。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createVNode)(de,{"label-width":`88px`,size:`small`,class:`multi-text-form`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,ph,[(0,t.createVNode)(i,{icon:`expand-left-right-line`}),n[241]||=(0,t.createTextVNode)(`字号(pt)`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,mh,[(0,t.createVNode)(c,{modelValue:xa.value,"onUpdate:modelValue":n[99]||=e=>xa.value=e,min:6,max:72,"controls-position":`right`,style:{width:`100%`},placeholder:`不一致`,onChange:Ta,onKeydown:(0,t.withKeys)((0,t.withModifiers)(wa,[`prevent`,`stop`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])]),_:1}),(0,t.createVNode)(K,null,{label:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,hh,[(0,t.createVNode)(i,{icon:`brush-line`}),n[242]||=(0,t.createTextVNode)(`颜色`,-1)])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,gh,[(0,t.createVNode)(C,{"model-value":Sa.value,"show-alpha":``,onChange:Oa},null,8,[`model-value`]),(0,t.createVNode)(s,{modelValue:Sa.value,"onUpdate:modelValue":n[100]||=e=>Sa.value=e,size:`small`,placeholder:`#409EFF / rgba(...)`,onKeydown:(0,t.withKeys)((0,t.withModifiers)(Da,[`prevent`,`stop`]),[`enter`]),onBlur:Da},null,8,[`modelValue`,`onKeydown`])])]),_:1})]),_:1})],64)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,_h,[n[244]||=(0,t.createElementVNode)(`span`,null,`多选:相对选区对齐`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[243]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`以当前选中元素的包围盒为基准对齐彼此。至少选中 2 个元素时生效,单选无变化。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,vh,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`左边缘对齐`,onClick:n[101]||=e=>Aa(`sel-left`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-left-line`})]),_:1}),(0,t.createVNode)(a,{title:`右边缘对齐`,onClick:n[102]||=e=>Aa(`sel-right`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-right-line`})]),_:1}),(0,t.createVNode)(a,{title:`顶边对齐`,onClick:n[103]||=e=>Aa(`sel-top`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-up-line`})]),_:1}),(0,t.createVNode)(a,{title:`底边对齐`,onClick:n[104]||=e=>Aa(`sel-bottom`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`arrow-down-line`})]),_:1})]),_:1})]),(0,t.createElementVNode)(`div`,yh,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`水平居中对齐`,onClick:n[105]||=e=>Aa(`sel-h-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`expand-left-right-line`})]),_:1}),(0,t.createVNode)(a,{title:`垂直居中对齐`,onClick:n[106]||=e=>Aa(`sel-v-center`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`drag-move-line`})]),_:1})]),_:1})]),(0,t.createVNode)(v,{"content-position":`left`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,bh,[n[246]||=(0,t.createElementVNode)(`span`,null,`多选:分布`,-1),(0,t.createVNode)(g,{placement:`top`,"show-after":120},{content:(0,t.withCtx)(()=>[...n[245]||=[(0,t.createElementVNode)(`div`,{class:`help-popover`},`在沿轴最前与最后元素之间均分间距,至少选中 2 个元素。`,-1)]]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`question-line`,class:`help-icon`})]),_:1})])]),_:1}),(0,t.createElementVNode)(`div`,xh,[(0,t.createVNode)(o,{size:`small`,class:`btn-group-icons`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{title:`按左右顺序均分水平间距`,disabled:z.value.length<2,onClick:n[107]||=e=>ja(`h`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`settings-3-line`})]),_:1},8,[`disabled`]),(0,t.createVNode)(a,{title:`按上下顺序均分垂直间距`,disabled:z.value.length<2,onClick:n[108]||=e=>ja(`v`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`sort-desc`})]),_:1},8,[`disabled`])]),_:1})])])):((0,t.openBlock)(),(0,t.createBlock)(ge,{key:5,description:`点击画布中的元素以编辑;空白处拖拽框选;Shift+点击多选`}))]),(0,t.createElementVNode)(`div`,Sh,[(0,t.createVNode)(v),n[247]||=(0,t.createElementVNode)(`div`,{class:`subhead`},`保存后预览`,-1),(0,t.createElementVNode)(`div`,Ch,[I.value?((0,t.openBlock)(),(0,t.createBlock)(ii,{key:0,doc:I.value,"merge-data":Ct.value,"screen-scale":Qt.value},null,8,[`doc`,`merge-data`,`screen-scale`])):(0,t.createCommentVNode)(``,!0)])])])]),_:1})],6)),[[ve,N.value]]),(0,t.createVNode)(_e,{modelValue:Te.value,"onUpdate:modelValue":n[109]||=e=>Te.value=e,title:`模板预览`,width:`640px`,draggable:``,"align-center":``,"destroy-on-close":``,class:`badge-preview-dialog`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,wh,[I.value?((0,t.openBlock)(),(0,t.createBlock)(ii,{key:0,doc:I.value,"merge-data":Ct.value,"screen-scale":$t.value},null,8,[`doc`,`merge-data`,`screen-scale`])):(0,t.createCommentVNode)(``,!0)])]),_:1},8,[`modelValue`]),(0,t.createVNode)(Kn,{modelValue:ye.value,"onUpdate:modelValue":n[110]||=e=>ye.value=e,onPick:mi},null,8,[`modelValue`]),(0,t.createVNode)(Kn,{modelValue:be.value,"onUpdate:modelValue":n[111]||=e=>be.value=e,"default-tab":xe.value,onPick:on},null,8,[`modelValue`,`default-tab`]),(0,t.createVNode)(Kn,{modelValue:Se.value,"onUpdate:modelValue":n[112]||=e=>Se.value=e,"default-tab":Ce.value,onPick:ln},null,8,[`modelValue`,`default-tab`]),(0,t.createVNode)(Dr,{modelValue:we.value,"onUpdate:modelValue":n[113]||=e=>we.value=e},null,8,[`modelValue`]),(0,t.createVNode)(_e,{modelValue:p.value,"onUpdate:modelValue":n[117]||=e=>p.value=e,title:`设置链接`,width:`440px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:n[116]||=e=>p.value=!1},{default:(0,t.withCtx)(()=>[...n[250]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(a,{type:`primary`,onClick:Jr},{default:(0,t.withCtx)(()=>[...n[251]||=[(0,t.createTextVNode)(`确定`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Th,[(0,t.createVNode)(s,{modelValue:m.value,"onUpdate:modelValue":n[114]||=e=>m.value=e,placeholder:`URL,可含 {{module.key}} 或旧 {{student_name}}`},null,8,[`modelValue`]),(0,t.createVNode)(ee,{modelValue:h.value,"onUpdate:modelValue":n[115]||=e=>h.value=e,size:`small`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{label:`_blank`},{default:(0,t.withCtx)(()=>[...n[248]||=[(0,t.createTextVNode)(`新窗口`,-1)]]),_:1}),(0,t.createVNode)(O,{label:`_self`},{default:(0,t.withCtx)(()=>[...n[249]||=[(0,t.createTextVNode)(`当前页`,-1)]]),_:1})]),_:1},8,[`modelValue`])])]),_:1},8,[`modelValue`]),(0,t.createVNode)(_e,{modelValue:f.value,"onUpdate:modelValue":n[120]||=e=>f.value=e,title:`删除粘贴图片`,width:`440px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{onClick:n[118]||=e=>y(!1)},{default:(0,t.withCtx)(()=>[...n[252]||=[(0,t.createTextVNode)(`只删画布元素`,-1)]]),_:1}),(0,t.createVNode)(a,{type:`danger`,onClick:n[119]||=e=>y(!0)},{default:(0,t.withCtx)(()=>[...n[253]||=[(0,t.createTextVNode)(`同时删除服务器图片`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,null,`当前删除中包含 `+(0,t.toDisplayString)(_.value)+` 张已上传的粘贴图片,是否同时删除服务器图片?`,1)]),_:1},8,[`modelValue`])],2)}}}),zh=v({default:()=>Bh}),Bh=S(Rh,[[`__scopeId`,`data-v-7d06f17b`]]),Vh=Bh,Hh=v({default:()=>Uh}),Uh=Vh,Wh={class:`page-container badge-tpl-list`},Gh={class:`badge-tpl-header page-header`},Kh={class:`card-hdr`},qh={key:0,class:`card-sub`},Jh={key:1,class:`muted`},Yh=(0,t.defineComponent)({__name:`BadgeTemplateListView`,setup(e){let{hostRef:n,tableHeight:r,recalcTableHeight:i}=pd(200),a=(0,o.useRoute)(),s=(0,o.useRouter)(),c=Number(a.params.id),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)([]),f=(0,t.ref)(``),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(!1),g=(0,t.ref)(null);async function _(){try{let e=await hn(c);f.value=e.data?.name||e.data?.title||``}catch{f.value=``}}async function v(){l.value=!0;try{let e=await gn(c);d.value=e.data?.list||[]}catch{d.value=[],Q.error(`加载模板列表失败`)}finally{l.value=!1,(0,t.nextTick)(()=>i())}}function y(){m.value=``,p.value=!0}async function b(){let e=m.value.trim();if(!e){Q.warning(`请填写模板名称`);return}u.value=!0;try{let t=(await _n(c,{name:e})).data?.id;p.value=!1,Q.success(`已创建`),t?s.push(`/fouui/badge/competition/${c}/badge-template/${t}`):await v()}catch(e){Q.error(e?.response?.data?.message||`创建失败`)}finally{u.value=!1}}function x(e){s.push(`/fouui/badge/competition/${c}/badge-template/${e}`)}async function S(e){try{await Sn(c,e),Q.success(`已设为默认套打模板`),await v()}catch(e){Q.error(e?.response?.data?.message||`操作失败`)}}function C(e){g.value=e,h.value=!0}async function w(){let e=g.value;if(e){h.value=!1;try{await xn(c,e.id),Q.success(`已删除`),await v()}catch(e){Q.error(e?.response?.data?.message||`删除失败`)}}}return(0,t.onMounted)(async()=>{if(!Number.isFinite(c)||c<=0){Q.error(`无效的比赛 ID`);return}await _(),await v(),(0,t.nextTick)(()=>i())}),(0,t.onActivated)(()=>(0,t.nextTick)(()=>i())),(e,i)=>{let a=k,o=Vt,s=cl,c=fl,_=al,v=mr,T=va,E=la,D=Si,O=pt,A=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wh,[(0,t.createElementVNode)(`div`,Gh,[(0,t.createVNode)(o,{link:``,onClick:i[0]||=t=>e.$router.back()},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{icon:`arrow-left-line`}),i[7]||=(0,t.createTextVNode)(` 证件模板 `,-1)]),_:1})]),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)(v,{class:`main-card table-card table-fill-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Kh,[(0,t.createElementVNode)(`div`,null,[i[8]||=(0,t.createElementVNode)(`div`,{class:`card-title`},`模板列表`,-1),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qh,(0,t.toDisplayString)(f.value),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)(o,{type:`primary`,onClick:y},{default:(0,t.withCtx)(()=>[...i[9]||=[(0,t.createTextVNode)(`新建模板`,-1)]]),_:1})])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`hostRef`,ref:n,class:`table-host`},[(0,t.createVNode)(_,{data:d.value,border:``,stripe:``,height:(0,t.unref)(r)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{prop:`name`,label:`名称`,"min-width":`160`,"show-overflow-tooltip":``}),(0,t.createVNode)(s,{label:`默认套打`,width:`100`,align:`center`},{default:(0,t.withCtx)(({row:e})=>[e.is_default?((0,t.openBlock)(),(0,t.createBlock)(c,{key:0,type:`success`,size:`small`},{default:(0,t.withCtx)(()=>[...i[10]||=[(0,t.createTextVNode)(`默认`,-1)]]),_:1})):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Jh,`—`))]),_:1}),(0,t.createVNode)(s,{prop:`width_mm`,label:`宽 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`height_mm`,label:`高 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`update_time`,label:`更新时间`,width:`180`}),(0,t.createVNode)(s,{label:`操作`,width:`280`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(o,{link:``,type:`primary`,onClick:t=>x(e.id)},{default:(0,t.withCtx)(()=>[...i[11]||=[(0,t.createTextVNode)(`编辑`,-1)]]),_:1},8,[`onClick`]),e.is_default?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,link:``,type:`primary`,onClick:t=>S(e.id)},{default:(0,t.withCtx)(()=>[...i[12]||=[(0,t.createTextVNode)(`设为默认`,-1)]]),_:1},8,[`onClick`])),(0,t.createVNode)(o,{link:``,type:`danger`,onClick:t=>C(e)},{default:(0,t.withCtx)(()=>[...i[13]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])],512)]),_:1})),[[A,l.value]]),(0,t.createVNode)(O,{modelValue:p.value,"onUpdate:modelValue":i[3]||=e=>p.value=e,title:`新建证件模板`,width:`440px`,"destroy-on-close":``,onClosed:i[4]||=e=>m.value=``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[2]||=e=>p.value=!1},{default:(0,t.withCtx)(()=>[...i[14]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`primary`,loading:u.value,onClick:b},{default:(0,t.withCtx)(()=>[...i[15]||=[(0,t.createTextVNode)(`保存并制作`,-1)]]),_:1},8,[`loading`])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(D,{"label-width":`88px`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(E,{label:`模板名称`,required:``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(T,{modelValue:m.value,"onUpdate:modelValue":i[1]||=e=>m.value=e,placeholder:`保存后将进入空白画布开始编排`,maxlength:`120`,"show-word-limit":``,onKeyup:(0,t.withKeys)(b,[`enter`])},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),(0,t.createVNode)(O,{modelValue:h.value,"onUpdate:modelValue":i[6]||=e=>h.value=e,title:`删除确认`,width:`400px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[5]||=e=>h.value=!1},{default:(0,t.withCtx)(()=>[...i[16]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`danger`,onClick:w},{default:(0,t.withCtx)(()=>[...i[17]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,null,`确定删除模板「`+(0,t.toDisplayString)(g.value?.name||`未命名`)+`」吗?`,1)]),_:1},8,[`modelValue`])])}}}),Xh=v({default:()=>Zh}),Zh=S(Yh,[[`__scopeId`,`data-v-2c5490c9`]]),Qh={class:`page-container desk-tpl-list`},$h={class:`desk-tpl-header page-header`},eg={class:`card-hdr`},tg={key:0,class:`card-sub`},ng={key:1,class:`muted`},rg=(0,t.defineComponent)({__name:`DeskLabelTemplateListView`,setup(e){let{hostRef:n,tableHeight:r,recalcTableHeight:i}=pd(200),a=(0,o.useRoute)(),s=(0,o.useRouter)(),c=Number(a.params.id),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)([]),f=(0,t.ref)(``),p=(0,t.ref)(!1),m=(0,t.ref)(``),h=(0,t.ref)(!1),g=(0,t.ref)(null);async function _(){try{let e=await hn(c);f.value=e.data?.name||e.data?.title||``}catch{f.value=``}}async function v(){l.value=!0;try{let e=await Cn(c);d.value=e.data?.list||[]}catch{d.value=[],Q.error(`加载模板列表失败`)}finally{l.value=!1,(0,t.nextTick)(()=>i())}}function y(){m.value=``,p.value=!0}async function b(){let e=m.value.trim();if(!e){Q.warning(`请填写模板名称`);return}u.value=!0;try{let t=(await wn(c,{name:e})).data?.id;p.value=!1,Q.success(`已创建`),t?s.push(`/fouui/badge/competition/${c}/desk-label-template/${t}`):await v()}catch(e){Q.error(e?.response?.data?.msg||e?.response?.data?.message||`创建失败`)}finally{u.value=!1}}function x(e){s.push(`/fouui/badge/competition/${c}/desk-label-template/${e}`)}async function S(e){try{await kn(c,e),Q.success(`已设为默认模板`),await v()}catch(e){Q.error(e?.response?.data?.msg||e?.response?.data?.message||`操作失败`)}}function C(e){g.value=e,h.value=!0}async function w(){let e=g.value;if(e){h.value=!1;try{await On(c,e.id),Q.success(`已删除`),await v()}catch(e){Q.error(e?.response?.data?.msg||e?.response?.data?.message||`删除失败`)}}}return(0,t.onMounted)(async()=>{if(!Number.isFinite(c)||c<=0){Q.error(`无效的比赛 ID`);return}await _(),await v(),(0,t.nextTick)(()=>i())}),(0,t.onActivated)(()=>(0,t.nextTick)(()=>i())),(e,i)=>{let a=k,o=Vt,s=cl,c=fl,_=al,v=mr,T=va,E=la,D=Si,O=pt,A=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qh,[(0,t.createElementVNode)(`div`,$h,[(0,t.createVNode)(o,{link:``,onClick:i[0]||=t=>e.$router.back()},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{icon:`arrow-left-line`}),i[7]||=(0,t.createTextVNode)(` 桌面贴模板 `,-1)]),_:1})]),(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)(v,{class:`main-card table-card table-fill-card`,shadow:`never`},{header:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,eg,[(0,t.createElementVNode)(`div`,null,[i[8]||=(0,t.createElementVNode)(`div`,{class:`card-title`},`模板列表`,-1),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tg,(0,t.toDisplayString)(f.value),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)(o,{type:`primary`,onClick:y},{default:(0,t.withCtx)(()=>[...i[9]||=[(0,t.createTextVNode)(`新建模板`,-1)]]),_:1})])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`hostRef`,ref:n,class:`table-host`},[(0,t.createVNode)(_,{data:d.value,border:``,stripe:``,height:(0,t.unref)(r)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{prop:`name`,label:`名称`,"min-width":`160`,"show-overflow-tooltip":``}),(0,t.createVNode)(s,{label:`默认`,width:`100`,align:`center`},{default:(0,t.withCtx)(({row:e})=>[e.is_default?((0,t.openBlock)(),(0,t.createBlock)(c,{key:0,type:`success`,size:`small`},{default:(0,t.withCtx)(()=>[...i[10]||=[(0,t.createTextVNode)(`默认`,-1)]]),_:1})):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ng,`—`))]),_:1}),(0,t.createVNode)(s,{prop:`width_mm`,label:`宽 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`height_mm`,label:`高 mm`,width:`90`}),(0,t.createVNode)(s,{prop:`update_time`,label:`更新时间`,width:`180`}),(0,t.createVNode)(s,{label:`操作`,width:`280`,fixed:`right`},{default:(0,t.withCtx)(({row:e})=>[(0,t.createVNode)(o,{link:``,type:`primary`,onClick:t=>x(e.id)},{default:(0,t.withCtx)(()=>[...i[11]||=[(0,t.createTextVNode)(`编辑`,-1)]]),_:1},8,[`onClick`]),e.is_default?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,link:``,type:`primary`,onClick:t=>S(e.id)},{default:(0,t.withCtx)(()=>[...i[12]||=[(0,t.createTextVNode)(`设为默认`,-1)]]),_:1},8,[`onClick`])),(0,t.createVNode)(o,{link:``,type:`danger`,onClick:t=>C(e)},{default:(0,t.withCtx)(()=>[...i[13]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`,`height`])],512)]),_:1})),[[A,l.value]]),(0,t.createVNode)(O,{modelValue:p.value,"onUpdate:modelValue":i[3]||=e=>p.value=e,title:`新建桌面贴模板`,width:`440px`,"destroy-on-close":``,onClosed:i[4]||=e=>m.value=``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[2]||=e=>p.value=!1},{default:(0,t.withCtx)(()=>[...i[14]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`primary`,loading:u.value,onClick:b},{default:(0,t.withCtx)(()=>[...i[15]||=[(0,t.createTextVNode)(`保存并制作`,-1)]]),_:1},8,[`loading`])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)(D,{"label-width":`88px`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(E,{label:`模板名称`,required:``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(T,{modelValue:m.value,"onUpdate:modelValue":i[1]||=e=>m.value=e,placeholder:`保存后将进入空白画布开始编排`,maxlength:`120`,"show-word-limit":``,onKeyup:(0,t.withKeys)(b,[`enter`])},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),(0,t.createVNode)(O,{modelValue:h.value,"onUpdate:modelValue":i[6]||=e=>h.value=e,title:`删除确认`,width:`400px`},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{onClick:i[5]||=e=>h.value=!1},{default:(0,t.withCtx)(()=>[...i[16]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(o,{type:`danger`,onClick:w},{default:(0,t.withCtx)(()=>[...i[17]||=[(0,t.createTextVNode)(`删除`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,null,`确定删除模板「`+(0,t.toDisplayString)(g.value?.name||`未命名`)+`」吗?`,1)]),_:1},8,[`modelValue`])])}}}),ig=v({default:()=>ag}),ag=S(rg,[[`__scopeId`,`data-v-726e851f`]]),og={class:`page-container desk-label-page`},sg={class:`label-grid`},cg={class:`label-seat`},lg={class:`label-name`},ug={class:`label-school`},dg={class:`toolbar-pdf`},fg={class:`paper-config`},pg={class:`paper-config-block`},mg={class:`paper-config-block`},hg={key:0,class:`paper-config-desc`},gg={class:`paper-config-block`},_g={class:`paper-inline-row`},vg={class:`paper-config-desc`},yg={class:`pdf-dialog-body`},bg={class:`simple-seat`},xg={class:`simple-name`},Sg={class:`simple-school`},Cg={class:`simple-no`},wg=0,Tg=2,Eg=(0,t.defineComponent)({__name:`DeskLabelView`,setup(e){let n=(0,o.useRouter)(),r=(0,t.ref)(0),i=(0,t.ref)([]),a=(0,t.ref)({}),s=(0,t.ref)(``),c=(0,t.ref)(!1),l=(0,t.ref)([]),u=(0,t.computed)(()=>i.value.map(e=>({label:e.name,value:e.id}))),d=(0,t.computed)(()=>l.value.map(e=>({label:e.is_default?`${e.name}(默认)`:e.name,value:e.id}))),f=(0,t.ref)(),p=(0,t.ref)(null),m=(0,t.ref)(!1),h=(0,t.ref)(`a4`),g=(0,t.ref)(`portrait`),_=(0,t.ref)(2),v=(0,t.ref)(2),y=(0,t.ref)(!1),b=(0,t.ref)(!1),x=(0,t.ref)(!1),S=(0,t.ref)(null),C=(0,t.ref)(null),w=(0,t.ref)([]),T=(0,t.computed)(()=>{let e=p.value,t=Number(e?.canvas?.widthMm||90),n=Number(e?.canvas?.heightMm||50),r=t*96/25.4,i=n*96/25.4;return Math.min(1,180/r,120/i)});async function E(){if(!r.value){l.value=[],f.value=void 0,p.value=null;return}c.value=!0;try{let e=(await Cn(r.value)).data?.list||[];l.value=e;let t=Number(f.value||0),n=t>0?e.find(e=>Number(e.id)===t):null,i=e.find(e=>!!e.is_default);f.value=n?t:i?.id?Number(i.id):e[0]?.id?Number(e[0].id):void 0,await D()}catch{l.value=[],f.value=void 0,p.value=null,Q.error(`加载桌面贴模板失败`)}finally{c.value=!1}}async function D(){if(!r.value){p.value=null;return}try{let e=(f.value?await Tn(r.value,Number(f.value)):await En(r.value)).data?.template_json;if(e&&typeof e==`object`&&Array.isArray(e.elements)){p.value=e;return}}catch{}p.value=null}let O=async()=>{if(r.value)try{await D();let e=await Ln(r.value);a.value=e.data||{}}catch{a.value={}}},k=async()=>{a.value={},C.value=null,w.value=[];let e=i.value.find(e=>e.id===r.value);s.value=e?.name||``,await E()},A=async()=>{await D()},j=()=>{r.value&&n.push(`/fouui/badge/competition/${r.value}/desk-label-templates`)};function M(){let e=[],t=Object.keys(a.value).sort((e,t)=>String(e).localeCompare(String(t),`zh-CN`));for(let n of t){let t=[...a.value[n]||[]].sort((e,t)=>{let n=Number(String(e?.seat_no??``).replace(/\D/g,``))||0,r=Number(String(t?.seat_no??``).replace(/\D/g,``))||0;return n===r?String(e?.student_name??``).localeCompare(String(t?.student_name??``),`zh-CN`):n-r});for(let n of t)e.push({...n})}return e}let N={a4:{w:210,h:297},a3:{w:297,h:420}},P=(0,t.computed)(()=>h.value===`custom`),F=(0,t.computed)(()=>{if(P.value)return{w:Number(C.value?.canvas?.widthMm??p.value?.canvas?.widthMm??90),h:Number(C.value?.canvas?.heightMm??p.value?.canvas?.heightMm??50)};let e=N[h.value===`a3`?`a3`:`a4`];return g.value===`landscape`?{w:e.h,h:e.w}:e}),I=(0,t.computed)(()=>({w:Number(C.value?.canvas?.widthMm??p.value?.canvas?.widthMm??90),h:Number(C.value?.canvas?.heightMm??p.value?.canvas?.heightMm??50)})),L=(0,t.computed)(()=>{let e=F.value,t=I.value;if(P.value)return{page:e,requestedCols:1,maxCols:1,cols:1,rowsPerPage:1,perPage:1,usableW:e.w,usableH:e.h,fitsWidth:!0,fitsHeight:!0,labelW:t.w,labelH:t.h,blockW:t.w};let n=Math.max(1,Number(v.value||1)),r=Math.max(1,e.w-0),i=Math.max(1,e.h-0),a=t.w<=r,o=t.h<=i,s=Math.max(1,Math.floor((r+Tg)/(t.w+Tg))),c=Math.min(n,s),l=Math.max(1,Math.floor((i+Tg)/(t.h+Tg)));return{page:e,requestedCols:n,maxCols:s,cols:c,rowsPerPage:l,perPage:c*l,usableW:r,usableH:i,fitsWidth:a,fitsHeight:o,labelW:t.w,labelH:t.h,blockW:c*t.w+Math.max(0,c-1)*Tg}}),R=(0,t.computed)(()=>1),ee=(0,t.computed)(()=>{let e=L.value.perPage,t=w.value,n=[];for(let r=0;r<t.length;r+=e)n.push(t.slice(r,r+e));return n}),z=(0,t.computed)(()=>({width:`${L.value.page.w}mm`})),B=(0,t.computed)(()=>({width:`${L.value.page.w}mm`,height:`${L.value.page.h}mm`,padding:`${wg}mm`,boxSizing:`border-box`}));function V(e){let{cols:t,labelW:n,labelH:r}=L.value,i=Math.max(1,Math.ceil(Math.max(1,e||1)/t)),a=t*n+(t-1)*Tg,o=i*r+(i-1)*Tg;return{display:`grid`,gridTemplateColumns:`repeat(${t}, ${n}mm)`,gridAutoRows:`${r}mm`,gap:`${Tg}mm`,width:`${a}mm`,height:`${o}mm`,boxSizing:`border-box`}}let H=(0,t.computed)(()=>{let{labelW:e,labelH:t}=L.value;return{width:`${e}mm`,height:`${t}mm`,boxSizing:`border-box`,overflow:`hidden`}}),te=()=>{if(!r.value||!Object.keys(a.value).length){Q.warning(`请先加载桌面贴数据`);return}h.value=`a4`,g.value=`portrait`,_.value=2,v.value=2,m.value=!0},ne=async()=>{if(r.value){m.value=!1,b.value=!0,y.value=!0,C.value=null,w.value=[];try{let e=M(),n=(f.value?await Tn(r.value,Number(f.value)):await En(r.value)).data?.template_json;if(n&&typeof n==`object`&&Array.isArray(n.elements)&&n.elements.length&&(C.value=n),w.value=e.map(e=>Wu(e,s.value)),await(0,t.nextTick)(),!L.value.fitsWidth||!L.value.fitsHeight){y.value=!1,Q.warning(`当前桌面贴尺寸 ${I.value.w} x ${I.value.h} mm 已超出 ${h.value.toUpperCase()}${g.value===`landscape`?`横向`:`纵向`} 纸张尺寸,请调整模板尺寸或改用更大纸张`);return}if(L.value.requestedCols>L.value.maxCols){y.value=!1,Q.warning(`${h.value.toUpperCase()}${g.value===`landscape`?`横向`:`纵向`} 最多每行显示 ${L.value.maxCols} 个桌面贴,请调整后重试`);return}}catch{w.value=M().map(e=>Wu(e,s.value))}finally{b.value=!1}}},re=async()=>{await(0,t.nextTick)()},ie=async()=>{let e=S.value;if(!(!e||!w.value.length)){x.value=!0;try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200));let n=`桌面贴_${s.value||r.value}.pdf`;await od(Array.from(e.querySelectorAll(`.pdf-page`)),n,{size:h.value,orientation:g.value,widthMm:F.value.w,heightMm:F.value.h})}finally{x.value=!1}}},ae=async()=>{let e=S.value;if(!(!e||!w.value.length))try{await(0,t.nextTick)(),await new Promise(e=>setTimeout(e,200)),await sd(Array.from(e.querySelectorAll(`.pdf-page`)),`桌面贴_${s.value||r.value}`,{size:h.value,orientation:g.value,widthMm:F.value.w,heightMm:F.value.h})}catch(e){Q.error(e instanceof Error?e.message:`打印失败`)}};return(0,t.onMounted)(async()=>{try{let e=await mn({page_size:200});i.value=e.data?.data||[]}catch{i.value=[]}}),(0,t.watch)(_,e=>{P.value||e>0&&(v.value=e)}),(0,t.watch)(v,e=>{if(P.value){v.value!==1&&(v.value=1),_.value!==1&&(_.value=1);return}let t=Math.max(1,Number(e||1));if(t!==e){v.value=t;return}_.value=[1,2,3].includes(t)?t:0}),(0,t.watch)(h,e=>{e===`custom`&&(g.value=`portrait`,_.value=1,v.value=1)}),(e,n)=>{let i=ia,o=la,l=Vt,E=Si,D=mr,M=Pt,N=qi,F=Vi,I=yi,L=pt,oe=(0,t.resolveDirective)(`fou-loading`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,og,[(0,t.createVNode)(D,{class:`filter-card`,shadow:`never`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(E,{inline:!0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{label:`选择比赛`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,placeholder:`选择比赛`,style:{width:`320px`},options:u.value,onChange:k},null,8,[`modelValue`,`options`])]),_:1}),(0,t.createVNode)(o,{label:`桌面贴模板`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{modelValue:f.value,"onUpdate:modelValue":n[1]||=e=>f.value=e,clearable:``,placeholder:`默认模板`,style:{width:`260px`},disabled:!r.value||c.value,options:d.value,onChange:A},null,8,[`modelValue`,`disabled`,`options`])]),_:1}),(0,t.createVNode)(o,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{type:`primary`,disabled:!r.value,onClick:O},{default:(0,t.withCtx)(()=>[...n[10]||=[(0,t.createTextVNode)(`加载桌面贴数据`,-1)]]),_:1},8,[`disabled`])]),_:1}),r.value?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{onClick:j},{default:(0,t.withCtx)(()=>[...n[11]||=[(0,t.createTextVNode)(`桌面贴模板`,-1)]]),_:1})]),_:1})):(0,t.createCommentVNode)(``,!0)]),_:1})]),_:1}),Object.keys(a.value).length?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(D,{key:String(n),style:{"margin-bottom":`16px`}},{header:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(n),1)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,sg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`label-card`,key:`${n}-${e.seat_no}`},[p.value?.elements?.length?((0,t.openBlock)(),(0,t.createBlock)(ii,{key:0,doc:p.value,"merge-data":(0,t.unref)(Wu)(e,s.value),"screen-scale":T.value},null,8,[`doc`,`merge-data`,`screen-scale`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,cg,(0,t.toDisplayString)(e.seat_no)+`号`,1),(0,t.createElementVNode)(`div`,lg,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,ug,(0,t.toDisplayString)(e.school_name),1)],64))]))),128))])]),_:2},1024))),128)),(0,t.createElementVNode)(`div`,dg,[(0,t.createVNode)(l,{type:`primary`,disabled:!r.value,onClick:te},{default:(0,t.withCtx)(()=>[...n[12]||=[(0,t.createTextVNode)(`生成预览与 PDF`,-1)]]),_:1},8,[`disabled`])])],64)):((0,t.openBlock)(),(0,t.createBlock)(M,{key:1,description:`请选择比赛并加载桌面贴`})),(0,t.createVNode)(L,{modelValue:m.value,"onUpdate:modelValue":n[7]||=e=>m.value=e,title:`预览排版设置`,width:`520px`,"destroy-on-close":``,"align-center":``},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{onClick:n[6]||=e=>m.value=!1},{default:(0,t.withCtx)(()=>[...n[25]||=[(0,t.createTextVNode)(`取消`,-1)]]),_:1}),(0,t.createVNode)(l,{type:`primary`,onClick:ne},{default:(0,t.withCtx)(()=>[...n[26]||=[(0,t.createTextVNode)(`下一步:整版预览`,-1)]]),_:1})]),default:(0,t.withCtx)(()=>[n[27]||=(0,t.createElementVNode)(`p`,{class:`paper-tip`},`导出整版 PDF 前请选择纸张模式。可按 A4/A3 排版,也可直接按模板实际尺寸生成。预览、下载 PDF、打印都会使用这套排版设置。`,-1),(0,t.createElementVNode)(`div`,fg,[(0,t.createElementVNode)(`div`,pg,[n[16]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`纸张尺寸`,-1),(0,t.createVNode)(F,{modelValue:h.value,"onUpdate:modelValue":n[2]||=e=>h.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(N,{label:`a4`},{default:(0,t.withCtx)(()=>[...n[13]||=[(0,t.createTextVNode)(`A4`,-1)]]),_:1}),(0,t.createVNode)(N,{label:`a3`},{default:(0,t.withCtx)(()=>[...n[14]||=[(0,t.createTextVNode)(`A3`,-1)]]),_:1}),(0,t.createVNode)(N,{label:`custom`},{default:(0,t.withCtx)(()=>[...n[15]||=[(0,t.createTextVNode)(`按模板尺寸`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),(0,t.createElementVNode)(`div`,mg,[n[19]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`打印方向`,-1),(0,t.createVNode)(F,{modelValue:g.value,"onUpdate:modelValue":n[3]||=e=>g.value=e,disabled:P.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(N,{label:`portrait`},{default:(0,t.withCtx)(()=>[...n[17]||=[(0,t.createTextVNode)(`纵向`,-1)]]),_:1}),(0,t.createVNode)(N,{label:`landscape`},{default:(0,t.withCtx)(()=>[...n[18]||=[(0,t.createTextVNode)(`横向`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),P.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hg,`按模板尺寸生成时,页面宽高直接取模板设置,方向无需单独选择。`)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,gg,[n[24]||=(0,t.createElementVNode)(`div`,{class:`paper-config-title`},`每行显示`,-1),(0,t.createElementVNode)(`div`,_g,[(0,t.createVNode)(F,{modelValue:_.value,"onUpdate:modelValue":n[4]||=e=>_.value=e,disabled:P.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(N,{label:1},{default:(0,t.withCtx)(()=>[...n[20]||=[(0,t.createTextVNode)(`1个`,-1)]]),_:1}),(0,t.createVNode)(N,{label:2},{default:(0,t.withCtx)(()=>[...n[21]||=[(0,t.createTextVNode)(`2个`,-1)]]),_:1}),(0,t.createVNode)(N,{label:3},{default:(0,t.withCtx)(()=>[...n[22]||=[(0,t.createTextVNode)(`3个`,-1)]]),_:1}),(0,t.createVNode)(N,{label:0},{default:(0,t.withCtx)(()=>[...n[23]||=[(0,t.createTextVNode)(`自定义`,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),(0,t.createVNode)(I,{modelValue:v.value,"onUpdate:modelValue":n[5]||=e=>v.value=e,min:1,max:12,"controls-position":`right`,style:{width:`120px`},disabled:P.value},null,8,[`modelValue`,`disabled`])]),(0,t.createElementVNode)(`div`,vg,(0,t.toDisplayString)(P.value?`按模板尺寸生成时固定为每页 1 个桌面贴。`:`只控制每行显示几个桌面贴;每页行数会按纸张高度自动计算。`),1)])])]),_:1},8,[`modelValue`]),(0,t.createVNode)(L,{modelValue:y.value,"onUpdate:modelValue":n[9]||=e=>y.value=e,title:`桌面贴整版预览 — ${s.value||``}`,width:`96%`,top:`2vh`,"destroy-on-close":``,class:`pdf-preview-dialog`,onOpened:re},{footer:(0,t.withCtx)(()=>[(0,t.createVNode)(l,{disabled:!w.value.length,onClick:ae},{default:(0,t.withCtx)(()=>[...n[28]||=[(0,t.createTextVNode)(`打印整版`,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)(l,{onClick:n[8]||=e=>y.value=!1},{default:(0,t.withCtx)(()=>[...n[29]||=[(0,t.createTextVNode)(`关闭`,-1)]]),_:1}),(0,t.createVNode)(l,{type:`primary`,loading:x.value,disabled:!w.value.length,onClick:ie},{default:(0,t.withCtx)(()=>[...n[30]||=[(0,t.createTextVNode)(` 下载 PDF `,-1)]]),_:1},8,[`loading`,`disabled`])]),default:(0,t.withCtx)(()=>[(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yg,[(0,t.createElementVNode)(`div`,{ref_key:`pdfExportRoot`,ref:S,class:`pdf-export-root`,style:(0,t.normalizeStyle)(z.value)},[C.value?.elements?.length&&w.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(ee.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-page`,style:(0,t.normalizeStyle)(B.value)},[(0,t.createElementVNode)(`div`,{class:`pdf-page-grid`,style:(0,t.normalizeStyle)(V(e.length))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${n}-${r}`,class:`pdf-cell`,style:(0,t.normalizeStyle)(H.value)},[(0,t.createVNode)(ii,{doc:C.value,"merge-data":e,"screen-scale":R.value},null,8,[`doc`,`merge-data`,`screen-scale`])],4))),128))],4)],4))),128)):w.value.length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(ee.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`pdf-page`,style:(0,t.normalizeStyle)(B.value)},[(0,t.createElementVNode)(`div`,{class:`pdf-page-grid`,style:(0,t.normalizeStyle)(V(e.length))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${n}-${r}`,class:`pdf-cell simple`,style:(0,t.normalizeStyle)(H.value)},[(0,t.createElementVNode)(`div`,bg,(0,t.toDisplayString)(e.seat_no)+`号`,1),(0,t.createElementVNode)(`div`,xg,(0,t.toDisplayString)(e.student_name),1),(0,t.createElementVNode)(`div`,Sg,(0,t.toDisplayString)(e.school_name),1),(0,t.createElementVNode)(`div`,Cg,(0,t.toDisplayString)(e.competition_no),1)],4))),128))],4)],4))),128)):(0,t.createCommentVNode)(``,!0)],4)])),[[oe,b.value]])]),_:1},8,[`modelValue`,`title`])])}}}),Dg=v({default:()=>Og}),Og=S(Eg,[[`__scopeId`,`data-v-6ad7759b`]]),kg=(0,t.defineComponent)({name:`FouBadgeDot`,__name:`index`,props:{value:{default:``},max:{default:99},isDot:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>{if(n.isDot)return null;let e=n.value;if(e===``||e==null)return null;let t=Number(e);return!Number.isNaN(t)&&t>n.max?`${n.max}+`:String(e)});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-badge-dot`,{"is-dot":e.isDot}])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),!e.hidden&&(e.isDot||(0,t.unref)(r)!==null)?((0,t.openBlock)(),(0,t.createElementBlock)(`sup`,{key:0,class:(0,t.normalizeClass)([`fou-badge-dot__content`,{"is-dot":e.isDot,"is-fixed":!!n.$slots.default}])},[e.isDot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(r)),1)],64))],2)):(0,t.createCommentVNode)(``,!0)],2))}}),Ag=v({default:()=>jg}),jg=S(kg,[[`__scopeId`,`data-v-e4bd07d4`]]),Mg={class:`fou-banner__track`},Ng=[`onClick`],Pg=[`src`,`title`],Fg=[`innerHTML`],Ig=[`src`,`alt`],Lg={key:1,class:`fou-banner__content`},Rg=[`innerHTML`],zg={key:1,class:`fou-banner__desc`},Bg={key:2,class:`fou-banner__actions`},Vg=[`onClick`],Hg={key:0,class:`fou-banner__indicators`},Ug=[`onClick`],Wg=(0,t.defineComponent)({name:`FouBanner`,__name:`index`,props:{items:{default:()=>[]},modelValue:{default:0},height:{default:`420px`},autoplay:{type:Boolean,default:!0},interval:{default:5e3},arrow:{default:`hover`},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`action`,`click`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.computed)(()=>i.items||[]),s=(0,t.computed)({get:()=>{let e=o.value.length;return e?((i.modelValue??0)%e+e)%e:0},set:e=>{a(`update:modelValue`,e),a(`change`,e)}}),c=(0,t.computed)(()=>({height:typeof i.height==`number`?`${i.height}px`:i.height})),l=e=>!!(e.title?.trim()||e.description?.trim()||e.actions?.length),u=null,d=e=>{o.value.length&&(s.value=e,g())},f=()=>{let e=o.value.length;e&&(s.value>=e-1?s.value=i.loop?0:e-1:s.value+=1,g())},p=()=>{let e=o.value.length;e&&(s.value<=0?s.value=i.loop?e-1:0:--s.value,g())},m=()=>{h(),!(!i.autoplay||o.value.length<=1)&&(u=setInterval(()=>f(),i.interval))},h=()=>{u&&=(clearInterval(u),null)},g=()=>{i.autoplay&&m()},_=()=>h(),v=()=>m(),y=(e,t)=>{a(`action`,e,t);let n=e.href||e.url||e.route;n&&typeof window<`u`&&(/^https?:\/\//i.test(n)?window.open(n,`_blank`):window.location.assign(n))},b=(e,t)=>{t.target?.closest(`button,a`)||(a(`click`,e),e.link&&(/^https?:\/\//i.test(e.link)?window.open(e.link,`_blank`):window.location.assign(e.link)))};return(0,t.watch)(()=>[i.autoplay,i.interval,o.value.length],()=>m(),{immediate:!0}),(0,t.onBeforeUnmount)(h),n({next:f,prev:p,go:d}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-banner`,style:(0,t.normalizeStyle)((0,t.unref)(c)),onMouseenter:_,onMouseleave:v},[(0,t.createElementVNode)(`div`,Mg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:(0,t.normalizeClass)([`fou-banner__slide`,{"is-active":n===(0,t.unref)(s),"is-linked":!!e.link}]),onClick:t=>b(e,t)},[e.type===`iframe`||e.src?((0,t.openBlock)(),(0,t.createElementBlock)(`iframe`,{key:0,class:`fou-banner__iframe`,src:e.src||e.html,title:e.title||`banner-${n}`,frameborder:`0`,allowfullscreen:``},null,8,Pg)):e.type===`html`||e.html?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-banner__html`,innerHTML:e.html},null,8,Fg)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.image?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,class:`fou-banner__image`,src:e.image,alt:e.title||``},null,8,Ig)):(0,t.createCommentVNode)(``,!0),r[0]||=(0,t.createElementVNode)(`div`,{class:`fou-banner__mask`},null,-1),l(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Lg,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-banner__title`,innerHTML:e.title},null,8,Rg)):(0,t.createCommentVNode)(``,!0),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zg,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0),e.actions?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.actions,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:r,type:`button`,class:(0,t.normalizeClass)([`fou-banner__btn`,n.type||`primary`]),onClick:(0,t.withModifiers)(t=>y(n,e),[`stop`])},(0,t.toDisplayString)(n.text),11,Vg))),128))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],64))],10,Ng))),128))]),(0,t.unref)(o).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Hg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-banner__dot`,{"is-active":n===(0,t.unref)(s)}]),onClick:(0,t.withModifiers)(e=>d(n),[`stop`])},null,10,Ug))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(o).length>1&&e.arrow!==`never`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-banner__nav fou-banner__nav--prev`,"aria-label":`prev`,onClick:(0,t.withModifiers)(p,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-left-s-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(o).length>1&&e.arrow!==`never`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-banner__nav fou-banner__nav--next`,"aria-label":`next`,onClick:(0,t.withModifiers)(f,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-right-s-line`})])):(0,t.createCommentVNode)(``,!0)],36)}}}),Gg=v({default:()=>Kg}),Kg=S(Wg,[[`__scopeId`,`data-v-d725c76c`]]),qg=Symbol(`FouBreadcrumb`),Jg=[`href`],Yg=[`aria-current`],Xg={key:2,class:`fou-breadcrumb-item__separator`,"aria-hidden":`true`},Zg=(0,t.defineComponent)({name:`FouBreadcrumbItem`,__name:`FouBreadcrumbItem`,props:{to:{},replace:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(qg,null),i=(0,t.computed)(()=>!!r&&!n.disabled),a=(()=>{try{return(0,o.useRouter)()}catch{return null}})(),s=(0,t.computed)(()=>n.to!==void 0&&n.to!==null&&n.to!==``),c=(0,t.computed)(()=>{if(s.value)try{return a?.resolve(n.to).href}catch{return typeof n.to==`string`?n.to:void 0}}),l=()=>{if(!(n.disabled||!s.value)){if(!a){typeof n.to==`string`&&window.location.assign(n.to);return}(n.replace?a.replace(n.to):a.push(n.to)).catch(()=>{})}};return(n,a)=>{let o=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-breadcrumb-item`,{"is-link":(0,t.unref)(s),"is-disabled":e.disabled}])},[(0,t.unref)(s)&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`a`,{key:0,class:`fou-breadcrumb-item__inner`,href:(0,t.unref)(c),onClick:(0,t.withModifiers)(l,[`prevent`])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],8,Jg)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:`fou-breadcrumb-item__inner`,"aria-current":e.disabled?`page`:void 0},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],8,Yg)),(0,t.unref)(i)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xg,[(0,t.unref)(r)?.separatorIcon.value?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,icon:(0,t.unref)(r).separatorIcon.value},null,8,[`icon`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(r)?.separator.value),1)],64))])):(0,t.createCommentVNode)(``,!0)],2)}}}),Qg=v({default:()=>$g}),$g=S(Zg,[[`__scopeId`,`data-v-2ba3ecee`]]),e_=[`aria-label`],t_={class:`fou-breadcrumb__list`},n_=(0,t.defineComponent)({name:`FouBreadcrumb`,__name:`index`,props:{separator:{default:`/`},separatorIcon:{default:``},items:{default:()=>[]},auto:{type:Boolean,default:!1},ariaLabel:{default:`面包屑`}},setup(e){let n=e;(0,t.provide)(qg,{separator:(0,t.computed)(()=>n.separator),separatorIcon:(0,t.computed)(()=>n.separatorIcon)});let r=(()=>{try{return(0,o.useRoute)()}catch{return null}})(),i=(0,t.computed)(()=>n.items?.length?n.items:!n.auto||!r?[]:r.matched.filter(e=>e.meta?.title||e.meta?.breadcrumb||e.name).map(e=>({label:String(e.meta?.breadcrumb||e.meta?.title||e.name||``),to:e.name?{name:e.name,params:r.params,query:r.query}:void 0})).filter(e=>e.label));return(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{class:`fou-breadcrumb`,"aria-label":e.ariaLabel},[(0,t.createElementVNode)(`ol`,t_,[(0,t.unref)(i).length?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)((0,t.unref)(i),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${e.label}-${n}`,class:`fou-breadcrumb__item`},[(0,t.createVNode)($g,{to:e.to,replace:e.replace,disabled:e.disabled||n===(0,t.unref)(i).length-1},{default:(0,t.withCtx)(()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,icon:e.icon,class:`fou-breadcrumb__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.label),1)]),_:2},1032,[`to`,`replace`,`disabled`])]))),128)):(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0,1)])],8,e_)}}}),r_=v({default:()=>i_}),i_=S(n_,[[`__scopeId`,`data-v-bd048de6`]]),a_={class:`fou-calendar__header`},o_={class:`fou-calendar__title`},s_={class:`fou-calendar__actions`},c_={key:0,class:`fou-calendar__week`},l_={key:1,class:`fou-calendar__grid fou-calendar__grid--day`},u_=[`disabled`,`onClick`],d_={class:`fou-calendar__solar`},f_={key:1,class:`fou-calendar__marks`},p_={key:2,class:`fou-calendar__grid fou-calendar__grid--month`},m_=[`onClick`],h_=(0,t.defineComponent)({name:`FouCalendar`,__name:`index`,props:{modelValue:{},showLunar:{type:Boolean,default:!0},firstDayOfWeek:{default:0},disabledDate:{},marks:{default:()=>[]},range:{}},emits:[`update:modelValue`,`input`,`change`,`panel-change`],setup(e,{emit:n}){let r=e,i=n,o=[`日`,`一`,`二`,`三`,`四`,`五`,`六`],s=[`一月`,`二月`,`三月`,`四月`,`五月`,`六月`,`七月`,`八月`,`九月`,`十月`,`十一月`,`十二月`],c=new Date,l=(0,t.ref)(`month`),u=(0,t.ref)(c.getFullYear()),d=(0,t.ref)(c.getMonth()),f=e=>{if(e==null||e===``)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;let t=new Date(e);return Number.isNaN(t.getTime())?null:t},p=(0,t.computed)(()=>f(r.modelValue)||c),m=(0,t.computed)(()=>new Date(u.value,d.value,1)),h=(0,t.computed)(()=>{let e=(r.firstDayOfWeek%7+7)%7;return[...o.slice(e),...o.slice(0,e)]}),g=(0,t.computed)(()=>l.value===`year`?`${u.value} 年`:`${u.value} 年 ${d.value+1} 月`),_=(e,t)=>!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),v=(e,t)=>!e||!t?!1:e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth(),y=e=>`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`,b=new Map,x=e=>{try{let t=y(e);if(b.has(t))return b.get(t);let n=a.Solar.fromYmd(e.getFullYear(),e.getMonth()+1,e.getDate()),r=n.getLunar(),i=[...r.getFestivals(),...n.getFestivals()],o=r.getJieQi(),s=r.getDayInChinese(),c=``;i.length?(c=i[0],s=c):o?(c=o,s=o):r.getDay()===1&&(s=`${r.getMonthInChinese()}月`);let l={label:s,festival:c||void 0};return b.set(t,l),l}catch{return{label:``}}},S=(0,t.computed)(()=>{if(!r.range?.length)return null;let e=f(r.range[0]),t=f(r.range[1]);return!e||!t?null:e.getTime()<=t.getTime()?[e,t]:[t,e]}),C=(0,t.computed)(()=>{let e=new Map;return r.marks.forEach(t=>{let n=f(t.date);if(!n)return;let r=y(n),i=e.get(r)||[];i.push(t),e.set(r,i)}),e}),w=(0,t.computed)(()=>{let e=u.value,t=d.value,n=(new Date(e,t,1).getDay()-(r.firstDayOfWeek%7+7)%7+7)%7,i=new Date(e,t+1,0).getDate(),a=[],o=S.value,s=o?new Date(o[0].getFullYear(),o[0].getMonth(),o[0].getDate()).getTime():0,l=o?new Date(o[1].getFullYear(),o[1].getMonth(),o[1].getDate(),23,59,59,999).getTime():0,f=(e,t)=>{let n=e.getTime();a.push({key:y(e),date:e,day:e.getDate(),inMonth:t,disabled:r.disabledDate?.(e)??!1,selected:_(e,p.value),isToday:_(e,c),inRange:o?n>=s&&n<=l:!1,lunar:x(e),marks:C.value.get(y(e))||[]})};for(let r=0;r<n;r++)f(new Date(e,t,-n+r+1),!1);for(let n=1;n<=i;n++)f(new Date(e,t,n),!0);for(;a.length%7!=0;){let e=a[a.length-1].date;f(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1),!1)}return a}),T=e=>({"is-other-month":!e.inMonth,"is-disabled":e.disabled,"is-selected":e.selected,"is-today":e.isToday,"is-in-range":e.inRange}),E=e=>{r.disabledDate?.(e)||(u.value=e.getFullYear(),d.value=e.getMonth(),i(`update:modelValue`,e),i(`input`,e),i(`change`,e))},D=e=>{d.value=e,l.value=`month`,i(`panel-change`,m.value,`month`)},O=e=>{if(l.value===`year`)u.value+=e;else{let t=new Date(u.value,d.value+e,1);u.value=t.getFullYear(),d.value=t.getMonth()}i(`panel-change`,m.value,l.value)},k=()=>{u.value=c.getFullYear(),d.value=c.getMonth(),E(new Date(c.getFullYear(),c.getMonth(),c.getDate()))};return(0,t.watch)(()=>r.modelValue,e=>{let t=f(e);t&&(u.value=t.getFullYear(),d.value=t.getMonth())},{immediate:!0}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-calendar`,{"is-lunar":e.showLunar}])},[(0,t.createElementVNode)(`div`,a_,[(0,t.renderSlot)(n.$slots,`header`,{date:(0,t.unref)(m),view:(0,t.unref)(l)},()=>[(0,t.createElementVNode)(`div`,o_,(0,t.toDisplayString)((0,t.unref)(g)),1),(0,t.createElementVNode)(`div`,s_,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn`,onClick:r[0]||=e=>O(-1)},`上一`+(0,t.toDisplayString)((0,t.unref)(l)===`year`?`年`:`月`),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn`,onClick:k},`今天`),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn`,onClick:r[1]||=e=>O(1)},`下一`+(0,t.toDisplayString)((0,t.unref)(l)===`year`?`年`:`月`),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-calendar__btn fou-calendar__btn--ghost`,onClick:r[2]||=e=>l.value=(0,t.unref)(l)===`month`?`year`:`month`},(0,t.toDisplayString)((0,t.unref)(l)===`month`?`年视图`:`月视图`),1)])],!0)]),(0,t.unref)(l)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,c_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(h),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:`fou-calendar__week-cell`},(0,t.toDisplayString)(e),1))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(l)===`month`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,l_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(w),r=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:r.key,type:`button`,class:(0,t.normalizeClass)([`fou-calendar__cell`,T(r)]),disabled:r.disabled,onClick:e=>E(r.date)},[(0,t.renderSlot)(n.$slots,`date-cell`,{date:r.date,data:r},()=>[(0,t.createElementVNode)(`span`,d_,(0,t.toDisplayString)(r.day),1),e.showLunar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`fou-calendar__lunar`,{"is-festival":r.lunar.festival}])},(0,t.toDisplayString)(r.lunar.label),3)):(0,t.createCommentVNode)(``,!0),r.marks.length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,f_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.marks.slice(0,3),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:n,class:(0,t.normalizeClass)([`fou-calendar__dot`,`is-${e.type||`primary`}`])},null,2))),128))])):(0,t.createCommentVNode)(``,!0)],!0)],10,u_))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,p_,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s,(e,n)=>(0,t.createElementVNode)(`button`,{key:e,type:`button`,class:(0,t.normalizeClass)([`fou-calendar__cell fou-calendar__cell--month`,{"is-selected":(0,t.unref)(m).getFullYear()===(0,t.unref)(u)&&(0,t.unref)(m).getMonth()===n&&v((0,t.unref)(p),new Date((0,t.unref)(u),n,1)),"is-today":(0,t.unref)(c).getFullYear()===(0,t.unref)(u)&&(0,t.unref)(c).getMonth()===n}]),onClick:e=>D(n)},(0,t.toDisplayString)(e),11,m_)),64))]))],2))}}),g_=v({default:()=>__}),__=S(h_,[[`__scopeId`,`data-v-0faedd2d`]]),v_=Symbol(`FouCarousel`),y_={class:`fou-carousel__viewport`},b_=[`aria-hidden`],x_=[`aria-label`,`onClick`],S_={class:`fou-carousel__registry`,"aria-hidden":`true`},C_=(0,t.defineComponent)({name:`FouCarousel`,__name:`index`,props:{modelValue:{default:0},autoplay:{type:Boolean,default:!0},interval:{default:3e3},height:{default:``},indicatorPosition:{default:`inside`},arrow:{default:`hover`},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)([]),s=(0,t.ref)(new Map),c=null,l=(0,t.computed)(()=>o.value.length),u=(0,t.computed)({get(){return l.value?((i.modelValue??0)%l.value+l.value)%l.value:0},set(e){a(`update:modelValue`,e),a(`change`,e)}}),d=(0,t.computed)(()=>{if(i.height!==``&&i.height!=null)return{height:typeof i.height==`number`?`${i.height}px`:i.height}}),f=(0,t.computed)(()=>({transform:`translateX(-${u.value*100}%)`})),p=e=>{let n=s.value.get(e);return n?(0,t.defineComponent)({name:`FouCarouselSlideHost`,setup:()=>()=>{let e=n();return Array.isArray(e)?e:e??null}}):null};(0,t.provide)(v_,{activeIndex:u,itemCount:l,registerItem:e=>{let t=o.value.findIndex(t=>t.uid===e.uid);return t>=0?o.value[t]=e:o.value.push(e),o.value.findIndex(t=>t.uid===e.uid)},unregisterItem:e=>{o.value=o.value.filter(t=>t.uid!==e),s.value.delete(e)},loop:(0,t.toRef)(i,`loop`)}),(0,t.provide)(`fouCarouselRegisterRender`,(e,t)=>{s.value.set(e,t)});let m=e=>{l.value&&(u.value=(e%l.value+l.value)%l.value)},h=()=>{l.value&&(u.value>=l.value-1?u.value=i.loop?0:l.value-1:u.value+=1)},g=()=>{l.value&&(u.value<=0?u.value=i.loop?l.value-1:0:--u.value)},_=()=>{v(),!(!i.autoplay||l.value<=1)&&(c=setInterval(()=>h(),i.interval))},v=()=>{c&&=(clearInterval(c),null)},y=()=>v(),b=()=>_();return(0,t.watch)(()=>[i.autoplay,i.interval,l.value],()=>_(),{immediate:!0}),(0,t.onBeforeUnmount)(v),n({next:h,prev:g,goTo:m}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-carousel`,[`fou-carousel--arrow-${e.arrow}`]]),style:(0,t.normalizeStyle)((0,t.unref)(d)),onMouseenter:y,onMouseleave:b},[(0,t.createElementVNode)(`div`,y_,[(0,t.createElementVNode)(`div`,{class:`fou-carousel__track`,style:(0,t.normalizeStyle)((0,t.unref)(f))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.uid,class:(0,t.normalizeClass)([`fou-carousel__slide`,{"is-active":n===(0,t.unref)(u)}]),"aria-hidden":n!==(0,t.unref)(u)},[p(e.uid)?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(p(e.uid)),{key:0})):(0,t.createCommentVNode)(``,!0)],10,b_))),128))],4),e.arrow!==`never`&&(0,t.unref)(l)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-carousel__arrow fou-carousel__arrow--left`,"aria-label":`previous`,onClick:(0,t.withModifiers)(g,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-left-s-line`})])):(0,t.createCommentVNode)(``,!0),e.arrow!==`never`&&(0,t.unref)(l)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-carousel__arrow fou-carousel__arrow--right`,"aria-label":`next`,onClick:(0,t.withModifiers)(h,[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-right-s-line`})])):(0,t.createCommentVNode)(``,!0)]),e.indicatorPosition!==`none`&&(0,t.unref)(l)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-carousel__indicators`,`fou-carousel__indicators--${e.indicatorPosition}`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(l),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-carousel__indicator`,{"is-active":n===(0,t.unref)(u)}]),"aria-label":`slide ${n+1}`,onClick:(0,t.withModifiers)(e=>m(n),[`stop`])},null,10,x_))),128))],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,S_,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38)}}}),w_=v({default:()=>T_}),T_=S(C_,[[`__scopeId`,`data-v-5b42731e`]]),E_=[`data-uid`],D_=(0,t.defineComponent)({name:`FouCarouselItem`,__name:`index`,props:{name:{}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(v_,null),a=(0,t.inject)(`fouCarouselRegisterRender`,()=>{}),o=(0,t.getCurrentInstance)()?.uid??Math.random();return(0,t.onMounted)(()=>{i?.registerItem({uid:o,name:n.name}),a(o,()=>r.default?.())}),(0,t.onUpdated)(()=>{a(o,()=>r.default?.())}),(0,t.onUnmounted)(()=>{i?.unregisterItem(o)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-carousel-item`,"data-uid":(0,t.unref)(o)},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],8,E_))}}),O_=v({default:()=>k_}),k_=S(D_,[[`__scopeId`,`data-v-7b4c1bf2`]]),A_=[`disabled`,`aria-checked`],j_=(0,t.defineComponent)({name:`FouCheckTag`,__name:`index`,props:{modelValue:{type:Boolean,default:!1},type:{default:`primary`},size:{default:`default`},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=()=>{if(r.disabled)return;let e=!r.modelValue;i(`update:modelValue`,e),i(`change`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`fou-check-tag`,[`fou-check-tag--${e.type}`,`fou-check-tag--${e.size}`,{"is-checked":e.modelValue,"is-disabled":e.disabled}]]),disabled:e.disabled,role:`checkbox`,"aria-checked":e.modelValue,onClick:a},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],10,A_))}}),M_=v({default:()=>N_}),N_=S(j_,[[`__scopeId`,`data-v-09c8f803`]]),P_=(0,t.defineComponent)({name:`FouCode`,__name:`index`,props:{code:{default:``},language:{default:`text`},wrap:{type:Boolean,default:!1},theme:{default:`light`}},setup(e){let n=e,r=(0,t.computed)(()=>String(n.code??``).replace(/\n$/,``));return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`pre`,{class:(0,t.normalizeClass)([`fou-code`,[`fou-code--${e.theme}`,{"is-wrap":e.wrap}]])},[(0,t.createElementVNode)(`code`,null,(0,t.toDisplayString)(r.value),1)],2))}}),F_=v({default:()=>I_}),I_=S(P_,[[`__scopeId`,`data-v-9dfa1c9c`]]),L_=Symbol(`fouRow`),R_=(0,t.defineComponent)({name:`FouCol`,__name:`index`,props:{span:{default:24},offset:{default:0},push:{default:0},pull:{default:0},xs:{},sm:{},md:{},lg:{},xl:{}},setup(e){let n=e,r=(0,t.inject)(L_,null),i=e=>e==null?null:typeof e==`number`?{span:e,offset:0}:{span:e.span??24,offset:e.offset??0},a=(0,t.computed)(()=>{let e=[`fou-col-${n.span}`];return n.offset&&e.push(`fou-col-offset-${n.offset}`),n.push&&e.push(`fou-col-push-${n.push}`),n.pull&&e.push(`fou-col-pull-${n.pull}`),[`xs`,`sm`,`md`,`lg`,`xl`].forEach(t=>{let r=i(n[t]);r&&(e.push(`fou-col-${t}-${r.span}`),r.offset&&e.push(`fou-col-${t}-offset-${r.offset}`))}),e}),o=(0,t.computed)(()=>{let e=r?.gutter.value||0;if(e)return{paddingLeft:`${e/2}px`,paddingRight:`${e/2}px`}});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-col`,(0,t.unref)(a)]),style:(0,t.normalizeStyle)((0,t.unref)(o))},[(0,t.renderSlot)(e.$slots,`default`)],6))}}),z_=v({default:()=>B_}),B_=R_,V_=Symbol(`FouCollapse`),H_={class:`fou-collapse`,role:`presentation`},U_=(0,t.defineComponent)({name:`FouCollapse`,__name:`index`,props:{modelValue:{},accordion:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=e=>e==null?[]:Array.isArray(e)?[...e]:[e],o=(0,t.computed)({get(){return a(r.modelValue)},set(e){let t=r.accordion?e[0]??``:e;i(`update:modelValue`,t),i(`change`,t)}}),s=e=>o.value.includes(e);return(0,t.provide)(V_,{activeNames:o,accordion:(0,t.toRef)(r,`accordion`),toggleItem:e=>{if(r.accordion){o.value=s(e)?[]:[e];return}let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=[...t]},isActive:s}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,H_,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)]))}}),W_=v({default:()=>G_}),G_=S(U_,[[`__scopeId`,`data-v-7a74db58`]]),K_=[`disabled`,`aria-expanded`],q_={class:`fou-collapse-item__title`},J_={class:`fou-collapse-item__content-inner`},Y_=(0,t.defineComponent)({name:`FouCollapseItem`,__name:`index`,props:{name:{},title:{default:``},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(V_,null),i=(0,t.ref)(null),a=(0,t.ref)(0),o=(0,t.computed)(()=>r?.isActive(n.name)??!1),s=()=>{n.disabled||!r||r.toggleItem(n.name)},c=()=>{i.value&&(a.value=i.value.scrollHeight)};(0,t.watch)(o,async e=>{e&&(await(0,t.nextTick)(),c())});let l=null;return(0,t.onMounted)(()=>{c(),typeof ResizeObserver<`u`&&i.value&&(l=new ResizeObserver(c),l.observe(i.value))}),(0,t.onBeforeUnmount)(()=>{l?.disconnect()}),(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-collapse-item`,{"is-active":(0,t.unref)(o),"is-disabled":e.disabled}])},[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-collapse-item__header`,disabled:e.disabled,"aria-expanded":(0,t.unref)(o),onClick:s},[(0,t.createElementVNode)(`span`,q_,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),(0,t.createVNode)(a,{class:(0,t.normalizeClass)([`fou-collapse-item__arrow`,{"is-active":(0,t.unref)(o)}]),icon:`arrow-down-s-line`},null,8,[`class`])],8,K_),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-collapse-item__wrap`,{"is-active":(0,t.unref)(o)}])},[(0,t.createElementVNode)(`div`,{ref_key:`contentRef`,ref:i,class:`fou-collapse-item__content`},[(0,t.createElementVNode)(`div`,J_,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],512)],2)],2)}}}),X_=v({default:()=>Z_}),Z_=S(Y_,[[`__scopeId`,`data-v-61260f89`]]),Q_=(0,t.defineComponent)({name:`FouColorPicker`,__name:`index`,props:{modelValue:{default:``},presets:{default:()=>[`#1675fe`,`#409eff`,`#67c23a`,`#e6a23c`,`#f56c6c`,`#909399`,`#00bcd4`,`#9c27b0`,`#ff5722`,`#795548`]},placeholder:{default:`#1675fe`},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=n;return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)(hf,(0,t.mergeProps)({class:`fou-color-picker`},n.$attrs,{"model-value":e.modelValue,presets:e.presets,placeholder:e.placeholder,clearable:e.clearable,disabled:e.disabled,"onUpdate:modelValue":i[0]||=e=>r(`update:modelValue`,e),onChange:i[1]||=e=>r(`change`,e)}),null,16,[`model-value`,`presets`,`placeholder`,`clearable`,`disabled`]))}}),$_=v({default:()=>ev}),ev=S(Q_,[[`__scopeId`,`data-v-b28d5132`]]),tv={key:0,class:`fou-colorful-card__header`},nv={key:1,class:`fou-colorful-card__title`},rv=`#0f766e`,iv=`#2dd4bf`,av=(0,t.defineComponent)({name:`FouColorfulCard`,__name:`index`,props:{bodyStyle:{type:[Object,String],default:()=>({})},shadow:{type:String,default:`never`},colorFrom:{type:String,default:``},colorTo:{type:String,default:``},title:{type:String,default:``},icon:{type:String,default:``},style:{type:Object,default:()=>({})}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=n.colorFrom||rv,t=n.colorTo||iv,r=n.style&&Object.keys(n.style).length>0?n.style:{};return{background:`linear-gradient(120deg, ${e} 10%, ${t})`,...r}});return(n,i)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-colorful-card`,[`fou-colorful-card--shadow-${e.shadow}`]]),style:(0,t.normalizeStyle)((0,t.unref)(r))},[n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tv,[(0,t.renderSlot)(n.$slots,`header`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`fou-colorful-card__body`,style:(0,t.normalizeStyle)(e.bodyStyle)},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,class:`fou-colorful-card__icon`,icon:e.icon},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nv,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],4)],6)}}}),ov=v({default:()=>sv}),sv=S(av,[[`__scopeId`,`data-v-23113c4c`]]),cv=[`value`,`placeholder`,`disabled`,`onKeydown`],lv={key:0,class:`fou-combobox__list`},uv=[`onMouseenter`,`onClick`],dv={key:1,class:`fou-combobox__empty`},fv=(0,t.defineComponent)({name:`FouCombobox`,__name:`index`,props:{modelValue:{default:``},options:{default:()=>[]},placeholder:{default:`请选择`},size:{default:`default`},disabled:{type:Boolean,default:!1},allowFree:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(``),l=(0,t.ref)(0),u=(0,t.ref)({}),d=(0,t.computed)(()=>{let e=r.options.find(e=>e.value===r.modelValue);return e?e.label:``}),f=(0,t.computed)(()=>{if(!r.filterable||!c.value)return r.options;let e=c.value.toLowerCase();return r.options.filter(t=>t.label.toLowerCase().includes(e))});(0,t.watch)(()=>r.modelValue,()=>{c.value=d.value},{immediate:!0});let p=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+4;i+r.height>window.innerHeight-4&&(i=n.top-r.height-4);let s=Math.min(Math.max(4,n.left),window.innerWidth-r.width-4);u.value={position:`fixed`,top:`${Math.max(4,i)}px`,left:`${s}px`,width:`${n.width}px`,zIndex:`2100`}},m=async()=>{r.disabled||(s.value=!0,l.value=0,await(0,t.nextTick)(),p())},h=()=>{s.value&&(s.value=!1,c.value=d.value)},g=()=>s.value?h():m(),_=e=>{c.value=e.target.value,s.value||m()},v=()=>{if(!s.value)return m();l.value<f.value.length-1&&l.value++},y=()=>{l.value>0&&l.value--},b=()=>{let e=f.value[l.value];e&&x(e)},x=e=>{i(`update:modelValue`,e.value),i(`change`,e),c.value=e.label,s.value=!1},S=e=>{if(!s.value)return;let t=e.target;a.value?.contains(t)||o.value?.contains(t)||h()};return(0,t.watch)(s,e=>{e?document.addEventListener(`mousedown`,S,!0):document.removeEventListener(`mousedown`,S,!0)}),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`mousedown`,S,!0)),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-combobox`,[`fou-combobox--${e.size}`,{"is-open":s.value,"is-disabled":e.disabled}]])},[(0,t.createElementVNode)(`div`,{class:`fou-combobox__control`,onClick:g},[(0,t.createElementVNode)(`input`,{class:`fou-combobox__input`,value:c.value,placeholder:e.placeholder,disabled:e.disabled,onInput:_,onKeydown:[(0,t.withKeys)((0,t.withModifiers)(v,[`prevent`]),[`down`]),(0,t.withKeys)((0,t.withModifiers)(y,[`prevent`]),[`up`]),(0,t.withKeys)((0,t.withModifiers)(b,[`prevent`]),[`enter`]),(0,t.withKeys)(h,[`esc`])]},null,40,cv),(0,t.createVNode)(i,{icon:`arrow-down-s-line`,class:(0,t.normalizeClass)([`fou-combobox__arrow`,{"is-open":s.value}])},null,8,[`class`])]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{ref_key:`panelRef`,ref:o,class:`fou-combobox__panel`,style:(0,t.normalizeStyle)(u.value)},[f.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,lv,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(f.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:r.value,class:(0,t.normalizeClass)([`fou-combobox__option`,{"is-active":i===l.value,"is-selected":r.value===e.modelValue}]),onMouseenter:e=>l.value=i,onClick:e=>x(r)},[(0,t.renderSlot)(n.$slots,`option`,{option:r},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.label),1)],!0)],42,uv))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dv,`无匹配项`))],4),[[t.vShow,s.value]])]))],2)}}}),pv=v({default:()=>mv}),mv=S(fv,[[`__scopeId`,`data-v-092b1fc6`]]),hv=(0,t.defineComponent)({name:`FouConfigProvider`,__name:`index`,props:{size:{default:`default`},locale:{},zIndex:{default:2e3}},setup(e){let n=e;return(0,t.provide)(`fouConfigProvider`,{size:(0,t.toRef)(n,`size`),locale:(0,t.toRef)(n,`locale`),zIndex:(0,t.toRef)(n,`zIndex`)}),(e,n)=>(0,t.renderSlot)(e.$slots,`default`)}}),gv=v({default:()=>_v}),_v=hv,vv={class:`fou-context-menu__list`},yv={key:0,class:`fou-context-menu__divider`,role:`separator`},bv=[`onClick`],xv={class:`fou-context-menu__label`},Sv={key:1,class:`fou-context-menu__shortcut`},Cv=(0,t.defineComponent)({name:`FouContextMenu`,__name:`index`,props:{items:{default:()=>[]}},emits:[`select`,`command`,`visibleChange`],setup(e,{emit:n}){let r=n,i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)({}),c=async e=>{e.preventDefault(),o.value=!0,r(`visibleChange`,!0),await(0,t.nextTick)(),l(e.clientX,e.clientY)},l=(e,t)=>{let n=a.value;if(!n)return;let r=n.getBoundingClientRect(),i=window.innerWidth,o=window.innerHeight,c=Math.min(e,i-r.width-4),l=Math.min(t,o-r.height-4);c=Math.max(4,c),l=Math.max(4,l),s.value={position:`fixed`,top:`${l}px`,left:`${c}px`,zIndex:`3000`}},u=()=>{o.value&&(o.value=!1,r(`visibleChange`,!1))},d=e=>{e.disabled||(r(`select`,e),e.command!==void 0&&r(`command`,e.command),u())},f=e=>{a.value?.contains(e.target)||u()},p=()=>u();return(0,t.watch)(o,e=>{e?(document.addEventListener(`mousedown`,f,!0),window.addEventListener(`scroll`,p,!0),window.addEventListener(`resize`,p)):(document.removeEventListener(`mousedown`,f,!0),window.removeEventListener(`scroll`,p,!0),window.removeEventListener(`resize`,p))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,f,!0),window.removeEventListener(`scroll`,p,!0),window.removeEventListener(`resize`,p)}),(n,r)=>{let l=k;return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:i,class:`fou-context-menu`,onContextmenu:(0,t.withModifiers)(c,[`prevent`])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-context-menu-fade`},{default:(0,t.withCtx)(()=>[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`menuRef`,ref:a,class:`fou-context-menu__panel`,style:(0,t.normalizeStyle)(s.value),onContextmenu:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`ul`,vv,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n},[e.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,yv)):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:1,class:(0,t.normalizeClass)([`fou-context-menu__item`,{"is-disabled":e.disabled}]),onClick:t=>d(e)},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(l,{key:0,icon:e.icon,class:`fou-context-menu__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,xv,(0,t.toDisplayString)(e.label),1),e.shortcut?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Sv,(0,t.toDisplayString)(e.shortcut),1)):(0,t.createCommentVNode)(``,!0)],10,bv))],64))),128)),(0,t.renderSlot)(n.$slots,`items`,{},void 0,!0)])],36)):(0,t.createCommentVNode)(``,!0)]),_:3})]))],64)}}}),wv=v({default:()=>Tv}),Tv=S(Cv,[[`__scopeId`,`data-v-b83b6df9`]]),Ev=[`disabled`],Dv={key:0},Ov=(0,t.defineComponent)({name:`FouCopy`,__name:`index`,props:{text:{default:``},copyText:{default:`复制`},copiedText:{default:`已复制`},showText:{type:Boolean,default:!1},successMessage:{default:`已复制到剪贴板`},silent:{type:Boolean,default:!1}},emits:[`copy`,`error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=null,s=async e=>{if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)},c=async()=>{if(r.text)try{await s(r.text),a.value=!0,o&&clearTimeout(o),o=setTimeout(()=>{a.value=!1},1600),i(`copy`,r.text),r.silent||Q.success(r.successMessage)}catch(e){i(`error`,e),r.silent||Q.error(`复制失败`)}};return(0,t.onBeforeUnmount)(()=>{o&&clearTimeout(o)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`fou-copy`,onClick:c},[(0,t.renderSlot)(n.$slots,`default`,{copied:(0,t.unref)(a),copy:c},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-copy__btn`,disabled:!e.text},[(0,t.createVNode)(i,{icon:(0,t.unref)(a)?`check-line`:`file-copy-line`},null,8,[`icon`]),e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Dv,(0,t.toDisplayString)((0,t.unref)(a)?e.copiedText:e.copyText),1)):(0,t.createCommentVNode)(``,!0)],8,Ev)],!0)])}}}),kv=v({default:()=>Av}),Av=S(Ov,[[`__scopeId`,`data-v-65e9eb99`]]),jv={class:`fou-countdown`},Mv={key:0,class:`fou-countdown__title`},Nv={key:0,class:`fou-countdown__prefix`},Pv={class:`fou-countdown__value`},Fv={key:1,class:`fou-countdown__suffix`},Iv=(0,t.defineComponent)({name:`FouCountdown`,__name:`index`,props:{value:{default:0},title:{default:``},prefix:{default:``},suffix:{default:``},valueStyle:{default:()=>({})},format:{default:`HH:mm:ss`}},emits:[`finish`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(Date.now()),o=(0,t.ref)(!1),s=null,c=(0,t.computed)(()=>{let e=r.value;if(e instanceof Date)return e.getTime();if(typeof e==`number`)return e;let t=Date.parse(String(e));return Number.isNaN(t)?Date.now():t}),l=(0,t.computed)(()=>Math.max(0,c.value-a.value)),u=(e,t)=>String(e).padStart(t,`0`),d=(0,t.computed)(()=>{let e=Math.floor(l.value/1e3),t=Math.floor(e/86400),n=Math.floor(e%86400/3600),i=Math.floor(e%3600/60),a=e%60,o={DD:u(t,2),D:String(t),HH:u(n,2),H:String(n),mm:u(i,2),m:String(i),ss:u(a,2),s:String(a)};return r.format.replace(/DD|HH|mm|ss|D|H|m|s/g,e=>o[e]??e)}),f=()=>{a.value=Date.now(),i(`change`,l.value),!o.value&&l.value<=0&&(o.value=!0,i(`finish`))};return(0,t.watch)(()=>r.value,()=>{s&&clearInterval(s),o.value=l.value<=0,a.value=Date.now(),s=setInterval(f,1e3),f()},{immediate:!0}),(0,t.onBeforeUnmount)(()=>{s&&clearInterval(s)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jv,[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Mv,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`fou-countdown__content`,style:(0,t.normalizeStyle)(e.valueStyle)},[e.prefix||n.$slots.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Nv,[(0,t.renderSlot)(n.$slots,`prefix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.prefix),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,Pv,[(0,t.renderSlot)(n.$slots,`default`,{value:(0,t.unref)(l),formatted:(0,t.unref)(d)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(d)),1)],!0)]),e.suffix||n.$slots.suffix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Fv,[(0,t.renderSlot)(n.$slots,`suffix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.suffix),1)],!0)])):(0,t.createCommentVNode)(``,!0)],4)]))}}),Lv=v({default:()=>Rv}),Rv=S(Iv,[[`__scopeId`,`data-v-94497669`]]),zv=Symbol(`FouDescriptions`),Bv={key:0,class:`fou-descriptions__header`},Vv={class:`fou-descriptions__body`},Hv=(0,t.defineComponent)({name:`FouDescriptions`,__name:`index`,props:{title:{default:``},column:{default:3},border:{type:Boolean,default:!1},direction:{default:`horizontal`},size:{default:`default`}},setup(e){let n=e,r=(0,t.ref)([]);(0,t.provide)(zv,{column:(0,t.toRef)(n,`column`),border:(0,t.toRef)(n,`border`),direction:(0,t.toRef)(n,`direction`),size:(0,t.toRef)(n,`size`),registerItem:e=>{let t=r.value.findIndex(t=>t.uid===e.uid);t>=0?r.value[t]=e:r.value.push(e)},unregisterItem:e=>{r.value=r.value.filter(t=>t.uid!==e)}});let i=(0,t.computed)(()=>({"--fou-descriptions-columns":String(Math.max(1,n.column))}));return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-descriptions`,[`fou-descriptions--${e.size}`,`fou-descriptions--${e.direction}`,{"is-bordered":e.border}]]),style:(0,t.normalizeStyle)((0,t.unref)(i))},[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bv,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Vv,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],6))}}),Uv=v({default:()=>Wv}),Wv=S(Hv,[[`__scopeId`,`data-v-4f65a8e7`]]),Gv={class:`fou-descriptions-item__label`},Kv={class:`fou-descriptions-item__content`},qv=(0,t.defineComponent)({name:`FouDescriptionsItem`,__name:`index`,props:{label:{default:``},span:{default:1}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(zv,null),a=(0,t.getCurrentInstance)()?.uid??Math.random(),o=(0,t.computed)(()=>i?.border.value??!1),s=(0,t.computed)(()=>({gridColumn:`span ${Math.max(1,n.span)}`}));return(0,t.onMounted)(()=>{i?.registerItem({uid:a,label:n.label,span:n.span,render:()=>r.default?.()})}),(0,t.onUnmounted)(()=>{i?.unregisterItem(a)}),(0,t.watch)(()=>[n.label,n.span],()=>{i?.registerItem({uid:a,label:n.label,span:n.span,render:()=>r.default?.()})}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-descriptions-item`,{"is-bordered":(0,t.unref)(o)}]),style:(0,t.normalizeStyle)((0,t.unref)(s))},[(0,t.createElementVNode)(`div`,Gv,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)],!0)]),(0,t.createElementVNode)(`div`,Kv,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],6))}}),Jv=v({default:()=>Yv}),Yv=S(qv,[[`__scopeId`,`data-v-8b3da2ff`]]),Xv={key:0,class:`fou-digital-card__icon`},Zv={class:`fou-digital-card__content`},Qv={class:`fou-digital-card__value`},$v={key:0,class:`fou-digital-card__affix`},ey={class:`fou-digital-card__num`},ty={key:1,class:`fou-digital-card__affix`},ny={key:0,class:`fou-digital-card__title`},ry={key:1,class:`fou-digital-card__footer`},iy=(0,t.defineComponent)({name:`FouDigitalCard`,__name:`index`,props:{value:{default:0},title:{default:``},prefix:{default:``},suffix:{default:``},icon:{default:``},precision:{default:0},groupSeparator:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},duration:{default:800},theme:{default:`light`}},setup(e){let n=e,r=(0,t.ref)(0),i=(0,t.computed)(()=>{let e=Number(r.value.toFixed(n.precision)).toFixed(n.precision);if(!n.groupSeparator)return e;let[t,i]=e.split(`.`),a=t.replace(/\B(?=(\d{3})+(?!\d))/g,`,`);return i?`${a}.${i}`:a}),a=e=>{if(!n.animated){r.value=e;return}let t=r.value,i=performance.now(),a=o=>{let s=Math.min(1,(o-i)/n.duration),c=1-(1-s)**3;r.value=t+(e-t)*c,s<1?requestAnimationFrame(a):r.value=e};requestAnimationFrame(a)};return(0,t.watch)(()=>n.value,e=>a(Number(e)||0),{immediate:!0}),(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-digital-card`,[`fou-digital-card--${e.theme}`]])},[e.icon||n.$slots.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Xv,[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[(0,t.createVNode)(a,{icon:e.icon},null,8,[`icon`])],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Zv,[(0,t.createElementVNode)(`div`,Qv,[e.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,$v,(0,t.toDisplayString)(e.prefix),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,ey,(0,t.toDisplayString)(i.value),1),e.suffix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ty,(0,t.toDisplayString)(e.suffix),1)):(0,t.createCommentVNode)(``,!0)]),e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ny,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ry,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)])],2)}}}),ay=v({default:()=>oy}),oy=S(iy,[[`__scopeId`,`data-v-e3169d9d`]]),sy=(0,t.defineComponent)({name:`FouDot`,__name:`index`,props:{type:{values:[`primary`,`success`,`warning`,`danger`],type:String,default:`primary`}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)(`fou-dot fou-dot-`+e.type)},null,2))}}),cy=v({default:()=>ly}),ly=S(sy,[[`__scopeId`,`data-v-626b67bc`]]),uy={key:0,class:`fou-drawer__header`},dy={class:`fou-drawer__title`},fy={class:`fou-drawer__body`},py={key:1,class:`fou-drawer__footer`},my=(0,t.defineComponent)({name:`FouDrawer`,inheritAttrs:!1,__name:`index`,props:{modelValue:{type:Boolean,default:!1},title:{default:``},direction:{default:`rtl`},size:{default:`30%`},modal:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},zIndex:{default:0},appendToBody:{type:Boolean,default:!0},beforeClose:{}},emits:[`update:modelValue`,`open`,`opened`,`close`,`closed`],setup(e,{emit:n}){let i=(0,t.useAttrs)(),a=(0,t.computed)(()=>{let{class:e,style:t,...n}=i;return n}),o=(0,t.computed)(()=>i.style),s=e,c=(0,t.computed)(()=>s.appendToBody!==!1),l=(0,t.ref)(s.zIndex||G(4e3)),u=n,d=(0,r.useVModel)(s,`modelValue`,u),f=(0,t.computed)(()=>typeof s.size==`number`?`${s.size}px`:String(s.size)),p=(0,t.computed)(()=>{let e=f.value;switch(s.direction){case`ltr`:return{width:e,height:`100%`};case`ttb`:return{width:`100%`,height:e};case`btt`:return{width:`100%`,height:e};default:return{width:e,height:`100%`}}}),m=(0,t.computed)(()=>{switch(s.direction){case`ltr`:return`fou-drawer-slide-left`;case`ttb`:return`fou-drawer-slide-top`;case`btt`:return`fou-drawer-slide-bottom`;default:return`fou-drawer-slide-right`}}),{lock:h,unlock:g}=nt(),_=()=>{u(`close`),d.value=!1},v=()=>{if(s.beforeClose){s.beforeClose(()=>_());return}_()},y=()=>{s.closeOnClickModal&&v()},b=(0,t.computed)(()=>s.modal&&d.value);(0,t.watch)(b,e=>{e?h():g()}),(0,t.watch)(d,async e=>{e?(l.value=s.zIndex||G(4e3),window.addEventListener(`keydown`,x),u(`open`),await(0,t.nextTick)(),u(`opened`)):(window.removeEventListener(`keydown`,x),u(`closed`))});let x=e=>{s.closeOnPressEscape&&e.key===`Escape`&&v()};return(0,t.onMounted)(()=>{b.value&&h(),d.value&&window.addEventListener(`keydown`,x)}),(0,t.onBeforeUnmount)(()=>{g(),window.removeEventListener(`keydown`,x)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!(0,t.unref)(c)},[(0,t.createVNode)(t.Transition,{name:(0,t.unref)(m)},{default:(0,t.withCtx)(()=>[(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-drawer-root`,[`fou-drawer-root--${e.direction}`]]),style:(0,t.normalizeStyle)({zIndex:String((0,t.unref)(l))})},[e.modal?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-drawer__mask`,onClick:y})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,(0,t.mergeProps)({class:[`fou-drawer`,[`fou-drawer--${e.direction}`,{"fou-drawer--animated":e.animated},(0,t.unref)(i).class]]},(0,t.unref)(a),{style:[(0,t.unref)(p),(0,t.unref)(o)],role:`dialog`,"aria-modal":`true`}),[e.showClose||e.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,uy,[(0,t.createElementVNode)(`div`,dy,[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),e.showClose?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-drawer__close`,"aria-label":`close`,onClick:v},` × `)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,fy,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,py,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],16)],6)):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`name`])],8,[`disabled`]))}}),hy=v({default:()=>gy}),gy=S(my,[[`__scopeId`,`data-v-e3058753`]]),_y={class:`fou-ellipsis-wrap`},vy=(0,t.defineComponent)({name:`FouEllipsis`,__name:`index`,props:{content:{default:``},lines:{default:1},tooltip:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.computed)(()=>n.content||r.value?.textContent?.trim()||``),o=(0,t.computed)(()=>n.tooltip&&i.value&&!!a.value),s=()=>{let e=r.value;e&&(i.value=e.scrollHeight>e.clientHeight+1||e.scrollWidth>e.clientWidth+1)},c=null;return(0,t.onMounted)(()=>{s(),c=new ResizeObserver(s),r.value&&c.observe(r.value)}),(0,t.watch)(()=>[n.content,n.lines],()=>(0,t.nextTick)(s)),(0,t.onBeforeUnmount)(()=>c?.disconnect()),(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,_y,[(0,t.createVNode)(ao,{content:(0,t.unref)(a),disabled:!(0,t.unref)(o)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{ref_key:`rootRef`,ref:r,class:(0,t.normalizeClass)([`fou-ellipsis`,{"is-line-clamp":e.lines>1}]),style:(0,t.normalizeStyle)(e.lines>1?{WebkitLineClamp:String(e.lines)}:void 0)},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)],6)]),_:3},8,[`content`,`disabled`])]))}}),yy=v({default:()=>by}),by=S(vy,[[`__scopeId`,`data-v-98b80dc2`]]),xy={class:`fou-result__icon`},Sy={key:0,class:`fou-result__title`},Cy={key:1,class:`fou-result__subtitle`},wy={key:2,class:`fou-result__extra`},Ty={key:3,class:`fou-result__content`},Ey=(0,t.defineComponent)({name:`FouResult`,__name:`index`,props:{icon:{default:``},title:{default:``},subTitle:{default:``}},setup(e){let n=e,r={success:`checkbox-circle-line`,warning:`error-warning-line`,info:`information-line`,error:`close-circle-line`},i=(0,t.computed)(()=>n.icon&&r[n.icon]||``);return(n,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-result`,e.icon?`fou-result--${e.icon}`:``])},[(0,t.createElementVNode)(`div`,xy,[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[(0,t.unref)(i)?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,icon:(0,t.unref)(i)},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0)],!0)]),e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sy,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),e.subTitle||n.$slots[`sub-title`]?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cy,[(0,t.renderSlot)(n.$slots,`sub-title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.subTitle),1)],!0)])):(0,t.createCommentVNode)(``,!0),n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wy,[(0,t.renderSlot)(n.$slots,`extra`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ty,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],2)}}}),Dy=v({default:()=>Oy}),Oy=S(Ey,[[`__scopeId`,`data-v-9728c3ac`]]),ky=(0,t.defineComponent)({name:`FouException`,__name:`index`,props:{status:{default:404},title:{default:``},subTitle:{default:``},showBack:{type:Boolean,default:!0},backText:{default:`返回首页`}},emits:[`back`],setup(e,{emit:n}){let r={403:{icon:`warning`,title:`403`,subTitle:`抱歉,你没有权限访问该页面`},404:{icon:`info`,title:`404`,subTitle:`抱歉,你访问的页面不存在`},500:{icon:`error`,title:`500`,subTitle:`抱歉,服务器出了点问题`}},i=e,a=n,o=(0,t.computed)(()=>r[String(i.status)]||r[404]),s=()=>a(`back`);return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(Oy,{class:`fou-exception`,icon:(0,t.unref)(o).icon,title:e.title||(0,t.unref)(o).title,"sub-title":e.subTitle||(0,t.unref)(o).subTitle},(0,t.createSlots)({extra:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`extra`,{},()=>[e.showBack?((0,t.openBlock)(),(0,t.createBlock)(Vt,{key:0,type:`primary`,onClick:s},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.backText),1)]),_:1})):(0,t.createCommentVNode)(``,!0)])]),default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:2},[n.$slots.icon?{name:`icon`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`icon`)]),key:`0`}:void 0,n.$slots.title?{name:`title`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`title`)]),key:`1`}:void 0,n.$slots[`sub-title`]?{name:`sub-title`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`sub-title`)]),key:`2`}:void 0]),1032,[`icon`,`title`,`sub-title`]))}}),Ay=v({default:()=>jy}),jy=ky,My=Symbol(`FouFloatButtonGroup`),Ny=[`aria-label`],Py={class:`fou-float-button__icon`},Fy={key:0,class:`fou-float-button__desc`},Iy=(0,t.defineComponent)({name:`FouFloatButton`,__name:`index`,props:{type:{default:`default`},shape:{default:`circle`},icon:{default:``},description:{default:``},href:{default:``},target:{default:``},right:{default:40},bottom:{default:40},zIndex:{default:100}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.inject)(My,!1),o=(0,t.computed)(()=>a?void 0:{position:`fixed`,right:`${r.right}px`,bottom:`${r.bottom}px`,zIndex:String(r.zIndex)}),s=e=>{i(`click`,e),r.href&&window.open(r.href,r.target||`_self`)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`fou-float-button`,[`fou-float-button--${e.shape}`,`fou-float-button--${e.type}`,{"is-in-group":(0,t.unref)(a)}]]),style:(0,t.normalizeStyle)((0,t.unref)(o)),"aria-label":e.description||`悬浮按钮`,onClick:s},[(0,t.createElementVNode)(`span`,Py,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:e.icon},null,8,[`icon`])):((0,t.openBlock)(),(0,t.createBlock)(i,{key:1,icon:`add-line`}))],!0)]),e.description&&e.shape===`square`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Fy,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)],14,Ny)}}}),Ly=v({default:()=>Ry}),Ry=S(Iy,[[`__scopeId`,`data-v-d71d62ad`]]),zy={class:`fou-float-button-group__items`},By=(0,t.defineComponent)({name:`FouFloatButtonGroup`,__name:`index`,props:{type:{default:`primary`},shape:{default:`circle`},icon:{default:`apps-line`},description:{default:``},trigger:{default:`click`},right:{default:40},bottom:{default:40},zIndex:{default:100}},setup(e){let n=e;(0,t.provide)(My,!0);let r=(0,t.ref)(n.trigger===`hover`),i=(0,t.computed)(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`,zIndex:String(n.zIndex)})),a=()=>{n.trigger!==`hover`&&(r.value=!r.value)},o=()=>{n.trigger===`hover`&&(r.value=!0)},s=()=>{n.trigger===`hover`&&(r.value=!1)};return(n,c)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-float-button-group`,style:(0,t.normalizeStyle)((0,t.unref)(i)),onMouseenter:o,onMouseleave:s},[(0,t.withDirectives)((0,t.createElementVNode)(`div`,zy,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],512),[[t.vShow,(0,t.unref)(r)]]),(0,t.createVNode)(Ry,{type:e.type,shape:e.shape,icon:(0,t.unref)(r)?`close-line`:e.icon,description:e.description,onClick:a},null,8,[`type`,`shape`,`icon`,`description`])],36))}}),Vy=v({default:()=>Hy}),Hy=S(By,[[`__scopeId`,`data-v-299feda2`]]),Uy=(0,t.defineComponent)({name:`FouFullscreen`,__name:`index`,setup(e){let{isFullscreen:n,toggle:i}=(0,r.useFullscreen)();return(e,r)=>{let a=k;return(0,t.openBlock)(),(0,t.createBlock)(a,{class:`fou-fullscreen`,icon:(0,t.unref)(n)?`fullscreen-exit-fill`:`fullscreen-fill`,onClick:(0,t.unref)(i)},null,8,[`icon`,`onClick`])}}}),Wy=v({default:()=>Gy}),Gy=Uy,Ky={key:0,class:`fou-grid__form`},qy={key:0,class:`fou-grid__form-inner`},Jy=[`onUpdate:modelValue`,`placeholder`],Yy=(0,t.defineComponent)({name:`FouGrid`,__name:`index`,props:{columns:{default:()=>[]},data:{default:()=>[]},loading:{type:Boolean,default:!1},height:{},maxHeight:{},border:{type:[Boolean,String],default:!0},stripe:{type:Boolean},round:{type:Boolean},editable:{type:Boolean},editTrigger:{},editConfig:{},rowKey:{},showIndex:{type:Boolean},showSelection:{type:Boolean},showFooter:{type:Boolean},tree:{type:Boolean},pagerConfig:{type:[Object,Boolean]},toolbarConfig:{type:[Object,Boolean]},formConfig:{type:[Object,Boolean]},proxyConfig:{default:void 0},sortConfig:{},filterConfig:{},columnConfig:{},rowConfig:{},customConfig:{},menuConfig:{},editRules:{},virtualYConfig:{type:[Object,Boolean]},spanMethod:{},mergeCells:{}},emits:[`proxy-query`,`proxy-delete`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(1),d=(0,t.ref)(10),f=(0,t.ref)(null),p=(0,t.ref)({}),m=(0,t.reactive)({}),h=(0,t.computed)(()=>i.toolbarConfig===!1?{enabled:!1}:i.toolbarConfig===!0||i.toolbarConfig==null?{enabled:!0,refresh:!0,export:!0,zoom:!0,custom:!0}:{enabled:!0,...i.toolbarConfig}),g=(0,t.computed)(()=>h.value.enabled!==!1),_=(0,t.computed)(()=>{let e=h.value;return{enabled:e.enabled,refresh:e.refresh,export:e.export,import:e.import,print:e.print,custom:e.custom,zoom:e.zoom,copy:e.copy,toolsPlacement:e.toolsPlacement,customTools:e.customTools}}),v=(0,t.useSlots)(),y=(0,t.computed)(()=>i.formConfig===!1?!1:i.formConfig===!0?!0:i.formConfig&&typeof i.formConfig==`object`?i.formConfig.enabled!==!1:!!v.form),b=(0,t.computed)(()=>i.formConfig&&typeof i.formConfig==`object`&&i.formConfig.items||[]);(0,t.watch)(b,e=>{e.forEach(e=>{e.field in m||(m[e.field]=``)})},{immediate:!0});let x=(0,t.computed)(()=>i.proxyConfig?.enabled!==!1&&!!i.proxyConfig?.ajax?.query),S=(0,t.computed)(()=>x.value&&c.value?c.value:i.data||[]),C=(0,t.computed)(()=>{let e=i.pagerConfig===!0?{enabled:!0}:i.pagerConfig&&typeof i.pagerConfig==`object`?{...i.pagerConfig}:x.value?{enabled:!0}:!1;return!e||e===!1?!1:{...e,currentPage:u.value,pageSize:d.value,total:l.value??e.total??S.value.length}}),w=(0,t.computed)(()=>{let{data:e,loading:t,pagerConfig:n,toolbarConfig:r,formConfig:a,proxyConfig:o,...s}=i;return{...s,toolbarConfig:_.value,showExport:h.value.export!==!1,customConfig:i.customConfig||(h.value.custom===!1?void 0:{enabled:!0}),showPrint:h.value.print===!0,showImport:h.value.import===!0,showCopy:h.value.copy===!0}}),T=(0,t.computed)(()=>({loading:s.value,data:S.value,total:l.value,form:m})),E=(e,t)=>t?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e,D=async()=>{if(!x.value||!i.proxyConfig?.ajax?.query){a(`proxy-query`,{form:{...m}});return}s.value=!0;try{let e=await i.proxyConfig.ajax.query({page:{currentPage:u.value,pageSize:d.value},form:{...m},sorts:f.value?[f.value]:[],filters:p.value}),t=i.proxyConfig.props?.result||`result`,n=i.proxyConfig.props?.total||`page.total`;if(Array.isArray(e))c.value=e,l.value=e.length;else{let r=E(e,t)??e.data??[];c.value=Array.isArray(r)?r:[];let i=E(e,n)??e.total??e.page?.total??c.value.length;l.value=Number(i)||0}a(`proxy-query`,{form:{...m},result:c.value})}finally{s.value=!1}},O=()=>{Object.keys(m).forEach(e=>{m[e]=``}),u.value=1,D()},k=D,A=e=>{u.value=e.currentPage,d.value=e.pageSize,x.value&&D()},j=e=>{f.value=e,i.sortConfig?.remote&&x.value&&D()},M=e=>{p.value=e,i.filterConfig?.remote&&x.value&&D()};return(0,t.onMounted)(()=>{x.value&&i.proxyConfig?.autoLoad!==!1&&D()}),n({reload:D,getTable:()=>o.value,commitProxy:D,formModel:m}),(n,r)=>{let i=al;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-grid`,{"fou-grid--loading":(0,t.unref)(s)}])},[(0,t.unref)(y)&&(n.$slots.form||e.formConfig)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ky,[(0,t.renderSlot)(n.$slots,`form`,{query:(0,t.unref)(k),form:(0,t.unref)(m),reload:D},()=>[(0,t.unref)(b).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qy,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(b),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:e.field,class:`fou-grid__form-item`},[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.title||e.field),1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":n=>(0,t.unref)(m)[e.field]=n,class:`fou-grid__form-input`,placeholder:e.title||e.field,onKeydown:r[0]||=(0,t.withKeys)(e=>D(),[`enter`])},null,40,Jy),[[t.vModelText,(0,t.unref)(m)[e.field]]])]))),128)),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-grid__form-btn`,onClick:r[1]||=e=>D()},`查询`),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-grid__form-btn is-plain`,onClick:O},`重置`)])):(0,t.createCommentVNode)(``,!0)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,(0,t.mergeProps)({ref_key:`tableRef`,ref:o},(0,t.unref)(w),{data:(0,t.unref)(S),loading:(0,t.unref)(s)||e.loading,"pager-config":(0,t.unref)(C),"show-toolbar":(0,t.unref)(g),"show-export":(0,t.unref)(h)?.export!==!1,onPageChange:A,onRefresh:D,onSortChange:j,onFilterChange:M}),(0,t.createSlots)({default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),_:2},[n.$slots.toolbar?{name:`toolbar`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`0`}:void 0,n.$slots[`toolbar-left`]?{name:`toolbar-left`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-left`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`1`}:void 0,n.$slots[`toolbar-center`]?{name:`toolbar-center`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-center`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`2`}:void 0,n.$slots[`toolbar-right`]?{name:`toolbar-right`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-right`,{reload:D,proxy:(0,t.unref)(T)},void 0,!0)]),key:`3`}:void 0,n.$slots[`toolbar-tools`]?{name:`toolbar-tools`,fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`toolbar-tools`,{},void 0,!0)]),key:`4`}:void 0]),1040,[`data`,`loading`,`pager-config`,`show-toolbar`,`show-export`])],2)}}}),Xy=v({default:()=>Zy}),Zy=S(Yy,[[`__scopeId`,`data-v-09298a7d`]]),Qy={class:`fou-highlight`},$y=(0,t.defineComponent)({name:`FouHighlight`,__name:`index`,props:{text:{default:``},keywords:{default:()=>[]},caseSensitive:{type:Boolean,default:!1},color:{default:``}},setup(e){let n=e,r=(0,t.computed)(()=>n.color?{background:n.color,color:`#fff`}:void 0),i=(0,t.computed)(()=>{let e=n.text||``,t=(Array.isArray(n.keywords)?n.keywords:[n.keywords]).map(e=>String(e||``).trim()).filter(Boolean);if(!e||!t.length)return[{text:e,hit:!1}];let r=t.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)),i=n.caseSensitive?`g`:`gi`,a=RegExp(`(${r.join(`|`)})`,i);return e.split(a).filter(e=>e!==``).map(e=>({text:e,hit:t.some(t=>n.caseSensitive?e===t:e.toLowerCase()===t.toLowerCase())}))});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Qy,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(i),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n},[e.hit?((0,t.openBlock)(),(0,t.createElementBlock)(`mark`,{key:0,class:`fou-highlight__mark`,style:(0,t.normalizeStyle)((0,t.unref)(r))},(0,t.toDisplayString)(e.text),5)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)],64))],64))),128))]))}}),eb=v({default:()=>tb}),tb=S($y,[[`__scopeId`,`data-v-7331076e`]]),nb={key:0,class:`fou-hover-card__title`},rb={class:`fou-hover-card__body`},ib=(0,t.defineComponent)({name:`FouHoverCard`,__name:`index`,props:{title:{default:``},placement:{default:`top`},width:{default:280},openDelay:{default:80},closeDelay:{default:120}},emits:[`visibleChange`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)({}),l,u,d=!1,f=()=>{l&&clearTimeout(l),u&&clearTimeout(u)},p=async()=>{f(),l=setTimeout(async()=>{s.value=!0,i(`visibleChange`,!0),await(0,t.nextTick)(),y()},r.openDelay)},m=()=>{f(),u=setTimeout(()=>{d||(s.value=!1,i(`visibleChange`,!1))},r.closeDelay)},h=()=>p(),g=()=>m(),_=()=>{d=!0,f()},v=()=>{d=!1,m()},y=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),s=0,l=0;switch(r.placement){case`top`:s=n.top-i.height-10,l=n.left+n.width/2-i.width/2;break;case`left`:s=n.top+n.height/2-i.height/2,l=n.left-i.width-10;break;case`right`:s=n.top+n.height/2-i.height/2,l=n.right+10;break;default:s=n.bottom+10,l=n.left+n.width/2-i.width/2}l=Math.min(Math.max(4,l),window.innerWidth-i.width-4),s=Math.min(Math.max(4,s),window.innerHeight-i.height-4),c.value={position:`fixed`,top:`${s}px`,left:`${l}px`,width:`${r.width}px`,zIndex:`2100`}},b=()=>s.value&&y();return(0,t.watch)(s,e=>{e?(window.addEventListener(`scroll`,b,!0),window.addEventListener(`resize`,b)):(window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b))}),(0,t.onBeforeUnmount)(()=>{f(),window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:a,class:`fou-hover-card`,onMouseenter:h,onMouseleave:g},[(0,t.renderSlot)(n.$slots,`trigger`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-hover-card-fade`},{default:(0,t.withCtx)(()=>[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`cardRef`,ref:o,class:(0,t.normalizeClass)([`fou-hover-card__panel`,[`fou-hover-card--${e.placement}`]]),style:(0,t.normalizeStyle)(c.value),onMouseenter:_,onMouseleave:v},[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nb,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,rb,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38)):(0,t.createCommentVNode)(``,!0)]),_:3})]))],64))}}),ab=v({default:()=>ob}),ob=S(ib,[[`__scopeId`,`data-v-158ede3a`]]),sb=`24-hours-fill.24-hours-line.4k-fill.4k-line.a-b.accessibility-fill.accessibility-line.account-box-2-fill.account-box-2-line.account-box-fill.account-box-line.account-circle-2-fill.account-circle-2-line.account-circle-fill.account-circle-line.account-pin-box-fill.account-pin-box-line.account-pin-circle-fill.account-pin-circle-line.add-box-fill.add-box-line.add-circle-fill.add-circle-line.add-fill.add-large-fill.add-large-line.add-line.admin-fill.admin-line.advertisement-fill.advertisement-line.aed-electrodes-fill.aed-electrodes-line.aed-fill.aed-line.ai-generate.ai-generate-2.ai-generate-text.airplay-fill.airplay-line.alarm-add-fill.alarm-add-line.alarm-fill.alarm-line.alarm-snooze-fill.alarm-snooze-line.alarm-warning-fill.alarm-warning-line.album-fill.album-line.alert-fill.alert-line.alibaba-cloud-fill.alibaba-cloud-line.aliens-fill.aliens-line.align-bottom.align-center.align-item-bottom-fill.align-item-bottom-line.align-item-horizontal-center-fill.align-item-horizontal-center-line.align-item-left-fill.align-item-left-line.align-item-right-fill.align-item-right-line.align-item-top-fill.align-item-top-line.align-item-vertical-center-fill.align-item-vertical-center-line.align-justify.align-left.align-right.align-top.align-vertically.alipay-fill.alipay-line.amazon-fill.amazon-line.anchor-fill.anchor-line.ancient-gate-fill.ancient-gate-line.ancient-pavilion-fill.ancient-pavilion-line.android-fill.android-line.angularjs-fill.angularjs-line.anthropic-fill.anthropic-line.anticlockwise-2-fill.anticlockwise-2-line.anticlockwise-fill.anticlockwise-line.app-store-fill.app-store-line.apple-fill.apple-line.apps-2-add-fill.apps-2-add-line.apps-2-ai-fill.apps-2-ai-line.apps-2-fill.apps-2-line.apps-fill.apps-line.archive-2-fill.archive-2-line.archive-drawer-fill.archive-drawer-line.archive-fill.archive-line.archive-stack-fill.archive-stack-line.armchair-fill.armchair-line.arrow-down-box-fill.arrow-down-box-line.arrow-down-circle-fill.arrow-down-circle-line.arrow-down-double-fill.arrow-down-double-line.arrow-down-fill.arrow-down-line.arrow-down-long-fill.arrow-down-long-line.arrow-down-s-fill.arrow-down-s-line.arrow-down-wide-fill.arrow-down-wide-line.arrow-drop-down-fill.arrow-drop-down-line.arrow-drop-left-fill.arrow-drop-left-line.arrow-drop-right-fill.arrow-drop-right-line.arrow-drop-up-fill.arrow-drop-up-line.arrow-go-back-fill.arrow-go-back-line.arrow-go-forward-fill.arrow-go-forward-line.arrow-left-box-fill.arrow-left-box-line.arrow-left-circle-fill.arrow-left-circle-line.arrow-left-double-fill.arrow-left-double-line.arrow-left-down-box-fill.arrow-left-down-box-line.arrow-left-down-fill.arrow-left-down-line.arrow-left-down-long-fill.arrow-left-down-long-line.arrow-left-fill.arrow-left-line.arrow-left-long-fill.arrow-left-long-line.arrow-left-right-fill.arrow-left-right-line.arrow-left-s-fill.arrow-left-s-line.arrow-left-up-box-fill.arrow-left-up-box-line.arrow-left-up-fill.arrow-left-up-line.arrow-left-up-long-fill.arrow-left-up-long-line.arrow-left-wide-fill.arrow-left-wide-line.arrow-right-box-fill.arrow-right-box-line.arrow-right-circle-fill.arrow-right-circle-line.arrow-right-double-fill.arrow-right-double-line.arrow-right-down-box-fill.arrow-right-down-box-line.arrow-right-down-fill.arrow-right-down-line.arrow-right-down-long-fill.arrow-right-down-long-line.arrow-right-fill.arrow-right-line.arrow-right-long-fill.arrow-right-long-line.arrow-right-s-fill.arrow-right-s-line.arrow-right-up-box-fill.arrow-right-up-box-line.arrow-right-up-fill.arrow-right-up-line.arrow-right-up-long-fill.arrow-right-up-long-line.arrow-right-wide-fill.arrow-right-wide-line.arrow-turn-back-fill.arrow-turn-back-line.arrow-turn-forward-fill.arrow-turn-forward-line.arrow-up-box-fill.arrow-up-box-line.arrow-up-circle-fill.arrow-up-circle-line.arrow-up-double-fill.arrow-up-double-line.arrow-up-down-fill.arrow-up-down-line.arrow-up-fill.arrow-up-line.arrow-up-long-fill.arrow-up-long-line.arrow-up-s-fill.arrow-up-s-line.arrow-up-wide-fill.arrow-up-wide-line.artboard-2-fill.artboard-2-line.artboard-fill.artboard-line.article-fill.article-line.aspect-ratio-fill.aspect-ratio-line.asterisk.at-fill.at-line.attachment-2.attachment-fill.attachment-line.auction-fill.auction-line.award-fill.award-line.baidu-fill.baidu-line.ball-pen-fill.ball-pen-line.bank-card-2-fill.bank-card-2-line.bank-card-fill.bank-card-line.bank-fill.bank-line.bar-chart-2-fill.bar-chart-2-line.bar-chart-box-ai-fill.bar-chart-box-ai-line.bar-chart-box-fill.bar-chart-box-line.bar-chart-fill.bar-chart-grouped-fill.bar-chart-grouped-line.bar-chart-horizontal-fill.bar-chart-horizontal-line.bar-chart-line.barcode-box-fill.barcode-box-line.barcode-fill.barcode-line.bard-fill.bard-line.barricade-fill.barricade-line.base-station-fill.base-station-line.basketball-fill.basketball-line.battery-2-charge-fill.battery-2-charge-line.battery-2-fill.battery-2-line.battery-charge-fill.battery-charge-line.battery-fill.battery-line.battery-low-fill.battery-low-line.battery-saver-fill.battery-saver-line.battery-share-fill.battery-share-line.bear-smile-fill.bear-smile-line.beer-fill.beer-line.behance-fill.behance-line.bell-fill.bell-line.bike-fill.bike-line.bilibili-fill.bilibili-line.bill-fill.bill-line.billiards-fill.billiards-line.bit-coin-fill.bit-coin-line.blaze-fill.blaze-line.blender-fill.blender-line.blogger-fill.blogger-line.bluesky-fill.bluesky-line.bluetooth-connect-fill.bluetooth-connect-line.bluetooth-fill.bluetooth-line.blur-off-fill.blur-off-line.bnb-fill.bnb-line.body-scan-fill.body-scan-line.bold.book-2-fill.book-2-line.book-3-fill.book-3-line.book-fill.book-line.book-marked-fill.book-marked-line.book-open-fill.book-open-line.book-read-fill.book-read-line.book-shelf-fill.book-shelf-line.booklet-fill.booklet-line.bookmark-2-fill.bookmark-2-line.bookmark-3-fill.bookmark-3-line.bookmark-fill.bookmark-line.bootstrap-fill.bootstrap-line.bowl-fill.bowl-line.box-1-fill.box-1-line.box-2-fill.box-2-line.box-3-fill.box-3-line.boxing-fill.boxing-line.braces-fill.braces-line.brackets-fill.brackets-line.brain-2-fill.brain-2-line.brain-fill.brain-line.bread-fill.bread-line.briefcase-2-fill.briefcase-2-line.briefcase-3-fill.briefcase-3-line.briefcase-4-fill.briefcase-4-line.briefcase-5-fill.briefcase-5-line.briefcase-fill.briefcase-line.bring-forward.bring-to-front.broadcast-fill.broadcast-line.brush-2-fill.brush-2-line.brush-3-fill.brush-3-line.brush-4-fill.brush-4-line.brush-ai-fill.brush-ai-line.brush-fill.brush-line.btc-fill.btc-line.bubble-chart-fill.bubble-chart-line.bug-2-fill.bug-2-line.bug-fill.bug-line.building-2-fill.building-2-line.building-3-fill.building-3-line.building-4-fill.building-4-line.building-fill.building-line.bus-2-fill.bus-2-line.bus-fill.bus-line.bus-wifi-fill.bus-wifi-line.cactus-fill.cactus-line.cake-2-fill.cake-2-line.cake-3-fill.cake-3-line.cake-fill.cake-line.calculator-fill.calculator-line.calendar-2-fill.calendar-2-line.calendar-check-fill.calendar-check-line.calendar-close-fill.calendar-close-line.calendar-event-fill.calendar-event-line.calendar-fill.calendar-line.calendar-schedule-fill.calendar-schedule-line.calendar-todo-fill.calendar-todo-line.calendar-view.camera-2-fill.camera-2-line.camera-3-fill.camera-3-line.camera-ai-fill.camera-ai-line.camera-fill.camera-lens-ai-fill.camera-lens-ai-line.camera-lens-fill.camera-lens-line.camera-line.camera-off-fill.camera-off-line.camera-switch-fill.camera-switch-line.candle-fill.candle-line.capsule-fill.capsule-line.car-fill.car-line.car-washing-fill.car-washing-line.caravan-fill.caravan-line.carousel-view.cash-fill.cash-line.cast-fill.cast-line.cellphone-fill.cellphone-line.celsius-fill.celsius-line.centos-fill.centos-line.character-recognition-fill.character-recognition-line.charging-pile-2-fill.charging-pile-2-line.charging-pile-fill.charging-pile-line.chat-1-fill.chat-1-line.chat-2-fill.chat-2-line.chat-3-fill.chat-3-line.chat-4-fill.chat-4-line.chat-ai-fill.chat-ai-line.chat-check-fill.chat-check-line.chat-delete-fill.chat-delete-line.chat-download-fill.chat-download-line.chat-follow-up-fill.chat-follow-up-line.chat-forward-fill.chat-forward-line.chat-heart-fill.chat-heart-line.chat-history-fill.chat-history-line.chat-new-fill.chat-new-line.chat-off-fill.chat-off-line.chat-poll-fill.chat-poll-line.chat-private-fill.chat-private-line.chat-quote-fill.chat-quote-line.chat-search-fill.chat-search-line.chat-settings-fill.chat-settings-line.chat-smile-2-fill.chat-smile-2-line.chat-smile-3-fill.chat-smile-3-line.chat-smile-ai-fill.chat-smile-ai-line.chat-smile-fill.chat-smile-line.chat-thread-fill.chat-thread-line.chat-unread-fill.chat-unread-line.chat-upload-fill.chat-upload-line.chat-voice-ai-fill.chat-voice-ai-line.chat-voice-fill.chat-voice-line.check-double-fill.check-double-line.check-fill.check-line.checkbox-blank-circle-fill.checkbox-blank-circle-line.checkbox-blank-fill.checkbox-blank-line.checkbox-circle-fill.checkbox-circle-line.checkbox-fill.checkbox-indeterminate-fill.checkbox-indeterminate-line.checkbox-line.checkbox-multiple-blank-fill.checkbox-multiple-blank-line.checkbox-multiple-fill.checkbox-multiple-line.chess-fill.chess-line.china-railway-fill.china-railway-line.chrome-fill.chrome-line.circle-fill.circle-line.clapperboard-ai-fill.clapperboard-ai-line.clapperboard-fill.clapperboard-line.claude-fill.claude-line.clipboard-fill.clipboard-line.clockwise-2-fill.clockwise-2-line.clockwise-fill.clockwise-line.close-circle-fill.close-circle-line.close-fill.close-large-fill.close-large-line.close-line.closed-captioning-ai-fill.closed-captioning-ai-line.closed-captioning-fill.closed-captioning-line.cloud-fill.cloud-line.cloud-off-fill.cloud-off-line.cloud-windy-fill.cloud-windy-line.cloudy-2-fill.cloudy-2-line.cloudy-fill.cloudy-line.code-ai-fill.code-ai-line.code-block.code-box-fill.code-box-line.code-fill.code-line.code-s-fill.code-s-line.code-s-slash-fill.code-s-slash-line.code-view.codepen-fill.codepen-line.coin-fill.coin-line.coins-fill.coins-line.collage-fill.collage-line.collapse-diagonal-2-fill.collapse-diagonal-2-line.collapse-diagonal-fill.collapse-diagonal-line.collapse-horizontal-fill.collapse-horizontal-line.collapse-vertical-fill.collapse-vertical-line.color-filter-ai-fill.color-filter-ai-line.color-filter-fill.color-filter-line.command-fill.command-line.community-fill.community-line.compass-2-fill.compass-2-line.compass-3-fill.compass-3-line.compass-4-fill.compass-4-line.compass-discover-fill.compass-discover-line.compass-fill.compass-line.compasses-2-fill.compasses-2-line.compasses-fill.compasses-line.computer-fill.computer-line.contacts-book-2-fill.contacts-book-2-line.contacts-book-3-fill.contacts-book-3-line.contacts-book-fill.contacts-book-line.contacts-book-upload-fill.contacts-book-upload-line.contacts-fill.contacts-line.contract-fill.contract-left-fill.contract-left-line.contract-left-right-fill.contract-left-right-line.contract-line.contract-right-fill.contract-right-line.contract-up-down-fill.contract-up-down-line.contrast-2-fill.contrast-2-line.contrast-drop-2-fill.contrast-drop-2-line.contrast-drop-fill.contrast-drop-line.contrast-fill.contrast-line.copilot-fill.copilot-line.copper-coin-fill.copper-coin-line.copper-diamond-fill.copper-diamond-line.copyleft-fill.copyleft-line.copyright-fill.copyright-line.coreos-fill.coreos-line.corner-down-left-fill.corner-down-left-line.corner-down-right-fill.corner-down-right-line.corner-left-down-fill.corner-left-down-line.corner-left-up-fill.corner-left-up-line.corner-right-down-fill.corner-right-down-line.corner-right-up-fill.corner-right-up-line.corner-up-left-double-fill.corner-up-left-double-line.corner-up-left-fill.corner-up-left-line.corner-up-right-double-fill.corner-up-right-double-line.corner-up-right-fill.corner-up-right-line.coupon-2-fill.coupon-2-line.coupon-3-fill.coupon-3-line.coupon-4-fill.coupon-4-line.coupon-5-fill.coupon-5-line.coupon-fill.coupon-line.cpu-fill.cpu-line.creative-commons-by-fill.creative-commons-by-line.creative-commons-fill.creative-commons-line.creative-commons-nc-fill.creative-commons-nc-line.creative-commons-nd-fill.creative-commons-nd-line.creative-commons-sa-fill.creative-commons-sa-line.creative-commons-zero-fill.creative-commons-zero-line.criminal-fill.criminal-line.crop-2-fill.crop-2-line.crop-fill.crop-line.cross-fill.cross-line.crosshair-2-fill.crosshair-2-line.crosshair-fill.crosshair-line.css3-fill.css3-line.cup-fill.cup-line.currency-fill.currency-line.cursor-fill.cursor-line.custom-size.customer-service-2-fill.customer-service-2-line.customer-service-fill.customer-service-line.dashboard-2-fill.dashboard-2-line.dashboard-3-fill.dashboard-3-line.dashboard-fill.dashboard-horizontal-fill.dashboard-horizontal-line.dashboard-line.database-2-fill.database-2-line.database-fill.database-line.delete-back-2-fill.delete-back-2-line.delete-back-fill.delete-back-line.delete-bin-2-fill.delete-bin-2-line.delete-bin-3-fill.delete-bin-3-line.delete-bin-4-fill.delete-bin-4-line.delete-bin-5-fill.delete-bin-5-line.delete-bin-6-fill.delete-bin-6-line.delete-bin-7-fill.delete-bin-7-line.delete-bin-fill.delete-bin-line.delete-column.delete-row.device-fill.device-line.device-recover-fill.device-recover-line.diamond-fill.diamond-line.diamond-ring-fill.diamond-ring-line.dice-1-fill.dice-1-line.dice-2-fill.dice-2-line.dice-3-fill.dice-3-line.dice-4-fill.dice-4-line.dice-5-fill.dice-5-line.dice-6-fill.dice-6-line.dice-fill.dice-line.dingding-fill.dingding-line.direction-fill.direction-line.disc-fill.disc-line.discord-fill.discord-line.discount-percent-fill.discount-percent-line.discuss-fill.discuss-line.dislike-fill.dislike-line.disqus-fill.disqus-line.divide-fill.divide-line.dna-fill.dna-line.donut-chart-fill.donut-chart-line.door-closed-fill.door-closed-line.door-fill.door-line.door-lock-box-fill.door-lock-box-line.door-lock-fill.door-lock-line.door-open-fill.door-open-line.dossier-fill.dossier-line.douban-fill.douban-line.double-quotes-l.double-quotes-r.download-2-fill.download-2-line.download-cloud-2-fill.download-cloud-2-line.download-cloud-fill.download-cloud-line.download-fill.download-line.draft-fill.draft-line.drag-drop-fill.drag-drop-line.drag-move-2-fill.drag-move-2-line.drag-move-fill.drag-move-line.draggable.dribbble-fill.dribbble-line.drinks-2-fill.drinks-2-line.drinks-fill.drinks-line.drive-fill.drive-line.drizzle-fill.drizzle-line.drop-fill.drop-line.dropbox-fill.dropbox-line.dropdown-list.dropper-fill.dropper-line.dual-sim-1-fill.dual-sim-1-line.dual-sim-2-fill.dual-sim-2-line.dv-fill.dv-line.dvd-ai-fill.dvd-ai-line.dvd-fill.dvd-line.e-bike-2-fill.e-bike-2-line.e-bike-fill.e-bike-line.earth-fill.earth-line.earthquake-fill.earthquake-line.edge-fill.edge-line.edge-new-fill.edge-new-line.edit-2-fill.edit-2-line.edit-box-fill.edit-box-line.edit-circle-fill.edit-circle-line.edit-fill.edit-line.eject-fill.eject-line.emoji-sticker-fill.emoji-sticker-line.emotion-2-fill.emotion-2-line.emotion-fill.emotion-happy-fill.emotion-happy-line.emotion-laugh-fill.emotion-laugh-line.emotion-line.emotion-normal-fill.emotion-normal-line.emotion-sad-fill.emotion-sad-line.emotion-unhappy-fill.emotion-unhappy-line.empathize-fill.empathize-line.emphasis.emphasis-cn.english-input.equal-fill.equal-line.equalizer-2-fill.equalizer-2-line.equalizer-3-fill.equalizer-3-line.equalizer-fill.equalizer-line.eraser-fill.eraser-line.error-warning-fill.error-warning-line.eth-fill.eth-line.evernote-fill.evernote-line.exchange-2-fill.exchange-2-line.exchange-box-fill.exchange-box-line.exchange-cny-fill.exchange-cny-line.exchange-dollar-fill.exchange-dollar-line.exchange-fill.exchange-funds-fill.exchange-funds-line.exchange-line.expand-diagonal-2-fill.expand-diagonal-2-line.expand-diagonal-fill.expand-diagonal-line.expand-diagonal-s-2-fill.expand-diagonal-s-2-line.expand-diagonal-s-fill.expand-diagonal-s-line.expand-height-fill.expand-height-line.expand-horizontal-fill.expand-horizontal-line.expand-horizontal-s-fill.expand-horizontal-s-line.expand-left-fill.expand-left-line.expand-left-right-fill.expand-left-right-line.expand-right-fill.expand-right-line.expand-up-down-fill.expand-up-down-line.expand-vertical-fill.expand-vertical-line.expand-vertical-s-fill.expand-vertical-s-line.expand-width-fill.expand-width-line.export-fill.export-line.external-link-fill.external-link-line.eye-2-fill.eye-2-line.eye-close-fill.eye-close-line.eye-fill.eye-line.eye-off-fill.eye-off-line.facebook-box-fill.facebook-box-line.facebook-circle-fill.facebook-circle-line.facebook-fill.facebook-line.fahrenheit-fill.fahrenheit-line.fediverse-fill.fediverse-line.feedback-fill.feedback-line.figma-fill.figma-line.file-2-fill.file-2-line.file-3-fill.file-3-line.file-4-fill.file-4-line.file-add-fill.file-add-line.file-chart-2-fill.file-chart-2-line.file-chart-fill.file-chart-line.file-check-fill.file-check-line.file-close-fill.file-close-line.file-cloud-fill.file-cloud-line.file-code-fill.file-code-line.file-copy-2-fill.file-copy-2-line.file-copy-fill.file-copy-line.file-damage-fill.file-damage-line.file-download-fill.file-download-line.file-edit-fill.file-edit-line.file-excel-2-fill.file-excel-2-line.file-excel-fill.file-excel-line.file-fill.file-forbid-fill.file-forbid-line.file-gif-fill.file-gif-line.file-history-fill.file-history-line.file-hwp-fill.file-hwp-line.file-image-fill.file-image-line.file-info-fill.file-info-line.file-line.file-list-2-fill.file-list-2-line.file-list-3-fill.file-list-3-line.file-list-fill.file-list-line.file-lock-fill.file-lock-line.file-marked-fill.file-marked-line.file-music-fill.file-music-line.file-paper-2-fill.file-paper-2-line.file-paper-fill.file-paper-line.file-pdf-2-fill.file-pdf-2-line.file-pdf-fill.file-pdf-line.file-ppt-2-fill.file-ppt-2-line.file-ppt-fill.file-ppt-line.file-reduce-fill.file-reduce-line.file-search-fill.file-search-line.file-settings-fill.file-settings-line.file-shield-2-fill.file-shield-2-line.file-shield-fill.file-shield-line.file-shred-fill.file-shred-line.file-text-fill.file-text-line.file-transfer-fill.file-transfer-line.file-unknow-fill.file-unknow-line.file-upload-fill.file-upload-line.file-user-fill.file-user-line.file-video-fill.file-video-line.file-warning-fill.file-warning-line.file-word-2-fill.file-word-2-line.file-word-fill.file-word-line.file-zip-fill.file-zip-line.film-ai-fill.film-ai-line.film-fill.film-line.filter-2-fill.filter-2-line.filter-3-fill.filter-3-line.filter-fill.filter-line.filter-off-fill.filter-off-line.find-replace-fill.find-replace-line.finder-fill.finder-line.fingerprint-2-fill.fingerprint-2-line.fingerprint-fill.fingerprint-line.fire-fill.fire-line.firebase-fill.firebase-line.firefox-browser-fill.firefox-browser-line.firefox-fill.firefox-line.first-aid-kit-fill.first-aid-kit-line.flag-2-fill.flag-2-line.flag-fill.flag-line.flag-off-fill.flag-off-line.flashlight-fill.flashlight-line.flask-fill.flask-line.flickr-fill.flickr-line.flight-land-fill.flight-land-line.flight-takeoff-fill.flight-takeoff-line.flip-horizontal-2-fill.flip-horizontal-2-line.flip-horizontal-fill.flip-horizontal-line.flip-vertical-2-fill.flip-vertical-2-line.flip-vertical-fill.flip-vertical-line.flood-fill.flood-line.flow-chart.flower-fill.flower-line.flutter-fill.flutter-line.focus-2-fill.focus-2-line.focus-3-fill.focus-3-line.focus-fill.focus-line.focus-mode.foggy-fill.foggy-line.folder-2-fill.folder-2-line.folder-3-fill.folder-3-line.folder-4-fill.folder-4-line.folder-5-fill.folder-5-line.folder-6-fill.folder-6-line.folder-add-fill.folder-add-line.folder-chart-2-fill.folder-chart-2-line.folder-chart-fill.folder-chart-line.folder-check-fill.folder-check-line.folder-close-fill.folder-close-line.folder-cloud-fill.folder-cloud-line.folder-download-fill.folder-download-line.folder-fill.folder-forbid-fill.folder-forbid-line.folder-history-fill.folder-history-line.folder-image-fill.folder-image-line.folder-info-fill.folder-info-line.folder-keyhole-fill.folder-keyhole-line.folder-line.folder-lock-fill.folder-lock-line.folder-music-fill.folder-music-line.folder-open-fill.folder-open-line.folder-received-fill.folder-received-line.folder-reduce-fill.folder-reduce-line.folder-settings-fill.folder-settings-line.folder-shared-fill.folder-shared-line.folder-shield-2-fill.folder-shield-2-line.folder-shield-fill.folder-shield-line.folder-transfer-fill.folder-transfer-line.folder-unknow-fill.folder-unknow-line.folder-upload-fill.folder-upload-line.folder-user-fill.folder-user-line.folder-video-fill.folder-video-line.folder-warning-fill.folder-warning-line.folder-zip-fill.folder-zip-line.folders-fill.folders-line.font-color.font-family.font-mono.font-sans.font-sans-serif.font-size.font-size-2.font-size-ai.football-fill.football-line.footprint-fill.footprint-line.forbid-2-fill.forbid-2-line.forbid-fill.forbid-line.format-clear.formula.forward-10-fill.forward-10-line.forward-15-fill.forward-15-line.forward-30-fill.forward-30-line.forward-5-fill.forward-5-line.forward-end-fill.forward-end-line.forward-end-mini-fill.forward-end-mini-line.fridge-fill.fridge-line.friendica-fill.friendica-line.fullscreen-exit-fill.fullscreen-exit-line.fullscreen-fill.fullscreen-line.function-add-fill.function-add-line.function-fill.function-line.functions.funds-box-fill.funds-box-line.funds-fill.funds-line.gallery-fill.gallery-line.gallery-upload-fill.gallery-upload-line.gallery-view.gallery-view-2.game-fill.game-line.gamepad-fill.gamepad-line.gas-station-fill.gas-station-line.gatsby-fill.gatsby-line.gemini-fill.gemini-line.genderless-fill.genderless-line.ghost-2-fill.ghost-2-line.ghost-fill.ghost-line.ghost-smile-fill.ghost-smile-line.gift-2-fill.gift-2-line.gift-fill.gift-line.git-branch-fill.git-branch-line.git-close-pull-request-fill.git-close-pull-request-line.git-commit-fill.git-commit-line.git-fork-fill.git-fork-line.git-merge-fill.git-merge-line.git-pr-draft-fill.git-pr-draft-line.git-pull-request-fill.git-pull-request-line.git-repository-commits-fill.git-repository-commits-line.git-repository-fill.git-repository-line.git-repository-private-fill.git-repository-private-line.github-fill.github-line.gitlab-fill.gitlab-line.glasses-2-fill.glasses-2-line.glasses-fill.glasses-line.global-fill.global-line.globe-fill.globe-line.goblet-2-fill.goblet-2-line.goblet-fill.goblet-line.goggles-fill.goggles-line.golf-ball-fill.golf-ball-line.google-fill.google-line.google-play-fill.google-play-line.government-fill.government-line.gps-fill.gps-line.gradienter-fill.gradienter-line.graduation-cap-fill.graduation-cap-line.grid-fill.grid-line.group-2-fill.group-2-line.group-3-fill.group-3-line.group-fill.group-line.guide-fill.guide-line.h-1.h-2.h-3.h-4.h-5.h-6.hail-fill.hail-line.hammer-fill.hammer-line.hand.hand-coin-fill.hand-coin-line.hand-heart-fill.hand-heart-line.hand-sanitizer-fill.hand-sanitizer-line.handbag-fill.handbag-line.hard-drive-2-fill.hard-drive-2-line.hard-drive-3-fill.hard-drive-3-line.hard-drive-fill.hard-drive-line.hashtag.haze-2-fill.haze-2-line.haze-fill.haze-line.hd-fill.hd-line.heading.headphone-fill.headphone-line.health-book-fill.health-book-line.heart-2-fill.heart-2-line.heart-3-fill.heart-3-line.heart-add-2-fill.heart-add-2-line.heart-add-fill.heart-add-line.heart-fill.heart-line.heart-pulse-fill.heart-pulse-line.hearts-fill.hearts-line.heavy-showers-fill.heavy-showers-line.hexagon-fill.hexagon-line.history-fill.history-line.home-2-fill.home-2-line.home-3-fill.home-3-line.home-4-fill.home-4-line.home-5-fill.home-5-line.home-6-fill.home-6-line.home-7-fill.home-7-line.home-8-fill.home-8-line.home-9-fill.home-9-line.home-fill.home-gear-fill.home-gear-line.home-heart-fill.home-heart-line.home-line.home-office-fill.home-office-line.home-smile-2-fill.home-smile-2-line.home-smile-fill.home-smile-line.home-wifi-fill.home-wifi-line.honor-of-kings-fill.honor-of-kings-line.honour-fill.honour-line.hospital-fill.hospital-line.hotel-bed-fill.hotel-bed-line.hotel-fill.hotel-line.hotspot-fill.hotspot-line.hourglass-2-fill.hourglass-2-line.hourglass-fill.hourglass-line.hq-fill.hq-line.html5-fill.html5-line.id-card-fill.id-card-line.ie-fill.ie-line.image-2-fill.image-2-line.image-add-fill.image-add-line.image-ai-fill.image-ai-line.image-circle-ai-fill.image-circle-ai-line.image-circle-fill.image-circle-line.image-edit-fill.image-edit-line.image-fill.image-line.import-fill.import-line.inbox-2-fill.inbox-2-line.inbox-archive-fill.inbox-archive-line.inbox-fill.inbox-line.inbox-unarchive-fill.inbox-unarchive-line.increase-decrease-fill.increase-decrease-line.indent-decrease.indent-increase.indeterminate-circle-fill.indeterminate-circle-line.infinity-fill.infinity-line.info-card-fill.info-card-line.info-i.information-2-fill.information-2-line.information-fill.information-line.information-off-fill.information-off-line.infrared-thermometer-fill.infrared-thermometer-line.ink-bottle-fill.ink-bottle-line.input-cursor-move.input-field.input-method-fill.input-method-line.insert-column-left.insert-column-right.insert-row-bottom.insert-row-top.instagram-fill.instagram-line.install-fill.install-line.instance-fill.instance-line.invision-fill.invision-line.italic.java-fill.java-line.javascript-fill.javascript-line.jewelry-fill.jewelry-line.kakao-talk-fill.kakao-talk-line.kanban-view.kanban-view-2.key-2-fill.key-2-line.key-fill.key-line.keyboard-box-fill.keyboard-box-line.keyboard-fill.keyboard-line.keynote-fill.keynote-line.kick-fill.kick-line.knife-blood-fill.knife-blood-line.knife-fill.knife-line.landscape-ai-fill.landscape-ai-line.landscape-fill.landscape-line.layout-2-fill.layout-2-line.layout-3-fill.layout-3-line.layout-4-fill.layout-4-line.layout-5-fill.layout-5-line.layout-6-fill.layout-6-line.layout-bottom-2-fill.layout-bottom-2-line.layout-bottom-fill.layout-bottom-line.layout-column-fill.layout-column-line.layout-fill.layout-grid-2-fill.layout-grid-2-line.layout-grid-fill.layout-grid-line.layout-horizontal-fill.layout-horizontal-line.layout-left-2-fill.layout-left-2-line.layout-left-fill.layout-left-line.layout-line.layout-masonry-fill.layout-masonry-line.layout-right-2-fill.layout-right-2-line.layout-right-fill.layout-right-line.layout-row-fill.layout-row-line.layout-top-2-fill.layout-top-2-line.layout-top-fill.layout-top-line.layout-vertical-fill.layout-vertical-line.leaf-fill.leaf-line.letter-spacing-2.lifebuoy-fill.lifebuoy-line.lightbulb-fill.lightbulb-flash-fill.lightbulb-flash-line.lightbulb-line.line-chart-fill.line-chart-line.line-fill.line-height.line-height-2.line-line.link.link-m.link-unlink.link-unlink-m.linkedin-box-fill.linkedin-box-line.linkedin-fill.linkedin-line.links-fill.links-line.list-check.list-check-2.list-check-3.list-indefinite.list-ordered.list-ordered-2.list-radio.list-settings-fill.list-settings-line.list-unordered.list-view.live-fill.live-line.loader-2-fill.loader-2-line.loader-3-fill.loader-3-line.loader-4-fill.loader-4-line.loader-5-fill.loader-5-line.loader-fill.loader-line.lock-2-fill.lock-2-line.lock-fill.lock-line.lock-password-fill.lock-password-line.lock-star-fill.lock-star-line.lock-unlock-fill.lock-unlock-line.login-box-fill.login-box-line.login-circle-fill.login-circle-line.logout-box-fill.logout-box-line.logout-box-r-fill.logout-box-r-line.logout-circle-fill.logout-circle-line.logout-circle-r-fill.logout-circle-r-line.loop-left-fill.loop-left-line.loop-right-fill.loop-right-line.luggage-cart-fill.luggage-cart-line.luggage-deposit-fill.luggage-deposit-line.lungs-fill.lungs-line.mac-fill.mac-line.macbook-fill.macbook-line.magic-fill.magic-line.mail-add-fill.mail-add-line.mail-ai-fill.mail-ai-line.mail-check-fill.mail-check-line.mail-close-fill.mail-close-line.mail-download-fill.mail-download-line.mail-fill.mail-forbid-fill.mail-forbid-line.mail-line.mail-lock-fill.mail-lock-line.mail-open-fill.mail-open-line.mail-send-fill.mail-send-line.mail-settings-fill.mail-settings-line.mail-star-fill.mail-star-line.mail-unread-fill.mail-unread-line.mail-volume-fill.mail-volume-line.map-2-fill.map-2-line.map-fill.map-line.map-pin-2-fill.map-pin-2-line.map-pin-3-fill.map-pin-3-line.map-pin-4-fill.map-pin-4-line.map-pin-5-fill.map-pin-5-line.map-pin-add-fill.map-pin-add-line.map-pin-fill.map-pin-line.map-pin-range-fill.map-pin-range-line.map-pin-time-fill.map-pin-time-line.map-pin-user-fill.map-pin-user-line.mark-pen-fill.mark-pen-line.markdown-fill.markdown-line.markup-fill.markup-line.mastercard-fill.mastercard-line.mastodon-fill.mastodon-line.medal-2-fill.medal-2-line.medal-fill.medal-line.medicine-bottle-fill.medicine-bottle-line.medium-fill.medium-line.megaphone-fill.megaphone-line.memories-fill.memories-line.men-fill.men-line.mental-health-fill.mental-health-line.menu-2-fill.menu-2-line.menu-3-fill.menu-3-line.menu-4-fill.menu-4-line.menu-5-fill.menu-5-line.menu-add-fill.menu-add-line.menu-fill.menu-fold-2-fill.menu-fold-2-line.menu-fold-3-fill.menu-fold-3-line.menu-fold-4-fill.menu-fold-4-line.menu-fold-fill.menu-fold-line.menu-line.menu-search-fill.menu-search-line.menu-unfold-2-fill.menu-unfold-2-line.menu-unfold-3-fill.menu-unfold-3-line.menu-unfold-4-fill.menu-unfold-4-line.menu-unfold-fill.menu-unfold-line.merge-cells-horizontal.merge-cells-vertical.message-2-fill.message-2-line.message-3-fill.message-3-line.message-fill.message-line.messenger-fill.messenger-line.meta-fill.meta-line.meteor-fill.meteor-line.mic-2-ai-fill.mic-2-ai-line.mic-2-fill.mic-2-line.mic-ai-fill.mic-ai-line.mic-fill.mic-line.mic-off-fill.mic-off-line.mickey-fill.mickey-line.microscope-fill.microscope-line.microsoft-fill.microsoft-line.microsoft-loop-fill.microsoft-loop-line.mind-map.mini-program-fill.mini-program-line.mist-fill.mist-line.mixtral-fill.mixtral-line.mobile-download-fill.mobile-download-line.money-cny-box-fill.money-cny-box-line.money-cny-circle-fill.money-cny-circle-line.money-dollar-box-fill.money-dollar-box-line.money-dollar-circle-fill.money-dollar-circle-line.money-euro-box-fill.money-euro-box-line.money-euro-circle-fill.money-euro-circle-line.money-pound-box-fill.money-pound-box-line.money-pound-circle-fill.money-pound-circle-line.money-rupee-circle-fill.money-rupee-circle-line.moon-clear-fill.moon-clear-line.moon-cloudy-fill.moon-cloudy-line.moon-fill.moon-foggy-fill.moon-foggy-line.moon-line.more-2-fill.more-2-line.more-fill.more-line.motorbike-fill.motorbike-line.mouse-fill.mouse-line.movie-2-ai-fill.movie-2-ai-line.movie-2-fill.movie-2-line.movie-ai-fill.movie-ai-line.movie-fill.movie-line.multi-image-fill.multi-image-line.music-2-fill.music-2-line.music-ai-fill.music-ai-line.music-fill.music-line.mv-ai-fill.mv-ai-line.mv-fill.mv-line.navigation-fill.navigation-line.netease-cloud-music-fill.netease-cloud-music-line.netflix-fill.netflix-line.news-fill.news-line.newspaper-fill.newspaper-line.nextjs-fill.nextjs-line.nft-fill.nft-line.no-credit-card-fill.no-credit-card-line.node-tree.nodejs-fill.nodejs-line.notification-2-fill.notification-2-line.notification-3-fill.notification-3-line.notification-4-fill.notification-4-line.notification-badge-fill.notification-badge-line.notification-fill.notification-line.notification-off-fill.notification-off-line.notification-snooze-fill.notification-snooze-line.notion-fill.notion-line.npmjs-fill.npmjs-line.number-0.number-1.number-2.number-3.number-4.number-5.number-6.number-7.number-8.number-9.numbers-fill.numbers-line.nurse-fill.nurse-line.octagon-fill.octagon-line.oil-fill.oil-line.omega.open-arm-fill.open-arm-line.open-source-fill.open-source-line.openai-fill.openai-line.openbase-fill.openbase-line.opera-fill.opera-line.order-play-fill.order-play-line.organization-chart.outlet-2-fill.outlet-2-line.outlet-fill.outlet-line.overline.p2p-fill.p2p-line.page-separator.pages-fill.pages-line.paint-brush-fill.paint-brush-line.paint-fill.paint-line.palette-fill.palette-line.pantone-fill.pantone-line.paragraph.parent-fill.parent-line.parentheses-fill.parentheses-line.parking-box-fill.parking-box-line.parking-fill.parking-line.pass-expired-fill.pass-expired-line.pass-pending-fill.pass-pending-line.pass-valid-fill.pass-valid-line.passport-fill.passport-line.patreon-fill.patreon-line.pause-circle-fill.pause-circle-line.pause-fill.pause-large-fill.pause-large-line.pause-line.pause-mini-fill.pause-mini-line.paypal-fill.paypal-line.pen-nib-fill.pen-nib-line.pencil-fill.pencil-line.pencil-ruler-2-fill.pencil-ruler-2-line.pencil-ruler-fill.pencil-ruler-line.pentagon-fill.pentagon-line.percent-fill.percent-line.perplexity-fill.perplexity-line.phone-camera-fill.phone-camera-line.phone-fill.phone-find-fill.phone-find-line.phone-line.phone-lock-fill.phone-lock-line.php-fill.php-line.picture-in-picture-2-fill.picture-in-picture-2-line.picture-in-picture-exit-fill.picture-in-picture-exit-line.picture-in-picture-fill.picture-in-picture-line.pie-chart-2-fill.pie-chart-2-line.pie-chart-box-fill.pie-chart-box-line.pie-chart-fill.pie-chart-line.pin-distance-fill.pin-distance-line.ping-pong-fill.ping-pong-line.pinterest-fill.pinterest-line.pinyin-input.pix-fill.pix-line.pixelfed-fill.pixelfed-line.plane-fill.plane-line.planet-fill.planet-line.plant-fill.plant-line.play-circle-fill.play-circle-line.play-fill.play-large-fill.play-large-line.play-line.play-list-2-fill.play-list-2-line.play-list-add-fill.play-list-add-line.play-list-fill.play-list-line.play-mini-fill.play-mini-line.play-reverse-fill.play-reverse-large-fill.play-reverse-large-line.play-reverse-line.play-reverse-mini-fill.play-reverse-mini-line.playstation-fill.playstation-line.plug-2-fill.plug-2-line.plug-fill.plug-line.poker-clubs-fill.poker-clubs-line.poker-diamonds-fill.poker-diamonds-line.poker-hearts-fill.poker-hearts-line.poker-spades-fill.poker-spades-line.polaroid-2-fill.polaroid-2-line.polaroid-fill.polaroid-line.police-badge-fill.police-badge-line.police-car-fill.police-car-line.presentation-fill.presentation-line.price-tag-2-fill.price-tag-2-line.price-tag-3-fill.price-tag-3-line.price-tag-fill.price-tag-line.printer-cloud-fill.printer-cloud-line.printer-fill.printer-line.product-hunt-fill.product-hunt-line.profile-fill.profile-line.progress-1-fill.progress-1-line.progress-2-fill.progress-2-line.progress-3-fill.progress-3-line.progress-4-fill.progress-4-line.progress-5-fill.progress-5-line.progress-6-fill.progress-6-line.progress-7-fill.progress-7-line.progress-8-fill.progress-8-line.prohibited-2-fill.prohibited-2-line.prohibited-fill.prohibited-line.projector-2-fill.projector-2-line.projector-fill.projector-line.psychotherapy-fill.psychotherapy-line.pulse-ai-fill.pulse-ai-line.pulse-fill.pulse-line.pushpin-2-fill.pushpin-2-line.pushpin-fill.pushpin-line.puzzle-2-fill.puzzle-2-line.puzzle-fill.puzzle-line.qq-fill.qq-line.qr-code-fill.qr-code-line.qr-scan-2-fill.qr-scan-2-line.qr-scan-fill.qr-scan-line.question-answer-fill.question-answer-line.question-fill.question-line.question-mark.questionnaire-fill.questionnaire-line.quill-pen-ai-fill.quill-pen-ai-line.quill-pen-fill.quill-pen-line.quote-text.radar-fill.radar-line.radio-2-fill.radio-2-line.radio-button-fill.radio-button-line.radio-fill.radio-line.rainbow-fill.rainbow-line.rainy-fill.rainy-line.ram-2-fill.ram-2-line.ram-fill.ram-line.reactjs-fill.reactjs-line.receipt-fill.receipt-line.record-circle-fill.record-circle-line.record-mail-fill.record-mail-line.rectangle-fill.rectangle-line.recycle-fill.recycle-line.red-packet-fill.red-packet-line.reddit-fill.reddit-line.refresh-fill.refresh-line.refund-2-fill.refund-2-line.refund-fill.refund-line.registered-fill.registered-line.remix-run-fill.remix-run-line.remixicon-fill.remixicon-line.remote-control-2-fill.remote-control-2-line.remote-control-fill.remote-control-line.repeat-2-fill.repeat-2-line.repeat-fill.repeat-line.repeat-one-fill.repeat-one-line.replay-10-fill.replay-10-line.replay-15-fill.replay-15-line.replay-30-fill.replay-30-line.replay-5-fill.replay-5-line.reply-all-fill.reply-all-line.reply-fill.reply-line.reserved-fill.reserved-line.reset-left-fill.reset-left-line.reset-right-fill.reset-right-line.rest-time-fill.rest-time-line.restart-fill.restart-line.restaurant-2-fill.restaurant-2-line.restaurant-fill.restaurant-line.rewind-fill.rewind-line.rewind-mini-fill.rewind-mini-line.rewind-start-fill.rewind-start-line.rewind-start-mini-fill.rewind-start-mini-line.rfid-fill.rfid-line.rhythm-fill.rhythm-line.riding-fill.riding-line.road-map-fill.road-map-line.roadster-fill.roadster-line.robot-2-fill.robot-2-line.robot-3-fill.robot-3-line.robot-fill.robot-line.rocket-2-fill.rocket-2-line.rocket-fill.rocket-line.rotate-lock-fill.rotate-lock-line.rounded-corner.route-fill.route-line.router-fill.router-line.rss-fill.rss-line.ruler-2-fill.ruler-2-line.ruler-fill.ruler-line.run-fill.run-line.safari-fill.safari-line.safe-2-fill.safe-2-line.safe-3-fill.safe-3-line.safe-fill.safe-line.sailboat-fill.sailboat-line.save-2-fill.save-2-line.save-3-fill.save-3-line.save-fill.save-line.scales-2-fill.scales-2-line.scales-3-fill.scales-3-line.scales-fill.scales-line.scan-2-fill.scan-2-line.scan-fill.scan-line.school-fill.school-line.scissors-2-fill.scissors-2-line.scissors-cut-fill.scissors-cut-line.scissors-fill.scissors-line.screenshot-2-fill.screenshot-2-line.screenshot-fill.screenshot-line.scroll-to-bottom-fill.scroll-to-bottom-line.sd-card-fill.sd-card-line.sd-card-mini-fill.sd-card-mini-line.search-2-fill.search-2-line.search-eye-fill.search-eye-line.search-fill.search-line.secure-payment-fill.secure-payment-line.seedling-fill.seedling-line.send-backward.send-plane-2-fill.send-plane-2-line.send-plane-fill.send-plane-line.send-to-back.sensor-fill.sensor-line.seo-fill.seo-line.separator.server-fill.server-line.service-bell-fill.service-bell-line.service-fill.service-line.settings-2-fill.settings-2-line.settings-3-fill.settings-3-line.settings-4-fill.settings-4-line.settings-5-fill.settings-5-line.settings-6-fill.settings-6-line.settings-fill.settings-line.shadow-fill.shadow-line.shake-hands-fill.shake-hands-line.shape-2-fill.shape-2-line.shape-fill.shape-line.shapes-fill.shapes-line.share-2-fill.share-2-line.share-box-fill.share-box-line.share-circle-fill.share-circle-line.share-fill.share-forward-2-fill.share-forward-2-line.share-forward-box-fill.share-forward-box-line.share-forward-fill.share-forward-line.share-line.shield-check-fill.shield-check-line.shield-cross-fill.shield-cross-line.shield-fill.shield-flash-fill.shield-flash-line.shield-keyhole-fill.shield-keyhole-line.shield-line.shield-star-fill.shield-star-line.shield-user-fill.shield-user-line.shining-2-fill.shining-2-line.shining-fill.shining-line.ship-2-fill.ship-2-line.ship-fill.ship-line.shirt-fill.shirt-line.shopping-bag-2-fill.shopping-bag-2-line.shopping-bag-3-fill.shopping-bag-3-line.shopping-bag-4-fill.shopping-bag-4-line.shopping-bag-fill.shopping-bag-line.shopping-basket-2-fill.shopping-basket-2-line.shopping-basket-fill.shopping-basket-line.shopping-cart-2-fill.shopping-cart-2-line.shopping-cart-fill.shopping-cart-line.showers-fill.showers-line.shuffle-fill.shuffle-line.shut-down-fill.shut-down-line.side-bar-fill.side-bar-line.sidebar-fold-fill.sidebar-fold-line.sidebar-unfold-fill.sidebar-unfold-line.signal-tower-fill.signal-tower-line.signal-wifi-1-fill.signal-wifi-1-line.signal-wifi-2-fill.signal-wifi-2-line.signal-wifi-3-fill.signal-wifi-3-line.signal-wifi-error-fill.signal-wifi-error-line.signal-wifi-fill.signal-wifi-line.signal-wifi-off-fill.signal-wifi-off-line.signpost-fill.signpost-line.sim-card-2-fill.sim-card-2-line.sim-card-fill.sim-card-line.single-quotes-l.single-quotes-r.sip-fill.sip-line.sketching.skip-back-fill.skip-back-line.skip-back-mini-fill.skip-back-mini-line.skip-down-fill.skip-down-line.skip-forward-fill.skip-forward-line.skip-forward-mini-fill.skip-forward-mini-line.skip-left-fill.skip-left-line.skip-right-fill.skip-right-line.skip-up-fill.skip-up-line.skull-2-fill.skull-2-line.skull-fill.skull-line.skype-fill.skype-line.slack-fill.slack-line.slash-commands.slash-commands-2.slice-fill.slice-line.slideshow-2-fill.slideshow-2-line.slideshow-3-fill.slideshow-3-line.slideshow-4-fill.slideshow-4-line.slideshow-fill.slideshow-line.slideshow-view.slow-down-fill.slow-down-line.smartphone-fill.smartphone-line.snapchat-fill.snapchat-line.snowflake-fill.snowflake-line.snowy-fill.snowy-line.sofa-fill.sofa-line.sort-alphabet-asc.sort-alphabet-desc.sort-asc.sort-desc.sort-number-asc.sort-number-desc.sound-module-fill.sound-module-line.soundcloud-fill.soundcloud-line.space.space-ship-fill.space-ship-line.spam-2-fill.spam-2-line.spam-3-fill.spam-3-line.spam-fill.spam-line.sparkling-2-fill.sparkling-2-line.sparkling-fill.sparkling-line.speak-ai-fill.speak-ai-line.speak-fill.speak-line.speaker-2-fill.speaker-2-line.speaker-3-fill.speaker-3-line.speaker-fill.speaker-line.spectrum-fill.spectrum-line.speed-fill.speed-line.speed-mini-fill.speed-mini-line.speed-up-fill.speed-up-line.split-cells-horizontal.split-cells-vertical.spotify-fill.spotify-line.spy-fill.spy-line.square-fill.square-line.square-root.stack-fill.stack-line.stack-overflow-fill.stack-overflow-line.stacked-view.stackshare-fill.stackshare-line.stairs-fill.stairs-line.star-fill.star-half-fill.star-half-line.star-half-s-fill.star-half-s-line.star-line.star-off-fill.star-off-line.star-s-fill.star-s-line.star-smile-fill.star-smile-line.steam-fill.steam-line.steering-2-fill.steering-2-line.steering-fill.steering-line.stethoscope-fill.stethoscope-line.sticky-note-2-fill.sticky-note-2-line.sticky-note-add-fill.sticky-note-add-line.sticky-note-fill.sticky-note-line.stock-fill.stock-line.stop-circle-fill.stop-circle-line.stop-fill.stop-large-fill.stop-large-line.stop-line.stop-mini-fill.stop-mini-line.store-2-fill.store-2-line.store-3-fill.store-3-line.store-fill.store-line.strikethrough.strikethrough-2.subscript.subscript-2.subtract-fill.subtract-line.subway-fill.subway-line.subway-wifi-fill.subway-wifi-line.suitcase-2-fill.suitcase-2-line.suitcase-3-fill.suitcase-3-line.suitcase-fill.suitcase-line.sun-cloudy-fill.sun-cloudy-line.sun-fill.sun-foggy-fill.sun-foggy-line.sun-line.supabase-fill.supabase-line.superscript.superscript-2.surgical-mask-fill.surgical-mask-line.surround-sound-fill.surround-sound-line.survey-fill.survey-line.svelte-fill.svelte-line.swap-2-fill.swap-2-line.swap-3-fill.swap-3-line.swap-box-fill.swap-box-line.swap-fill.swap-line.switch-fill.switch-line.sword-fill.sword-line.syringe-fill.syringe-line.t-box-fill.t-box-line.t-shirt-2-fill.t-shirt-2-line.t-shirt-air-fill.t-shirt-air-line.t-shirt-fill.t-shirt-line.table-2.table-3.table-alt-fill.table-alt-line.table-fill.table-line.table-view.tablet-fill.tablet-line.tailwind-css-fill.tailwind-css-line.takeaway-fill.takeaway-line.taobao-fill.taobao-line.tape-fill.tape-line.task-fill.task-line.taxi-fill.taxi-line.taxi-wifi-fill.taxi-wifi-line.team-fill.team-line.telegram-2-fill.telegram-2-line.telegram-fill.telegram-line.temp-cold-fill.temp-cold-line.temp-hot-fill.temp-hot-line.tent-fill.tent-line.terminal-box-fill.terminal-box-line.terminal-fill.terminal-line.terminal-window-fill.terminal-window-line.test-tube-fill.test-tube-line.text.text-block.text-direction-l.text-direction-r.text-snippet.text-spacing.text-wrap.thermometer-fill.thermometer-line.threads-fill.threads-line.thumb-down-fill.thumb-down-line.thumb-up-fill.thumb-up-line.thunderstorms-fill.thunderstorms-line.ticket-2-fill.ticket-2-line.ticket-fill.ticket-line.tiktok-fill.tiktok-line.time-fill.time-line.time-zone-fill.time-zone-line.timeline-view.timer-2-fill.timer-2-line.timer-fill.timer-flash-fill.timer-flash-line.timer-line.todo-fill.todo-line.toggle-fill.toggle-line.token-swap-fill.token-swap-line.tools-fill.tools-line.tooth-fill.tooth-line.tornado-fill.tornado-line.trademark-fill.trademark-line.traffic-light-fill.traffic-light-line.train-fill.train-line.train-wifi-fill.train-wifi-line.translate.translate-2.translate-ai.translate-ai-2.travesti-fill.travesti-line.treasure-map-fill.treasure-map-line.tree-fill.tree-line.trello-fill.trello-line.triangle-fill.triangle-line.triangular-flag-fill.triangular-flag-line.trophy-fill.trophy-line.truck-fill.truck-line.tumblr-fill.tumblr-line.tv-2-fill.tv-2-line.tv-fill.tv-line.twitch-fill.twitch-line.twitter-fill.twitter-line.twitter-x-fill.twitter-x-line.typhoon-fill.typhoon-line.u-disk-fill.u-disk-line.ubuntu-fill.ubuntu-line.umbrella-fill.umbrella-line.underline.uninstall-fill.uninstall-line.unpin-fill.unpin-line.unsplash-fill.unsplash-line.upload-2-fill.upload-2-line.upload-cloud-2-fill.upload-cloud-2-line.upload-cloud-fill.upload-cloud-line.upload-fill.upload-line.usb-fill.usb-line.user-2-fill.user-2-line.user-3-fill.user-3-line.user-4-fill.user-4-line.user-5-fill.user-5-line.user-6-fill.user-6-line.user-add-fill.user-add-line.user-community-fill.user-community-line.user-fill.user-follow-fill.user-follow-line.user-forbid-fill.user-forbid-line.user-heart-fill.user-heart-line.user-line.user-location-fill.user-location-line.user-minus-fill.user-minus-line.user-received-2-fill.user-received-2-line.user-received-fill.user-received-line.user-search-fill.user-search-line.user-settings-fill.user-settings-line.user-shared-2-fill.user-shared-2-line.user-shared-fill.user-shared-line.user-smile-fill.user-smile-line.user-star-fill.user-star-line.user-unfollow-fill.user-unfollow-line.user-voice-fill.user-voice-line.vercel-fill.vercel-line.verified-badge-fill.verified-badge-line.video-add-fill.video-add-line.video-ai-fill.video-ai-line.video-chat-fill.video-chat-line.video-download-fill.video-download-line.video-fill.video-line.video-off-fill.video-off-line.video-on-ai-fill.video-on-ai-line.video-on-fill.video-on-line.video-upload-fill.video-upload-line.vidicon-2-fill.vidicon-2-line.vidicon-fill.vidicon-line.vimeo-fill.vimeo-line.vip-crown-2-fill.vip-crown-2-line.vip-crown-fill.vip-crown-line.vip-diamond-fill.vip-diamond-line.vip-fill.vip-line.virus-fill.virus-line.visa-fill.visa-line.vk-fill.vk-line.voice-ai-fill.voice-ai-line.voice-recognition-fill.voice-recognition-line.voiceprint-fill.voiceprint-line.volume-down-fill.volume-down-line.volume-mute-fill.volume-mute-line.volume-off-vibrate-fill.volume-off-vibrate-line.volume-up-fill.volume-up-line.volume-vibrate-fill.volume-vibrate-line.vuejs-fill.vuejs-line.walk-fill.walk-line.wallet-2-fill.wallet-2-line.wallet-3-fill.wallet-3-line.wallet-fill.wallet-line.water-flash-fill.water-flash-line.water-percent-fill.water-percent-line.webcam-fill.webcam-line.webhook-fill.webhook-line.wechat-2-fill.wechat-2-line.wechat-channels-fill.wechat-channels-line.wechat-fill.wechat-line.wechat-pay-fill.wechat-pay-line.weibo-fill.weibo-line.weight-fill.weight-line.whatsapp-fill.whatsapp-line.wheelchair-fill.wheelchair-line.wifi-fill.wifi-line.wifi-off-fill.wifi-off-line.window-2-fill.window-2-line.window-fill.window-line.windows-fill.windows-line.windy-fill.windy-line.wireless-charging-fill.wireless-charging-line.women-fill.women-line.wordpress-fill.wordpress-line.wubi-input.xbox-fill.xbox-line.xing-fill.xing-line.xrp-fill.xrp-line.xtz-fill.xtz-line.youtube-fill.youtube-line.yuque-fill.yuque-line.zcool-fill.zcool-line.zhihu-fill.zhihu-line.zoom-in-fill.zoom-in-line.zoom-out-fill.zoom-out-line.zzz-fill.zzz-line`.split(`.`),cb=[{id:`remix`,prefix:``,name:`Remix Icon`,license:`Apache-2.0`,valueMode:`bare`,localRemix:!0},{id:`ant-design`,prefix:`ant-design`,name:`Ant Design Icons`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ant-design/icons.json`)},{id:`ep`,prefix:`ep`,name:`EP 图标`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ep/icons.json`)},{id:`flagpack`,prefix:`flagpack`,name:`Flagpack`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/flagpack/icons.json`)},{id:`icon-park`,prefix:`icon-park`,name:`IconPark`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/icon-park/icons.json`)},{id:`icon-park-outline`,prefix:`icon-park-outline`,name:`IconPark Outline`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/icon-park-outline/icons.json`)},{id:`mdi`,prefix:`mdi`,name:`Material Design Icons`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/mdi/icons.json`)},{id:`ri`,prefix:`ri`,name:`Remix (Iconify)`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ri/icons.json`)},{id:`logos`,prefix:`logos`,name:`SVG Logos`,license:`CC0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/logos/icons.json`)},{id:`carbon`,prefix:`carbon`,name:`Carbon`,license:`Apache-2.0`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/carbon/icons.json`)},{id:`tabler`,prefix:`tabler`,name:`Tabler Icons`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/tabler/icons.json`)},{id:`lucide`,prefix:`lucide`,name:`Lucide`,license:`ISC`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/lucide/icons.json`)},{id:`ph`,prefix:`ph`,name:`Phosphor`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/ph/icons.json`)},{id:`bi`,prefix:`bi`,name:`Bootstrap Icons`,license:`MIT`,valueMode:`prefixed`,loader:()=>import(`@iconify-json/bi/icons.json`)}],lb=new Set,ub=new Map,db=e=>e.default||e;async function fb(e){if(e.localRemix)return[];if(ub.has(e.id))return ub.get(e.id);if(!e.loader)return[];let t=db(await e.loader());lb.has(e.id)||((0,n.addCollection)(t),lb.add(e.id));let r=Object.keys(t.icons||{}).sort();return ub.set(e.id,r),r}var pb=(e,t)=>e.valueMode===`bare`?t:`${e.prefix}:${t}`,mb=e=>{let t=String(e||``).trim();if(!t.includes(`:`))return`remix`;let n=t.split(`:`)[0];return cb.find(e=>e.prefix===n)?.id||`remix`},hb={class:`fou-icon-picker`},gb={key:1,class:`fou-icon-picker__placeholder`},_b={class:`fou-icon-picker__body`},vb={class:`fou-icon-picker__libs`},yb=[`onClick`],bb={class:`fou-icon-picker__license-tip`},xb={class:`fou-icon-picker__main`},Sb={class:`fou-icon-picker__meta`},Cb={key:0,class:`fou-icon-picker__current`},wb={class:`fou-icon-picker__current-icon`},Tb={class:`fou-icon-picker__grid`},Eb=[`title`],Db=[`title`,`onClick`],Ob={key:1,class:`fou-icon-picker__pager`},kb=60,Ab=(0,t.defineComponent)({name:`FouIconPicker`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`home-2-line / mdi:home`}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(``),s=(0,t.ref)(1),c=(0,t.ref)(`remix`),l=(0,t.ref)(!1),u=(0,t.reactive)({remix:sb}),d=(0,t.reactive)({remix:sb.length}),f=(0,t.computed)(()=>cb.find(e=>e.id===c.value)||cb[0]),p=(0,t.computed)(()=>cb.map(e=>({...e,count:d[e.id]||(e.localRemix?sb.length:`…`)}))),m=(0,t.computed)(()=>u[c.value]||[]),h=(0,t.computed)(()=>{let e=o.value.trim().toLowerCase();return e?m.value.filter(t=>t.toLowerCase().includes(e)):m.value}),g=(0,t.computed)(()=>Math.max(1,Math.ceil(h.value.length/kb))),_=(0,t.computed)(()=>{let e=(s.value-1)*kb;return h.value.slice(e,e+kb)}),v=e=>pb(f.value,e),y=async e=>{if(e.localRemix){u.remix=sb,d.remix=sb.length;return}if(!u[e.id]?.length){l.value=!0;try{let t=await fb(e);u[e.id]=t,d[e.id]=t.length}finally{l.value=!1}}},b=async e=>{c.value=e,s.value=1,o.value=``;let t=cb.find(t=>t.id===e);t&&await y(t)},x=()=>{a.value=!0},S=async()=>{c.value=mb(r.modelValue),await y(f.value)},C=e=>{i(`update:modelValue`,v(e)),a.value=!1},w=()=>{i(`update:modelValue`,``)},T=e=>{i(`update:modelValue`,e||``),o.value=e?.includes(`:`)?e.split(`:`)[1]||``:e||``,s.value=1,a.value=!0};return(n,r)=>{let i=k,u=va,d=Vt,f=Pt,y=or,E=pt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,hb,[(0,t.createElementVNode)(`div`,{class:`fou-icon-picker__trigger`,onClick:x},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-icon-picker__preview-wrap`,{"is-on":!!e.modelValue}])},[e.modelValue?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:e.modelValue,class:`fou-icon-picker__preview`},null,8,[`icon`])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gb,(0,t.toDisplayString)((0,t.unref)(Y)(`选择图标`)),1))],2),(0,t.createVNode)(u,{"model-value":e.modelValue,class:`fou-icon-picker__input`,placeholder:e.placeholder,clearable:``,"onUpdate:modelValue":T,onFocus:x,onClick:(0,t.withModifiers)(x,[`stop`])},null,8,[`model-value`,`placeholder`]),(0,t.createVNode)(d,{size:`small`,onClick:(0,t.withModifiers)(x,[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`apps-2-line`})]),_:1})]),(0,t.createVNode)(E,{modelValue:(0,t.unref)(a),"onUpdate:modelValue":r[3]||=e=>(0,t.isRef)(a)?a.value=e:null,title:(0,t.unref)(Y)(`选择图标`),width:`920px`,"z-index":5300,"show-minimize":!1,"show-fullscreen":!1,"destroy-on-close":``,onOpened:S},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,_b,[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createBlock)(Wa,{key:0,class:`fou-icon-picker__loading`})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`aside`,vb,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(p),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,t.normalizeClass)([`fou-icon-picker__lib`,{"is-active":(0,t.unref)(c)===e.id}]),onClick:t=>b(e.id)},[(0,t.createElementVNode)(`strong`,null,(0,t.toDisplayString)(e.name),1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.count)+` icons`,1),(0,t.createElementVNode)(`em`,null,(0,t.toDisplayString)(e.license),1)],10,yb))),128)),(0,t.createElementVNode)(`p`,bb,(0,t.toDisplayString)((0,t.unref)(Y)(`均为免费开源图标,可商用(按需懒加载)`)),1)]),(0,t.createElementVNode)(`div`,xb,[(0,t.createVNode)(u,{modelValue:(0,t.unref)(o),"onUpdate:modelValue":r[0]||=e=>(0,t.isRef)(o)?o.value=e:null,clearable:``,placeholder:(0,t.unref)(Y)(`搜索图标名`),class:`fou-icon-picker__search`,onInput:r[1]||=e=>s.value=1},{prefix:(0,t.withCtx)(()=>[(0,t.createVNode)(i,{icon:`search-line`})]),_:1},8,[`modelValue`,`placeholder`]),(0,t.createElementVNode)(`div`,Sb,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(h).length)+` / `+(0,t.toDisplayString)((0,t.unref)(m).length),1),e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Cb,[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`当前`))+`: `,1),(0,t.createElementVNode)(`span`,wb,[(0,t.createVNode)(i,{icon:e.modelValue},null,8,[`icon`])]),(0,t.createElementVNode)(`code`,null,(0,t.toDisplayString)(e.modelValue),1)])):(0,t.createCommentVNode)(``,!0),e.modelValue?((0,t.openBlock)(),(0,t.createBlock)(d,{key:1,link:``,type:`danger`,size:`small`,onClick:w},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(`清除`)),1)]),_:1})):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Tb,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-icon-picker__item is-clear`,title:(0,t.unref)(Y)(`清除图标`),onClick:w},[(0,t.createVNode)(i,{icon:`delete-bin-line`}),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Y)(`清除`)),1)],8,Eb),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(_),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-icon-picker__item`,{"is-active":e.modelValue===v(n)}]),title:v(n),onClick:e=>C(n)},[(0,t.createVNode)(i,{icon:v(n)},null,8,[`icon`]),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(n),1)],10,Db))),128))]),!(0,t.unref)(l)&&!(0,t.unref)(h).length?((0,t.openBlock)(),(0,t.createBlock)(f,{key:0,description:(0,t.unref)(Y)(`无匹配图标`)},null,8,[`description`])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(g)>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ob,[(0,t.createVNode)(y,{"current-page":(0,t.unref)(s),"onUpdate:currentPage":r[2]||=e=>(0,t.isRef)(s)?s.value=e:null,background:``,layout:`prev, pager, next, jumper`,"page-size":kb,total:(0,t.unref)(h).length,small:``},null,8,[`current-page`,`total`])])):(0,t.createCommentVNode)(``,!0)])])]),_:1},8,[`modelValue`,`title`])])}}}),jb=v({default:()=>Mb}),Mb=S(Ab,[[`__scopeId`,`data-v-cac005a6`]]),Nb=[`src`],Pb={class:`fou-image-viewer__toolbar`},Fb={key:2,class:`fou-image-viewer__index`},Ib=(0,t.defineComponent)({name:`FouImageViewer`,__name:`index`,props:{modelValue:{type:Boolean,default:!1},urlList:{default:()=>[]},initialIndex:{default:0},hideOnClickModal:{type:Boolean,default:!0},zIndex:{}},emits:[`update:modelValue`,`close`,`switch`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(0),o=(0,t.ref)(3e3),s=(0,t.ref)(1),c=(0,t.computed)(()=>(r.urlList||[]).filter(Boolean));(0,t.watch)(()=>[r.modelValue,r.initialIndex],([e,t])=>{e&&(a.value=Math.min(Math.max(0,t),Math.max(0,c.value.length-1)),s.value=1,o.value=r.zIndex||G(3e3))},{immediate:!0});let l=()=>{i(`update:modelValue`,!1),i(`close`)},u=()=>{r.hideOnClickModal&&l()},d=e=>{c.value.length&&(a.value=(a.value+e+c.value.length)%c.value.length,s.value=1,i(`switch`,a.value))},f=e=>{s.value=Math.min(4,Math.max(.4,Number((s.value+e).toFixed(2))))},p=e=>{f(e.deltaY>0?-.15:.15)},m=e=>{r.modelValue&&(e.key===`Escape`&&l(),e.key===`ArrowLeft`&&d(-1),e.key===`ArrowRight`&&d(1))};return(0,t.onMounted)(()=>document.addEventListener(`keydown`,m)),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`keydown`,m)),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-image-viewer-fade`},{default:(0,t.withCtx)(()=>[e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-image-viewer`,style:(0,t.normalizeStyle)({zIndex:(0,t.unref)(o)}),role:`dialog`,"aria-modal":`true`,"aria-label":`图片预览`,onClick:(0,t.withModifiers)(u,[`self`])},[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-image-viewer__btn is-close`,"aria-label":`关闭`,onClick:l},[(0,t.createVNode)(i,{icon:`close-line`})]),(0,t.unref)(c).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-image-viewer__btn is-prev`,"aria-label":`上一张`,onClick:r[0]||=(0,t.withModifiers)(e=>d(-1),[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-left-s-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(c).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-image-viewer__btn is-next`,"aria-label":`下一张`,onClick:r[1]||=(0,t.withModifiers)(e=>d(1),[`stop`])},[(0,t.createVNode)(i,{icon:`arrow-right-s-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`img`,{class:`fou-image-viewer__img`,src:(0,t.unref)(c)[(0,t.unref)(a)]||``,alt:``,style:(0,t.normalizeStyle)({transform:`scale(${(0,t.unref)(s)})`}),onClick:r[2]||=(0,t.withModifiers)(()=>{},[`stop`]),onWheel:(0,t.withModifiers)(p,[`prevent`])},null,44,Nb),(0,t.createElementVNode)(`div`,Pb,[(0,t.createElementVNode)(`button`,{type:`button`,"aria-label":`缩小`,onClick:r[3]||=(0,t.withModifiers)(e=>f(-.2),[`stop`])},[(0,t.createVNode)(i,{icon:`zoom-out-line`})]),(0,t.createElementVNode)(`button`,{type:`button`,"aria-label":`重置`,onClick:r[4]||=(0,t.withModifiers)(e=>s.value=1,[`stop`])},[(0,t.createVNode)(i,{icon:`aspect-ratio-line`})]),(0,t.createElementVNode)(`button`,{type:`button`,"aria-label":`放大`,onClick:r[5]||=(0,t.withModifiers)(e=>f(.2),[`stop`])},[(0,t.createVNode)(i,{icon:`zoom-in-line`})])]),(0,t.unref)(c).length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Fb,(0,t.toDisplayString)((0,t.unref)(a)+1)+` / `+(0,t.toDisplayString)((0,t.unref)(c).length),1)):(0,t.createCommentVNode)(``,!0)],4)):(0,t.createCommentVNode)(``,!0)]),_:1})])}}}),Lb=v({default:()=>Rb}),Rb=S(Ib,[[`__scopeId`,`data-v-98059a31`]]),zb=Symbol(`FouImagePreviewGroup`),Bb=[`src`,`alt`,`loading`],Vb={key:0,class:`fou-image__mask`},Hb=(0,t.defineComponent)({name:`FouImage`,__name:`index`,props:{src:{default:``},fit:{default:`cover`},alt:{default:``},lazy:{type:Boolean,default:!1},preview:{type:Boolean,default:!0},previewSrcList:{default:()=>[]},initialIndex:{default:0},hideOnClickModal:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.inject)(zb,null),i=(0,t.ref)(!1),a=(0,t.computed)(()=>n.previewSrcList.length?n.previewSrcList:n.src?[n.src]:[]),o=(0,t.computed)(()=>{if(!n.previewSrcList.length)return 0;let e=n.previewSrcList.indexOf(n.src||``);return e>=0?e:n.initialIndex}),s=(0,t.computed)(()=>n.preview&&(!!n.src||n.previewSrcList.length>0));(0,t.watch)(()=>n.src,(e,t)=>{r&&(t&&r.unregister(t),e&&r.register(e))},{immediate:!0}),(0,t.onUnmounted)(()=>{n.src&&r?.unregister(n.src)});let c=()=>{if(s.value){if(r&&n.src){r.open(n.src);return}i.value=!0}};return(n,l)=>{let u=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-image`,{"is-preview":(0,t.unref)(s)}]),onClick:c},[(0,t.createElementVNode)(`img`,{class:`fou-image__inner`,src:e.src,alt:e.alt,loading:e.lazy?`lazy`:void 0,style:(0,t.normalizeStyle)({objectFit:e.fit})},null,12,Bb),(0,t.unref)(s)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vb,[(0,t.createVNode)(u,{icon:`zoom-in-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(r)?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(Rb,{key:1,modelValue:(0,t.unref)(i),"onUpdate:modelValue":l[0]||=e=>(0,t.isRef)(i)?i.value=e:null,"url-list":(0,t.unref)(a),"initial-index":(0,t.unref)(o),"hide-on-click-modal":e.hideOnClickModal},null,8,[`modelValue`,`url-list`,`initial-index`,`hide-on-click-modal`]))],2)}}}),Ub=v({default:()=>Wb}),Wb=S(Hb,[[`__scopeId`,`data-v-7a1a7c78`]]),Gb={class:`fou-image-preview-group`},Kb=(0,t.defineComponent)({name:`FouImagePreviewGroup`,__name:`index`,setup(e){let n=(0,t.ref)([]),r=(0,t.ref)(!1),i=(0,t.ref)(0);return(0,t.provide)(zb,{register:e=>{e&&!n.value.includes(e)&&(n.value=[...n.value,e])},unregister:e=>{n.value=n.value.filter(t=>t!==e)},open:e=>{let t=n.value.indexOf(e);i.value=t>=0?t:0,r.value=!0}}),(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gb,[(0,t.renderSlot)(e.$slots,`default`),(0,t.createVNode)(Rb,{modelValue:(0,t.unref)(r),"onUpdate:modelValue":a[0]||=e=>(0,t.isRef)(r)?r.value=e:null,"url-list":(0,t.unref)(n),"initial-index":(0,t.unref)(i),onSwitch:a[1]||=e=>i.value=e},null,8,[`modelValue`,`url-list`,`initial-index`])]))}}),qb=v({default:()=>Jb}),Jb=Kb,Yb=[`value`,`disabled`,`type`,`aria-label`,`onInput`,`onKeydown`,`onFocus`],Xb=(0,t.defineComponent)({name:`FouInputOtp`,__name:`index`,props:{modelValue:{default:``},length:{default:6},size:{default:`default`},disabled:{type:Boolean,default:!1},mask:{type:Boolean,default:!1},numeric:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`complete`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)([]),s=(0,t.computed)(()=>{let e=String(r.modelValue||``).slice(0,r.length).split(``),t=[];for(let n=0;n<r.length;n++)t.push(e[n]??``);return t}),c=(e,t)=>{o.value[t]=e},l=e=>{let t=e.join(``);i(`update:modelValue`,t),i(`change`,t),t.length===r.length&&!e.includes(``)&&i(`complete`,t)},u=e=>{(0,t.nextTick)(()=>o.value[e]?.focus())},d=(e,t)=>{let n=e.target.value;r.numeric&&(n=n.replace(/\D/g,``)),n=n.slice(-1);let i=[...s.value];i[t]=n,n&&t<r.length-1&&u(t+1),l(i)},f=(e,t)=>{if(e.key===`Backspace`){let n=[...s.value];n[t]?(n[t]=``,l(n)):t>0&&(n[t-1]=``,l(n),u(t-1)),e.preventDefault()}else e.key===`ArrowLeft`&&t>0?u(t-1):e.key===`ArrowRight`&&t<r.length-1&&u(t+1)},p=(e,t)=>{e.target.select()},m=e=>{e.preventDefault();let t=e.clipboardData?.getData(`text`)??``;r.numeric&&(t=t.replace(/\D/g,``));let n=t.slice(0,r.length).split(``),i=[...s.value];n.forEach((e,t)=>i[t]=e),l(i),u(Math.min(n.length,r.length-1))};return(0,t.watch)(()=>r.length,()=>o.value=[]),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-otp`,[`fou-otp--${e.size}`,{"is-disabled":e.disabled}]]),onPaste:m},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s.value,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:r,ref_for:!0,ref:e=>c(e,r),class:(0,t.normalizeClass)([`fou-otp__input`,{"is-filled":!!n}]),value:n,disabled:e.disabled,type:e.mask?`password`:`text`,inputmode:`numeric`,maxlength:`1`,"aria-label":`验证码第 ${r+1} 位`,onInput:e=>d(e,r),onKeydown:e=>f(e,r),onFocus:e=>p(e,r)},null,42,Yb))),128))],34))}}),Zb=v({default:()=>Qb}),Qb=S(Xb,[[`__scopeId`,`data-v-f3046b65`]]),$b={class:`fou-input-tag__text`},ex=[`onClick`],tx={key:0,class:`fou-input-tag__more`},nx=[`value`,`placeholder`,`disabled`],rx=(0,t.defineComponent)({name:`FouInputTag`,__name:`index`,props:{modelValue:{default:()=>[]},placeholder:{default:`请输入后回车`},disabled:{type:Boolean,default:!1},max:{default:0},collapseTags:{type:Boolean,default:!1},collapseTagsTooltip:{type:Boolean},closable:{type:Boolean,default:!0},size:{default:`default`},delimiter:{default:`,`},trigger:{default:`Enter`}},emits:[`update:modelValue`,`change`,`add`,`remove`],setup(e,{emit:n}){let r=e,i=n,a=di(()=>r.disabled),{triggerBlur:o,triggerChange:s}=fi(),c=(0,t.ref)(null),l=(0,t.ref)(``),u=(0,t.ref)(!1),d=(0,t.computed)(()=>Array.isArray(r.modelValue)?r.modelValue:[]),f=(0,t.computed)(()=>r.max>0&&d.value.length>=r.max),p=(0,t.computed)(()=>r.collapseTags&&d.value.length>1?d.value.slice(0,1):d.value),m=(0,t.computed)(()=>r.collapseTags&&d.value.length>1?d.value.length-1:0),h=(0,t.computed)(()=>{let e=r.delimiter;return Array.isArray(e)?e:[e]}),g=e=>{let t=e.trim();if(!t||a.value||f.value){l.value=``;return}if(d.value.includes(t)){l.value=``;return}let n=[...d.value,t];i(`update:modelValue`,n),i(`change`,n),i(`add`,t),s(),l.value=``},_=e=>{if(a.value)return;let t=d.value[e],n=d.value.filter((t,n)=>n!==e);i(`update:modelValue`,n),i(`change`,n),i(`remove`,t),s()},v=e=>{let t=e.target.value,n=h.value.find(e=>e&&t.includes(e));if(n){g(t.split(n)[0]||``);return}l.value=t},y=e=>{let t=e.key===`Enter`,n=e.key===` `;if(r.trigger===`Enter`&&t||r.trigger===`Space`&&n||r.trigger===`Both`&&(t||n)){e.preventDefault(),g(l.value);return}e.key===`Backspace`&&!l.value&&d.value.length&&_(d.value.length-1)},b=()=>{u.value=!1,l.value&&g(l.value),o()},x=()=>{a.value||c.value?.focus()};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-input-tag`,[`fou-input-tag--${e.size}`,{"is-disabled":(0,t.unref)(a),"is-focused":(0,t.unref)(u),"is-collapse":e.collapseTags}]]),onClick:x},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(p),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:`${n}-${r}`,class:`fou-input-tag__tag`},[(0,t.createElementVNode)(`span`,$b,(0,t.toDisplayString)(n),1),!(0,t.unref)(a)&&e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-input-tag__close`,"aria-label":`删除`,onClick:(0,t.withModifiers)(e=>_(r),[`stop`])},` × `,8,ex)):(0,t.createCommentVNode)(``,!0)]))),128)),(0,t.unref)(m)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,tx,`+`+(0,t.toDisplayString)((0,t.unref)(m)),1)):(0,t.createCommentVNode)(``,!0),!(0,t.unref)(a)&&!(0,t.unref)(f)?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,ref_key:`inputRef`,ref:c,class:`fou-input-tag__inner`,value:(0,t.unref)(l),placeholder:(0,t.unref)(d).length?``:e.placeholder,disabled:(0,t.unref)(a),onInput:v,onKeydown:y,onFocus:r[0]||=e=>u.value=!0,onBlur:b},null,40,nx)):(0,t.createCommentVNode)(``,!0)],2))}}),ix=v({default:()=>ax}),ax=S(rx,[[`__scopeId`,`data-v-d22da89a`]]),ox=(0,t.defineComponent)({name:`FouKbd`,__name:`index`,props:{size:{default:`default`}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`kbd`,{class:(0,t.normalizeClass)([`fou-kbd`,[`fou-kbd--${e.size}`]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),sx=v({default:()=>cx}),cx=S(ox,[[`__scopeId`,`data-v-7af3b298`]]),lx=(0,t.defineComponent)({name:`FouLayoutContainer`,__name:`index`,props:{direction:{default:`horizontal`},fit:{type:Boolean,default:!1},gap:{default:12}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-layout`,[`fou-layout--${e.direction}`]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),ux=v({default:()=>dx}),dx=S(lx,[[`__scopeId`,`data-v-8f7fef83`]]),fx=[`href`,`target`,`rel`],px={key:1,class:`fou-link__text`},mx=(0,t.defineComponent)({name:`FouLink`,__name:`index`,props:{type:{default:`default`},href:{},target:{},underline:{type:[Boolean,String],default:`hover`},disabled:{type:Boolean,default:!1},icon:{},iconRight:{}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.target===`_blank`?`noopener noreferrer`:void 0),o=e=>{if(r.disabled){e.preventDefault(),e.stopPropagation();return}i(`click`,e)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`a`,{class:(0,t.normalizeClass)([`fou-link`,[`fou-link--${e.type}`,{"is-underline":e.underline===!0||e.underline===`always`,"is-hover-underline":e.underline===`hover`||e.underline===!0,"is-disabled":e.disabled}]]),href:e.disabled?void 0:e.href,target:e.target,rel:(0,t.unref)(a),onClick:o},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,icon:e.icon,class:`fou-link__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,px,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),e.iconRight?((0,t.openBlock)(),(0,t.createBlock)(i,{key:2,icon:e.iconRight,class:`fou-link__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0)],10,fx)}}}),hx=v({default:()=>gx}),gx=S(mx,[[`__scopeId`,`data-v-c2be34b7`]]),_x=[`href`,`target`],vx={class:`fou-link-preview__content`},yx={class:`fou-link-preview__host`},bx={key:0,class:`fou-link-preview__title`},xx={key:1,class:`fou-link-preview__desc`},Sx=(0,t.defineComponent)({name:`FouLinkPreview`,__name:`index`,props:{href:{},title:{default:``},description:{default:``},image:{default:``},target:{default:`_blank`},openDelay:{default:200},closeDelay:{default:150}},emits:[`visibleChange`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)({}),l,u,d=!1,f=(0,t.computed)(()=>{try{return new URL(r.href).hostname}catch{return r.href}}),p=()=>{l&&clearTimeout(l),u&&clearTimeout(u)},m=async()=>{p(),l=setTimeout(async()=>{s.value=!0,i(`visibleChange`,!0),await(0,t.nextTick)(),b()},r.openDelay)},h=()=>{p(),u=setTimeout(()=>{d||(s.value=!1,i(`visibleChange`,!1))},r.closeDelay)},g=()=>m(),_=()=>h(),v=()=>{d=!0,p()},y=()=>{d=!1,h()},b=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+10;i+r.height>window.innerHeight-4&&(i=n.top-r.height-10);let s=n.left;s=Math.min(Math.max(4,s),window.innerWidth-r.width-4),i=Math.max(4,i),c.value={position:`fixed`,top:`${i}px`,left:`${s}px`,width:`${Math.min(320,window.innerWidth-8)}px`,zIndex:`2100`}},x=()=>s.value&&b();return(0,t.watch)(s,e=>{e?(window.addEventListener(`scroll`,x,!0),window.addEventListener(`resize`,x)):(window.removeEventListener(`scroll`,x,!0),window.removeEventListener(`resize`,x))}),(0,t.onBeforeUnmount)(()=>{p(),window.removeEventListener(`scroll`,x,!0),window.removeEventListener(`resize`,x)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`a`,{ref_key:`triggerRef`,ref:a,class:`fou-link-preview`,href:e.href,target:e.target,rel:`noopener noreferrer`,onMouseenter:g,onMouseleave:_},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.href),1)],!0)],40,_x),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-link-preview-fade`},{default:(0,t.withCtx)(()=>[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`cardRef`,ref:o,class:`fou-link-preview__panel`,style:(0,t.normalizeStyle)(c.value),onMouseenter:v,onMouseleave:y},[e.image?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-link-preview__image`,style:(0,t.normalizeStyle)({backgroundImage:`url(${e.image})`})},null,4)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,vx,[(0,t.createElementVNode)(`div`,yx,[(0,t.createVNode)(i,{icon:`links-line`}),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(f.value),1)]),e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bx,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xx,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)])],36)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],64)}}}),Cx=v({default:()=>wx}),wx=S(Sx,[[`__scopeId`,`data-v-3733dca3`]]),Tx=[`value`,`rows`,`placeholder`,`disabled`],Ex=[`value`,`placeholder`,`disabled`],Dx={class:`fou-mention__list`},Ox=[`onMousedown`,`onMouseenter`],kx={key:0,class:`fou-mention__avatar`},Ax={class:`fou-mention__label`},jx=(0,t.defineComponent)({name:`FouMention`,__name:`index`,props:{modelValue:{default:``},options:{default:()=>[]},triggerChar:{default:`@`},placeholder:{default:`输入 @ 提及他人`},size:{default:`default`},disabled:{type:Boolean,default:!1},type:{default:`text`},rows:{default:3}},emits:[`update:modelValue`,`select`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(0),l=(0,t.ref)(``),u=(0,t.ref)({}),d=(0,t.computed)(()=>{let e=l.value.toLowerCase();return r.options.filter(t=>t.label.toLowerCase().includes(e))}),f=e=>{let t=e.target.value;i(`update:modelValue`,t),p(t,e.target.selectionStart??t.length)},p=(e,t)=>{let n=e.slice(0,t),i=n.lastIndexOf(r.triggerChar);if(i===-1){s.value=!1;return}let a=n.slice(i+1);if(/\s/.test(a)){s.value=!1;return}l.value=a,c.value=0,m()},m=async()=>{s.value=!0,await(0,t.nextTick)(),h()},h=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+4;i+r.height>window.innerHeight-4&&(i=n.top-r.height-4);let s=Math.min(Math.max(4,n.left),window.innerWidth-r.width-4);i=Math.max(4,i),u.value={position:`fixed`,top:`${i}px`,left:`${s}px`,width:`${Math.max(n.width,180)}px`,zIndex:`2100`}},g=e=>{let n=a.value;if(!n)return;let o=r.modelValue,c=n.selectionStart??o.length,l=o.slice(0,c).lastIndexOf(r.triggerChar),u=o.slice(0,l),d=o.slice(c),f=`${r.triggerChar}${e.label} `,p=u+f+d;i(`update:modelValue`,p),i(`select`,e),s.value=!1,(0,t.nextTick)(()=>{let e=(u+f).length;n.focus(),n.setSelectionRange(e,e)})},_=e=>g(e),v=e=>{if(s.value){if(e.key===`ArrowDown`)e.preventDefault(),c.value<d.value.length-1&&c.value++;else if(e.key===`ArrowUp`)e.preventDefault(),c.value>0&&c.value--;else if(e.key===`Enter`){e.preventDefault();let t=d.value[c.value];t&&g(t)}else e.key===`Escape`&&(s.value=!1)}},y=e=>{if([`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){let t=e.target;p(t.value,t.selectionStart??0)}},b=e=>{s.value&&(o.value?.contains(e.target)||(s.value=!1))};return(0,t.watch)(s,e=>{e?document.addEventListener(`mousedown`,b,!0):document.removeEventListener(`mousedown`,b,!0)}),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`mousedown`,b,!0)),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-mention`,[`fou-mention--${e.size}`,{"is-disabled":e.disabled}]])},[e.type===`textarea`?((0,t.openBlock)(),(0,t.createElementBlock)(`textarea`,{key:0,ref_key:`inputRef`,ref:a,class:`fou-mention__input`,value:e.modelValue,rows:e.rows,placeholder:e.placeholder,disabled:e.disabled,onInput:f,onKeydown:v,onKeyup:y},null,40,Tx)):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,ref_key:`inputRef`,ref:a,class:`fou-mention__input`,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,onInput:f,onKeydown:v,onKeyup:y},null,40,Ex)),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`panelRef`,ref:o,class:`fou-mention__panel`,style:(0,t.normalizeStyle)(u.value)},[(0,t.createElementVNode)(`ul`,Dx,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(d.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.value,class:(0,t.normalizeClass)([`fou-mention__option`,{"is-active":n===c.value}]),onMousedown:(0,t.withModifiers)(t=>_(e),[`prevent`]),onMouseenter:e=>c.value=n},[e.avatar?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,kx,(0,t.toDisplayString)(e.avatar),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,Ax,(0,t.toDisplayString)(e.label),1)],42,Ox))),128))])],4)):(0,t.createCommentVNode)(``,!0)]))],2))}}),Mx=v({default:()=>Nx}),Nx=S(jx,[[`__scopeId`,`data-v-f948204c`]]),Px=Symbol(`FouRouteMenu`),Fx={class:`fou-route-menu__list`},Ix=(0,t.defineComponent)({name:`FouMenuRoot`,__name:`FouMenuRoot`,props:{mode:{default:`vertical`},defaultActive:{default:``},collapse:{type:Boolean,default:!1},uniqueOpened:{type:Boolean,default:!1},defaultOpeneds:{default:()=>[]},menuTrigger:{default:`click`}},setup(e,{expose:n}){let r=e,i=(0,t.ref)(r.defaultActive),a=(0,t.ref)(new Set);(0,t.watch)(()=>r.defaultActive,e=>{e&&(i.value=e)}),(0,t.watch)(()=>[...r.defaultOpeneds],e=>{e.forEach(e=>f(e))},{immediate:!0});let o=(0,t.computed)(()=>r.mode),s=(0,t.computed)(()=>r.collapse),c=(0,t.computed)(()=>r.uniqueOpened),l=(0,t.computed)(()=>r.menuTrigger),u=(0,t.computed)(()=>i.value),d=e=>a.value.has(e),f=e=>{if(r.collapse||r.mode===`horizontal`){let t=new Set;for(let n of a.value)(e===n||e.startsWith(`${n}/`))&&t.add(n);t.add(e),a.value=t;return}let t=new Set;if(r.uniqueOpened&&r.mode===`vertical`)for(let n of a.value)(e===n||e.startsWith(`${n}/`))&&t.add(n);else for(let e of a.value)t.add(e);t.add(e),a.value=t},p=e=>{let t=new Set;for(let n of a.value)n===e||n.startsWith(`${e}/`)||t.add(n);a.value=t},m=()=>{a.value=new Set},h=null,g=()=>!!(document.querySelector(`.fou-menu-flyout-panel:hover`)||document.querySelector(`.fou-route-menu-sub.is-popup > .fou-route-menu-sub__title:hover`)||document.querySelector(`.fou-route-menu.is-collapse .fou-route-menu-sub__title:hover`)||document.querySelector(`.fou-route-menu--horizontal .fou-route-menu-sub__title:hover`)||document.querySelector(`.fou-route-menu-item__tip:hover`));return(0,t.onBeforeUnmount)(()=>{h&&clearTimeout(h)}),(0,t.provide)(Px,{mode:o,collapse:s,activeIndex:u,uniqueOpened:c,menuTrigger:l,isSubOpen:d,toggleSub:e=>{d(e)?p(e):f(e)},openSub:f,closeSub:p,enterFlyout:e=>{h&&=(clearTimeout(h),null),f(e)},leaveFlyout:()=>{h&&clearTimeout(h);let e=r.mode===`horizontal`?280:160;h=setTimeout(()=>{if(g()){h=null;return}(r.collapse||r.mode===`horizontal`)&&m(),h=null},e)},selectItem:e=>{i.value=e},isActive:e=>{let t=i.value;return t===e||t.startsWith(`${e}/`)}}),n({open:f,close:p,closeAll:m}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{class:(0,t.normalizeClass)([`fou-route-menu`,[`fou-route-menu--${e.mode}`,{"is-collapse":e.collapse}]]),role:`menu`},[(0,t.createElementVNode)(`ul`,Fx,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],2))}}),Lx=v({default:()=>Rx}),Rx=S(Ix,[[`__scopeId`,`data-v-2586617d`]]),zx=`加载中...`,Bx=3e3;function Vx(e,...t){return e}var Hx=(0,t.reactive)({lock:!1,device:`desktop`,theme:{layout:`vertical`,autoHideColumnMenu:!1}}),Ux=()=>({lock:(0,t.computed)(()=>Hx.lock),device:(0,t.computed)(()=>Hx.device),theme:(0,t.computed)(()=>Hx.theme),foldSideBar:()=>{}});function Wx(e){return/^(https?:|mailto:|tel:|http)/.test(e||``)}var Gx={class:`fou-route-menu-item__inner`},Kx={class:`fou-route-menu-item__icon-wrap`},qx=[`title`],Jx={class:`fou-route-menu-item__tip-title`},Yx=(0,t.defineComponent)({name:`FouMenuItem`,__name:`FouMenuItem`,props:{itemOrMenu:{type:Object,default:()=>({})}},setup(e){let n=e,i=(0,t.inject)(Px,null),a=null,s=null;try{a=(0,o.useRoute)(),s=(0,o.useRouter)()}catch{a=null,s=null}let c=Ux(),l=(0,t.computed)(()=>{try{return c.device?.value??c.device??`desktop`}catch{return`desktop`}}),u=(0,t.computed)(()=>{try{return c.theme?.value??c.theme??{layout:`vertical`}}catch{return{layout:`vertical`}}}),d=()=>{try{c.foldSideBar?.()}catch{}},{enter:f,exit:p}=(0,r.useFullscreen)(),m=()=>{u.value.layout===`column`&&u.value.autoHideColumnMenu&&l.value!==`mobile`&&d()},h=(0,t.ref)(null),g=(0,t.ref)(!1),_=(0,t.ref)({}),v=null,y=(0,t.computed)(()=>n.itemOrMenu.path),b=(0,t.computed)(()=>i?.activeIndex.value===y.value),x=(0,t.computed)(()=>i?.collapse.value??!1),S=(0,t.computed)(()=>Vx(n.itemOrMenu.meta?.title||``)),C=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeType||`info`),w=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeEffect||`dark`),T=(0,t.computed)(()=>{let e=n.itemOrMenu.meta?.dot;return e===!0?`danger`:typeof e==`string`?e:`danger`}),E=()=>{let e=h.value;if(!e)return;let t=e.getBoundingClientRect();_.value={position:`fixed`,top:`${Math.round(t.top+t.height/2)}px`,left:`${Math.round(t.right+10)}px`,transform:`translateY(-50%)`,zIndex:`4100`}},D=()=>{v&&=(clearTimeout(v),null),x.value&&(h.value?.closest(`.fou-route-menu-sub__list.is-flyout`)||(E(),g.value=!0))},O=()=>{v&&clearTimeout(v),v=setTimeout(()=>{g.value=!1,v=null},80)};(0,t.onBeforeUnmount)(()=>{v&&clearTimeout(v)});let A=()=>{i?.selectItem(y.value),m(),(0,t.nextTick)(()=>{let e=n.itemOrMenu.path,t=n.itemOrMenu.meta.target,r=n.itemOrMenu.meta.fullscreen;t===`_blank`?((Wx(e)||a?.path!==e)&&window.open(e),s?.push(`/redirect`).catch(()=>{})):Wx(e)?globalThis.location.href=e:(!a||a.path!==e)&&(l.value===`mobile`&&d(),s?.push(n.itemOrMenu.path).catch(()=>{})),setTimeout(()=>{r?f():p()},1e3)})};return(n,r)=>{let i=k,a=ly,o=fl;return(0,t.openBlock)(),(0,t.createElementBlock)(`li`,{ref_key:`itemRef`,ref:h,class:(0,t.normalizeClass)([`fou-route-menu-item`,{"is-active":(0,t.unref)(b),"is-collapse-tip":(0,t.unref)(x)}]),role:`menuitem`,onClick:A,onMouseenter:D,onMouseleave:O},[(0,t.createElementVNode)(`div`,Gx,[(0,t.createElementVNode)(`span`,Kx,[(0,t.createVNode)(i,{icon:e.itemOrMenu.meta?.icon||`menu-line`,"is-custom-svg":e.itemOrMenu.meta?.isCustomSvg,title:(0,t.unref)(S)},null,8,[`icon`,`is-custom-svg`,`title`]),e.itemOrMenu.meta?.dot?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,class:`fou-route-menu-item__dot`,type:(0,t.unref)(T)},null,8,[`type`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,{class:`fou-route-menu-item__text`,title:(0,t.unref)(S)},(0,t.toDisplayString)((0,t.unref)(S)),9,qx),e.itemOrMenu.meta?.badge?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,class:(0,t.normalizeClass)([`fou-route-menu-item__badge`,[`fou-menu-tag--${(0,t.unref)(w)}`]]),size:`small`,type:(0,t.unref)(C),effect:(0,t.unref)(w)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Vx)(e.itemOrMenu.meta.badge)),1)]),_:1},8,[`class`,`type`,`effect`])):(0,t.createCommentVNode)(``,!0)]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`fou-route-menu-item__tip`,role:`tooltip`,style:(0,t.normalizeStyle)((0,t.unref)(_)),onMouseenter:D,onMouseleave:O},[r[0]||=(0,t.createElementVNode)(`i`,{class:`fou-route-menu-item__tip-arrow`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`span`,Jx,(0,t.toDisplayString)((0,t.unref)(S)),1),e.itemOrMenu.meta?.badge?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,size:`small`,type:(0,t.unref)(C),effect:(0,t.unref)(w)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Vx)(e.itemOrMenu.meta.badge)),1)]),_:1},8,[`type`,`effect`])):(0,t.createCommentVNode)(``,!0)],36),[[t.vShow,(0,t.unref)(x)&&(0,t.unref)(g)]])]))],34)}}}),Xx=v({default:()=>Zx}),Zx=S(Yx,[[`__scopeId`,`data-v-81230a6b`]]),Qx=(0,t.defineComponent)({name:`FouMenu`,__name:`index`,props:{item:{type:Object,required:!0},layout:{type:String,default:``}},setup(e){let n=Object.assign({"./components/FouMenuItem.vue":Xx,"./components/FouSubMenu.vue":sS}),r={};Object.getOwnPropertyNames(n).forEach(e=>{r[e.replaceAll(/(\/|components|\.|vue)/g,``)]=n[e].default});let i=e,a=(0,t.computed)(()=>i.item.children&&i.item.children.some(e=>e.meta&&e.meta.hidden!==!0)?r.FouSubMenu:r.FouMenuItem);return(n,r)=>{let i=(0,t.resolveComponent)(`fou-menu`);return(0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(a)),{"item-or-menu":e.item,layout:e.layout},{default:(0,t.withCtx)(()=>[e.item.children&&e.item.children.length>0?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(e.item.children,n=>((0,t.openBlock)(),(0,t.createBlock)(i,{key:n.path,item:n,layout:e.layout},null,8,[`item`,`layout`]))),128)):(0,t.createCommentVNode)(``,!0)]),_:1},8,[`item-or-menu`,`layout`])}}}),$x=v({default:()=>eS}),eS=Qx,tS={class:`fou-route-menu-sub__icon-wrap`},nS=[`title`],rS={key:2,class:`fou-route-menu-sub__more`},iS={key:0,class:`fou-menu-flyout-panel__arrow`,"aria-hidden":`true`},aS={key:1,class:`fou-menu-flyout-panel__head`},oS=(0,t.defineComponent)({name:`FouSubMenu`,__name:`FouSubMenu`,props:{itemOrMenu:{type:Object,default:()=>({})},layout:{type:String,default:``}},setup(e){let n=e,r=(0,t.inject)(Px,null),i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)({}),c=(0,t.ref)(`right`),l=null,u=(0,t.computed)(()=>n.itemOrMenu.path),d=(0,t.computed)(()=>Y(n.itemOrMenu.meta?.title||``)),f=(0,t.computed)(()=>r?.mode.value===`horizontal`),p=(0,t.computed)(()=>r?.collapse.value??!1),m=(0,t.computed)(()=>f.value||p.value),h=(0,t.computed)(()=>m.value),g=(0,t.computed)(()=>r?.isSubOpen(u.value)??!1),_=(0,t.computed)(()=>r?.isActive(u.value)??!1),v=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeType||`info`),y=(0,t.computed)(()=>n.itemOrMenu.meta?.badgeEffect||`dark`),b=(0,t.computed)(()=>{let e=n.itemOrMenu.meta?.dot;return e===!0?`danger`:typeof e==`string`?e:`danger`}),x=(0,t.computed)(()=>g.value),S=()=>{let e=a.value;if(!e||!h.value)return;let t=e.getBoundingClientRect(),n=u.value.split(`/`).filter(Boolean).length,r=!!e.closest(`.fou-menu-flyout-panel`),i=0,o=0,l=`right`,d=t.left+t.width/2,p=t.top+t.height/2;f.value&&!r?(l=`bottom`,i=Math.round(d-100),o=Math.round(t.bottom+6),i=Math.min(Math.max(8,i),window.innerWidth-200-8)):(i=Math.round(t.right+10),o=Math.round(t.top),i+200>window.innerWidth-8?(i=Math.round(t.left-200-10),l=`left`):l=`right`);let m=window.innerHeight-16;o>m-80&&(o=Math.max(8,m-240)),o<8&&(o=8);let g=Math.round(d-i-5),_=Math.round(p-o-5);g=Math.min(Math.max(12,g),178),_=Math.min(Math.max(12,_),220),c.value=l,s.value={position:`fixed`,top:`${o}px`,left:`${i}px`,zIndex:String(5200+n),"--fou-flyout-arrow-x":`${g}px`,"--fou-flyout-arrow-y":`${_}px`}},C=()=>{m.value?r?.enterFlyout(u.value):r?.openSub(u.value),(0,t.nextTick)(()=>{S(),requestAnimationFrame(()=>S())})},w=()=>{if(r){if(m.value){g.value?r.leaveFlyout():C();return}r.toggleSub(u.value)}},T=()=>{l&&=(clearTimeout(l),null),r&&(r.menuTrigger.value===`hover`||m.value)&&C()},E=e=>{let t=e.relatedTarget;if(!(t&&(i.value?.contains(t)||o.value?.contains(t)))){if(!m.value){if(r?.menuTrigger.value!==`hover`)return;l&&clearTimeout(l),l=setTimeout(()=>{r?.closeSub(u.value),l=null},120);return}r?.leaveFlyout()}};return(0,t.watch)(g,e=>{e&&h.value&&(0,t.nextTick)(()=>S())}),(0,t.onBeforeUnmount)(()=>{l&&clearTimeout(l)}),(n,r)=>{let l=eS,u=k,f=ly,p=fl;return e.itemOrMenu.meta&&e.itemOrMenu.meta.levelHidden?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(e.itemOrMenu.children,n=>((0,t.openBlock)(),(0,t.createBlock)(l,{key:n.path,item:n,layout:e.layout},null,8,[`item`,`layout`]))),128)):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:1,ref_key:`subRef`,ref:i,class:(0,t.normalizeClass)([`fou-route-menu-sub`,{"is-open":(0,t.unref)(g),"is-active":(0,t.unref)(_),"is-popup":(0,t.unref)(m)}]),role:`none`,onMouseenter:T,onMouseleave:E},[(0,t.createElementVNode)(`div`,{ref_key:`titleRef`,ref:a,class:`fou-route-menu-sub__title`,onClick:w},[(0,t.createElementVNode)(`span`,tS,[(0,t.createVNode)(u,{icon:e.itemOrMenu.meta?.icon||`folder-line`,"is-custom-svg":e.itemOrMenu.meta?.isCustomSvg,title:(0,t.unref)(d)},null,8,[`icon`,`is-custom-svg`,`title`]),e.itemOrMenu.meta?.dot?((0,t.openBlock)(),(0,t.createBlock)(f,{key:0,class:`fou-route-menu-sub__dot`,type:(0,t.unref)(b)},null,8,[`type`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,{class:`fou-route-menu-sub__text`,title:(0,t.unref)(d)},(0,t.toDisplayString)((0,t.unref)(d)),9,nS),e.itemOrMenu.meta?.badge?((0,t.openBlock)(),(0,t.createBlock)(p,{key:0,class:(0,t.normalizeClass)([`fou-route-menu-sub__badge`,[`fou-menu-tag--${(0,t.unref)(y)}`]]),size:`small`,type:(0,t.unref)(v),effect:(0,t.unref)(y)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(Y)(e.itemOrMenu.meta.badge)),1)]),_:1},8,[`class`,`type`,`effect`])):(0,t.createCommentVNode)(``,!0),(0,t.unref)(m)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,rS,[(0,t.createVNode)(u,{icon:`arrow-right-s-line`})])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`fou-route-menu-sub__arrow`,{"is-open":(0,t.unref)(g)}])},[(0,t.createVNode)(u,{icon:`arrow-down-s-line`})],2))],512),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!(0,t.unref)(h)},[(0,t.withDirectives)((0,t.createElementVNode)(`ul`,{ref_key:`listRef`,ref:o,class:(0,t.normalizeClass)([`fou-route-menu-sub__list`,{"is-flyout":(0,t.unref)(h),"fou-menu-flyout-panel":(0,t.unref)(h),[`is-placement-${(0,t.unref)(c)}`]:(0,t.unref)(h)}]),style:(0,t.normalizeStyle)((0,t.unref)(h)?(0,t.unref)(s):void 0),onMouseenter:T,onMouseleave:E},[(0,t.unref)(h)?((0,t.openBlock)(),(0,t.createElementBlock)(`i`,iS)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(h)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,aS,(0,t.toDisplayString)((0,t.unref)(d)),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],38),[[t.vShow,(0,t.unref)(x)]])],8,[`disabled`]))],34))}}}),sS=v({default:()=>cS}),cS=S(oS,[[`__scopeId`,`data-v-3f0479e1`]]),lS=Symbol(`FouMenuNav`),uS={class:`fou-menu-nav-item__inner`},dS={class:`fou-menu-nav-item__title`},fS=(0,t.defineComponent)({name:`FouMenuNavItem`,__name:`FouMenuNavItem`,props:{index:{},title:{default:``},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(lS,null),i=null;try{i=(0,o.useRouter)()}catch{i=null}let a=(0,t.computed)(()=>r?.activeIndex.value===n.index),s=()=>{n.disabled||!r||(r.selectItem(n.index),r.router.value&&i&&i.push(n.index).catch(()=>{}))};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{class:(0,t.normalizeClass)([`fou-menu-nav-item`,{"is-active":(0,t.unref)(a),"is-disabled":e.disabled}]),role:`menuitem`,onClick:s},[(0,t.createElementVNode)(`div`,uS,[(0,t.renderSlot)(n.$slots,`icon`,{},void 0,!0),(0,t.createElementVNode)(`span`,dS,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])])],2))}}),pS=v({default:()=>mS}),mS=S(fS,[[`__scopeId`,`data-v-7d03eb13`]]),hS={class:`fou-menu-nav-sub__text`},gS={class:`fou-menu-nav-sub__list`},_S=(0,t.defineComponent)({name:`FouMenuNavSub`,__name:`FouMenuNavSub`,props:{index:{},title:{default:``}},setup(e){let n=e,r=(0,t.inject)(lS,null),i=(0,t.computed)(()=>r?.isSubOpen(n.index)??!1),a=(0,t.computed)(()=>{let e=r?.activeIndex.value??``;return e===n.index||e.startsWith(`${n.index}/`)}),o=()=>{r?.toggleSub(n.index)};return(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{class:(0,t.normalizeClass)([`fou-menu-nav-sub`,{"is-open":(0,t.unref)(i),"is-active":(0,t.unref)(a)}]),role:`none`},[(0,t.createElementVNode)(`div`,{class:`fou-menu-nav-sub__title`,onClick:o},[(0,t.renderSlot)(n.$slots,`icon`,{},void 0,!0),(0,t.createElementVNode)(`span`,hS,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-menu-nav-sub__arrow`,{"is-open":(0,t.unref)(i)}])},`▾`,2)]),(0,t.withDirectives)((0,t.createElementVNode)(`ul`,gS,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],512),[[t.vShow,(0,t.unref)(i)&&!(0,t.unref)(r)?.collapse.value]])],2))}}),vS=v({default:()=>yS}),yS=S(_S,[[`__scopeId`,`data-v-d43bbb7b`]]),bS={class:`fou-menu-nav__list`},xS=(0,t.defineComponent)({name:`FouMenuNav`,__name:`index`,props:{mode:{default:`vertical`},defaultActive:{default:``},defaultOpeneds:{default:()=>[]},collapse:{type:Boolean,default:!1},router:{type:Boolean,default:!1}},emits:[`select`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(r.defaultActive),o=(0,t.ref)(new Set(r.defaultOpeneds));(0,t.watch)(()=>r.defaultActive,e=>{e&&(a.value=e)}),(0,t.watch)(()=>r.defaultOpeneds,e=>{o.value=new Set(e||[])});let s=(0,t.computed)(()=>r.mode),c=(0,t.computed)(()=>r.collapse),l=(0,t.computed)(()=>r.defaultActive),u=(0,t.computed)(()=>a.value),d=(0,t.computed)(()=>r.router);return(0,t.provide)(lS,{mode:s,collapse:c,defaultActive:l,activeIndex:u,router:d,selectItem:e=>{a.value=e,i(`select`,e)},isSubOpen:e=>o.value.has(e),toggleSub:e=>{let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{class:(0,t.normalizeClass)([`fou-menu-nav`,[`fou-menu-nav--${e.mode}`,{"is-collapse":e.collapse,"is-horizontal":e.mode===`horizontal`}]]),role:`menu`},[(0,t.createElementVNode)(`ul`,bS,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],2))}}),SS=v({default:()=>CS}),CS=S(xS,[[`__scopeId`,`data-v-6d01fd65`]]),wS={class:`fou-notify__content`},TS={key:0,class:`fou-notify__title`},ES={key:1,class:`fou-notify__message`},DS=(0,t.defineComponent)({name:`FouNotificationItem`,__name:`FouNotificationItem`,props:{id:{},type:{},position:{},title:{},message:{},showClose:{type:Boolean},visible:{type:Boolean}},emits:[`close`],setup(e){let n=e,r=(0,t.computed)(()=>({success:`ri-checkbox-circle-line`,warning:`ri-alert-line`,info:`ri-information-line`,error:`ri-close-circle-line`})[n.type]);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)(t.Transition,{name:`fou-notify-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-notify`,[`fou-notify--${e.type}`,`fou-notify--${e.position}`]])},[(0,t.createElementVNode)(`i`,{class:(0,t.normalizeClass)([`fou-notify__icon`,(0,t.unref)(r)])},null,2),(0,t.createElementVNode)(`div`,wS,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,TS,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.message?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ES,(0,t.toDisplayString)(e.message),1)):(0,t.createCommentVNode)(``,!0)]),e.showClose?((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:`fou-notify__close ri-close-line`,onClick:i[0]||=e=>n.$emit(`close`)})):(0,t.createCommentVNode)(``,!0)],2),[[t.vShow,e.visible]])]),_:1}))}}),OS=v({default:()=>kS}),kS=DS,AS=(0,t.defineComponent)({name:`FouPage`,inheritAttrs:!1,__name:`index`,setup(e){return(e,n)=>{let r=or;return(0,t.openBlock)(),(0,t.createBlock)(r,(0,t.normalizeProps)((0,t.guardReactiveProps)(e.$attrs)),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)}}}),jS=v({default:()=>MS}),MS=AS,NS={class:`fou-page-header`},PS={key:0,class:`fou-page-header__breadcrumb`},FS={class:`fou-page-header__main`},IS={class:`fou-page-header__left`},LS={class:`fou-page-header__heading`},RS={key:0,class:`fou-page-header__title`},zS={key:1,class:`fou-page-header__content`},BS={key:0,class:`fou-page-header__extra`},VS=(0,t.defineComponent)({name:`FouPageHeader`,__name:`index`,props:{title:{default:``},content:{default:``},icon:{default:``}},emits:[`back`],setup(e,{emit:n}){let r=n;return(n,i)=>{let a=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,NS,[n.$slots.breadcrumb?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,PS,[(0,t.renderSlot)(n.$slots,`breadcrumb`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,FS,[(0,t.createElementVNode)(`div`,IS,[(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-page-header__back`,"aria-label":`返回`,onClick:i[0]||=e=>r(`back`)},[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[(0,t.createVNode)(a,{icon:e.icon||`arrow-left-line`},null,8,[`icon`])],!0)]),(0,t.createElementVNode)(`div`,LS,[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,RS,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),e.content||n.$slots.content?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zS,[(0,t.renderSlot)(n.$slots,`content`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)])):(0,t.createCommentVNode)(``,!0)])]),n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,BS,[(0,t.renderSlot)(n.$slots,`extra`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)])])}}}),HS=v({default:()=>US}),US=S(VS,[[`__scopeId`,`data-v-405076b1`]]),WS={class:`fou-page-main`},GS={key:0,class:`fou-page-main__header`},KS={class:`fou-page-main__heading`},qS={key:0,class:`fou-page-main__title`},JS={key:0,class:`fou-page-main__desc`},YS={key:0,class:`fou-page-main__extra`},XS={class:`fou-page-main__body`},ZS=(0,t.defineComponent)({name:`FouPageMain`,__name:`index`,props:{title:{default:``},description:{default:``}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`section`,WS,[e.title||n.$slots.title||n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`header`,GS,[(0,t.createElementVNode)(`div`,KS,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h2`,qS,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0)],!0),e.description||n.$slots.description?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,JS,[(0,t.renderSlot)(n.$slots,`description`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.description),1)],!0)])):(0,t.createCommentVNode)(``,!0)]),n.$slots.extra?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,YS,[(0,t.renderSlot)(n.$slots,`extra`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,XS,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])]))}}),QS=v({default:()=>$S}),$S=S(ZS,[[`__scopeId`,`data-v-bc32527c`]]),eC=(0,t.defineComponent)({name:`FouParagraph`,__name:`index`,props:{type:{default:``},indent:{type:Boolean,default:!1},lineClamp:{default:0}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{class:(0,t.normalizeClass)([`fou-paragraph`,[e.type?`fou-paragraph--${e.type}`:``,{"is-indent":e.indent,"is-line-clamp":e.lineClamp>0}]]),style:(0,t.normalizeStyle)(e.lineClamp>0?{WebkitLineClamp:String(e.lineClamp)}:void 0)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],6))}}),tC=v({default:()=>nC}),nC=S(eC,[[`__scopeId`,`data-v-a4c339e8`]]),rC={class:`fou-pwd-strength__bars`},iC={key:0,class:`fou-pwd-strength__label`},aC=(0,t.defineComponent)({name:`FouPasswordStrength`,__name:`index`,props:{password:{default:``},showLabel:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=String(n.password||``);if(!e)return{score:0,label:`weak`,text:``};let t=0;return e.length>=8&&t++,/[A-Z]/.test(e)&&/[a-z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^A-Za-z0-9]/.test(e)&&t++,e.length<6&&(t=Math.min(t,1)),[{score:0,label:`weak`,text:``},{score:1,label:`weak`,text:`弱`},{score:2,label:`fair`,text:`中`},{score:3,label:`good`,text:`强`},{score:4,label:`strong`,text:`极强`}][t]});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-pwd-strength`,[`fou-pwd-strength--${r.value.label}`]])},[(0,t.createElementVNode)(`div`,rC,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(4,e=>(0,t.createElementVNode)(`span`,{key:e,class:(0,t.normalizeClass)([`fou-pwd-strength__bar`,{"is-on":e<=r.value.score}])},null,2)),64))]),e.showLabel?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,iC,(0,t.toDisplayString)(r.value.text),1)):(0,t.createCommentVNode)(``,!0)],2))}}),oC=v({default:()=>sC}),sC=S(aC,[[`__scopeId`,`data-v-7cd9df04`]]),cC={class:`fou-popconfirm-host`},lC={class:`fou-popconfirm__body`},uC={class:`fou-popconfirm__title`},dC={class:`fou-popconfirm__actions`},fC=(0,t.defineComponent)({name:`FouPopconfirm`,inheritAttrs:!1,__name:`index`,props:{title:{default:`确定执行此操作?`},confirmButtonText:{default:`确定`},cancelButtonText:{default:`取消`},confirmButtonType:{default:`primary`},width:{default:240},zIndex:{default:5200}},emits:[`confirm`,`cancel`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(`bottom`),l=(0,t.ref)({}),u=(0,t.computed)(()=>typeof r.width==`number`?`${r.width}px`:String(r.width)),d=()=>{let e=a.value,t=o.value;if(!e||!t)return;let n=e.getBoundingClientRect(),i=typeof r.width==`number`?r.width:Number.parseFloat(String(r.width))||240,s=n.left+n.width/2-i/2,d=window.innerWidth,f=window.innerHeight;s=Math.min(Math.max(8,s),d-i-8);let p=t.offsetHeight||96,m=`bottom`,h=n.bottom+10;h+p>f-8&&n.top-10-p>8&&(m=`top`,h=n.top-10-p),c.value=m;let g=n.left+n.width/2,_=Math.round(g-s-6);_=Math.min(Math.max(14,_),i-20),l.value={position:`fixed`,top:`${Math.round(h)}px`,left:`${Math.round(s)}px`,width:u.value,"--fou-popconfirm-arrow-x":`${_}px`}},f=async()=>{s.value=!0,await(0,t.nextTick)(),d(),requestAnimationFrame(()=>d())},p=()=>{s.value=!1},m=()=>{i(`confirm`),p()},h=()=>{i(`cancel`),p()},g=()=>{s.value&&d()};return(0,t.watch)(s,e=>{e?(window.addEventListener(`scroll`,g,!0),window.addEventListener(`resize`,g)):(window.removeEventListener(`scroll`,g,!0),window.removeEventListener(`resize`,g))}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`scroll`,g,!0),window.removeEventListener(`resize`,g)}),(n,r)=>{let i=k,u=Vt;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,cC,[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:a,class:`fou-popconfirm__trigger`,onClick:f},[(0,t.renderSlot)(n.$slots,`reference`,{},void 0,!0)],512),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-popconfirm-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`fou-popconfirm-root`,style:(0,t.normalizeStyle)({zIndex:String(e.zIndex)})},[(0,t.createElementVNode)(`div`,{class:`fou-popconfirm__mask`,onClick:h}),(0,t.createElementVNode)(`div`,{ref_key:`popperRef`,ref:o,class:(0,t.normalizeClass)([`fou-popconfirm`,`is-placement-${(0,t.unref)(c)}`]),style:(0,t.normalizeStyle)((0,t.unref)(l)),onClick:r[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[r[1]||=(0,t.createElementVNode)(`i`,{class:`fou-popconfirm__arrow`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`div`,lC,[(0,t.createVNode)(i,{class:`fou-popconfirm__icon`,icon:`error-warning-line`}),(0,t.createElementVNode)(`div`,uC,(0,t.toDisplayString)(e.title),1)]),(0,t.createElementVNode)(`div`,dC,[(0,t.renderSlot)(n.$slots,`actions`,{},()=>[(0,t.createVNode)(u,{size:`small`,onClick:h},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.cancelButtonText),1)]),_:1}),(0,t.createVNode)(u,{size:`small`,type:e.confirmButtonType,onClick:m},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.confirmButtonText),1)]),_:1},8,[`type`])],!0)])],6)],4),[[t.vShow,(0,t.unref)(s)]])]),_:3})]))])}}}),pC=v({default:()=>mC}),mC=S(fC,[[`__scopeId`,`data-v-c0375827`]]),hC={key:0,class:`fou-popover__title`},gC={class:`fou-popover__body`},_C=(0,t.defineComponent)({name:`FouPopover`,inheritAttrs:!1,__name:`index`,props:{visible:{type:Boolean},title:{default:``},width:{default:240},placement:{default:`bottom`},trigger:{default:`click`},closeOnClickOutside:{type:Boolean,default:!0},zIndex:{default:2e3}},emits:[`update:visible`,`show`,`hide`],setup(e,{emit:n}){let r=(0,t.useAttrs)(),i=e,a=n,o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(!1),l=(0,t.ref)({}),u=(0,t.ref)(!1),d=(0,t.computed)(()=>i.visible!==void 0),f=(0,t.computed)({get:()=>d.value?!!i.visible:c.value,set:e=>{d.value?a(`update:visible`,e):c.value=e}}),p=(0,t.computed)(()=>typeof i.width==`number`?`${i.width}px`:String(i.width)),m=()=>{let e=o.value,t=s.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=0,c=0;switch(i.placement){case`top`:a=n.top-r.height-10,c=n.left+n.width/2-r.width/2;break;case`left`:a=n.top+n.height/2-r.height/2,c=n.left-r.width-10;break;case`right`:a=n.top+n.height/2-r.height/2,c=n.right+10;break;default:a=n.bottom+10,c=n.left+n.width/2-r.width/2}let u=window.innerWidth,d=window.innerHeight;c=Math.min(Math.max(4,c),u-r.width-4),a=Math.min(Math.max(4,a),d-r.height-4),l.value={position:`fixed`,top:`${a}px`,left:`${c}px`,width:p.value}},h=async()=>{f.value||(f.value=!0,a(`show`),await(0,t.nextTick)(),m())},g=()=>{f.value&&(f.value=!1,a(`hide`))},_=()=>{i.trigger===`click`&&(f.value?g():h())},v,y=()=>{i.trigger===`hover`&&(v&&clearTimeout(v),h())},b=()=>{i.trigger===`hover`&&(v=setTimeout(()=>{u.value||g()},120))},x=()=>{u.value=!0,v&&clearTimeout(v)},S=()=>{u.value=!1,i.trigger===`hover`&&b()},C=()=>{i.trigger===`click`&&i.closeOnClickOutside&&g()},w=e=>{if(i.trigger!==`click`||!f.value)return;let t=e.target;o.value?.contains(t)||s.value?.contains(t)||i.closeOnClickOutside&&g()},T=()=>{f.value&&m()};return(0,t.watch)(f,e=>{e?(document.addEventListener(`click`,w,!0),window.addEventListener(`scroll`,T,!0),window.addEventListener(`resize`,T)):(document.removeEventListener(`click`,w,!0),window.removeEventListener(`scroll`,T,!0),window.removeEventListener(`resize`,T))}),(0,t.onBeforeUnmount)(()=>{v&&clearTimeout(v),document.removeEventListener(`click`,w,!0),window.removeEventListener(`scroll`,T,!0),window.removeEventListener(`resize`,T)}),(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,(0,t.mergeProps)({class:`fou-popover-host`},(0,t.unref)(r)),[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:o,class:`fou-popover__trigger`,onClick:_,onMouseenter:y,onMouseleave:b},[(0,t.renderSlot)(n.$slots,`reference`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-popover-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`fou-popover-root`,style:(0,t.normalizeStyle)({zIndex:String(e.zIndex)})},[e.trigger===`click`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-popover__mask`,onClick:C})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`popperRef`,ref:s,class:(0,t.normalizeClass)([`fou-popover`,[`fou-popover--${e.placement}`]]),style:(0,t.normalizeStyle)((0,t.unref)(l)),role:`dialog`,onMouseenter:x,onMouseleave:S,onClick:i[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hC,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,gC,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],38)],4),[[t.vShow,(0,t.unref)(f)]])]),_:3})]))],16))}}),vC=v({default:()=>yC}),yC=S(_C,[[`__scopeId`,`data-v-0d5add06`]]),bC=[`aria-valuenow`],xC={key:0,class:`fou-progress__text fou-progress__text--inside`},SC={key:0,class:`fou-progress__text`},CC=[`viewBox`],wC=[`cx`,`cy`,`r`,`stroke-width`],TC=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`,`stroke-linecap`,`transform`],EC={key:0,class:`fou-progress__circle-text`},DC=(0,t.defineComponent)({name:`FouProgress`,__name:`index`,props:{percentage:{default:0},type:{default:`line`},status:{default:``},strokeWidth:{default:6},textInside:{type:Boolean,default:!1},color:{},showText:{type:Boolean,default:!0},width:{default:126}},setup(e){let n=e,r=(0,t.computed)(()=>Math.min(100,Math.max(0,n.percentage))),i=(0,t.computed)(()=>n.status?n.status:r.value>=100?`success`:``),a=(0,t.computed)(()=>({success:`var(--fou-color-success, var(--fou-color-success, #67c23a))`,exception:`var(--fou-color-danger, var(--fou-color-danger, #f56c6c))`,warning:`var(--fou-color-warning, var(--fou-color-warning, #e6a23c))`})[i.value]||`var(--fou-color-primary, var(--fou-color-primary, #0f766e))`),o=(0,t.computed)(()=>typeof n.color==`string`?n.color:typeof n.color==`function`?n.color(r.value):a.value),s=(0,t.computed)(()=>({width:`${r.value}%`,backgroundColor:o.value})),c=(0,t.computed)(()=>i.value===`success`?`✓`:i.value===`exception`?`✕`:i.value===`warning`?`!`:`${r.value}%`),l=(0,t.computed)(()=>n.width/2),u=(0,t.computed)(()=>(n.width-n.strokeWidth)/2),d=(0,t.computed)(()=>2*Math.PI*u.value),f=(0,t.computed)(()=>n.type===`dashboard`?.75:1),p=(0,t.computed)(()=>{let e=r.value/100;return d.value*(1-e*f.value)}),m=(0,t.computed)(()=>n.type===`dashboard`?`rotate(135 ${l.value} ${l.value})`:`rotate(-90 ${l.value} ${l.value})`);return(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-progress`,[`fou-progress--${e.type}`,{"is-success":(0,t.unref)(i)===`success`,"is-exception":(0,t.unref)(i)===`exception`,"is-warning":(0,t.unref)(i)===`warning`}]]),role:`progressbar`,"aria-valuenow":(0,t.unref)(r),"aria-valuemin":`0`,"aria-valuemax":`100`},[e.type===`line`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,{class:`fou-progress__outer`,style:(0,t.normalizeStyle)({height:`${e.strokeWidth}px`})},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-progress__inner`,{"is-text-inside":e.textInside}]),style:(0,t.normalizeStyle)((0,t.unref)(s))},[e.textInside&&e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,xC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(c)),1)],!0)])):(0,t.createCommentVNode)(``,!0)],6)],4),!e.textInside&&e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,SC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(c)),1)],!0)])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-progress__circle`,style:(0,t.normalizeStyle)({width:`${e.width}px`,height:`${e.width}px`})},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{viewBox:`0 0 ${e.width} ${e.width}`},[(0,t.createElementVNode)(`circle`,{class:`fou-progress__track`,cx:(0,t.unref)(l),cy:(0,t.unref)(l),r:(0,t.unref)(u),fill:`none`,"stroke-width":e.strokeWidth},null,8,wC),(0,t.createElementVNode)(`circle`,{class:`fou-progress__path`,cx:(0,t.unref)(l),cy:(0,t.unref)(l),r:(0,t.unref)(u),fill:`none`,stroke:(0,t.unref)(o),"stroke-width":e.strokeWidth,"stroke-dasharray":(0,t.unref)(d),"stroke-dashoffset":(0,t.unref)(p),"stroke-linecap":e.type===`dashboard`?`round`:`butt`,transform:(0,t.unref)(m)},null,8,TC)],8,CC)),e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,EC,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(c)),1)],!0)])):(0,t.createCommentVNode)(``,!0)],4))],10,bC))}}),OC=v({default:()=>kC}),kC=S(DC,[[`__scopeId`,`data-v-146433c6`]]),AC=_(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),jC=_((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),MC=_((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),NC=_(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),PC=_(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),FC=_((e=>{var t=jC().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),IC=_((e=>{var t=jC().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),LC=_((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),RC=_((e=>{var t=MC(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),zC=_((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),BC=_((e=>{var t=zC();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),VC=_(((e,t)=>{var n=BC();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),HC=_((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),UC=_((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
124
+ ]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),WC=_((e=>{var t=HC(),n=UC();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),GC=_((e=>{var t=jC(),n=RC(),r=MC(),i=WC(),a=HC(),o=7973,s=t.getBCHDigit(o);function c(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function l(e,t){return i.getCharCountIndicator(e,t)+4}function u(e,t){let n=0;return e.forEach(function(e){let r=l(e.mode,t);n+=r+e.getBitsLength()}),n}function d(t,n){for(let r=1;r<=40;r++)if(u(t,r)<=e.getCapacity(r,n,i.MIXED))return r}e.from=function(e,t){return a.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,o){if(!a.isValid(e))throw Error(`Invalid QR Code version`);o===void 0&&(o=i.BYTE);let s=(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r))*8;if(o===i.MIXED)return s;let c=s-l(o,e);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,i=r.from(t,r.M);if(Array.isArray(e)){if(e.length>1)return d(e,i);if(e.length===0)return 1;n=e[0]}else n=e;return c(n.mode,n.getLength(),i)},e.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=o<<t.getBCHDigit(n)-s;return e<<12|n}})),KC=_((e=>{var t=jC(),n=1335,r=21522,i=t.getBCHDigit(n);e.getEncodedBits=function(e,a){let o=e.bit<<3|a,s=o<<10;for(;t.getBCHDigit(s)-i>=0;)s^=n<<t.getBCHDigit(s)-i;return(o<<10|s)^r}})),qC=_(((e,t)=>{var n=WC();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),JC=_(((e,t)=>{var n=WC(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),YC=_(((e,t)=>{var n=WC();function r(e){this.mode=n.BYTE,this.data=typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),XC=_(((e,t)=>{var n=WC(),r=jC();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
125
+ Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),ZC=_(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),QC=_((e=>{var t=WC(),n=qC(),r=JC(),i=YC(),a=XC(),o=UC(),s=jC(),c=ZC();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
126
+ Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),$C=_((e=>{var t=jC(),n=MC(),r=NC(),i=PC(),a=FC(),o=IC(),s=LC(),c=RC(),l=VC(),u=GC(),d=KC(),f=WC(),p=QC();function m(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function h(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function g(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function _(e,t){let n=e.size,r=u.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function v(e,t,n){let r=e.size,i=d.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function y(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function b(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),f.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return x(a,e,n)}function x(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function S(e,n,r,a){let o;if(Array.isArray(e))o=p.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=p.rawSplit(e);t=u.getBestVersionForData(n,r)}o=p.fromString(e,t||40)}else throw Error(`Invalid data`);let c=u.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`
127
127
  The chosen QR Code version cannot contain this amount of data.
128
128
  Minimum version required to store current data is: `+c+`.
129
- `);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),UC=_((e=>{function t(e){if(typeof e==`number`&&(e=e.toString()),typeof e!=`string`)throw Error(`Color should be defined as hex string`);let t=e.slice().replace(`#`,``).split(``);if(t.length<3||t.length===5||t.length>8)throw Error(`Invalid hex color: `+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),t.length===6&&t.push(`F`,`F`);let n=parseInt(t.join(``),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:`#`+t.slice(0,6).join(``)}}e.getOptions=function(e){e||={},e.color||(e.color={});let n=e.margin===void 0||e.margin===null||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||`#000000ff`),light:t(e.color.light||`#ffffffff`)},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},e.getImageWidth=function(t,n){let r=e.getScale(t,n);return Math.floor((t+n.margin*2)*r)},e.qrToImageData=function(t,n,r){let i=n.modules.size,a=n.modules.data,o=e.getScale(i,r),s=Math.floor((i+r.margin*2)*o),c=r.margin*o,l=[r.color.light,r.color.dark];for(let e=0;e<s;e++)for(let n=0;n<s;n++){let u=(e*s+n)*4,d=r.color.light;if(e>=c&&n>=c&&e<s-c&&n<s-c){let t=Math.floor((e-c)/o),r=Math.floor((n-c)/o);d=l[+!!a[t*i+r]]}t[u++]=d.r,t[u++]=d.g,t[u++]=d.b,t[u]=d.a}}})),WC=_((e=>{var t=UC();function n(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||={},t.height=n,t.width=n,t.style.height=n+`px`,t.style.width=n+`px`}function r(){try{return document.createElement(`canvas`)}catch{throw Error(`You need to specify a canvas element`)}}e.render=function(e,i,a){let o=a,s=i;o===void 0&&(!i||!i.getContext)&&(o=i,i=void 0),i||(s=r()),o=t.getOptions(o);let c=t.getImageWidth(e.modules.size,o),l=s.getContext(`2d`),u=l.createImageData(c,c);return t.qrToImageData(u.data,e,o),n(l,s,c),l.putImageData(u,0,0),s},e.renderToDataURL=function(t,n,r){let i=r;i===void 0&&(!n||!n.getContext)&&(i=n,n=void 0),i||={};let a=e.render(t,n,i),o=i.type||`image/png`,s=i.rendererOpts||{};return a.toDataURL(o,s.quality)}})),GC=_((e=>{var t=UC();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c<e.length;c++){let l=Math.floor(c%t),u=Math.floor(c/t);!l&&!o&&(o=!0),e[c]?(s++,c>0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1<t&&e[c+1]||(i+=r(`h`,s),s=0)):a++}return i}e.render=function(e,r,a){let o=t.getOptions(r),s=e.modules.size,c=e.modules.data,l=s+o.margin*2,u=o.color.light.a?`<path `+n(o.color.light,`fill`)+` d="M0 0h`+l+`v`+l+`H0z"/>`:``,d=`<path `+n(o.color.dark,`stroke`)+` d="`+i(c,s,o.margin)+`"/>`,f=`viewBox="0 0 `+l+` `+l+`"`,p=`<svg xmlns="http://www.w3.org/2000/svg" `+(o.width?`width="`+o.width+`" height="`+o.width+`" `:``)+f+` shape-rendering="crispEdges">`+u+d+`</svg>
130
- `;return typeof a==`function`&&a(null,p),p}})),KC=b(_((e=>{var t=yC(),n=HC(),r=WC(),i=GC();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}))(),1),qC={key:0,class:`fou-qrcode__error`},JC=(0,t.defineComponent)({name:`FouQrcode`,__name:`index`,props:{value:{default:``},size:{default:160},level:{default:`M`},fgColor:{default:`#000000`},bgColor:{default:`#ffffff`},margin:{default:4}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.computed)(()=>{let e=n.size;if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.round(e);if(e===`large`)return 200;if(e===`small`)return 96;if(e==="default")return 160;let t=Number(e);return Number.isFinite(t)&&t>0?Math.round(t):160}),o=async()=>{i.value=!1,await(0,t.nextTick)();let e=r.value;if(!e)return;let o=(n.value||``).trim(),s=a.value;if(!o){let t=e.getContext(`2d`);t&&(e.width=s,e.height=s,t.fillStyle=n.bgColor,t.fillRect(0,0,s,s));return}try{let t=typeof window<`u`?Math.max(1,Math.round(window.devicePixelRatio||1)):1;await KC.toCanvas(e,o,{width:s*t,margin:Math.max(0,n.margin),errorCorrectionLevel:n.level,color:{dark:n.fgColor,light:n.bgColor}}),e.style.width=`${s}px`,e.style.height=`${s}px`}catch{i.value=!0}};return(0,t.onMounted)(o),(0,t.watch)(()=>[n.value,a.value,n.level,n.fgColor,n.bgColor,n.margin],o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-qrcode`,style:(0,t.normalizeStyle)({width:`${a.value}px`,height:`${a.value}px`})},[(0,t.createElementVNode)(`canvas`,{ref_key:`canvasRef`,ref:r,class:`fou-qrcode__canvas`},null,512),i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qC,`生成失败`)):(0,t.createCommentVNode)(``,!0)],4))}}),YC=v({default:()=>XC}),XC=S(JC,[[`__scopeId`,`data-v-8498d1a1`]]),ZC={class:`fou-query-form-col fou-query-form-col--full`},QC={class:`bottom-panel`},$C=(0,t.defineComponent)({name:`FouQueryFormBottomPanel`,__name:`FouQueryFormBottomPanel`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ZC,[(0,t.createElementVNode)(`div`,QC,[(0,t.renderSlot)(e.$slots,`default`)])]))}}),ew=v({default:()=>tw}),tw=$C,nw={class:`left-panel`},rw=(0,t.defineComponent)({name:`FouQueryFormLeftPanel`,__name:`FouQueryFormLeftPanel`,props:{span:{type:Number,default:14}},setup(e){let n=e,r=(0,t.computed)(()=>({"--fou-query-col-span":String(n.span)}));return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-query-form-col`,style:(0,t.normalizeStyle)((0,t.unref)(r))},[(0,t.createElementVNode)(`div`,nw,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],4))}}),iw=v({default:()=>aw}),aw=S(rw,[[`__scopeId`,`data-v-4372423e`]]),ow={class:`right-panel`},sw=(0,t.defineComponent)({name:`FouQueryFormRightPanel`,__name:`FouQueryFormRightPanel`,props:{span:{type:Number,default:10}},setup(e){let n=e,r=(0,t.computed)(()=>({"--fou-query-col-span":String(n.span)}));return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-query-form-col`,style:(0,t.normalizeStyle)((0,t.unref)(r))},[(0,t.createElementVNode)(`div`,ow,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],4))}}),cw=v({default:()=>lw}),lw=S(sw,[[`__scopeId`,`data-v-f61282c8`]]),uw={class:`fou-query-form-col fou-query-form-col--full`},dw={class:`top-panel`},fw=(0,t.defineComponent)({name:`FouQueryFormTopPanel`,__name:`FouQueryFormTopPanel`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,uw,[(0,t.createElementVNode)(`div`,dw,[(0,t.renderSlot)(e.$slots,`default`)])]))}}),pw=v({default:()=>mw}),mw=fw,hw={class:`fou-query-form`},gw=(0,t.defineComponent)({name:`FouQueryForm`,__name:`index`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hw,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)]))}}),_w=v({default:()=>vw}),vw=S(gw,[[`__scopeId`,`data-v-f4dbaab8`]]),yw=[`aria-valuenow`,`aria-valuemax`],bw=[`disabled`,`onMousemove`,`onClick`],xw={class:`fou-rate__icon fou-rate__icon--void`},Sw={key:0,class:`fou-rate__text`},Cw=(0,t.defineComponent)({name:`FouRate`,__name:`index`,props:{modelValue:{default:0},max:{default:5},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},showScore:{type:Boolean,default:!1},showText:{type:Boolean,default:!1},texts:{default:()=>[`极差`,`失望`,`一般`,`满意`,`惊喜`]},colors:{default:()=>[`#f7ba2a`,`#f7ba2a`,`#f7ba2a`]},voidColor:{default:`#c0c4cc`},icon:{default:`star-fill`},voidIcon:{default:`star-line`}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){(0,t.useCssVars)(e=>({v509fdaf8:(0,t.unref)(o)}));let r=e,i=n,a=(0,t.ref)(-1),o=(0,t.computed)(()=>r.voidColor),s=(0,t.computed)(()=>a.value>=0?a.value:r.modelValue),c=(0,t.computed)(()=>{let e=s.value,t=r.colors;return e<=r.max/3?t[0]||`#f7ba2a`:e<=r.max*2/3?t[1]||t[0]||`#f7ba2a`:t[2]||t[1]||t[0]||`#f7ba2a`}),l=(0,t.computed)(()=>{if(r.showScore)return String(s.value);if(!r.showText)return``;let e=Math.ceil(s.value)-1;return r.texts[Math.max(0,Math.min(r.texts.length-1,e))]||``}),u=e=>{let t=s.value,n=`0%`;return t>=e?n=`100%`:r.allowHalf&&t+.5>=e&&t<e&&(n=`50%`),{width:n,color:c.value}},d=(e,t)=>{if(!r.allowHalf)return t;let n=e.currentTarget.getBoundingClientRect();return e.clientX-n.left<n.width/2?t-.5:t},f=(e,t)=>{r.disabled||r.readonly||(a.value=d(e,t))},p=(e,t)=>{if(r.disabled||r.readonly)return;let n=d(e,t);i(`update:modelValue`,n),i(`change`,n)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-rate`,{"is-disabled":e.disabled,"is-readonly":e.readonly}]),role:`slider`,"aria-valuenow":e.modelValue,"aria-valuemin":0,"aria-valuemax":e.max},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.max,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-rate__item`,{"is-active":(0,t.unref)(s)>=n,"is-half":e.allowHalf&&(0,t.unref)(s)+.5===n}]),disabled:e.disabled||e.readonly,onMousemove:e=>f(e,n),onMouseleave:r[0]||=e=>a.value=-1,onClick:e=>p(e,n)},[(0,t.createElementVNode)(`span`,xw,[(0,t.createVNode)(i,{icon:e.voidIcon},null,8,[`icon`])]),(0,t.createElementVNode)(`span`,{class:`fou-rate__icon fou-rate__icon--full`,style:(0,t.normalizeStyle)(u(n))},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],4)],42,bw))),128)),e.showScore||e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Sw,(0,t.toDisplayString)((0,t.unref)(l)),1)):(0,t.createCommentVNode)(``,!0)],10,yw)}}}),ww=v({default:()=>Tw}),Tw=S(Cw,[[`__scopeId`,`data-v-c50f9ce4`]]),Ew=(0,t.defineComponent)({name:`FouRefresh`,__name:`index`,setup(e){let n=(0,t.ref)(``),r=(0,t.inject)(`$pub`),i=(0,t.inject)(`$sub`),a=()=>{n.value=`rotate`,setTimeout(()=>{n.value=``},500)},o=()=>{r?.(`reload-router-view`),a()};return(0,t.onBeforeMount)(()=>{i?.(`refresh-rotate`,()=>{a()})}),(e,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createBlock)(i,{class:(0,t.normalizeClass)((0,t.unref)(n)),icon:`refresh-line`,onClick:o},null,8,[`class`])}}}),Dw=v({default:()=>Ow}),Ow=Ew,kw=(0,t.defineComponent)({name:`FouRow`,__name:`index`,props:{gutter:{default:0},justify:{default:`start`},align:{default:`top`},tag:{default:`div`}},setup(e){let n=e,r=(0,t.computed)(()=>n.gutter||0);(0,t.provide)(E_,{gutter:r});let i=(0,t.computed)(()=>{let e=n.gutter||0;return{marginLeft:e?`${-e/2}px`:void 0,marginRight:e?`${-e/2}px`:void 0,justifyContent:n.justify===`start`?`flex-start`:n.justify===`end`?`flex-end`:n.justify===`center`?`center`:n.justify,alignItems:n.align===`top`?`flex-start`:n.align===`bottom`?`flex-end`:`center`}});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-row`,style:(0,t.normalizeStyle)((0,t.unref)(i))},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],4))}}),Aw=v({default:()=>jw}),jw=S(kw,[[`__scopeId`,`data-v-539ccc48`]]),Mw=[`value`,`placeholder`,`disabled`],Nw=(0,t.defineComponent)({name:`FouSearchBar`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`请输入关键词`},size:{default:`default`},disabled:{type:Boolean,default:!1},showButton:{type:Boolean,default:!1}},emits:[`update:modelValue`,`search`,`clear`],setup(e,{emit:n}){let r=e,i=n,a=e=>{i(`update:modelValue`,e.target.value)},o=()=>{i(`search`,r.modelValue)},s=()=>{i(`update:modelValue`,``),i(`clear`)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-search-bar`,[`fou-search-bar--${e.size}`]])},[(0,t.createVNode)(i,{icon:`search-line`,class:`fou-search-bar__icon`}),(0,t.createElementVNode)(`input`,{class:`fou-search-bar__input`,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,onInput:a,onKeydown:(0,t.withKeys)(o,[`enter`])},null,40,Mw),e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-search-bar__clear`,"aria-label":`清除`,onClick:s},` × `)):(0,t.createCommentVNode)(``,!0),e.showButton?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-search-bar__btn`,onClick:o},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[r[0]||=(0,t.createTextVNode)(`搜索`,-1)],!0)])):(0,t.createCommentVNode)(``,!0)],2)}}}),Pw=v({default:()=>Fw}),Fw=S(Nw,[[`__scopeId`,`data-v-2bf74fe5`]]),Iw=[`disabled`,`title`],Lw={key:0,class:`fou-search-input__search-text`},Rw=[`value`,`placeholder`,`disabled`,`readonly`,`onKeydown`],zw=[`title`],Bw=[`disabled`,`title`],Vw={key:0,class:`fou-search-input__search-text`},Hw=(0,t.defineComponent)({name:`FouSearchInput`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`请输入关键词`},searchPosition:{default:`right`},shape:{default:`round`},size:{default:`default`},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},showSearchText:{type:Boolean,default:!1},searchLabel:{default:`搜索`},clearLabel:{default:`清除`},searchIcon:{default:`search-line`},clearIcon:{default:`close-circle-fill`},width:{}},emits:[`update:modelValue`,`search`,`clear`,`focus`,`blur`,`change`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.computed)(()=>String(i.modelValue??``).length>0),l=(0,t.computed)(()=>{let e={};return i.width!=null&&i.width!==``&&(e.width=typeof i.width==`number`?`${i.width}px`:String(i.width)),i.shape!==`round`&&i.shape!==`square`&&(e.borderRadius=typeof i.shape==`number`?`${i.shape}px`:String(i.shape)),e}),u=e=>{let t=e.target.value;a(`update:modelValue`,t),a(`change`,t)},d=()=>{i.disabled||a(`search`,String(i.modelValue??``))},f=()=>{a(`update:modelValue`,``),a(`clear`),a(`change`,``),o.value?.focus()};return n({focus:()=>o.value?.focus(),blur:()=>o.value?.blur(),search:d,clear:f}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-search-input`,[`fou-search-input--${e.size}`,e.shape===`round`||e.shape===`square`?`fou-search-input--${e.shape}`:`fou-search-input--custom`,`fou-search-input--search-${e.searchPosition}`,{"is-disabled":e.disabled,"is-focused":s.value,"has-value":c.value}]]),style:(0,t.normalizeStyle)(l.value)},[e.searchPosition===`left`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-search-input__search`,disabled:e.disabled,title:e.searchLabel,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:d},[(0,t.createVNode)(i,{icon:e.searchIcon},null,8,[`icon`]),e.showSearchText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Lw,(0,t.toDisplayString)(e.searchLabel),1)):(0,t.createCommentVNode)(``,!0)],40,Iw)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{ref_key:`inputRef`,ref:o,class:`fou-search-input__inner`,type:`search`,value:e.modelValue??``,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,autocomplete:`off`,onInput:u,onFocus:r[1]||=e=>s.value=!0,onBlur:r[2]||=e=>s.value=!1,onKeydown:(0,t.withKeys)((0,t.withModifiers)(d,[`prevent`]),[`enter`])},null,40,Rw),e.clearable&&c.value&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-search-input__clear`,tabindex:`-1`,title:e.clearLabel,"aria-label":`clear`,onMousedown:r[3]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:f},[(0,t.createVNode)(i,{icon:e.clearIcon},null,8,[`icon`])],40,zw)):(0,t.createCommentVNode)(``,!0),e.searchPosition===`right`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-search-input__search`,disabled:e.disabled,title:e.searchLabel,onMousedown:r[4]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:d},[(0,t.createVNode)(i,{icon:e.searchIcon},null,8,[`icon`]),e.showSearchText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Vw,(0,t.toDisplayString)(e.searchLabel),1)):(0,t.createCommentVNode)(``,!0)],40,Bw)):(0,t.createCommentVNode)(``,!0)],6)}}}),Uw=v({default:()=>Ww}),Ww=S(Hw,[[`__scopeId`,`data-v-d0a8e934`]]),Gw=[`disabled`,`onClick`],Kw=(0,t.defineComponent)({name:`FouSegmented`,__name:`index`,props:{modelValue:{default:``},options:{default:()=>[]},size:{default:`default`},block:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=e=>{e.disabled||e.value===r.modelValue||(i(`update:modelValue`,e.value),i(`change`,e.value))};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-segmented`,[`fou-segmented--${e.size}`,{"is-block":e.block}]]),role:`tablist`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:String(n.value),type:`button`,role:`tab`,class:(0,t.normalizeClass)([`fou-segmented__item`,{"is-active":e.modelValue===n.value,"is-disabled":n.disabled}]),disabled:n.disabled,onClick:e=>a(n)},[n.icon?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,class:`fou-segmented__icon`,icon:n.icon},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(n.label),1)],10,Gw))),128))],2)}}}),qw=v({default:()=>Jw}),Jw=S(Kw,[[`__scopeId`,`data-v-1f425b68`]]),Yw=(0,t.defineComponent)({name:`FouOption`,__name:`FouOption`,props:{value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(`fouSelect`,null),i=(0,t.useSlots)(),a=(0,t.ref)(!1),o=null,s=(0,t.computed)(()=>{let e=r?.modelValue.value;return r?.multiple.value?Array.isArray(e)&&e.includes(n.value):e===n.value}),c=e=>e?.length?e.map(e=>e==null?``:typeof e==`string`||typeof e==`number`?String(e):typeof e.children==`string`?e.children:Array.isArray(e.children)?c(e.children):``).join(``).trim():``,l=()=>n.label!=null&&n.label!==``?String(n.label):c(i.default?.())||String(n.value),u=()=>({value:n.value,label:l(),disabled:n.disabled,render:i.default?()=>i.default():void 0}),d=()=>{r&&(o!=null&&o!==n.value&&r.unregisterOption(o),r.registerOption(u()),o=n.value)},f=()=>{n.disabled||(a.value=!0,r?.setHoverOption(n.value))},p=()=>{n.disabled||!r||r.selectOption(n.value,l())};return(0,t.watch)(()=>[n.value,n.label,n.disabled],()=>d(),{immediate:!0}),(0,t.onUnmounted)(()=>{o!=null&&r?.unregisterOption(o)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-option`,{"is-selected":(0,t.unref)(s),"is-disabled":e.disabled,"is-hover":(0,t.unref)(a)}]),onMouseenter:f,onClick:p},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)],!0)],34))}}),Xw=v({default:()=>Zw}),Zw=S(Yw,[[`__scopeId`,`data-v-87eeaab7`]]);function Qw(e){let n=(0,t.ref)(0),r=(0,t.ref)(0),i=(0,t.computed)(()=>Math.max(1,e.itemHeight??34)),a=(0,t.computed)(()=>e.overscan??6),o=(0,t.computed)(()=>{let t=e.total(),o=i.value,s=Math.max(r.value||0,o*8),c=Math.max(0,Math.floor(n.value/o)-a.value),l=Math.ceil(s/o)+a.value*2,u=Math.min(t,c+Math.max(l,1));return{start:c,end:u,padTop:c*o,padBottom:Math.max(0,(t-u)*o),height:t*o}}),s=()=>{let t=e.scrollRef.value;t&&(r.value=t.clientHeight,n.value=t.scrollTop)},c=()=>{let t=e.scrollRef.value;t&&(n.value=t.scrollTop,t.clientHeight>0&&(r.value=t.clientHeight))};return(0,t.watch)(()=>e.scrollRef.value,(e,t,n)=>{if(!e)return;s(),e.addEventListener(`scroll`,c,{passive:!0});let r=typeof ResizeObserver<`u`?new ResizeObserver(s):null;r?.observe(e),n(()=>{e.removeEventListener(`scroll`,c),r?.disconnect()})}),(0,t.onMounted)(s),(0,t.onBeforeUnmount)(()=>{e.scrollRef.value?.removeEventListener(`scroll`,c)}),{range:o,itemHeight:i,measure:s,onScroll:c}}var $w=[`aria-expanded`,`aria-disabled`],eT={key:0,class:`fou-select-v2__tags`},tT=[`onClick`],nT=[`value`,`placeholder`,`disabled`],rT={class:`fou-select-v2__suffix`},iT=[`onClick`],aT={key:0,class:`fou-select-v2__empty`},oT=(0,t.defineComponent)({name:`FouSelectV2`,__name:`index`,props:{modelValue:{type:[String,Number,Boolean,Array,null],default:null},options:{default:()=>[]},placeholder:{default:`请选择`},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},size:{default:`default`},height:{default:274},itemHeight:{default:34}},emits:[`update:modelValue`,`change`,`visibleChange`],setup(e,{emit:n}){let r=e,i=n,a=di(()=>r.disabled),{triggerBlur:o,triggerChange:s}=fi(),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(null),d=(0,t.ref)(!1),f=(0,t.ref)(``),p=(0,t.ref)({}),m=(0,t.computed)(()=>r.multiple?Array.isArray(r.modelValue)?r.modelValue:[]:r.modelValue==null||r.modelValue===``?[]:[r.modelValue]),h=(0,t.computed)(()=>m.value.length>0),g=e=>m.value.includes(e),_=e=>r.options.find(t=>t.value===e)?.label??String(e),v=(0,t.computed)(()=>h.value?r.multiple?m.value.map(_).join(`、`):_(m.value[0]):``),y=(0,t.computed)(()=>{let e=f.value.trim().toLowerCase();return e?r.options.filter(t=>t.label.toLowerCase().includes(e)||String(t.value).includes(e)):r.options}),{range:b,onScroll:x}=Qw({scrollRef:u,total:()=>y.value.length,itemHeight:r.itemHeight}),S=(0,t.computed)(()=>y.value.slice(b.value.start,b.value.end).map((e,t)=>({...e,_top:(b.value.start+t)*r.itemHeight}))),C=e=>{i(`update:modelValue`,e),i(`change`,e),s()},w=e=>{if(r.multiple){let t=[...m.value],n=t.indexOf(e.value);n>=0?t.splice(n,1):t.push(e.value),C(t);return}C(e.value),A()},T=e=>{C(m.value.filter(t=>t!==e))},E=()=>{C(r.multiple?[]:null)},D=()=>{let e=c.value;if(!e)return;let t=e.getBoundingClientRect();p.value={position:`fixed`,top:`${Math.round(t.bottom+4)}px`,left:`${Math.round(t.left)}px`,minWidth:`${Math.round(t.width)}px`,zIndex:String(G(2e3))}},O=async()=>{a.value||(d.value=!0,i(`visibleChange`,!0),await(0,t.nextTick)(),D())},A=()=>{d.value=!1,f.value=``,i(`visibleChange`,!1),o()},j=()=>{d.value?A():O()},M=e=>{f.value=e.target.value,d.value||O()},N=e=>{e.key===`Enter`||e.key===` `?(e.preventDefault(),j()):e.key===`Escape`&&A()},P=e=>{let t=e.target;c.value?.contains(t)||l.value?.contains(t)||A()};return(0,t.watch)(d,e=>{e?(document.addEventListener(`mousedown`,P,!0),window.addEventListener(`resize`,D)):(document.removeEventListener(`mousedown`,P,!0),window.removeEventListener(`resize`,D))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,P,!0),window.removeEventListener(`resize`,D)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:c,class:(0,t.normalizeClass)([`fou-select-v2`,[`fou-select-v2--${e.size}`,{"is-disabled":(0,t.unref)(a),"is-focused":(0,t.unref)(d),"is-multiple":e.multiple}]])},[(0,t.createElementVNode)(`div`,{class:`fou-select-v2__wrapper`,role:`combobox`,"aria-expanded":(0,t.unref)(d),"aria-disabled":(0,t.unref)(a),tabindex:`0`,onClick:j,onKeydown:N},[e.multiple&&(0,t.unref)(m).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,eT,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(m),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:String(e),class:`fou-select-v2__tag`},[(0,t.createTextVNode)((0,t.toDisplayString)(_(e))+` `,1),(0,t.unref)(a)?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-select-v2__tag-close`,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(t=>T(e),[`stop`])},` × `,40,tT))]))),128))])):e.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,class:`fou-select-v2__input`,value:(0,t.unref)(d)?(0,t.unref)(f):(0,t.unref)(v),placeholder:(0,t.unref)(v)||e.placeholder,disabled:(0,t.unref)(a),onInput:M,onClick:(0,t.withModifiers)(O,[`stop`])},null,40,nT)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:2,class:(0,t.normalizeClass)([`fou-select-v2__selected`,{"is-placeholder":!(0,t.unref)(v)}])},(0,t.toDisplayString)((0,t.unref)(v)||e.placeholder),3)),(0,t.createElementVNode)(`span`,rT,[e.clearable&&(0,t.unref)(h)&&!(0,t.unref)(a)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-select-v2__clear`,onMousedown:r[1]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(E,[`stop`])},` × `,32)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,{class:(0,t.normalizeClass)([`fou-select-v2__caret`,{"is-open":(0,t.unref)(d)}]),icon:`arrow-down-s-line`},null,8,[`class`])])],40,$w),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-select-v2-fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:l,class:`fou-select-v2__dropdown`,style:(0,t.normalizeStyle)((0,t.unref)(p))},[(0,t.createElementVNode)(`div`,{ref_key:`listRef`,ref:u,class:`fou-select-v2__list`,style:(0,t.normalizeStyle)({height:`${e.height}px`}),onScroll:r[2]||=(...e)=>(0,t.unref)(x)&&(0,t.unref)(x)(...e)},[(0,t.createElementVNode)(`div`,{style:(0,t.normalizeStyle)({height:`${(0,t.unref)(b).height}px`,position:`relative`})},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(S),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(n.value),class:(0,t.normalizeClass)([`fou-select-v2__option`,{"is-selected":g(n.value),"is-disabled":n.disabled}]),style:(0,t.normalizeStyle)({top:`${n._top}px`,height:`${e.itemHeight}px`,lineHeight:`${e.itemHeight}px`}),onClick:e=>!n.disabled&&w(n)},(0,t.toDisplayString)(n.label),15,iT))),128))],4)],36),(0,t.unref)(y).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,aT,`无数据`))],4)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],2)}}}),sT=v({default:()=>cT}),cT=S(oT,[[`__scopeId`,`data-v-83072cc3`]]),lT={key:0,class:`fou-space__spacer`},uT=(0,t.defineComponent)({name:`FouSpace`,__name:`index`,props:{size:{default:`small`},direction:{default:`horizontal`},alignment:{default:`center`},wrap:{type:Boolean,default:!1},spacer:{default:``}},setup(e){let n={small:8,default:12,large:16},r=e,i=(0,t.useSlots)(),a=e=>{let n=[];for(let r of e)r.type!==t.Comment&&(r.type===t.Text&&!String(r.children??``).trim()||(r.type===t.Fragment&&Array.isArray(r.children)?n.push(...a(r.children)):n.push(r)));return n},o=(0,t.computed)(()=>a(i.default?.()??[])),s=(0,t.computed)(()=>typeof r.size==`number`?`${r.size}px`:`${n[r.size]??n.small}px`),c=(0,t.computed)(()=>({"fou-space--vertical":r.direction===`vertical`,"is-wrap":r.wrap})),l={start:`flex-start`,end:`flex-end`,center:`center`,baseline:`baseline`,stretch:`stretch`},u=(0,t.computed)(()=>({gap:s.value,flexDirection:r.direction===`vertical`?`column`:`row`,alignItems:l[r.alignment]||`center`,flexWrap:r.wrap?`wrap`:`nowrap`}));return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-space`,(0,t.unref)(c)]),style:(0,t.normalizeStyle)((0,t.unref)(u))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:r},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(n))),e.spacer&&r<(0,t.unref)(o).length-1?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,lT,(0,t.toDisplayString)(e.spacer),1)):(0,t.createCommentVNode)(``,!0)],64))),128))],6))}}),dT=v({default:()=>fT}),fT=S(uT,[[`__scopeId`,`data-v-9fbcaf6c`]]),pT=[`viewBox`],mT=[`stop-color`],hT=[`stop-color`],gT=[`d`,`fill`],_T=[`d`,`stroke`,`stroke-width`],vT=(0,t.defineComponent)({name:`FouSparkline`,__name:`index`,props:{data:{default:()=>[]},width:{default:120},height:{default:36},color:{default:`var(--fou-color-primary, #409eff)`},fill:{type:Boolean,default:!0},strokeWidth:{default:1.5}},setup(e){let n=e,r=`fou-spark-${Math.random().toString(36).slice(2,9)}`,i=(0,t.computed)(()=>{let e=n.data;if(!e.length)return{min:0,max:1};let t=Math.min(...e),r=Math.max(...e);return{min:t,max:r===t?t+1:r}}),a=(0,t.computed)(()=>{let e=n.data,t=e.length;if(!t)return[];let{min:r,max:a}=i.value,o=n.strokeWidth+1,s=n.width,c=n.height-o*2;return e.map((e,n)=>({x:t===1?s/2:n/(t-1)*s,y:o+c-(e-r)/(a-r)*c}))}),o=(0,t.computed)(()=>a.value.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(2)},${e.y.toFixed(2)}`).join(` `)),s=(0,t.computed)(()=>{if(!n.fill||!a.value.length)return``;let e=a.value[0],t=a.value[a.value.length-1],r=n.height;return`${o.value} L${t.x.toFixed(2)},${r} L${e.x.toFixed(2)},${r} Z`});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`fou-sparkline`,style:(0,t.normalizeStyle)({width:`${e.width}px`,height:`${e.height}px`})},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{viewBox:`0 0 ${e.width} ${e.height}`,class:`fou-sparkline__svg`,preserveAspectRatio:`none`},[(0,t.createElementVNode)(`defs`,null,[(0,t.createElementVNode)(`linearGradient`,{id:r,x1:`0`,y1:`0`,x2:`0`,y2:`1`},[(0,t.createElementVNode)(`stop`,{offset:`0%`,"stop-color":e.color,"stop-opacity":`0.32`},null,8,mT),(0,t.createElementVNode)(`stop`,{offset:`100%`,"stop-color":e.color,"stop-opacity":`0`},null,8,hT)])]),s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`path`,{key:0,d:s.value,fill:`url(#${r})`},null,8,gT)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`path`,{d:o.value,stroke:e.color,"stroke-width":e.strokeWidth,fill:`none`,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,_T)],8,pT))],4))}}),yT=v({default:()=>bT}),bT=S(vT,[[`__scopeId`,`data-v-857567ba`]]),xT=Symbol(`FouSplitter`),ST=[`aria-orientation`],CT=(0,t.defineComponent)({name:`FouSplitterPanel`,__name:`FouSplitterPanel`,props:{size:{},min:{},max:{},resizable:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.inject)(xT,null),i=(0,t.getCurrentInstance)()?.uid??Math.random(),a=(0,t.computed)(()=>{if(!r||n.resizable===!1)return!1;let e=r.panels.value,t=e.findIndex(e=>e.uid===i);return t<0||t===e.length-1?!1:e[t+1]?.resizable!==!1}),o=(0,t.computed)(()=>{let e=r?.flexMap.value?.[i];return e==null?n.size==null?{flex:`1 1 0`,minWidth:0,minHeight:0}:{flex:`0 0 ${typeof n.size==`number`?`${n.size}px`:n.size}`,minWidth:0,minHeight:0}:{flex:`${e} 1 0`,minWidth:0,minHeight:0}}),s=e=>r?.startDrag(i,e);return(0,t.onMounted)(()=>{r?.register({uid:i,size:n.size,min:n.min,max:n.max,resizable:n.resizable})}),(0,t.onUnmounted)(()=>r?.unregister(i)),(0,t.watch)(()=>[n.size,n.min,n.max,n.resizable],()=>{r?.update(i,{size:n.size,min:n.min,max:n.max,resizable:n.resizable})}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,{class:`fou-splitter-panel`,style:(0,t.normalizeStyle)((0,t.unref)(o))},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],4),(0,t.unref)(a)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-splitter-bar`,[`fou-splitter-bar--${(0,t.unref)(r)?.layout.value||`horizontal`}`,{"is-dragging":(0,t.unref)(r)?.draggingUid.value===(0,t.unref)(i)}]]),role:`separator`,"aria-orientation":(0,t.unref)(r)?.layout.value,tabindex:`0`,onMousedown:(0,t.withModifiers)(s,[`prevent`])},null,42,ST)):(0,t.createCommentVNode)(``,!0)],64))}}),wT=v({default:()=>TT}),TT=S(CT,[[`__scopeId`,`data-v-a86fa6bc`]]),ET=(0,t.defineComponent)({name:`FouSplitter`,__name:`index`,props:{layout:{default:`horizontal`}},emits:[`resize`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)([]),s=(0,t.ref)({}),c=(0,t.ref)(-1),l=e=>r.layout===`vertical`?e.height:e.width,u=(e,t,n)=>e==null?n:typeof e==`number`?e:String(e).endsWith(`%`)?Number.parseFloat(String(e))/100*t:Number.parseFloat(String(e))||n;return(0,t.provide)(xT,{layout:(0,t.computed)(()=>r.layout),panels:o,flexMap:s,draggingUid:c,register:e=>{o.value.some(t=>t.uid===e.uid)||o.value.push(e)},unregister:e=>{o.value=o.value.filter(t=>t.uid!==e);let t={...s.value};delete t[e],s.value=t},update:(e,t)=>{let n=o.value.findIndex(t=>t.uid===e);n>=0&&(o.value[n]={...o.value[n],...t})},startDrag:(e,t)=>{let n=a.value,d=o.value.findIndex(t=>t.uid===e),f=o.value[d],p=o.value[d+1];if(!n||!f||!p)return;c.value=e;let m=r.layout===`vertical`?t.clientY:t.clientX,h=l(n.getBoundingClientRect()),g=Array.from(n.querySelectorAll(`:scope > .fou-splitter-panel`)),_=g[d],v=g[d+1],y=_?l(_.getBoundingClientRect()):h/2,b=v?l(v.getBoundingClientRect()):h/2,x=e=>{let t=(r.layout===`vertical`?e.clientY:e.clientX)-m,n=y+t,a=b-t,o=u(f.min,h,40),c=u(p.min,h,40),l=u(f.max,h,h),d=u(p.max,h,h);n<o&&(a-=o-n,n=o),a<c&&(n-=c-a,a=c),s.value={...s.value,[f.uid]:Math.min(l,Math.max(o,n)),[p.uid]:Math.min(d,Math.max(c,a))},i(`resize`,[s.value[f.uid],s.value[p.uid]])},S=()=>{c.value=-1,window.removeEventListener(`mousemove`,x),window.removeEventListener(`mouseup`,S)};window.addEventListener(`mousemove`,x),window.addEventListener(`mouseup`,S)}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-splitter`,[`fou-splitter--${e.layout}`]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),DT=v({default:()=>OT}),OT=S(ET,[[`__scopeId`,`data-v-7d494943`]]),kT={class:`fou-statistic`},AT={key:0,class:`fou-statistic__title`},jT={key:0,class:`fou-statistic__prefix`},MT={class:`fou-statistic__value`},NT={key:1,class:`fou-statistic__suffix`},PT=(0,t.defineComponent)({name:`FouStatistics`,__name:`index`,props:{value:{default:0},title:{default:``},precision:{default:0},prefix:{default:``},suffix:{default:``},valueStyle:{default:()=>({})},countdown:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(Date.now()),i=null,a=(0,t.computed)(()=>{let e=n.value;if(e instanceof Date)return e.getTime();if(typeof e==`number`)return e;let t=Date.parse(String(e));return Number.isNaN(t)?Date.now():t}),o=e=>{let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return`${a(n)}:${a(r)}:${a(i)}`},s=e=>{let t=typeof e==`number`?e:Number(e);return Number.isNaN(t)?String(e):n.precision>=0?t.toFixed(n.precision):String(t)},c=(0,t.computed)(()=>n.countdown?o(a.value-r.value):s(n.value)),l=()=>{u(),n.countdown&&(r.value=Date.now(),i=setInterval(()=>{r.value=Date.now()},1e3))},u=()=>{i&&=(clearInterval(i),null)};return(0,t.watch)(()=>n.countdown,l,{immediate:!0}),(0,t.onBeforeUnmount)(u),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kT,[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,AT,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`fou-statistic__content`,style:(0,t.normalizeStyle)(e.valueStyle)},[e.prefix||n.$slots.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,jT,[(0,t.renderSlot)(n.$slots,`prefix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.prefix),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,MT,(0,t.toDisplayString)((0,t.unref)(c)),1),e.suffix||n.$slots.suffix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,NT,[(0,t.renderSlot)(n.$slots,`suffix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.suffix),1)],!0)])):(0,t.createCommentVNode)(``,!0)],4)]))}}),FT=v({default:()=>IT}),IT=S(PT,[[`__scopeId`,`data-v-28987a91`]]),LT=IT,RT=v({default:()=>zT}),zT=LT,BT=Symbol(`fouSteps`),VT={class:`fou-step__head`},HT={key:3,class:`fou-step__index`},UT={key:0,class:`fou-step__line`},WT={class:`fou-step__main`},GT={class:`fou-step__title`},KT={key:0,class:`fou-step__description`},qT=(0,t.defineComponent)({name:`FouStep`,__name:`index`,props:{title:{default:``},description:{default:``},icon:{default:``},status:{default:``}},setup(e){let n=e,r=(0,t.getCurrentInstance)()?.uid??Math.random(),i=(0,t.inject)(BT,null),a=(0,t.computed)(()=>i?i.steps.value.findIndex(e=>e.uid===r):0),o=(0,t.computed)(()=>!i||a.value===i.steps.value.length-1),s=(0,t.computed)(()=>{if(n.status)return n.status;if(!i)return`wait`;let e=a.value,t=i.active.value;return e<t?i.finishStatus.value:e===t?i.processStatus.value:`wait`}),c=(0,t.computed)(()=>{if(!i?.space.value)return;let e=i.space.value;return i.direction.value===`vertical`?{marginBottom:typeof e==`number`?`${e}px`:e}:{flexBasis:typeof e==`number`?`${e}px`:e}}),l=(0,t.computed)(()=>({uid:r,title:n.title,description:n.description,icon:n.icon,status:n.status}));return(0,t.onMounted)(()=>i?.addStep(l.value)),(0,t.onUnmounted)(()=>i?.removeStep(r)),(0,t.watch)(l,e=>{if(!i)return;let t=i.steps.value.findIndex(e=>e.uid===r);t>=0&&(i.steps.value[t]=e)}),(n,r)=>{let l=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-step`,[`fou-step--${(0,t.unref)(s)}`,{"is-last":(0,t.unref)(o)},`fou-step--${(0,t.unref)(i)?.direction.value||`horizontal`}`]]),style:(0,t.normalizeStyle)((0,t.unref)(c))},[(0,t.createElementVNode)(`div`,VT,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-step__icon`,{"is-text":!e.icon&&!n.$slots.icon}])},[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(l,{key:0,icon:e.icon},null,8,[`icon`])):(0,t.unref)(s)===`finish`?((0,t.openBlock)(),(0,t.createBlock)(l,{key:1,icon:`check-line`})):(0,t.unref)(s)===`error`?((0,t.openBlock)(),(0,t.createBlock)(l,{key:2,icon:`close-line`})):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,HT,(0,t.toDisplayString)((0,t.unref)(a)+1),1))],!0)],2),(0,t.unref)(o)?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,UT))]),(0,t.createElementVNode)(`div`,WT,[(0,t.createElementVNode)(`div`,GT,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),e.description||n.$slots.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,KT,[(0,t.renderSlot)(n.$slots,`description`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.description),1)],!0)])):(0,t.createCommentVNode)(``,!0)])],6)}}}),JT=v({default:()=>YT}),YT=S(qT,[[`__scopeId`,`data-v-1a4d0fc1`]]),XT=(0,t.defineComponent)({name:`FouSteps`,__name:`index`,props:{active:{default:0},space:{},direction:{default:`horizontal`},processStatus:{default:`process`},finishStatus:{default:`finish`},alignCenter:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)([]);return(0,t.provide)(BT,{active:(0,t.toRef)(n,`active`),space:(0,t.toRef)(n,`space`),direction:(0,t.toRef)(n,`direction`),processStatus:(0,t.toRef)(n,`processStatus`),finishStatus:(0,t.toRef)(n,`finishStatus`),alignCenter:(0,t.toRef)(n,`alignCenter`),steps:r,addStep:e=>{r.value.push(e),r.value.sort((e,t)=>e.uid-t.uid)},removeStep:e=>{r.value=r.value.filter(t=>t.uid!==e)}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-steps`,[`fou-steps--${e.direction}`,{"is-center":e.alignCenter&&e.direction===`horizontal`}]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),ZT=v({default:()=>QT}),QT=S(XT,[[`__scopeId`,`data-v-1aded32b`]]),$T=(0,t.defineComponent)({name:`FouTabs`,inheritAttrs:!1,__name:`index`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(Ct,(0,t.normalizeProps)((0,t.guardReactiveProps)(e.$attrs)),(0,t.createSlots)({_:2},[(0,t.renderList)(e.$slots,(n,r)=>({name:r,fn:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,r,(0,t.normalizeProps)((0,t.guardReactiveProps)(n||{})))])}))]),1040))}}),eE=v({default:()=>tE}),tE=$T,nE=(0,t.defineComponent)({name:`FouText`,__name:`index`,props:{type:{default:``},size:{default:`default`},truncated:{type:Boolean,default:!1},lineClamp:{default:0},tag:{default:`span`}},setup(e){let n=e,r=(0,t.computed)(()=>[n.type?`fou-text--${n.type}`:``,n.size==="default"?``:`fou-text--${n.size}`,{"is-truncated":n.truncated,"is-line-clamp":n.lineClamp>0}]),i=(0,t.computed)(()=>{if(n.lineClamp>0)return{WebkitLineClamp:String(n.lineClamp)}});return(n,a)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)([`fou-text`,(0,t.unref)(r)]),style:(0,t.normalizeStyle)((0,t.unref)(i))},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),_:3},8,[`class`,`style`]))}}),rE=v({default:()=>iE}),iE=S(nE,[[`__scopeId`,`data-v-84e16484`]]),aE=[`title`],oE=(0,t.defineComponent)({name:`FouTimeAgo`,__name:`index`,props:{value:{default:void 0},autoUpdate:{type:Boolean,default:!0},interval:{default:3e4}},emits:[`update`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.ref)(``),s,c=e=>{if(!e)return null;if(e instanceof Date)return isNaN(e.getTime())?null:e;if(typeof e==`number`)return new Date(e);let t=new Date(e);return isNaN(t.getTime())?null:t},l=e=>{let t=Date.now()-e.getTime(),n=Math.abs(t),r=t<0,i=Math.floor(n/1e3),o=Math.floor(i/60),s=Math.floor(o/60),c=Math.floor(s/24),l;if(i<10)l=`刚刚`;else if(i<60)l=`${i} 秒${r?`后`:`前`}`;else if(o<60)l=`${o} 分钟${r?`后`:`前`}`;else if(s<24)l=`${s} 小时${r?`后`:`前`}`;else if(c<30)l=`${c} 天${r?`后`:`前`}`;else{let t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,`0`),r=String(e.getDate()).padStart(2,`0`);a.value=`${t}-${n}-${r}`;return}a.value=l},u=()=>{let e=c(r.value);if(!e){a.value=`--`,o.value=``;return}let t=e=>String(e).padStart(2,`0`);o.value=`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}`,l(e),i(`update`,a.value)};return(0,t.watch)(()=>r.value,u,{immediate:!1}),(0,t.onMounted)(()=>{u(),r.autoUpdate&&r.interval>0&&(s=setInterval(u,r.interval))}),(0,t.onBeforeUnmount)(()=>{s&&clearInterval(s)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`fou-time-ago`,title:o.value},[(0,t.renderSlot)(e.$slots,`default`,{value:a.value},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(a.value),1)],!0)],8,aE))}}),sE=v({default:()=>cE}),cE=S(oE,[[`__scopeId`,`data-v-76ac658b`]]),lE=[`aria-expanded`,`aria-disabled`,`onKeydown`],uE=[`disabled`,`onClick`],dE={key:0,class:`fou-time-select__empty`},fE=(0,t.defineComponent)({name:`FouTimeSelect`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`请选择时间`},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},size:{default:`default`},start:{default:`09:00`},end:{default:`18:00`},step:{default:`00:30`},minTime:{},maxTime:{}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=di(()=>r.disabled),{triggerBlur:o,triggerChange:s}=fi(),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(!1),d=(0,t.ref)({}),f=e=>{let[t,n]=String(e||`0:0`).split(`:`).map(e=>Number(e)||0);return t*60+n},p=e=>{let t=Math.floor(e/60),n=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},m=(0,t.computed)(()=>{let e=f(r.start),t=f(r.end),n=Math.max(1,f(r.step)||30),i=r.minTime?f(r.minTime):-1/0,a=r.maxTime?f(r.maxTime):1/0,o=[];for(let r=e;r<=t;r+=n)o.push({value:p(r),disabled:r<i||r>a});return o}),h=()=>{let e=c.value,t=l.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+4;i+r.height>window.innerHeight-8&&(i=Math.max(8,n.top-r.height-4)),d.value={position:`fixed`,top:`${Math.round(i)}px`,left:`${Math.round(n.left)}px`,minWidth:`${Math.round(n.width)}px`,zIndex:String(G(2e3))}},g=async()=>{a.value||(u.value=!0,await(0,t.nextTick)(),h())},_=()=>{u.value=!1,o()},v=()=>{u.value?_():g()},y=e=>{e.disabled||(i(`update:modelValue`,e.value),i(`change`,e.value),s(),_())},b=()=>{i(`update:modelValue`,``),i(`change`,``),s()},x=e=>{let t=e.target;c.value?.contains(t)||l.value?.contains(t)||_()};return(0,t.watch)(u,e=>{e?(document.addEventListener(`mousedown`,x,!0),window.addEventListener(`resize`,h),window.addEventListener(`scroll`,h,!0)):(document.removeEventListener(`mousedown`,x,!0),window.removeEventListener(`resize`,h),window.removeEventListener(`scroll`,h,!0))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,x,!0),window.removeEventListener(`resize`,h),window.removeEventListener(`scroll`,h,!0)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:c,class:(0,t.normalizeClass)([`fou-time-select`,[`fou-time-select--${e.size}`,{"is-disabled":(0,t.unref)(a),"is-focused":(0,t.unref)(u)}]])},[(0,t.createElementVNode)(`div`,{class:`fou-time-select__editor`,role:`combobox`,"aria-expanded":(0,t.unref)(u),"aria-disabled":(0,t.unref)(a),tabindex:`0`,onClick:v,onKeydown:(0,t.withKeys)((0,t.withModifiers)(v,[`prevent`]),[`enter`])},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-time-select__value`,{"is-placeholder":!e.modelValue}])},(0,t.toDisplayString)(e.modelValue||e.placeholder),3),e.clearable&&e.modelValue&&!(0,t.unref)(a)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-time-select__clear`,tabindex:`-1`,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(b,[`stop`])},` × `,32)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,{icon:`time-line`,class:`fou-time-select__icon`})],40,lE),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-time-select-fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`panelRef`,ref:l,class:`fou-time-select__panel`,style:(0,t.normalizeStyle)((0,t.unref)(d))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(m),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n.value,type:`button`,class:(0,t.normalizeClass)([`fou-time-select__item`,{"is-active":n.value===e.modelValue,"is-disabled":n.disabled}]),disabled:n.disabled,onClick:e=>y(n)},(0,t.toDisplayString)(n.value),11,uE))),128)),(0,t.unref)(m).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dE,`无可选时间`))],4)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],2)}}}),pE=v({default:()=>mE}),mE=S(fE,[[`__scopeId`,`data-v-7a9a2d97`]]),hE=(0,t.defineComponent)({name:`FouTimeline`,__name:`index`,props:{center:{type:Boolean,default:!1}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,{class:(0,t.normalizeClass)([`fou-timeline`,{"fou-timeline--center":e.center}])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),gE=v({default:()=>_E}),_E=S(hE,[[`__scopeId`,`data-v-04ce4880`]]),vE={class:`fou-timeline-item__dot`},yE={class:`fou-timeline-item__wrapper`},bE={key:0,class:`fou-timeline-item__timestamp is-top`},xE={class:`fou-timeline-item__content`},SE={key:1,class:`fou-timeline-item__timestamp is-bottom`},CE=(0,t.defineComponent)({name:`FouTimelineItem`,__name:`index`,props:{timestamp:{default:``},placement:{default:`bottom`},type:{default:`primary`},color:{default:``},hollow:{type:Boolean,default:!1},icon:{default:``},center:{type:Boolean,default:!1}},setup(e){let n=e,r={primary:`var(--fou-color-primary, var(--fou-color-primary, #409eff))`,success:`var(--fou-color-success, var(--fou-color-success, #67c23a))`,warning:`var(--fou-color-warning, var(--fou-color-warning, #e6a23c))`,danger:`var(--fou-color-danger, var(--fou-color-danger, #f56c6c))`,info:`var(--fou-color-info, var(--fou-color-info, #909399))`},i=(0,t.computed)(()=>n.type||`primary`),a=(0,t.computed)(()=>({"--fou-timeline-dot-color":n.color||r[i.value]}));return(n,r)=>{let o=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`li`,{class:(0,t.normalizeClass)([`fou-timeline-item`,[`fou-timeline-item--${(0,t.unref)(i)}`,`fou-timeline-item--placement-${e.placement}`,{"is-hollow":e.hollow}]]),style:(0,t.normalizeStyle)((0,t.unref)(a))},[r[0]||=(0,t.createElementVNode)(`div`,{class:`fou-timeline-item__tail`},null,-1),(0,t.createElementVNode)(`div`,vE,[(0,t.renderSlot)(n.$slots,`dot`,{},()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,icon:e.icon},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0)],!0)]),(0,t.createElementVNode)(`div`,yE,[e.timestamp&&e.placement===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bE,(0,t.toDisplayString)(e.timestamp),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,xE,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.timestamp&&e.placement===`bottom`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,SE,(0,t.toDisplayString)(e.timestamp),1)):(0,t.createCommentVNode)(``,!0)])],6)}}}),wE=v({default:()=>TE}),TE=S(CE,[[`__scopeId`,`data-v-71ac71cd`]]),EE={key:0,class:`fou-tips__title`},DE={class:`fou-tips__content`},OE=(0,t.defineComponent)({name:`FouTips`,inheritAttrs:!1,__name:`index`,props:{content:{default:``},title:{default:``},placement:{default:`top`},type:{default:`primary`},effect:{default:`dark`},trigger:{default:`hover`},showAfter:{default:0},hideAfter:{default:120},disabled:{type:Boolean,default:!1}},setup(e){let n=(0,t.useAttrs)(),r=e,i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)({}),c,l,u=!1,d=()=>{let e=i.value,t=a.value;if(!e||!t)return;let n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),c=0,l=0;switch(r.placement){case`bottom`:c=n.bottom+10,l=n.left+n.width/2-o.width/2;break;case`left`:c=n.top+n.height/2-o.height/2,l=n.left-o.width-10;break;case`right`:c=n.top+n.height/2-o.height/2,l=n.right+10;break;default:c=n.top-o.height-10,l=n.left+n.width/2-o.width/2}l=Math.min(Math.max(4,l),window.innerWidth-o.width-4),c=Math.min(Math.max(4,c),window.innerHeight-o.height-4),s.value={position:`fixed`,top:`${Math.round(c)}px`,left:`${Math.round(l)}px`,zIndex:String(G(2e3))}},f=()=>{c&&clearTimeout(c),l&&clearTimeout(l),c=void 0,l=void 0},p=async()=>{r.disabled||(f(),c=setTimeout(async()=>{o.value=!0,await(0,t.nextTick)(),d(),requestAnimationFrame(()=>d())},r.showAfter))},m=()=>{f(),l=setTimeout(()=>{(!u||r.trigger===`click`)&&(o.value=!1),r.trigger===`hover`&&!u&&(o.value=!1)},r.hideAfter)},h=()=>{r.trigger===`hover`&&(u=!1,p())},g=()=>{r.trigger===`hover`&&(u=!1,m())},_=()=>{r.trigger!==`click`||r.disabled||(o.value?o.value=!1:p())},v=()=>{r.trigger===`hover`&&(u=!0,f())},y=e=>{if(r.trigger!==`click`||!o.value)return;let t=e.target;i.value?.contains(t)||a.value?.contains(t)||(o.value=!1)},b=()=>{o.value&&d()};return(0,t.watch)(o,e=>{e?(window.addEventListener(`scroll`,b,!0),window.addEventListener(`resize`,b),r.trigger===`click`&&document.addEventListener(`click`,y,!0)):(window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b),document.removeEventListener(`click`,y,!0))}),(0,t.onBeforeUnmount)(()=>{f(),window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b),document.removeEventListener(`click`,y,!0)}),(r,c)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,(0,t.mergeProps)({class:`fou-tips-host`},(0,t.unref)(n)),[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:i,class:`fou-tips__trigger`,onMouseenter:h,onMouseleave:g,onClick:_},[(0,t.renderSlot)(r.$slots,`default`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-tips-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{ref_key:`popperRef`,ref:a,class:(0,t.normalizeClass)([`fou-tips`,[`fou-tips--${e.placement}`,`fou-tips--${e.type}`,`fou-tips--${e.effect}`]]),style:(0,t.normalizeStyle)((0,t.unref)(s)),role:`tooltip`,onMouseenter:v,onMouseleave:g},[e.title||r.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,EE,[(0,t.renderSlot)(r.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,DE,[(0,t.renderSlot)(r.$slots,`content`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)]),c[0]||=(0,t.createElementVNode)(`i`,{class:`fou-tips__arrow`,"aria-hidden":`true`},null,-1)],38),[[t.vShow,(0,t.unref)(o)]])]),_:3})]))],16))}}),kE=v({default:()=>AE}),AE=S(OE,[[`__scopeId`,`data-v-4eea1cd3`]]),jE=(0,t.defineComponent)({name:`FouTitle`,__name:`index`,props:{level:{default:1},type:{default:``},truncated:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>`h${n.level}`);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(r)),{class:(0,t.normalizeClass)([`fou-title`,[`fou-title--h${e.level}`,e.type?`fou-title--${e.type}`:``,{"is-truncated":e.truncated}]])},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),_:3},8,[`class`]))}}),ME=v({default:()=>NE}),NE=S(jE,[[`__scopeId`,`data-v-d55afa2d`]]),PE=Symbol(`FouTour`),FE={class:`fou-tour-step`,hidden:``},IE=(0,t.defineComponent)({name:`FouTourStep`,__name:`FouTourStep`,props:{target:{type:[String,Function]},title:{},description:{},placement:{},nextText:{},prevText:{},mask:{type:Boolean}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(PE,null),a=(0,t.getCurrentInstance)()?.uid??Math.random();return(0,t.onMounted)(()=>{i?.registerStep({uid:a,target:n.target,title:n.title,description:n.description||r.default?.(),placement:n.placement,nextText:n.nextText,prevText:n.prevText,mask:n.mask})}),(0,t.onUnmounted)(()=>i?.unregisterStep(a)),(0,t.watch)(()=>[n.target,n.title,n.description,n.placement],()=>{i?.registerStep({uid:a,target:n.target,title:n.title,description:n.description,placement:n.placement,nextText:n.nextText,prevText:n.prevText,mask:n.mask})}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,FE,[(0,t.renderSlot)(e.$slots,`default`)]))}}),LE=v({default:()=>RE}),RE=IE,zE={hidden:``},BE={key:1,class:`fou-tour__title`},VE={class:`fou-tour__body`},HE={class:`fou-tour__footer`},UE={class:`fou-tour__indicator`},WE={class:`fou-tour__actions`},GE=(0,t.defineComponent)({name:`FouTour`,__name:`index`,props:{modelValue:{type:Boolean,default:!1},current:{default:0},steps:{default:()=>[]},mask:{type:Boolean,default:!0},closable:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!1},scrollIntoView:{type:Boolean,default:!0},gap:{default:6},zIndex:{},finishButtonText:{default:`结束导览`},showClose:{type:Boolean,default:!0}},emits:[`update:modelValue`,`update:current`,`change`,`close`,`finish`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)([]),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)({}),l=(0,t.ref)(2e3),u=(0,t.ref)(`bottom`);(0,t.provide)(PE,{registerStep:e=>{let t=a.value.findIndex(t=>t.uid===e.uid);t>=0?a.value[t]=e:a.value.push(e)},unregisterStep:e=>{a.value=a.value.filter(t=>t.uid!==e)}});let d=(0,t.computed)({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),f=(0,t.computed)({get:()=>r.current,set:e=>i(`update:current`,e)}),p=(0,t.computed)(()=>r.steps?.length?r.steps:a.value),m=(0,t.computed)(()=>p.value.length),h=(0,t.computed)(()=>p.value[f.value]||null),g=(0,t.computed)(()=>h.value?.mask??r.mask),_=e=>{if(!e?.target)return null;let t=typeof e.target==`function`?e.target():e.target;return t?typeof t==`string`?document.querySelector(t):t:null},v=(0,t.computed)(()=>{let e=r.gap;if(!s.value)return{top:{position:`fixed`,left:`0`,top:`0`,right:`0`,bottom:`0`},right:{display:`none`},bottom:{display:`none`},left:{display:`none`}};let{top:t,left:n,width:i,height:a}=s.value;return{top:{position:`fixed`,left:`0`,top:`0`,width:`100%`,height:`${Math.max(0,t-e)}px`},left:{position:`fixed`,left:`0`,top:`${Math.max(0,t-e)}px`,width:`${Math.max(0,n-e)}px`,height:`${a+e*2}px`},right:{position:`fixed`,left:`${n+i+e}px`,top:`${Math.max(0,t-e)}px`,right:`0`,height:`${a+e*2}px`},bottom:{position:`fixed`,left:`0`,top:`${t+a+e}px`,right:`0`,bottom:`0`}}}),y=(0,t.computed)(()=>{if(!s.value)return{display:`none`};let e=r.gap;return{position:`fixed`,top:`${s.value.top-e}px`,left:`${s.value.left-e}px`,width:`${s.value.width+e*2}px`,height:`${s.value.height+e*2}px`}}),b=(e,t)=>{let n=o.value;if(!n)return;let r=n.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight;if(!e){c.value={position:`fixed`,top:`${Math.max(16,(a-r.height)/2)}px`,left:`${Math.max(16,(i-r.width)/2)}px`},u.value=`bottom`;return}let s=e.bottom+12,l=e.left+e.width/2-r.width/2;switch(t){case`top`:case`top-start`:case`top-end`:s=e.top-r.height-12,l=t===`top-start`?e.left:t===`top-end`?e.right-r.width:e.left+e.width/2-r.width/2;break;case`bottom`:case`bottom-start`:case`bottom-end`:s=e.bottom+12,l=t===`bottom-start`?e.left:t===`bottom-end`?e.right-r.width:e.left+e.width/2-r.width/2;break;case`left`:case`left-start`:case`left-end`:l=e.left-r.width-12,s=t===`left-start`?e.top:t===`left-end`?e.bottom-r.height:e.top+e.height/2-r.height/2;break;case`right`:case`right-start`:case`right-end`:l=e.right+12,s=t===`right-start`?e.top:t===`right-end`?e.bottom-r.height:e.top+e.height/2-r.height/2}l=Math.min(Math.max(8,l),i-r.width-8),s=Math.min(Math.max(8,s),a-r.height-8),c.value={position:`fixed`,top:`${Math.round(s)}px`,left:`${Math.round(l)}px`},u.value=t},x=async()=>{if(!d.value)return;let e=h.value,n=_(e);n&&r.scrollIntoView&&n.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),await(0,t.nextTick)(),s.value=n?n.getBoundingClientRect():null,await(0,t.nextTick)(),b(s.value,e?.placement||`bottom`)},S=()=>{d.value=!1,i(`close`)},C=()=>{i(`finish`),S()},w=e=>{let t=Math.min(Math.max(0,e),Math.max(0,m.value-1));f.value=t,i(`change`,t),x()},T=()=>w(f.value+1),E=()=>w(f.value-1),D=()=>{r.closeOnClickModal&&S()},O=e=>{d.value&&(e.key===`Escape`&&r.closable&&S(),e.key===`ArrowRight`&&T(),e.key===`ArrowLeft`&&E())};return(0,t.watch)(()=>[d.value,f.value,p.value.length],async([e])=>{e&&(l.value=r.zIndex||G(3200),await x())}),(0,t.onMounted)(()=>{window.addEventListener(`resize`,x),window.addEventListener(`scroll`,x,!0),document.addEventListener(`keydown`,O),d.value&&(l.value=r.zIndex||G(3200),x())}),(0,t.onUnmounted)(()=>{window.removeEventListener(`resize`,x),window.removeEventListener(`scroll`,x,!0),document.removeEventListener(`keydown`,O)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,zE,[(0,t.renderSlot)(n.$slots,`steps`,{},void 0,!0)]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-tour`,style:(0,t.normalizeStyle)({zIndex:(0,t.unref)(l)}),role:`dialog`,"aria-modal":`true`},[(0,t.unref)(g)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).top),onClick:D},null,4),(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).right),onClick:D},null,4),(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).bottom),onClick:D},null,4),(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).left),onClick:D},null,4)],64)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(s)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-tour__hole`,style:(0,t.normalizeStyle)((0,t.unref)(y))},null,4)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`panelRef`,ref:o,class:(0,t.normalizeClass)([`fou-tour__panel`,[`is-${(0,t.unref)(u)}`,{"is-center":!(0,t.unref)(s)}]]),style:(0,t.normalizeStyle)((0,t.unref)(c))},[e.showClose?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tour__close`,"aria-label":`关闭`,onClick:S},` × `)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(h)?.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,BE,[(0,t.renderSlot)(n.$slots,`header`,{step:(0,t.unref)(h),current:(0,t.unref)(f)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(h)?.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,VE,[(0,t.renderSlot)(n.$slots,`default`,{step:(0,t.unref)(h),current:(0,t.unref)(f)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(h)?.description),1)],!0)]),(0,t.createElementVNode)(`div`,HE,[(0,t.renderSlot)(n.$slots,`indicator`,{current:(0,t.unref)(f),total:(0,t.unref)(m)},()=>[(0,t.createElementVNode)(`span`,UE,(0,t.toDisplayString)((0,t.unref)(f)+1)+` / `+(0,t.toDisplayString)((0,t.unref)(m)),1)],!0),(0,t.createElementVNode)(`div`,WE,[(0,t.unref)(f)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tour__btn`,onClick:E},(0,t.toDisplayString)((0,t.unref)(h)?.prevText||`上一步`),1)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(f)<(0,t.unref)(m)-1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-tour__btn fou-tour__btn--primary`,onClick:T},(0,t.toDisplayString)((0,t.unref)(h)?.nextText||`下一步`),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-tour__btn fou-tour__btn--primary`,onClick:C},(0,t.toDisplayString)(e.finishButtonText),1))])])],6)],4)):(0,t.createCommentVNode)(``,!0)]))],64))}}),KE=v({default:()=>qE}),qE=S(GE,[[`__scopeId`,`data-v-a9993320`]]),JE={class:`fou-transfer`},YE={class:`fou-transfer__panel`},XE={class:`fou-transfer__header`},ZE={class:`fou-transfer__title`},QE={class:`fou-transfer__count`},$E={key:0,class:`fou-transfer__filter`},eD={class:`fou-transfer__body`},tD={key:0,class:`fou-transfer__empty`},nD={class:`fou-transfer__buttons`},rD={class:`fou-transfer__panel`},iD={class:`fou-transfer__header`},aD={class:`fou-transfer__title`},oD={class:`fou-transfer__count`},sD={key:0,class:`fou-transfer__filter`},cD={class:`fou-transfer__body`},lD={key:0,class:`fou-transfer__empty`},uD=(0,t.defineComponent)({name:`FouTransfer`,__name:`index`,props:{modelValue:{default:()=>[]},data:{default:()=>[]},titles:{default:()=>[`列表 1`,`列表 2`]},filterable:{type:Boolean,default:!1},filterPlaceholder:{default:`请输入搜索内容`},buttonTexts:{default:()=>[`移除`,`添加`]}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)([]),o=(0,t.ref)([]),s=(0,t.ref)(``),c=(0,t.ref)(``),l=(0,t.computed)(()=>r.data.filter(e=>!r.modelValue.includes(e.key))),u=(0,t.computed)(()=>r.data.filter(e=>r.modelValue.includes(e.key))),d=(e,t)=>!t.trim()||e.label.toLowerCase().includes(t.trim().toLowerCase()),f=(0,t.computed)(()=>l.value.filter(e=>d(e,s.value))),p=(0,t.computed)(()=>u.value.filter(e=>d(e,c.value))),m=(0,t.computed)(()=>f.value.filter(e=>!e.disabled).map(e=>e.key)),h=(0,t.computed)(()=>p.value.filter(e=>!e.disabled).map(e=>e.key)),g=(0,t.computed)(()=>m.value.length>0&&m.value.every(e=>a.value.includes(e))),_=(0,t.computed)(()=>a.value.some(e=>m.value.includes(e))&&!g.value),v=(0,t.computed)(()=>h.value.length>0&&h.value.every(e=>o.value.includes(e))),y=(0,t.computed)(()=>o.value.some(e=>h.value.includes(e))&&!v.value),b=e=>{i(`update:modelValue`,e),i(`change`,e)},x=e=>{a.value=e?[...m.value]:[]},S=e=>{o.value=e?[...h.value]:[]},C=()=>{let e=[...r.modelValue,...a.value];b(e),a.value=[]},w=()=>{let e=new Set(o.value),t=r.modelValue.filter(t=>!e.has(t));b(t),o.value=[]};return(0,t.watch)(()=>r.modelValue,()=>{let e=new Set(r.modelValue);a.value=a.value.filter(t=>!e.has(t)),o.value=o.value.filter(t=>e.has(t))}),(n,r)=>{let i=Ri,d=va,m=Mi,h=Vt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,JE,[(0,t.createElementVNode)(`div`,YE,[(0,t.createElementVNode)(`div`,XE,[(0,t.createVNode)(i,{"model-value":(0,t.unref)(g),indeterminate:(0,t.unref)(_),onChange:x},null,8,[`model-value`,`indeterminate`]),(0,t.createElementVNode)(`span`,ZE,(0,t.toDisplayString)(e.titles[0]),1),(0,t.createElementVNode)(`span`,QE,(0,t.toDisplayString)((0,t.unref)(a).length)+`/`+(0,t.toDisplayString)((0,t.unref)(l).length),1)]),e.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$E,[(0,t.createVNode)(d,{modelValue:(0,t.unref)(s),"onUpdate:modelValue":r[0]||=e=>(0,t.isRef)(s)?s.value=e:null,placeholder:e.filterPlaceholder,"prefix-icon":`search-line`},null,8,[`modelValue`,`placeholder`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,eD,[(0,t.createVNode)(m,{modelValue:(0,t.unref)(a),"onUpdate:modelValue":r[1]||=e=>(0,t.isRef)(a)?a.value=e:null},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(f),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(e.key),class:`fou-transfer__item`},[(0,t.createVNode)(i,{label:e.key,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`disabled`])]))),128))]),_:1},8,[`modelValue`]),(0,t.unref)(f).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tD,`无数据`))])]),(0,t.createElementVNode)(`div`,nD,[(0,t.createVNode)(h,{type:`primary`,disabled:!(0,t.unref)(a).length,onClick:C},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.buttonTexts[1])+` › `,1)]),_:1},8,[`disabled`]),(0,t.createVNode)(h,{disabled:!(0,t.unref)(o).length,onClick:w},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)(` ‹ `+(0,t.toDisplayString)(e.buttonTexts[0]),1)]),_:1},8,[`disabled`])]),(0,t.createElementVNode)(`div`,rD,[(0,t.createElementVNode)(`div`,iD,[(0,t.createVNode)(i,{"model-value":(0,t.unref)(v),indeterminate:(0,t.unref)(y),onChange:S},null,8,[`model-value`,`indeterminate`]),(0,t.createElementVNode)(`span`,aD,(0,t.toDisplayString)(e.titles[1]),1),(0,t.createElementVNode)(`span`,oD,(0,t.toDisplayString)((0,t.unref)(o).length)+`/`+(0,t.toDisplayString)((0,t.unref)(u).length),1)]),e.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,sD,[(0,t.createVNode)(d,{modelValue:(0,t.unref)(c),"onUpdate:modelValue":r[2]||=e=>(0,t.isRef)(c)?c.value=e:null,placeholder:e.filterPlaceholder,"prefix-icon":`search-line`},null,8,[`modelValue`,`placeholder`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,cD,[(0,t.createVNode)(m,{modelValue:(0,t.unref)(o),"onUpdate:modelValue":r[3]||=e=>(0,t.isRef)(o)?o.value=e:null},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(p),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(e.key),class:`fou-transfer__item`},[(0,t.createVNode)(i,{label:e.key,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`disabled`])]))),128))]),_:1},8,[`modelValue`]),(0,t.unref)(p).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lD,`无数据`))])])])}}}),dD=v({default:()=>fD}),fD=S(uD,[[`__scopeId`,`data-v-adf8d40f`]]),pD=[`onKeydown`],mD={class:`fou-tree-select__suffix`},hD={class:`fou-tree-select__dropdown`},gD=(0,t.defineComponent)({name:`FouTreeSelect`,__name:`index`,props:{modelValue:{default:null},data:{default:()=>[]},props:{default:()=>({})},placeholder:{default:`请选择`},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`,`clear`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.computed)(()=>r.props),c=(0,t.computed)(()=>r.modelValue!==null&&r.modelValue!==void 0&&r.modelValue!==``),l=(e,t)=>{for(let n of e){if(ru(n,r.props)===t)return n;let e=n[r.props?.children??`children`];if(Array.isArray(e)){let n=l(e,t);if(n)return n}}return null},u=(0,t.computed)(()=>{if(!c.value)return``;let e=l(r.data,r.modelValue);return e?iu(e,r.props):String(r.modelValue)}),d=()=>{r.disabled||(o.value=!0)},f=()=>{o.value=!1},p=()=>{r.disabled||(o.value?f():d())},m=e=>{let t=ru(e,r.props);i(`update:modelValue`,t),i(`change`,t),f()},h=()=>{i(`update:modelValue`,null),i(`change`,null),i(`clear`)},g=e=>{a.value?.contains(e.target)||f()};return(0,t.onMounted)(()=>document.addEventListener(`mousedown`,g)),(0,t.onUnmounted)(()=>document.removeEventListener(`mousedown`,g)),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-tree-select`,{"is-disabled":e.disabled,"is-focused":(0,t.unref)(o)}])},[(0,t.createElementVNode)(`div`,{class:`fou-tree-select__wrapper`,tabindex:`0`,onClick:p,onKeydown:[(0,t.withKeys)((0,t.withModifiers)(p,[`prevent`]),[`enter`]),(0,t.withKeys)((0,t.withModifiers)(p,[`prevent`]),[`space`]),(0,t.withKeys)(f,[`esc`])]},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-tree-select__selected`,{"is-placeholder":!(0,t.unref)(u)}])},(0,t.toDisplayString)((0,t.unref)(u)||e.placeholder),3),(0,t.createElementVNode)(`span`,mD,[e.clearable&&(0,t.unref)(c)&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tree-select__clear`,tabindex:`-1`,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(h,[`stop`])},` × `,32)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-tree-select__caret`,{"is-open":(0,t.unref)(o)}])},`▾`,2)])],40,pD),(0,t.createVNode)(t.Transition,{name:`fou-tree-select-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,hD,[(0,t.createVNode)(vu,{data:e.data,props:(0,t.unref)(s),"highlight-current":``,"default-expand-all":``,onNodeClick:m},null,8,[`data`,`props`])],512),[[t.vShow,(0,t.unref)(o)]])]),_:1})],2))}}),_D=v({default:()=>vD}),vD=S(gD,[[`__scopeId`,`data-v-53f707f4`]]),yD={class:`fou-tree-v2`,role:`tree`},bD=[`onClick`],xD=[`onClick`],SD={key:0},CD={class:`fou-tree-v2__label`},wD={key:1,class:`fou-tree-v2__empty`},TD=(0,t.defineComponent)({name:`FouTreeV2`,__name:`index`,props:{data:{default:()=>[]},props:{default:()=>({})},defaultExpandAll:{type:Boolean,default:!1},defaultExpandedKeys:{default:()=>[]},highlightCurrent:{type:Boolean,default:!0},height:{default:320},itemHeight:{default:32},indent:{default:16}},emits:[`node-click`,`node-expand`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(new Set),l=(0,t.computed)(()=>({...nu,...i.props})),u=(e,t,n)=>{e.forEach(e=>{let r=ru(e,l.value),a=au(e,l.value);(t||i.defaultExpandedKeys.includes(r))&&n.add(r),a.length&&u(a,t,n)})};(0,t.watch)(()=>i.data,()=>{let e=new Set;u(i.data,i.defaultExpandAll,e),c.value=e},{immediate:!0,deep:!0});let d=(0,t.computed)(()=>{let e=[],t=(n,r)=>{n.forEach(n=>{let i=ru(n,l.value),a=au(n,l.value),o=c.value.has(i);e.push({key:i,label:iu(n,l.value),node:n,level:r,isLeaf:!a.length,expanded:o}),o&&a.length&&t(a,r+1)})};return t(i.data,0),e}),{range:f,onScroll:p}=Qw({scrollRef:o,total:()=>d.value.length,itemHeight:i.itemHeight}),m=(0,t.computed)(()=>d.value.slice(f.value.start,f.value.end).map((e,t)=>({...e,top:(f.value.start+t)*i.itemHeight}))),h=e=>{if(e.isLeaf)return;let t=new Set(c.value);t.has(e.key)?t.delete(e.key):t.add(e.key),c.value=t,a(`node-expand`,e.node,t.has(e.key))},g=e=>{i.highlightCurrent&&(s.value=e.key),a(`node-click`,e.node)};return n({filter(e){let t=e.trim().toLowerCase();if(!t)return;let n=new Set,r=e=>{let i=!1;return e.forEach(e=>{let a=au(e,l.value),o=iu(e,l.value).toLowerCase().includes(t),s=r(a);(o||s)&&(n.add(ru(e,l.value)),i=!0)}),i};r(i.data),c.value=n}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yD,[(0,t.unref)(d).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`listRef`,ref:o,class:`fou-tree-v2__list`,style:(0,t.normalizeStyle)({height:`${e.height}px`}),onScroll:r[0]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e)},[(0,t.createElementVNode)(`div`,{style:(0,t.normalizeStyle)({height:`${(0,t.unref)(f).height}px`,position:`relative`})},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(m),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(n.key),class:(0,t.normalizeClass)([`fou-tree-v2__node`,{"is-current":(0,t.unref)(s)===n.key}]),style:(0,t.normalizeStyle)({top:`${n.top}px`,height:`${e.itemHeight}px`,paddingLeft:`${n.level*e.indent+8}px`}),onClick:e=>g(n)},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`fou-tree-v2__expand`,{"is-leaf":n.isLeaf,"is-open":n.expanded}]),onClick:(0,t.withModifiers)(e=>h(n),[`stop`])},[n.isLeaf?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,SD,`›`))],10,xD),(0,t.createElementVNode)(`span`,CD,(0,t.toDisplayString)(n.label),1)],14,bD))),128))],4)],36)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wD,`无数据`))]))}}),ED=v({default:()=>DD}),DD=S(TD,[[`__scopeId`,`data-v-409607df`]]),OD=[`title`],kD={class:`fou-trend__value`},AD=(0,t.defineComponent)({name:`FouTrend`,__name:`index`,props:{direction:{default:void 0},value:{default:void 0},showArrow:{type:Boolean,default:!0},prefix:{default:``},suffix:{default:``}},setup(e){let n=e,r=(0,t.computed)(()=>n.direction?n.direction:n.value===void 0?`flat`:n.value>0?`up`:n.value<0?`down`:`flat`),i=(0,t.computed)(()=>`fou-trend--${r.value}`),a=(0,t.computed)(()=>r.value===`up`?`arrow-up-line`:r.value===`down`?`arrow-down-line`:`subtract-line`),o=(0,t.computed)(()=>{if(n.value===void 0)return``;let e=n.value>0?`+`:``;return`${n.prefix}${e}${n.value}${n.suffix}`}),s=(0,t.computed)(()=>r.value===`up`?`上升`:r.value===`down`?`下降`:`持平`);return(n,r)=>{let c=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-trend`,i.value]),title:s.value},[e.showArrow?((0,t.openBlock)(),(0,t.createBlock)(c,{key:0,icon:a.value,class:`fou-trend__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,kD,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(o.value),1)],!0)])],10,OD)}}}),jD=v({default:()=>MD}),MD=S(AD,[[`__scopeId`,`data-v-899e84d1`]]),ND=[`accept`,`multiple`,`disabled`],PD={key:0,class:`fou-upload__card-list`},FD=[`src`],ID={key:1,class:`fou-upload__card-name`},LD={key:2,class:`fou-upload__card-progress`},RD=[`disabled`,`onClick`],zD={key:0,class:`fou-upload__tip`},BD={key:1,class:`fou-upload__trigger`},VD={key:0,class:`fou-upload__tip`},HD={key:2,class:`fou-upload__list`},UD={class:`fou-upload__item-main`},WD=[`src`],GD=[`title`],KD={class:`fou-upload__size`},qD=[`disabled`,`onClick`],JD={key:0,class:`fou-upload__progress`},YD={key:1,class:`fou-upload__fail`},XD={key:2,class:`fou-upload__response`},ZD=(0,t.defineComponent)({name:`FouUpload`,__name:`index`,props:{modelValue:{default:()=>[]},accept:{default:``},multiple:{type:Boolean,default:!1},limit:{default:0},disabled:{type:Boolean,default:!1},drag:{type:Boolean,default:!1},listType:{default:`text`},buttonText:{default:`点击上传`},tip:{default:``},autoUpload:{type:Boolean,default:!0},action:{default:``},headers:{default:()=>({})},name:{default:`file`},data:{default:()=>({})},withCredentials:{type:Boolean,default:!1},showPreview:{type:Boolean,default:!0},showResponse:{type:Boolean,default:!1},autoThumbnail:{type:Boolean,default:!1},thumbnailSize:{default:64},outputQuality:{default:.85},thumbnailType:{default:`image/jpeg`}},emits:[`update:modelValue`,`change`,`remove`,`exceed`,`success`,`error`,`progress`],setup(e,{expose:n,emit:r}){let i=e,a=r,{triggerChange:o}=fi(),s=(0,t.ref)(null),c=new Set,l=e=>{e?.startsWith(`blob:`)&&URL.revokeObjectURL(e)},u=(0,t.ref)(!1),d=(0,t.ref)([...i.modelValue]),f=Date.now();(0,t.watch)(()=>i.modelValue,e=>{let t=[...e||[]],n=new Set(t.flatMap(e=>[e.url,e.thumbnail].filter(e=>!!e)));d.value.forEach(e=>{e.url&&!n.has(e.url)&&l(e.url),e.thumbnail&&!n.has(e.thumbnail)&&l(e.thumbnail)}),d.value=t});let p=()=>a(`update:modelValue`,[...d.value]),m=(0,t.computed)(()=>{let e=Math.max(24,i.thumbnailSize||64);return{width:`${e}px`,height:`${e}px`}}),h=(0,t.computed)(()=>{let e=Math.max(64,i.thumbnailSize||100);return{width:`${e}px`,height:`${e}px`}}),g=(e=0)=>e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`,_=e=>/\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(e),v=e=>!i.showPreview||!_(e.name)&&!e.url?``:e.thumbnail||e.url||``,y=e=>{if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}},b=e=>{if(!e)return``;if(typeof e==`string`&&/^https?:|^\/|blob:|data:/i.test(e))return e;if(typeof e==`object`&&e){let t=e;return t.url||t.data?.url||t.result?.url||t.path||t.data?.path||``}return``},x=(e,t)=>new Promise(n=>{if(!e.type.startsWith(`image/`)){n(``);return}let r=new Image,a=URL.createObjectURL(e);r.onload=()=>{let e=document.createElement(`canvas`),o=Math.min(t/r.width,t/r.height,1),s=Math.max(1,Math.round(r.width*o)),c=Math.max(1,Math.round(r.height*o));e.width=s,e.height=c;let l=e.getContext(`2d`);(i.thumbnailType===`image/jpeg`||i.thumbnailType===`image/webp`)&&l?.fillRect(0,0,s,c),l?.drawImage(r,0,0,s,c),URL.revokeObjectURL(a);try{n(e.toDataURL(i.thumbnailType,i.outputQuality))}catch{n(``)}},r.onerror=()=>{URL.revokeObjectURL(a),n(``)},r.src=a}),S=()=>{i.disabled||s.value?.click()},C=()=>{i.disabled||(u.value=!0)},w=()=>{u.value=!1},T=e=>{u.value=!1,!i.disabled&&D(Array.from(e.dataTransfer?.files||[]))},E=e=>{let t=e.target,n=Array.from(t.files||[]);t.value=``,D(n)},D=async e=>{if(e.length){if(i.limit&&d.value.length+e.length>i.limit){a(`exceed`,e,[...d.value]);return}for(let t of e){let e={uid:++f,name:t.name,size:t.size,raw:t,url:_(t.name)?URL.createObjectURL(t):void 0,status:`ready`,percentage:0};i.autoThumbnail&&_(t.name)&&(e.thumbnail=await x(t,i.thumbnailSize)),d.value.push(e),p(),a(`change`,e,[...d.value]),o(),i.autoUpload&&A(e)}}},O=e=>{i.disabled||(l(e.url),d.value=d.value.filter(t=>t.uid!==e.uid),p(),a(`remove`,e,[...d.value]),o())},A=e=>{if(!e.raw)return;if(!i.action){e.status=`success`,e.percentage=100,e.response={local:!0,name:e.name,size:e.size,url:e.url},p(),a(`success`,e.response,e,[...d.value]);return}e.status=`uploading`,e.percentage=0,p();let t=new XMLHttpRequest;c.add(t);let n=new FormData;n.append(i.name,e.raw,e.name),Object.entries(i.data||{}).forEach(([e,t])=>n.append(e,t)),t.upload.onprogress=t=>{if(!t.lengthComputable)return;let n=Math.round(t.loaded/t.total*100);e.percentage=n,p(),a(`progress`,n,e,[...d.value])},t.onload=()=>{if(t.status>=200&&t.status<300){let n=t.responseText;try{n=JSON.parse(t.responseText)}catch{}e.status=`success`,e.percentage=100,e.response=n;let r=b(n);r&&(l(e.url),e.url=r),c.delete(t),p(),a(`success`,n,e,[...d.value])}else e.status=`fail`,c.delete(t),p(),a(`error`,Error(`Upload failed: ${t.status}`),e,[...d.value])},t.onerror=()=>{e.status=`fail`,c.delete(t),p(),a(`error`,Error(`Network error`),e,[...d.value])},t.open(`POST`,i.action),Object.entries(i.headers||{}).forEach(([e,n])=>t.setRequestHeader(e,n)),t.withCredentials=i.withCredentials,t.send(n)};return(0,t.onBeforeUnmount)(()=>{c.forEach(e=>e.abort()),c.clear(),d.value.forEach(e=>l(e.url))}),n({clearFiles:()=>{d.value.forEach(e=>l(e.url)),d.value=[],p()},submit:()=>{d.value.filter(e=>e.status===`ready`).forEach(A)}}),(n,r)=>{let i=k,a=Vt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-upload`,{"is-disabled":e.disabled,[`fou-upload--${e.listType}`]:!0,"is-dragover":(0,t.unref)(u)}])},[(0,t.createElementVNode)(`input`,{ref_key:`inputRef`,ref:s,class:`fou-upload__input`,type:`file`,accept:e.accept,multiple:e.multiple,disabled:e.disabled,onChange:E},null,40,ND),e.listType===`picture-card`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,PD,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(d),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.uid,class:`fou-upload__card`,style:(0,t.normalizeStyle)((0,t.unref)(h))},[e.showPreview&&v(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:v(n),class:`fou-upload__card-img`,alt:``},null,8,FD)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ID,(0,t.toDisplayString)(n.name),1)),n.status===`uploading`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,LD,(0,t.toDisplayString)(n.percentage||0)+`% `,1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload__card-remove`,disabled:e.disabled,onClick:e=>O(n)},` × `,8,RD)],4))),128)),!e.disabled&&(!e.limit||(0,t.unref)(d).length<e.limit)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-upload__card-trigger`,style:(0,t.normalizeStyle)((0,t.unref)(h)),onClick:S},[(0,t.createVNode)(i,{icon:`add-line`}),r[0]||=(0,t.createElementVNode)(`span`,null,`上传`,-1)],4)):(0,t.createCommentVNode)(``,!0)])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[e.drag?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-upload__dragger`,onClick:S,onDragover:(0,t.withModifiers)(C,[`prevent`]),onDragleave:(0,t.withModifiers)(w,[`prevent`]),onDrop:(0,t.withModifiers)(T,[`prevent`])},[(0,t.createVNode)(i,{icon:`upload-cloud-2-line`,class:`fou-upload__drag-icon`}),r[1]||=(0,t.createElementVNode)(`p`,null,[(0,t.createTextVNode)(`将文件拖到此处,或 `),(0,t.createElementVNode)(`em`,null,`点击上传`)],-1),e.tip?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,zD,(0,t.toDisplayString)(e.tip),1)):(0,t.createCommentVNode)(``,!0)],32)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,BD,[(0,t.createVNode)(a,{type:`primary`,disabled:e.disabled,icon:`upload-2-line`,onClick:S},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.buttonText),1)]),_:1},8,[`disabled`]),e.tip?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,VD,(0,t.toDisplayString)(e.tip),1)):(0,t.createCommentVNode)(``,!0)])),(0,t.unref)(d).length?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,HD,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(d),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:n.uid,class:`fou-upload__item`},[(0,t.createElementVNode)(`div`,UD,[e.showPreview&&v(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:v(n),class:`fou-upload__thumb`,style:(0,t.normalizeStyle)((0,t.unref)(m)),alt:``},null,12,WD)):((0,t.openBlock)(),(0,t.createBlock)(i,{key:1,icon:_(n.name)?`image-line`:`file-line`},null,8,[`icon`])),(0,t.createElementVNode)(`span`,{class:`fou-upload__name`,title:n.name},(0,t.toDisplayString)(n.name),9,GD),(0,t.createElementVNode)(`span`,KD,(0,t.toDisplayString)(g(n.size)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload__remove`,disabled:e.disabled,onClick:e=>O(n)},[(0,t.createVNode)(i,{icon:`close-line`})],8,qD)]),n.status===`uploading`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,JD,[(0,t.createElementVNode)(`div`,{class:`fou-upload__progress-bar`,style:(0,t.normalizeStyle)({width:`${n.percentage||0}%`})},null,4)])):n.status===`fail`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,YD,`上传失败`)):(0,t.createCommentVNode)(``,!0),e.showResponse&&n.response!=null?((0,t.openBlock)(),(0,t.createElementBlock)(`pre`,XD,(0,t.toDisplayString)(y(n.response)),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64))],2)}}}),QD=v({default:()=>$D}),$D=S(ZD,[[`__scopeId`,`data-v-7d68c9d2`]]),eO=[`accept`,`disabled`],tO={key:0,class:`fou-upload-crop__avatar-row`},nO=[`src`],rO={key:2,class:`fou-upload-crop__mask fou-upload-crop__mask--avatar`},iO=[`disabled`],aO=[`disabled`],oO={class:`fou-upload-crop__trigger-text`},sO={key:0,class:`fou-upload-crop__tip`},cO={class:`fou-upload-crop__trigger-text`},lO={key:0,class:`fou-upload-crop__tip`},uO=[`src`],dO={class:`fou-upload-crop__mask fou-upload-crop__mask--always`},fO=[`disabled`],pO=[`disabled`],mO=[`disabled`],hO=[`aria-label`],gO={class:`fou-upload-crop__dialog-box`},_O={class:`fou-upload-crop__dialog-head`},vO=[`src`],yO=[`onPointerdown`],bO={class:`fou-upload-crop__toolbar`},xO={class:`fou-upload-crop__field`},SO={class:`fou-upload-crop__field`},CO={class:`fou-upload-crop__quality`},wO=[`src`],TO=(0,t.defineComponent)({name:`FouUploadCrop`,__name:`index`,props:{modelValue:{default:``},width:{default:178},height:{default:178},type:{default:()=>[`png`,`jpg`,`jpeg`]},size:{default:5},disabled:{type:Boolean,default:!1},buttonText:{},tip:{},shape:{default:`rect`},layout:{default:`default`},dialogTitle:{default:`头像裁剪`},confirmText:{default:`确定上传`},circleOutput:{type:Boolean,default:!1},shadeClose:{type:Boolean,default:!0},outputType:{default:`image/jpeg`},accept:{default:`image/png,image/jpeg,image/jpg`},outputQuality:{default:.92},outputWidth:{default:0},outputHeight:{default:0},withThumbnail:{type:Boolean,default:!1},thumbnailSize:{default:120},withAvatar:{type:Boolean,default:!1},avatarSize:{default:160},cropInitWidth:{default:0},cropInitHeight:{default:0},fixedAspect:{type:Boolean,default:!1},aspectRatio:{default:0},showRotate:{type:Boolean,default:!0},showFlip:{type:Boolean,default:!0},showZoom:{type:Boolean,default:!0},showSizeInputs:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`cropper-image`,`cropper-thumbnail`,`cropper-avatar`,`cropper-result`,`cropper-file`,`remove`,`error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)(``),p=(0,t.ref)(r.modelValue),m=(0,t.computed)(()=>!!p.value),h=(0,t.ref)(1),g=(0,t.ref)(1),_=(0,t.ref)(1),v=(0,t.ref)(0),y=(0,t.ref)(0),b=(0,t.ref)(0),x=(0,t.ref)(0),S=(0,t.ref)(0),C=(0,t.ref)(0),w=(0,t.ref)(0),T=(0,t.ref)(0),E=(0,t.ref)(0),D=(0,t.ref)(0),O=(0,t.ref)(0),A=(0,t.ref)(0),j=(0,t.ref)(0),M=(0,t.ref)(r.outputQuality),N=(0,t.computed)(()=>{let e=r.shape;return e===`round`||e===`circle`?`circle`:e===`square`?`square`:`rect`}),P=(0,t.computed)(()=>N.value===`circle`),F=(0,t.computed)(()=>r.layout===`avatar`),I=(0,t.computed)(()=>N.value===`circle`||N.value===`square`||r.fixedAspect),L=(0,t.computed)(()=>r.buttonText===void 0?F.value?`上传头像`:`上传图片`:r.buttonText),R=(0,t.computed)(()=>r.tip===void 0?F.value?`JPG / PNG, 裁剪后上传`:``:r.tip),ee=e=>{if(e==null||e===``)return 0;if(typeof e==`number`)return Number.isFinite(e)&&e>0?e:0;let t=String(e).trim();if(!t)return 0;let n=t.includes(`:`)?`:`:t.includes(`/`)?`/`:``;if(n){let[e,r]=t.split(n).map(e=>Number(e.trim()));return Number.isFinite(e)&&Number.isFinite(r)&&r!==0?e/r:0}let r=Number(t);return Number.isFinite(r)&&r>0?r:0},z=(0,t.computed)(()=>{if(N.value===`circle`||N.value===`square`)return 1;let e=ee(r.aspectRatio);return e>0?e:r.cropInitWidth>0&&r.cropInitHeight>0?r.cropInitWidth/r.cropInitHeight:r.outputWidth>0&&r.outputHeight>0?r.outputWidth/r.outputHeight:1}),B=(0,t.computed)(()=>({width:`${r.width}px`,height:`${r.height}px`})),V=(0,t.computed)(()=>{let e=Math.min(r.width,r.height,88);return{width:`${e}px`,height:`${e}px`}}),H=(0,t.computed)(()=>({width:`${Math.max(140,r.width)}px`,height:`${Math.max(88,Math.min(r.height,120))}px`})),te=(0,t.computed)(()=>P.value||r.circleOutput?{borderRadius:`50%`}:N.value===`square`?{borderRadius:`4px`}:{}),ne=(0,t.computed)(()=>{let e=x.value*h.value,t=S.value*h.value;return{width:`${Math.max(1,e)}px`,height:`${Math.max(1,t)}px`,left:`${(C.value-e)/2+y.value}px`,top:`${(w.value-t)/2+b.value}px`,objectFit:`fill`,maxWidth:`none`,maxHeight:`none`,transform:`rotate(${v.value}deg) scaleX(${g.value}) scaleY(${_.value})`}}),re=(0,t.computed)(()=>({left:`${T.value}px`,top:`${E.value}px`,width:`${D.value}px`,height:`${O.value}px`})),ie=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],ae=e=>(e.split(`.`).pop()||``).toLowerCase(),oe=e=>{let t=ae(e);return r.type.includes(t)},U=()=>{r.disabled||a.value?.click()},se=e=>{r.disabled||(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),U())},ce=()=>{r.disabled||(l.value=!0)},le=()=>{l.value=!1},W=e=>{if(l.value=!1,r.disabled)return;let t=e.dataTransfer?.files?.[0];t&&ue(t)},G=e=>{let t=e.target,n=t.files?.[0];t.value=``,n&&ue(n)},ue=async e=>{if(!e.type.startsWith(`image/`)){i(`error`,`仅支持图片文件`);return}if(!oe(e.name)){i(`error`,`不支持的格式,仅允许:${r.type.join(`/`)}`);return}if(e.size>r.size*1024*1024){i(`error`,`文件超过 ${r.size}MB 限制`);return}try{f.value=await K(e),u.value=!0,(0,t.nextTick)(()=>{requestAnimationFrame(()=>q())})}catch{i(`error`,`图片读取失败`)}},K=async e=>{try{if(typeof createImageBitmap==`function`){let t=await createImageBitmap(e,{imageOrientation:`from-image`}),n=document.createElement(`canvas`);n.width=Math.max(1,t.width),n.height=Math.max(1,t.height);let r=n.getContext(`2d`);if(r){r.drawImage(t,0,0),t.close?.();let i=e.type&&e.type.startsWith(`image/`)?e.type:`image/jpeg`;return n.toDataURL(i)}t.close?.()}}catch{}return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(Error(`read failed`)),r.readAsDataURL(e)})},de=()=>{if(!r.disabled){if(f.value){u.value=!0,(0,t.nextTick)(()=>{requestAnimationFrame(()=>q())});return}p.value&&(f.value=p.value,u.value=!0,(0,t.nextTick)(()=>{requestAnimationFrame(()=>q())}))}},fe=(e,t,n,r,i)=>{let a=r,o=i;if(a<=0&&o<=0){let r=e*.7,i=t*.7;r/i>n?(o=i,a=o*n):(a=r,o=a/n)}else a>0&&o<=0?(a=Math.min(a,e),o=a/n,o>t&&(o=t,a=o*n)):o>0&&a<=0?(o=Math.min(o,t),a=o*n,a>e&&(a=e,o=a/n)):(a=Math.min(a,e),o=a/n,o>t&&(o=Math.min(i,t),a=o*n,a>e&&(a=e,o=a/n)));return a=Math.min(Math.max(1,a),e),o=a/n,o>t&&(o=t,a=o*n),a>e&&(a=e,o=a/n),a=Math.min(a,e),o=Math.min(o,t),{w:Math.max(1,a),h:Math.max(1,o)}},q=(e=0)=>{let n=o.value;if(!n)return;let a=n.getBoundingClientRect();if(a.width<8||a.height<8){e<8&&requestAnimationFrame(()=>q(e+1));return}C.value=a.width,w.value=a.height;let s=new Image;s.onload=()=>{let e=s.naturalWidth||s.width,n=s.naturalHeight||s.height;x.value=e,S.value=n;let i=Math.min(a.width/e,a.height/n,1);if(h.value=Number.isFinite(i)&&i>0?i:1,g.value=1,_.value=1,v.value=0,y.value=0,b.value=0,I.value){let e=z.value,t=r.cropInitWidth>0?r.cropInitWidth:0,n=r.cropInitHeight>0?r.cropInitHeight:0,i=fe(a.width,a.height,e,t,n);D.value=i.w,O.value=i.h}else{let t=Math.min(a.width,a.height)*.7,i=r.cropInitWidth>0?Math.min(r.cropInitWidth,a.width):t,o=r.cropInitHeight>0?Math.min(r.cropInitHeight,a.height):t,s=e*h.value,c=n*h.value;D.value=Math.min(i,s),O.value=Math.min(o,c)}T.value=(a.width-D.value)/2,E.value=(a.height-O.value)/2,pe(),(0,t.nextTick)(()=>{let e=he(T.value,E.value,D.value,O.value,a.width,a.height);if(I.value){let t=z.value,n=e.w,r=n/t;e.y+r>a.height&&(r=Math.max(1,a.height-e.y),n=r*t);let i=he(e.x,e.y,n,r,a.width,a.height);T.value=i.x,E.value=i.y,D.value=i.w,O.value=i.w/t}else T.value=e.x,E.value=e.y,D.value=e.w,O.value=e.h;pe()})},s.onerror=()=>i(`error`,`图片加载失败`),s.src=f.value},pe=()=>{A.value=Math.round(D.value),j.value=Math.round(O.value)},me=()=>{let e=o.value,t=s.value;if(!e||!t)return null;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return r.width<1||r.height<1?null:{left:r.left-n.left,top:r.top-n.top,width:r.width,height:r.height,right:r.right-n.left,bottom:r.bottom-n.top}},he=(e,t,n,r,i,a)=>{let o=me(),s=0,c=0,l=i,u=a;o&&o.width>=20&&o.height>=20&&(s=Math.max(0,o.left),c=Math.max(0,o.top),l=Math.min(i,o.right),u=Math.min(a,o.bottom),(l-s<20||u-c<20)&&(s=0,c=0,l=i,u=a));let d=Math.max(20,l-s),f=Math.max(20,u-c),p=Math.max(20,Math.min(n,d)),m=Math.max(20,Math.min(r,f)),h=Math.max(s,Math.min(e,l-p)),g=Math.max(c,Math.min(t,u-m));return h+p>l&&(p=Math.max(20,l-h)),g+m>u&&(m=Math.max(20,u-g)),{x:h,y:g,w:p,h:m}},ge=e=>{let t=o.value;if(!t)return;let n=t.getBoundingClientRect(),r=Math.max(20,A.value||D.value),i=Math.max(20,j.value||O.value);if(I.value){let t=z.value,a=Math.max(20,20*t),o=a/t;e===`h`?r=i*t:i=r/t,r>n.width&&(r=n.width,i=r/t),i>n.height&&(i=n.height,r=i*t),r=Math.max(a,r),i=Math.max(o,i)}else r=Math.max(20,Math.min(r,n.width)),i=Math.max(20,Math.min(i,n.height));let a=he(T.value,E.value,r,i,n.width,n.height);if(I.value){let e=z.value,t=a.w,r=t/e;r>n.height&&(r=Math.min(a.h,n.height),t=r*e);let i=he(a.x,a.y,t,r,n.width,n.height),o=i.w,s=o/e;i.y+s>n.height&&(s=n.height-i.y,o=s*e),i.x+o>n.width&&(o=n.width-i.x,s=o/e),T.value=Math.max(0,Math.min(i.x,n.width-o)),E.value=Math.max(0,Math.min(i.y,n.height-s));let c=Math.max(20,20*e);D.value=Math.max(c,o),O.value=D.value/e}else T.value=a.x,E.value=a.y,D.value=a.w,O.value=a.h;pe()},_e=()=>q(),ve=e=>{v.value=((v.value+e)%360+360)%360},ye=e=>{h.value=Math.max(.1,Math.min(5,+(h.value-e.deltaY*.001).toFixed(3)))},be=(e,t)=>{if(e.button!==void 0&&e.button!==0)return;e.preventDefault();let n=e.currentTarget;try{n?.setPointerCapture?.(e.pointerId)}catch{}let r=e=>t(e),i=e=>{try{n?.releasePointerCapture?.(e.pointerId)}catch{}window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),window.removeEventListener(`pointercancel`,i)};window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i),window.addEventListener(`pointercancel`,i)},xe=e=>{let t=e.clientX,n=e.clientY,r=y.value,i=b.value;be(e,e=>{y.value=r+(e.clientX-t),b.value=i+(e.clientY-n)})},Se=e=>{let t=e.clientX,n=e.clientY,r=T.value,i=E.value,a=o.value.getBoundingClientRect();be(e,e=>{let o=r+(e.clientX-t),s=i+(e.clientY-n),c=he(o,s,D.value,O.value,a.width,a.height);T.value=c.x,E.value=c.y})},Ce=(e,t,n,r,i,a,o,s,c,l)=>{let u=t,d=n,f=r,p=i,m=Math.max(20,20*l),h=m/l,g=(e,a,o,s)=>{f=Math.max(m,e),p=f/l,a&&(u=t+r-f),s?d=n+(i-p)/2:o&&(d=n+i-p)},_=(e,a,o,s)=>{p=Math.max(h,e),f=p*l,a&&(d=n+i-p),s?u=t+(r-f)/2:o&&(u=t+r-f)};if(e===`e`||e===`w`)g(e===`e`?r+a:r-a,e===`w`,!1,!0);else if(e===`n`||e===`s`)_(e===`s`?i+o:i-o,e===`n`,!1,!0);else{let s=e.includes(`e`)?r+a:r-a,c=e.includes(`s`)?i+o:i-o;Math.abs(a)*l>=Math.abs(o)?(g(s,e.includes(`w`),e.includes(`n`),!1),e.includes(`n`)&&(d=n+i-p)):(_(c,e.includes(`n`),e.includes(`w`),!1),e.includes(`w`)&&(u=t+r-f))}return f>s&&(f=s,p=f/l),p>c&&(p=c,f=p*l),f=Math.max(m,f),p=f/l,p<h&&(p=h,f=p*l),e.includes(`w`)&&(u=t+r-f),e===`n`&&(d=n+i-p),e.includes(`n`)&&e.length===2&&(d=n+i-p),u=Math.max(0,Math.min(u,s-f)),d=Math.max(0,Math.min(d,c-p)),u+f>s&&(f=Math.max(m,s-u),p=f/l,e.includes(`n`)&&(d=n+i-p),d=Math.max(0,Math.min(d,c-p))),d+p>c&&(p=Math.max(h,c-d),f=p*l,e.includes(`w`)&&(u=t+r-f),u=Math.max(0,Math.min(u,s-f))),{nx:u,ny:d,nw:f,nh:p}},we=(e,t)=>{let n=e.clientX,r=e.clientY,i=T.value,a=E.value,s=D.value,c=O.value,l=o.value.getBoundingClientRect();be(e,e=>{let o=e.clientX-n,u=e.clientY-r,d=i,f=a,p=s,m=c;if(I.value){let e=Ce(t,i,a,s,c,o,u,l.width,l.height,z.value);d=e.nx,f=e.ny,p=e.nw,m=e.nh}else t.includes(`e`)&&(p=Math.max(20,Math.min(s+o,l.width-i))),t.includes(`s`)&&(m=Math.max(20,Math.min(c+u,l.height-a))),t.includes(`w`)&&(d=Math.max(0,i+o),p=i+s-d),t.includes(`n`)&&(f=Math.max(0,a+u),m=a+c-f),p<20&&(p=20,t.includes(`w`)&&(d=i+s-20)),m<20&&(m=20,t.includes(`n`)&&(f=a+c-20));let h=he(d,f,p,m,l.width,l.height);if(I.value){let e=z.value,t=h.w,n=t/e;n>l.height&&(n=Math.min(h.h,l.height),t=n*e);let r=he(h.x,h.y,t,n,l.width,l.height);T.value=r.x,E.value=r.y;let i=Math.max(20,20*e),a=Math.max(i,r.w),o=a/e;r.y+o>l.height&&(o=Math.max(i/e,l.height-r.y),a=o*e),r.x+a>l.width&&(a=Math.max(i,l.width-r.x),o=a/e),D.value=a,O.value=o}else T.value=h.x,E.value=h.y,D.value=h.w,O.value=h.h;pe()})},Te=()=>{r.shadeClose&&Ee()},Ee=()=>{u.value=!1},De=e=>{e.key===`Escape`&&(e.preventDefault(),Ee())};(0,t.watch)(u,e=>{e?window.addEventListener(`keydown`,De):window.removeEventListener(`keydown`,De)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`keydown`,De)});let Oe=e=>{let t=e.naturalWidth,n=e.naturalHeight,r=(v.value%360+360)%360,i=r*Math.PI/180,a=r===90||r===270,o=a?n:t,s=a?t:n,c=document.createElement(`canvas`);c.width=Math.max(1,o),c.height=Math.max(1,s);let l=c.getContext(`2d`);return l.translate(o/2,s/2),l.rotate(i),l.scale(g.value,_.value),l.drawImage(e,-t/2,-n/2),{canvas:c,outW:o,outH:s,swapped:a}},ke=()=>{let e=s.value,t=o.value;if(!e||!t)return;let{canvas:n,outW:a,outH:c}=Oe(e),l=t.getBoundingClientRect(),d=e.getBoundingClientRect(),f=Math.max(1,d.width),m=Math.max(1,d.height),h=d.left-l.left,g=d.top-l.top,_=a/f,v=c/m,y=(T.value-h)*_,b=(E.value-g)*v,x=D.value*_,S=O.value*v,C=x/Math.max(1e-6,S);{let e=n.width,t=n.height,r=Math.max(y,0),a=Math.max(b,0),o=Math.min(y+x,e),s=Math.min(b+S,t);if(o-r<=0||s-a<=0){i(`error`,`裁切区域与图片无交集,请调整裁切框`);return}}let w,k,A=!1;if(r.outputWidth>0&&r.outputHeight>0){w=r.outputWidth,k=r.outputHeight;let e=w/k;A=Math.abs(e-C)>.001}else r.outputWidth>0?(w=r.outputWidth,k=Math.max(1,Math.round(w/C))):r.outputHeight>0?(k=r.outputHeight,w=Math.max(1,Math.round(k*C))):(w=Math.max(1,Math.round(x)),k=Math.max(1,Math.round(S)));let j=r.circleOutput||P.value,N=j&&r.outputType===`image/jpeg`?`image/png`:r.outputType,F=Ae(n,y,b,x,S,w,k,N,M.value,j,A),I=``;if(r.withThumbnail){let e=r.thumbnailSize,t,i;C>=1?(t=e,i=Math.max(1,Math.round(t/C))):(i=e,t=Math.max(1,Math.round(i*C))),I=Ae(n,y,b,x,S,t,i,N,M.value,!1,!1)}let L=N===`image/jpeg`?`image/png`:N,R=r.withAvatar?Ae(n,y,b,x,S,r.avatarSize,r.avatarSize,L,1,!0,!1):``;p.value=F,i(`update:modelValue`,F),i(`change`,F),i(`cropper-image`,F),I&&i(`cropper-thumbnail`,I),R&&i(`cropper-avatar`,R),i(`cropper-result`,{image:F,thumbnail:I,avatar:R}),i(`cropper-file`,Me(F,`crop.${je(N)}`)),u.value=!1},Ae=(e,t,n,r,i,a,o,s,c,l,u=!1)=>{let d=document.createElement(`canvas`);d.width=Math.max(1,Math.round(a)),d.height=Math.max(1,Math.round(o));let f=d.getContext(`2d`);(s===`image/jpeg`||s===`image/webp`)&&(f.fillStyle=`#fff`,f.fillRect(0,0,d.width,d.height)),l&&(f.beginPath(),f.arc(d.width/2,d.height/2,Math.min(d.width,d.height)/2,0,Math.PI*2),f.closePath(),f.clip());let p=`width`in e&&typeof e.width==`number`?e.width:e.naturalWidth||0,m=`height`in e&&typeof e.height==`number`?e.height:e.naturalHeight||0,h=0,g=0,_=d.width,v=d.height;if(u&&r>0&&i>0){let e=Math.min(d.width/r,d.height/i);_=r*e,v=i*e,h=(d.width-_)/2,g=(d.height-v)/2}if(p>0&&m>0&&r>0&&i>0){let a=Math.max(t,0),o=Math.max(n,0),s=Math.min(t+r,p),c=Math.min(n+i,m),l=s-a,u=c-o;if(l>0&&u>0){let s=h+(a-t)/r*_,c=g+(o-n)/i*v,d=l/r*_,p=u/i*v;f.drawImage(e,a,o,l,u,s,c,d,p)}}else f.drawImage(e,t,n,r,i,h,g,_,v);return d.toDataURL(s,c)},je=e=>e.includes(`png`)?`png`:e.includes(`webp`)?`webp`:`jpg`,Me=(e,t)=>{let n=e.split(`,`),r=n[0].match(/:(.*?);/)?.[1]||`image/jpeg`,i=atob(n[1]),a=i.length,o=new Uint8Array(a);for(let e=0;e<a;e++)o[e]=i.charCodeAt(e);return new File([o],t,{type:r})},Ne=()=>{p.value=``,f.value=``,i(`update:modelValue`,``),i(`change`,``),i(`remove`)};return(0,t.watch)(()=>r.modelValue,e=>{e!==p.value&&(p.value=e)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop`,{"is-disabled":e.disabled,"fou-upload-crop--avatar":(0,t.unref)(F)}])},[(0,t.createElementVNode)(`input`,{ref_key:`inputRef`,ref:a,class:`fou-upload-crop__input`,type:`file`,accept:e.accept,disabled:e.disabled,onChange:G},null,40,eO),(0,t.unref)(F)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tO,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop__avatar-preview`,{"is-empty":!(0,t.unref)(m)}]),style:(0,t.normalizeStyle)((0,t.unref)(V)),onMouseenter:r[0]||=e=>c.value=!0,onMouseleave:r[1]||=e=>c.value=!1},[(0,t.unref)(m)?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:(0,t.unref)(p),alt:``},null,8,nO)):((0,t.openBlock)(),(0,t.createBlock)(i,{key:1,icon:`user-line`,class:`fou-upload-crop__avatar-placeholder`})),(0,t.unref)(m)&&(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rO,[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`重新裁切`,onClick:de},[(0,t.createVNode)(i,{icon:`crop-line`})],8,iO),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`删除`,onClick:Ne},[(0,t.createVNode)(i,{icon:`delete-bin-line`})],8,aO)])):(0,t.createCommentVNode)(``,!0)],38),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop__trigger fou-upload-crop__trigger--dashed`,{"is-dragover":(0,t.unref)(l)}]),style:(0,t.normalizeStyle)((0,t.unref)(H)),role:`button`,tabindex:`0`,onClick:U,onKeydown:se,onDragover:(0,t.withModifiers)(ce,[`prevent`]),onDragleave:(0,t.withModifiers)(le,[`prevent`]),onDrop:(0,t.withModifiers)(W,[`prevent`])},[(0,t.createVNode)(i,{icon:`image-add-line`,class:`fou-upload-crop__trigger-icon`}),(0,t.createElementVNode)(`p`,oO,(0,t.toDisplayString)((0,t.unref)(L)),1),(0,t.unref)(R)?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,sO,(0,t.toDisplayString)((0,t.unref)(R)),1)):(0,t.createCommentVNode)(``,!0)],38)])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[!(0,t.unref)(m)&&!(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-upload-crop__trigger`,{"is-dragover":(0,t.unref)(l)}]),style:(0,t.normalizeStyle)((0,t.unref)(B)),role:`button`,tabindex:`0`,onClick:U,onKeydown:se,onDragover:(0,t.withModifiers)(ce,[`prevent`]),onDragleave:(0,t.withModifiers)(le,[`prevent`]),onDrop:(0,t.withModifiers)(W,[`prevent`])},[(0,t.createVNode)(i,{icon:`image-add-line`,class:`fou-upload-crop__trigger-icon`}),(0,t.createElementVNode)(`p`,cO,(0,t.toDisplayString)((0,t.unref)(L)),1),(0,t.unref)(R)?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,lO,(0,t.toDisplayString)((0,t.unref)(R)),1)):(0,t.createCommentVNode)(``,!0)],38)):!(0,t.unref)(u)&&(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-upload-crop__result`,style:(0,t.normalizeStyle)((0,t.unref)(B))},[(0,t.createElementVNode)(`img`,{src:(0,t.unref)(p),class:`fou-upload-crop__result-img`,alt:``,style:(0,t.normalizeStyle)((0,t.unref)(te))},null,12,uO),(0,t.createElementVNode)(`div`,dO,[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`重新裁切`,onClick:de},[(0,t.createVNode)(i,{icon:`crop-line`})],8,fO),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`查看原图`,onClick:r[2]||=e=>d.value=!0},[(0,t.createVNode)(i,{icon:`zoom-in-line`})],8,pO),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`删除`,onClick:Ne},[(0,t.createVNode)(i,{icon:`delete-bin-line`})],8,mO)])],4)):(0,t.createCommentVNode)(``,!0)],64)),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-upload-crop__dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":e.dialogTitle,onClick:(0,t.withModifiers)(Te,[`self`])},[(0,t.createElementVNode)(`div`,gO,[(0,t.createElementVNode)(`div`,_O,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.dialogTitle),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload-crop__close`,onClick:Ee},`×`)]),(0,t.createElementVNode)(`div`,{ref_key:`stageRef`,ref:o,class:`fou-upload-crop__stage`,onWheel:(0,t.withModifiers)(ye,[`prevent`]),onPointerdown:xe},[(0,t.createElementVNode)(`img`,{ref_key:`imgRef`,ref:s,src:(0,t.unref)(f),class:`fou-upload-crop__source`,style:(0,t.normalizeStyle)((0,t.unref)(ne)),alt:``,draggable:`false`},null,12,vO),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop__crop`,{"is-round":(0,t.unref)(P)}]),style:(0,t.normalizeStyle)((0,t.unref)(re)),onPointerdown:(0,t.withModifiers)(Se,[`stop`])},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ie,e=>(0,t.createElementVNode)(`span`,{key:e,class:(0,t.normalizeClass)([`fou-upload-crop__handle`,`fou-upload-crop__handle--${e}`]),onPointerdown:(0,t.withModifiers)(t=>we(t,e),[`stop`])},null,42,yO)),64))],38)],544),(0,t.createElementVNode)(`div`,bO,[e.showZoom?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,title:`缩小`,onClick:r[3]||=e=>h.value=Math.max(.1,+((0,t.unref)(h)-.1).toFixed(2))},[(0,t.createVNode)(i,{icon:`zoom-out-line`})])):(0,t.createCommentVNode)(``,!0),e.showZoom?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,title:`放大`,onClick:r[4]||=e=>h.value=Math.min(5,+((0,t.unref)(h)+.1).toFixed(2))},[(0,t.createVNode)(i,{icon:`zoom-in-line`})])):(0,t.createCommentVNode)(``,!0),e.showRotate?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,title:`左转`,onClick:r[5]||=e=>ve(-90)},[(0,t.createVNode)(i,{icon:`anticlockwise-line`})])):(0,t.createCommentVNode)(``,!0),e.showRotate?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:3,type:`button`,title:`右转`,onClick:r[6]||=e=>ve(90)},[(0,t.createVNode)(i,{icon:`clockwise-line`})])):(0,t.createCommentVNode)(``,!0),e.showFlip?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:4,type:`button`,title:`水平翻转`,onClick:r[7]||=e=>g.value=-(0,t.unref)(g)},[(0,t.createVNode)(i,{icon:`flip-horizontal-line`})])):(0,t.createCommentVNode)(``,!0),e.showFlip?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:5,type:`button`,title:`垂直翻转`,onClick:r[8]||=e=>_.value=-(0,t.unref)(_)},[(0,t.createVNode)(i,{icon:`flip-vertical-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,title:`重置`,onClick:_e},[(0,t.createVNode)(i,{icon:`refresh-line`})]),e.showSizeInputs&&!(0,t.unref)(I)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:6},[r[18]||=(0,t.createElementVNode)(`span`,{class:`fou-upload-crop__divider`},null,-1),(0,t.createElementVNode)(`label`,xO,[r[16]||=(0,t.createElementVNode)(`span`,null,`宽`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[9]||=e=>(0,t.isRef)(A)?A.value=e:null,type:`number`,min:`20`,onChange:r[10]||=e=>ge(`w`)},null,544),[[t.vModelText,(0,t.unref)(A),void 0,{number:!0}]])]),(0,t.createElementVNode)(`label`,SO,[r[17]||=(0,t.createElementVNode)(`span`,null,`高`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[11]||=e=>(0,t.isRef)(j)?j.value=e:null,type:`number`,min:`20`,onChange:r[12]||=e=>ge(`h`)},null,544),[[t.vModelText,(0,t.unref)(j),void 0,{number:!0}]])]),(0,t.createElementVNode)(`button`,{type:`button`,title:`应用尺寸`,onClick:r[13]||=e=>ge()},`应用`)],64)):(0,t.createCommentVNode)(``,!0),r[19]||=(0,t.createElementVNode)(`span`,{class:`fou-upload-crop__divider`},null,-1),(0,t.createElementVNode)(`label`,CO,[(0,t.createElementVNode)(`span`,null,`质量 `+(0,t.toDisplayString)((0,t.unref)(M)),1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[14]||=e=>(0,t.isRef)(M)?M.value=e:null,type:`range`,min:`0.1`,max:`1`,step:`0.1`},null,512),[[t.vModelText,(0,t.unref)(M),void 0,{number:!0}]])]),(0,t.renderSlot)(n.$slots,`toolbar`,{},void 0,!0),r[20]||=(0,t.createElementVNode)(`span`,{class:`fou-upload-crop__divider`},null,-1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload-crop__confirm`,onClick:ke},[(0,t.createVNode)(i,{icon:`check-line`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.confirmText),1)])])])],8,hO)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-upload-crop__preview`,onClick:r[15]||=e=>d.value=!1},[(0,t.createElementVNode)(`img`,{src:(0,t.unref)(p)||(0,t.unref)(f),alt:``},null,8,wO)])):(0,t.createCommentVNode)(``,!0)]))],2)}}}),EO=v({default:()=>DO}),DO=S(TO,[[`__scopeId`,`data-v-55bac23f`]]),OO={class:`fou-watermark__content`},kO=(0,t.defineComponent)({name:`FouWatermark`,__name:`index`,props:{content:{default:``},font:{default:()=>({color:`rgba(0,0,0,0.12)`,fontSize:16,fontFamily:`sans-serif`,fontWeight:`normal`})},gap:{default:()=>[100,100]},rotate:{default:-22},zIndex:{default:9},offset:{default:()=>[0,0]}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(``),a=(0,t.computed)(()=>Array.isArray(n.content)?n.content:n.content?[n.content]:[]),o=()=>{if(!a.value.length){i.value=``;return}let[e,t]=n.gap,[r,o]=n.offset,s=n.font,c=document.createElement(`canvas`),l=c.getContext(`2d`);if(!l)return;let u=s.fontSize??16,d=s.fontFamily??`sans-serif`,f=s.fontWeight??`normal`;l.font=`${f} ${u}px ${d}`;let p=Math.max(...a.value.map(e=>l.measureText(e).width)),m=u*1.4,h=a.value.length*m;c.width=e+p+20,c.height=t+h+20,l.clearRect(0,0,c.width,c.height),l.translate(c.width/2+r,c.height/2+o),l.rotate(n.rotate*Math.PI/180),l.fillStyle=s.color??`rgba(0,0,0,0.12)`,l.font=`${f} ${u}px ${d}`,l.textAlign=`center`,l.textBaseline=`middle`;let g=-((a.value.length-1)*m)/2;a.value.forEach((e,t)=>{l.fillText(e,0,g+t*m)}),i.value=c.toDataURL()},s=(0,t.computed)(()=>({zIndex:String(n.zIndex),backgroundImage:i.value?`url(${i.value})`:void 0}));return(0,t.watch)(()=>[n.content,n.gap,n.rotate,n.font,n.offset],()=>o(),{deep:!0,immediate:!0}),(0,t.onMounted)(()=>o()),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:r,class:`fou-watermark`},[(0,t.createElementVNode)(`div`,{class:`fou-watermark__layer`,style:(0,t.normalizeStyle)((0,t.unref)(s)),"aria-hidden":`true`},null,4),(0,t.createElementVNode)(`div`,OO,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],512))}}),AO=v({default:()=>jO}),jO=S(kO,[[`__scopeId`,`data-v-52b35f95`]]);if(typeof window<`u`){function MO(){var e=document.body,t=document.getElementById(`__svg__icons__dom__`);t||(t=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),t.style.position=`absolute`,t.style.width=`0`,t.style.height=`0`,t.id=`__svg__icons__dom__`,t.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),t.setAttribute(`xmlns:link`,`http://www.w3.org/1999/xlink`)),t.innerHTML=`<symbol viewBox="0 0 1024 1024" id="fou-icon-fou-logo"><path d="m512 64 448 256v384L512 960 64 704V320z" fill="currentColor" /></symbol>`,e.insertBefore(t,e.lastChild)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,MO):MO()}var NO=`__fouInfiniteScroll`,PO=(e,t)=>{let n=t.value,r=typeof n==`function`?n:n?.handler,i=(t,n)=>{let r=e.getAttribute(t);return r==null?n:Number(r)},a=(t,n)=>{let r=e.getAttribute(t);return r==null?n:r!==`false`};return{handler:r,disabled:typeof n==`object`&&n?!!n.disabled:a(`infinite-scroll-disabled`,!1),delay:typeof n==`object`&&n?.delay!=null?n.delay:i(`infinite-scroll-delay`,200),distance:typeof n==`object`&&n?.distance!=null?n.distance:i(`infinite-scroll-distance`,0),immediate:typeof n==`object`&&n?.immediate!=null?n.immediate:a(`infinite-scroll-immediate`,!0)}},FO=async(e,t)=>{let n=PO(e,t),r=e[NO];if(!(!r||n.disabled||!n.handler||r.pending)&&!(e.scrollHeight-e.scrollTop-e.clientHeight>n.distance)){r.pending=!0;try{await n.handler()}finally{r.pending=!1}}},IO=(e,t)=>{LO(e);let n=PO(e,t),r={pending:!1,onScroll:()=>{let n=PO(e,t);r.timer&&clearTimeout(r.timer),r.timer=setTimeout(()=>FO(e,t),n.delay)}};e.addEventListener(`scroll`,r.onScroll,{passive:!0}),e[NO]=r,n.immediate&&queueMicrotask(()=>FO(e,t))},LO=e=>{let t=e[NO];t&&(e.removeEventListener(`scroll`,t.onScroll),t.timer&&clearTimeout(t.timer),t.observer?.disconnect(),delete e[NO])},RO={mounted:IO,updated(e,t){e[NO]?PO(e,t).immediate&&queueMicrotask(()=>FO(e,t)):IO(e,t)},unmounted:LO},zO={install(e){e.directive(`fou-infinite-scroll`,RO)}},BO={"top-right":[],"top-left":[],"bottom-right":[],"bottom-left":[]},VO=0,HO=(e,t=20)=>{let n=`fou-notify-host-${e}`,r=document.getElementById(n);return r||(r=document.createElement(`div`),r.id=n,r.className=`fou-notify-host fou-notify-host--${e}`,document.body.appendChild(r)),r.style.setProperty(`--fou-notify-offset`,`${t}px`),r},UO=e=>{Object.keys(BO).forEach(t=>{let n=BO[t].findIndex(t=>t.id===e);if(n>=0){let[e]=BO[t].splice(n,1);e.timer&&clearTimeout(e.timer),e.app.unmount(),e.el.remove()}})},WO=Object.assign(e=>{let n=typeof e==`string`?{message:e}:{...e},r=n.position||`top-right`,i=n.type||`info`,a=n.duration??4500,o=n.id||`fou-notify-${++VO}`,s=n.offset??20;UO(o);let c=HO(r,s),l=document.createElement(`div`);l.className=`fou-notify-wrap`,c.appendChild(l);let u=(0,t.ref)(!0),d={id:o,app:null,el:l,position:r},f=()=>{d.timer&&=(clearTimeout(d.timer),void 0),u.value=!1,setTimeout(()=>{UO(o),n.onClose?.()},200)},p=(0,t.createApp)({setup(){return()=>(0,t.h)(vS,{id:o,type:i,position:r,title:n.title||``,message:n.message||``,showClose:!0,visible:u.value,onClose:f})}});return a>0&&(d.timer=setTimeout(f,a)),p.mount(l),d.app=p,BO[r].push(d),{close:()=>UO(o),id:o}},{success(e){return WO(typeof e==`string`?{message:e,type:`success`}:{...e,type:`success`})},warning(e){return WO(typeof e==`string`?{message:e,type:`warning`}:{...e,type:`warning`})},info(e){return WO(typeof e==`string`?{message:e,type:`info`}:{...e,type:`info`})},error(e){return WO(typeof e==`string`?{message:e,type:`error`}:{...e,type:`error`})},closeAll:e=>{(e?[e]:Object.keys(BO)).forEach(e=>{[...BO[e]].forEach(e=>UO(e.id))})}}),GO={install(e){e.config.globalProperties.$fouNotify=WO,e.provide(`$fouNotify`,WO)}};function KO(e){return{all:e||=new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(e){e(n)}),(r=e.get(`*`))&&r.slice().map(function(e){e(t,n)})}}}var qO,JO={install:e=>{let t=(e=Ox,t)=>typeof e==`object`&&e?Wu.service(e):Wu.service({text:String(e||``),fullscreen:!0}),n=(e,t=`温馨提示`,n)=>{xu(e,t,n)},r=(e,t,n,r,i=`确定`,a=`取消`)=>{Su(e,t||`温馨提示`,n,r,i,a)},i=(e,t,n=`success`,r,i=kx)=>{WO({message:e,title:t,type:n,duration:i,position:{"right-top":`top-right`,"left-top":`top-left`,"right-bottom":`bottom-right`,"left-bottom":`bottom-left`,"top-right":`top-right`,"top-left":`top-left`,"bottom-right":`bottom-right`,"bottom-left":`bottom-left`}[r||``]||`top-right`})},a=KO(),o=(...e)=>{a.emit((0,l.head)(e),e[1])},s=(...e)=>{Reflect.apply(a.on,a,(0,l.toArray)(e))},c=(...e)=>{Reflect.apply(a.off,a,(0,l.toArray)(e))};e.provide(`$baseAlert`,n),e.provide(`$baseConfirm`,r),e.provide(`$baseLoading`,t),e.provide(`$baseNotify`,i),e.provide(`$pub`,o),e.provide(`$sub`,s),e.provide(`$unsub`,c),qO={$baseAlert:n,$baseConfirm:r,$baseLoading:t,$baseNotify:i,$pub:o,$sub:s,$unsub:c}}};Lr();function YO(e){let t=String(e??``).trim();if(!t)return``;t=t.replace(/\s+/g,``),t=t.replace(/^[中国中华人民共和國共和国]+/,``);let n=/^(?:[^省特别行政区]+省|内蒙古自治区|广西壮族自治区|宁夏回族自治区|新疆维吾尔自治区|西藏自治区|北京市|天津市|上海市|重庆市|香港特别行政区|澳门特别行政区|台湾省|[^市]+市|[^区县旗]+区|[^区县旗]+县|[^区县旗]+旗|[^镇乡街道]+镇|[^镇乡街道]+乡|[^镇乡街道]+街道)/,r=!0;for(;r&&t;){r=!1;let e=t.replace(n,``);e!==t&&(t=e,r=!0)}return t||e.trim()}function XO(e,t){let n=(e.competition_name==null?``:String(e.competition_name))||(t??``),r=String(e.school_name??``),i=String(e.school_short_name??e.school_name_short??``).trim()||YO(r);return{competition_name:n,student_name:String(e.student_name??``),competition_no:String(e.competition_no??``),school_name:r,school_short_name:i,age_group:String(e.age_group??``),competition_room:String(e.competition_room??``),seat_no:String(e.seat_no??``),floor:String(e.floor??``),teacher_name:String(e.teacher_name??``),date:String(e.date??e.competition_date??``),session:String(e.session??e.competition_session??``),enroll_teacher_name:String(e.enroll_teacher_name??``),teacher_phone:String(e.teacher_phone??``),signup_teacher_name:String(e.signup_teacher_name??``),signup_teacher_phone:String(e.signup_teacher_phone??``),signup_teacher_department:String(e.signup_teacher_department??``),signup_teacher_position:String(e.signup_teacher_position??``),signup_teacher_id_card:String(e.signup_teacher_id_card??``),signup_teacher_email:String(e.signup_teacher_email??``),signup_teacher_username:String(e.signup_teacher_username??``),venue_name:String(e.venue_name??``),venue_address:String(e.venue_address??``),competition_daily_start:String(e.competition_daily_start??``),competition_daily_end:String(e.competition_daily_end??``)}}function ZO(e,t){return XO(e,t)}function QO(e,t){return Nr(XO(e,t),t)}var $O=[`competition_name`,`student_name`,`competition_no`,`school_name`,`school_short_name`,`age_group`,`competition_room`,`seat_no`,`floor`,`teacher_name`,`date`,`session`,`enroll_teacher_name`,`teacher_phone`,`signup_teacher_name`,`signup_teacher_phone`,`signup_teacher_department`,`signup_teacher_position`,`signup_teacher_id_card`,`signup_teacher_email`,`signup_teacher_username`,`venue_name`,`venue_address`,`competition_daily_start`,`competition_daily_end`],ek={competition_name:`比赛名称`,student_name:`学生姓名`,competition_no:`参赛编号`,school_name:`学校`,school_short_name:`学校简称`,age_group:`年龄段`,competition_room:`考场/教室`,seat_no:`座位号`,floor:`楼层`,teacher_name:`监考教师`,date:`比赛日期`,session:`场次`,enroll_teacher_name:`报名/带队教师(扩展)`,teacher_phone:`教师手机(扩展)`,signup_teacher_name:`报名教师姓名`,signup_teacher_phone:`报名教师手机`,signup_teacher_department:`报名教师部门`,signup_teacher_position:`报名教师职务`,signup_teacher_id_card:`报名教师身份证`,signup_teacher_email:`报名教师邮箱`,signup_teacher_username:`报名教师账号`,venue_name:`场地名称`,venue_address:`场地地址`,competition_daily_start:`比赛当天开始时间`,competition_daily_end:`比赛当天结束时间`};Lr(),rp();var tk=`2.3.4`,nk=e=>e.replace(/\B([A-Z])/g,`-$1`).toLowerCase(),rk=(e,t,n)=>{e.component(t)||e.component(t,n);let r=nk(t);r!==t&&!e.component(r)&&e.component(r,n)},ik=e=>{e.use($t),e.use(GO),e.use(Gu),e.use(zO),rk(e,`FouLoading`,Wa),rk(e,`FouStatistics`,IT),rk(e,`FouStatistic`,IT),e.use(JO),rk(e,`FouIcon`,k),rk(e,`FouOption`,Zw),rk(e,`FouDropdownMenu`,Oo),rk(e,`FouDropdownItem`,jo),rk(e,`FouCheckboxGroup`,Mi),rk(e,`FouRadioGroup`,Vi),rk(e,`FouMenuRoot`,Dx),rk(e,`FouMenuNav`,fS),rk(e,`FouMenuNavItem`,rS),rk(e,`FouMenuNavSub`,cS),rk(e,`FouStep`,YT),rk(e,`FouTabBar`,Ct),rk(e,`FouTabs`,tE),rk(e,`FouTabPane`,Dt),rk(e,`FouBreadcrumb`,qg),rk(e,`FouBreadcrumbItem`,Hg),rk(e,`FouCalendar`,o_),rk(e,`FouTour`,qE),rk(e,`FouTourStep`,RE),rk(e,`FouLink`,ax),rk(e,`FouInputTag`,Jb),rk(e,`FouSplitter`,OT),rk(e,`FouSplitterPanel`,TT),rk(e,`FouCollapseItem`,B_),rk(e,`FouCarouselItem`,v_),rk(e,`FouTimelineItem`,TE),rk(e,`FouDescriptionsItem`,Rv),rk(e,`FouAnchorLink`,re);let t=Object.assign({"./components/FouAffix/index.vue":C,"./components/FouAlert/index.vue":I,"./components/FouAnchor/index.vue":B,"./components/FouAnchorLink/index.vue":ne,"./components/FouApp/index.vue":ae,"./components/FouAreaPicker/index.vue":Pe,"./components/FouAutocomplete/index.vue":Ue,"./components/FouAvatar/index.vue":Ye,"./components/FouBacktop/index.vue":J,"./components/FouBadge/components/BadgeImagePickerDialog.vue":Gn,"./components/FouBadge/components/BadgeLibraryManagerDialog.vue":Er,"./components/FouBadge/components/BadgeLibraryPanel.vue":Cr,"./components/FouBadge/shared/BadgeTemplateRenderer.vue":ri,"./components/FouBadge/views/BadgeLibraryView.vue":si,"./components/FouBadge/views/BadgeManageView.vue":Vd,"./components/FouBadge/views/BadgeTemplateEditorView.vue":jh,"./components/FouBadge/views/BadgeTemplateListView.vue":zh,"./components/FouBadge/views/DeskLabelTemplateListView.vue":qh,"./components/FouBadge/views/DeskLabelView.vue":gg,"./components/FouBadgeDot/index.vue":yg,"./components/FouBanner/index.vue":Pg,"./components/FouBreadcrumb/FouBreadcrumbItem.vue":Vg,"./components/FouBreadcrumb/index.vue":Kg,"./components/FouButton/index.vue":Bt,"./components/FouButtonGroup/index.vue":df,"./components/FouCalendar/index.vue":a_,"./components/FouCanvasKit/FouCanvasEditor.vue":Oh,"./components/FouCanvasKit/FouCanvasRenderer.vue":ei,"./components/FouCanvasKit/components/DataModulesPanel.vue":Lf,"./components/FouCard/index.vue":pr,"./components/FouCarousel/index.vue":p_,"./components/FouCarouselItem/index.vue":__,"./components/FouCascader/index.vue":Ee,"./components/FouCheckTag/index.vue":x_,"./components/FouCheckbox/FouCheckboxGroup.vue":ji,"./components/FouCheckbox/index.vue":Li,"./components/FouCode/index.vue":w_,"./components/FouCol/index.vue":O_,"./components/FouCollapse/index.vue":N_,"./components/FouCollapseItem/index.vue":z_,"./components/FouColorField/index.vue":nf,"./components/FouColorPicker/index.vue":H_,"./components/FouColorfulCard/index.vue":Y_,"./components/FouCombobox/index.vue":nv,"./components/FouConfigProvider/index.vue":av,"./components/FouContextMenu/index.vue":pv,"./components/FouCopy/index.vue":vv,"./components/FouCountdown/index.vue":Ev,"./components/FouDate/index.vue":Xl,"./components/FouDescriptions/index.vue":Mv,"./components/FouDescriptionsItem/index.vue":Lv,"./components/FouDialog/index.vue":ft,"./components/FouDigitalCard/index.vue":Jv,"./components/FouDivider/index.vue":cf,"./components/FouDot/index.vue":Zv,"./components/FouDrawer/index.vue":iy,"./components/FouDropdown/FouDropdownItem.vue":Ao,"./components/FouDropdown/FouDropdownMenu.vue":Do,"./components/FouDropdown/index.vue":Co,"./components/FouEllipsis/index.vue":cy,"./components/FouEmpty/index.vue":Nt,"./components/FouException/index.vue":yy,"./components/FouFloatButton/index.vue":Ey,"./components/FouFloatButtonGroup/index.vue":Ay,"./components/FouForm/index.vue":xi,"./components/FouFormItem/index.vue":ca,"./components/FouFullscreen/index.vue":Ny,"./components/FouGrid/index.vue":zy,"./components/FouHighlight/index.vue":Uy,"./components/FouHoverCard/index.vue":Jy,"./components/FouIcon/index.vue":O,"./components/FouIconPicker/index.vue":bb,"./components/FouImage/index.vue":Mb,"./components/FouImagePreviewGroup/index.vue":Ib,"./components/FouImageViewer/index.vue":Eb,"./components/FouInput/index.vue":_a,"./components/FouInputNumber/index.vue":vi,"./components/FouInputOtp/index.vue":Bb,"./components/FouInputTag/index.vue":qb,"./components/FouKbd/index.vue":Xb,"./components/FouLayoutContainer/index.vue":$b,"./components/FouLink/index.vue":ix,"./components/FouLinkPreview/index.vue":fx,"./components/FouLoading/spinner.vue":Ua,"./components/FouMention/index.vue":xx,"./components/FouMenu/FouMenuRoot.vue":Ex,"./components/FouMenu/components/FouMenuItem.vue":zx,"./components/FouMenu/components/FouSubMenu.vue":Xx,"./components/FouMenu/index.vue":Hx,"./components/FouMenuNav/FouMenuNavItem.vue":nS,"./components/FouMenuNav/FouMenuNavSub.vue":sS,"./components/FouMenuNav/index.vue":dS,"./components/FouMsg/FouMsgItem.vue":Gt,"./components/FouNotification/FouNotificationItem.vue":_S,"./components/FouPage/index.vue":bS,"./components/FouPageHeader/index.vue":jS,"./components/FouPageMain/index.vue":VS,"./components/FouPagination/index.vue":ar,"./components/FouParagraph/index.vue":WS,"./components/FouPasswordStrength/index.vue":YS,"./components/FouPopconfirm/index.vue":nC,"./components/FouPopover/index.vue":sC,"./components/FouProgress/index.vue":_C,"./components/FouQrcode/index.vue":YC,"./components/FouQueryForm/components/FouQueryFormBottomPanel.vue":ew,"./components/FouQueryForm/components/FouQueryFormLeftPanel.vue":iw,"./components/FouQueryForm/components/FouQueryFormRightPanel.vue":cw,"./components/FouQueryForm/components/FouQueryFormTopPanel.vue":pw,"./components/FouQueryForm/index.vue":_w,"./components/FouRadio/FouRadioGroup.vue":Bi,"./components/FouRadio/index.vue":Ki,"./components/FouRate/index.vue":ww,"./components/FouRefresh/index.vue":Dw,"./components/FouResult/index.vue":gy,"./components/FouRow/index.vue":Aw,"./components/FouScrollbar/index.vue":eu,"./components/FouSearchBar/index.vue":Pw,"./components/FouSearchInput/index.vue":Uw,"./components/FouSegmented/index.vue":qw,"./components/FouSelect/FouOption.vue":Xw,"./components/FouSelect/index.vue":ra,"./components/FouSelectV2/index.vue":sT,"./components/FouSkeleton/index.vue":cr,"./components/FouSlider/index.vue":qd,"./components/FouSpace/index.vue":dT,"./components/FouSparkline/index.vue":yT,"./components/FouSplitter/FouSplitterPanel.vue":wT,"./components/FouSplitter/index.vue":DT,"./components/FouStatistic/index.vue":RT,"./components/FouStatistics/index.vue":FT,"./components/FouStep/index.vue":JT,"./components/FouSteps/index.vue":ZT,"./components/FouSwitch/index.vue":Oi,"./components/FouTabBar/index.vue":St,"./components/FouTabPane/index.vue":Et,"./components/FouTable/index.vue":il,"./components/FouTableColumn/index.vue":sl,"./components/FouTabs/index.vue":eE,"./components/FouTag/index.vue":dl,"./components/FouText/index.vue":rE,"./components/FouTime/index.vue":eo,"./components/FouTimeAgo/index.vue":sE,"./components/FouTimeSelect/index.vue":pE,"./components/FouTimeline/index.vue":gE,"./components/FouTimelineItem/index.vue":wE,"./components/FouTips/index.vue":kE,"./components/FouTitle/index.vue":ME,"./components/FouTooltip/index.vue":io,"./components/FouTour/FouTourStep.vue":LE,"./components/FouTour/index.vue":KE,"./components/FouTransfer/index.vue":dD,"./components/FouTree/FouTreeNode.vue":du,"./components/FouTree/index.vue":_u,"./components/FouTreeSelect/index.vue":_D,"./components/FouTreeV2/index.vue":ED,"./components/FouTrend/index.vue":jD,"./components/FouUpload/index.vue":QD,"./components/FouUploadCrop/index.vue":EO,"./components/FouWatermark/index.vue":AO}),n=/\/(FouBadge\/views|FouQueryForm\/components|FouCanvasKit\/|FouMsg\/FouMsgItem|FouNotification\/FouNotificationItem|FouLoading\/spinner)/;Object.entries(t).forEach(([t,r])=>{if(n.test(t))return;let i=r.default;i&&i.name&&rk(e,i.name,i)})},ak=ik,ok=ik;e.BADGE_PLACEHOLDER_KEYS=$O,e.BADGE_PLACEHOLDER_LABELS=ek,e.BUILTIN_DATA_MODULES=Ir,e.FOU_LOADING_EFFECTS=Pu,e.FouAreaPicker=Fe,e.FouBanner=Fg,e.FouBreadcrumb=qg,e.FouBreadcrumbItem=Hg,e.FouButton=Vt,e.FouCalendar=o_,e.FouCanvasDataModulesPanel=Rf,e.FouCanvasEditor=kh,e.FouCanvasRenderer=ti,e.FouCheckTag=S_,e.FouCheckbox=Ri,e.FouCode=T_,e.FouColorPicker=U_,e.FouCombobox=rv,e.FouConfigProvider=ov,e.FouContextMenu=mv,e.FouCopy=yv,e.FouCountdown=Dv,e.FouDate=Zl,e.FouDialog=pt,e.FouDigitalCard=Yv,e.FouDrawer=ay,e.FouEllipsis=ly,e.FouException=by,e.FouFloatButton=Dy,e.FouFloatButtonGroup=jy,e.FouForm=Si,e.FouFormItem=la,e.FouHighlight=Wy,e.FouHoverCard=Yy,e.FouImage=Nb,e.FouImagePreviewGroup=Lb,e.FouImageViewer=Db,e.FouInput=va,e.FouInputNumber=yi,e.FouInputOtp=Vb,e.FouInputTag=Jb,e.FouKbd=Zb,e.FouLayoutContainer=ex,e.FouLink=ax,e.FouLinkPreview=px,e.FouLoading=Wa,e.FouLoadingPlugin=Gu,e.FouMention=Sx,e.FouMenu=Ux,e.FouNotification=GO,e.FouPageMain=HS,e.FouPagination=or,e.FouParagraph=GS,e.FouPasswordStrength=XS,e.FouQrcode=XC,e.FouRadio=qi,e.FouSearchBar=Fw,e.FouSearchInput=Ww,e.FouSelect=ia,e.FouSelectV2=cT,e.FouSparkline=bT,e.FouSplitter=OT,e.FouSplitterPanel=TT,e.FouStatistic=zT,e.FouStatistics=IT,e.FouSwitch=ki,e.FouTabBar=Ct,e.FouTabPane=Dt,e.FouTable=al,e.FouTabs=tE,e.FouTime=to,e.FouTimeAgo=cE,e.FouTimeSelect=mE,e.FouTitle=NE,e.FouTour=qE,e.FouTourStep=RE,e.FouTreeV2=DD,e.FouTrend=MD,e.FouUpload=$D,e.FouUploadCrop=DO,e.LEGACY_FLAT_KEY_MAP=Fr,e.buildCanvasHtml=Jf,e.cloneBuiltinModules=Or,e.codeToText=je,e.createBadgeDoc=tp,e.createBannerDoc=ep,e.createCustomModule=Pr,e.downloadCanvasHtml=Yf,e.downloadElementPdf=Zf,e.downloadElementPng=Vf,e.flattenBadgeForMerge=XO,e.flattenDeskLabelForMerge=ZO,e.fouAlert=xu,Object.defineProperty(e,"fouApp",{enumerable:!0,get:function(){return qO}}),e.fouConfirm=Su,e.fouConfirmPromise=wu,e.fouLoading=Wu,e.fouMsg=Q,e.fouNotify=WO,e.listInsertableFields=jr,e.mapRowToContext=QO,e.mergeBadgeText=Vr,e.mergeTemplateText=Br,e.regionData=Ae,e.resolveDataModules=kr,e.sampleContextFromModules=Mr,e.setupFou=ik,e.setupFoucui=ok,e.setupQiuye=ak,e.vFouInfiniteScroll=RO,e.vFouLoading=Uu,e.version=tk});
129
+ `);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),ew=_((e=>{function t(e){if(typeof e==`number`&&(e=e.toString()),typeof e!=`string`)throw Error(`Color should be defined as hex string`);let t=e.slice().replace(`#`,``).split(``);if(t.length<3||t.length===5||t.length>8)throw Error(`Invalid hex color: `+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),t.length===6&&t.push(`F`,`F`);let n=parseInt(t.join(``),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:`#`+t.slice(0,6).join(``)}}e.getOptions=function(e){e||={},e.color||(e.color={});let n=e.margin===void 0||e.margin===null||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||`#000000ff`),light:t(e.color.light||`#ffffffff`)},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},e.getImageWidth=function(t,n){let r=e.getScale(t,n);return Math.floor((t+n.margin*2)*r)},e.qrToImageData=function(t,n,r){let i=n.modules.size,a=n.modules.data,o=e.getScale(i,r),s=Math.floor((i+r.margin*2)*o),c=r.margin*o,l=[r.color.light,r.color.dark];for(let e=0;e<s;e++)for(let n=0;n<s;n++){let u=(e*s+n)*4,d=r.color.light;if(e>=c&&n>=c&&e<s-c&&n<s-c){let t=Math.floor((e-c)/o),r=Math.floor((n-c)/o);d=l[+!!a[t*i+r]]}t[u++]=d.r,t[u++]=d.g,t[u++]=d.b,t[u]=d.a}}})),tw=_((e=>{var t=ew();function n(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||={},t.height=n,t.width=n,t.style.height=n+`px`,t.style.width=n+`px`}function r(){try{return document.createElement(`canvas`)}catch{throw Error(`You need to specify a canvas element`)}}e.render=function(e,i,a){let o=a,s=i;o===void 0&&(!i||!i.getContext)&&(o=i,i=void 0),i||(s=r()),o=t.getOptions(o);let c=t.getImageWidth(e.modules.size,o),l=s.getContext(`2d`),u=l.createImageData(c,c);return t.qrToImageData(u.data,e,o),n(l,s,c),l.putImageData(u,0,0),s},e.renderToDataURL=function(t,n,r){let i=r;i===void 0&&(!n||!n.getContext)&&(i=n,n=void 0),i||={};let a=e.render(t,n,i),o=i.type||`image/png`,s=i.rendererOpts||{};return a.toDataURL(o,s.quality)}})),nw=_((e=>{var t=ew();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c<e.length;c++){let l=Math.floor(c%t),u=Math.floor(c/t);!l&&!o&&(o=!0),e[c]?(s++,c>0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1<t&&e[c+1]||(i+=r(`h`,s),s=0)):a++}return i}e.render=function(e,r,a){let o=t.getOptions(r),s=e.modules.size,c=e.modules.data,l=s+o.margin*2,u=o.color.light.a?`<path `+n(o.color.light,`fill`)+` d="M0 0h`+l+`v`+l+`H0z"/>`:``,d=`<path `+n(o.color.dark,`stroke`)+` d="`+i(c,s,o.margin)+`"/>`,f=`viewBox="0 0 `+l+` `+l+`"`,p=`<svg xmlns="http://www.w3.org/2000/svg" `+(o.width?`width="`+o.width+`" height="`+o.width+`" `:``)+f+` shape-rendering="crispEdges">`+u+d+`</svg>
130
+ `;return typeof a==`function`&&a(null,p),p}})),rw=b(_((e=>{var t=AC(),n=$C(),r=tw(),i=nw();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}))(),1),iw={key:0,class:`fou-qrcode__error`},aw=(0,t.defineComponent)({name:`FouQrcode`,__name:`index`,props:{value:{default:``},size:{default:160},level:{default:`M`},fgColor:{default:`#000000`},bgColor:{default:`#ffffff`},margin:{default:4}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.computed)(()=>{let e=n.size;if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.round(e);if(e===`large`)return 200;if(e===`small`)return 96;if(e==="default")return 160;let t=Number(e);return Number.isFinite(t)&&t>0?Math.round(t):160}),o=async()=>{i.value=!1,await(0,t.nextTick)();let e=r.value;if(!e)return;let o=(n.value||``).trim(),s=a.value;if(!o){let t=e.getContext(`2d`);t&&(e.width=s,e.height=s,t.fillStyle=n.bgColor,t.fillRect(0,0,s,s));return}try{let t=typeof window<`u`?Math.max(1,Math.round(window.devicePixelRatio||1)):1;await rw.toCanvas(e,o,{width:s*t,margin:Math.max(0,n.margin),errorCorrectionLevel:n.level,color:{dark:n.fgColor,light:n.bgColor}}),e.style.width=`${s}px`,e.style.height=`${s}px`}catch{i.value=!0}};return(0,t.onMounted)(o),(0,t.watch)(()=>[n.value,a.value,n.level,n.fgColor,n.bgColor,n.margin],o),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-qrcode`,style:(0,t.normalizeStyle)({width:`${a.value}px`,height:`${a.value}px`})},[(0,t.createElementVNode)(`canvas`,{ref_key:`canvasRef`,ref:r,class:`fou-qrcode__canvas`},null,512),i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,iw,`生成失败`)):(0,t.createCommentVNode)(``,!0)],4))}}),ow=v({default:()=>sw}),sw=S(aw,[[`__scopeId`,`data-v-8498d1a1`]]),cw={class:`fou-query-form-col fou-query-form-col--full`},lw={class:`bottom-panel`},uw=(0,t.defineComponent)({name:`FouQueryFormBottomPanel`,__name:`FouQueryFormBottomPanel`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,cw,[(0,t.createElementVNode)(`div`,lw,[(0,t.renderSlot)(e.$slots,`default`)])]))}}),dw=v({default:()=>fw}),fw=uw,pw={class:`left-panel`},mw=(0,t.defineComponent)({name:`FouQueryFormLeftPanel`,__name:`FouQueryFormLeftPanel`,props:{span:{type:Number,default:14}},setup(e){let n=e,r=(0,t.computed)(()=>({"--fou-query-col-span":String(n.span)}));return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-query-form-col`,style:(0,t.normalizeStyle)((0,t.unref)(r))},[(0,t.createElementVNode)(`div`,pw,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],4))}}),hw=v({default:()=>gw}),gw=S(mw,[[`__scopeId`,`data-v-4372423e`]]),_w={class:`right-panel`},vw=(0,t.defineComponent)({name:`FouQueryFormRightPanel`,__name:`FouQueryFormRightPanel`,props:{span:{type:Number,default:10}},setup(e){let n=e,r=(0,t.computed)(()=>({"--fou-query-col-span":String(n.span)}));return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-query-form-col`,style:(0,t.normalizeStyle)((0,t.unref)(r))},[(0,t.createElementVNode)(`div`,_w,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],4))}}),yw=v({default:()=>bw}),bw=S(vw,[[`__scopeId`,`data-v-f61282c8`]]),xw={class:`fou-query-form-col fou-query-form-col--full`},Sw={class:`top-panel`},Cw=(0,t.defineComponent)({name:`FouQueryFormTopPanel`,__name:`FouQueryFormTopPanel`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xw,[(0,t.createElementVNode)(`div`,Sw,[(0,t.renderSlot)(e.$slots,`default`)])]))}}),ww=v({default:()=>Tw}),Tw=Cw,Ew={class:`fou-query-form`},Dw=(0,t.defineComponent)({name:`FouQueryForm`,__name:`index`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ew,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)]))}}),Ow=v({default:()=>kw}),kw=S(Dw,[[`__scopeId`,`data-v-f4dbaab8`]]),Aw=[`aria-valuenow`,`aria-valuemax`],jw=[`disabled`,`onMousemove`,`onClick`],Mw={class:`fou-rate__icon fou-rate__icon--void`},Nw={key:0,class:`fou-rate__text`},Pw=(0,t.defineComponent)({name:`FouRate`,__name:`index`,props:{modelValue:{default:0},max:{default:5},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},showScore:{type:Boolean,default:!1},showText:{type:Boolean,default:!1},texts:{default:()=>[`极差`,`失望`,`一般`,`满意`,`惊喜`]},colors:{default:()=>[`#f7ba2a`,`#f7ba2a`,`#f7ba2a`]},voidColor:{default:`#c0c4cc`},icon:{default:`star-fill`},voidIcon:{default:`star-line`}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){(0,t.useCssVars)(e=>({v509fdaf8:(0,t.unref)(o)}));let r=e,i=n,a=(0,t.ref)(-1),o=(0,t.computed)(()=>r.voidColor),s=(0,t.computed)(()=>a.value>=0?a.value:r.modelValue),c=(0,t.computed)(()=>{let e=s.value,t=r.colors;return e<=r.max/3?t[0]||`#f7ba2a`:e<=r.max*2/3?t[1]||t[0]||`#f7ba2a`:t[2]||t[1]||t[0]||`#f7ba2a`}),l=(0,t.computed)(()=>{if(r.showScore)return String(s.value);if(!r.showText)return``;let e=Math.ceil(s.value)-1;return r.texts[Math.max(0,Math.min(r.texts.length-1,e))]||``}),u=e=>{let t=s.value,n=`0%`;return t>=e?n=`100%`:r.allowHalf&&t+.5>=e&&t<e&&(n=`50%`),{width:n,color:c.value}},d=(e,t)=>{if(!r.allowHalf)return t;let n=e.currentTarget.getBoundingClientRect();return e.clientX-n.left<n.width/2?t-.5:t},f=(e,t)=>{r.disabled||r.readonly||(a.value=d(e,t))},p=(e,t)=>{if(r.disabled||r.readonly)return;let n=d(e,t);i(`update:modelValue`,n),i(`change`,n)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-rate`,{"is-disabled":e.disabled,"is-readonly":e.readonly}]),role:`slider`,"aria-valuenow":e.modelValue,"aria-valuemin":0,"aria-valuemax":e.max},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.max,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,type:`button`,class:(0,t.normalizeClass)([`fou-rate__item`,{"is-active":(0,t.unref)(s)>=n,"is-half":e.allowHalf&&(0,t.unref)(s)+.5===n}]),disabled:e.disabled||e.readonly,onMousemove:e=>f(e,n),onMouseleave:r[0]||=e=>a.value=-1,onClick:e=>p(e,n)},[(0,t.createElementVNode)(`span`,Mw,[(0,t.createVNode)(i,{icon:e.voidIcon},null,8,[`icon`])]),(0,t.createElementVNode)(`span`,{class:`fou-rate__icon fou-rate__icon--full`,style:(0,t.normalizeStyle)(u(n))},[(0,t.createVNode)(i,{icon:e.icon},null,8,[`icon`])],4)],42,jw))),128)),e.showScore||e.showText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Nw,(0,t.toDisplayString)((0,t.unref)(l)),1)):(0,t.createCommentVNode)(``,!0)],10,Aw)}}}),Fw=v({default:()=>Iw}),Iw=S(Pw,[[`__scopeId`,`data-v-c50f9ce4`]]),Lw=(0,t.defineComponent)({name:`FouRefresh`,__name:`index`,setup(e){let n=(0,t.ref)(``),r=(0,t.inject)(`$pub`),i=(0,t.inject)(`$sub`),a=()=>{n.value=`rotate`,setTimeout(()=>{n.value=``},500)},o=()=>{r?.(`reload-router-view`),a()};return(0,t.onBeforeMount)(()=>{i?.(`refresh-rotate`,()=>{a()})}),(e,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createBlock)(i,{class:(0,t.normalizeClass)((0,t.unref)(n)),icon:`refresh-line`,onClick:o},null,8,[`class`])}}}),Rw=v({default:()=>zw}),zw=Lw,Bw=(0,t.defineComponent)({name:`FouRow`,__name:`index`,props:{gutter:{default:0},justify:{default:`start`},align:{default:`top`},tag:{default:`div`}},setup(e){let n=e,r=(0,t.computed)(()=>n.gutter||0);(0,t.provide)(L_,{gutter:r});let i=(0,t.computed)(()=>{let e=n.gutter||0;return{marginLeft:e?`${-e/2}px`:void 0,marginRight:e?`${-e/2}px`:void 0,justifyContent:n.justify===`start`?`flex-start`:n.justify===`end`?`flex-end`:n.justify===`center`?`center`:n.justify,alignItems:n.align===`top`?`flex-start`:n.align===`bottom`?`flex-end`:`center`}});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`fou-row`,style:(0,t.normalizeStyle)((0,t.unref)(i))},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],4))}}),Vw=v({default:()=>Hw}),Hw=S(Bw,[[`__scopeId`,`data-v-539ccc48`]]),Uw=[`value`,`placeholder`,`disabled`],Ww=(0,t.defineComponent)({name:`FouSearchBar`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`请输入关键词`},size:{default:`default`},disabled:{type:Boolean,default:!1},showButton:{type:Boolean,default:!1}},emits:[`update:modelValue`,`search`,`clear`],setup(e,{emit:n}){let r=e,i=n,a=e=>{i(`update:modelValue`,e.target.value)},o=()=>{i(`search`,r.modelValue)},s=()=>{i(`update:modelValue`,``),i(`clear`)};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-search-bar`,[`fou-search-bar--${e.size}`]])},[(0,t.createVNode)(i,{icon:`search-line`,class:`fou-search-bar__icon`}),(0,t.createElementVNode)(`input`,{class:`fou-search-bar__input`,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,onInput:a,onKeydown:(0,t.withKeys)(o,[`enter`])},null,40,Uw),e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-search-bar__clear`,"aria-label":`清除`,onClick:s},` × `)):(0,t.createCommentVNode)(``,!0),e.showButton?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-search-bar__btn`,onClick:o},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[r[0]||=(0,t.createTextVNode)(`搜索`,-1)],!0)])):(0,t.createCommentVNode)(``,!0)],2)}}}),Gw=v({default:()=>Kw}),Kw=S(Ww,[[`__scopeId`,`data-v-2bf74fe5`]]),qw=[`disabled`,`title`],Jw={key:0,class:`fou-search-input__search-text`},Yw=[`value`,`placeholder`,`disabled`,`readonly`,`onKeydown`],Xw=[`title`],Zw=[`disabled`,`title`],Qw={key:0,class:`fou-search-input__search-text`},$w=(0,t.defineComponent)({name:`FouSearchInput`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`请输入关键词`},searchPosition:{default:`right`},shape:{default:`round`},size:{default:`default`},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},showSearchText:{type:Boolean,default:!1},searchLabel:{default:`搜索`},clearLabel:{default:`清除`},searchIcon:{default:`search-line`},clearIcon:{default:`close-circle-fill`},width:{}},emits:[`update:modelValue`,`search`,`clear`,`focus`,`blur`,`change`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.computed)(()=>String(i.modelValue??``).length>0),l=(0,t.computed)(()=>{let e={};return i.width!=null&&i.width!==``&&(e.width=typeof i.width==`number`?`${i.width}px`:String(i.width)),i.shape!==`round`&&i.shape!==`square`&&(e.borderRadius=typeof i.shape==`number`?`${i.shape}px`:String(i.shape)),e}),u=e=>{let t=e.target.value;a(`update:modelValue`,t),a(`change`,t)},d=()=>{i.disabled||a(`search`,String(i.modelValue??``))},f=()=>{a(`update:modelValue`,``),a(`clear`),a(`change`,``),o.value?.focus()};return n({focus:()=>o.value?.focus(),blur:()=>o.value?.blur(),search:d,clear:f}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-search-input`,[`fou-search-input--${e.size}`,e.shape===`round`||e.shape===`square`?`fou-search-input--${e.shape}`:`fou-search-input--custom`,`fou-search-input--search-${e.searchPosition}`,{"is-disabled":e.disabled,"is-focused":s.value,"has-value":c.value}]]),style:(0,t.normalizeStyle)(l.value)},[e.searchPosition===`left`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-search-input__search`,disabled:e.disabled,title:e.searchLabel,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:d},[(0,t.createVNode)(i,{icon:e.searchIcon},null,8,[`icon`]),e.showSearchText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Jw,(0,t.toDisplayString)(e.searchLabel),1)):(0,t.createCommentVNode)(``,!0)],40,qw)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{ref_key:`inputRef`,ref:o,class:`fou-search-input__inner`,type:`search`,value:e.modelValue??``,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,autocomplete:`off`,onInput:u,onFocus:r[1]||=e=>s.value=!0,onBlur:r[2]||=e=>s.value=!1,onKeydown:(0,t.withKeys)((0,t.withModifiers)(d,[`prevent`]),[`enter`])},null,40,Yw),e.clearable&&c.value&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-search-input__clear`,tabindex:`-1`,title:e.clearLabel,"aria-label":`clear`,onMousedown:r[3]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:f},[(0,t.createVNode)(i,{icon:e.clearIcon},null,8,[`icon`])],40,Xw)):(0,t.createCommentVNode)(``,!0),e.searchPosition===`right`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-search-input__search`,disabled:e.disabled,title:e.searchLabel,onMousedown:r[4]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:d},[(0,t.createVNode)(i,{icon:e.searchIcon},null,8,[`icon`]),e.showSearchText?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Qw,(0,t.toDisplayString)(e.searchLabel),1)):(0,t.createCommentVNode)(``,!0)],40,Zw)):(0,t.createCommentVNode)(``,!0)],6)}}}),eT=v({default:()=>tT}),tT=S($w,[[`__scopeId`,`data-v-d0a8e934`]]),nT=[`disabled`,`onClick`],rT=(0,t.defineComponent)({name:`FouSegmented`,__name:`index`,props:{modelValue:{default:``},options:{default:()=>[]},size:{default:`default`},block:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=e=>{e.disabled||e.value===r.modelValue||(i(`update:modelValue`,e.value),i(`change`,e.value))};return(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-segmented`,[`fou-segmented--${e.size}`,{"is-block":e.block}]]),role:`tablist`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:String(n.value),type:`button`,role:`tab`,class:(0,t.normalizeClass)([`fou-segmented__item`,{"is-active":e.modelValue===n.value,"is-disabled":n.disabled}]),disabled:n.disabled,onClick:e=>a(n)},[n.icon?((0,t.openBlock)(),(0,t.createBlock)(i,{key:0,class:`fou-segmented__icon`,icon:n.icon},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(n.label),1)],10,nT))),128))],2)}}}),iT=v({default:()=>aT}),aT=S(rT,[[`__scopeId`,`data-v-1f425b68`]]),oT=(0,t.defineComponent)({name:`FouOption`,__name:`FouOption`,props:{value:{type:[String,Number,Boolean]},label:{},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(`fouSelect`,null),i=(0,t.useSlots)(),a=(0,t.ref)(!1),o=null,s=(0,t.computed)(()=>{let e=r?.modelValue.value;return r?.multiple.value?Array.isArray(e)&&e.includes(n.value):e===n.value}),c=e=>e?.length?e.map(e=>e==null?``:typeof e==`string`||typeof e==`number`?String(e):typeof e.children==`string`?e.children:Array.isArray(e.children)?c(e.children):``).join(``).trim():``,l=()=>n.label!=null&&n.label!==``?String(n.label):c(i.default?.())||String(n.value),u=()=>({value:n.value,label:l(),disabled:n.disabled,render:i.default?()=>i.default():void 0}),d=()=>{r&&(o!=null&&o!==n.value&&r.unregisterOption(o),r.registerOption(u()),o=n.value)},f=()=>{n.disabled||(a.value=!0,r?.setHoverOption(n.value))},p=()=>{n.disabled||!r||r.selectOption(n.value,l())};return(0,t.watch)(()=>[n.value,n.label,n.disabled],()=>d(),{immediate:!0}),(0,t.onUnmounted)(()=>{o!=null&&r?.unregisterOption(o)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-option`,{"is-selected":(0,t.unref)(s),"is-disabled":e.disabled,"is-hover":(0,t.unref)(a)}]),onMouseenter:f,onClick:p},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)],!0)],34))}}),sT=v({default:()=>cT}),cT=S(oT,[[`__scopeId`,`data-v-87eeaab7`]]);function lT(e){let n=(0,t.ref)(0),r=(0,t.ref)(0),i=(0,t.computed)(()=>Math.max(1,e.itemHeight??34)),a=(0,t.computed)(()=>e.overscan??6),o=(0,t.computed)(()=>{let t=e.total(),o=i.value,s=Math.max(r.value||0,o*8),c=Math.max(0,Math.floor(n.value/o)-a.value),l=Math.ceil(s/o)+a.value*2,u=Math.min(t,c+Math.max(l,1));return{start:c,end:u,padTop:c*o,padBottom:Math.max(0,(t-u)*o),height:t*o}}),s=()=>{let t=e.scrollRef.value;t&&(r.value=t.clientHeight,n.value=t.scrollTop)},c=()=>{let t=e.scrollRef.value;t&&(n.value=t.scrollTop,t.clientHeight>0&&(r.value=t.clientHeight))};return(0,t.watch)(()=>e.scrollRef.value,(e,t,n)=>{if(!e)return;s(),e.addEventListener(`scroll`,c,{passive:!0});let r=typeof ResizeObserver<`u`?new ResizeObserver(s):null;r?.observe(e),n(()=>{e.removeEventListener(`scroll`,c),r?.disconnect()})}),(0,t.onMounted)(s),(0,t.onBeforeUnmount)(()=>{e.scrollRef.value?.removeEventListener(`scroll`,c)}),{range:o,itemHeight:i,measure:s,onScroll:c}}var uT=[`aria-expanded`,`aria-disabled`],dT={key:0,class:`fou-select-v2__tags`},fT=[`onClick`],pT=[`value`,`placeholder`,`disabled`],mT={class:`fou-select-v2__suffix`},hT=[`onClick`],gT={key:0,class:`fou-select-v2__empty`},_T=(0,t.defineComponent)({name:`FouSelectV2`,__name:`index`,props:{modelValue:{type:[String,Number,Boolean,Array,null],default:null},options:{default:()=>[]},placeholder:{default:`请选择`},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},size:{default:`default`},height:{default:274},itemHeight:{default:34}},emits:[`update:modelValue`,`change`,`visibleChange`],setup(e,{emit:n}){let r=e,i=n,a=di(()=>r.disabled),{triggerBlur:o,triggerChange:s}=fi(),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(null),d=(0,t.ref)(!1),f=(0,t.ref)(``),p=(0,t.ref)({}),m=(0,t.computed)(()=>r.multiple?Array.isArray(r.modelValue)?r.modelValue:[]:r.modelValue==null||r.modelValue===``?[]:[r.modelValue]),h=(0,t.computed)(()=>m.value.length>0),g=e=>m.value.includes(e),_=e=>r.options.find(t=>t.value===e)?.label??String(e),v=(0,t.computed)(()=>h.value?r.multiple?m.value.map(_).join(`、`):_(m.value[0]):``),y=(0,t.computed)(()=>{let e=f.value.trim().toLowerCase();return e?r.options.filter(t=>t.label.toLowerCase().includes(e)||String(t.value).includes(e)):r.options}),{range:b,onScroll:x}=lT({scrollRef:u,total:()=>y.value.length,itemHeight:r.itemHeight}),S=(0,t.computed)(()=>y.value.slice(b.value.start,b.value.end).map((e,t)=>({...e,_top:(b.value.start+t)*r.itemHeight}))),C=e=>{i(`update:modelValue`,e),i(`change`,e),s()},w=e=>{if(r.multiple){let t=[...m.value],n=t.indexOf(e.value);n>=0?t.splice(n,1):t.push(e.value),C(t);return}C(e.value),A()},T=e=>{C(m.value.filter(t=>t!==e))},E=()=>{C(r.multiple?[]:null)},D=()=>{let e=c.value;if(!e)return;let t=e.getBoundingClientRect();p.value={position:`fixed`,top:`${Math.round(t.bottom+4)}px`,left:`${Math.round(t.left)}px`,minWidth:`${Math.round(t.width)}px`,zIndex:String(G(2e3))}},O=async()=>{a.value||(d.value=!0,i(`visibleChange`,!0),await(0,t.nextTick)(),D())},A=()=>{d.value=!1,f.value=``,i(`visibleChange`,!1),o()},j=()=>{d.value?A():O()},M=e=>{f.value=e.target.value,d.value||O()},N=e=>{e.key===`Enter`||e.key===` `?(e.preventDefault(),j()):e.key===`Escape`&&A()},P=e=>{let t=e.target;c.value?.contains(t)||l.value?.contains(t)||A()};return(0,t.watch)(d,e=>{e?(document.addEventListener(`mousedown`,P,!0),window.addEventListener(`resize`,D)):(document.removeEventListener(`mousedown`,P,!0),window.removeEventListener(`resize`,D))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,P,!0),window.removeEventListener(`resize`,D)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:c,class:(0,t.normalizeClass)([`fou-select-v2`,[`fou-select-v2--${e.size}`,{"is-disabled":(0,t.unref)(a),"is-focused":(0,t.unref)(d),"is-multiple":e.multiple}]])},[(0,t.createElementVNode)(`div`,{class:`fou-select-v2__wrapper`,role:`combobox`,"aria-expanded":(0,t.unref)(d),"aria-disabled":(0,t.unref)(a),tabindex:`0`,onClick:j,onKeydown:N},[e.multiple&&(0,t.unref)(m).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dT,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(m),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:String(e),class:`fou-select-v2__tag`},[(0,t.createTextVNode)((0,t.toDisplayString)(_(e))+` `,1),(0,t.unref)(a)?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-select-v2__tag-close`,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(t=>T(e),[`stop`])},` × `,40,fT))]))),128))])):e.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,class:`fou-select-v2__input`,value:(0,t.unref)(d)?(0,t.unref)(f):(0,t.unref)(v),placeholder:(0,t.unref)(v)||e.placeholder,disabled:(0,t.unref)(a),onInput:M,onClick:(0,t.withModifiers)(O,[`stop`])},null,40,pT)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:2,class:(0,t.normalizeClass)([`fou-select-v2__selected`,{"is-placeholder":!(0,t.unref)(v)}])},(0,t.toDisplayString)((0,t.unref)(v)||e.placeholder),3)),(0,t.createElementVNode)(`span`,mT,[e.clearable&&(0,t.unref)(h)&&!(0,t.unref)(a)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-select-v2__clear`,onMousedown:r[1]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(E,[`stop`])},` × `,32)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,{class:(0,t.normalizeClass)([`fou-select-v2__caret`,{"is-open":(0,t.unref)(d)}]),icon:`arrow-down-s-line`},null,8,[`class`])])],40,uT),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-select-v2-fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:l,class:`fou-select-v2__dropdown`,style:(0,t.normalizeStyle)((0,t.unref)(p))},[(0,t.createElementVNode)(`div`,{ref_key:`listRef`,ref:u,class:`fou-select-v2__list`,style:(0,t.normalizeStyle)({height:`${e.height}px`}),onScroll:r[2]||=(...e)=>(0,t.unref)(x)&&(0,t.unref)(x)(...e)},[(0,t.createElementVNode)(`div`,{style:(0,t.normalizeStyle)({height:`${(0,t.unref)(b).height}px`,position:`relative`})},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(S),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(n.value),class:(0,t.normalizeClass)([`fou-select-v2__option`,{"is-selected":g(n.value),"is-disabled":n.disabled}]),style:(0,t.normalizeStyle)({top:`${n._top}px`,height:`${e.itemHeight}px`,lineHeight:`${e.itemHeight}px`}),onClick:e=>!n.disabled&&w(n)},(0,t.toDisplayString)(n.label),15,hT))),128))],4)],36),(0,t.unref)(y).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gT,`无数据`))],4)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],2)}}}),vT=v({default:()=>yT}),yT=S(_T,[[`__scopeId`,`data-v-83072cc3`]]),bT={key:0,class:`fou-space__spacer`},xT=(0,t.defineComponent)({name:`FouSpace`,__name:`index`,props:{size:{default:`small`},direction:{default:`horizontal`},alignment:{default:`center`},wrap:{type:Boolean,default:!1},spacer:{default:``}},setup(e){let n={small:8,default:12,large:16},r=e,i=(0,t.useSlots)(),a=e=>{let n=[];for(let r of e)r.type!==t.Comment&&(r.type===t.Text&&!String(r.children??``).trim()||(r.type===t.Fragment&&Array.isArray(r.children)?n.push(...a(r.children)):n.push(r)));return n},o=(0,t.computed)(()=>a(i.default?.()??[])),s=(0,t.computed)(()=>typeof r.size==`number`?`${r.size}px`:`${n[r.size]??n.small}px`),c=(0,t.computed)(()=>({"fou-space--vertical":r.direction===`vertical`,"is-wrap":r.wrap})),l={start:`flex-start`,end:`flex-end`,center:`center`,baseline:`baseline`,stretch:`stretch`},u=(0,t.computed)(()=>({gap:s.value,flexDirection:r.direction===`vertical`?`column`:`row`,alignItems:l[r.alignment]||`center`,flexWrap:r.wrap?`wrap`:`nowrap`}));return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-space`,(0,t.unref)(c)]),style:(0,t.normalizeStyle)((0,t.unref)(u))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:r},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(n))),e.spacer&&r<(0,t.unref)(o).length-1?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,bT,(0,t.toDisplayString)(e.spacer),1)):(0,t.createCommentVNode)(``,!0)],64))),128))],6))}}),ST=v({default:()=>CT}),CT=S(xT,[[`__scopeId`,`data-v-9fbcaf6c`]]),wT=[`viewBox`],TT=[`stop-color`],ET=[`stop-color`],DT=[`d`,`fill`],OT=[`d`,`stroke`,`stroke-width`],kT=(0,t.defineComponent)({name:`FouSparkline`,__name:`index`,props:{data:{default:()=>[]},width:{default:120},height:{default:36},color:{default:`var(--fou-color-primary, #409eff)`},fill:{type:Boolean,default:!0},strokeWidth:{default:1.5}},setup(e){let n=e,r=`fou-spark-${Math.random().toString(36).slice(2,9)}`,i=(0,t.computed)(()=>{let e=n.data;if(!e.length)return{min:0,max:1};let t=Math.min(...e),r=Math.max(...e);return{min:t,max:r===t?t+1:r}}),a=(0,t.computed)(()=>{let e=n.data,t=e.length;if(!t)return[];let{min:r,max:a}=i.value,o=n.strokeWidth+1,s=n.width,c=n.height-o*2;return e.map((e,n)=>({x:t===1?s/2:n/(t-1)*s,y:o+c-(e-r)/(a-r)*c}))}),o=(0,t.computed)(()=>a.value.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(2)},${e.y.toFixed(2)}`).join(` `)),s=(0,t.computed)(()=>{if(!n.fill||!a.value.length)return``;let e=a.value[0],t=a.value[a.value.length-1],r=n.height;return`${o.value} L${t.x.toFixed(2)},${r} L${e.x.toFixed(2)},${r} Z`});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`fou-sparkline`,style:(0,t.normalizeStyle)({width:`${e.width}px`,height:`${e.height}px`})},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{viewBox:`0 0 ${e.width} ${e.height}`,class:`fou-sparkline__svg`,preserveAspectRatio:`none`},[(0,t.createElementVNode)(`defs`,null,[(0,t.createElementVNode)(`linearGradient`,{id:r,x1:`0`,y1:`0`,x2:`0`,y2:`1`},[(0,t.createElementVNode)(`stop`,{offset:`0%`,"stop-color":e.color,"stop-opacity":`0.32`},null,8,TT),(0,t.createElementVNode)(`stop`,{offset:`100%`,"stop-color":e.color,"stop-opacity":`0`},null,8,ET)])]),s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`path`,{key:0,d:s.value,fill:`url(#${r})`},null,8,DT)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`path`,{d:o.value,stroke:e.color,"stroke-width":e.strokeWidth,fill:`none`,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,OT)],8,wT))],4))}}),AT=v({default:()=>jT}),jT=S(kT,[[`__scopeId`,`data-v-857567ba`]]),MT=Symbol(`FouSplitter`),NT=[`aria-orientation`],PT=(0,t.defineComponent)({name:`FouSplitterPanel`,__name:`FouSplitterPanel`,props:{size:{},min:{},max:{},resizable:{type:Boolean,default:!0}},setup(e){let n=e,r=(0,t.inject)(MT,null),i=(0,t.getCurrentInstance)()?.uid??Math.random(),a=(0,t.computed)(()=>{if(!r||n.resizable===!1)return!1;let e=r.panels.value,t=e.findIndex(e=>e.uid===i);return t<0||t===e.length-1?!1:e[t+1]?.resizable!==!1}),o=(0,t.computed)(()=>{let e=r?.flexMap.value?.[i];return e==null?n.size==null?{flex:`1 1 0`,minWidth:0,minHeight:0}:{flex:`0 0 ${typeof n.size==`number`?`${n.size}px`:n.size}`,minWidth:0,minHeight:0}:{flex:`${e} 1 0`,minWidth:0,minHeight:0}}),s=e=>r?.startDrag(i,e);return(0,t.onMounted)(()=>{r?.register({uid:i,size:n.size,min:n.min,max:n.max,resizable:n.resizable})}),(0,t.onUnmounted)(()=>r?.unregister(i)),(0,t.watch)(()=>[n.size,n.min,n.max,n.resizable],()=>{r?.update(i,{size:n.size,min:n.min,max:n.max,resizable:n.resizable})}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,{class:`fou-splitter-panel`,style:(0,t.normalizeStyle)((0,t.unref)(o))},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],4),(0,t.unref)(a)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-splitter-bar`,[`fou-splitter-bar--${(0,t.unref)(r)?.layout.value||`horizontal`}`,{"is-dragging":(0,t.unref)(r)?.draggingUid.value===(0,t.unref)(i)}]]),role:`separator`,"aria-orientation":(0,t.unref)(r)?.layout.value,tabindex:`0`,onMousedown:(0,t.withModifiers)(s,[`prevent`])},null,42,NT)):(0,t.createCommentVNode)(``,!0)],64))}}),FT=v({default:()=>IT}),IT=S(PT,[[`__scopeId`,`data-v-a86fa6bc`]]),LT=(0,t.defineComponent)({name:`FouSplitter`,__name:`index`,props:{layout:{default:`horizontal`}},emits:[`resize`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)([]),s=(0,t.ref)({}),c=(0,t.ref)(-1),l=e=>r.layout===`vertical`?e.height:e.width,u=(e,t,n)=>e==null?n:typeof e==`number`?e:String(e).endsWith(`%`)?Number.parseFloat(String(e))/100*t:Number.parseFloat(String(e))||n;return(0,t.provide)(MT,{layout:(0,t.computed)(()=>r.layout),panels:o,flexMap:s,draggingUid:c,register:e=>{o.value.some(t=>t.uid===e.uid)||o.value.push(e)},unregister:e=>{o.value=o.value.filter(t=>t.uid!==e);let t={...s.value};delete t[e],s.value=t},update:(e,t)=>{let n=o.value.findIndex(t=>t.uid===e);n>=0&&(o.value[n]={...o.value[n],...t})},startDrag:(e,t)=>{let n=a.value,d=o.value.findIndex(t=>t.uid===e),f=o.value[d],p=o.value[d+1];if(!n||!f||!p)return;c.value=e;let m=r.layout===`vertical`?t.clientY:t.clientX,h=l(n.getBoundingClientRect()),g=Array.from(n.querySelectorAll(`:scope > .fou-splitter-panel`)),_=g[d],v=g[d+1],y=_?l(_.getBoundingClientRect()):h/2,b=v?l(v.getBoundingClientRect()):h/2,x=e=>{let t=(r.layout===`vertical`?e.clientY:e.clientX)-m,n=y+t,a=b-t,o=u(f.min,h,40),c=u(p.min,h,40),l=u(f.max,h,h),d=u(p.max,h,h);n<o&&(a-=o-n,n=o),a<c&&(n-=c-a,a=c),s.value={...s.value,[f.uid]:Math.min(l,Math.max(o,n)),[p.uid]:Math.min(d,Math.max(c,a))},i(`resize`,[s.value[f.uid],s.value[p.uid]])},S=()=>{c.value=-1,window.removeEventListener(`mousemove`,x),window.removeEventListener(`mouseup`,S)};window.addEventListener(`mousemove`,x),window.addEventListener(`mouseup`,S)}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-splitter`,[`fou-splitter--${e.layout}`]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),RT=v({default:()=>zT}),zT=S(LT,[[`__scopeId`,`data-v-7d494943`]]),BT={class:`fou-statistic`},VT={key:0,class:`fou-statistic__title`},HT={key:0,class:`fou-statistic__prefix`},UT={class:`fou-statistic__value`},WT={key:1,class:`fou-statistic__suffix`},GT=(0,t.defineComponent)({name:`FouStatistics`,__name:`index`,props:{value:{default:0},title:{default:``},precision:{default:0},prefix:{default:``},suffix:{default:``},valueStyle:{default:()=>({})},countdown:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(Date.now()),i=null,a=(0,t.computed)(()=>{let e=n.value;if(e instanceof Date)return e.getTime();if(typeof e==`number`)return e;let t=Date.parse(String(e));return Number.isNaN(t)?Date.now():t}),o=e=>{let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return`${a(n)}:${a(r)}:${a(i)}`},s=e=>{let t=typeof e==`number`?e:Number(e);return Number.isNaN(t)?String(e):n.precision>=0?t.toFixed(n.precision):String(t)},c=(0,t.computed)(()=>n.countdown?o(a.value-r.value):s(n.value)),l=()=>{u(),n.countdown&&(r.value=Date.now(),i=setInterval(()=>{r.value=Date.now()},1e3))},u=()=>{i&&=(clearInterval(i),null)};return(0,t.watch)(()=>n.countdown,l,{immediate:!0}),(0,t.onBeforeUnmount)(u),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,BT,[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,VT,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:`fou-statistic__content`,style:(0,t.normalizeStyle)(e.valueStyle)},[e.prefix||n.$slots.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,HT,[(0,t.renderSlot)(n.$slots,`prefix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.prefix),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,UT,(0,t.toDisplayString)((0,t.unref)(c)),1),e.suffix||n.$slots.suffix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,WT,[(0,t.renderSlot)(n.$slots,`suffix`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.suffix),1)],!0)])):(0,t.createCommentVNode)(``,!0)],4)]))}}),KT=v({default:()=>qT}),qT=S(GT,[[`__scopeId`,`data-v-28987a91`]]),JT=qT,YT=v({default:()=>XT}),XT=JT,ZT=Symbol(`fouSteps`),QT={class:`fou-step__head`},$T={key:3,class:`fou-step__index`},eE={key:0,class:`fou-step__line`},tE={class:`fou-step__main`},nE={class:`fou-step__title`},rE={key:0,class:`fou-step__description`},iE=(0,t.defineComponent)({name:`FouStep`,__name:`index`,props:{title:{default:``},description:{default:``},icon:{default:``},status:{default:``}},setup(e){let n=e,r=(0,t.getCurrentInstance)()?.uid??Math.random(),i=(0,t.inject)(ZT,null),a=(0,t.computed)(()=>i?i.steps.value.findIndex(e=>e.uid===r):0),o=(0,t.computed)(()=>!i||a.value===i.steps.value.length-1),s=(0,t.computed)(()=>{if(n.status)return n.status;if(!i)return`wait`;let e=a.value,t=i.active.value;return e<t?i.finishStatus.value:e===t?i.processStatus.value:`wait`}),c=(0,t.computed)(()=>{if(!i?.space.value)return;let e=i.space.value;return i.direction.value===`vertical`?{marginBottom:typeof e==`number`?`${e}px`:e}:{flexBasis:typeof e==`number`?`${e}px`:e}}),l=(0,t.computed)(()=>({uid:r,title:n.title,description:n.description,icon:n.icon,status:n.status}));return(0,t.onMounted)(()=>i?.addStep(l.value)),(0,t.onUnmounted)(()=>i?.removeStep(r)),(0,t.watch)(l,e=>{if(!i)return;let t=i.steps.value.findIndex(e=>e.uid===r);t>=0&&(i.steps.value[t]=e)}),(n,r)=>{let l=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-step`,[`fou-step--${(0,t.unref)(s)}`,{"is-last":(0,t.unref)(o)},`fou-step--${(0,t.unref)(i)?.direction.value||`horizontal`}`]]),style:(0,t.normalizeStyle)((0,t.unref)(c))},[(0,t.createElementVNode)(`div`,QT,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-step__icon`,{"is-text":!e.icon&&!n.$slots.icon}])},[(0,t.renderSlot)(n.$slots,`icon`,{},()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(l,{key:0,icon:e.icon},null,8,[`icon`])):(0,t.unref)(s)===`finish`?((0,t.openBlock)(),(0,t.createBlock)(l,{key:1,icon:`check-line`})):(0,t.unref)(s)===`error`?((0,t.openBlock)(),(0,t.createBlock)(l,{key:2,icon:`close-line`})):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,$T,(0,t.toDisplayString)((0,t.unref)(a)+1),1))],!0)],2),(0,t.unref)(o)?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,eE))]),(0,t.createElementVNode)(`div`,tE,[(0,t.createElementVNode)(`div`,nE,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)]),e.description||n.$slots.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rE,[(0,t.renderSlot)(n.$slots,`description`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.description),1)],!0)])):(0,t.createCommentVNode)(``,!0)])],6)}}}),aE=v({default:()=>oE}),oE=S(iE,[[`__scopeId`,`data-v-1a4d0fc1`]]),sE=(0,t.defineComponent)({name:`FouSteps`,__name:`index`,props:{active:{default:0},space:{},direction:{default:`horizontal`},processStatus:{default:`process`},finishStatus:{default:`finish`},alignCenter:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)([]);return(0,t.provide)(ZT,{active:(0,t.toRef)(n,`active`),space:(0,t.toRef)(n,`space`),direction:(0,t.toRef)(n,`direction`),processStatus:(0,t.toRef)(n,`processStatus`),finishStatus:(0,t.toRef)(n,`finishStatus`),alignCenter:(0,t.toRef)(n,`alignCenter`),steps:r,addStep:e=>{r.value.push(e),r.value.sort((e,t)=>e.uid-t.uid)},removeStep:e=>{r.value=r.value.filter(t=>t.uid!==e)}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-steps`,[`fou-steps--${e.direction}`,{"is-center":e.alignCenter&&e.direction===`horizontal`}]])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),cE=v({default:()=>lE}),lE=S(sE,[[`__scopeId`,`data-v-1aded32b`]]),uE=(0,t.defineComponent)({name:`FouTabs`,inheritAttrs:!1,__name:`index`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(Ct,(0,t.normalizeProps)((0,t.guardReactiveProps)(e.$attrs)),(0,t.createSlots)({_:2},[(0,t.renderList)(e.$slots,(n,r)=>({name:r,fn:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,r,(0,t.normalizeProps)((0,t.guardReactiveProps)(n||{})))])}))]),1040))}}),dE=v({default:()=>fE}),fE=uE,pE=(0,t.defineComponent)({name:`FouText`,__name:`index`,props:{type:{default:``},size:{default:`default`},truncated:{type:Boolean,default:!1},lineClamp:{default:0},tag:{default:`span`}},setup(e){let n=e,r=(0,t.computed)(()=>[n.type?`fou-text--${n.type}`:``,n.size==="default"?``:`fou-text--${n.size}`,{"is-truncated":n.truncated,"is-line-clamp":n.lineClamp>0}]),i=(0,t.computed)(()=>{if(n.lineClamp>0)return{WebkitLineClamp:String(n.lineClamp)}});return(n,a)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)([`fou-text`,(0,t.unref)(r)]),style:(0,t.normalizeStyle)((0,t.unref)(i))},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),_:3},8,[`class`,`style`]))}}),mE=v({default:()=>hE}),hE=S(pE,[[`__scopeId`,`data-v-84e16484`]]),gE=[`title`],_E=(0,t.defineComponent)({name:`FouTimeAgo`,__name:`index`,props:{value:{default:void 0},autoUpdate:{type:Boolean,default:!0},interval:{default:3e4}},emits:[`update`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.ref)(``),s,c=e=>{if(!e)return null;if(e instanceof Date)return isNaN(e.getTime())?null:e;if(typeof e==`number`)return new Date(e);let t=new Date(e);return isNaN(t.getTime())?null:t},l=e=>{let t=Date.now()-e.getTime(),n=Math.abs(t),r=t<0,i=Math.floor(n/1e3),o=Math.floor(i/60),s=Math.floor(o/60),c=Math.floor(s/24),l;if(i<10)l=`刚刚`;else if(i<60)l=`${i} 秒${r?`后`:`前`}`;else if(o<60)l=`${o} 分钟${r?`后`:`前`}`;else if(s<24)l=`${s} 小时${r?`后`:`前`}`;else if(c<30)l=`${c} 天${r?`后`:`前`}`;else{let t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,`0`),r=String(e.getDate()).padStart(2,`0`);a.value=`${t}-${n}-${r}`;return}a.value=l},u=()=>{let e=c(r.value);if(!e){a.value=`--`,o.value=``;return}let t=e=>String(e).padStart(2,`0`);o.value=`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}`,l(e),i(`update`,a.value)};return(0,t.watch)(()=>r.value,u,{immediate:!1}),(0,t.onMounted)(()=>{u(),r.autoUpdate&&r.interval>0&&(s=setInterval(u,r.interval))}),(0,t.onBeforeUnmount)(()=>{s&&clearInterval(s)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`fou-time-ago`,title:o.value},[(0,t.renderSlot)(e.$slots,`default`,{value:a.value},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(a.value),1)],!0)],8,gE))}}),vE=v({default:()=>yE}),yE=S(_E,[[`__scopeId`,`data-v-76ac658b`]]),bE=[`aria-expanded`,`aria-disabled`,`onKeydown`],xE=[`disabled`,`onClick`],SE={key:0,class:`fou-time-select__empty`},CE=(0,t.defineComponent)({name:`FouTimeSelect`,__name:`index`,props:{modelValue:{default:``},placeholder:{default:`请选择时间`},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},size:{default:`default`},start:{default:`09:00`},end:{default:`18:00`},step:{default:`00:30`},minTime:{},maxTime:{}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=di(()=>r.disabled),{triggerBlur:o,triggerChange:s}=fi(),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(!1),d=(0,t.ref)({}),f=e=>{let[t,n]=String(e||`0:0`).split(`:`).map(e=>Number(e)||0);return t*60+n},p=e=>{let t=Math.floor(e/60),n=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},m=(0,t.computed)(()=>{let e=f(r.start),t=f(r.end),n=Math.max(1,f(r.step)||30),i=r.minTime?f(r.minTime):-1/0,a=r.maxTime?f(r.maxTime):1/0,o=[];for(let r=e;r<=t;r+=n)o.push({value:p(r),disabled:r<i||r>a});return o}),h=()=>{let e=c.value,t=l.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.bottom+4;i+r.height>window.innerHeight-8&&(i=Math.max(8,n.top-r.height-4)),d.value={position:`fixed`,top:`${Math.round(i)}px`,left:`${Math.round(n.left)}px`,minWidth:`${Math.round(n.width)}px`,zIndex:String(G(2e3))}},g=async()=>{a.value||(u.value=!0,await(0,t.nextTick)(),h())},_=()=>{u.value=!1,o()},v=()=>{u.value?_():g()},y=e=>{e.disabled||(i(`update:modelValue`,e.value),i(`change`,e.value),s(),_())},b=()=>{i(`update:modelValue`,``),i(`change`,``),s()},x=e=>{let t=e.target;c.value?.contains(t)||l.value?.contains(t)||_()};return(0,t.watch)(u,e=>{e?(document.addEventListener(`mousedown`,x,!0),window.addEventListener(`resize`,h),window.addEventListener(`scroll`,h,!0)):(document.removeEventListener(`mousedown`,x,!0),window.removeEventListener(`resize`,h),window.removeEventListener(`scroll`,h,!0))}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,x,!0),window.removeEventListener(`resize`,h),window.removeEventListener(`scroll`,h,!0)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:c,class:(0,t.normalizeClass)([`fou-time-select`,[`fou-time-select--${e.size}`,{"is-disabled":(0,t.unref)(a),"is-focused":(0,t.unref)(u)}]])},[(0,t.createElementVNode)(`div`,{class:`fou-time-select__editor`,role:`combobox`,"aria-expanded":(0,t.unref)(u),"aria-disabled":(0,t.unref)(a),tabindex:`0`,onClick:v,onKeydown:(0,t.withKeys)((0,t.withModifiers)(v,[`prevent`]),[`enter`])},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-time-select__value`,{"is-placeholder":!e.modelValue}])},(0,t.toDisplayString)(e.modelValue||e.placeholder),3),e.clearable&&e.modelValue&&!(0,t.unref)(a)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-time-select__clear`,tabindex:`-1`,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(b,[`stop`])},` × `,32)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(i,{icon:`time-line`,class:`fou-time-select__icon`})],40,bE),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-time-select-fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`panelRef`,ref:l,class:`fou-time-select__panel`,style:(0,t.normalizeStyle)((0,t.unref)(d))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(m),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n.value,type:`button`,class:(0,t.normalizeClass)([`fou-time-select__item`,{"is-active":n.value===e.modelValue,"is-disabled":n.disabled}]),disabled:n.disabled,onClick:e=>y(n)},(0,t.toDisplayString)(n.value),11,xE))),128)),(0,t.unref)(m).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,SE,`无可选时间`))],4)):(0,t.createCommentVNode)(``,!0)]),_:1})]))],2)}}}),wE=v({default:()=>TE}),TE=S(CE,[[`__scopeId`,`data-v-7a9a2d97`]]),EE=(0,t.defineComponent)({name:`FouTimeline`,__name:`index`,props:{center:{type:Boolean,default:!1}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,{class:(0,t.normalizeClass)([`fou-timeline`,{"fou-timeline--center":e.center}])},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2))}}),DE=v({default:()=>OE}),OE=S(EE,[[`__scopeId`,`data-v-04ce4880`]]),kE={class:`fou-timeline-item__dot`},AE={class:`fou-timeline-item__wrapper`},jE={key:0,class:`fou-timeline-item__timestamp is-top`},ME={class:`fou-timeline-item__content`},NE={key:1,class:`fou-timeline-item__timestamp is-bottom`},PE=(0,t.defineComponent)({name:`FouTimelineItem`,__name:`index`,props:{timestamp:{default:``},placement:{default:`bottom`},type:{default:`primary`},color:{default:``},hollow:{type:Boolean,default:!1},icon:{default:``},center:{type:Boolean,default:!1}},setup(e){let n=e,r={primary:`var(--fou-color-primary, var(--fou-color-primary, #409eff))`,success:`var(--fou-color-success, var(--fou-color-success, #67c23a))`,warning:`var(--fou-color-warning, var(--fou-color-warning, #e6a23c))`,danger:`var(--fou-color-danger, var(--fou-color-danger, #f56c6c))`,info:`var(--fou-color-info, var(--fou-color-info, #909399))`},i=(0,t.computed)(()=>n.type||`primary`),a=(0,t.computed)(()=>({"--fou-timeline-dot-color":n.color||r[i.value]}));return(n,r)=>{let o=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`li`,{class:(0,t.normalizeClass)([`fou-timeline-item`,[`fou-timeline-item--${(0,t.unref)(i)}`,`fou-timeline-item--placement-${e.placement}`,{"is-hollow":e.hollow}]]),style:(0,t.normalizeStyle)((0,t.unref)(a))},[r[0]||=(0,t.createElementVNode)(`div`,{class:`fou-timeline-item__tail`},null,-1),(0,t.createElementVNode)(`div`,kE,[(0,t.renderSlot)(n.$slots,`dot`,{},()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(o,{key:0,icon:e.icon},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0)],!0)]),(0,t.createElementVNode)(`div`,AE,[e.timestamp&&e.placement===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jE,(0,t.toDisplayString)(e.timestamp),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ME,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.timestamp&&e.placement===`bottom`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,NE,(0,t.toDisplayString)(e.timestamp),1)):(0,t.createCommentVNode)(``,!0)])],6)}}}),FE=v({default:()=>IE}),IE=S(PE,[[`__scopeId`,`data-v-71ac71cd`]]),LE={key:0,class:`fou-tips__title`},RE={class:`fou-tips__content`},zE=(0,t.defineComponent)({name:`FouTips`,inheritAttrs:!1,__name:`index`,props:{content:{default:``},title:{default:``},placement:{default:`top`},type:{default:`primary`},effect:{default:`dark`},trigger:{default:`hover`},showAfter:{default:0},hideAfter:{default:120},disabled:{type:Boolean,default:!1}},setup(e){let n=(0,t.useAttrs)(),r=e,i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)({}),c,l,u=!1,d=()=>{let e=i.value,t=a.value;if(!e||!t)return;let n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),c=0,l=0;switch(r.placement){case`bottom`:c=n.bottom+10,l=n.left+n.width/2-o.width/2;break;case`left`:c=n.top+n.height/2-o.height/2,l=n.left-o.width-10;break;case`right`:c=n.top+n.height/2-o.height/2,l=n.right+10;break;default:c=n.top-o.height-10,l=n.left+n.width/2-o.width/2}l=Math.min(Math.max(4,l),window.innerWidth-o.width-4),c=Math.min(Math.max(4,c),window.innerHeight-o.height-4),s.value={position:`fixed`,top:`${Math.round(c)}px`,left:`${Math.round(l)}px`,zIndex:String(G(2e3))}},f=()=>{c&&clearTimeout(c),l&&clearTimeout(l),c=void 0,l=void 0},p=async()=>{r.disabled||(f(),c=setTimeout(async()=>{o.value=!0,await(0,t.nextTick)(),d(),requestAnimationFrame(()=>d())},r.showAfter))},m=()=>{f(),l=setTimeout(()=>{(!u||r.trigger===`click`)&&(o.value=!1),r.trigger===`hover`&&!u&&(o.value=!1)},r.hideAfter)},h=()=>{r.trigger===`hover`&&(u=!1,p())},g=()=>{r.trigger===`hover`&&(u=!1,m())},_=()=>{r.trigger!==`click`||r.disabled||(o.value?o.value=!1:p())},v=()=>{r.trigger===`hover`&&(u=!0,f())},y=e=>{if(r.trigger!==`click`||!o.value)return;let t=e.target;i.value?.contains(t)||a.value?.contains(t)||(o.value=!1)},b=()=>{o.value&&d()};return(0,t.watch)(o,e=>{e?(window.addEventListener(`scroll`,b,!0),window.addEventListener(`resize`,b),r.trigger===`click`&&document.addEventListener(`click`,y,!0)):(window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b),document.removeEventListener(`click`,y,!0))}),(0,t.onBeforeUnmount)(()=>{f(),window.removeEventListener(`scroll`,b,!0),window.removeEventListener(`resize`,b),document.removeEventListener(`click`,y,!0)}),(r,c)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,(0,t.mergeProps)({class:`fou-tips-host`},(0,t.unref)(n)),[(0,t.createElementVNode)(`span`,{ref_key:`triggerRef`,ref:i,class:`fou-tips__trigger`,onMouseenter:h,onMouseleave:g,onClick:_},[(0,t.renderSlot)(r.$slots,`default`,{},void 0,!0)],544),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`fou-tips-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{ref_key:`popperRef`,ref:a,class:(0,t.normalizeClass)([`fou-tips`,[`fou-tips--${e.placement}`,`fou-tips--${e.type}`,`fou-tips--${e.effect}`]]),style:(0,t.normalizeStyle)((0,t.unref)(s)),role:`tooltip`,onMouseenter:v,onMouseleave:g},[e.title||r.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,LE,[(0,t.renderSlot)(r.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,RE,[(0,t.renderSlot)(r.$slots,`content`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)]),c[0]||=(0,t.createElementVNode)(`i`,{class:`fou-tips__arrow`,"aria-hidden":`true`},null,-1)],38),[[t.vShow,(0,t.unref)(o)]])]),_:3})]))],16))}}),BE=v({default:()=>VE}),VE=S(zE,[[`__scopeId`,`data-v-4eea1cd3`]]),HE=(0,t.defineComponent)({name:`FouTitle`,__name:`index`,props:{level:{default:1},type:{default:``},truncated:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>`h${n.level}`);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(r)),{class:(0,t.normalizeClass)([`fou-title`,[`fou-title--h${e.level}`,e.type?`fou-title--${e.type}`:``,{"is-truncated":e.truncated}]])},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),_:3},8,[`class`]))}}),UE=v({default:()=>WE}),WE=S(HE,[[`__scopeId`,`data-v-d55afa2d`]]),GE=Symbol(`FouTour`),KE={class:`fou-tour-step`,hidden:``},qE=(0,t.defineComponent)({name:`FouTourStep`,__name:`FouTourStep`,props:{target:{type:[String,Function]},title:{},description:{},placement:{},nextText:{},prevText:{},mask:{type:Boolean}},setup(e){let n=e,r=(0,t.useSlots)(),i=(0,t.inject)(GE,null),a=(0,t.getCurrentInstance)()?.uid??Math.random();return(0,t.onMounted)(()=>{i?.registerStep({uid:a,target:n.target,title:n.title,description:n.description||r.default?.(),placement:n.placement,nextText:n.nextText,prevText:n.prevText,mask:n.mask})}),(0,t.onUnmounted)(()=>i?.unregisterStep(a)),(0,t.watch)(()=>[n.target,n.title,n.description,n.placement],()=>{i?.registerStep({uid:a,target:n.target,title:n.title,description:n.description,placement:n.placement,nextText:n.nextText,prevText:n.prevText,mask:n.mask})}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,KE,[(0,t.renderSlot)(e.$slots,`default`)]))}}),JE=v({default:()=>YE}),YE=qE,XE={hidden:``},ZE={key:1,class:`fou-tour__title`},QE={class:`fou-tour__body`},$E={class:`fou-tour__footer`},eD={class:`fou-tour__indicator`},tD={class:`fou-tour__actions`},nD=(0,t.defineComponent)({name:`FouTour`,__name:`index`,props:{modelValue:{type:Boolean,default:!1},current:{default:0},steps:{default:()=>[]},mask:{type:Boolean,default:!0},closable:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!1},scrollIntoView:{type:Boolean,default:!0},gap:{default:6},zIndex:{},finishButtonText:{default:`结束导览`},showClose:{type:Boolean,default:!0}},emits:[`update:modelValue`,`update:current`,`change`,`close`,`finish`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)([]),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)({}),l=(0,t.ref)(2e3),u=(0,t.ref)(`bottom`);(0,t.provide)(GE,{registerStep:e=>{let t=a.value.findIndex(t=>t.uid===e.uid);t>=0?a.value[t]=e:a.value.push(e)},unregisterStep:e=>{a.value=a.value.filter(t=>t.uid!==e)}});let d=(0,t.computed)({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),f=(0,t.computed)({get:()=>r.current,set:e=>i(`update:current`,e)}),p=(0,t.computed)(()=>r.steps?.length?r.steps:a.value),m=(0,t.computed)(()=>p.value.length),h=(0,t.computed)(()=>p.value[f.value]||null),g=(0,t.computed)(()=>h.value?.mask??r.mask),_=e=>{if(!e?.target)return null;let t=typeof e.target==`function`?e.target():e.target;return t?typeof t==`string`?document.querySelector(t):t:null},v=(0,t.computed)(()=>{let e=r.gap;if(!s.value)return{top:{position:`fixed`,left:`0`,top:`0`,right:`0`,bottom:`0`},right:{display:`none`},bottom:{display:`none`},left:{display:`none`}};let{top:t,left:n,width:i,height:a}=s.value;return{top:{position:`fixed`,left:`0`,top:`0`,width:`100%`,height:`${Math.max(0,t-e)}px`},left:{position:`fixed`,left:`0`,top:`${Math.max(0,t-e)}px`,width:`${Math.max(0,n-e)}px`,height:`${a+e*2}px`},right:{position:`fixed`,left:`${n+i+e}px`,top:`${Math.max(0,t-e)}px`,right:`0`,height:`${a+e*2}px`},bottom:{position:`fixed`,left:`0`,top:`${t+a+e}px`,right:`0`,bottom:`0`}}}),y=(0,t.computed)(()=>{if(!s.value)return{display:`none`};let e=r.gap;return{position:`fixed`,top:`${s.value.top-e}px`,left:`${s.value.left-e}px`,width:`${s.value.width+e*2}px`,height:`${s.value.height+e*2}px`}}),b=(e,t)=>{let n=o.value;if(!n)return;let r=n.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight;if(!e){c.value={position:`fixed`,top:`${Math.max(16,(a-r.height)/2)}px`,left:`${Math.max(16,(i-r.width)/2)}px`},u.value=`bottom`;return}let s=e.bottom+12,l=e.left+e.width/2-r.width/2;switch(t){case`top`:case`top-start`:case`top-end`:s=e.top-r.height-12,l=t===`top-start`?e.left:t===`top-end`?e.right-r.width:e.left+e.width/2-r.width/2;break;case`bottom`:case`bottom-start`:case`bottom-end`:s=e.bottom+12,l=t===`bottom-start`?e.left:t===`bottom-end`?e.right-r.width:e.left+e.width/2-r.width/2;break;case`left`:case`left-start`:case`left-end`:l=e.left-r.width-12,s=t===`left-start`?e.top:t===`left-end`?e.bottom-r.height:e.top+e.height/2-r.height/2;break;case`right`:case`right-start`:case`right-end`:l=e.right+12,s=t===`right-start`?e.top:t===`right-end`?e.bottom-r.height:e.top+e.height/2-r.height/2}l=Math.min(Math.max(8,l),i-r.width-8),s=Math.min(Math.max(8,s),a-r.height-8),c.value={position:`fixed`,top:`${Math.round(s)}px`,left:`${Math.round(l)}px`},u.value=t},x=async()=>{if(!d.value)return;let e=h.value,n=_(e);n&&r.scrollIntoView&&n.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),await(0,t.nextTick)(),s.value=n?n.getBoundingClientRect():null,await(0,t.nextTick)(),b(s.value,e?.placement||`bottom`)},S=()=>{d.value=!1,i(`close`)},C=()=>{i(`finish`),S()},w=e=>{let t=Math.min(Math.max(0,e),Math.max(0,m.value-1));f.value=t,i(`change`,t),x()},T=()=>w(f.value+1),E=()=>w(f.value-1),D=()=>{r.closeOnClickModal&&S()},O=e=>{d.value&&(e.key===`Escape`&&r.closable&&S(),e.key===`ArrowRight`&&T(),e.key===`ArrowLeft`&&E())};return(0,t.watch)(()=>[d.value,f.value,p.value.length],async([e])=>{e&&(l.value=r.zIndex||G(3200),await x())}),(0,t.onMounted)(()=>{window.addEventListener(`resize`,x),window.addEventListener(`scroll`,x,!0),document.addEventListener(`keydown`,O),d.value&&(l.value=r.zIndex||G(3200),x())}),(0,t.onUnmounted)(()=>{window.removeEventListener(`resize`,x),window.removeEventListener(`scroll`,x,!0),document.removeEventListener(`keydown`,O)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,XE,[(0,t.renderSlot)(n.$slots,`steps`,{},void 0,!0)]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-tour`,style:(0,t.normalizeStyle)({zIndex:(0,t.unref)(l)}),role:`dialog`,"aria-modal":`true`},[(0,t.unref)(g)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).top),onClick:D},null,4),(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).right),onClick:D},null,4),(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).bottom),onClick:D},null,4),(0,t.createElementVNode)(`div`,{class:`fou-tour__mask`,style:(0,t.normalizeStyle)((0,t.unref)(v).left),onClick:D},null,4)],64)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(s)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-tour__hole`,style:(0,t.normalizeStyle)((0,t.unref)(y))},null,4)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`panelRef`,ref:o,class:(0,t.normalizeClass)([`fou-tour__panel`,[`is-${(0,t.unref)(u)}`,{"is-center":!(0,t.unref)(s)}]]),style:(0,t.normalizeStyle)((0,t.unref)(c))},[e.showClose?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tour__close`,"aria-label":`关闭`,onClick:S},` × `)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(h)?.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ZE,[(0,t.renderSlot)(n.$slots,`header`,{step:(0,t.unref)(h),current:(0,t.unref)(f)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(h)?.title),1)],!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,QE,[(0,t.renderSlot)(n.$slots,`default`,{step:(0,t.unref)(h),current:(0,t.unref)(f)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(h)?.description),1)],!0)]),(0,t.createElementVNode)(`div`,$E,[(0,t.renderSlot)(n.$slots,`indicator`,{current:(0,t.unref)(f),total:(0,t.unref)(m)},()=>[(0,t.createElementVNode)(`span`,eD,(0,t.toDisplayString)((0,t.unref)(f)+1)+` / `+(0,t.toDisplayString)((0,t.unref)(m)),1)],!0),(0,t.createElementVNode)(`div`,tD,[(0,t.unref)(f)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tour__btn`,onClick:E},(0,t.toDisplayString)((0,t.unref)(h)?.prevText||`上一步`),1)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(f)<(0,t.unref)(m)-1?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`fou-tour__btn fou-tour__btn--primary`,onClick:T},(0,t.toDisplayString)((0,t.unref)(h)?.nextText||`下一步`),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`fou-tour__btn fou-tour__btn--primary`,onClick:C},(0,t.toDisplayString)(e.finishButtonText),1))])])],6)],4)):(0,t.createCommentVNode)(``,!0)]))],64))}}),rD=v({default:()=>iD}),iD=S(nD,[[`__scopeId`,`data-v-a9993320`]]),aD={class:`fou-transfer`},oD={class:`fou-transfer__panel`},sD={class:`fou-transfer__header`},cD={class:`fou-transfer__title`},lD={class:`fou-transfer__count`},uD={key:0,class:`fou-transfer__filter`},dD={class:`fou-transfer__body`},fD={key:0,class:`fou-transfer__empty`},pD={class:`fou-transfer__buttons`},mD={class:`fou-transfer__panel`},hD={class:`fou-transfer__header`},gD={class:`fou-transfer__title`},_D={class:`fou-transfer__count`},vD={key:0,class:`fou-transfer__filter`},yD={class:`fou-transfer__body`},bD={key:0,class:`fou-transfer__empty`},xD=(0,t.defineComponent)({name:`FouTransfer`,__name:`index`,props:{modelValue:{default:()=>[]},data:{default:()=>[]},titles:{default:()=>[`列表 1`,`列表 2`]},filterable:{type:Boolean,default:!1},filterPlaceholder:{default:`请输入搜索内容`},buttonTexts:{default:()=>[`移除`,`添加`]}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)([]),o=(0,t.ref)([]),s=(0,t.ref)(``),c=(0,t.ref)(``),l=(0,t.computed)(()=>r.data.filter(e=>!r.modelValue.includes(e.key))),u=(0,t.computed)(()=>r.data.filter(e=>r.modelValue.includes(e.key))),d=(e,t)=>!t.trim()||e.label.toLowerCase().includes(t.trim().toLowerCase()),f=(0,t.computed)(()=>l.value.filter(e=>d(e,s.value))),p=(0,t.computed)(()=>u.value.filter(e=>d(e,c.value))),m=(0,t.computed)(()=>f.value.filter(e=>!e.disabled).map(e=>e.key)),h=(0,t.computed)(()=>p.value.filter(e=>!e.disabled).map(e=>e.key)),g=(0,t.computed)(()=>m.value.length>0&&m.value.every(e=>a.value.includes(e))),_=(0,t.computed)(()=>a.value.some(e=>m.value.includes(e))&&!g.value),v=(0,t.computed)(()=>h.value.length>0&&h.value.every(e=>o.value.includes(e))),y=(0,t.computed)(()=>o.value.some(e=>h.value.includes(e))&&!v.value),b=e=>{i(`update:modelValue`,e),i(`change`,e)},x=e=>{a.value=e?[...m.value]:[]},S=e=>{o.value=e?[...h.value]:[]},C=()=>{let e=[...r.modelValue,...a.value];b(e),a.value=[]},w=()=>{let e=new Set(o.value),t=r.modelValue.filter(t=>!e.has(t));b(t),o.value=[]};return(0,t.watch)(()=>r.modelValue,()=>{let e=new Set(r.modelValue);a.value=a.value.filter(t=>!e.has(t)),o.value=o.value.filter(t=>e.has(t))}),(n,r)=>{let i=Ri,d=va,m=Mi,h=Vt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,aD,[(0,t.createElementVNode)(`div`,oD,[(0,t.createElementVNode)(`div`,sD,[(0,t.createVNode)(i,{"model-value":(0,t.unref)(g),indeterminate:(0,t.unref)(_),onChange:x},null,8,[`model-value`,`indeterminate`]),(0,t.createElementVNode)(`span`,cD,(0,t.toDisplayString)(e.titles[0]),1),(0,t.createElementVNode)(`span`,lD,(0,t.toDisplayString)((0,t.unref)(a).length)+`/`+(0,t.toDisplayString)((0,t.unref)(l).length),1)]),e.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,uD,[(0,t.createVNode)(d,{modelValue:(0,t.unref)(s),"onUpdate:modelValue":r[0]||=e=>(0,t.isRef)(s)?s.value=e:null,placeholder:e.filterPlaceholder,"prefix-icon":`search-line`},null,8,[`modelValue`,`placeholder`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,dD,[(0,t.createVNode)(m,{modelValue:(0,t.unref)(a),"onUpdate:modelValue":r[1]||=e=>(0,t.isRef)(a)?a.value=e:null},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(f),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(e.key),class:`fou-transfer__item`},[(0,t.createVNode)(i,{label:e.key,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`disabled`])]))),128))]),_:1},8,[`modelValue`]),(0,t.unref)(f).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fD,`无数据`))])]),(0,t.createElementVNode)(`div`,pD,[(0,t.createVNode)(h,{type:`primary`,disabled:!(0,t.unref)(a).length,onClick:C},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.buttonTexts[1])+` › `,1)]),_:1},8,[`disabled`]),(0,t.createVNode)(h,{disabled:!(0,t.unref)(o).length,onClick:w},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)(` ‹ `+(0,t.toDisplayString)(e.buttonTexts[0]),1)]),_:1},8,[`disabled`])]),(0,t.createElementVNode)(`div`,mD,[(0,t.createElementVNode)(`div`,hD,[(0,t.createVNode)(i,{"model-value":(0,t.unref)(v),indeterminate:(0,t.unref)(y),onChange:S},null,8,[`model-value`,`indeterminate`]),(0,t.createElementVNode)(`span`,gD,(0,t.toDisplayString)(e.titles[1]),1),(0,t.createElementVNode)(`span`,_D,(0,t.toDisplayString)((0,t.unref)(o).length)+`/`+(0,t.toDisplayString)((0,t.unref)(u).length),1)]),e.filterable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,vD,[(0,t.createVNode)(d,{modelValue:(0,t.unref)(c),"onUpdate:modelValue":r[2]||=e=>(0,t.isRef)(c)?c.value=e:null,placeholder:e.filterPlaceholder,"prefix-icon":`search-line`},null,8,[`modelValue`,`placeholder`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,yD,[(0,t.createVNode)(m,{modelValue:(0,t.unref)(o),"onUpdate:modelValue":r[3]||=e=>(0,t.isRef)(o)?o.value=e:null},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(p),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(e.key),class:`fou-transfer__item`},[(0,t.createVNode)(i,{label:e.key,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1032,[`label`,`disabled`])]))),128))]),_:1},8,[`modelValue`]),(0,t.unref)(p).length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bD,`无数据`))])])])}}}),SD=v({default:()=>CD}),CD=S(xD,[[`__scopeId`,`data-v-adf8d40f`]]),wD=[`onKeydown`],TD={class:`fou-tree-select__suffix`},ED={class:`fou-tree-select__dropdown`},DD=(0,t.defineComponent)({name:`FouTreeSelect`,__name:`index`,props:{modelValue:{default:null},data:{default:()=>[]},props:{default:()=>({})},placeholder:{default:`请选择`},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`,`clear`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.computed)(()=>r.props),c=(0,t.computed)(()=>r.modelValue!==null&&r.modelValue!==void 0&&r.modelValue!==``),l=(e,t)=>{for(let n of e){if(au(n,r.props)===t)return n;let e=n[r.props?.children??`children`];if(Array.isArray(e)){let n=l(e,t);if(n)return n}}return null},u=(0,t.computed)(()=>{if(!c.value)return``;let e=l(r.data,r.modelValue);return e?ou(e,r.props):String(r.modelValue)}),d=()=>{r.disabled||(o.value=!0)},f=()=>{o.value=!1},p=()=>{r.disabled||(o.value?f():d())},m=e=>{let t=au(e,r.props);i(`update:modelValue`,t),i(`change`,t),f()},h=()=>{i(`update:modelValue`,null),i(`change`,null),i(`clear`)},g=e=>{a.value?.contains(e.target)||f()};return(0,t.onMounted)(()=>document.addEventListener(`mousedown`,g)),(0,t.onUnmounted)(()=>document.removeEventListener(`mousedown`,g)),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)([`fou-tree-select`,{"is-disabled":e.disabled,"is-focused":(0,t.unref)(o)}])},[(0,t.createElementVNode)(`div`,{class:`fou-tree-select__wrapper`,tabindex:`0`,onClick:p,onKeydown:[(0,t.withKeys)((0,t.withModifiers)(p,[`prevent`]),[`enter`]),(0,t.withKeys)((0,t.withModifiers)(p,[`prevent`]),[`space`]),(0,t.withKeys)(f,[`esc`])]},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-tree-select__selected`,{"is-placeholder":!(0,t.unref)(u)}])},(0,t.toDisplayString)((0,t.unref)(u)||e.placeholder),3),(0,t.createElementVNode)(`span`,TD,[e.clearable&&(0,t.unref)(c)&&!e.disabled?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-tree-select__clear`,tabindex:`-1`,onMousedown:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onClick:(0,t.withModifiers)(h,[`stop`])},` × `,32)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`fou-tree-select__caret`,{"is-open":(0,t.unref)(o)}])},`▾`,2)])],40,wD),(0,t.createVNode)(t.Transition,{name:`fou-tree-select-fade`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,ED,[(0,t.createVNode)(ku,{data:e.data,props:(0,t.unref)(s),"highlight-current":``,"default-expand-all":``,onNodeClick:m},null,8,[`data`,`props`])],512),[[t.vShow,(0,t.unref)(o)]])]),_:1})],2))}}),OD=v({default:()=>kD}),kD=S(DD,[[`__scopeId`,`data-v-53f707f4`]]),AD={class:`fou-tree-v2`,role:`tree`},jD=[`onClick`],MD=[`onClick`],ND={key:0},PD={class:`fou-tree-v2__label`},FD={key:1,class:`fou-tree-v2__empty`},ID=(0,t.defineComponent)({name:`FouTreeV2`,__name:`index`,props:{data:{default:()=>[]},props:{default:()=>({})},defaultExpandAll:{type:Boolean,default:!1},defaultExpandedKeys:{default:()=>[]},highlightCurrent:{type:Boolean,default:!0},height:{default:320},itemHeight:{default:32},indent:{default:16}},emits:[`node-click`,`node-expand`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(new Set),l=(0,t.computed)(()=>({...ru,...i.props})),u=(e,t,n)=>{e.forEach(e=>{let r=au(e,l.value),a=su(e,l.value);(t||i.defaultExpandedKeys.includes(r))&&n.add(r),a.length&&u(a,t,n)})};(0,t.watch)(()=>i.data,()=>{let e=new Set;u(i.data,i.defaultExpandAll,e),c.value=e},{immediate:!0,deep:!0});let d=(0,t.computed)(()=>{let e=[],t=(n,r)=>{n.forEach(n=>{let i=au(n,l.value),a=su(n,l.value),o=c.value.has(i);e.push({key:i,label:ou(n,l.value),node:n,level:r,isLeaf:!a.length,expanded:o}),o&&a.length&&t(a,r+1)})};return t(i.data,0),e}),{range:f,onScroll:p}=lT({scrollRef:o,total:()=>d.value.length,itemHeight:i.itemHeight}),m=(0,t.computed)(()=>d.value.slice(f.value.start,f.value.end).map((e,t)=>({...e,top:(f.value.start+t)*i.itemHeight}))),h=e=>{if(e.isLeaf)return;let t=new Set(c.value);t.has(e.key)?t.delete(e.key):t.add(e.key),c.value=t,a(`node-expand`,e.node,t.has(e.key))},g=e=>{i.highlightCurrent&&(s.value=e.key),a(`node-click`,e.node)};return n({filter(e){let t=e.trim().toLowerCase();if(!t)return;let n=new Set,r=e=>{let i=!1;return e.forEach(e=>{let a=su(e,l.value),o=ou(e,l.value).toLowerCase().includes(t),s=r(a);(o||s)&&(n.add(au(e,l.value)),i=!0)}),i};r(i.data),c.value=n}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,AD,[(0,t.unref)(d).length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`listRef`,ref:o,class:`fou-tree-v2__list`,style:(0,t.normalizeStyle)({height:`${e.height}px`}),onScroll:r[0]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e)},[(0,t.createElementVNode)(`div`,{style:(0,t.normalizeStyle)({height:`${(0,t.unref)(f).height}px`,position:`relative`})},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(m),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:String(n.key),class:(0,t.normalizeClass)([`fou-tree-v2__node`,{"is-current":(0,t.unref)(s)===n.key}]),style:(0,t.normalizeStyle)({top:`${n.top}px`,height:`${e.itemHeight}px`,paddingLeft:`${n.level*e.indent+8}px`}),onClick:e=>g(n)},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`fou-tree-v2__expand`,{"is-leaf":n.isLeaf,"is-open":n.expanded}]),onClick:(0,t.withModifiers)(e=>h(n),[`stop`])},[n.isLeaf?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ND,`›`))],10,MD),(0,t.createElementVNode)(`span`,PD,(0,t.toDisplayString)(n.label),1)],14,jD))),128))],4)],36)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,FD,`无数据`))]))}}),LD=v({default:()=>RD}),RD=S(ID,[[`__scopeId`,`data-v-409607df`]]),zD=[`title`],BD={class:`fou-trend__value`},VD=(0,t.defineComponent)({name:`FouTrend`,__name:`index`,props:{direction:{default:void 0},value:{default:void 0},showArrow:{type:Boolean,default:!0},prefix:{default:``},suffix:{default:``}},setup(e){let n=e,r=(0,t.computed)(()=>n.direction?n.direction:n.value===void 0?`flat`:n.value>0?`up`:n.value<0?`down`:`flat`),i=(0,t.computed)(()=>`fou-trend--${r.value}`),a=(0,t.computed)(()=>r.value===`up`?`arrow-up-line`:r.value===`down`?`arrow-down-line`:`subtract-line`),o=(0,t.computed)(()=>{if(n.value===void 0)return``;let e=n.value>0?`+`:``;return`${n.prefix}${e}${n.value}${n.suffix}`}),s=(0,t.computed)(()=>r.value===`up`?`上升`:r.value===`down`?`下降`:`持平`);return(n,r)=>{let c=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`fou-trend`,i.value]),title:s.value},[e.showArrow?((0,t.openBlock)(),(0,t.createBlock)(c,{key:0,icon:a.value,class:`fou-trend__icon`},null,8,[`icon`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,BD,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(o.value),1)],!0)])],10,zD)}}}),HD=v({default:()=>UD}),UD=S(VD,[[`__scopeId`,`data-v-899e84d1`]]),WD=[`accept`,`multiple`,`disabled`],GD={key:0,class:`fou-upload__card-list`},KD=[`src`],qD={key:1,class:`fou-upload__card-name`},JD={key:2,class:`fou-upload__card-progress`},YD=[`disabled`,`onClick`],XD={key:0,class:`fou-upload__tip`},ZD={key:1,class:`fou-upload__trigger`},QD={key:0,class:`fou-upload__tip`},$D={key:2,class:`fou-upload__list`},eO={class:`fou-upload__item-main`},tO=[`src`],nO=[`title`],rO={class:`fou-upload__size`},iO=[`disabled`,`onClick`],aO={key:0,class:`fou-upload__progress`},oO={key:1,class:`fou-upload__fail`},sO={key:2,class:`fou-upload__response`},cO=(0,t.defineComponent)({name:`FouUpload`,__name:`index`,props:{modelValue:{default:()=>[]},accept:{default:``},multiple:{type:Boolean,default:!1},limit:{default:0},disabled:{type:Boolean,default:!1},drag:{type:Boolean,default:!1},listType:{default:`text`},buttonText:{default:`点击上传`},tip:{default:``},autoUpload:{type:Boolean,default:!0},action:{default:``},headers:{default:()=>({})},name:{default:`file`},data:{default:()=>({})},withCredentials:{type:Boolean,default:!1},showPreview:{type:Boolean,default:!0},showResponse:{type:Boolean,default:!1},autoThumbnail:{type:Boolean,default:!1},thumbnailSize:{default:64},outputQuality:{default:.85},thumbnailType:{default:`image/jpeg`}},emits:[`update:modelValue`,`change`,`remove`,`exceed`,`success`,`error`,`progress`],setup(e,{expose:n,emit:r}){let i=e,a=r,{triggerChange:o}=fi(),s=(0,t.ref)(null),c=new Set,l=e=>{e?.startsWith(`blob:`)&&URL.revokeObjectURL(e)},u=(0,t.ref)(!1),d=(0,t.ref)([...i.modelValue]),f=Date.now();(0,t.watch)(()=>i.modelValue,e=>{let t=[...e||[]],n=new Set(t.flatMap(e=>[e.url,e.thumbnail].filter(e=>!!e)));d.value.forEach(e=>{e.url&&!n.has(e.url)&&l(e.url),e.thumbnail&&!n.has(e.thumbnail)&&l(e.thumbnail)}),d.value=t});let p=()=>a(`update:modelValue`,[...d.value]),m=(0,t.computed)(()=>{let e=Math.max(24,i.thumbnailSize||64);return{width:`${e}px`,height:`${e}px`}}),h=(0,t.computed)(()=>{let e=Math.max(64,i.thumbnailSize||100);return{width:`${e}px`,height:`${e}px`}}),g=(e=0)=>e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`,_=e=>/\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(e),v=e=>!i.showPreview||!_(e.name)&&!e.url?``:e.thumbnail||e.url||``,y=e=>{if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}},b=e=>{if(!e)return``;if(typeof e==`string`&&/^https?:|^\/|blob:|data:/i.test(e))return e;if(typeof e==`object`&&e){let t=e;return t.url||t.data?.url||t.result?.url||t.path||t.data?.path||``}return``},x=(e,t)=>new Promise(n=>{if(!e.type.startsWith(`image/`)){n(``);return}let r=new Image,a=URL.createObjectURL(e);r.onload=()=>{let e=document.createElement(`canvas`),o=Math.min(t/r.width,t/r.height,1),s=Math.max(1,Math.round(r.width*o)),c=Math.max(1,Math.round(r.height*o));e.width=s,e.height=c;let l=e.getContext(`2d`);(i.thumbnailType===`image/jpeg`||i.thumbnailType===`image/webp`)&&l?.fillRect(0,0,s,c),l?.drawImage(r,0,0,s,c),URL.revokeObjectURL(a);try{n(e.toDataURL(i.thumbnailType,i.outputQuality))}catch{n(``)}},r.onerror=()=>{URL.revokeObjectURL(a),n(``)},r.src=a}),S=()=>{i.disabled||s.value?.click()},C=()=>{i.disabled||(u.value=!0)},w=()=>{u.value=!1},T=e=>{u.value=!1,!i.disabled&&D(Array.from(e.dataTransfer?.files||[]))},E=e=>{let t=e.target,n=Array.from(t.files||[]);t.value=``,D(n)},D=async e=>{if(e.length){if(i.limit&&d.value.length+e.length>i.limit){a(`exceed`,e,[...d.value]);return}for(let t of e){let e={uid:++f,name:t.name,size:t.size,raw:t,url:_(t.name)?URL.createObjectURL(t):void 0,status:`ready`,percentage:0};i.autoThumbnail&&_(t.name)&&(e.thumbnail=await x(t,i.thumbnailSize)),d.value.push(e),p(),a(`change`,e,[...d.value]),o(),i.autoUpload&&A(e)}}},O=e=>{i.disabled||(l(e.url),d.value=d.value.filter(t=>t.uid!==e.uid),p(),a(`remove`,e,[...d.value]),o())},A=e=>{if(!e.raw)return;if(!i.action){e.status=`success`,e.percentage=100,e.response={local:!0,name:e.name,size:e.size,url:e.url},p(),a(`success`,e.response,e,[...d.value]);return}e.status=`uploading`,e.percentage=0,p();let t=new XMLHttpRequest;c.add(t);let n=new FormData;n.append(i.name,e.raw,e.name),Object.entries(i.data||{}).forEach(([e,t])=>n.append(e,t)),t.upload.onprogress=t=>{if(!t.lengthComputable)return;let n=Math.round(t.loaded/t.total*100);e.percentage=n,p(),a(`progress`,n,e,[...d.value])},t.onload=()=>{if(t.status>=200&&t.status<300){let n=t.responseText;try{n=JSON.parse(t.responseText)}catch{}e.status=`success`,e.percentage=100,e.response=n;let r=b(n);r&&(l(e.url),e.url=r),c.delete(t),p(),a(`success`,n,e,[...d.value])}else e.status=`fail`,c.delete(t),p(),a(`error`,Error(`Upload failed: ${t.status}`),e,[...d.value])},t.onerror=()=>{e.status=`fail`,c.delete(t),p(),a(`error`,Error(`Network error`),e,[...d.value])},t.open(`POST`,i.action),Object.entries(i.headers||{}).forEach(([e,n])=>t.setRequestHeader(e,n)),t.withCredentials=i.withCredentials,t.send(n)};return(0,t.onBeforeUnmount)(()=>{c.forEach(e=>e.abort()),c.clear(),d.value.forEach(e=>l(e.url))}),n({clearFiles:()=>{d.value.forEach(e=>l(e.url)),d.value=[],p()},submit:()=>{d.value.filter(e=>e.status===`ready`).forEach(A)}}),(n,r)=>{let i=k,a=Vt;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-upload`,{"is-disabled":e.disabled,[`fou-upload--${e.listType}`]:!0,"is-dragover":(0,t.unref)(u)}])},[(0,t.createElementVNode)(`input`,{ref_key:`inputRef`,ref:s,class:`fou-upload__input`,type:`file`,accept:e.accept,multiple:e.multiple,disabled:e.disabled,onChange:E},null,40,WD),e.listType===`picture-card`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,GD,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(d),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.uid,class:`fou-upload__card`,style:(0,t.normalizeStyle)((0,t.unref)(h))},[e.showPreview&&v(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:v(n),class:`fou-upload__card-img`,alt:``},null,8,KD)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qD,(0,t.toDisplayString)(n.name),1)),n.status===`uploading`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,JD,(0,t.toDisplayString)(n.percentage||0)+`% `,1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload__card-remove`,disabled:e.disabled,onClick:e=>O(n)},` × `,8,YD)],4))),128)),!e.disabled&&(!e.limit||(0,t.unref)(d).length<e.limit)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`fou-upload__card-trigger`,style:(0,t.normalizeStyle)((0,t.unref)(h)),onClick:S},[(0,t.createVNode)(i,{icon:`add-line`}),r[0]||=(0,t.createElementVNode)(`span`,null,`上传`,-1)],4)):(0,t.createCommentVNode)(``,!0)])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[e.drag?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-upload__dragger`,onClick:S,onDragover:(0,t.withModifiers)(C,[`prevent`]),onDragleave:(0,t.withModifiers)(w,[`prevent`]),onDrop:(0,t.withModifiers)(T,[`prevent`])},[(0,t.createVNode)(i,{icon:`upload-cloud-2-line`,class:`fou-upload__drag-icon`}),r[1]||=(0,t.createElementVNode)(`p`,null,[(0,t.createTextVNode)(`将文件拖到此处,或 `),(0,t.createElementVNode)(`em`,null,`点击上传`)],-1),e.tip?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,XD,(0,t.toDisplayString)(e.tip),1)):(0,t.createCommentVNode)(``,!0)],32)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ZD,[(0,t.createVNode)(a,{type:`primary`,disabled:e.disabled,icon:`upload-2-line`,onClick:S},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.buttonText),1)]),_:1},8,[`disabled`]),e.tip?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,QD,(0,t.toDisplayString)(e.tip),1)):(0,t.createCommentVNode)(``,!0)])),(0,t.unref)(d).length?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,$D,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(d),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:n.uid,class:`fou-upload__item`},[(0,t.createElementVNode)(`div`,eO,[e.showPreview&&v(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:v(n),class:`fou-upload__thumb`,style:(0,t.normalizeStyle)((0,t.unref)(m)),alt:``},null,12,tO)):((0,t.openBlock)(),(0,t.createBlock)(i,{key:1,icon:_(n.name)?`image-line`:`file-line`},null,8,[`icon`])),(0,t.createElementVNode)(`span`,{class:`fou-upload__name`,title:n.name},(0,t.toDisplayString)(n.name),9,nO),(0,t.createElementVNode)(`span`,rO,(0,t.toDisplayString)(g(n.size)),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload__remove`,disabled:e.disabled,onClick:e=>O(n)},[(0,t.createVNode)(i,{icon:`close-line`})],8,iO)]),n.status===`uploading`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,aO,[(0,t.createElementVNode)(`div`,{class:`fou-upload__progress-bar`,style:(0,t.normalizeStyle)({width:`${n.percentage||0}%`})},null,4)])):n.status===`fail`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,oO,`上传失败`)):(0,t.createCommentVNode)(``,!0),e.showResponse&&n.response!=null?((0,t.openBlock)(),(0,t.createElementBlock)(`pre`,sO,(0,t.toDisplayString)(y(n.response)),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64))],2)}}}),lO=v({default:()=>uO}),uO=S(cO,[[`__scopeId`,`data-v-7d68c9d2`]]),dO=[`accept`,`disabled`],fO={key:0,class:`fou-upload-crop__avatar-row`},pO=[`src`],mO={key:2,class:`fou-upload-crop__mask fou-upload-crop__mask--avatar`},hO=[`disabled`],gO=[`disabled`],_O={class:`fou-upload-crop__trigger-text`},vO={key:0,class:`fou-upload-crop__tip`},yO={class:`fou-upload-crop__trigger-text`},bO={key:0,class:`fou-upload-crop__tip`},xO=[`src`],SO={class:`fou-upload-crop__mask fou-upload-crop__mask--always`},CO=[`disabled`],wO=[`disabled`],TO=[`disabled`],EO=[`aria-label`],DO={class:`fou-upload-crop__dialog-box`},OO={class:`fou-upload-crop__dialog-head`},kO=[`src`],AO=[`onPointerdown`],jO={class:`fou-upload-crop__toolbar`},MO={class:`fou-upload-crop__field`},NO={class:`fou-upload-crop__field`},PO={class:`fou-upload-crop__quality`},FO=[`src`],IO=(0,t.defineComponent)({name:`FouUploadCrop`,__name:`index`,props:{modelValue:{default:``},width:{default:178},height:{default:178},type:{default:()=>[`png`,`jpg`,`jpeg`]},size:{default:5},disabled:{type:Boolean,default:!1},buttonText:{},tip:{},shape:{default:`rect`},layout:{default:`default`},dialogTitle:{default:`头像裁剪`},confirmText:{default:`确定上传`},circleOutput:{type:Boolean,default:!1},shadeClose:{type:Boolean,default:!0},outputType:{default:`image/jpeg`},accept:{default:`image/png,image/jpeg,image/jpg`},outputQuality:{default:.92},outputWidth:{default:0},outputHeight:{default:0},withThumbnail:{type:Boolean,default:!1},thumbnailSize:{default:120},withAvatar:{type:Boolean,default:!1},avatarSize:{default:160},cropInitWidth:{default:0},cropInitHeight:{default:0},fixedAspect:{type:Boolean,default:!1},aspectRatio:{default:0},showRotate:{type:Boolean,default:!0},showFlip:{type:Boolean,default:!0},showZoom:{type:Boolean,default:!0},showSizeInputs:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`cropper-image`,`cropper-thumbnail`,`cropper-avatar`,`cropper-result`,`cropper-file`,`remove`,`error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)(``),p=(0,t.ref)(r.modelValue),m=(0,t.computed)(()=>!!p.value),h=(0,t.ref)(1),g=(0,t.ref)(1),_=(0,t.ref)(1),v=(0,t.ref)(0),y=(0,t.ref)(0),b=(0,t.ref)(0),x=(0,t.ref)(0),S=(0,t.ref)(0),C=(0,t.ref)(0),w=(0,t.ref)(0),T=(0,t.ref)(0),E=(0,t.ref)(0),D=(0,t.ref)(0),O=(0,t.ref)(0),A=(0,t.ref)(0),j=(0,t.ref)(0),M=(0,t.ref)(r.outputQuality),N=(0,t.computed)(()=>{let e=r.shape;return e===`round`||e===`circle`?`circle`:e===`square`?`square`:`rect`}),P=(0,t.computed)(()=>N.value===`circle`),F=(0,t.computed)(()=>r.layout===`avatar`),I=(0,t.computed)(()=>N.value===`circle`||N.value===`square`||r.fixedAspect),L=(0,t.computed)(()=>r.buttonText===void 0?F.value?`上传头像`:`上传图片`:r.buttonText),R=(0,t.computed)(()=>r.tip===void 0?F.value?`JPG / PNG, 裁剪后上传`:``:r.tip),ee=e=>{if(e==null||e===``)return 0;if(typeof e==`number`)return Number.isFinite(e)&&e>0?e:0;let t=String(e).trim();if(!t)return 0;let n=t.includes(`:`)?`:`:t.includes(`/`)?`/`:``;if(n){let[e,r]=t.split(n).map(e=>Number(e.trim()));return Number.isFinite(e)&&Number.isFinite(r)&&r!==0?e/r:0}let r=Number(t);return Number.isFinite(r)&&r>0?r:0},z=(0,t.computed)(()=>{if(N.value===`circle`||N.value===`square`)return 1;let e=ee(r.aspectRatio);return e>0?e:r.cropInitWidth>0&&r.cropInitHeight>0?r.cropInitWidth/r.cropInitHeight:r.outputWidth>0&&r.outputHeight>0?r.outputWidth/r.outputHeight:1}),B=(0,t.computed)(()=>({width:`${r.width}px`,height:`${r.height}px`})),V=(0,t.computed)(()=>{let e=Math.min(r.width,r.height,88);return{width:`${e}px`,height:`${e}px`}}),H=(0,t.computed)(()=>({width:`${Math.max(140,r.width)}px`,height:`${Math.max(88,Math.min(r.height,120))}px`})),te=(0,t.computed)(()=>P.value||r.circleOutput?{borderRadius:`50%`}:N.value===`square`?{borderRadius:`4px`}:{}),ne=(0,t.computed)(()=>{let e=x.value*h.value,t=S.value*h.value;return{width:`${Math.max(1,e)}px`,height:`${Math.max(1,t)}px`,left:`${(C.value-e)/2+y.value}px`,top:`${(w.value-t)/2+b.value}px`,objectFit:`fill`,maxWidth:`none`,maxHeight:`none`,transform:`rotate(${v.value}deg) scaleX(${g.value}) scaleY(${_.value})`}}),re=(0,t.computed)(()=>({left:`${T.value}px`,top:`${E.value}px`,width:`${D.value}px`,height:`${O.value}px`})),ie=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],ae=e=>(e.split(`.`).pop()||``).toLowerCase(),oe=e=>{let t=ae(e);return r.type.includes(t)},U=()=>{r.disabled||a.value?.click()},se=e=>{r.disabled||(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),U())},ce=()=>{r.disabled||(l.value=!0)},le=()=>{l.value=!1},W=e=>{if(l.value=!1,r.disabled)return;let t=e.dataTransfer?.files?.[0];t&&ue(t)},G=e=>{let t=e.target,n=t.files?.[0];t.value=``,n&&ue(n)},ue=async e=>{if(!e.type.startsWith(`image/`)){i(`error`,`仅支持图片文件`);return}if(!oe(e.name)){i(`error`,`不支持的格式,仅允许:${r.type.join(`/`)}`);return}if(e.size>r.size*1024*1024){i(`error`,`文件超过 ${r.size}MB 限制`);return}try{f.value=await K(e),u.value=!0,(0,t.nextTick)(()=>{requestAnimationFrame(()=>q())})}catch{i(`error`,`图片读取失败`)}},K=async e=>{try{if(typeof createImageBitmap==`function`){let t=await createImageBitmap(e,{imageOrientation:`from-image`}),n=document.createElement(`canvas`);n.width=Math.max(1,t.width),n.height=Math.max(1,t.height);let r=n.getContext(`2d`);if(r){r.drawImage(t,0,0),t.close?.();let i=e.type&&e.type.startsWith(`image/`)?e.type:`image/jpeg`;return n.toDataURL(i)}t.close?.()}}catch{}return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(Error(`read failed`)),r.readAsDataURL(e)})},de=()=>{if(!r.disabled){if(f.value){u.value=!0,(0,t.nextTick)(()=>{requestAnimationFrame(()=>q())});return}p.value&&(f.value=p.value,u.value=!0,(0,t.nextTick)(()=>{requestAnimationFrame(()=>q())}))}},fe=(e,t,n,r,i)=>{let a=r,o=i;if(a<=0&&o<=0){let r=e*.7,i=t*.7;r/i>n?(o=i,a=o*n):(a=r,o=a/n)}else a>0&&o<=0?(a=Math.min(a,e),o=a/n,o>t&&(o=t,a=o*n)):o>0&&a<=0?(o=Math.min(o,t),a=o*n,a>e&&(a=e,o=a/n)):(a=Math.min(a,e),o=a/n,o>t&&(o=Math.min(i,t),a=o*n,a>e&&(a=e,o=a/n)));return a=Math.min(Math.max(1,a),e),o=a/n,o>t&&(o=t,a=o*n),a>e&&(a=e,o=a/n),a=Math.min(a,e),o=Math.min(o,t),{w:Math.max(1,a),h:Math.max(1,o)}},q=(e=0)=>{let n=o.value;if(!n)return;let a=n.getBoundingClientRect();if(a.width<8||a.height<8){e<8&&requestAnimationFrame(()=>q(e+1));return}C.value=a.width,w.value=a.height;let s=new Image;s.onload=()=>{let e=s.naturalWidth||s.width,n=s.naturalHeight||s.height;x.value=e,S.value=n;let i=Math.min(a.width/e,a.height/n,1);if(h.value=Number.isFinite(i)&&i>0?i:1,g.value=1,_.value=1,v.value=0,y.value=0,b.value=0,I.value){let e=z.value,t=r.cropInitWidth>0?r.cropInitWidth:0,n=r.cropInitHeight>0?r.cropInitHeight:0,i=fe(a.width,a.height,e,t,n);D.value=i.w,O.value=i.h}else{let t=Math.min(a.width,a.height)*.7,i=r.cropInitWidth>0?Math.min(r.cropInitWidth,a.width):t,o=r.cropInitHeight>0?Math.min(r.cropInitHeight,a.height):t,s=e*h.value,c=n*h.value;D.value=Math.min(i,s),O.value=Math.min(o,c)}T.value=(a.width-D.value)/2,E.value=(a.height-O.value)/2,pe(),(0,t.nextTick)(()=>{let e=he(T.value,E.value,D.value,O.value,a.width,a.height);if(I.value){let t=z.value,n=e.w,r=n/t;e.y+r>a.height&&(r=Math.max(1,a.height-e.y),n=r*t);let i=he(e.x,e.y,n,r,a.width,a.height);T.value=i.x,E.value=i.y,D.value=i.w,O.value=i.w/t}else T.value=e.x,E.value=e.y,D.value=e.w,O.value=e.h;pe()})},s.onerror=()=>i(`error`,`图片加载失败`),s.src=f.value},pe=()=>{A.value=Math.round(D.value),j.value=Math.round(O.value)},me=()=>{let e=o.value,t=s.value;if(!e||!t)return null;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return r.width<1||r.height<1?null:{left:r.left-n.left,top:r.top-n.top,width:r.width,height:r.height,right:r.right-n.left,bottom:r.bottom-n.top}},he=(e,t,n,r,i,a)=>{let o=me(),s=0,c=0,l=i,u=a;o&&o.width>=20&&o.height>=20&&(s=Math.max(0,o.left),c=Math.max(0,o.top),l=Math.min(i,o.right),u=Math.min(a,o.bottom),(l-s<20||u-c<20)&&(s=0,c=0,l=i,u=a));let d=Math.max(20,l-s),f=Math.max(20,u-c),p=Math.max(20,Math.min(n,d)),m=Math.max(20,Math.min(r,f)),h=Math.max(s,Math.min(e,l-p)),g=Math.max(c,Math.min(t,u-m));return h+p>l&&(p=Math.max(20,l-h)),g+m>u&&(m=Math.max(20,u-g)),{x:h,y:g,w:p,h:m}},ge=e=>{let t=o.value;if(!t)return;let n=t.getBoundingClientRect(),r=Math.max(20,A.value||D.value),i=Math.max(20,j.value||O.value);if(I.value){let t=z.value,a=Math.max(20,20*t),o=a/t;e===`h`?r=i*t:i=r/t,r>n.width&&(r=n.width,i=r/t),i>n.height&&(i=n.height,r=i*t),r=Math.max(a,r),i=Math.max(o,i)}else r=Math.max(20,Math.min(r,n.width)),i=Math.max(20,Math.min(i,n.height));let a=he(T.value,E.value,r,i,n.width,n.height);if(I.value){let e=z.value,t=a.w,r=t/e;r>n.height&&(r=Math.min(a.h,n.height),t=r*e);let i=he(a.x,a.y,t,r,n.width,n.height),o=i.w,s=o/e;i.y+s>n.height&&(s=n.height-i.y,o=s*e),i.x+o>n.width&&(o=n.width-i.x,s=o/e),T.value=Math.max(0,Math.min(i.x,n.width-o)),E.value=Math.max(0,Math.min(i.y,n.height-s));let c=Math.max(20,20*e);D.value=Math.max(c,o),O.value=D.value/e}else T.value=a.x,E.value=a.y,D.value=a.w,O.value=a.h;pe()},_e=()=>q(),ve=e=>{v.value=((v.value+e)%360+360)%360},ye=e=>{h.value=Math.max(.1,Math.min(5,+(h.value-e.deltaY*.001).toFixed(3)))},be=(e,t)=>{if(e.button!==void 0&&e.button!==0)return;e.preventDefault();let n=e.currentTarget;try{n?.setPointerCapture?.(e.pointerId)}catch{}let r=e=>t(e),i=e=>{try{n?.releasePointerCapture?.(e.pointerId)}catch{}window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),window.removeEventListener(`pointercancel`,i)};window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i),window.addEventListener(`pointercancel`,i)},xe=e=>{let t=e.clientX,n=e.clientY,r=y.value,i=b.value;be(e,e=>{y.value=r+(e.clientX-t),b.value=i+(e.clientY-n)})},Se=e=>{let t=e.clientX,n=e.clientY,r=T.value,i=E.value,a=o.value.getBoundingClientRect();be(e,e=>{let o=r+(e.clientX-t),s=i+(e.clientY-n),c=he(o,s,D.value,O.value,a.width,a.height);T.value=c.x,E.value=c.y})},Ce=(e,t,n,r,i,a,o,s,c,l)=>{let u=t,d=n,f=r,p=i,m=Math.max(20,20*l),h=m/l,g=(e,a,o,s)=>{f=Math.max(m,e),p=f/l,a&&(u=t+r-f),s?d=n+(i-p)/2:o&&(d=n+i-p)},_=(e,a,o,s)=>{p=Math.max(h,e),f=p*l,a&&(d=n+i-p),s?u=t+(r-f)/2:o&&(u=t+r-f)};if(e===`e`||e===`w`)g(e===`e`?r+a:r-a,e===`w`,!1,!0);else if(e===`n`||e===`s`)_(e===`s`?i+o:i-o,e===`n`,!1,!0);else{let s=e.includes(`e`)?r+a:r-a,c=e.includes(`s`)?i+o:i-o;Math.abs(a)*l>=Math.abs(o)?(g(s,e.includes(`w`),e.includes(`n`),!1),e.includes(`n`)&&(d=n+i-p)):(_(c,e.includes(`n`),e.includes(`w`),!1),e.includes(`w`)&&(u=t+r-f))}return f>s&&(f=s,p=f/l),p>c&&(p=c,f=p*l),f=Math.max(m,f),p=f/l,p<h&&(p=h,f=p*l),e.includes(`w`)&&(u=t+r-f),e===`n`&&(d=n+i-p),e.includes(`n`)&&e.length===2&&(d=n+i-p),u=Math.max(0,Math.min(u,s-f)),d=Math.max(0,Math.min(d,c-p)),u+f>s&&(f=Math.max(m,s-u),p=f/l,e.includes(`n`)&&(d=n+i-p),d=Math.max(0,Math.min(d,c-p))),d+p>c&&(p=Math.max(h,c-d),f=p*l,e.includes(`w`)&&(u=t+r-f),u=Math.max(0,Math.min(u,s-f))),{nx:u,ny:d,nw:f,nh:p}},we=(e,t)=>{let n=e.clientX,r=e.clientY,i=T.value,a=E.value,s=D.value,c=O.value,l=o.value.getBoundingClientRect();be(e,e=>{let o=e.clientX-n,u=e.clientY-r,d=i,f=a,p=s,m=c;if(I.value){let e=Ce(t,i,a,s,c,o,u,l.width,l.height,z.value);d=e.nx,f=e.ny,p=e.nw,m=e.nh}else t.includes(`e`)&&(p=Math.max(20,Math.min(s+o,l.width-i))),t.includes(`s`)&&(m=Math.max(20,Math.min(c+u,l.height-a))),t.includes(`w`)&&(d=Math.max(0,i+o),p=i+s-d),t.includes(`n`)&&(f=Math.max(0,a+u),m=a+c-f),p<20&&(p=20,t.includes(`w`)&&(d=i+s-20)),m<20&&(m=20,t.includes(`n`)&&(f=a+c-20));let h=he(d,f,p,m,l.width,l.height);if(I.value){let e=z.value,t=h.w,n=t/e;n>l.height&&(n=Math.min(h.h,l.height),t=n*e);let r=he(h.x,h.y,t,n,l.width,l.height);T.value=r.x,E.value=r.y;let i=Math.max(20,20*e),a=Math.max(i,r.w),o=a/e;r.y+o>l.height&&(o=Math.max(i/e,l.height-r.y),a=o*e),r.x+a>l.width&&(a=Math.max(i,l.width-r.x),o=a/e),D.value=a,O.value=o}else T.value=h.x,E.value=h.y,D.value=h.w,O.value=h.h;pe()})},Te=()=>{r.shadeClose&&Ee()},Ee=()=>{u.value=!1},De=e=>{e.key===`Escape`&&(e.preventDefault(),Ee())};(0,t.watch)(u,e=>{e?window.addEventListener(`keydown`,De):window.removeEventListener(`keydown`,De)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`keydown`,De)});let Oe=e=>{let t=e.naturalWidth,n=e.naturalHeight,r=(v.value%360+360)%360,i=r*Math.PI/180,a=r===90||r===270,o=a?n:t,s=a?t:n,c=document.createElement(`canvas`);c.width=Math.max(1,o),c.height=Math.max(1,s);let l=c.getContext(`2d`);return l.translate(o/2,s/2),l.rotate(i),l.scale(g.value,_.value),l.drawImage(e,-t/2,-n/2),{canvas:c,outW:o,outH:s,swapped:a}},ke=()=>{let e=s.value,t=o.value;if(!e||!t)return;let{canvas:n,outW:a,outH:c}=Oe(e),l=t.getBoundingClientRect(),d=e.getBoundingClientRect(),f=Math.max(1,d.width),m=Math.max(1,d.height),h=d.left-l.left,g=d.top-l.top,_=a/f,v=c/m,y=(T.value-h)*_,b=(E.value-g)*v,x=D.value*_,S=O.value*v,C=x/Math.max(1e-6,S);{let e=n.width,t=n.height,r=Math.max(y,0),a=Math.max(b,0),o=Math.min(y+x,e),s=Math.min(b+S,t);if(o-r<=0||s-a<=0){i(`error`,`裁切区域与图片无交集,请调整裁切框`);return}}let w,k,A=!1;if(r.outputWidth>0&&r.outputHeight>0){w=r.outputWidth,k=r.outputHeight;let e=w/k;A=Math.abs(e-C)>.001}else r.outputWidth>0?(w=r.outputWidth,k=Math.max(1,Math.round(w/C))):r.outputHeight>0?(k=r.outputHeight,w=Math.max(1,Math.round(k*C))):(w=Math.max(1,Math.round(x)),k=Math.max(1,Math.round(S)));let j=r.circleOutput||P.value,N=j&&r.outputType===`image/jpeg`?`image/png`:r.outputType,F=Ae(n,y,b,x,S,w,k,N,M.value,j,A),I=``;if(r.withThumbnail){let e=r.thumbnailSize,t,i;C>=1?(t=e,i=Math.max(1,Math.round(t/C))):(i=e,t=Math.max(1,Math.round(i*C))),I=Ae(n,y,b,x,S,t,i,N,M.value,!1,!1)}let L=N===`image/jpeg`?`image/png`:N,R=r.withAvatar?Ae(n,y,b,x,S,r.avatarSize,r.avatarSize,L,1,!0,!1):``;p.value=F,i(`update:modelValue`,F),i(`change`,F),i(`cropper-image`,F),I&&i(`cropper-thumbnail`,I),R&&i(`cropper-avatar`,R),i(`cropper-result`,{image:F,thumbnail:I,avatar:R}),i(`cropper-file`,Me(F,`crop.${je(N)}`)),u.value=!1},Ae=(e,t,n,r,i,a,o,s,c,l,u=!1)=>{let d=document.createElement(`canvas`);d.width=Math.max(1,Math.round(a)),d.height=Math.max(1,Math.round(o));let f=d.getContext(`2d`);(s===`image/jpeg`||s===`image/webp`)&&(f.fillStyle=`#fff`,f.fillRect(0,0,d.width,d.height)),l&&(f.beginPath(),f.arc(d.width/2,d.height/2,Math.min(d.width,d.height)/2,0,Math.PI*2),f.closePath(),f.clip());let p=`width`in e&&typeof e.width==`number`?e.width:e.naturalWidth||0,m=`height`in e&&typeof e.height==`number`?e.height:e.naturalHeight||0,h=0,g=0,_=d.width,v=d.height;if(u&&r>0&&i>0){let e=Math.min(d.width/r,d.height/i);_=r*e,v=i*e,h=(d.width-_)/2,g=(d.height-v)/2}if(p>0&&m>0&&r>0&&i>0){let a=Math.max(t,0),o=Math.max(n,0),s=Math.min(t+r,p),c=Math.min(n+i,m),l=s-a,u=c-o;if(l>0&&u>0){let s=h+(a-t)/r*_,c=g+(o-n)/i*v,d=l/r*_,p=u/i*v;f.drawImage(e,a,o,l,u,s,c,d,p)}}else f.drawImage(e,t,n,r,i,h,g,_,v);return d.toDataURL(s,c)},je=e=>e.includes(`png`)?`png`:e.includes(`webp`)?`webp`:`jpg`,Me=(e,t)=>{let n=e.split(`,`),r=n[0].match(/:(.*?);/)?.[1]||`image/jpeg`,i=atob(n[1]),a=i.length,o=new Uint8Array(a);for(let e=0;e<a;e++)o[e]=i.charCodeAt(e);return new File([o],t,{type:r})},Ne=()=>{p.value=``,f.value=``,i(`update:modelValue`,``),i(`change`,``),i(`remove`)};return(0,t.watch)(()=>r.modelValue,e=>{e!==p.value&&(p.value=e)}),(n,r)=>{let i=k;return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop`,{"is-disabled":e.disabled,"fou-upload-crop--avatar":(0,t.unref)(F)}])},[(0,t.createElementVNode)(`input`,{ref_key:`inputRef`,ref:a,class:`fou-upload-crop__input`,type:`file`,accept:e.accept,disabled:e.disabled,onChange:G},null,40,dO),(0,t.unref)(F)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fO,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop__avatar-preview`,{"is-empty":!(0,t.unref)(m)}]),style:(0,t.normalizeStyle)((0,t.unref)(V)),onMouseenter:r[0]||=e=>c.value=!0,onMouseleave:r[1]||=e=>c.value=!1},[(0,t.unref)(m)?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:(0,t.unref)(p),alt:``},null,8,pO)):((0,t.openBlock)(),(0,t.createBlock)(i,{key:1,icon:`user-line`,class:`fou-upload-crop__avatar-placeholder`})),(0,t.unref)(m)&&(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mO,[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`重新裁切`,onClick:de},[(0,t.createVNode)(i,{icon:`crop-line`})],8,hO),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`删除`,onClick:Ne},[(0,t.createVNode)(i,{icon:`delete-bin-line`})],8,gO)])):(0,t.createCommentVNode)(``,!0)],38),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop__trigger fou-upload-crop__trigger--dashed`,{"is-dragover":(0,t.unref)(l)}]),style:(0,t.normalizeStyle)((0,t.unref)(H)),role:`button`,tabindex:`0`,onClick:U,onKeydown:se,onDragover:(0,t.withModifiers)(ce,[`prevent`]),onDragleave:(0,t.withModifiers)(le,[`prevent`]),onDrop:(0,t.withModifiers)(W,[`prevent`])},[(0,t.createVNode)(i,{icon:`image-add-line`,class:`fou-upload-crop__trigger-icon`}),(0,t.createElementVNode)(`p`,_O,(0,t.toDisplayString)((0,t.unref)(L)),1),(0,t.unref)(R)?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,vO,(0,t.toDisplayString)((0,t.unref)(R)),1)):(0,t.createCommentVNode)(``,!0)],38)])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[!(0,t.unref)(m)&&!(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`fou-upload-crop__trigger`,{"is-dragover":(0,t.unref)(l)}]),style:(0,t.normalizeStyle)((0,t.unref)(B)),role:`button`,tabindex:`0`,onClick:U,onKeydown:se,onDragover:(0,t.withModifiers)(ce,[`prevent`]),onDragleave:(0,t.withModifiers)(le,[`prevent`]),onDrop:(0,t.withModifiers)(W,[`prevent`])},[(0,t.createVNode)(i,{icon:`image-add-line`,class:`fou-upload-crop__trigger-icon`}),(0,t.createElementVNode)(`p`,yO,(0,t.toDisplayString)((0,t.unref)(L)),1),(0,t.unref)(R)?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,bO,(0,t.toDisplayString)((0,t.unref)(R)),1)):(0,t.createCommentVNode)(``,!0)],38)):!(0,t.unref)(u)&&(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-upload-crop__result`,style:(0,t.normalizeStyle)((0,t.unref)(B))},[(0,t.createElementVNode)(`img`,{src:(0,t.unref)(p),class:`fou-upload-crop__result-img`,alt:``,style:(0,t.normalizeStyle)((0,t.unref)(te))},null,12,xO),(0,t.createElementVNode)(`div`,SO,[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`重新裁切`,onClick:de},[(0,t.createVNode)(i,{icon:`crop-line`})],8,CO),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`查看原图`,onClick:r[2]||=e=>d.value=!0},[(0,t.createVNode)(i,{icon:`zoom-in-line`})],8,wO),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,title:`删除`,onClick:Ne},[(0,t.createVNode)(i,{icon:`delete-bin-line`})],8,TO)])],4)):(0,t.createCommentVNode)(``,!0)],64)),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fou-upload-crop__dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":e.dialogTitle,onClick:(0,t.withModifiers)(Te,[`self`])},[(0,t.createElementVNode)(`div`,DO,[(0,t.createElementVNode)(`div`,OO,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.dialogTitle),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload-crop__close`,onClick:Ee},`×`)]),(0,t.createElementVNode)(`div`,{ref_key:`stageRef`,ref:o,class:`fou-upload-crop__stage`,onWheel:(0,t.withModifiers)(ye,[`prevent`]),onPointerdown:xe},[(0,t.createElementVNode)(`img`,{ref_key:`imgRef`,ref:s,src:(0,t.unref)(f),class:`fou-upload-crop__source`,style:(0,t.normalizeStyle)((0,t.unref)(ne)),alt:``,draggable:`false`},null,12,kO),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`fou-upload-crop__crop`,{"is-round":(0,t.unref)(P)}]),style:(0,t.normalizeStyle)((0,t.unref)(re)),onPointerdown:(0,t.withModifiers)(Se,[`stop`])},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ie,e=>(0,t.createElementVNode)(`span`,{key:e,class:(0,t.normalizeClass)([`fou-upload-crop__handle`,`fou-upload-crop__handle--${e}`]),onPointerdown:(0,t.withModifiers)(t=>we(t,e),[`stop`])},null,42,AO)),64))],38)],544),(0,t.createElementVNode)(`div`,jO,[e.showZoom?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,title:`缩小`,onClick:r[3]||=e=>h.value=Math.max(.1,+((0,t.unref)(h)-.1).toFixed(2))},[(0,t.createVNode)(i,{icon:`zoom-out-line`})])):(0,t.createCommentVNode)(``,!0),e.showZoom?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,title:`放大`,onClick:r[4]||=e=>h.value=Math.min(5,+((0,t.unref)(h)+.1).toFixed(2))},[(0,t.createVNode)(i,{icon:`zoom-in-line`})])):(0,t.createCommentVNode)(``,!0),e.showRotate?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,title:`左转`,onClick:r[5]||=e=>ve(-90)},[(0,t.createVNode)(i,{icon:`anticlockwise-line`})])):(0,t.createCommentVNode)(``,!0),e.showRotate?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:3,type:`button`,title:`右转`,onClick:r[6]||=e=>ve(90)},[(0,t.createVNode)(i,{icon:`clockwise-line`})])):(0,t.createCommentVNode)(``,!0),e.showFlip?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:4,type:`button`,title:`水平翻转`,onClick:r[7]||=e=>g.value=-(0,t.unref)(g)},[(0,t.createVNode)(i,{icon:`flip-horizontal-line`})])):(0,t.createCommentVNode)(``,!0),e.showFlip?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:5,type:`button`,title:`垂直翻转`,onClick:r[8]||=e=>_.value=-(0,t.unref)(_)},[(0,t.createVNode)(i,{icon:`flip-vertical-line`})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,title:`重置`,onClick:_e},[(0,t.createVNode)(i,{icon:`refresh-line`})]),e.showSizeInputs&&!(0,t.unref)(I)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:6},[r[18]||=(0,t.createElementVNode)(`span`,{class:`fou-upload-crop__divider`},null,-1),(0,t.createElementVNode)(`label`,MO,[r[16]||=(0,t.createElementVNode)(`span`,null,`宽`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[9]||=e=>(0,t.isRef)(A)?A.value=e:null,type:`number`,min:`20`,onChange:r[10]||=e=>ge(`w`)},null,544),[[t.vModelText,(0,t.unref)(A),void 0,{number:!0}]])]),(0,t.createElementVNode)(`label`,NO,[r[17]||=(0,t.createElementVNode)(`span`,null,`高`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[11]||=e=>(0,t.isRef)(j)?j.value=e:null,type:`number`,min:`20`,onChange:r[12]||=e=>ge(`h`)},null,544),[[t.vModelText,(0,t.unref)(j),void 0,{number:!0}]])]),(0,t.createElementVNode)(`button`,{type:`button`,title:`应用尺寸`,onClick:r[13]||=e=>ge()},`应用`)],64)):(0,t.createCommentVNode)(``,!0),r[19]||=(0,t.createElementVNode)(`span`,{class:`fou-upload-crop__divider`},null,-1),(0,t.createElementVNode)(`label`,PO,[(0,t.createElementVNode)(`span`,null,`质量 `+(0,t.toDisplayString)((0,t.unref)(M)),1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[14]||=e=>(0,t.isRef)(M)?M.value=e:null,type:`range`,min:`0.1`,max:`1`,step:`0.1`},null,512),[[t.vModelText,(0,t.unref)(M),void 0,{number:!0}]])]),(0,t.renderSlot)(n.$slots,`toolbar`,{},void 0,!0),r[20]||=(0,t.createElementVNode)(`span`,{class:`fou-upload-crop__divider`},null,-1),(0,t.createElementVNode)(`button`,{type:`button`,class:`fou-upload-crop__confirm`,onClick:ke},[(0,t.createVNode)(i,{icon:`check-line`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.confirmText),1)])])])],8,EO)):(0,t.createCommentVNode)(``,!0),(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`fou-upload-crop__preview`,onClick:r[15]||=e=>d.value=!1},[(0,t.createElementVNode)(`img`,{src:(0,t.unref)(p)||(0,t.unref)(f),alt:``},null,8,FO)])):(0,t.createCommentVNode)(``,!0)]))],2)}}}),LO=v({default:()=>RO}),RO=S(IO,[[`__scopeId`,`data-v-55bac23f`]]),zO={class:`fou-watermark__content`},BO=(0,t.defineComponent)({name:`FouWatermark`,__name:`index`,props:{content:{default:``},font:{default:()=>({color:`rgba(0,0,0,0.12)`,fontSize:16,fontFamily:`sans-serif`,fontWeight:`normal`})},gap:{default:()=>[100,100]},rotate:{default:-22},zIndex:{default:9},offset:{default:()=>[0,0]}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(``),a=(0,t.computed)(()=>Array.isArray(n.content)?n.content:n.content?[n.content]:[]),o=()=>{if(!a.value.length){i.value=``;return}let[e,t]=n.gap,[r,o]=n.offset,s=n.font,c=document.createElement(`canvas`),l=c.getContext(`2d`);if(!l)return;let u=s.fontSize??16,d=s.fontFamily??`sans-serif`,f=s.fontWeight??`normal`;l.font=`${f} ${u}px ${d}`;let p=Math.max(...a.value.map(e=>l.measureText(e).width)),m=u*1.4,h=a.value.length*m;c.width=e+p+20,c.height=t+h+20,l.clearRect(0,0,c.width,c.height),l.translate(c.width/2+r,c.height/2+o),l.rotate(n.rotate*Math.PI/180),l.fillStyle=s.color??`rgba(0,0,0,0.12)`,l.font=`${f} ${u}px ${d}`,l.textAlign=`center`,l.textBaseline=`middle`;let g=-((a.value.length-1)*m)/2;a.value.forEach((e,t)=>{l.fillText(e,0,g+t*m)}),i.value=c.toDataURL()},s=(0,t.computed)(()=>({zIndex:String(n.zIndex),backgroundImage:i.value?`url(${i.value})`:void 0}));return(0,t.watch)(()=>[n.content,n.gap,n.rotate,n.font,n.offset],()=>o(),{deep:!0,immediate:!0}),(0,t.onMounted)(()=>o()),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`rootRef`,ref:r,class:`fou-watermark`},[(0,t.createElementVNode)(`div`,{class:`fou-watermark__layer`,style:(0,t.normalizeStyle)((0,t.unref)(s)),"aria-hidden":`true`},null,4),(0,t.createElementVNode)(`div`,zO,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],512))}}),VO=v({default:()=>HO}),HO=S(BO,[[`__scopeId`,`data-v-52b35f95`]]);if(typeof window<`u`){function UO(){var e=document.body,t=document.getElementById(`__svg__icons__dom__`);t||(t=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),t.style.position=`absolute`,t.style.width=`0`,t.style.height=`0`,t.id=`__svg__icons__dom__`,t.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),t.setAttribute(`xmlns:link`,`http://www.w3.org/1999/xlink`)),t.innerHTML=`<symbol viewBox="0 0 1024 1024" id="fou-icon-fou-logo"><path d="m512 64 448 256v384L512 960 64 704V320z" fill="currentColor" /></symbol>`,e.insertBefore(t,e.lastChild)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,UO):UO()}var WO=`__fouInfiniteScroll`,GO=(e,t)=>{let n=t.value,r=typeof n==`function`?n:n?.handler,i=(t,n)=>{let r=e.getAttribute(t);return r==null?n:Number(r)},a=(t,n)=>{let r=e.getAttribute(t);return r==null?n:r!==`false`};return{handler:r,disabled:typeof n==`object`&&n?!!n.disabled:a(`infinite-scroll-disabled`,!1),delay:typeof n==`object`&&n?.delay!=null?n.delay:i(`infinite-scroll-delay`,200),distance:typeof n==`object`&&n?.distance!=null?n.distance:i(`infinite-scroll-distance`,0),immediate:typeof n==`object`&&n?.immediate!=null?n.immediate:a(`infinite-scroll-immediate`,!0)}},KO=async(e,t)=>{let n=GO(e,t),r=e[WO];if(!(!r||n.disabled||!n.handler||r.pending)&&!(e.scrollHeight-e.scrollTop-e.clientHeight>n.distance)){r.pending=!0;try{await n.handler()}finally{r.pending=!1}}},qO=(e,t)=>{JO(e);let n=GO(e,t),r={pending:!1,onScroll:()=>{let n=GO(e,t);r.timer&&clearTimeout(r.timer),r.timer=setTimeout(()=>KO(e,t),n.delay)}};e.addEventListener(`scroll`,r.onScroll,{passive:!0}),e[WO]=r,n.immediate&&queueMicrotask(()=>KO(e,t))},JO=e=>{let t=e[WO];t&&(e.removeEventListener(`scroll`,t.onScroll),t.timer&&clearTimeout(t.timer),t.observer?.disconnect(),delete e[WO])},YO={mounted:qO,updated(e,t){e[WO]?GO(e,t).immediate&&queueMicrotask(()=>KO(e,t)):qO(e,t)},unmounted:JO},XO={install(e){e.directive(`fou-infinite-scroll`,YO)}},ZO={"top-right":[],"top-left":[],"bottom-right":[],"bottom-left":[]},QO=0,$O=(e,t=20)=>{let n=`fou-notify-host-${e}`,r=document.getElementById(n);return r||(r=document.createElement(`div`),r.id=n,r.className=`fou-notify-host fou-notify-host--${e}`,document.body.appendChild(r)),r.style.setProperty(`--fou-notify-offset`,`${t}px`),r},ek=e=>{Object.keys(ZO).forEach(t=>{let n=ZO[t].findIndex(t=>t.id===e);if(n>=0){let[e]=ZO[t].splice(n,1);e.timer&&clearTimeout(e.timer),e.app.unmount(),e.el.remove()}})},tk=Object.assign(e=>{let n=typeof e==`string`?{message:e}:{...e},r=n.position||`top-right`,i=n.type||`info`,a=n.duration??4500,o=n.id||`fou-notify-${++QO}`,s=n.offset??20;ek(o);let c=$O(r,s),l=document.createElement(`div`);l.className=`fou-notify-wrap`,c.appendChild(l);let u=(0,t.ref)(!0),d={id:o,app:null,el:l,position:r},f=()=>{d.timer&&=(clearTimeout(d.timer),void 0),u.value=!1,setTimeout(()=>{ek(o),n.onClose?.()},200)},p=(0,t.createApp)({setup(){return()=>(0,t.h)(kS,{id:o,type:i,position:r,title:n.title||``,message:n.message||``,showClose:!0,visible:u.value,onClose:f})}});return a>0&&(d.timer=setTimeout(f,a)),p.mount(l),d.app=p,ZO[r].push(d),{close:()=>ek(o),id:o}},{success(e){return tk(typeof e==`string`?{message:e,type:`success`}:{...e,type:`success`})},warning(e){return tk(typeof e==`string`?{message:e,type:`warning`}:{...e,type:`warning`})},info(e){return tk(typeof e==`string`?{message:e,type:`info`}:{...e,type:`info`})},error(e){return tk(typeof e==`string`?{message:e,type:`error`}:{...e,type:`error`})},closeAll:e=>{(e?[e]:Object.keys(ZO)).forEach(e=>{[...ZO[e]].forEach(e=>ek(e.id))})}}),nk={install(e){e.config.globalProperties.$fouNotify=tk,e.provide(`$fouNotify`,tk)}};function rk(e){return{all:e||=new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(e){e(n)}),(r=e.get(`*`))&&r.slice().map(function(e){e(t,n)})}}}var ik,ak={install:e=>{let t=(e=zx,t)=>typeof e==`object`&&e?td.service(e):td.service({text:String(e||``),fullscreen:!0}),n=(e,t=`温馨提示`,n)=>{Mu(e,t,n)},r=(e,t,n,r,i=`确定`,a=`取消`)=>{Nu(e,t||`温馨提示`,n,r,i,a)},i=(e,t,n=`success`,r,i=Bx)=>{tk({message:e,title:t,type:n,duration:i,position:{"right-top":`top-right`,"left-top":`top-left`,"right-bottom":`bottom-right`,"left-bottom":`bottom-left`,"top-right":`top-right`,"top-left":`top-left`,"bottom-right":`bottom-right`,"bottom-left":`bottom-left`}[r||``]||`top-right`})},a=rk(),o=(...e)=>{a.emit((0,l.head)(e),e[1])},s=(...e)=>{Reflect.apply(a.on,a,(0,l.toArray)(e))},c=(...e)=>{Reflect.apply(a.off,a,(0,l.toArray)(e))};e.provide(`$baseAlert`,n),e.provide(`$baseConfirm`,r),e.provide(`$baseLoading`,t),e.provide(`$baseNotify`,i),e.provide(`$pub`,o),e.provide(`$sub`,s),e.provide(`$unsub`,c),ik={$baseAlert:n,$baseConfirm:r,$baseLoading:t,$baseNotify:i,$pub:o,$sub:s,$unsub:c}}};Lr();function ok(e){let t=String(e??``).trim();if(!t)return``;t=t.replace(/\s+/g,``),t=t.replace(/^[中国中华人民共和國共和国]+/,``);let n=/^(?:[^省特别行政区]+省|内蒙古自治区|广西壮族自治区|宁夏回族自治区|新疆维吾尔自治区|西藏自治区|北京市|天津市|上海市|重庆市|香港特别行政区|澳门特别行政区|台湾省|[^市]+市|[^区县旗]+区|[^区县旗]+县|[^区县旗]+旗|[^镇乡街道]+镇|[^镇乡街道]+乡|[^镇乡街道]+街道)/,r=!0;for(;r&&t;){r=!1;let e=t.replace(n,``);e!==t&&(t=e,r=!0)}return t||e.trim()}function sk(e,t){let n=(e.competition_name==null?``:String(e.competition_name))||(t??``),r=String(e.school_name??``),i=String(e.school_short_name??e.school_name_short??``).trim()||ok(r);return{competition_name:n,student_name:String(e.student_name??``),competition_no:String(e.competition_no??``),school_name:r,school_short_name:i,age_group:String(e.age_group??``),competition_room:String(e.competition_room??``),seat_no:String(e.seat_no??``),floor:String(e.floor??``),teacher_name:String(e.teacher_name??``),date:String(e.date??e.competition_date??``),session:String(e.session??e.competition_session??``),enroll_teacher_name:String(e.enroll_teacher_name??``),teacher_phone:String(e.teacher_phone??``),signup_teacher_name:String(e.signup_teacher_name??``),signup_teacher_phone:String(e.signup_teacher_phone??``),signup_teacher_department:String(e.signup_teacher_department??``),signup_teacher_position:String(e.signup_teacher_position??``),signup_teacher_id_card:String(e.signup_teacher_id_card??``),signup_teacher_email:String(e.signup_teacher_email??``),signup_teacher_username:String(e.signup_teacher_username??``),venue_name:String(e.venue_name??``),venue_address:String(e.venue_address??``),competition_daily_start:String(e.competition_daily_start??``),competition_daily_end:String(e.competition_daily_end??``)}}function ck(e,t){return sk(e,t)}function lk(e,t){return Nr(sk(e,t),t)}var uk=[`competition_name`,`student_name`,`competition_no`,`school_name`,`school_short_name`,`age_group`,`competition_room`,`seat_no`,`floor`,`teacher_name`,`date`,`session`,`enroll_teacher_name`,`teacher_phone`,`signup_teacher_name`,`signup_teacher_phone`,`signup_teacher_department`,`signup_teacher_position`,`signup_teacher_id_card`,`signup_teacher_email`,`signup_teacher_username`,`venue_name`,`venue_address`,`competition_daily_start`,`competition_daily_end`],dk={competition_name:`比赛名称`,student_name:`学生姓名`,competition_no:`参赛编号`,school_name:`学校`,school_short_name:`学校简称`,age_group:`年龄段`,competition_room:`考场/教室`,seat_no:`座位号`,floor:`楼层`,teacher_name:`监考教师`,date:`比赛日期`,session:`场次`,enroll_teacher_name:`报名/带队教师(扩展)`,teacher_phone:`教师手机(扩展)`,signup_teacher_name:`报名教师姓名`,signup_teacher_phone:`报名教师手机`,signup_teacher_department:`报名教师部门`,signup_teacher_position:`报名教师职务`,signup_teacher_id_card:`报名教师身份证`,signup_teacher_email:`报名教师邮箱`,signup_teacher_username:`报名教师账号`,venue_name:`场地名称`,venue_address:`场地地址`,competition_daily_start:`比赛当天开始时间`,competition_daily_end:`比赛当天结束时间`};function fk(e,t){return e.replace(/\{\{\s*([^}]+?)\s*\}\}/g,(e,n)=>{let r=t[n.trim()];return r==null?``:String(r)})}async function pk(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let t=e;return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}return e.arrayBuffer()}function mk(e,t){let n=document.createElement(`a`);n.href=URL.createObjectURL(e),n.download=t,n.click(),URL.revokeObjectURL(n.href)}function hk(e,t){let n=t.endsWith(`.xlsx`)?t:`${t}.xlsx`,r=Uint8Array.from(e);mk(new Blob([r],{type:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`}),n)}function gk(e,t){let n=typeof t==`number`?e.SheetNames[t]:t&&e.SheetNames.includes(t)?t:e.SheetNames[0],r=n?e.Sheets[n]:void 0;if(!r)throw Error(`Excel 模板没有可用的工作表`);return{name:n,ws:r}}function _k(e){return e instanceof Date||typeof e==`number`||typeof e==`boolean`?e:e==null?``:String(e)}async function vk(e){let t=await import(`xlsx`),n=await pk(e.template),r=t.read(n,{type:`array`,cellDates:!0}),i=e.data||{};if(Object.keys(i).length&&r.SheetNames.forEach(e=>{let n=r.Sheets[e],a=n[`!ref`];if(!a)return;let o=t.utils.decode_range(a);for(let e=o.s.r;e<=o.e.r;e++)for(let r=o.s.c;r<=o.e.c;r++){let a=n[t.utils.encode_cell({r:e,c:r})];!a||typeof a.v!=`string`||!a.v.includes(`{{`)||(a.v=fk(a.v,i),a.t=`s`,delete a.w)}}),e.cells){let{ws:t}=gk(r);Object.entries(e.cells).forEach(([e,n])=>{t[e]={t:typeof n==`number`?`n`:`s`,v:_k(n)}})}return e.tables?.forEach(e=>{let{ws:n}=gk(r,e.sheet),i=e.rows.map(t=>e.columns.map(e=>_k(t[e]))),a=e.writeHeader?[e.headers||e.columns,...i]:i;t.utils.sheet_add_aoa(n,a,{origin:e.start})}),t.write(r,{type:`array`,bookType:`xlsx`})}async function yk(e){hk(await vk(e),e.filename||`filled.xlsx`)}async function bk(e={}){let t=await import(`xlsx`),n=e.headers?.length?e.headers:[`名称`,`状态`,`数量`],r=t.utils.aoa_to_sheet([[e.title||`月度报表`],[`标题:{{title}}`],[`日期:{{date}}`,``,`部门:{{dept}}`],[],n]);r[`!cols`]=n.map(()=>({wch:18})),r[`!merges`]=[{s:{r:0,c:0},e:{r:0,c:Math.max(n.length-1,2)}}];let i=t.utils.book_new();return t.utils.book_append_sheet(i,r,e.sheetName||`报表`),t.write(i,{type:`array`,bookType:`xlsx`})}async function xk(e={}){hk(await bk(e),e.filename||`报表模板.xlsx`)}Lr(),mp();var Sk=`2.3.5`,Ck=e=>e.replace(/\B([A-Z])/g,`-$1`).toLowerCase(),wk=(e,t,n)=>{e.component(t)||e.component(t,n);let r=Ck(t);r!==t&&!e.component(r)&&e.component(r,n)},Tk=e=>{e.use($t),e.use(nk),e.use(nd),e.use(XO),wk(e,`FouLoading`,Wa),wk(e,`FouStatistics`,qT),wk(e,`FouStatistic`,qT),e.use(ak),wk(e,`FouIcon`,k),wk(e,`FouOption`,cT),wk(e,`FouDropdownMenu`,Oo),wk(e,`FouDropdownItem`,jo),wk(e,`FouCheckboxGroup`,Mi),wk(e,`FouRadioGroup`,Vi),wk(e,`FouMenuRoot`,Rx),wk(e,`FouMenuNav`,CS),wk(e,`FouMenuNavItem`,mS),wk(e,`FouMenuNavSub`,yS),wk(e,`FouStep`,oE),wk(e,`FouTabBar`,Ct),wk(e,`FouTabs`,fE),wk(e,`FouTabPane`,Dt),wk(e,`FouBreadcrumb`,i_),wk(e,`FouBreadcrumbItem`,$g),wk(e,`FouCalendar`,__),wk(e,`FouTour`,iD),wk(e,`FouTourStep`,YE),wk(e,`FouLink`,gx),wk(e,`FouInputTag`,ax),wk(e,`FouSplitter`,zT),wk(e,`FouSplitterPanel`,IT),wk(e,`FouCollapseItem`,Z_),wk(e,`FouCarouselItem`,k_),wk(e,`FouTimelineItem`,IE),wk(e,`FouDescriptionsItem`,Yv),wk(e,`FouAnchorLink`,re);let t=Object.assign({"./components/FouAffix/index.vue":C,"./components/FouAlert/index.vue":I,"./components/FouAnchor/index.vue":B,"./components/FouAnchorLink/index.vue":ne,"./components/FouApp/index.vue":ae,"./components/FouAreaPicker/index.vue":Pe,"./components/FouAutocomplete/index.vue":Ue,"./components/FouAvatar/index.vue":Ye,"./components/FouBacktop/index.vue":J,"./components/FouBadge/components/BadgeImagePickerDialog.vue":Gn,"./components/FouBadge/components/BadgeLibraryManagerDialog.vue":Er,"./components/FouBadge/components/BadgeLibraryPanel.vue":Cr,"./components/FouBadge/shared/BadgeTemplateRenderer.vue":ri,"./components/FouBadge/views/BadgeLibraryView.vue":si,"./components/FouBadge/views/BadgeManageView.vue":Qd,"./components/FouBadge/views/BadgeTemplateEditorView.vue":Hh,"./components/FouBadge/views/BadgeTemplateListView.vue":Xh,"./components/FouBadge/views/DeskLabelTemplateListView.vue":ig,"./components/FouBadge/views/DeskLabelView.vue":Dg,"./components/FouBadgeDot/index.vue":Ag,"./components/FouBanner/index.vue":Gg,"./components/FouBreadcrumb/FouBreadcrumbItem.vue":Qg,"./components/FouBreadcrumb/index.vue":r_,"./components/FouButton/index.vue":Bt,"./components/FouButtonGroup/index.vue":Sf,"./components/FouCalendar/index.vue":g_,"./components/FouCanvasKit/FouCanvasEditor.vue":zh,"./components/FouCanvasKit/FouCanvasRenderer.vue":ei,"./components/FouCanvasKit/components/DataModulesPanel.vue":Jf,"./components/FouCard/index.vue":pr,"./components/FouCarousel/index.vue":w_,"./components/FouCarouselItem/index.vue":O_,"./components/FouCascader/index.vue":Ee,"./components/FouCheckTag/index.vue":M_,"./components/FouCheckbox/FouCheckboxGroup.vue":ji,"./components/FouCheckbox/index.vue":Li,"./components/FouCode/index.vue":F_,"./components/FouCol/index.vue":z_,"./components/FouCollapse/index.vue":W_,"./components/FouCollapseItem/index.vue":X_,"./components/FouColorField/index.vue":mf,"./components/FouColorPicker/index.vue":$_,"./components/FouColorfulCard/index.vue":ov,"./components/FouCombobox/index.vue":pv,"./components/FouConfigProvider/index.vue":gv,"./components/FouContextMenu/index.vue":wv,"./components/FouCopy/index.vue":kv,"./components/FouCountdown/index.vue":Lv,"./components/FouDate/index.vue":Xl,"./components/FouDescriptions/index.vue":Uv,"./components/FouDescriptionsItem/index.vue":Jv,"./components/FouDialog/index.vue":ft,"./components/FouDigitalCard/index.vue":ay,"./components/FouDivider/index.vue":yf,"./components/FouDot/index.vue":cy,"./components/FouDrawer/index.vue":hy,"./components/FouDropdown/FouDropdownItem.vue":Ao,"./components/FouDropdown/FouDropdownMenu.vue":Do,"./components/FouDropdown/index.vue":Co,"./components/FouEllipsis/index.vue":yy,"./components/FouEmpty/index.vue":Nt,"./components/FouException/index.vue":Ay,"./components/FouFloatButton/index.vue":Ly,"./components/FouFloatButtonGroup/index.vue":Vy,"./components/FouForm/index.vue":xi,"./components/FouFormItem/index.vue":ca,"./components/FouFullscreen/index.vue":Wy,"./components/FouGrid/index.vue":Xy,"./components/FouHighlight/index.vue":eb,"./components/FouHoverCard/index.vue":ab,"./components/FouIcon/index.vue":O,"./components/FouIconPicker/index.vue":jb,"./components/FouImage/index.vue":Ub,"./components/FouImagePreviewGroup/index.vue":qb,"./components/FouImageViewer/index.vue":Lb,"./components/FouInput/index.vue":_a,"./components/FouInputNumber/index.vue":vi,"./components/FouInputOtp/index.vue":Zb,"./components/FouInputTag/index.vue":ix,"./components/FouKbd/index.vue":sx,"./components/FouLayoutContainer/index.vue":ux,"./components/FouLink/index.vue":hx,"./components/FouLinkPreview/index.vue":Cx,"./components/FouLoading/spinner.vue":Ua,"./components/FouMention/index.vue":Mx,"./components/FouMenu/FouMenuRoot.vue":Lx,"./components/FouMenu/components/FouMenuItem.vue":Xx,"./components/FouMenu/components/FouSubMenu.vue":sS,"./components/FouMenu/index.vue":$x,"./components/FouMenuNav/FouMenuNavItem.vue":pS,"./components/FouMenuNav/FouMenuNavSub.vue":vS,"./components/FouMenuNav/index.vue":SS,"./components/FouMsg/FouMsgItem.vue":Gt,"./components/FouNotification/FouNotificationItem.vue":OS,"./components/FouPage/index.vue":jS,"./components/FouPageHeader/index.vue":HS,"./components/FouPageMain/index.vue":QS,"./components/FouPagination/index.vue":ar,"./components/FouParagraph/index.vue":tC,"./components/FouPasswordStrength/index.vue":oC,"./components/FouPopconfirm/index.vue":pC,"./components/FouPopover/index.vue":vC,"./components/FouProgress/index.vue":OC,"./components/FouQrcode/index.vue":ow,"./components/FouQueryForm/components/FouQueryFormBottomPanel.vue":dw,"./components/FouQueryForm/components/FouQueryFormLeftPanel.vue":hw,"./components/FouQueryForm/components/FouQueryFormRightPanel.vue":yw,"./components/FouQueryForm/components/FouQueryFormTopPanel.vue":ww,"./components/FouQueryForm/index.vue":Ow,"./components/FouRadio/FouRadioGroup.vue":Bi,"./components/FouRadio/index.vue":Ki,"./components/FouRate/index.vue":Fw,"./components/FouRefresh/index.vue":Rw,"./components/FouResult/index.vue":Dy,"./components/FouRow/index.vue":Vw,"./components/FouScrollbar/index.vue":eu,"./components/FouSearchBar/index.vue":Gw,"./components/FouSearchInput/index.vue":eT,"./components/FouSegmented/index.vue":iT,"./components/FouSelect/FouOption.vue":sT,"./components/FouSelect/index.vue":ra,"./components/FouSelectV2/index.vue":vT,"./components/FouSkeleton/index.vue":cr,"./components/FouSlider/index.vue":af,"./components/FouSpace/index.vue":ST,"./components/FouSparkline/index.vue":AT,"./components/FouSplitter/FouSplitterPanel.vue":FT,"./components/FouSplitter/index.vue":RT,"./components/FouStatistic/index.vue":YT,"./components/FouStatistics/index.vue":KT,"./components/FouStep/index.vue":aE,"./components/FouSteps/index.vue":cE,"./components/FouSwitch/index.vue":Oi,"./components/FouTabBar/index.vue":St,"./components/FouTabPane/index.vue":Et,"./components/FouTable/index.vue":il,"./components/FouTableColumn/index.vue":sl,"./components/FouTabs/index.vue":dE,"./components/FouTag/index.vue":dl,"./components/FouText/index.vue":mE,"./components/FouTime/index.vue":eo,"./components/FouTimeAgo/index.vue":vE,"./components/FouTimeSelect/index.vue":wE,"./components/FouTimeline/index.vue":DE,"./components/FouTimelineItem/index.vue":FE,"./components/FouTips/index.vue":BE,"./components/FouTitle/index.vue":UE,"./components/FouTooltip/index.vue":io,"./components/FouTour/FouTourStep.vue":JE,"./components/FouTour/index.vue":rD,"./components/FouTransfer/index.vue":SD,"./components/FouTree/FouTreeNode.vue":bu,"./components/FouTree/index.vue":Ou,"./components/FouTreeSelect/index.vue":OD,"./components/FouTreeV2/index.vue":LD,"./components/FouTrend/index.vue":HD,"./components/FouUpload/index.vue":lO,"./components/FouUploadCrop/index.vue":LO,"./components/FouWatermark/index.vue":VO}),n=/\/(FouBadge\/views|FouQueryForm\/components|FouCanvasKit\/|FouMsg\/FouMsgItem|FouNotification\/FouNotificationItem|FouLoading\/spinner)/;Object.entries(t).forEach(([t,r])=>{if(n.test(t))return;let i=r.default;i&&i.name&&wk(e,i.name,i)})},Ek=Tk,Dk=Tk;e.BADGE_PLACEHOLDER_KEYS=uk,e.BADGE_PLACEHOLDER_LABELS=dk,e.BUILTIN_DATA_MODULES=Ir,e.FOU_LOADING_EFFECTS=Gu,e.FouAreaPicker=Fe,e.FouBanner=Kg,e.FouBreadcrumb=i_,e.FouBreadcrumbItem=$g,e.FouButton=Vt,e.FouCalendar=__,e.FouCanvasDataModulesPanel=Yf,e.FouCanvasEditor=Bh,e.FouCanvasRenderer=ti,e.FouCheckTag=N_,e.FouCheckbox=Ri,e.FouCode=I_,e.FouColorPicker=ev,e.FouCombobox=mv,e.FouConfigProvider=_v,e.FouContextMenu=Tv,e.FouCopy=Av,e.FouCountdown=Rv,e.FouDate=Zl,e.FouDialog=pt,e.FouDigitalCard=oy,e.FouDrawer=gy,e.FouEllipsis=by,e.FouException=jy,e.FouFloatButton=Ry,e.FouFloatButtonGroup=Hy,e.FouForm=Si,e.FouFormItem=la,e.FouHighlight=tb,e.FouHoverCard=ob,e.FouImage=Wb,e.FouImagePreviewGroup=Jb,e.FouImageViewer=Rb,e.FouInput=va,e.FouInputNumber=yi,e.FouInputOtp=Qb,e.FouInputTag=ax,e.FouKbd=cx,e.FouLayoutContainer=dx,e.FouLink=gx,e.FouLinkPreview=wx,e.FouLoading=Wa,e.FouLoadingPlugin=nd,e.FouMention=Nx,e.FouMenu=eS,e.FouNotification=nk,e.FouPageMain=$S,e.FouPagination=or,e.FouParagraph=nC,e.FouPasswordStrength=sC,e.FouQrcode=sw,e.FouRadio=qi,e.FouSearchBar=Kw,e.FouSearchInput=tT,e.FouSelect=ia,e.FouSelectV2=yT,e.FouSparkline=jT,e.FouSplitter=zT,e.FouSplitterPanel=IT,e.FouStatistic=XT,e.FouStatistics=qT,e.FouSwitch=ki,e.FouTabBar=Ct,e.FouTabPane=Dt,e.FouTable=al,e.FouTabs=fE,e.FouTime=to,e.FouTimeAgo=yE,e.FouTimeSelect=TE,e.FouTitle=WE,e.FouTour=iD,e.FouTourStep=YE,e.FouTree=ku,e.FouTreeV2=RD,e.FouTrend=UD,e.FouUpload=uO,e.FouUploadCrop=RO,e.LEGACY_FLAT_KEY_MAP=Fr,e.buildCanvasHtml=ap,e.buildSheetMatrix=ps,e.cloneBuiltinModules=Or,e.codeToText=je,e.createBadgeDoc=fp,e.createBannerDoc=dp,e.createCustomModule=Pr,e.createExcelTemplate=bk,e.downloadCanvasHtml=op,e.downloadElementPdf=cp,e.downloadElementPng=Qf,e.downloadExcelTemplate=xk,e.downloadFilledExcel=yk,e.exportCsv=ms,e.exportSheet=_s,e.exportXls=hs,e.exportXlsx=gs,e.fillExcelTemplate=vk,e.flattenBadgeForMerge=sk,e.flattenDeskLabelForMerge=ck,e.fouAlert=Mu,Object.defineProperty(e,"fouApp",{enumerable:!0,get:function(){return ik}}),e.fouConfirm=Nu,e.fouConfirmPromise=Fu,e.fouLoading=td,e.fouMsg=Q,e.fouNotify=tk,e.listInsertableFields=jr,e.mapRowToContext=lk,e.mergeBadgeText=Vr,e.mergeTemplateText=Br,e.parseImportFile=vs,e.regionData=Ae,e.resolveDataModules=kr,e.sampleContextFromModules=Mr,e.setupFou=Tk,e.setupFoucui=Dk,e.setupQiuye=Ek,e.vFouInfiniteScroll=YO,e.vFouLoading=ed,e.version=Sk});