20260817172952

This commit is contained in:
oneao committed 2026-08-17 17:29:54 +08:00
1 parent 4ef678ba65
commit 5bbd3c88b4
1865 files changed
+2261 -901

No files matched your search

@@ -0,0 +1,146 @@
---
name: dropdown-enhance
overview: "增强组件库 Dropdown:支持 item 自带 onClick、新增 #header 富头部插槽、新增 DropdownItem 子组件(类 el-dropdown-item 写法),并把 AppTopbar 用户下拉迁移到新能力(头像+名字+组织头部)。同时保留现有 items 数组 + 全局 @click 与 #menu 逃生舱。"
todos:
- id: enhance-menu-onclick
content: 修改 menu.vue 普通项点击先执行 item.onClick 再 selectItem
status: completed
- id: add-dropdown-item
content: 新建 DropdownItem.vue 声明式子组件并定义 props
status: completed
dependencies:
- enhance-menu-onclick
- id: enhance-dropdown-header
content: "dropdown.vue 增加 #header 插槽与 DropdownItem VNode 收集转 items"
status: completed
dependencies:
- add-dropdown-item
- id: add-header-style
content: index.scss 新增 .dropdown-header 样式
status: completed
dependencies:
- enhance-dropdown-header
- id: refactor-topbar
content: "AppTopbar 用户下拉改用 #header 富头部并精简 items"
status: completed
dependencies:
- enhance-dropdown-header
- add-header-style
- id: verify-uses
content: 用 [subagent:code-explorer] 核查所有 Dropdown 用法无回归
status: completed
dependencies:
- refactor-topbar
---
## 用户需求
参考 Element Plus 的 `<el-dropdown-item>` 写法,增强项目组件库 `@/components/ui/dropdown` 的下拉菜单能力,使其更灵活、可自定义。
## 产品概述
为 Dropdown 组件库新增三种能力并保持向后兼容:
1. items 数组项支持自带 `onClick(item)` 回调,点击某项时优先执行该项自己的回调,同时保留全局 `@click` 分发。
2. 支持 `<DropdownItem>` 子组件写法(具名/默认插槽声明每个菜单项),类似 el-dropdown-item 的声明式用法。
3. 新增 `#header` 插槽,在菜单项列表上方渲染「头像 + 名字 + 组织」等富头部内容。
现有能力(items + 全局 @click、#menu 逃生舱、键盘导航、子菜单 hover)必须全部保留不破坏。
## 核心特性
- item 级别 `onClick`:在 items 配置里直接写点击处理函数,命中该项时直接触发,无需统一在 @click 里 switch。
- `<DropdownItem>` 子组件:支持 `key`/`icon`/`danger`/`disabled`/`divider` 等属性与默认插槽内容,可替代纯数组声明。
- `#header` 富头部插槽:Dropdown 浮层顶部可插入任意自定义富内容(顶部 header 区,与菜单项列表之间有分隔)。
- 向后兼容:未配置 onClick 的项仍走全局 @click;未使用 DropdownItem 时仍可用 items 数组;未使用 #header 时浮层不变。
- AppTopbar 用户下拉改造:将「头像 + 名字 + 组织」从 trigger 移到菜单 #header 插槽,trigger 仅保留头像或精简触发按钮。
## 技术栈
- 前端框架:Vue 3(`<script setup>` SFC + scoped 样式)
- 组件库模式:`@/components/ui/` 下 SFC + `index.scss`(`@use` 引入),复用现有 Dropdown / DropdownMenu / Popover
- 样式 Token:`--fms-card` / `--fms-border` / `--fms-primary` / `--fms-secondary-hover` / `--fms-text` / `--fms-text-secondary` / `--fms-control-radius` / `--fms-danger` / `--fms-dropdown-*`
- 图标:Lucide(`@lucide/vue`)
## 实现方案
### 总体策略
在现有 Dropdown 组件上做增量增强,不改动 Popover 与定位逻辑;新增 `DropdownItem.vue` 子组件承载声明式写法;在 `DropdownMenu.vue` 与 `dropdown.vue` 中分别支持 `item.onClick` 与 `#header` 插槽。所有增强均为「可选能力」,未使用时不改变既有渲染与行为。
### 关键技术决策
1. **item.onClick 优先级**:在 `menu.vue` 普通项点击处改为「先执行 `item.onClick?.(item)`,再 `selectItem(item)`(继续 emit 全局 click)」。这样既支持项自带回调,又保留全局 @click 分发,互不冲突;项回调里可执行 `close()` 关闭(selectItem 内部已关闭)。
2. **DropdownItem 子组件**:新建 `DropdownItem.vue`,仅用于「声明语义」——它不作为独立渲染节点,而是被 Dropdown 在 `#default` 默认插槽中收集其 props/插槽内容并转为 items;或直接由 DropdownMenu 消费。为最小化复杂度并避免与现有 items 递归体系冲突,采用「DropdownItem 仅暴露 props + 提供 default 插槽内容,Dropdown 在运行时通过 `useSlots().default` 读取子节点(VNode)还原成 items」的方案,复用 `DropdownMenu` 渲染。这样既获得 el-dropdown-item 的写法,又不重复一套渲染逻辑。
- 权衡:直接把 DropdownItem 写成独立可点击 DOM 会与现有键盘导航/`activeIndex` provide 体系割裂,需大量重构。采用「VNode 收集转 items」更符合现有架构、改动最小、风险最低。
- 取舍:DropdownItem 用法与 items 用法二选一(同一次 Dropdown 内不要混用,混用时以 items 优先或合并,计划以 items 优先、默认插槽 fallback)。
3. **#header 插槽**:在 `dropdown.vue` 的 Popover `#content` 内、`<DropdownMenu>` 上方插入 `<slot name="header" />`(仅当 items != null 时显示,#menu 逃生舱模式仍由用户自行决定 header 是否出现)。头部区加 `.dropdown-header` 样式(padding、与下方列表之间 1px 分隔线、不可点击、user-select:none)。
### 性能与可靠性
- 渲染开销:DropdownItem 的 VNode 收集仅在挂载时执行一次(非热路径),无性能问题;items 递归渲染与现有一致。
- 键盘导航:`enabledIndices` 已跳过 divider/label/disabled,新增的 header 不参与索引,无需改动;DropdownItem 转换出的项若带 disabled 自动纳入跳过逻辑。
- 向后兼容:所有新 props/插槽均默认空/可选;现有 AppTopbar 改法只在「使用 #header」时调整结构,未用到的 Dropdown 实例零影响。
## 实现注意事项
- 复用现有 CSS 变量与 `.dropdown-*` 样式体系,不引入新 token;header 分隔线复用 `.dropdown-divider` 视觉或新建 `.dropdown-header` 独立样式(建议独立,避免 margin 冲突)。
- `DropdownItem` 的 `divider` 属性转换为 `{ divider: true }`;`disabled`/`danger`/`icon`/`key` 直接映射;默认插槽内容映射为 `label`(支持富内容时允许 `label` 为 VNode/函数?本期仅支持文本 label,富内容走 #header 或 #menu 逃生舱,保持 YAGNI)。
- AppTopbar 改造:删除 `userMenuItems` 里 `{ type:'label', label: org }`,改为在 `#header` 插槽内渲染「头像 + 名字 + 组织」;trigger 保留头像 + 名字按钮(或精简)。注意 scoped 样式 `.fms-avatar`/`.fms-user-name` 需在 AppTopbar 内保留(头部在浮层内,仍属该组件 scoped 作用域通过 slot 传递)。
- 保持 0 lint:新增 SFC 遵循现有 ESLint 规则(defineProps 默认值、无未使用变量)。
## 架构设计
```mermaid
flowchart TD
A[Dropdown.vue 主组件] -->|items 数组| B[DropdownMenu.vue 递归渲染]
A -->|default 插槽含 DropdownItem| C[收集 VNode 转 items]
C --> B
A -->|#header 插槽| D[富头部区 dropdown-header]
A -->|#menu 逃生舱| E[完全自定义内容]
B -->|普通项点击| F[执行 item.onClick 再 selectItem emit click]
A --> G[Popover 浮层/定位/关闭]
```
组件关系不变,仅在 Dropdown 入口增加「VNode→items」「header 插槽」两路输入,DropdownMenu 增加「onClick 优先」分支。
## 目录结构
```
fms-vue/src/components/ui/dropdown/
├── dropdown.vue # [MODIFY] 新增 #header 插槽(Popover #content 内,DropdownMenu 上方);支持从 default 插槽收集 DropdownItem VNode 转换为 items(fallback 于未传 items 时);onClick 透传由 menu.vue 处理。
├── menu.vue # [MODIFY] 普通项点击逻辑改为:先 item.onClick?.(item),再 selectItem(item);其余 divider/label/children 渲染不变。
├── DropdownItem.vue # [NEW] 声明式菜单项子组件。仅承载 props(key/icon/danger/disabled/divider/label) 与默认插槽,不独立渲染交互,由 Dropdown 收集为 items 项。
└── index.scss # [MODIFY] 新增 .dropdown-header 样式(padding、底部 1px 分隔、user-select:none、非交互)。
fms-vue/src/layouts/components/
└── AppTopbar.vue # [MODIFY] 用户下拉:移除 userMenuItems 中的 type:'label' 组织行;新增 #header 插槽渲染「头像+名字+组织」富头部(复用现有 .fms-avatar/.fms-user-name 样式,新增组织文本样式);trigger 保持头像+名字按钮。
```
## 关键代码结构(接口级)
```ts
// DropdownItem.vue props(声明式项,仅用于被 Dropdown 收集)
defineProps<{
key?: string | number
icon?: Component
label?: string
danger?: boolean
disabled?: boolean
divider?: boolean
}>()
// menu.vue 普通项点击(增强后)
@click="!item.disabled && onItemClick(item)"
// onItemClick: item.onClick?.(item); selectItem(item)
```
## Agent Extensions
### SubAgent
- **code-explorer**
- 用途:在实施前深入核对 Dropdown/Popover/AppTopbar 的所有引用点与 slot/props 用法,确认改动无遗漏调用方。
- 预期结果:产出受影响文件清单与调用关系,确保增强不破坏现有使用 Dropdown 的其他页面(如主题色板 Dropdown 用 #menu 逃生舱)。
@@ -0,0 +1 @@
import{A as e,Ct as t,E as n,F as r,G as i,H as a,I as o,L as s,N as c,P as l,R as u,St as d,W as f,_ as p,at as m,b as h,d as g,et as _,g as v,h as y,j as b,k as x,l as S,m as C,o as w,p as T,t as E,xt as D}from"./createLucideIcon-C_iUwQl2.js";import{m as O,p as k}from"./input-CDcVWtI6.js";var A=[{name:`墨蓝`,color:`#0f172b`},{name:`拂晓蓝`,color:`#1677ff`},{name:`青碧`,color:`#06b6d4`},{name:`翠绿`,color:`#16a34a`},{name:`琥珀`,color:`#f59e0b`},{name:`朱砂`,color:`#ef4444`},{name:`暮紫`,color:`#8b5cf6`},{name:`玫红`,color:`#ec4899`},{name:`墨青`,color:`#0f766e`}],j=A[0].color,M=()=>document.documentElement;function N(e){e&&M().style.setProperty(`--fms-primary`,e)}function P(e){M().classList.toggle(`dark`,!!e)}var F=k(`app`,{state:()=>({darkMode:!1,primaryColor:j,sidebarCollapsed:!1,locale:`zh-CN`,visitedTabs:[{key:`/dashboard`,label:`工作台`,closable:!1}],routeRefreshKeys:{}}),actions:{setDark(e){this.darkMode=!!e},toggleDark(){this.darkMode=!this.darkMode},setPrimary(e){this.primaryColor=e},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},setSidebar(e){this.sidebarCollapsed=!!e},toggleLocale(){this.locale=this.locale===`zh-CN`?`en-US`:`zh-CN`},addVisitedTab(e){this.visitedTabs.some(t=>t.key===e.key)||this.visitedTabs.push(e)},removeVisitedTab(e){let t=this.visitedTabs.findIndex(t=>t.key===e);t>=0&&this.visitedTabs.splice(t,1)},getRouteRefreshKey(e){return this.routeRefreshKeys[e]??0},refreshRoute(e){this.routeRefreshKeys[e]=(this.routeRefreshKeys[e]??0)+1}},persist:{pick:[`darkMode`,`primaryColor`,`locale`]}});function I(e){let t=F(e);return f(()=>t.darkMode,e=>P(e),{immediate:!0}),f(()=>t.primaryColor,e=>N(e),{immediate:!0}),t}var L=w({__name:`panel`,props:{min:{type:[Number,String],default:void 0},max:{type:[Number,String],default:void 0},size:{type:[Number,String],default:void 0},defaultSize:{type:[Number,String],default:void 0},resizable:{type:Boolean,default:!0}},setup(e){let t=e,n=T(()=>t.size!=null&&t.size!==``?{flexBasis:typeof t.size==`number`?`${t.size}px`:t.size,flexGrow:0,flexShrink:0}:{flexBasis:`0%`,flexGrow:1,flexShrink:1});return(e,t)=>(c(),p(`div`,{class:`fms-splitter-panel`,style:d(n.value)},[o(e.$slots,`default`,{},void 0,!0)],4))}},[[`__scopeId`,`data-v-bafb9c0a`]]),R=[`aria-orientation`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`,`tabindex`,`onPointerdown`,`onKeydown`],z=w({__name:`splitter`,props:{direction:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)},barOnHover:{type:Boolean,default:!1}},emits:[`resize-start`,`resize`,`resize-end`],setup(t,{emit:n}){let i=t,o=n,s=a(),l=_(null),d=_([]),f=_(0),m=_(-1),h=null,g=null,x=null,w=T(()=>i.direction===`vertical`),E=T(()=>(s.default?.()??[]).filter(e=>e.type===L).map(e=>({node:e,props:e.props??{}})));function O(e,t,n){return Math.min(Math.max(e,t),n)}function k(e,t){if(e==null)return;if(typeof e==`number`)return e;let n=String(e).trim();return n.endsWith(`%`)?Number.parseFloat(n)/100*t:Number.parseFloat(n)}function A(){let e=l.value;return e?w.value?e.clientHeight:e.clientWidth:0}function j(){let e=l.value?.querySelectorAll(`.fms-splitter-panel`)??[];return Array.from(e).map(e=>w.value?e.offsetHeight:e.offsetWidth)}function M(e){let t=E.value[e];if(t)return t.props.size===void 0?d.value[e]===void 0?t.props.defaultSize:d.value[e]:t.props.size}function N(e){let t=E.value[e],n=E.value[e+1];return t&&n&&t.props.resizable!==!1&&n.props.resizable!==!1}let P=T(()=>{let e=f.value,t=E.value;if(!e||t.length<2)return[];let n=t.map((t,n)=>d.value[n]===void 0?k(t.props.size??t.props.defaultSize,e):d.value[n]),r=n.filter(e=>e!==void 0),i=r.reduce((e,t)=>e+t,0),a=n.length-r.length,o=a?(e-i)/a:0,s=n.map(e=>e??o),c=[],l=0;for(let n=0;n<t.length-1;n+=1){l+=s[n];let r=k(t[n].props.min,e)??0,i=k(t[n+1].props.min,e)??0;c.push({now:Math.round(l/e*100),min:Math.round(r/e*100),max:Math.round(100-i/e*100)})}return c});function F(e,t,n,r){let i=r,a=t[e],o=t[e+1],s=k(E.value[e].props.min,n)??0,c=k(E.value[e].props.max,n)??n,l=k(E.value[e+1].props.min,n)??0,u=k(E.value[e+1].props.max,n)??n;i=O(i,s-a,c-a),i=O(i,o-u,o-l);let d=[...t];return d[e]=a+i,d[e+1]=o-i,d}function I(e,t){let n=[...d.value];n[t]=e[t],n[t+1]=e[t+1],d.value=n}function z(){let e=[...d.value];E.value.forEach((t,n)=>{e[n]!==void 0&&t.props.size==null&&t.props.defaultSize==null&&delete e[n]}),d.value=e}function B(e,t){if(t.button!==0||!N(e))return;t.preventDefault();let n=A(),r=j();h={index:e,startX:t.clientX,startY:t.clientY,startSizes:r,container:n},m.value=e,f.value=n,o(`resize-start`,[...r]),document.body.style.userSelect=`none`,document.body.style.webkitUserSelect=`none`,window.addEventListener(`pointermove`,V),window.addEventListener(`pointerup`,U)}function V(e){x=e,g??=requestAnimationFrame(H)}function H(){g=null;let e=x;if(x=null,!e||!h)return;let{index:t,startX:n,startY:r,startSizes:i,container:a}=h,s=F(t,i,a,w.value?e.clientY-r:e.clientX-n);I(s,t),o(`resize`,[...s])}function U(){if(g!=null&&(cancelAnimationFrame(g),Line truncated
@@ -0,0 +1 @@
.fms-splitter[data-v-bafb9c0a]{align-items:stretch;width:100%;height:100%;display:flex}.fms-splitter-horizontal[data-v-bafb9c0a]{flex-direction:row}.fms-splitter-vertical[data-v-bafb9c0a]{flex-direction:column}.fms-splitter-panel[data-v-bafb9c0a]{box-sizing:border-box;min-width:0;min-height:0;overflow:auto}.fms-splitter-bar[data-v-bafb9c0a]{touch-action:none;-webkit-user-select:none;user-select:none;flex:none;position:relative}.fms-splitter-horizontal .fms-splitter-bar[data-v-bafb9c0a]{width:var(--fms-splitter-trigger-size);cursor:col-resize}.fms-splitter-vertical .fms-splitter-bar[data-v-bafb9c0a]{height:var(--fms-splitter-trigger-size);cursor:row-resize}.fms-splitter-bar[data-v-bafb9c0a]:before{content:"";background:var(--fms-border);transition:opacity .15s,background-color .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fms-splitter-horizontal .fms-splitter-bar[data-v-bafb9c0a]:before{width:var(--fms-splitter-bar-size);height:100%}.fms-splitter-vertical .fms-splitter-bar[data-v-bafb9c0a]:before{width:100%;height:var(--fms-splitter-bar-size)}.fms-splitter-bar-grip[data-v-bafb9c0a]{background:var(--fms-text-secondary);opacity:0;border-radius:2px;transition:opacity .15s,background-color .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fms-splitter-horizontal .fms-splitter-bar-grip[data-v-bafb9c0a]{width:var(--fms-splitter-bar-size);height:var(--fms-splitter-handle-size)}.fms-splitter-vertical .fms-splitter-bar-grip[data-v-bafb9c0a]{width:var(--fms-splitter-handle-size);height:var(--fms-splitter-bar-size)}.fms-splitter-bar:hover .fms-splitter-bar-grip[data-v-bafb9c0a],.fms-splitter-bar-active .fms-splitter-bar-grip[data-v-bafb9c0a],.fms-splitter-bar:focus-visible .fms-splitter-bar-grip[data-v-bafb9c0a]{opacity:1}.fms-splitter-bar[data-v-bafb9c0a]:hover:before,.fms-splitter-bar-active[data-v-bafb9c0a]:before,.fms-splitter-bar[data-v-bafb9c0a]:focus-visible:before{background:var(--fms-text-secondary)}.fms-splitter-bar-hover[data-v-bafb9c0a]:before{background:var(--fms-text-secondary);opacity:0}.fms-splitter-horizontal .fms-splitter-bar-hover[data-v-bafb9c0a]:before{width:var(--fms-splitter-bar-size-hover);height:100%}.fms-splitter-vertical .fms-splitter-bar-hover[data-v-bafb9c0a]:before{width:100%;height:var(--fms-splitter-bar-size-hover)}.fms-splitter-bar-hover .fms-splitter-bar-grip[data-v-bafb9c0a]{display:none}.fms-splitter-bar-hover[data-v-bafb9c0a]:hover:before,.fms-splitter-bar-hover.fms-splitter-bar-active[data-v-bafb9c0a]:before,.fms-splitter-bar-hover[data-v-bafb9c0a]:focus-visible:before{opacity:1}.fms-splitter-bar[data-v-bafb9c0a]:focus-visible{outline:2px solid var(--fms-primary);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.fms-splitter-bar[data-v-bafb9c0a]:before,.fms-splitter-bar-grip[data-v-bafb9c0a]{transition:none}}.fms-splitter[data-v-6b4b5a5e]{align-items:stretch;width:100%;height:100%;display:flex}.fms-splitter-horizontal[data-v-6b4b5a5e]{flex-direction:row}.fms-splitter-vertical[data-v-6b4b5a5e]{flex-direction:column}.fms-splitter-panel[data-v-6b4b5a5e]{box-sizing:border-box;min-width:0;min-height:0;overflow:auto}.fms-splitter-bar[data-v-6b4b5a5e]{touch-action:none;-webkit-user-select:none;user-select:none;flex:none;position:relative}.fms-splitter-horizontal .fms-splitter-bar[data-v-6b4b5a5e]{width:var(--fms-splitter-trigger-size);cursor:col-resize}.fms-splitter-vertical .fms-splitter-bar[data-v-6b4b5a5e]{height:var(--fms-splitter-trigger-size);cursor:row-resize}.fms-splitter-bar[data-v-6b4b5a5e]:before{content:"";background:var(--fms-border);transition:opacity .15s,background-color .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fms-splitter-horizontal .fms-splitter-bar[data-v-6b4b5a5e]:before{width:var(--fms-splitter-bar-size);height:100%}.fms-splitter-vertical .fms-splitter-bar[data-v-6b4b5a5e]:before{width:100%;height:var(--fms-splitter-bar-size)}.fms-splitter-bar-grip[data-v-6b4b5a5e]{background:var(--fms-text-secondary);opacity:0;border-radius:2px;transition:opacity .15s,background-color .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fms-splitter-horizontal .fms-splitter-bar-grip[data-v-6b4b5a5e]{width:var(--fms-splitter-bar-size);height:var(--fms-splitter-handle-size)}.fms-splitter-vertical .fms-splitter-bar-grip[data-v-6b4b5a5e]{width:var(--fms-splitter-handle-size);height:var(--fms-splitter-bar-size)}.fms-splitter-bar:hover .fms-splitter-bar-grip[data-v-6b4b5a5e],.fms-splitter-bar-active .fms-splitter-bar-grip[data-v-6b4b5a5e],.fms-splitter-bar:focus-visible .fms-splitter-bar-grip[data-v-6b4b5a5e]{opacity:1}.fms-splitter-bar[data-v-6b4b5a5e]:hover:before,.fms-splitter-bar-active[data-v-6b4b5a5e]:before,.fms-splitter-bar[data-v-6b4b5a5e]:focus-visible:before{background:var(--fms-text-secondary)}.fms-splitter-bar-hover[data-v-6b4b5a5e]:before{background:var(--fms-text-secondary);opacity:0}.fms-splitter-horizontal .fms-splitter-bar-hover[data-v-6b4b5a5e]:before{width:var(-Line truncated
@@ -0,0 +1 @@
import{Ct as e,G as t,N as n,_ as r,at as i,b as a,g as o,m as s,o as c,p as l,y as u}from"./createLucideIcon-C_iUwQl2.js";import{m as d}from"./useApi-CROJJdhE-o7uPapr3.js";import{t as f}from"./button-t9yUGN1c.js";var p={class:`fms-test-page`},m={class:`fms-test-page__head`},h={key:0},g={class:`fms-test-page__body`},_={class:`fms-test-page__card`},v={class:`fms-test-page__actions`},y=c({__name:`TestPage`,setup(c){let y=d(),b=l(()=>y.meta?.title??`测试页`),x=l(()=>y.meta?.desc??``),S=l(()=>Number(y.params.id??0));return(c,l)=>(n(),r(`div`,p,[s(`header`,m,[s(`h1`,null,e(b.value),1),x.value?(n(),r(`p`,h,e(x.value),1)):o(``,!0)]),s(`div`,g,[s(`div`,_,[l[4]||=s(`p`,null,`这是用于测试 Tabs 导航的占位页面。`,-1),s(`p`,null,[l[2]||=u(`当前路由:`,-1),s(`code`,null,e(i(y).fullPath),1)]),s(`p`,null,[l[3]||=u(`页签索引:`,-1),s(`strong`,null,e(S.value),1)])]),s(`div`,v,[a(f,{type:`primary`,onClick:l[0]||=e=>c.$router.push(`/test/${S.value+1}`)},{default:t(()=>[u(` 前往下一个测试页 (`+e(S.value+1)+`) `,1)]),_:1}),a(f,{onClick:l[1]||=e=>c.$router.push(`/dashboard`)},{default:t(()=>[...l[5]||=[u(`回到工作台`,-1)]]),_:1})])])]))}},[[`__scopeId`,`data-v-198cda05`]]);export{y as default};
@@ -0,0 +1 @@
.fms-test-page[data-v-198cda05]{padding:16px}.fms-test-page__head h1[data-v-198cda05]{margin:0 0 4px;font-size:18px;font-weight:600}.fms-test-page__head p[data-v-198cda05]{color:var(--fms-text-secondary);margin:0;font-size:13px}.fms-test-page__body[data-v-198cda05]{margin-top:16px}.fms-test-page__card[data-v-198cda05]{border:1px solid var(--fms-border);border-radius:var(--fms-control-radius);background:var(--fms-card);padding:16px;font-size:13px;line-height:1.8}.fms-test-page__card code[data-v-198cda05]{background:var(--fms-background);border-radius:4px;padding:1px 6px}.fms-test-page__actions[data-v-198cda05]{gap:8px;margin-top:16px;display:flex}
@@ -0,0 +1,9 @@
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{et as t,p as n,t as r}from"./createLucideIcon-C_iUwQl2.js";import{p as i}from"./input-CDcVWtI6.js";var a=r(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),o=r(`gallery-vertical-end`,[[`path`,{d:`M7 2h10`,key:`nczekb`}],[`path`,{d:`M5 6h14`,key:`u2x4p`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`,key:`l0tzu3`}]]),s=r(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]);function c(e,t){return function(){return e.apply(t,arguments)}}var{toString:l}=Object.prototype,{getPrototypeOf:u}=Object,{iterator:d,toStringTag:f}=Symbol,p=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),m=(e,t)=>{let n=e,r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),p(n,t))return!0;n=u(n)}return!1},h=(e,t)=>e!=null&&m(e,t)?e[t]:void 0,g=(e=>t=>{let n=l.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),_=e=>(e=e.toLowerCase(),t=>g(t)===e),v=e=>t=>typeof t===e,{isArray:y}=Array,b=v(`undefined`);function x(e){return e!==null&&!b(e)&&e.constructor!==null&&!b(e.constructor)&&w(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var S=_(`ArrayBuffer`);function ee(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&S(e.buffer),t}var C=v(`string`),w=v(`function`),T=v(`number`),E=e=>typeof e==`object`&&!!e,te=e=>e===!0||e===!1,D=e=>{if(!E(e))return!1;let t=u(e);return(t===null||t===Object.prototype||u(t)===null)&&!m(e,f)&&!m(e,d)},O=e=>{if(!E(e)||x(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},k=_(`Date`),A=_(`File`),j=e=>!!(e&&e.uri!==void 0),M=e=>e&&e.getParts!==void 0,ne=_(`Blob`),re=_(`FileList`),ie=_(`Set`),N=e=>E(e)&&w(e.pipe);function ae(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var P=ae(),F=P.FormData===void 0?void 0:P.FormData,oe=e=>{if(!e)return!1;if(F&&e instanceof F)return!0;let t=u(e);if(!t||t===Object.prototype||!w(e.append))return!1;let n=g(e);return n===`formdata`||n===`object`&&w(e.toString)&&e.toString()===`[object FormData]`},se=_(`URLSearchParams`),[ce,le,ue,de]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(_),fe=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function I(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),y(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{if(x(e))return;let i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length,o;for(r=0;r<a;r++)o=i[r],t.call(null,e[o],o,e)}}function pe(e,t){if(x(e))return null;t=t.toLowerCase();let n=Object.keys(e),r=n.length,i;for(;r-->0;)if(i=n[r],t===i.toLowerCase())return i;return null}var L=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,me=e=>!b(e)&&e!==L;function he(...e){let{caseless:t,skipUndefined:n}=me(this)&&this||{},r={},i=(e,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=t&&typeof i==`string`&&pe(r,i)||i,o=p(r,a)?r[a]:void 0;D(o)&&D(e)?r[a]=he(o,e):D(e)?r[a]=he({},e):y(e)?r[a]=e.slice():(!n||!b(e))&&(r[a]=e)};for(let t=0,n=e.length;t<n;t++){let n=e[t];if(!n||x(n)||(I(n,i),typeof n!=`object`||y(n)))continue;let r=Object.getOwnPropertySymbols(n);for(let e=0;e<r.length;e++){let t=r[e];De.call(n,t)&&i(n[t],t)}}return r}var ge=(e,t,n,{allOwnKeys:r}={})=>(I(t,(t,r)=>{n&&w(t)?Object.defineProperty(e,r,{__proto__:null,value:c(t,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,r,{__proto__:null,value:t,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),_e=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),ve=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},ye=(e,t,n,r)=>{let i,a,o,s={};if(t||={},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-->0;)o=i[a],(!r||r(o,e,t))&&!s[o]&&(t[o]=e[o],s[o]=!0);e=n!==!1&&u(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},be=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},xe=e=>{if(!e)return null;if(y(e))return e;let t=e.length;if(!T(t))return null;let n=Array(t);for(;t-->0;)n[t]=e[t];return n},Se=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&uLine truncated
`).forEach(function(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim();let a=R.hasOwnProp(t,n);!n||a&&R.hasOwnProp(Ve,n)||(n===`set-cookie`?a?t[n].push(r):t[n]=[r]:t[n]=a?t[n]+`, `+r:r)}),t};function Ue(e){let t=0,n=e.length;for(;t<n;){let n=e.charCodeAt(t);if(n!==9&&n!==32)break;t+=1}for(;n>t;){let t=e.charCodeAt(n-1);if(t!==9&&t!==32)break;--n}return t===0&&n===e.length?e:e.slice(t,n)}var We=RegExp(`[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+`,`g`),Ge=RegExp(`[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+`,`g`);function Ke(e,t){return R.isArray(e)?e.map(e=>Ke(e,t)):Ue(String(e).replace(t,``))}var qe=e=>Ke(e,We),Je=e=>Ke(e,Ge);function Ye(e){let t=Object.create(null);return R.forEach(e.toJSON(),(e,n)=>{t[n]=Je(e)}),t}var Xe=Symbol(`internals`);function z(e){return e&&String(e).trim().toLowerCase()}function B(e){return e===!1||e==null?e:R.isArray(e)?e.map(B):qe(String(e))}function Ze(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var Qe=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function $e(e){let t=0,n=e.length;for(;t<n;){let n=e.charCodeAt(t);if(n!==9&&n!==32)break;t+=1}for(;n>t;){let t=e.charCodeAt(n-1);if(t!==9&&t!==32)break;--n}return t===0&&n===e.length?e:e.slice(t,n)}function et(e){let t=e.length-1;if(t<1||e.charCodeAt(0)!==34||e.charCodeAt(t)!==34)return e;let n=``;for(let r=1;r<t;r++){let i=e.charCodeAt(r);if(i===34||i===92&&(r+=1,r>=t))return e;n+=e[r]}return n}function tt(e){let t=Object.create(null),n=String(e),r=0,i=!1,a=!1;function o(e){let i=$e(n.slice(r,e)),a=i.indexOf(`=`);if(a<1)return;let o=$e(i.slice(0,a));if(!Qe.test(o))return;let s=o.toLowerCase();if(s===`__proto__`||s===`constructor`||s===`prototype`)return;let c=$e(i.slice(a+1));t[s]=et(c)}for(let e=0;e<n.length;e++){let t=n.charCodeAt(e);i?a?a=!1:t===92?a=!0:t===34&&(i=!1):t===34?i=!0:(t===44||t===59)&&(o(e),r=e+1)}return o(n.length),t}var nt=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function rt(e,t,n,r,i){if(R.isFunction(r))return r.call(this,t,n);if(i&&(t=n),R.isString(t)){if(R.isString(r))return t.indexOf(r)!==-1;if(R.isRegExp(r))return r.test(t)}}function it(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function at(e,t){let n=R.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var V=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function i(e,t,n){let i=z(t);if(!i)return;let a=R.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(r[a||t]=B(e))}let a=(e,t)=>R.forEach(e,(e,n)=>i(e,n,t));if(R.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(R.isString(e)&&(e=e.trim())&&!nt(e))a(He(e),t);else if(R.isObject(e)&&R.isSafeIterable(e)){let n=Object.create(null),r,i;for(let t of e){if(!R.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);i=t[0],R.hasOwnProp(n,i)?(r=n[i],n[i]=R.isArray(r)?[...r,t[1]]:[r,t[1]]):n[i]=t[1]}a(n,t)}else e!=null&&i(t,e,n);return this}get(e,t){if(e=z(e),e){let n=R.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return Ze(e);if(R.isFunction(t))return t.call(this,e,n);if(R.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=z(e),e){let n=R.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||rt(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function i(e){if(e=z(e),e){let i=R.findKey(n,e);i&&(!t||rt(n,n[i],i,t))&&(delete n[i],r=!0)}}return R.isArray(e)?e.forEach(i):i(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||rt(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return R.forEach(this,(r,i)=>{let a=R.findKey(n,i);if(a){t[a]=B(r),delete t[i];return}let o=e?it(i):String(i).trim();o!==i&&delete t[i],t[o]=B(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return R.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&R.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(`
`)}getSetCookie(){let e=this.get(`set-cookie`);return R.isArray(e)?e:e==null||e===!1?[]:[e]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static parseParameters(e){return tt(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[Xe]=this[Xe]={accessors:{}}).accessors,n=this.prototype;function r(e){let r=z(e);t[r]||(at(n,e),t[r]=!0)}return R.isArray(e)?e.forEach(r):r(e),this}};V.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),R.reduceDescriptors(V.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),R.freezeMethods(V);var H=`[REDACTED ****]`;function ot(e){if(R.hasOwnProp(e,`toJSON`))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(R.hasOwnProp(t,`toJSON`))return!0;t=Object.getPrototypeOf(t)}return!1}function st(e,t){let n=new Set(t.map(e=>String(e).toLowerCase())),r=[],i=e=>{if(typeof e!=`object`||!e||R.isBuffer(e))return e;if(r.indexOf(e)!==-1)return;e instanceof V&&(e=e.toJSON()),r.push(e);let t;if(R.isArray(e))t=[],e.forEach((e,n)=>{let r=i(e);R.isUndefined(r)||(t[n]=r)});else{if(!R.isPlainObject(e)&&ot(e))return r.pop(),e;t=Object.create(null);for(let[r,a]of Object.entries(e)){let e=n.has(r.toLowerCase())?H:i(a);R.isUndefined(e)||(t[r]=e)}}return r.pop(),t};return i(e)}function ct(e){try{return String(e)}catch{return``}}function lt(e){return e.errors.map(e=>{try{return e&&e.message?ct(e.message):ct(e)}catch{return``}}).filter(Boolean).join(`; `)||e.name||`AggregateError`}var U=class e extends Error{static from(t,n,r,i,a,o){let s=t.message;!s&&R.isArray(t.errors)&&t.errors.length&&(s=lt(t));let c=new e(s,n||t.code,r,i,a);return Object.defineProperty(c,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),c.name=t.name,t.status!=null&&c.status==null&&(c.status=t.status),o&&Object.assign(c,o),c}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){let e=this.config,t=e&&R.hasOwnProp(e,`redact`)?e.redact:void 0,n=R.isArray(t)&&t.length>0?st(e,t):R.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:n,code:this.code,status:this.status}}};U.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,U.ERR_BAD_OPTION=`ERR_BAD_OPTION`,U.ECONNABORTED=`ECONNABORTED`,U.ETIMEDOUT=`ETIMEDOUT`,U.ECONNREFUSED=`ECONNREFUSED`,U.ERR_NETWORK=`ERR_NETWORK`,U.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,U.ERR_DEPRECATED=`ERR_DEPRECATED`,U.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,U.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,U.ERR_CANCELED=`ERR_CANCELED`,U.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,U.ERR_INVALID_URL=`ERR_INVALID_URL`,U.ERR_FORM_DATA_DEPTH_EXCEEDED=`ERR_FORM_DATA_DEPTH_EXCEEDED`;function ut(e){return R.isPlainObject(e)||R.isArray(e)}function dt(e){return R.endsWith(e,`[]`)?e.slice(0,-2):e}function ft(e,t,n){return e?e.concat(t).map(function(e,t){return e=dt(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function pt(e){return R.isArray(e)&&!e.some(ut)}var mt=R.toFlatObject(R,{},null,function(e){return/^is[A-Z]/.test(e)});function W(e,t,n){if(!R.isObject(e))throw TypeError(`target must be an object`);t||=new FormData,n=R.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!R.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||m,a=n.dots,o=n.indexes,s=n.Blob||typeof Blob<`u`&&Blob,c=n.maxDepth===void 0?100:n.maxDepth,l=s&&R.isSpecCompliantForm(t),u=[];if(!R.isFunction(i))throw TypeError(`visitor must be a function`);function d(e){if(e===null)return``;if(R.isDate(e))return e.toISOString();if(R.isBoolean(e))return e.toString();if(!l&&R.isBlob(e))throw new U(`Blob is not supported. Use a Buffer instead.`);if(R.isArrayBuffer(e)||R.isTypedArray(e)){if(l&&typeof s==`function`)return new s([e]);throw new U(`Blob is not supported. Use a Buffer instead.`,U.ERR_NOT_SUPPORT)}return e}function f(e){if(e>c)throw new U(`Object is too deeply nested (`+e+` levels). Max depth: `+c,U.ERR_FORM_DATA_DEPTH_EXCEEDED)}function p(e,t){if(c===1/0)return JSON.stringify(e);let n=[];return JSON.stringify(e,function(e,r){if(!R.isObject(r))return r;for(;n.length&&n[n.length-1]!==this;)n.pop();return n.push(r),f(t+n.length-1),r})}function m(e,n,i){let s=e;if(R.isReactNative(t)&&R.isReactNativeBlob(e))return t.append(ft(i,n,a),d(e)),!1;if(e&&!i&&typeof e==`object`){if(R.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=p(e,1);else if(R.isArray(e)&&pt(e)||(R.isFileList(e)||R.endsWith(n,`[]`))&&(s=R.toArray(e)))return n=dt(n),s.forEach(function(e,r){!(R.isUndefined(e)||e===null)&&t.append(o===!0?ft([n],r,a):o===null?n:n+`[]`,d(e))}),!1}re Line truncated
`+e.map(Ln).join(`
`):` `+Ln(e[0]):`as no adapter specified`),U.ERR_NOT_SUPPORT)}return i}var Bn={getAdapter:zn,adapters:In};function Vn(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new J(null,e)}function Hn(e){return Vn(e),e.headers=V.from(e.headers),e.data=It.call(e,e.transformRequest),[`post`,`put`,`patch`].indexOf(e.method)!==-1&&e.headers.setContentType(`application/x-www-form-urlencoded`,!1),Bn.getAdapter(e.adapter||q.adapter,e)(e).then(function(t){Vn(e),e.response=t;try{t.data=It.call(e,e.transformResponse,t)}finally{delete e.response}return t.headers=V.from(t.headers),t},function(t){if(!Lt(t)&&(Vn(e),t&&t.response)){e.response=t.response;try{t.response.data=It.call(e,e.transformResponse,t.response)}finally{delete e.response}t.response.headers=V.from(t.response.headers)}return Promise.reject(t)})}var Un={};[`object`,`boolean`,`number`,`function`,`string`,`symbol`].forEach((e,t)=>{Un[e]=function(n){return typeof n===e||`a`+(t<1?`n `:` `)+e}});var Wn={};Un.transitional=function(e,t,n){function r(e,t){return`[Axios v`+En+`] Transitional option '`+e+`'`+t+(n?`. `+n:``)}return(n,i,a)=>{if(e===!1)throw new U(r(i,` has been removed`+(t?` in `+t:``)),U.ERR_DEPRECATED);return t&&!Wn[i]&&(Wn[i]=!0,console.warn(r(i,` has been deprecated since v`+t+` and will be removed in the near future`))),!e||e(n,i,a)}},Un.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function Gn(e,t,n){if(typeof e!=`object`||!e)throw new U(`options must be an object`,U.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),i=r.length;for(;i-->0;){let a=r[i],o=Object.prototype.hasOwnProperty.call(t,a)?t[a]:void 0;if(o){let t=e[a],n=t===void 0||o(t,a,e);if(n!==!0)throw new U(`option `+a+` must be `+n,U.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new U(`Unknown option `+a,U.ERR_BAD_OPTION)}}var Kn={assertOptions:Gn,validators:Un},X=Kn.validators,Z=class{constructor(e){this.defaults=e||{},this.interceptors={request:new bt,response:new bt}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=Error();let n=(()=>{if(!t.stack)return``;let e=t.stack.indexOf(`
`);return e===-1?``:t.stack.slice(e+1)})();try{if(!e.stack)e.stack=n;else if(n){let t=n.indexOf(`
`),r=t===-1?-1:n.indexOf(`
`,t+1),i=r===-1?``:n.slice(r+1);String(e.stack).endsWith(i)||(e.stack+=`
`+n)}}catch{}}throw e}}_request(e,t){typeof e==`string`?(t||={},t.url=e):t=e||{},t=Y(this.defaults,t);let{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&Kn.assertOptions(n,{silentJSONParsing:X.transitional(X.boolean),forcedJSONParsing:X.transitional(X.boolean),clarifyTimeoutError:X.transitional(X.boolean),legacyInterceptorReqResOrdering:X.transitional(X.boolean),advertiseZstdAcceptEncoding:X.transitional(X.boolean),validateStatusUndefinedResolves:X.transitional(X.boolean)},!1),r!=null&&(R.isFunction(r)?t.paramsSerializer={serialize:r}:Kn.assertOptions(r,{encode:X.function,serialize:X.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls===void 0?t.allowAbsoluteUrls=!0:t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls),Kn.assertOptions(t,{baseUrl:X.spelling(`baseURL`),withXsrfToken:X.spelling(`withXSRFToken`)},!0),t.method=(t.method||this.defaults.method||`get`).toLowerCase();let a=i&&R.merge(i.common,i[t.method]);i&&R.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`query`,`common`],e=>{delete i[e]}),t.headers=V.concat(a,i);let o=[],s=!0;this.interceptors.request.forEach(function(e){if(typeof e.runWhen==`function`&&e.runWhen(t)===!1)return;s&&=e.synchronous;let n=t.transitional||xt;n&&n.legacyInterceptorReqResOrdering?o.unshift(e.fulfilled,e.rejected):o.push(e.fulfilled,e.rejected)});let c=[];this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,u=0,d;if(!s){let e=[Hn.bind(this),void 0];for(e.unshift(...o),e.push(...c),d=e.length,l=Promise.resolve(t);u<d;)l=l.then(e[u++],e[u++]);return l}d=o.length;let f=t;for(;u<d;){let e=o[u++],t=o[u++];try{f=e?e(f):f}catch(e){if(!t){l=Promise.reject(e);break}try{let n=t.call(this,e);R.isThenable(n)&&(l=Promise.resolve(n).then(()=>Hn.call(this,f)))}catch(e){l=Promise.reject(e)}break}}if(!l)try{l=Hn.call(this,f)}catch(e){l=Promise.reject(e)}for(u=0,d=c.length;u<d;)l=l.then(c[u++],c[u++]);return l}getUri(e){return e=Y(this.defaults,e),yt(nn(e.baseURL,e.url,e.allowAbsoluteUrls,e),e.params,e.paramsSerializer)}};R.forEach([`delete`,`get`,`head`,`options`],function(e){Z.prototype[e]=function(t,n){return this.request(Y(n||{},{method:e,url:t,data:n&&R.hasOwnProp(n,`data`)?n.data:void 0}))}}),R.forEach([`post`,`put`,`patch`,`query`],function(e){function t(t){return function(n,r,i){return this.request(Y(i||{},{method:e,headers:t?{"Content-Type":`multipart/form-data`}:{},url:n,data:r}))}}Z.prototype[e]=t(),e!==`query`&&(Z.prototype[e+`Form`]=t(!0))});var qn=class e{constructor(e){if(typeof e!=`function`)throw TypeError(`executor must be a function.`);let t;this.promise=new Promise(function(e){t=e});let n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-->0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,i){n.reason||(n.reason=new J(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}};function Jn(e){return function(t){return e.apply(null,t)}}function Yn(e){return R.isObject(e)&&e.isAxiosError===!0}var Xn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Xn).forEach(([e,t])=>{Xn[t]=e});function Zn(e) Line truncated
@@ -0,0 +1 @@
.button[data-v-9cc9c4e7]{min-height:var(--fms-control-height);justify-content:center;align-items:center;gap:6px;display:inline-flex}.button[data-v-9cc9c4e7] svg{width:1em;height:1em}.button[data-v-9cc9c4e7]{padding:0 var(--fms-control-padding-x);font-size:var(--fms-font-size);font-family:inherit;font-weight:500;line-height:var(--fms-line-height);border-radius:var(--fms-control-radius);cursor:pointer;border:1px solid #0000;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.button[data-v-9cc9c4e7]:active{transform:scale(.97)}.button[data-v-9cc9c4e7]:focus-visible{outline:2px solid var(--fms-primary);outline-offset:2px}.button-block[data-v-9cc9c4e7]{width:100%;display:flex}.button-default[data-v-9cc9c4e7]{background:var(--fms-primary);color:var(--fms-primary-text)}.button-default[data-v-9cc9c4e7]:hover:not(:disabled){background:var(--fms-primary-hover)}.button-default[data-v-9cc9c4e7]:active{background:var(--fms-primary-active)}.button-secondary[data-v-9cc9c4e7]{background:var(--fms-secondary-hover);color:var(--fms-text)}.button-secondary[data-v-9cc9c4e7]:hover:not(:disabled){background:color-mix(in srgb, var(--fms-secondary-hover) 92%, var(--fms-text))}.button-outline[data-v-9cc9c4e7]{border-color:var(--fms-border);color:var(--fms-text);background:0 0}.button-outline[data-v-9cc9c4e7]:hover:not(:disabled){background:var(--fms-secondary-hover)}.button-ghost[data-v-9cc9c4e7]{color:var(--fms-text-secondary);background:0 0}.button-ghost[data-v-9cc9c4e7]:hover:not(:disabled){background:var(--fms-secondary);color:var(--fms-text)}.button-danger[data-v-9cc9c4e7]{background:var(--fms-danger);color:var(--fms-danger-text)}.button-danger[data-v-9cc9c4e7]:hover:not(:disabled){background:color-mix(in srgb, var(--fms-danger) 88%, #000)}.button-link[data-v-9cc9c4e7]{color:var(--fms-primary);background:0 0;padding:0 4px}.button-link[data-v-9cc9c4e7]:hover:not(:disabled){color:var(--fms-primary-hover);text-decoration:underline}.button[data-v-9cc9c4e7]:disabled{opacity:.5;cursor:not-allowed}.button-loading[data-v-9cc9c4e7]{cursor:default}.button-loading[data-v-9cc9c4e7] svg:not(.button-spinner){display:none}[data-v-9cc9c4e7] .button-spinner{flex-shrink:0;width:1em;height:1em;animation:.8s linear infinite button-spin-9cc9c4e7}@keyframes button-spin-9cc9c4e7{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button[data-v-9cc9c4e7]{transition:none}.button-spinner[data-v-9cc9c4e7],[data-v-9cc9c4e7] .button-spinner{animation:none}}
@@ -0,0 +1 @@
import{I as e,N as t,_ as n,at as r,g as i,h as a,o,p as s,t as c,xt as l}from"./createLucideIcon-C_iUwQl2.js";var u=c(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),d=[`type`,`disabled`,`aria-busy`],f=o({__name:`button`,props:{type:{type:String,default:`default`,validator:e=>[`default`,`secondary`,`outline`,`ghost`,`danger`,`link`].includes(e)},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},block:{type:Boolean,default:!1},htmlType:{type:String,default:`button`,validator:e=>[`button`,`submit`,`reset`].includes(e)}},setup(o){let c=o,f=s(()=>c.disabled||c.loading),p=s(()=>[`button`,`button-${c.type}`,c.block?`button-block`:``,c.loading?`button-loading`:``]);return(s,c)=>(t(),n(`button`,{type:o.htmlType,class:l(p.value),disabled:f.value,"aria-busy":o.loading||void 0},[o.loading?(t(),a(r(u),{key:0,class:`button-spinner`,"aria-hidden":`true`})):i(``,!0),e(s.$slots,`default`,{},void 0,!0)],10,d))}},[[`__scopeId`,`data-v-9cc9c4e7`]]);export{u as n,f as t};
@@ -0,0 +1 @@
function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>S(e)===`[object Map]`,p=e=>S(e)===`[object Set]`,m=e=>S(e)===`[object Date]`,h=e=>S(e)===`[object RegExp]`,g=e=>typeof e==`function`,_=e=>typeof e==`string`,v=e=>typeof e==`symbol`,y=e=>typeof e==`object`&&!!e,b=e=>(y(e)||g(e))&&g(e.then)&&g(e.catch),x=Object.prototype.toString,S=e=>x.call(e),C=e=>S(e).slice(8,-1),w=e=>S(e)===`[object Object]`,T=e=>_(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ee=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ne=/-\w/g,E=te(e=>e.replace(ne,e=>e.slice(1).toUpperCase())),re=/\B([A-Z])/g,D=te(e=>e.replace(re,`-$1`).toLowerCase()),ie=te(e=>e.charAt(0).toUpperCase()+e.slice(1)),ae=te(e=>e?`on${ie(e)}`:``),O=(e,t)=>!Object.is(e,t),k=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},oe=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},se=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ce=e=>{let t=_(e)?Number(e):NaN;return isNaN(t)?e:t},le,ue=()=>le||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function de(e){if(d(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=_(r)?he(r):de(r);if(i)for(let e in i)t[e]=i[e]}return t}if(_(e)||y(e))return e}var fe=/;(?![^(]*\))/g,pe=/:([^]+)/,me=/\/\*[^]*?\*\//g;function he(e){let t={};return e.replace(me,``).split(fe).forEach(e=>{if(e){let n=e.split(pe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ge(e){let t=``;if(_(e))t=e;else if(d(e))for(let n=0;n<e.length;n++){let r=ge(e[n]);r&&(t+=r+` `)}else if(y(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var _e=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,ve=e(_e);_e+``;function ye(e){return!!e||e===``}function be(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=xe(e[r],t[r]);return n}function xe(e,t){if(e===t)return!0;let n=m(e),r=m(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=v(e),r=v(t),n||r)return e===t;if(n=d(e),r=d(t),n||r)return n&&r?be(e,t):!1;if(n=y(e),r=y(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!xe(e[n],t[n]))return!1}}return String(e)===String(t)}var Se=e=>!!(e&&e.__v_isRef===!0),Ce=e=>_(e)?e:e==null?``:d(e)||y(e)&&(e.toString===x||!g(e.toString))?Se(e)?Ce(e.value):JSON.stringify(e,we,2):String(e),we=(e,t)=>Se(t)?we(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Te(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Te(e))}:v(t)?Te(t):y(t)&&!d(t)&&!w(t)?String(t):t,Te=(e,t=``)=>v(e)?`Symbol(${e.description??t})`:e,A,Ee=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&A&&(A.active?(this.parent=A,this.index=(A.scopes||(A.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].pause()}for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}let n=this.effects.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}}run(e){if(this._active){let t=A;try{return A=this,e()}finally{A=t}}}on(){++this._on===1&&(this.prevScope=A,A=this)}off(){if(this._on>0&&--this._on===0){if(A===this)A=this.prevScope;else{let e=A;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){let e=this.scopes.slice();for(t=0,n=e.length;t<n;t++)e[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function De(e){return new Ee(e)}function Oe(){return A}function ke(e,t=!1){A&&A.cleanups.push(e)}var j,Ae=new WeakSet,je=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,A&&(A.active?A.effects.push(this):this.flags&=-2)}pause(){this.Line truncated
@@ -0,0 +1 @@
.dashboard-page[data-v-f7a81669]{min-height:100%;color:var(--fms-text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.dashboard-icon[data-v-f7a81669]{background:color-mix(in srgb, var(--fms-primary) 10%, var(--fms-card));width:52px;height:52px;color:var(--fms-primary);border-radius:12px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.dashboard-icon [data-v-f7a81669] svg{width:26px;height:26px}.dashboard-title[data-v-f7a81669]{margin:0;font-size:22px;font-weight:600}.dashboard-desc[data-v-f7a81669]{color:var(--fms-text-secondary);margin:0;font-size:14px}
@@ -0,0 +1 @@
import{N as e,_ as t,at as n,b as r,m as i,o as a}from"./createLucideIcon-C_iUwQl2.js";import{t as o}from"./layout-dashboard-Df69lvPG.js";var s={class:`dashboard-page`},c={class:`dashboard-icon`,"aria-hidden":`true`},l=a({__name:`index`,setup(a){return(a,l)=>(e(),t(`div`,s,[i(`div`,c,[r(n(o))]),l[0]||=i(`h1`,{class:`dashboard-title`},`工作台`,-1),l[1]||=i(`p`,{class:`dashboard-desc`},`布局壳与业务页面正在搭建中,敬请期待。`,-1)]))}},[[`__scopeId`,`data-v-f7a81669`]]);export{l as default};
@@ -0,0 +1,2 @@
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{$ as n,A as r,Ct as i,D as a,E as o,F as s,G as c,H as l,I as u,K as d,L as f,N as p,O as m,P as h,R as g,St as _,V as v,W as y,_ as b,at as x,b as S,d as C,et as w,g as T,h as E,j as D,k as O,l as k,m as A,o as j,p as M,xt as N,y as P}from"./createLucideIcon-C_iUwQl2.js";import{_ as F,a as I,b as L,d as R,h as z,i as B,m as V,n as H,r as U,s as ee,t as W,u as te,v as ne,x as G,y as re}from"./input-CDcVWtI6.js";import{A as ie,C as ae,D as oe,E as se,M as ce,N as le,O as ue,P as K,S as de,T as fe,_ as pe,a as me,b as he,c as ge,d as _e,f as ve,g as ye,h as be,i as xe,j as Se,k as Ce,l as we,m as Te,n as Ee,r as De,s as Oe,t as ke,u as Ae,v as je,w as Me,x as Ne,y as Pe}from"./ColorThemePicker-Bdd_P9uX.js";import{n as Fe,t as q}from"./button-t9yUGN1c.js";import{n as Ie,t as Le}from"./form-item-3JH0S_Y_.js";var Re={class:`showcase-section`,"aria-labelledby":`button-title`},ze={class:`demo-panel`},Be={class:`demo-panel`},Ve={class:`demo-panel`},He={class:`demo-panel`},Ue={class:`demo-panel`},We={__name:`button`,setup(e){return(e,t)=>(p(),b(`section`,Re,[t[17]||=A(`div`,{class:`section-heading`},[A(`p`,{class:`eyebrow`},`Components`),A(`h2`,{id:`button-title`},`Button 按钮`),A(`p`,null,`保持克制的交互组件,优先保证可读性和响应速度。`)],-1),t[18]||=A(`p`,{class:`demo-label`},`基础用法`,-1),A(`div`,ze,[S(q,{type:`default`},{default:c(()=>[...t[0]||=[P(`主要操作`,-1)]]),_:1}),S(q,{type:`secondary`},{default:c(()=>[...t[1]||=[P(`次要操作`,-1)]]),_:1}),S(q,{type:`outline`},{default:c(()=>[...t[2]||=[P(`描边按钮`,-1)]]),_:1}),S(q,{type:`ghost`},{default:c(()=>[...t[3]||=[P(`低强调`,-1)]]),_:1}),S(q,{type:`danger`},{default:c(()=>[...t[4]||=[P(`危险操作`,-1)]]),_:1}),S(q,{type:`link`},{default:c(()=>[...t[5]||=[P(`链接按钮`,-1)]]),_:1})]),t[19]||=A(`p`,{class:`demo-label`},`禁用态`,-1),A(`div`,Be,[S(q,{disabled:``},{default:c(()=>[...t[6]||=[P(`默认禁用`,-1)]]),_:1}),S(q,{type:`secondary`,disabled:``},{default:c(()=>[...t[7]||=[P(`次要禁用`,-1)]]),_:1}),S(q,{type:`outline`,disabled:``},{default:c(()=>[...t[8]||=[P(`描边禁用`,-1)]]),_:1}),S(q,{type:`danger`,disabled:``},{default:c(()=>[...t[9]||=[P(`危险禁用`,-1)]]),_:1})]),t[20]||=A(`p`,{class:`demo-label`},`加载态`,-1),A(`div`,Ve,[S(q,{loading:``},{default:c(()=>[...t[10]||=[P(`提交中`,-1)]]),_:1}),S(q,{type:`secondary`,loading:``},{default:c(()=>[...t[11]||=[P(`保存中`,-1)]]),_:1}),S(q,{type:`outline`,loading:``},{default:c(()=>[...t[12]||=[P(`加载中`,-1)]]),_:1})]),t[21]||=A(`p`,{class:`demo-label`},`通栏`,-1),A(`div`,He,[S(q,{block:``},{default:c(()=>[...t[13]||=[P(`通栏按钮`,-1)]]),_:1})]),t[22]||=A(`p`,{class:`demo-label`},`图标按钮`,-1),A(`div`,Ue,[S(q,null,{default:c(()=>[S(x(ve)),t[14]||=P(` 新建`,-1)]),_:1}),S(q,{type:`secondary`},{default:c(()=>[S(x(Ae)),t[15]||=P(` 搜索`,-1)]),_:1}),S(q,{type:`outline`},{default:c(()=>[t[16]||=P(`删除 `,-1),S(x(me))]),_:1}),S(q,{type:`danger`,"aria-label":`删除`},{default:c(()=>[S(x(me))]),_:1}),S(q,{type:`ghost`,"aria-label":`新建`},{default:c(()=>[S(x(ve))]),_:1})])]))}},Ge=[`data-orientation`],Ke=j({__name:`button-group`,props:{orientation:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)}},setup(e){let t=e,n=M(()=>[`button-group`,t.orientation===`vertical`?`button-group-vertical`:``]);return(t,r)=>(p(),b(`div`,{class:N(n.value),role:`group`,"data-slot":`button-group`,"data-orientation":e.orientation},[u(t.$slots,`default`,{},void 0,!0)],10,Ge))}},[[`__scopeId`,`data-v-099a2917`]]),qe=j({__name:`button-group-separator`,props:{orientation:{type:String,default:`vertical`,validator:e=>[`horizontal`,`vertical`].includes(e)}},setup(e){let t=e,n=M(()=>[`button-group-separator`,t.orientation===`horizontal`?`button-group-separator-horizontal`:``]);return(e,t)=>(p(),b(`div`,{class:N(n.value),"data-slot":`button-group-separator`,"aria-hidden":`true`},null,2))}},[[`__scopeId`,`data-v-d1854c61`]]),Je={class:`showcase-section`,"aria-labelledby":`button-group-title`},Ye={class:`demo-panel`},Xe={class:`demo-panel`},Ze={class:`demo-panel`},Qe={__name:`button-group`,setup(e){return(e,t)=>(p(),b(`section`,Je,[t[12]||=A(`div`,{class:`section-heading`},[A(`p`,{class:`eyebrow`},`Components`),A(`h2`,{id:`button-group-title`},`ButtonGroup 按钮组`),A(`p`,null,`将多个按钮组合为关联操作,支持分隔线与垂直布局。`)],-1),t[13]||=A(`p`,{class:`demo-label`},`基础用法`,-1),A(`div`,Ye,[S(Ke,null,{default:c(()=>[S(q,{type:`outline`},{default:c(()=>[S(x(ve)),t[0]||=P(` 新建`,-1)]),_:1}),S(q,{type:`outline`},{default:c(()=>[...t[1]||=[P(`编辑`,-1)]]),_:1}),S(q,{type:`outline`},{default:c(()=>[...t[2]||=[P(`删除`,-1)]]),_:1})]),_:1}),S(Ke,null,{default:c(()=>[S(q,null,{default:c(()=>[...t[3]||=[P(`左`,-1)]]),_:1}),S(qe),S(q,null,{default:c(()=>[...t[4]||=[P(`中`,-1)]]),_:1}),S(qe),S(q,null,{default:c(()=>[...t[5]||=[P(`右`,Line truncated
第二行提示`,Ti={__name:`tooltip`,setup(e){let t=[`top`,`top-start`,`top-end`,`bottom`,`bottom-start`,`bottom-end`,`left`,`left-start`,`left-end`,`right`,`right-start`,`right-end`];return(e,n)=>(p(),b(`section`,yi,[n[6]||=A(`div`,{class:`section-heading`},[A(`p`,{class:`eyebrow`},`Components`),A(`h2`,{id:`tooltip-title`},`Tooltip 文字提示`),A(`p`,null,`hover 触发的轻量提示,支持纯文本与富内容、十二方位、箭头开关与禁用。`)],-1),n[7]||=A(`p`,{class:`demo-label`},`基础用法`,-1),A(`div`,bi,[S(vi,{content:`这是一个文字提示`},{default:c(()=>[S(q,null,{default:c(()=>[...n[0]||=[P(`悬停查看提示`,-1)]]),_:1})]),_:1}),S(vi,{content:wi},{default:c(()=>[S(q,{type:`outline`},{default:c(()=>[...n[1]||=[P(`多行提示`,-1)]]),_:1})]),_:1}),S(vi,{arrow:!1,content:`无箭头提示`},{default:c(()=>[S(q,{type:`ghost`},{default:c(()=>[...n[2]||=[P(`无箭头`,-1)]]),_:1})]),_:1})]),n[8]||=A(`p`,{class:`demo-label`},`富内容`,-1),A(`div`,xi,[S(vi,{placement:`top`},{content:c(()=>[...n[3]||=[A(`p`,{class:`popover-demo-title`},`富内容标题`,-1),A(`p`,{class:`popover-demo-text`},`可以放标题与说明文字。`,-1)]]),default:c(()=>[S(q,{type:`secondary`},{default:c(()=>[...n[4]||=[P(`悬停查看富内容`,-1)]]),_:1})]),_:1})]),n[9]||=A(`p`,{class:`demo-label`},`十二方位`,-1),A(`div`,Si,[(p(),b(k,null,s(t,e=>S(vi,{key:e,placement:e,content:e},{default:c(()=>[S(q,{type:`outline`},{default:c(()=>[P(i(e),1)]),_:2},1024)]),_:2},1032,[`placement`,`content`])),64))]),n[10]||=A(`p`,{class:`demo-label`},`禁用`,-1),A(`div`,Ci,[S(vi,{content:`禁用后不显示`,disabled:``},{default:c(()=>[S(q,{type:`outline`},{default:c(()=>[...n[5]||=[P(`禁用提示`,-1)]]),_:1})]),_:1})])]))}},Ei={class:`showcase-section`,"aria-labelledby":`message-title`},Di={class:`placement-grid`},Oi=[`onClick`],ki={class:`demo-panel`},Ai={class:`demo-panel`},ji={class:`demo-panel`},Mi=j({__name:`message`,setup(e){let t=[`top-left`,`top-center`,`top-right`,`center-left`,`center`,`center-right`,`bottom-left`,`bottom-center`,`bottom-right`],n=w(`top-center`);function r(){H.info(`正在上传文件…`),H.success(`文件上传完成`),H.warning(`其中 2 个文件已跳过`)}function a(e){n.value=e,H.config({placement:e}),H.info(`消息出现在 ${e}`)}return(e,o)=>(p(),b(`section`,Ei,[o[11]||=A(`div`,{class:`section-heading`},[A(`p`,{class:`eyebrow`},`Components`),A(`h2`,{id:`message-title`},`Message 轻提示`),A(`p`,null,`页面顶部居中的轻量反馈,用于操作结果提示,默认自动消失,不阻塞交互。`)],-1),o[12]||=A(`p`,{class:`demo-label`},`出现位置(9 方位)`,-1),A(`div`,Di,[(p(),b(k,null,s(t,e=>A(`button`,{key:e,type:`button`,class:N([`placement-cell`,{"placement-cell-active":n.value===e}]),onClick:t=>a(e)},i(e),11,Oi)),64))]),o[13]||=A(`p`,{class:`demo-label`},`四种类型`,-1),A(`div`,ki,[S(q,{type:`outline`,onClick:o[0]||=e=>x(H).info(`这是一条普通信息提示`)},{default:c(()=>[...o[5]||=[P(`Info`,-1)]]),_:1}),S(q,{type:`outline`,onClick:o[1]||=e=>x(H).success(`操作成功,数据已保存`)},{default:c(()=>[...o[6]||=[P(`Success`,-1)]]),_:1}),S(q,{type:`outline`,onClick:o[2]||=e=>x(H).warning(`当前内容尚未完成编辑`)},{default:c(()=>[...o[7]||=[P(`Warning`,-1)]]),_:1}),S(q,{type:`outline`,onClick:o[3]||=e=>x(H).error(`提交失败,请稍后重试`)},{default:c(()=>[...o[8]||=[P(`Error`,-1)]]),_:1})]),o[14]||=A(`p`,{class:`demo-label`},`可手动关闭`,-1),A(`div`,Ai,[S(q,{type:`outline`,onClick:o[4]||=e=>x(H).info(`可点击右侧关闭按钮立即移除`,{closable:!0,duration:0})},{default:c(()=>[...o[9]||=[P(` 常驻可关闭 `,-1)]]),_:1})]),o[15]||=A(`p`,{class:`demo-label`},`多条堆叠`,-1),A(`div`,ji,[S(q,{type:`outline`,onClick:r},{default:c(()=>[...o[10]||=[P(`连续触发 3 条`,-1)]]),_:1})])]))}},[[`__scopeId`,`data-v-fb911ced`]]),Ni={class:`fms-notification-body`},Pi={key:0,class:`fms-notification-title`},Fi={key:1,class:`fms-notification-desc`},Ii=j({__name:`notification`,props:{id:{type:String,default:``},type:{type:String,default:`info`,validator:e=>[`info`,`success`,`warning`,`error`].includes(e)},title:{type:String,default:``},description:{type:String,default:``},duration:{type:Number,default:4500},closable:{type:Boolean,default:!0}},emits:[`close`],setup(e,{emit:t}){let n=e,a=t,o={info:ee,success:R,warning:I,error:te},s=M(()=>o[n.type]||ee),c=null;function l(){c&&=(clearTimeout(c),null)}function u(){n.duration>0&&(c=setTimeout(()=>a(`close`),n.duration))}function d(){a(`close`)}return D(u),r(l),(t,n)=>(p(),b(`div`,{class:N([`fms-notification`,`fms-notification-${e.type}`]),role:`alert`},[(p(),E(g(s.value),{class:`fms-notification-icon`})),A(`div`,Ni,[e.title?(p(),b(`p`,Pi,i(e.title),1)):T(``,!0),e.description?(p(),b(`p`,Fi,i(e.description),1)):T(``,!0)]),e.closable?(p(),b(`button`,{key:0,type:`button`,class:`fms-notification-close`,"aria-label":`关闭`,onClick:d},[S(x(U),{size:14})])):T(``,!0)],2))}},[[`__scopLine truncated
@@ -0,0 +1 @@
.button-group[data-v-099a2917]{flex-direction:row;align-items:stretch;display:inline-flex}.button-group[data-v-099a2917]>.button{border-radius:0;margin-left:-1px;position:relative}.button-group[data-v-099a2917]>.button:first-child{border-top-left-radius:var(--fms-control-radius);border-bottom-left-radius:var(--fms-control-radius);margin-left:0}.button-group[data-v-099a2917]>.button:last-child{border-top-right-radius:var(--fms-control-radius);border-bottom-right-radius:var(--fms-control-radius)}.button-group[data-v-099a2917]>.button:focus-visible{z-index:1}.button-group-vertical[data-v-099a2917]{flex-direction:column;align-items:stretch}.button-group-vertical[data-v-099a2917]>.button{width:100%;margin-top:-1px;margin-left:0}.button-group-vertical[data-v-099a2917]>.button:first-child{border-radius:var(--fms-control-radius) var(--fms-control-radius) 0 0;margin-top:0}.button-group-vertical[data-v-099a2917]>.button:last-child{border-radius:0 0 var(--fms-control-radius) var(--fms-control-radius)}.button-group-separator[data-v-d1854c61]{background:var(--fms-border);z-index:1;align-self:stretch;width:1px;position:relative}.button-group-separator-horizontal[data-v-d1854c61]{width:auto;height:1px}.tabs[data-v-e5a98f75]{width:100%;font-size:var(--fms-font-size);line-height:var(--fms-line-height);color:var(--fms-text);display:flex}.tabs-top[data-v-e5a98f75]{flex-direction:column}.tabs-left[data-v-e5a98f75],.tabs-right[data-v-e5a98f75]{flex-direction:row;align-items:stretch}.tabs-nav[data-v-e5a98f75]{flex-shrink:0;display:flex}.tabs-nav-list[data-v-e5a98f75]{flex:auto;min-width:0;min-height:0;display:flex}.tabs-top .tabs-nav[data-v-e5a98f75]{border-bottom:1px solid var(--fms-border);flex-direction:row;align-items:flex-end;overflow-x:auto}.tabs-top .tabs-nav-list[data-v-e5a98f75]{flex-direction:row;align-items:flex-end;gap:8px}.tabs-left .tabs-nav[data-v-e5a98f75]{border-right:1px solid var(--fms-border);flex-direction:column;overflow-y:auto}.tabs-left .tabs-nav-list[data-v-e5a98f75]{flex-direction:column;gap:8px}.tabs-right .tabs-nav[data-v-e5a98f75]{border-left:1px solid var(--fms-border);flex-direction:column;overflow-y:auto}.tabs-right .tabs-nav-list[data-v-e5a98f75]{flex-direction:column;gap:8px}.tabs-centered .tabs-nav-list[data-v-e5a98f75]{flex:0 auto}.tabs-top.tabs-centered .tabs-nav-list[data-v-e5a98f75]{margin-left:auto;margin-right:auto}.tabs-left.tabs-centered .tabs-nav-list[data-v-e5a98f75],.tabs-right.tabs-centered .tabs-nav-list[data-v-e5a98f75]{margin-top:auto;margin-bottom:auto}.tabs-nav-extra[data-v-e5a98f75]{flex-shrink:0;align-items:center;display:flex}.tabs-top .tabs-nav-extra[data-v-e5a98f75]{align-self:center;margin-top:4px;margin-bottom:4px}.tabs-top .tabs-nav-extra[data-v-e5a98f75]:first-child{margin-right:8px}.tabs-top .tabs-nav-extra[data-v-e5a98f75]:last-child{margin-left:8px}.tabs-left .tabs-nav-extra[data-v-e5a98f75]:first-child,.tabs-right .tabs-nav-extra[data-v-e5a98f75]:first-child{margin-bottom:8px}.tabs-left .tabs-nav-extra[data-v-e5a98f75]:last-child,.tabs-right .tabs-nav-extra[data-v-e5a98f75]:last-child{margin-top:8px}.tabs-tab[data-v-e5a98f75]{box-sizing:border-box;height:var(--fms-control-height);padding:0 var(--fms-control-padding-x);color:var(--fms-text-secondary);font-family:inherit;font-size:var(--fms-font-size);line-height:var(--fms-line-height);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:6px;transition:color .15s;display:inline-flex}.tabs-tab[data-v-e5a98f75]:hover:not(:disabled){color:var(--fms-primary)}.tabs-tab[data-v-e5a98f75]:focus-visible{outline:2px solid var(--fms-primary);outline-offset:2px}.tabs-tab-active[data-v-e5a98f75]{color:var(--fms-primary);font-weight:600}.tabs-top .tabs-tab[data-v-e5a98f75]{border-bottom:2px solid #0000}.tabs-top .tabs-tab-active[data-v-e5a98f75]{border-bottom-color:var(--fms-primary)}.tabs-left .tabs-tab[data-v-e5a98f75],.tabs-right .tabs-tab[data-v-e5a98f75]{border-top:none;border-bottom:none}.tabs-left .tabs-tab[data-v-e5a98f75]{border-right:2px solid #0000}.tabs-left .tabs-tab-active[data-v-e5a98f75]{border-right-color:var(--fms-primary);background:var(--fms-secondary-hover)}.tabs-right .tabs-tab[data-v-e5a98f75]{border-left:2px solid #0000}.tabs-right .tabs-tab-active[data-v-e5a98f75]{border-left-color:var(--fms-primary);background:var(--fms-secondary-hover)}.tabs-tab[data-v-e5a98f75]:disabled{color:var(--fms-disabled-text);cursor:not-allowed}.tabs-content[data-v-e5a98f75]{min-width:0}.tabs-top .tabs-content[data-v-e5a98f75]{padding-top:16px}.tabs-left .tabs-content[data-v-e5a98f75]{flex:auto;padding-left:16px}.tabs-right .tabs-content[data-v-e5a98f75]{flex:auto;padding-right:16px}@media (prefers-reduced-motion:reduce){.tabs-tab[data-v-e5a98f75]{transition:none}}.tabs-demo-icon[data-v-7ef0d203]{width:1em;height:1em}.tabs-extra-demo[data-v-7ef0d203]{font-size:var(--fms-font-size);color:var(--fms-text-secondary)}.select[data-v-b3e764d7]{vertical-align:middle;miLine truncated
@@ -0,0 +1 @@
import{A as e,Ct as t,E as n,I as r,N as i,P as a,St as o,W as s,_ as c,at as l,et as u,g as d,j as f,m as p,o as m,p as h,xt as g,y as _}from"./createLucideIcon-C_iUwQl2.js";var v=m({__name:`form`,props:{model:{type:Object,required:!0},rules:{type:Object,default:()=>({})},layout:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)},labelAlign:{type:String,default:`right`,validator:e=>[`left`,`right`].includes(e)},labelWidth:{type:[String,Number],default:void 0},requiredMark:{type:Boolean,default:!0},validateTrigger:{type:String,default:`change`,validator:e=>[`change`,`blur`].includes(e)}},emits:[`submit`,`submitFailed`,`reset`],setup(e,{emit:t}){let n=e,o=t,s=new Map;function l(e,t){s.set(String(e),t)}function u(e){s.delete(String(e))}async function d(){let e=[...s.entries()];return(await Promise.all(e.map(async([e,t])=>({name:e,errors:await t.validate()})))).filter(e=>e.errors.length>0)}async function f(e){e.preventDefault();let t=await d();t.length===0?o(`submit`,{...n.model}):o(`submitFailed`,{values:{...n.model},errorFields:t})}function p(e){e.preventDefault(),o(`reset`),s.forEach(e=>e.clearValidation())}return a(`fms-form`,{model:n.model,rules:n.rules,layout:h(()=>n.layout),labelAlign:h(()=>n.labelAlign),labelWidth:h(()=>n.labelWidth),requiredMark:h(()=>n.requiredMark),validateTrigger:h(()=>n.validateTrigger),registerField:l,unregisterField:u}),(t,n)=>(i(),c(`form`,{class:g([`fms-form`,`fms-form-${e.layout}`]),onSubmit:f,onReset:p},[r(t.$slots,`default`,{},void 0,!0)],34))}},[[`__scopeId`,`data-v-711d7f87`]]);function y(e){return e==null||e===``}var b={string:e=>typeof e==`string`,number:e=>typeof e==`number`?!Number.isNaN(e):typeof e==`string`&&e.trim()!==``&&!Number.isNaN(Number(e)),integer:e=>typeof e==`number`?Number.isInteger(e):typeof e==`string`&&e.trim()!==``&&Number.isInteger(Number(e)),email:e=>typeof e==`string`&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),url:e=>typeof e==`string`&&/^https?:\/\/[^\s]+$/i.test(e)};function x(e){if(typeof e==`string`||Array.isArray(e))return e.length;if(typeof e==`number`)return e}var S={required:e=>e?`${e}不能为空`:`不能为空`,type:e=>e?`${e}格式不正确`:`格式不正确`,pattern:e=>e?`${e}格式不正确`:`格式不正确`,len:(e,t)=>e?`${e}长度必须为 ${t.len}`:`长度必须为 ${t.len}`,min:(e,t)=>e?`${e}长度不能少于 ${t.min}`:`长度不能少于 ${t.min}`,max:(e,t)=>e?`${e}长度不能超过 ${t.max}`:`长度不能超过 ${t.max}`};function C(e,{label:t,value:n}){if(e.required&&y(n))return[e.message||S.required(t)];if(y(n))return[];let r=[];e.type&&!b[e.type]?.(n)&&r.push(e.message||S.type(t)),e.pattern&&!e.pattern.test(n)&&r.push(e.message||S.pattern(t));let i=x(n);return i!==void 0&&(e.len!==void 0&&i!==e.len&&r.push(e.message||S.len(t,e)),e.min!==void 0&&i<e.min&&r.push(e.message||S.min(t,e)),e.max!==void 0&&i>e.max&&r.push(e.message||S.max(t,e))),r}function w(e,{label:t,value:n},r){let i=e.message||(t?`${t}校验未通过`:`校验未通过`);return Promise.resolve().then(()=>e.validator(n,e)).then(e=>e===!0||e==null?r:e===!1?[...r,i]:[...r,String(e)]).catch(e=>(console.error(`[form] validator 执行异常:`,e),[...r,i]))}function T({_name:e,label:t=``,value:n,rules:r=[]}){return!Array.isArray(r)||r.length===0?Promise.resolve([]):Promise.all(r.map(e=>{let r=C(e,{label:t,value:n});return typeof e?.validator==`function`?w(e,{label:t,value:n},r):Promise.resolve(r)})).then(e=>e.flat())}var E={key:0,class:`fms-form-required-mark`,"aria-hidden":`true`},D={class:`fms-form-label-text`},O={class:`fms-form-item-control`},k={class:`fms-form-item-content`},A=[`role`],j={key:1,class:`fms-form-item-extra`},M=m({__name:`form-item`,props:{name:{type:[String,Number],required:!0},label:{type:String,default:``},rules:{type:Array,default:void 0},required:{type:Boolean,default:void 0},extra:{type:String,default:``},help:{type:String,default:``},labelAlign:{type:String,default:void 0,validator:e=>e===void 0||[`left`,`right`].includes(e)},labelWidth:{type:[String,Number],default:void 0},validateStatus:{type:String,default:``,validator:e=>[``,`error`].includes(e)}},setup(a){let m=a,v=n(`fms-form`,null),b=u(null),x=h(()=>Array.isArray(m.rules)&&m.rules.length>0?m.rules:v?.rules?.[m.name]||[]),S=u([]),C=u(!1),w=h(()=>m.required===void 0?x.value.some(e=>e.required):m.required),M=h(()=>m.validateStatus?m.validateStatus:S.value.length>0?`error`:``),N=h(()=>M.value===`error`),P=h(()=>S.value[0]||``),F=h(()=>P.value||m.help),I=h(()=>F.value!==``),L=h(()=>m.labelAlign??v?.labelAlign?.value??`left`),R=h(()=>m.labelWidth??v?.labelWidth?.value),z=h(()=>v?.validateTrigger?.value??`change`),B=h(()=>[`fms-form-item`,v?.layout?.value===`vertical`?`fms-form-item-vertical`:``,N.value?`fms-form-item-error`:``]),V=h(()=>{if(v?.layout?.value!==`vertical`&&R.value!=null)return{width:R.value}});async function H(){let e=await T({name:m.name,label:m.label,value:v?.model?.[m.name],rules:x.value});return S.value=e,e}async function U(){return C.value=!Line truncated
@@ -0,0 +1 @@
.fms-form-item[data-v-711d7f87]{margin-bottom:var(--fms-form-item-margin-bottom);align-items:flex-start;display:flex}.fms-form-item[data-v-711d7f87]:last-child{margin-bottom:0}.fms-form-item-vertical[data-v-711d7f87]{flex-direction:column;align-items:stretch}.fms-form-item-label[data-v-711d7f87]{font-size:var(--fms-font-size);line-height:var(--fms-control-height);color:var(--fms-text);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px}.fms-form-horizontal .fms-form-item-label[data-v-711d7f87]{width:var(--fms-form-label-width);white-space:nowrap;align-items:baseline;display:flex}.fms-form-horizontal .fms-form-label-right[data-v-711d7f87]{justify-content:flex-end}.fms-form-horizontal .fms-form-label-text[data-v-711d7f87]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fms-form-label-vertical[data-v-711d7f87]{line-height:var(--fms-line-height);text-align:left;padding-bottom:4px;padding-right:0;display:block}.fms-form-required-mark[data-v-711d7f87]{color:var(--fms-danger);flex-shrink:0;margin-right:4px}.fms-form-item-control[data-v-711d7f87]{flex:1;min-width:0}.fms-form-item-help[data-v-711d7f87],.fms-form-item-extra[data-v-711d7f87]{font-size:var(--fms-form-help-font-size);color:var(--fms-text-secondary);margin-top:4px;line-height:1.5}.fms-form-item-help-error[data-v-711d7f87]{color:var(--fms-danger);transition:opacity .15s}@media (prefers-reduced-motion:reduce){.fms-form-item-help-error[data-v-711d7f87]{transition:none}}.fms-form-item[data-v-503de7f0]{margin-bottom:var(--fms-form-item-margin-bottom);align-items:flex-start;display:flex}.fms-form-item[data-v-503de7f0]:last-child{margin-bottom:0}.fms-form-item-vertical[data-v-503de7f0]{flex-direction:column;align-items:stretch}.fms-form-item-label[data-v-503de7f0]{font-size:var(--fms-font-size);line-height:var(--fms-control-height);color:var(--fms-text);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px}.fms-form-horizontal .fms-form-item-label[data-v-503de7f0]{width:var(--fms-form-label-width);white-space:nowrap;align-items:baseline;display:flex}.fms-form-horizontal .fms-form-label-right[data-v-503de7f0]{justify-content:flex-end}.fms-form-horizontal .fms-form-label-text[data-v-503de7f0]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fms-form-label-vertical[data-v-503de7f0]{line-height:var(--fms-line-height);text-align:left;padding-bottom:4px;padding-right:0;display:block}.fms-form-required-mark[data-v-503de7f0]{color:var(--fms-danger);flex-shrink:0;margin-right:4px}.fms-form-item-control[data-v-503de7f0]{flex:1;min-width:0}.fms-form-item-help[data-v-503de7f0],.fms-form-item-extra[data-v-503de7f0]{font-size:var(--fms-form-help-font-size);color:var(--fms-text-secondary);margin-top:4px;line-height:1.5}.fms-form-item-help-error[data-v-503de7f0]{color:var(--fms-danger);transition:opacity .15s}@media (prefers-reduced-motion:reduce){.fms-form-item-help-error[data-v-503de7f0]{transition:none}}
@@ -0,0 +1 @@
:root{--fms-background:#f5f6f8;--fms-card:#fff;--fms-text:#1f2329;--fms-secondary:#e5e6eb;--fms-secondary-hover:#f1f5f9;--fms-text-secondary:#86909c;--fms-border:#e5e6eb;--fms-disabled-bg:#f2f3f5;--fms-disabled-text:#c9cdd4;--fms-disabled-border:#e5e6eb;--fms-success:#16a34a;--fms-success-text:#fff;--fms-warning:#f59e0b;--fms-warning-text:#1f2329;--fms-danger:#ef4444;--fms-danger-text:#fff;--fms-primary:#0f172b;--fms-primary-text:#fff;--fms-primary-hover:color-mix(in srgb, var(--fms-primary) 88%, #000);--fms-primary-active:color-mix(in srgb, var(--fms-primary) 76%, #000);--fms-font-size:14px;--fms-line-height:20px;--fms-control-height:32px;--fms-control-padding-x:10px;--fms-control-radius:6px;--fms-control-size:16px;--fms-switch-width:32px;--fms-switch-height:18px;--fms-switch-thumb-size:14px;--fms-switch-thumb-offset:2px;--fms-select-dropdown-max-height:256px;--fms-dropdown-min-width:180px;--fms-dropdown-max-height:256px;--fms-dropdown-item-padding-y:5px;--fms-dropdown-item-padding-x:8px;--fms-dropdown-item-radius:4px;--fms-dropdown-divider-margin:4px 0;--fms-tag-height:20px;--fms-tag-font-size:12px;--fms-tag-padding-x:8px;--fms-tag-gap:4px;--fms-spin-size:20px;--fms-spin-description-gap:8px;--fms-form-label-width:88px;--fms-form-item-margin-bottom:18px;--fms-form-help-font-size:12px;--fms-shadow:0 1px 2px #0000000f;--fms-popover-padding:8px;--fms-popover-shadow:0 3px 8px #0000001f;--fms-z-popover:1000;--fms-feedback-icon-size:18px;--fms-feedback-offset:24px;--fms-z-message:2000;--fms-z-notification:2000;--fms-mask-bg:#00000073;--fms-z-modal:3000;--fms-modal-padding:16px 20px;--fms-drawer-header-padding:12px 20px;--fms-drawer-body-padding:12px 20px;--fms-drawer-footer-padding:8px 20px;--fms-splitter-trigger-size:6px;--fms-grid-gutter:0px;--fms-splitter-bar-size:2px;--fms-splitter-bar-size-hover:4px;--fms-splitter-handle-size:20px;--fms-tree-node-height:32px;--fms-tree-indent:18px;--fms-tree-icon-size:16px;--fms-tree-switcher-size:22px;--fms-tree-gutter-x:4px;--fms-tree-title-padding-x:6px;--fms-tree-grip-size:16px;--fms-tree-drop-line-size:2px}.dark{--fms-background:#0f1115;--fms-card:#1a1d24;--fms-text:#e6e8eb;--fms-secondary:#262a33;--fms-secondary-hover:#262a33;--fms-text-secondary:#9aa3af;--fms-border:#2a2f3a;--fms-disabled-bg:#262a33;--fms-disabled-text:#5b6472;--fms-disabled-border:#2a2f3a;--fms-success:#22c55e;--fms-success-text:#0f1115;--fms-warning:#fbbf24;--fms-warning-text:#1f2329;--fms-danger:#f87171;--fms-danger-text:#0f1115;--fms-primary-hover:color-mix(in srgb, var(--fms-primary) 88%, #fff);--fms-primary-active:color-mix(in srgb, var(--fms-primary) 76%, #fff);--fms-shadow:0 1px 2px #0006;--fms-popover-shadow:0 3px 8px #00000080}.fms-row{--fms-grid-gutter-h:0;--fms-grid-gutter-v:0;width:100%;margin-left:calc(var(--fms-grid-gutter-h,0) / -2);margin-right:calc(var(--fms-grid-gutter-h,0) / -2);row-gap:calc(var(--fms-grid-gutter-v,0) * 1px);flex-flow:wrap;display:flex}.fms-row-no-wrap{flex-wrap:nowrap}.fms-row-align-top{align-items:flex-start}.fms-row-align-middle{align-items:center}.fms-row-align-bottom{align-items:flex-end}.fms-row-align-stretch{align-items:stretch}.fms-row-justify-start{justify-content:flex-start}.fms-row-justify-end{justify-content:flex-end}.fms-row-justify-center{justify-content:center}.fms-row-justify-space-around{justify-content:space-around}.fms-row-justify-space-between{justify-content:space-between}.fms-row-justify-space-evenly{justify-content:space-evenly}.fms-col{min-width:0;padding-left:calc(var(--fms-grid-gutter-h,0) / 2);padding-right:calc(var(--fms-grid-gutter-h,0) / 2);box-sizing:border-box}.fms-col-box{margin-left:calc(var(--fms-grid-gutter-h,0) / -2);margin-right:calc(var(--fms-grid-gutter-h,0) / -2);width:calc(100% + var(--fms-grid-gutter-h,0) * 1px);box-sizing:border-box}.fms-col-0{flex:0 0;max-width:0%;display:none}.fms-col-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.fms-col-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.fms-col-3{flex:0 0 12.5%;max-width:12.5%;display:block}.fms-col-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.fms-col-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.fms-col-6{flex:0 0 25%;max-width:25%;display:block}.fms-col-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.fms-col-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.fms-col-9{flex:0 0 37.5%;max-width:37.5%;display:block}.fms-col-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.fms-col-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.fms-col-12{flex:0 0 50%;max-width:50%;display:block}.fms-col-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.fms-col-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.fms-col-15{flex:0 0 62.5%;max-width:62.5%;display:block}.fms-col-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.fms-col-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.fms-col-18{flex:0 0 75%;max-width:75%;display:block}.fms-col-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.fms-col-20{flex:0 0 83.Line truncated
@@ -0,0 +1,2 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/login-DrCC9N1N.js","assets/createLucideIcon-C_iUwQl2.js","assets/input-CDcVWtI6.js","assets/input-CGJ2w2Z9.css","assets/useApi-CROJJdhE-o7uPapr3.js","assets/api-Bcscw9_9.js","assets/rolldown-runtime-hePW80VL.js","assets/button-t9yUGN1c.js","assets/button-KdlUhRM5.css","assets/form-item-3JH0S_Y_.js","assets/form-item-DfM1VUzq.css","assets/login-DeA6sJpV.css","assets/dashboard-Dao_rnWE.js","assets/layout-dashboard-Df69lvPG.js","assets/dashboard-BfCfLd_W.css","assets/TestPage-91hu-6er.js","assets/TestPage-C1gQzuwz.css","assets/demo--qbW3kNE.js","assets/ColorThemePicker-Bdd_P9uX.js","assets/ColorThemePicker-DINhEb9m.css","assets/demo-Bo8POHos.css"])))=>i.map(i=>d[i]);
import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{$ as r,A as i,Ct as a,E as o,F as s,G as c,L as l,N as u,P as d,R as f,W as p,_ as m,a as h,at as g,b as _,et as v,g as y,h as b,i as x,j as ee,k as te,l as ne,m as S,n as re,nt as ie,o as C,p as w,r as ae,t as T,tt as oe,u as se,w as ce,x as le,xt as E}from"./createLucideIcon-C_iUwQl2.js";import{a as D,c as ue,d as O,f as de,g as fe,i as pe,l as me,m as he,n as k,o as A,p as ge,r as _e,s as ve,t as ye,u as be,x as xe}from"./input-CDcVWtI6.js";import{a as Se,c as Ce,d as we,f as Te,g as Ee,h as De,i as j,l as Oe,m as ke,n as M,o as N,p as Ae,r as je,s as Me,t as Ne,u as Pe}from"./useApi-CROJJdhE-o7uPapr3.js";import{A as Fe,C as Ie,D as Le,E as Re,F as ze,I as Be,M as Ve,N as He,O as Ue,P as We,S as P,T as Ge,_ as Ke,a as qe,b as F,c as I,d as Je,f as Ye,g as Xe,h as Ze,j as Qe,k as $e,l as et,m as tt,n as nt,o as rt,p as it,r as at,s as ot,t as st,u as ct,v as lt,w as ut,x as dt,y as ft}from"./ColorThemePicker-Bdd_P9uX.js";import{a as pt,i as mt,o as ht,r as gt,t as _t}from"./api-Bcscw9_9.js";import{t as vt}from"./layout-dashboard-Df69lvPG.js";import{n as yt,t as bt}from"./button-t9yUGN1c.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function xt(e,t){if(e==null)return;let n=e;for(let e=0;e<t.length;e++){if(n===void 0||n[t[e]]===void 0)return;if(n===null||n[t[e]]===null)return null;n=n[t[e]]}return n}function St(e,t,n){if(n.length===0)return t;let r=n[0];return n.length>1&&(t=St(typeof e!=`object`||!e||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function Ct(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);let n={};for(let t in e)n[t]=e[t];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);let n={};for(let t in e)n[t]=e[t];return n}return St(e,Ct(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function wt(e,t){return t.map(e=>e.split(`.`)).map(t=>[t,xt(e,t)]).filter(e=>e[1]!==void 0).reduce((e,t)=>St(e,t[1],t[0]),{})}function Tt(e,t){return t.map(e=>e.split(`.`)).reduce((e,t)=>Ct(e,t),e)}function Et(e,{storage:t,serializer:n,key:r,debug:i,pick:a,omit:o,beforeHydrate:s,afterHydrate:c},l,u=!0){try{u&&s?.(l);let i=t.getItem(r);if(i){let t=n.deserialize(i),r=a?wt(t,a):t,s=o?Tt(r,o):r;e.$patch(s)}u&&c?.(l)}catch(e){i&&console.error(`[pinia-plugin-persistedstate]`,e)}}function Dt(e,{storage:t,serializer:n,key:r,debug:i,pick:a,omit:o}){try{let i=a?wt(e,a):e,s=o?Tt(i,o):i,c=n.serialize(s);t.setItem(r,c)}catch(e){i&&console.error(`[pinia-plugin-persistedstate]`,e)}}function Ot(e,t){return typeof e==`function`?e(t):typeof e==`string`?e:t}function kt(e,t,n){let{pinia:r,store:i,options:{persist:a=n}}=e;if(!a)return;if(!(i.$id in r.state.value)){let e=r._s.get(i.$id.replace(`__hot:`,``));e&&Promise.resolve().then(()=>e.$persist());return}let o=(Array.isArray(a)?a:a===!0?[{}]:[a]).map(t);i.$hydrate=({runHooks:t=!0}={})=>{o.forEach(n=>{Et(i,n,e,t)})},i.$persist=()=>{o.forEach(e=>{Dt(i.$state,e)})},o.forEach(t=>{Et(i,t,e),i.$subscribe((e,n)=>Dt(n,t),{detached:!0})})}function At(e={}){return function(t){kt(t,n=>{let r=Ot(n.key,t.store.$id);return{key:(e.key?e.key:e=>e)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:e=>JSON.stringify(e),deserialize:e=>JSON.parse(e)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var jt=At(),Mt={__name:`App`,setup(e){return(e,t)=>{let n=l(`router-view`);return u(),b(n)}}},Nt=typeof document<`u`,Pt=/#/g,Ft=/&/g,It=/\//g,Lt=/=/g,Rt=/\?/g,zt=/\+/g,Bt=/%5B/g,Vt=/%5D/g,Ht=/%5E/g,Ut=/%60/g,Wt=/%7B/g,Gt=/%7C/g,Kt=/%7D/g,qt=/%20/g;function Jt(e){return e==null?``:encodeURI(``+e).replace(Gt,`|`).replace(Bt,`[`).replace(Vt,`]`)}function Yt(e){return Jt(e).replace(Wt,`{`).replace(Kt,`}`).replace(Ht,`^`)}function Xt(e){return Jt(e).replace(zt,`%2B`).replace(qt,`+`).replace(Pt,`%23`).replace(Ft,`%26`).replace(Ut,"`").replace(Wt,`{`).replace(Kt,`}`).replace(Ht,`^`)}function Zt(e){return Xt(e).replacLine truncated
@@ -0,0 +1,2 @@
import{$ as e,A as t,B as n,C as r,Ct as i,E as a,F as o,G as s,H as c,I as l,J as u,M as d,N as f,Q as p,R as m,S as h,St as ee,T as g,U as _,W as te,X as v,Y as ne,Z as y,_ as b,_t as x,at as S,b as C,bt as w,c as re,ct as T,d as ie,dt as ae,et as E,f as oe,ft as D,g as O,gt as se,h as ce,ht as le,it as k,j as ue,k as de,l as fe,lt as pe,m as me,mt as he,o as A,ot as j,p as M,pt as N,q as ge,rt as _e,s as ve,st as ye,t as P,ut as F,v as I,vt as L,w as be,wt as R,xt as xe,yt as Se,z}from"./createLucideIcon-C_iUwQl2.js";var Ce=void 0,we=typeof window<`u`&&window.trustedTypes;if(we)try{Ce=we.createPolicy(`vue`,{createHTML:e=>e})}catch{}var B=Ce?e=>Ce.createHTML(e):e=>e,Te=`http://www.w3.org/2000/svg`,Ee=`http://www.w3.org/1998/Math/MathML`,V=typeof document<`u`?document:null,De=V&&V.createElement(`template`),Oe={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?V.createElementNS(Te,e):t===`mathml`?V.createElementNS(Ee,e):n?V.createElement(e,{is:n}):V.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>V.createTextNode(e),createComment:e=>V.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>V.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{De.innerHTML=B(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=De.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},H=`transition`,U=`animation`,W=Symbol(`_vtc`),ke={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ae=T({},re,ke),je=(e=>(e.displayName=`Transition`,e.props=Ae,e))((e,{slots:t})=>be(ve,Ne(e),t)),G=(e,t=[])=>{D(e)?e.forEach(e=>e(...t)):e&&e(...t)},Me=e=>e?D(e)?e.some(e=>e.length>1):e.length>1:!1;function Ne(e){let t={};for(let n in e)n in ke||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=Pe(i),h=m&&m[0],ee=m&&m[1],{onBeforeEnter:g,onEnter:_,onEnterCancelled:te,onLeave:v,onLeaveCancelled:ne,onBeforeAppear:y=g,onAppear:b=_,onAppearCancelled:x=te}=t,S=(e,t,n,r)=>{e._enterCancelled=r,q(e,t?u:s),q(e,t?l:o),n&&n()},C=(e,t)=>{e._isLeaving=!1,q(e,d),q(e,p),q(e,f),t&&t()},w=e=>(t,n)=>{let i=e?b:_,o=()=>S(t,e,n);G(i,[t,o]),Ie(()=>{q(t,e?c:a),K(t,e?u:s),Me(i)||Re(t,r,h,o)})};return T(t,{onBeforeEnter(e){G(g,[e]),K(e,a),K(e,o)},onBeforeAppear(e){G(y,[e]),K(e,c),K(e,l)},onEnter:w(!1),onAppear:w(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>C(e,t);K(e,d),e._enterCancelled?(K(e,f),He(e)):(He(e),K(e,f)),Ie(()=>{e._isLeaving&&(q(e,d),K(e,p),Me(v)||Re(e,r,ee,n))}),G(v,[e,n])},onEnterCancelled(e){S(e,!1,void 0,!0),G(te,[e])},onAppearCancelled(e){S(e,!0,void 0,!0),G(x,[e])},onLeaveCancelled(e){C(e),G(ne,[e])}})}function Pe(e){if(e==null)return null;if(le(e))return[Fe(e.enter),Fe(e.leave)];{let t=Fe(e);return[t,t]}}function Fe(e){return R(e)}function K(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[W]||(e[W]=new Set)).add(t)}function q(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[W];n&&(n.delete(t),n.size||(e[W]=void 0))}function Ie(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Le=0;function Re(e,t,n,r){let i=e._endId=++Le,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=ze(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},s+1),e.addEventListener(l,f)}function ze(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${H}Delay`),a=r(`${H}Duration`),o=Be(i,a),s=r(`${U}Delay`),c=r(`${U}Duration`),l=Be(s,c),u=null,d=0,f=0;t===H?o>0&&(u=H,d=o,f=a.length):t===U?l>0&&(u=U,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?H:U:null,f=u?u===H?a.length:c.length:0);let p=u===H&&/\b(?:transform|all)(?:,|$)/.test(r(`${H}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Be(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>Ve(t)+Ve(e[n])))}function Ve(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}funcLine truncated
`))),e[jt]=Ot(i);let a=r||i.props&&i.props.type===`number`;X(e,t?`change`:`input`,t=>{t.target.composing||e[jt](Nt(e.value,n,a))}),(n||a)&&X(e,`change`,()=>{e.value=Nt(e.value,n,a)}),t||(X(e,`compositionstart`,kt),X(e,`compositionend`,At),X(e,`change`,At))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[Mt];delete e[Mt],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[jt](Nt(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[jt]=Ot(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?w(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Ft=[`ctrl`,`shift`,`alt`,`meta`],It={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Ft.some(n=>e[`${n}Key`]&&!t.includes(n))},Lt=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=It[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},Rt={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},zt=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=pe(n.key);if(t.some(e=>e===r||Rt[e]===r))return e(n)}))},Bt=T({patchProp:ht},Oe),Vt;function Ht(){return Vt||=I(Bt)}var Ut=((...e)=>{Ht().render(...e)}),Wt=((...e)=>{let t=Ht().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Kt(e);if(!r)return;let i=t._component;!N(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Gt(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Gt(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Kt(e){return L(e)?document.querySelector(e):e}var qt=typeof window<`u`,Jt,Yt=e=>Jt=e,Xt=Symbol();function Zt(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var Qt=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function $t(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function en(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){on(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function tn(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function nn(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var rn=typeof navigator==`object`?navigator:{userAgent:``},an=/Macintosh/.test(rn.userAgent)&&/AppleWebKit/.test(rn.userAgent)&&!/Safari/.test(rn.userAgent),on=qt?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!an?sn:`msSaveOrOpenBlob`in rn?cn:ln:()=>{};function sn(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?nn(r):tn(r.href)?en(e,t,n):(r.target=`_blank`,nn(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){nn(r)},0))}function cn(e,t=`download`,n){if(typeof e==`string`){if(tn(e))en(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){nn(t)})}}else navigator.msSaveOrOpenBlob($t(e,n),t)}function ln(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return en(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(Qt.HTMLElement))||`safari`in Qt,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||an)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:un}=Object;function dn(){let e=ge(!0),t=e.run(()=>E({})),n=[],r=[], Line truncated
@@ -0,0 +1 @@
.fms-message[data-v-d2fd32bd]{background:var(--fms-card);border:1px solid var(--fms-border);border-radius:var(--fms-control-radius);max-width:480px;box-shadow:var(--fms-popover-shadow);color:var(--fms-text);font-size:var(--fms-font-size);line-height:var(--fms-line-height);pointer-events:auto;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.fms-message-icon[data-v-d2fd32bd]{width:var(--fms-feedback-icon-size);height:var(--fms-feedback-icon-size);flex-shrink:0}.fms-message-content[data-v-d2fd32bd]{word-break:break-word;flex:1;min-width:0}.fms-message-close[data-v-d2fd32bd]{width:20px;height:20px;color:var(--fms-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.fms-message-close[data-v-d2fd32bd]:hover{background:var(--fms-secondary-hover);color:var(--fms-text)}.fms-message-close[data-v-d2fd32bd]:focus-visible{outline:2px solid var(--fms-primary);outline-offset:2px}.fms-message-info .fms-message-icon[data-v-d2fd32bd]{color:var(--fms-primary)}.fms-message-success .fms-message-icon[data-v-d2fd32bd]{color:var(--fms-success)}.fms-message-warning .fms-message-icon[data-v-d2fd32bd]{color:var(--fms-warning)}.fms-message-error .fms-message-icon[data-v-d2fd32bd]{color:var(--fms-danger)}.fms-message-container[data-v-3dbd7087]{z-index:var(--fms-z-message);pointer-events:none;position:fixed;inset:0}.fms-message-list[data-v-3dbd7087]{padding:var(--fms-feedback-offset);box-sizing:border-box;flex-direction:column;gap:12px;display:flex;position:absolute;inset:0}.fms-placement-top[data-v-3dbd7087]{justify-content:flex-start}.fms-placement-center-v[data-v-3dbd7087]{justify-content:center}.fms-placement-bottom[data-v-3dbd7087]{justify-content:flex-end}.fms-placement-left[data-v-3dbd7087]{align-items:flex-start}.fms-placement-center-h[data-v-3dbd7087]{align-items:center}.fms-placement-right[data-v-3dbd7087]{align-items:flex-end}.fms-message-enter-active[data-v-3dbd7087],.fms-message-leave-active[data-v-3dbd7087]{transition:opacity .28s,transform .28s cubic-bezier(.22,1,.36,1)}.fms-message-enter-from[data-v-3dbd7087],.fms-message-leave-to[data-v-3dbd7087]{opacity:0}.fms-placement-left .fms-message-enter-from[data-v-3dbd7087],.fms-placement-left .fms-message-leave-to[data-v-3dbd7087]{transform:translate(-24px)}.fms-placement-right .fms-message-enter-from[data-v-3dbd7087],.fms-placement-right .fms-message-leave-to[data-v-3dbd7087]{transform:translate(24px)}.fms-placement-top.fms-placement-center-h .fms-message-enter-from[data-v-3dbd7087],.fms-placement-top.fms-placement-center-h .fms-message-leave-to[data-v-3dbd7087]{transform:translateY(-16px)}.fms-placement-bottom.fms-placement-center-h .fms-message-enter-from[data-v-3dbd7087],.fms-placement-bottom.fms-placement-center-h .fms-message-leave-to[data-v-3dbd7087]{transform:translateY(16px)}.fms-message-leave-active[data-v-3dbd7087]{position:absolute}.fms-message-move[data-v-3dbd7087]{transition:transform .28s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.fms-message-enter-active[data-v-3dbd7087],.fms-message-leave-active[data-v-3dbd7087],.fms-message-move[data-v-3dbd7087]{transition:none}}.input-wrapper[data-v-759db8c5]{width:100%;min-height:var(--fms-control-height);padding:0 var(--fms-control-padding-x);background:var(--fms-card);border:1px solid var(--fms-border);border-radius:var(--fms-control-radius);color:var(--fms-text);font-size:var(--fms-font-size);line-height:var(--fms-line-height);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.input-wrapper[data-v-759db8c5] svg{width:1em;height:1em}.input-wrapper[data-v-759db8c5]:hover:not(.input-disabled){border-color:color-mix(in srgb, var(--fms-primary) 40%, var(--fms-border))}.input-wrapper.input-focused[data-v-759db8c5]{border-color:var(--fms-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--fms-primary) 20%, transparent)}.input-textarea[data-v-759db8c5]{padding:6px var(--fms-control-padding-x) 5px;flex-direction:column;align-items:stretch;display:flex}.input[data-v-759db8c5]{min-width:0;color:inherit;font:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}.textarea[data-v-759db8c5]{width:100%;min-height:calc(var(--fms-line-height) * 3);color:inherit;font:inherit;resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;padding:0;display:block}.input-textarea-with-footer .textarea[data-v-759db8c5]{padding-bottom:16px}.input-error[data-v-759db8c5]{border-color:var(--fms-danger)}.input-error[data-v-759db8c5]:hover:not(.input-disabled){border-color:color-mix(in srgb, var(--fms-danger) 70%, var(--fms-border))}.input-error.input-focused[data-v-759db8c5]{border-color:var(--fms-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--fms-danger) 20%, transparent)}.input-warning[data-v-759db8c5]{border-color:var(--fms-warning)}.input-warning[data-v-759db8c5]:hover:not(.inpuLine truncated
@@ -0,0 +1 @@
import{t as e}from"./createLucideIcon-C_iUwQl2.js";var t=e(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]);export{t};
@@ -0,0 +1 @@
.login-page[data-v-88404c78]{background:var(--fms-background);min-height:100svh;color:var(--fms-text);justify-content:center;align-items:center;padding:24px;transition:background-color .2s,color .2s;display:flex}.login-card[data-v-88404c78]{background:var(--fms-card);border:1px solid var(--fms-border);border-radius:12px;width:100%;max-width:400px;padding:40px 36px 28px;transition:background-color .2s,border-color .2s;box-shadow:0 12px 40px #00000014}.login-brand[data-v-88404c78]{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:28px;display:flex}.login-logo[data-v-88404c78]{background:var(--fms-primary);width:48px;height:48px;color:var(--fms-primary-text);border-radius:12px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.login-logo [data-v-88404c78] svg{width:26px;height:26px}.login-title[data-v-88404c78]{margin:0;font-size:24px;font-weight:600;line-height:32px}.login-subtitle[data-v-88404c78]{color:var(--fms-text-secondary);margin:0;font-size:14px}.login-hint[data-v-88404c78]{border-radius:var(--fms-control-radius);background:color-mix(in srgb, var(--fms-warning) 12%, var(--fms-card));border:1px solid color-mix(in srgb, var(--fms-warning) 30%, transparent);color:var(--fms-warning);text-align:center;margin-bottom:20px;padding:10px 14px;font-size:13px}.login-form[data-v-88404c78]{width:100%}.login-submit[data-v-88404c78]{min-height:40px;margin-top:8px}.login-footer[data-v-88404c78]{color:var(--fms-text-secondary);text-align:center;margin:24px 0 0;font-size:12px}@media (width<=480px){.login-card[data-v-88404c78]{padding:32px 24px 24px}}@media (prefers-reduced-motion:reduce){.login-page[data-v-88404c78],.login-card[data-v-88404c78]{transition:none}}
@@ -0,0 +1 @@
import{$ as e,Ct as t,G as n,N as r,_ as i,at as a,b as o,et as s,g as c,j as l,m as u,o as d,p as f,y as p}from"./createLucideIcon-C_iUwQl2.js";import{i as m,n as h,t as g}from"./input-CDcVWtI6.js";import{h as _,m as v}from"./useApi-CROJJdhE-o7uPapr3.js";import{a as y,i as b,n as x,o as S,r as C}from"./api-Bcscw9_9.js";import{t as w}from"./button-t9yUGN1c.js";import{n as T,t as E}from"./form-item-3JH0S_Y_.js";var D={class:`login-page`},O={class:`login-card`},k={class:`login-brand`},A={class:`login-logo`,"aria-hidden":`true`},j={key:0,class:`login-hint`,role:`alert`},M=d({__name:`index`,setup(d){let M=_(),N=v(),P=C(),F=f(()=>{let e=String(N.query.reason||``);return e===`session-replaced`?`账号已在其他设备登录,请重新登录`:e===`expired`?`登录已过期,请重新登录`:``}),I=e({orgId:``,userId:``,password:``}),L={orgId:[{required:!0,message:`请输入机构码`}],userId:[{required:!0,message:`请输入账号`}]},R=s(!1);l(()=>{I.orgId=P.orgId||``,I.userId=P.user?.account||``,I.password=``,document.querySelector(`#orgId input`)?.focus()});async function z(e){R.value=!0;try{let t=await x(e.orgId,e.userId,e.password??``);P.setSession({token:t.data.token,user:{...t.data.user,account:e.userId}},t.data.orgid??e.orgId),h.success(`登录成功`),M.replace(String(N.query.redirect||`/dashboard`))}catch(e){h.error(e.message||`登录失败,请稍后重试`)}finally{R.value=!1}}function B(){h.warning(`请填写完整的登录信息`)}return(e,s)=>(r(),i(`div`,D,[u(`div`,O,[u(`div`,k,[u(`div`,A,[o(a(y))]),s[3]||=u(`h1`,{class:`login-title`},`登录 FMS`,-1),s[4]||=u(`p`,{class:`login-subtitle`},`企业管理系统`,-1)]),F.value?(r(),i(`div`,j,t(F.value),1)):c(``,!0),o(T,{class:`login-form`,model:I,rules:L,layout:`vertical`,onSubmit:z,onSubmitFailed:B},{default:n(()=>[o(E,{name:`orgId`,label:`机构码`},{default:n(()=>[o(g,{id:`orgId`,modelValue:I.orgId,"onUpdate:modelValue":s[0]||=e=>I.orgId=e,placeholder:`请输入机构码`,disabled:R.value},{prefix:n(()=>[o(a(S))]),_:1},8,[`modelValue`,`disabled`])]),_:1}),o(E,{name:`userId`,label:`账号`},{default:n(()=>[o(g,{id:`userId`,modelValue:I.userId,"onUpdate:modelValue":s[1]||=e=>I.userId=e,placeholder:`请输入账号`,disabled:R.value},{prefix:n(()=>[o(a(m))]),_:1},8,[`modelValue`,`disabled`])]),_:1}),o(E,{name:`password`,label:`密码`},{default:n(()=>[o(g,{id:`password`,modelValue:I.password,"onUpdate:modelValue":s[2]||=e=>I.password=e,type:`password`,placeholder:`请输入密码`,disabled:R.value},{prefix:n(()=>[o(a(b))]),_:1},8,[`modelValue`,`disabled`])]),_:1}),o(w,{type:`default`,block:``,loading:R.value,"html-type":`submit`,class:`login-submit`},{default:n(()=>[...s[5]||=[p(` 登录 `,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`]),s[6]||=u(`p`,{class:`login-footer`},`© 2026 FMS · 企业管理系统`,-1)])]))}},[[`__scopeId`,`data-v-88404c78`]]);export{M as default};
Loaded 100 of 1865 files, more files were not shown because too many files have changed in this diff. Show more