@wc-kit/vue 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +871 -277
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +3809 -1675
- package/dist/index.es.js.map +1 -1
- package/package.json +15 -2
- package/dist/index.test.d.ts +0 -1
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../core/dist/index.es.js"],"sourcesContent":["import { css as h, LitElement as l, html as c, nothing as u } from \"lit\";\nimport { property as i, state as w } from \"lit/decorators.js\";\nimport { unsafeSVG as wr } from \"lit/directives/unsafe-svg.js\";\nconst d = h`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n display: inline-block;\n font-family: var(--wc-font-family);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-line-height-base);\n color: var(--wc-color-text);\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n :focus-visible {\n outline: 2px solid var(--wc-color-focus-ring);\n outline-offset: 2px;\n }\n\n :focus:not(:focus-visible) {\n outline: none;\n }\n`, br = h`\n :host {\n display: inline-block;\n /* component 层令牌:引用 semantic 层,允许按实例覆盖 */\n --wc-button-height: 32px;\n --wc-button-padding-x: var(--wc-space-4);\n --wc-button-font-size: var(--wc-font-size-medium);\n --wc-button-radius: var(--wc-radius-medium);\n }\n\n :host([size='small']) {\n --wc-button-height: 24px;\n --wc-button-padding-x: var(--wc-space-2);\n --wc-button-font-size: var(--wc-font-size-small);\n }\n\n :host([size='large']) {\n --wc-button-height: 40px;\n --wc-button-padding-x: 20px;\n --wc-button-font-size: var(--wc-font-size-large);\n }\n\n :host([block]) {\n display: block;\n width: 100%;\n }\n\n .button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-button-height);\n padding: 0 var(--wc-button-padding-x);\n border: 1px solid transparent;\n border-radius: var(--wc-button-radius);\n font-family: inherit;\n font-size: var(--wc-button-font-size);\n line-height: 1;\n cursor: pointer;\n user-select: none;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .button:disabled {\n cursor: not-allowed;\n }\n\n .icon[hidden] {\n display: none;\n }\n\n /* 纯图标按钮:宽度收为与高度相等的正方形 */\n :host(.wc-button--icon-only) .button {\n width: var(--wc-button-height);\n padding: 0;\n }\n\n /* ---- theme 语义色变量:base 实色底与 outline/dashed/text/link 前景色统一从这里取 ---- */\n :host {\n --wc-button-theme-color: var(--wc-color-primary);\n --wc-button-theme-hover: var(--wc-color-primary-hover);\n --wc-button-theme-active: var(--wc-color-primary-active);\n }\n :host([theme='success']) {\n --wc-button-theme-color: var(--wc-color-success);\n --wc-button-theme-hover: var(--wc-color-success-dark);\n --wc-button-theme-active: var(--wc-color-success-dark);\n }\n :host([theme='warning']) {\n --wc-button-theme-color: var(--wc-color-warning);\n --wc-button-theme-hover: var(--wc-color-warning-dark);\n --wc-button-theme-active: var(--wc-color-warning-dark);\n }\n :host([theme='danger']) {\n --wc-button-theme-color: var(--wc-color-error);\n --wc-button-theme-hover: var(--wc-color-error-dark);\n --wc-button-theme-active: var(--wc-color-error-dark);\n }\n\n /* ---- theme: default ---- */\n :host([variant='base']) .button {\n background-color: var(--wc-color-bg-container);\n border-color: var(--wc-color-border);\n color: var(--wc-color-text);\n }\n :host([theme='default'][variant='base']) .button:hover:not(:disabled) {\n border-color: var(--wc-button-theme-color);\n color: var(--wc-button-theme-color);\n }\n\n /* ---- theme: primary / success / warning / danger 的 base 变体:实色底 ---- */\n :host([theme='primary'][variant='base']) .button,\n :host([theme='success'][variant='base']) .button,\n :host([theme='warning'][variant='base']) .button,\n :host([theme='danger'][variant='base']) .button {\n background-color: var(--wc-button-theme-color);\n border-color: var(--wc-button-theme-color);\n color: var(--wc-color-text-anti);\n }\n :host([theme='primary'][variant='base']) .button:hover:not(:disabled),\n :host([theme='success'][variant='base']) .button:hover:not(:disabled),\n :host([theme='warning'][variant='base']) .button:hover:not(:disabled),\n :host([theme='danger'][variant='base']) .button:hover:not(:disabled) {\n background-color: var(--wc-button-theme-hover);\n border-color: var(--wc-button-theme-hover);\n color: var(--wc-color-text-anti);\n }\n :host([theme='primary'][variant='base']) .button:active:not(:disabled),\n :host([theme='success'][variant='base']) .button:active:not(:disabled),\n :host([theme='warning'][variant='base']) .button:active:not(:disabled),\n :host([theme='danger'][variant='base']) .button:active:not(:disabled) {\n background-color: var(--wc-button-theme-active);\n border-color: var(--wc-button-theme-active);\n color: var(--wc-color-text-anti);\n }\n\n /* ---- variant: outline / dashed(继承 theme 色) ---- */\n :host([variant='outline']) .button,\n :host([variant='dashed']) .button {\n background-color: transparent;\n border-color: var(--wc-button-theme-color);\n color: var(--wc-button-theme-color);\n }\n :host([variant='dashed']) .button {\n border-style: dashed;\n }\n :host([variant='outline']) .button:hover:not(:disabled),\n :host([variant='dashed']) .button:hover:not(:disabled) {\n background-color: var(--wc-button-theme-hover);\n border-color: var(--wc-button-theme-hover);\n color: var(--wc-color-text-anti);\n }\n\n /* ---- variant: text ---- */\n :host([variant='text']) .button {\n background-color: transparent;\n border-color: transparent;\n color: var(--wc-button-theme-color);\n }\n :host([variant='text']) .button:hover:not(:disabled) {\n background-color: var(--wc-color-bg);\n }\n\n /* ---- variant: link ---- */\n :host([variant='link']) .button {\n background-color: transparent;\n border-color: transparent;\n color: var(--wc-button-theme-color);\n }\n :host([variant='link']) .button:hover:not(:disabled) {\n color: var(--wc-button-theme-hover);\n text-decoration: underline;\n }\n\n /* ---- 禁用态 ---- */\n .button:disabled {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n color: var(--wc-color-text-disabled);\n }\n\n /* ---- 加载态 spinner ---- */\n .button[aria-busy='true'] .content {\n opacity: 0.7;\n }\n`;\nvar gr = Object.defineProperty, se = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && gr(e, t, r), r;\n};\nconst lt = class lt extends l {\n constructor() {\n super(...arguments), this.theme = \"default\", this.variant = \"base\", this.size = \"medium\", this.iconPosition = \"start\", this.block = !1, this.disabled = !1, this.loading = !1, this._hasIcon = !1, this._hasText = !1;\n }\n handleClick(e) {\n this.loading && (e.preventDefault(), e.stopImmediatePropagation());\n }\n render() {\n const e = c`<span class=\"icon\" part=\"icon\" ?hidden=${!this._hasIcon}>\n <slot name=\"icon\" @slotchange=${this._onIconSlotChange}></slot>\n </span>`, t = c`<span class=\"content\" part=\"content\"\n ><slot @slotchange=${this._onTextSlotChange}></slot\n ></span>`;\n return c`\n <button\n part=\"base\"\n class=\"button\"\n ?disabled=${this.disabled || this.loading}\n aria-disabled=${this.disabled || this.loading}\n aria-busy=${this.loading}\n @click=${this.handleClick}\n >\n ${this.iconPosition === \"end\" ? [t, e] : [e, t]}\n </button>\n `;\n }\n _onIconSlotChange(e) {\n this._hasIcon = e.target.assignedElements({ flatten: !0 }).length > 0, this._syncIconOnly(), this.requestUpdate();\n }\n _onTextSlotChange(e) {\n const t = e.target.assignedNodes({ flatten: !0 });\n this._hasText = t.some((s) => (s.textContent ?? \"\").trim().length > 0), this._syncIconOnly(), this.requestUpdate();\n }\n /** 纯图标(有 icon 无文案)时收为正方形 */\n _syncIconOnly() {\n this.classList.toggle(\"wc-button--icon-only\", this._hasIcon && !this._hasText);\n }\n};\nlt.styles = [d, br];\nlet S = lt;\nse([\n i({ reflect: !0 })\n], S.prototype, \"theme\");\nse([\n i({ reflect: !0 })\n], S.prototype, \"variant\");\nse([\n i({ reflect: !0 })\n], S.prototype, \"size\");\nse([\n i({ reflect: !0, attribute: \"icon-position\" })\n], S.prototype, \"iconPosition\");\nse([\n i({ type: Boolean, reflect: !0 })\n], S.prototype, \"block\");\nse([\n i({ type: Boolean, reflect: !0 })\n], S.prototype, \"disabled\");\nse([\n i({ type: Boolean, reflect: !0 })\n], S.prototype, \"loading\");\ncustomElements.get(\"wc-button\") || customElements.define(\"wc-button\", S);\nconst mr = h`\n :host {\n display: inline-block;\n\n /* component 层令牌:首尾按钮保留的圆角 */\n --wc-button-group-radius: var(--wc-radius-medium);\n }\n\n .group {\n display: inline-flex;\n vertical-align: middle;\n }\n\n /*\n * ::slotted 只能作用于子 wc-button 的宿主元素,圆角与边距通过\n * --wc-button-radius 自定义属性穿透进按钮的 Shadow DOM\n *(外层作用域对宿主的声明优先于组件内 :host 声明)。\n * 注意令牌名不能与按钮自身的 --wc-button-radius 同名,否则自引用失效。\n */\n ::slotted(wc-button) {\n --wc-button-radius: 0;\n position: relative;\n }\n\n /* 相邻边框合并:后一个左移 1px 压在前一个边框上 */\n ::slotted(wc-button:not(:first-child)) {\n margin-left: -1px;\n }\n\n /* 悬停/聚焦的上层按钮边框完整可见 */\n ::slotted(wc-button:hover),\n ::slotted(wc-button:focus-within) {\n z-index: 1;\n }\n\n ::slotted(wc-button:first-child) {\n --wc-button-radius: var(--wc-button-group-radius) 0 0 var(--wc-button-group-radius);\n }\n\n ::slotted(wc-button:last-child) {\n --wc-button-radius: 0 var(--wc-button-group-radius) var(--wc-button-group-radius) 0;\n }\n\n ::slotted(wc-button:only-child) {\n --wc-button-radius: var(--wc-button-group-radius);\n }\n`, dt = class dt extends l {\n render() {\n return c`<div class=\"group\" part=\"base\"><slot></slot></div>`;\n }\n};\ndt.styles = [d, mr];\nlet He = dt;\ncustomElements.get(\"wc-button-group\") || customElements.define(\"wc-button-group\", He);\nconst rt = /* @__PURE__ */ new Map(), ot = /* @__PURE__ */ new Map(), Ve = /* @__PURE__ */ new Map(), We = /* @__PURE__ */ new Set();\nfunction fr(o) {\n return We.add(o), () => We.delete(o);\n}\nfunction or() {\n for (const o of [...We]) o();\n}\nfunction yr(o, e) {\n rt.set(o, e), or();\n}\nfunction Ba(o) {\n return rt.get(o);\n}\nfunction xr(o, e) {\n ot.set(o, e), or();\n}\nfunction Aa(o) {\n return ot.get(o);\n}\nfunction p(o, e, t = \"0 0 24 24\") {\n return {\n name: o,\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"${t}\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${e}</svg>`\n };\n}\nxr(\"default\", {\n resolver: (o) => rt.get(o) ?? \"\"\n});\nasync function kr(o, e) {\n const t = ot.get(o);\n if (!t)\n return \"\";\n const s = `${o}:${e}`;\n let r = Ve.get(s);\n r || (r = Promise.resolve(t.resolver(e)).catch((n) => \"\"), Ve.set(s, r));\n const a = await r;\n if (!a)\n return Ve.delete(s), \"\";\n if (t.mutator && typeof DOMParser < \"u\") {\n const g = new DOMParser().parseFromString(a, \"text/html\").querySelector(\"svg\");\n if (g)\n return t.mutator(g), g.outerHTML;\n }\n return a;\n}\nconst $r = h`\n :host {\n display: inline-flex;\n /* 尺寸默认 1em,跟随 font-size 缩放;颜色继承 currentColor */\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n line-height: 1;\n }\n\n [part='base'] {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n }\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n /* 不设 fill:描边图标由 SVG 根的 fill=\"none\" 决定(CSS 会覆盖 presentation attribute,\n 设 fill: currentColor 会把闭合形状整体填充导致发糊);填充型图标由各自 SVG 声明。\n 颜色统一走 color → stroke=\"currentColor\" 继承。 */\n color: currentColor;\n pointer-events: none;\n }\n\n :host([spin]) svg,\n :host([pulse]) svg {\n transform-origin: center;\n animation: wc-spin var(--wc-duration-slow, 1s) linear infinite;\n }\n\n /* pulse:旋转 + 缓动呼吸感,用于加载中区分度更高的场景 */\n :host([pulse]) svg {\n animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);\n }\n\n @keyframes wc-spin {\n from {\n rotate: 0deg;\n }\n to {\n rotate: 360deg;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n :host([spin]) svg,\n :host([pulse]) svg {\n animation: none;\n }\n }\n`;\nvar zr = Object.defineProperty, ie = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && zr(e, t, r), r;\n};\nconst ht = class ht extends l {\n constructor() {\n super(...arguments), this.name = \"\", this.src = \"\", this.library = \"default\", this.label = \"\", this.spin = !1, this.pulse = !1, this.svg = \"\", this.requestId = 0;\n }\n willUpdate(e) {\n (e.has(\"src\") || e.has(\"name\") || e.has(\"library\")) && this.loadIcon();\n }\n disconnectedCallback() {\n this.unwatchRegister?.();\n }\n async loadIcon() {\n this.unwatchRegister?.(), this.unwatchRegister = void 0;\n const e = ++this.requestId, t = this.name && !this.src ? fr(() => {\n this.loadIcon();\n }) : null;\n let s = \"\";\n if (this.src ? s = await this.fetchSrc(this.src) : this.name && (s = await kr(this.library, this.name)), e !== this.requestId) {\n t?.();\n return;\n }\n s || !t ? t?.() : this.unwatchRegister = t, this.svg = s;\n }\n async fetchSrc(e) {\n if (typeof fetch != \"function\")\n return \"\";\n try {\n const t = await fetch(e);\n return t.ok ? await t.text() : \"\";\n } catch {\n return \"\";\n }\n }\n render() {\n return c`\n <span\n part=\"base\"\n role=${this.label ? \"img\" : \"presentation\"}\n aria-label=${this.label || u}\n aria-hidden=${this.label ? u : \"true\"}\n >${this.svg ? wr(this.svg) : u}</span\n >\n `;\n }\n};\nht.styles = [d, $r];\nlet _ = ht;\nie([\n i()\n], _.prototype, \"name\");\nie([\n i()\n], _.prototype, \"src\");\nie([\n i()\n], _.prototype, \"library\");\nie([\n i()\n], _.prototype, \"label\");\nie([\n i({ type: Boolean, reflect: !0 })\n], _.prototype, \"spin\");\nie([\n i({ type: Boolean, reflect: !0 })\n], _.prototype, \"pulse\");\nie([\n w()\n], _.prototype, \"svg\");\ncustomElements.get(\"wc-icon\") || customElements.define(\"wc-icon\", _);\nfunction N(o) {\n const t = class t extends o {\n constructor(...r) {\n super(...r), this.name = \"\", this.disabled = !1, this.internals = this.attachInternals();\n }\n /** 表单控件的当前值,表单类组件必须实现 */\n get value() {\n }\n set value(r) {\n }\n /** 表单重置时恢复默认值,子类按需覆写 */\n formResetCallback() {\n this.value = this.defaultValue;\n }\n /** 默认值,子类可覆写 */\n get defaultValue() {\n }\n };\n t.formAssociated = !0, t.properties = {\n name: { type: String },\n disabled: { type: Boolean, reflect: !0 }\n };\n let e = t;\n return e;\n}\nconst Cr = {\n \"select.placeholder\": \"Select\",\n \"select.empty\": \"No data\",\n \"pagination.total\": \"{total} items in total\",\n \"pagination.prev\": \"Previous page\",\n \"pagination.next\": \"Next page\",\n \"pagination.label\": \"Pagination\",\n \"pagination.page\": \"Page {page}\",\n \"pagination.jumpTo\": \"Go to\",\n \"pagination.pageUnit\": \"Page\",\n \"dialog.confirm\": \"Confirm\",\n \"dialog.cancel\": \"Cancel\",\n \"empty.noData\": \"No data\",\n \"table.empty\": \"No data in table\",\n \"input.clear\": \"Clear\",\n \"inputNumber.increment\": \"Increment\",\n \"inputNumber.decrement\": \"Decrement\",\n \"datePicker.placeholder\": \"Select date\",\n \"datePicker.today\": \"Today\",\n \"datePicker.prevYear\": \"Previous year\",\n \"datePicker.prevMonth\": \"Previous month\",\n \"datePicker.nextMonth\": \"Next month\",\n \"datePicker.nextYear\": \"Next year\",\n \"form.required\": \"{name} is required\",\n \"form.min\": \"{name} must be no less than {min}\",\n \"form.max\": \"{name} must be no greater than {max}\",\n \"form.minLength\": \"{name} must be at least {minLength} characters\",\n \"form.maxLength\": \"{name} must be at most {maxLength} characters\",\n \"form.pattern\": \"{name} format is invalid\",\n \"form.invalid\": \"{name} is invalid\",\n \"tag.close\": \"Remove\",\n \"dialog.close\": \"Close\",\n \"message.close\": \"Close\",\n \"breadcrumb.label\": \"Breadcrumb\",\n \"image.loadError\": \"Failed to load image\",\n \"image.preview\": \"Preview\",\n \"image.zoomIn\": \"Zoom in\",\n \"image.zoomOut\": \"Zoom out\",\n \"image.rotate\": \"Rotate\",\n \"image.reset\": \"Reset\",\n \"image.close\": \"Close\",\n \"upload.upload\": \"Upload\",\n \"upload.clickOrDrag\": \"Click or drag file here to upload\",\n \"upload.failed\": \"Upload failed\",\n \"upload.retry\": \"Retry\",\n \"upload.remove\": \"Remove\",\n \"upload.preview\": \"Preview\"\n}, Er = {\n \"select.placeholder\": \"请选择\",\n \"select.empty\": \"暂无数据\",\n \"pagination.total\": \"共 {total} 条\",\n \"pagination.prev\": \"上一页\",\n \"pagination.next\": \"下一页\",\n \"pagination.label\": \"分页导航\",\n \"pagination.page\": \"第 {page} 页\",\n \"pagination.jumpTo\": \"跳至\",\n \"pagination.pageUnit\": \"页\",\n \"dialog.confirm\": \"确认\",\n \"dialog.cancel\": \"取消\",\n \"empty.noData\": \"暂无数据\",\n \"table.empty\": \"表格暂无数据\",\n \"input.clear\": \"清空\",\n \"inputNumber.increment\": \"增加\",\n \"inputNumber.decrement\": \"减少\",\n \"datePicker.placeholder\": \"请选择日期\",\n \"datePicker.today\": \"今天\",\n \"datePicker.prevYear\": \"上一年\",\n \"datePicker.prevMonth\": \"上个月\",\n \"datePicker.nextMonth\": \"下个月\",\n \"datePicker.nextYear\": \"下一年\",\n \"form.required\": \"{name}不能为空\",\n \"form.min\": \"{name}不能小于{min}\",\n \"form.max\": \"{name}不能大于{max}\",\n \"form.minLength\": \"{name}至少{minLength}个字符\",\n \"form.maxLength\": \"{name}最多{maxLength}个字符\",\n \"form.pattern\": \"{name}格式不正确\",\n \"form.invalid\": \"{name}校验不通过\",\n \"tag.close\": \"删除\",\n \"dialog.close\": \"关闭\",\n \"message.close\": \"关闭\",\n \"breadcrumb.label\": \"面包屑导航\",\n \"image.loadError\": \"图片加载失败\",\n \"image.preview\": \"预览\",\n \"image.zoomIn\": \"放大\",\n \"image.zoomOut\": \"缩小\",\n \"image.rotate\": \"旋转\",\n \"image.reset\": \"重置\",\n \"image.close\": \"关闭\",\n \"upload.upload\": \"上传文件\",\n \"upload.clickOrDrag\": \"点击或拖拽文件到此处上传\",\n \"upload.failed\": \"上传失败\",\n \"upload.retry\": \"重新上传\",\n \"upload.remove\": \"移除\",\n \"upload.preview\": \"预览\"\n}, Xe = \"wc-language-change\", H = /* @__PURE__ */ new Map([\n [\"zh-CN\", { ...Er }],\n [\"en-US\", { ...Cr }]\n]);\nlet $e = \"zh-CN\";\nfunction Ra(o, e) {\n const t = H.get(o);\n H.set(o, Object.assign({}, t, e)), o === $e && sr();\n}\nfunction Fa(o) {\n if (!/^[a-zA-Z]{2,3}(-[a-zA-Z0-9]+)*$/.test(o))\n throw new Error(`[wc] 无效的语言标识: \"${o}\",需符合 BCP 47 格式,如 zh-CN`);\n o !== $e && ($e = o, sr());\n}\nfunction Sr() {\n return $e;\n}\nfunction ar(o) {\n if (H.has(o))\n return o;\n const e = o.split(\"-\")[0]?.toLowerCase();\n for (const t of H.keys())\n if (t.split(\"-\")[0]?.toLowerCase() === e)\n return t;\n return \"zh-CN\";\n}\nfunction _r(o, e, t) {\n const s = H.get(ar(o)), r = H.get(\"zh-CN\");\n let a = s?.[e] ?? r?.[e] ?? e;\n return t && (a = a.replace(\n /\\{(\\w+)\\}/g,\n (n, g) => g in t ? String(t[g]) : n\n )), a;\n}\nfunction Va() {\n return [...H.keys()];\n}\nfunction sr() {\n document.dispatchEvent(\n new CustomEvent(Xe, {\n detail: { locale: $e },\n bubbles: !0,\n composed: !0\n })\n );\n}\nclass m {\n constructor(e) {\n this.handleLanguageChange = () => {\n this.host.requestUpdate();\n }, this.host = e, e.addController(this);\n }\n hostConnected() {\n document.addEventListener(Xe, this.handleLanguageChange);\n }\n hostDisconnected() {\n document.removeEventListener(Xe, this.handleLanguageChange);\n }\n /** 取文案,支持 {var} 插值 */\n term(e, t) {\n return _r(this.resolvedLocale, e, t);\n }\n /** 按当前语言格式化日期 */\n date(e, t) {\n const { locale: s, ...r } = t ?? {};\n return new Intl.DateTimeFormat(s ?? this.resolvedLocale, r).format(\n e\n );\n }\n /** 按当前语言格式化数字 */\n number(e, t) {\n const { locale: s, ...r } = t ?? {};\n return new Intl.NumberFormat(s ?? this.resolvedLocale, r).format(\n e\n );\n }\n /** 元素 lang 属性优先,其次全局语言 */\n get resolvedLocale() {\n const e = this.host.getAttribute(\"lang\");\n return e ? ar(e) : Sr();\n }\n}\nconst Or = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-input-height: 32px;\n --wc-input-padding-x: var(--wc-space-2);\n --wc-input-font-size: var(--wc-font-size-medium);\n --wc-input-radius: var(--wc-radius-medium);\n }\n\n :host([size='small']) {\n --wc-input-height: 24px;\n --wc-input-padding-x: var(--wc-space-1);\n --wc-input-font-size: var(--wc-font-size-small);\n }\n\n :host([size='large']) {\n --wc-input-height: 40px;\n --wc-input-padding-x: var(--wc-space-3);\n --wc-input-font-size: var(--wc-font-size-large);\n }\n\n .input {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-input-height);\n padding: 0 var(--wc-input-padding-x);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-input-radius);\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 焦点态:外层容器统一呈现,内层去掉原生 outline 避免双重 */\n .input:focus-within {\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .inner {\n flex: 1;\n min-width: 0;\n height: 100%;\n font-family: inherit;\n font-size: var(--wc-input-font-size);\n color: var(--wc-color-text);\n background: transparent;\n border: none;\n outline: none;\n caret-color: var(--wc-color-primary);\n }\n\n .inner::placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .inner:disabled {\n cursor: not-allowed;\n }\n\n .affix {\n display: inline-flex;\n align-items: center;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n }\n\n .affix[hidden] {\n display: none;\n }\n\n .clear {\n width: 16px;\n height: 16px;\n justify-content: center;\n padding: 0;\n border: none;\n border-radius: var(--wc-radius-circle);\n background: transparent;\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n }\n\n /* wc-icon 的 :host 自带 text 色,这里让叉号跟随按钮的灰阶 */\n .clear wc-icon {\n color: inherit;\n }\n\n .clear:hover {\n color: var(--wc-color-text-secondary);\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .input {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .input {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .input {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .input:focus-within {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 / 只读 ---- */\n :host([disabled]) .input {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .inner {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .input {\n border-style: dashed;\n }\n`;\nvar Pr = Object.defineProperty, Mr = Object.getOwnPropertyDescriptor, q = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? Mr(e, t) : e, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = (s ? n(e, t, r) : n(r)) || r);\n return s && r && Pr(e, t, r), r;\n};\nconst pt = class pt extends N(l) {\n constructor() {\n super(...arguments), this._value = \"\", this.type = \"text\", this.size = \"medium\", this.placeholder = \"\", this.label = \"\", this.readonly = !1, this.clearable = !1, this.status = \"default\", this.localize = new m(this), this._hasPrefix = !1, this._hasSuffix = !1;\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e ?? \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(this.value || null);\n }\n formResetCallback() {\n super.formResetCallback(), this.internals.setFormValue(this.value || null);\n }\n handleInput(e) {\n const t = e.target;\n this.value = t.value, this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleClear(e) {\n e.preventDefault(), this.value = \"\", this.dispatchEvent(new CustomEvent(\"wc-clear\", { bubbles: !0, composed: !0 })), this.dispatchEvent(\n new CustomEvent(\"wc-change\", { detail: { value: \"\" }, bubbles: !0, composed: !0 })\n ), this.requestUpdate(), this.shadowRoot.querySelector(\"input\")?.focus();\n }\n render() {\n const e = this.clearable && this.value && !this.disabled && !this.readonly;\n return c`\n <div class=\"input\" part=\"base\">\n <span class=\"affix prefix\" part=\"prefix\" ?hidden=${!this._hasPrefix}>\n <slot name=\"prefix\" @slotchange=${this._onPrefixSlotChange}></slot>\n </span>\n <input\n part=\"input\"\n class=\"inner\"\n .value=${this.value}\n type=${this.type}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n placeholder=${this.placeholder}\n maxlength=${this.maxlength ?? -1}\n aria-label=${this.label || void 0}\n @input=${this.handleInput}\n @change=${this.handleChange}\n />\n ${e ? c`\n <button\n type=\"button\"\n class=\"affix clear\"\n part=\"clear-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"input.clear\")}\n @mousedown=${this.handleClear}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n <span class=\"affix suffix\" part=\"suffix\" ?hidden=${!this._hasSuffix}>\n <slot name=\"suffix\" @slotchange=${this._onSuffixSlotChange}></slot>\n </span>\n </div>\n `;\n }\n _onPrefixSlotChange(e) {\n this._hasPrefix = e.target.assignedElements({ flatten: !0 }).length > 0, this.requestUpdate();\n }\n _onSuffixSlotChange(e) {\n this._hasSuffix = e.target.assignedElements({ flatten: !0 }).length > 0, this.requestUpdate();\n }\n};\npt.styles = [d, Or];\nlet x = pt;\nq([\n i()\n], x.prototype, \"value\", 1);\nq([\n i()\n], x.prototype, \"type\", 2);\nq([\n i({ reflect: !0 })\n], x.prototype, \"size\", 2);\nq([\n i()\n], x.prototype, \"placeholder\", 2);\nq([\n i()\n], x.prototype, \"label\", 2);\nq([\n i({ type: Number })\n], x.prototype, \"maxlength\", 2);\nq([\n i({ type: Boolean, reflect: !0 })\n], x.prototype, \"readonly\", 2);\nq([\n i({ type: Boolean, reflect: !0 })\n], x.prototype, \"clearable\", 2);\nq([\n i({ reflect: !0 })\n], x.prototype, \"status\", 2);\ncustomElements.get(\"wc-input\") || customElements.define(\"wc-input\", x);\nconst Lr = h`\n :host {\n display: inline-block;\n width: 320px;\n\n /* component 层令牌 */\n --wc-textarea-min-height: 80px;\n --wc-textarea-padding-y: var(--wc-space-2);\n --wc-textarea-padding-x: var(--wc-space-2);\n --wc-textarea-font-size: var(--wc-font-size-medium);\n --wc-textarea-radius: var(--wc-radius-medium);\n }\n\n .textarea {\n position: relative;\n display: inline-flex;\n width: 100%;\n min-height: var(--wc-textarea-min-height);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-textarea-radius);\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .textarea:focus-within {\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .inner {\n flex: 1;\n width: 100%;\n padding: var(--wc-textarea-padding-y) var(--wc-textarea-padding-x);\n font-family: inherit;\n font-size: var(--wc-textarea-font-size);\n line-height: var(--wc-line-height-base);\n color: var(--wc-color-text);\n background: transparent;\n border: none;\n outline: none;\n resize: vertical;\n caret-color: var(--wc-color-primary);\n }\n\n /* autosize 时接管高度,禁用手动拉伸 */\n :host([autosize]) .inner {\n resize: none;\n overflow: hidden;\n }\n\n .inner::placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .inner:disabled {\n cursor: not-allowed;\n }\n\n .count {\n position: absolute;\n right: var(--wc-textarea-padding-x);\n bottom: var(--wc-textarea-padding-y);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text-placeholder);\n background: var(--wc-color-bg-container);\n pointer-events: none;\n }\n\n :host([status='success']) .textarea {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .textarea {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .textarea {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .textarea:focus-within {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n :host([disabled]) .textarea {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .inner {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .textarea {\n border-style: dashed;\n }\n`;\nvar jr = Object.defineProperty, Dr = Object.getOwnPropertyDescriptor, Y = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? Dr(e, t) : e, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = (s ? n(e, t, r) : n(r)) || r);\n return s && r && jr(e, t, r), r;\n};\nconst ut = class ut extends N(l) {\n constructor() {\n super(...arguments), this._value = \"\", this.placeholder = \"\", this.label = \"\", this.rows = 3, this.autosize = !1, this.readonly = !1, this.status = \"default\";\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e ?? \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(this.value || null), e.has(\"value\") && this.autosize && this.autoResize();\n }\n formResetCallback() {\n super.formResetCallback(), this.internals.setFormValue(this.value || null);\n }\n handleInput(e) {\n const t = e.target;\n this.value = t.value, this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n ), this.autosize && this.autoResize();\n }\n handleChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n /** 按内容自适应高度:先回到 auto 再取 scrollHeight */\n autoResize() {\n const e = this.shadowRoot.querySelector(\"textarea\");\n e && (e.style.height = \"auto\", e.style.height = `${e.scrollHeight}px`);\n }\n render() {\n return c`\n <div class=\"textarea\" part=\"base\">\n <textarea\n part=\"textarea\"\n class=\"inner\"\n .value=${this.value}\n rows=${this.rows}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n placeholder=${this.placeholder}\n maxlength=${this.maxlength ?? -1}\n aria-label=${this.label || void 0}\n @input=${this.handleInput}\n @change=${this.handleChange}\n ></textarea>\n ${this.maxlength ? c`<span class=\"count\" part=\"count\">${this.value.length}/${this.maxlength}</span>` : \"\"}\n </div>\n `;\n }\n};\nut.styles = [d, Lr];\nlet z = ut;\nY([\n i()\n], z.prototype, \"value\", 1);\nY([\n i()\n], z.prototype, \"placeholder\", 2);\nY([\n i()\n], z.prototype, \"label\", 2);\nY([\n i({ type: Number })\n], z.prototype, \"maxlength\", 2);\nY([\n i({ type: Number })\n], z.prototype, \"rows\", 2);\nY([\n i({ type: Boolean, reflect: !0 })\n], z.prototype, \"autosize\", 2);\nY([\n i({ type: Boolean, reflect: !0 })\n], z.prototype, \"readonly\", 2);\nY([\n i({ reflect: !0 })\n], z.prototype, \"status\", 2);\ncustomElements.get(\"wc-textarea\") || customElements.define(\"wc-textarea\", z);\nconst Ir = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-checkbox-size: 16px;\n --wc-checkbox-radius: var(--wc-radius-small);\n }\n\n .checkbox {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n }\n\n /* 原生 input 隐藏但保持可聚焦(键盘空格切换) */\n .native {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: 0;\n opacity: 0;\n pointer-events: none;\n }\n\n .box {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wc-checkbox-size);\n height: var(--wc-checkbox-size);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border-strong);\n border-radius: var(--wc-checkbox-radius);\n color: var(--wc-color-text-anti);\n flex-shrink: 0;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n border-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .check {\n width: 12px;\n height: 12px;\n opacity: 0;\n transform: scale(0.5);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .dash {\n position: absolute;\n width: 8px;\n height: 2px;\n border-radius: 1px;\n background: currentColor;\n opacity: 0;\n transform: scale(0.5);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 键盘焦点环 */\n .native:focus-visible + .box {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n /* 选中态 */\n :host([checked]) .box {\n background-color: var(--wc-color-primary);\n border-color: var(--wc-color-primary);\n }\n\n :host([checked]) .check {\n opacity: 1;\n transform: scale(1);\n }\n\n /* 半选态(优先于选中态图标) */\n :host([indeterminate]) .box {\n background-color: var(--wc-color-primary);\n border-color: var(--wc-color-primary);\n }\n\n :host([indeterminate]) .check {\n opacity: 0;\n }\n\n :host([indeterminate]) .dash {\n opacity: 1;\n transform: scale(1);\n }\n\n /* 悬停 */\n .checkbox:hover .box:not(.native:disabled + .box) {\n border-color: var(--wc-color-primary);\n }\n\n /* 禁用 */\n :host([disabled]) .checkbox {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n :host([disabled]) .box {\n background-color: var(--wc-color-bg-disabled);\n border-color: var(--wc-color-border);\n }\n\n :host([disabled][checked]) .box,\n :host([disabled][indeterminate]) .box {\n background-color: var(--wc-color-border);\n border-color: var(--wc-color-border);\n color: var(--wc-color-text-disabled);\n }\n\n .label {\n line-height: var(--wc-line-height-base);\n }\n`;\nvar Tr = Object.defineProperty, Le = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Tr(e, t, r), r;\n};\nconst vt = class vt extends N(l) {\n constructor() {\n super(), this.checked = !1, this.indeterminate = !1, this.value = \"on\", this.label = \"\", this.initialChecked = !1, this.initialChecked = this.hasAttribute(\"checked\");\n }\n get defaultValue() {\n return this.initialChecked ? this.value : null;\n }\n updated(e) {\n super.updated(e), (e.has(\"checked\") || e.has(\"value\")) && this.internals.setFormValue(this.checked ? this.value : null);\n }\n formResetCallback() {\n super.formResetCallback(), this.checked = this.initialChecked, this.internals.setFormValue(this.checked ? this.value : null);\n }\n handleChange(e) {\n const t = e.target;\n this.indeterminate = !1, this.checked = t.checked, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { checked: this.checked, value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <label class=\"checkbox\" part=\"base\">\n <input\n type=\"checkbox\"\n class=\"native\"\n .checked=${this.checked}\n .indeterminate=${this.indeterminate}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @change=${this.handleChange}\n />\n <span class=\"box\" part=\"box\" aria-hidden=\"true\">\n <svg class=\"check\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M3 8.5L6.5 12L13 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span class=\"dash\"></span>\n </span>\n <span class=\"label\" part=\"label\"><slot></slot></span>\n </label>\n `;\n }\n};\nvt.styles = [d, Ir];\nlet W = vt;\nLe([\n i({ type: Boolean, reflect: !0 })\n], W.prototype, \"checked\");\nLe([\n i({ type: Boolean, reflect: !0 })\n], W.prototype, \"indeterminate\");\nLe([\n i()\n], W.prototype, \"value\");\nLe([\n i()\n], W.prototype, \"label\");\ncustomElements.get(\"wc-checkbox\") || customElements.define(\"wc-checkbox\", W);\nconst Nr = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-radio-size: 16px;\n }\n\n .radio {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n }\n\n /* 原生 input 隐藏但保持可聚焦(键盘方向键切换) */\n .native {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: 0;\n opacity: 0;\n pointer-events: none;\n }\n\n .dot {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wc-radio-size);\n height: var(--wc-radio-size);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border-strong);\n border-radius: var(--wc-radius-circle);\n flex-shrink: 0;\n transition: border-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .inner {\n width: calc(var(--wc-radio-size) / 2 - 1px);\n height: calc(var(--wc-radio-size) / 2 - 1px);\n border-radius: var(--wc-radius-circle);\n background-color: var(--wc-color-primary);\n opacity: 0;\n transform: scale(0);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .native:focus-visible + .dot {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n :host([checked]) .dot {\n border-color: var(--wc-color-primary);\n }\n\n :host([checked]) .inner {\n opacity: 1;\n transform: scale(1);\n }\n\n .radio:hover .dot {\n border-color: var(--wc-color-primary);\n }\n\n :host([disabled]) .radio {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n :host([disabled]) .dot {\n background-color: var(--wc-color-bg-disabled);\n border-color: var(--wc-color-border);\n }\n\n :host([disabled][checked]) .dot {\n border-color: var(--wc-color-border);\n }\n\n :host([disabled][checked]) .inner {\n background-color: var(--wc-color-text-disabled);\n }\n\n .label {\n line-height: var(--wc-line-height-base);\n }\n`;\nvar qr = Object.defineProperty, at = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && qr(e, t, r), r;\n};\nconst wt = class wt extends N(l) {\n constructor() {\n super(), this.checked = !1, this.value = \"\", this.label = \"\", this.initialChecked = !1, this.initialChecked = this.hasAttribute(\"checked\");\n }\n get defaultValue() {\n return this.initialChecked ? this.value : null;\n }\n updated(e) {\n super.updated(e), (e.has(\"checked\") || e.has(\"value\")) && this.internals.setFormValue(this.checked ? this.value : null);\n }\n formResetCallback() {\n super.formResetCallback(), this.checked = this.initialChecked, this.internals.setFormValue(this.checked ? this.value : null);\n }\n handleChange(e) {\n const t = e.target;\n this.checked = t.checked, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <label class=\"radio\" part=\"base\">\n <input\n type=\"radio\"\n class=\"native\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @change=${this.handleChange}\n />\n <span class=\"dot\" part=\"dot\" aria-hidden=\"true\"><span class=\"inner\"></span></span>\n <span class=\"label\" part=\"label\"><slot></slot></span>\n </label>\n `;\n }\n};\nwt.styles = [d, Nr];\nlet we = wt;\nat([\n i({ type: Boolean, reflect: !0 })\n], we.prototype, \"checked\");\nat([\n i()\n], we.prototype, \"value\");\nat([\n i()\n], we.prototype, \"label\");\ncustomElements.get(\"wc-radio\") || customElements.define(\"wc-radio\", we);\nconst Br = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-switch-width: 40px;\n --wc-switch-height: 22px;\n --wc-switch-thumb: 18px;\n }\n\n .switch {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n }\n\n /* 原生 input 隐藏但保持可聚焦(键盘空格切换) */\n .native {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: 0;\n opacity: 0;\n pointer-events: none;\n }\n\n .track {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: var(--wc-switch-width);\n height: var(--wc-switch-height);\n padding: 2px;\n background-color: var(--wc-color-gray-300);\n border-radius: var(--wc-radius-round);\n flex-shrink: 0;\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .thumb {\n width: var(--wc-switch-thumb);\n height: var(--wc-switch-thumb);\n border-radius: var(--wc-radius-circle);\n background-color: var(--wc-color-text-anti);\n box-shadow: var(--wc-shadow-1);\n transform: translateX(0);\n transition: transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .native:focus-visible + .track {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n :host([checked]) .track {\n background-color: var(--wc-color-primary);\n }\n\n :host([checked]) .thumb {\n transform: translateX(calc(var(--wc-switch-width) - var(--wc-switch-height)));\n }\n\n .switch:hover .track {\n background-color: var(--wc-color-gray-400);\n }\n\n :host([checked]) .switch:hover .track {\n background-color: var(--wc-color-primary-hover);\n }\n\n :host([disabled]) .switch {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n :host([disabled]) .track {\n background-color: var(--wc-color-bg-disabled);\n }\n\n :host([disabled]) .thumb {\n background-color: var(--wc-color-gray-100);\n box-shadow: none;\n }\n\n .label {\n line-height: var(--wc-line-height-base);\n }\n`;\nvar Ar = Object.defineProperty, je = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Ar(e, t, r), r;\n};\nconst bt = class bt extends N(l) {\n constructor() {\n super(), this.checked = !1, this.checkedValue = \"on\", this.uncheckedValue = \"\", this.label = \"\", this.initialChecked = !1, this.initialChecked = this.hasAttribute(\"checked\");\n }\n get defaultValue() {\n return this.initialChecked ? this.checkedValue : this.uncheckedValue || null;\n }\n updated(e) {\n super.updated(e), (e.has(\"checked\") || e.has(\"checkedValue\") || e.has(\"uncheckedValue\")) && this.internals.setFormValue(this.checked ? this.checkedValue : this.uncheckedValue || null);\n }\n formResetCallback() {\n super.formResetCallback(), this.checked = this.initialChecked, this.internals.setFormValue(this.checked ? this.checkedValue : this.uncheckedValue || null);\n }\n handleChange(e) {\n const t = e.target;\n this.checked = t.checked, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { checked: this.checked },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <label class=\"switch\" part=\"base\">\n <input\n type=\"checkbox\"\n role=\"switch\"\n class=\"native\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @change=${this.handleChange}\n />\n <span class=\"track\" part=\"track\" aria-hidden=\"true\">\n <span class=\"thumb\" part=\"thumb\"></span>\n </span>\n <span class=\"label\" part=\"label\"><slot></slot></span>\n </label>\n `;\n }\n};\nbt.styles = [d, Br];\nlet X = bt;\nje([\n i({ type: Boolean, reflect: !0 })\n], X.prototype, \"checked\");\nje([\n i()\n], X.prototype, \"checkedValue\");\nje([\n i()\n], X.prototype, \"uncheckedValue\");\nje([\n i()\n], X.prototype, \"label\");\ncustomElements.get(\"wc-switch\") || customElements.define(\"wc-switch\", X);\nconst Rr = h`\n :host {\n display: block;\n }\n\n .option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: 0 var(--wc-space-3);\n height: 32px;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .text {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .check {\n width: 14px;\n height: 14px;\n color: var(--wc-color-primary);\n flex-shrink: 0;\n opacity: 0;\n }\n\n :host([selected]) .check {\n opacity: 1;\n }\n\n :host([selected]:not([active])) .text {\n color: var(--wc-color-primary);\n font-weight: var(--wc-font-weight-medium);\n }\n\n :host(:hover:not([disabled])) .option,\n :host([active]:not([disabled])) .option {\n background-color: var(--wc-color-bg-hover);\n }\n\n :host([disabled]) .option {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n`;\nvar Fr = Object.defineProperty, De = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Fr(e, t, r), r;\n};\nconst gt = class gt extends l {\n constructor() {\n super(...arguments), this.value = \"\", this.disabled = !1, this.selected = !1, this.active = !1;\n }\n /** 选项文本 */\n get label() {\n return (this.textContent ?? \"\").trim();\n }\n render() {\n return c`\n <div class=\"option\" part=\"base\" role=\"option\" aria-selected=${this.selected}>\n <span class=\"text\"><slot></slot></span>\n <svg class=\"check\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M3 8.5L6.5 12L13 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n `;\n }\n};\ngt.styles = [Rr];\nlet G = gt;\nDe([\n i({ reflect: !0 })\n], G.prototype, \"value\");\nDe([\n i({ type: Boolean, reflect: !0 })\n], G.prototype, \"disabled\");\nDe([\n i({ type: Boolean, reflect: !0 })\n], G.prototype, \"selected\");\nDe([\n i({ type: Boolean, reflect: !0 })\n], G.prototype, \"active\");\ncustomElements.get(\"wc-option\") || customElements.define(\"wc-option\", G);\nconst Vr = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-select-height: 32px;\n --wc-select-padding-x: var(--wc-space-2);\n --wc-select-font-size: var(--wc-font-size-medium);\n --wc-select-radius: var(--wc-radius-medium);\n --wc-select-panel-max-height: 280px;\n }\n\n :host([size='small']) {\n --wc-select-height: 24px;\n --wc-select-padding-x: var(--wc-space-1);\n --wc-select-font-size: var(--wc-font-size-small);\n }\n\n :host([size='large']) {\n --wc-select-height: 40px;\n --wc-select-padding-x: var(--wc-space-3);\n --wc-select-font-size: var(--wc-font-size-large);\n }\n\n .select {\n position: relative;\n display: inline-block;\n width: 100%;\n }\n\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-select-height);\n padding: 0 var(--wc-select-padding-x);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-select-radius);\n cursor: pointer;\n user-select: none;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 与 input 的 focus-within 对齐:键盘聚焦或展开时均呈现焦点视觉 */\n .trigger:focus-visible,\n :host([open]) .trigger {\n outline: none;\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .value {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--wc-select-font-size);\n color: var(--wc-color-text);\n }\n\n .value.placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .arrow {\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n transition: transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n :host([open]) .arrow {\n transform: rotate(180deg);\n }\n\n .clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n border-radius: var(--wc-radius-circle);\n flex-shrink: 0;\n opacity: 0;\n transition: opacity var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .clear:hover {\n color: var(--wc-color-text-secondary);\n }\n\n /* 悬停触发器时显示清除按钮 */\n .trigger:hover .clear,\n .trigger:focus-visible .clear {\n opacity: 1;\n }\n\n /* 有清除按钮时悬停隐藏箭头,避免拥挤 */\n .trigger:hover .clear + .arrow {\n display: none;\n }\n\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: var(--wc-z-index-dropdown);\n width: 100%;\n max-height: var(--wc-select-panel-max-height);\n overflow-y: auto;\n padding: var(--wc-space-1) 0;\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-select-radius);\n box-shadow: var(--wc-shadow-2);\n }\n\n .panel[hidden] {\n display: none;\n }\n\n .empty {\n padding: var(--wc-space-4) var(--wc-space-3);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n text-align: center;\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .trigger {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .trigger {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .trigger {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .trigger:focus-visible,\n :host([status='error'][open]) .trigger {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 ---- */\n :host([disabled]) .trigger {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .value {\n color: var(--wc-color-text-disabled);\n }\n`;\nvar Ur = Object.defineProperty, Yr = Object.getOwnPropertyDescriptor, me = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? Yr(e, t) : e, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = (s ? n(e, t, r) : n(r)) || r);\n return s && r && Ur(e, t, r), r;\n};\nconst mt = class mt extends N(l) {\n constructor() {\n super(), this._value = \"\", this.placeholder = \"\", this.size = \"medium\", this.status = \"default\", this.clearable = !1, this.open = !1, this.activeIndex = -1, this.localize = new m(this), this.uid = `wc-select-${Math.random().toString(36).slice(2, 8)}`, this.assignedOptions = [], this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.hide();\n }, this.handleKeydown = (e) => {\n if (!this.disabled)\n switch (e.key) {\n case \"Enter\":\n case \" \":\n if (e.preventDefault(), this.open && this.activeIndex >= 0) {\n const t = this.enabledOptions[this.activeIndex];\n t && this.selectOption(t);\n } else\n this.show();\n break;\n case \"Escape\":\n e.preventDefault(), this.hide();\n break;\n case \"ArrowDown\":\n e.preventDefault(), this.open ? this.enabledOptions.length && (this.activeIndex = (this.activeIndex + 1) % this.enabledOptions.length, this.scrollToActive()) : this.show();\n break;\n case \"ArrowUp\":\n if (e.preventDefault(), !this.open)\n this.show();\n else if (this.enabledOptions.length) {\n const t = this.enabledOptions.length;\n this.activeIndex = (this.activeIndex - 1 + t) % t, this.scrollToActive();\n }\n break;\n case \"Home\":\n this.open && this.enabledOptions.length && (e.preventDefault(), this.activeIndex = 0, this.scrollToActive());\n break;\n case \"End\":\n this.open && this.enabledOptions.length && (e.preventDefault(), this.activeIndex = this.enabledOptions.length - 1, this.scrollToActive());\n break;\n case \"Tab\":\n this.hide();\n break;\n }\n }, this.addEventListener(\"keydown\", this.handleKeydown);\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e ?? \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && (this.syncOptions(), this.internals.setFormValue(this.value || null));\n }\n formResetCallback() {\n super.formResetCallback(), this.value = String(this.defaultValue ?? \"\"), this.internals.setFormValue(this.value || null);\n }\n connectedCallback() {\n super.connectedCallback(), document.addEventListener(\"click\", this.onDocumentClick);\n }\n disconnectedCallback() {\n document.removeEventListener(\"click\", this.onDocumentClick), super.disconnectedCallback();\n }\n /** 面板中的选项列表 */\n get enabledOptions() {\n return this.assignedOptions.filter((e) => !e.disabled);\n }\n get selectedLabel() {\n return this.assignedOptions.find((e) => e.value === this.value)?.label ?? \"\";\n }\n get displayText() {\n return this.value ? this.selectedLabel : this.placeholder || this.localize.term(\"select.placeholder\");\n }\n onSlotChange(e) {\n this.assignedOptions = e.target.assignedElements().filter((t) => t.tagName === \"WC-OPTION\"), this.assignedOptions.forEach((t, s) => t.setAttribute(\"id\", `${this.uid}-opt-${s}`)), this.syncOptions(), this.requestUpdate();\n }\n syncOptions() {\n for (const e of this.assignedOptions)\n e.selected = !e.disabled && e.value === this.value;\n }\n /* ---------- 开合 ---------- */\n show() {\n if (this.disabled || this.open) return;\n this.open = !0;\n const e = this.enabledOptions.findIndex((t) => t.value === this.value);\n this.activeIndex = e >= 0 ? e : this.enabledOptions.length ? 0 : -1, this.scrollToActive();\n }\n hide() {\n this.open && (this.open = !1, this.activeIndex = -1);\n }\n toggle() {\n this.open ? this.hide() : this.show();\n }\n onTriggerClick() {\n this.toggle();\n }\n onPanelClick(e) {\n const t = e.target.closest(\"wc-option\");\n t && !t.disabled && this.selectOption(t);\n }\n selectOption(e) {\n this.value = e.value, this.hide(), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value, label: e.label },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleClear(e) {\n e.preventDefault(), e.stopPropagation(), this.value = \"\", this.hide(), this.dispatchEvent(new CustomEvent(\"wc-clear\", { bubbles: !0, composed: !0 })), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: \"\", label: \"\" },\n bubbles: !0,\n composed: !0\n })\n );\n }\n scrollToActive() {\n for (const t of this.assignedOptions)\n t.active = !1;\n const e = this.enabledOptions[this.activeIndex];\n e && (e.active = !0), this.updateComplete.then(() => {\n e && typeof e.scrollIntoView == \"function\" && e.scrollIntoView({ block: \"nearest\" });\n });\n }\n render() {\n const e = this.activeIndex >= 0 ? this.enabledOptions[this.activeIndex] : void 0, t = e ? `${this.uid}-opt-${this.assignedOptions.indexOf(e)}` : \"\", s = this.clearable && this.value && !this.disabled;\n return c`\n <div class=\"select\" part=\"base\">\n <div\n class=\"trigger\"\n part=\"trigger\"\n role=\"combobox\"\n tabindex=${this.disabled ? -1 : 0}\n aria-haspopup=\"listbox\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=${this.open ? `${this.uid}-panel` : void 0}\n aria-activedescendant=${this.open && t ? t : void 0}\n @click=${this.onTriggerClick}\n >\n <span class=\"value ${this.value ? \"\" : \"placeholder\"}\" part=\"value\"\n >${this.displayText}</span\n >\n ${s ? c`\n <span\n class=\"clear\"\n part=\"clear-button\"\n role=\"button\"\n aria-label=${this.localize.term(\"input.clear\")}\n @mousedown=${(r) => {\n r.preventDefault(), r.stopPropagation();\n }}\n @click=${this.handleClear}\n >\n <wc-icon name=\"close\"></wc-icon>\n </span>\n ` : \"\"}\n <wc-icon name=\"chevron-down\" class=\"arrow\"></wc-icon>\n </div>\n <div\n class=\"panel\"\n part=\"panel\"\n id=\"${this.uid}-panel\"\n role=\"listbox\"\n ?hidden=${!this.open}\n @click=${this.onPanelClick}\n >\n <slot @slotchange=${this.onSlotChange}></slot>\n ${this.assignedOptions.length === 0 ? c`<div class=\"empty\">${this.localize.term(\"select.empty\")}</div>` : \"\"}\n </div>\n </div>\n `;\n }\n};\nmt.styles = [d, Vr];\nlet D = mt;\nme([\n i()\n], D.prototype, \"value\", 1);\nme([\n i()\n], D.prototype, \"placeholder\", 2);\nme([\n i({ reflect: !0 })\n], D.prototype, \"size\", 2);\nme([\n i({ reflect: !0 })\n], D.prototype, \"status\", 2);\nme([\n i({ type: Boolean, reflect: !0 })\n], D.prototype, \"clearable\", 2);\nme([\n i({ type: Boolean, reflect: !0 })\n], D.prototype, \"open\", 2);\ncustomElements.get(\"wc-select\") || customElements.define(\"wc-select\", D);\nconst Kr = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-slider-height: 20px;\n --wc-slider-track-height: 4px;\n --wc-slider-thumb-size: 16px;\n }\n\n .slider {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 100%;\n height: var(--wc-slider-height);\n touch-action: none;\n }\n\n .track {\n width: 100%;\n height: var(--wc-slider-track-height);\n background-color: var(--wc-color-gray-200);\n border-radius: var(--wc-radius-round);\n overflow: hidden;\n }\n\n .fill {\n height: 100%;\n background-color: var(--wc-color-primary);\n transition: width var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .thumb {\n position: absolute;\n top: 50%;\n width: var(--wc-slider-thumb-size);\n height: var(--wc-slider-thumb-size);\n background-color: var(--wc-color-bg-container);\n border: 2px solid var(--wc-color-primary);\n border-radius: var(--wc-radius-circle);\n box-shadow: var(--wc-shadow-1);\n box-sizing: border-box;\n pointer-events: none;\n transform: translate(-50%, -50%);\n transition: left var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 原生 range 覆盖整个区域接收交互,视觉隐藏 */\n .native {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n }\n\n .native:focus-visible ~ .thumb {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .native:disabled {\n cursor: not-allowed;\n }\n\n :host([disabled]) .track {\n background-color: var(--wc-color-bg-disabled);\n }\n\n :host([disabled]) .fill {\n background-color: var(--wc-color-border);\n }\n\n :host([disabled]) .thumb {\n border-color: var(--wc-color-border);\n box-shadow: none;\n }\n`;\nvar Hr = Object.defineProperty, Wr = Object.getOwnPropertyDescriptor, Ee = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? Wr(e, t) : e, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = (s ? n(e, t, r) : n(r)) || r);\n return s && r && Hr(e, t, r), r;\n};\nconst ft = class ft extends N(l) {\n constructor() {\n super(...arguments), this._value = 0, this.min = 0, this.max = 100, this.step = 1, this.label = \"\";\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = this.clamp(e), this.requestUpdate(\"value\", t);\n }\n /** 按 step 取整并夹在 [min, max] 区间 */\n clamp(e) {\n if (Number.isNaN(e)) return this._value;\n const t = Math.round((e - this.min) / this.step) * this.step + this.min, s = Number(t.toFixed(10));\n return Math.min(this.max, Math.max(this.min, s));\n }\n get percent() {\n return this.max === this.min ? 0 : (this.value - this.min) / (this.max - this.min) * 100;\n }\n get defaultValue() {\n const e = this.getAttribute(\"value\");\n return e ? Number(e) : 0;\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(String(this.value));\n }\n formResetCallback() {\n super.formResetCallback(), this.value = Number(this.defaultValue ?? 0), this.internals.setFormValue(String(this.value));\n }\n handleInput(e) {\n const t = e.target;\n this.value = Number(t.value), this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <div class=\"slider\" part=\"base\">\n <div class=\"track\" part=\"track\">\n <div class=\"fill\" part=\"fill\" style=\"width: ${this.percent}%\"></div>\n </div>\n <div class=\"thumb\" part=\"thumb\" style=\"left: ${this.percent}%\"></div>\n <input\n type=\"range\"\n class=\"native\"\n min=${this.min}\n max=${this.max}\n step=${this.step}\n .value=${String(this.value)}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @input=${this.handleInput}\n @change=${this.handleChange}\n />\n </div>\n `;\n }\n};\nft.styles = [d, Kr];\nlet V = ft;\nEe([\n i({ type: Number })\n], V.prototype, \"value\", 1);\nEe([\n i({ type: Number })\n], V.prototype, \"min\", 2);\nEe([\n i({ type: Number })\n], V.prototype, \"max\", 2);\nEe([\n i({ type: Number })\n], V.prototype, \"step\", 2);\nEe([\n i()\n], V.prototype, \"label\", 2);\ncustomElements.get(\"wc-slider\") || customElements.define(\"wc-slider\", V);\nconst Xr = h`\n :host {\n display: inline-block;\n width: 144px;\n\n /* component 层令牌 */\n --wc-input-number-height: 32px;\n --wc-input-number-padding-x: var(--wc-space-2);\n --wc-input-number-font-size: var(--wc-font-size-medium);\n --wc-input-number-radius: var(--wc-radius-medium);\n --wc-input-number-step-width: 28px;\n }\n\n :host([size='small']) {\n --wc-input-number-height: 24px;\n --wc-input-number-padding-x: var(--wc-space-1);\n --wc-input-number-font-size: var(--wc-font-size-small);\n --wc-input-number-step-width: 24px;\n }\n\n :host([size='large']) {\n --wc-input-number-height: 40px;\n --wc-input-number-padding-x: var(--wc-space-3);\n --wc-input-number-font-size: var(--wc-font-size-large);\n --wc-input-number-step-width: 32px;\n }\n\n .number {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: var(--wc-input-number-height);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-input-number-radius);\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .number:focus-within {\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .inner {\n flex: 1;\n min-width: 0;\n padding: 0 var(--wc-input-number-padding-x);\n font-family: inherit;\n font-size: var(--wc-input-number-font-size);\n color: var(--wc-color-text);\n text-align: center;\n background: transparent;\n border: none;\n outline: none;\n caret-color: var(--wc-color-primary);\n }\n\n :host([theme='column']) .inner,\n :host([theme='normal']) .inner {\n text-align: inherit;\n }\n\n .inner::placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .inner:disabled {\n cursor: not-allowed;\n }\n\n .step {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--wc-input-number-step-width);\n padding: 0;\n color: var(--wc-color-text-secondary);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: 0;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .step:hover:not(:disabled):not(:active) {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .step:active:not(:disabled) {\n color: var(--wc-color-primary-active);\n }\n\n .step:disabled {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n\n .step wc-icon {\n pointer-events: none;\n }\n\n /* ---- column 主题:步进按钮右侧纵向堆叠 ---- */\n .stepper {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n width: 22px;\n border-left: 1px solid var(--wc-color-border);\n }\n\n :host([theme='column']) .step {\n flex: 1;\n width: 100%;\n }\n\n :host([theme='column']) .step wc-icon {\n font-size: 10px;\n }\n\n .stepper .step + .step {\n border-top: 1px solid var(--wc-color-border);\n }\n\n /* row 主题:左右两个按钮与边框衔接处不留圆角缝隙 */\n :host([theme='row']) .number {\n overflow: hidden;\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .number {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .number {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .number {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .number:focus-within {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 / 只读 ---- */\n :host([disabled]) .number {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .inner {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .number {\n border-style: dashed;\n }\n`;\nvar Gr = Object.defineProperty, Zr = Object.getOwnPropertyDescriptor, j = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? Zr(e, t) : e, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = (s ? n(e, t, r) : n(r)) || r);\n return s && r && Gr(e, t, r), r;\n};\nconst yt = class yt extends N(l) {\n constructor() {\n super(...arguments), this._value = 0, this.min = -1 / 0, this.max = 1 / 0, this.step = 1, this.theme = \"row\", this.size = \"medium\", this.placeholder = \"\", this.label = \"\", this.readonly = !1, this.status = \"default\", this.localize = new m(this), this._editing = !1, this._text = \"\";\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = this.clamp(e), this.requestUpdate(\"value\", t);\n }\n /** 按 step 取整并夹在 [min, max] 区间(与 Slider 同一套算法,额外处理 ±Infinity 边界) */\n clamp(e) {\n if (Number.isNaN(e)) return this._value;\n const t = Number.isFinite(this.min) ? Math.round((e - this.min) / this.step) * this.step + this.min : Math.round(e / this.step) * this.step, s = Number(t.toFixed(10));\n return Math.min(this.max, Math.max(this.min, s));\n }\n formatValue() {\n return String(this._value);\n }\n get defaultValue() {\n const e = this.getAttribute(\"value\");\n return e ? Number(e) : 0;\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(String(this.value));\n }\n formResetCallback() {\n super.formResetCallback(), this.value = Number(this.defaultValue ?? 0), this.internals.setFormValue(String(this.value));\n }\n /** 步进:按钮点击与 ↑/↓ 键盘共用;值未变化时不派发事件 */\n stepBy(e) {\n if (this.disabled || this.readonly) return;\n const t = this.clamp(this.value + e * this.step);\n t !== this.value && (this.value = t, this.internals.setFormValue(String(this.value)), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n ));\n }\n /** 提交编辑中的文本:空/非法回退当前值,合法则取整夹紧后提交 */\n commit() {\n if (!this._editing) return;\n this._editing = !1, this._text = \"\";\n const e = this.shadowRoot.querySelector(\".inner\").value.trim(), t = Number(e), s = e === \"\" || Number.isNaN(t) ? this._value : this.clamp(t);\n this.requestUpdate(), s !== this._value && (this.value = s, this.internals.setFormValue(String(this.value)), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n ));\n }\n handleFocus() {\n this._editing = !0, this._text = this.formatValue(), this.requestUpdate();\n }\n handleBlur() {\n this.commit();\n }\n handleInput(e) {\n const t = e.target;\n this._text = t.value, this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: Number(t.value), text: t.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleKeydown(e) {\n e.key === \"ArrowUp\" ? (e.preventDefault(), this.stepBy(1)) : e.key === \"ArrowDown\" ? (e.preventDefault(), this.stepBy(-1)) : e.key === \"Enter\" && this.commit();\n }\n get canDecrement() {\n return !this.disabled && !this.readonly && this.value > this.min;\n }\n get canIncrement() {\n return !this.disabled && !this.readonly && this.value < this.max;\n }\n render() {\n const e = (s) => {\n const r = s === 1;\n return c`\n <button\n type=\"button\"\n class=\"step ${r ? \"plus\" : \"minus\"}\"\n part=${r ? \"increment-button\" : \"decrement-button\"}\n tabindex=\"-1\"\n ?disabled=${r ? !this.canIncrement : !this.canDecrement}\n aria-label=${this.localize.term(r ? \"inputNumber.increment\" : \"inputNumber.decrement\")}\n @click=${() => this.stepBy(s)}\n >\n <wc-icon name=${r ? \"plus\" : \"minus\"}></wc-icon>\n </button>\n `;\n }, t = c`\n <input\n part=\"input\"\n class=\"inner\"\n type=\"text\"\n inputmode=\"decimal\"\n .value=${this._editing ? this._text : this.formatValue()}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n placeholder=${this.placeholder}\n aria-label=${this.label || void 0}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @input=${this.handleInput}\n @keydown=${this.handleKeydown}\n />\n `;\n return this.theme === \"normal\" ? c`<div class=\"number\" part=\"base\">${t}</div>` : this.theme === \"column\" ? c`\n <div class=\"number\" part=\"base\">\n ${t}\n <span class=\"stepper\" part=\"stepper\"> ${e(1)}${e(-1)} </span>\n </div>\n ` : c` <div class=\"number\" part=\"base\">${e(-1)}${t}${e(1)}</div> `;\n }\n};\nyt.styles = [d, Xr];\nlet y = yt;\nj([\n i({ type: Number })\n], y.prototype, \"value\", 1);\nj([\n i({ type: Number })\n], y.prototype, \"min\", 2);\nj([\n i({ type: Number })\n], y.prototype, \"max\", 2);\nj([\n i({ type: Number })\n], y.prototype, \"step\", 2);\nj([\n i({ reflect: !0 })\n], y.prototype, \"theme\", 2);\nj([\n i({ reflect: !0 })\n], y.prototype, \"size\", 2);\nj([\n i()\n], y.prototype, \"placeholder\", 2);\nj([\n i()\n], y.prototype, \"label\", 2);\nj([\n i({ type: Boolean, reflect: !0 })\n], y.prototype, \"readonly\", 2);\nj([\n i({ reflect: !0 })\n], y.prototype, \"status\", 2);\ncustomElements.get(\"wc-input-number\") || customElements.define(\"wc-input-number\", y);\nconst Jr = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-date-picker-height: 32px;\n --wc-date-picker-padding-x: var(--wc-space-2);\n --wc-date-picker-font-size: var(--wc-font-size-medium);\n --wc-date-picker-radius: var(--wc-radius-medium);\n --wc-date-picker-cell-size: 32px;\n }\n\n :host([size='small']) {\n --wc-date-picker-height: 24px;\n --wc-date-picker-padding-x: var(--wc-space-1);\n --wc-date-picker-font-size: var(--wc-font-size-small);\n --wc-date-picker-cell-size: 28px;\n }\n\n :host([size='large']) {\n --wc-date-picker-height: 40px;\n --wc-date-picker-padding-x: var(--wc-space-3);\n --wc-date-picker-font-size: var(--wc-font-size-large);\n --wc-date-picker-cell-size: 36px;\n }\n\n .picker {\n position: relative;\n display: inline-block;\n width: 100%;\n }\n\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-date-picker-height);\n padding: 0 var(--wc-date-picker-padding-x);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-date-picker-radius);\n cursor: pointer;\n user-select: none;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .trigger:focus-visible {\n outline: none;\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .value {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--wc-date-picker-font-size);\n color: var(--wc-color-text);\n }\n\n .value.placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .icon {\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n }\n\n .clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n border-radius: var(--wc-radius-circle);\n flex-shrink: 0;\n opacity: 0;\n transition: opacity var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .clear:hover {\n color: var(--wc-color-text-secondary);\n }\n\n .trigger:hover .clear,\n .trigger:focus-visible .clear {\n opacity: 1;\n }\n\n .trigger:hover .clear + .icon {\n display: none;\n }\n\n /* ---- 日历面板 ---- */\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: var(--wc-z-index-dropdown);\n padding: var(--wc-space-3);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-date-picker-radius);\n box-shadow: var(--wc-shadow-2);\n }\n\n .panel[hidden] {\n display: none;\n }\n\n .header {\n display: flex;\n align-items: center;\n gap: var(--wc-space-1);\n margin-bottom: var(--wc-space-2);\n }\n\n .month-label {\n flex: 1;\n min-width: 0;\n font-size: var(--wc-font-size-medium);\n font-weight: var(--wc-font-weight-medium, 500);\n color: var(--wc-color-text);\n text-align: center;\n white-space: nowrap;\n }\n\n .nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n font-size: 12px;\n color: var(--wc-color-text-secondary);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .nav wc-icon + wc-icon {\n margin-left: -10px;\n }\n\n .nav:hover {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .grid {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .row {\n display: grid;\n grid-template-columns: repeat(7, var(--wc-date-picker-cell-size));\n }\n\n .cell {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wc-date-picker-cell-size);\n height: var(--wc-date-picker-cell-size);\n box-sizing: border-box;\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text);\n border: 1px solid transparent;\n border-radius: var(--wc-radius-circle);\n user-select: none;\n }\n\n .cell.weekday {\n height: auto;\n color: var(--wc-color-text-placeholder);\n cursor: default;\n }\n\n .cell.day {\n cursor: pointer;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .cell.day:hover {\n background-color: var(--wc-color-bg-hover);\n }\n\n .cell.day.out {\n color: var(--wc-color-text-placeholder);\n }\n\n .cell.day.today {\n border-color: var(--wc-color-primary);\n color: var(--wc-color-primary);\n }\n\n .cell.day.active {\n box-shadow: inset 0 0 0 1px var(--wc-color-primary);\n }\n\n .cell.day.selected {\n background-color: var(--wc-color-primary);\n color: var(--wc-color-text-anti);\n }\n\n .cell.day.selected.today {\n border-color: var(--wc-color-primary);\n color: var(--wc-color-text-anti);\n }\n\n .footer {\n display: flex;\n justify-content: flex-end;\n margin-top: var(--wc-space-2);\n padding-top: var(--wc-space-2);\n border-top: 1px solid var(--wc-color-border);\n }\n\n .today {\n padding: 2px var(--wc-space-2);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-primary);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .today:hover {\n background-color: var(--wc-color-primary-light);\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .trigger {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .trigger {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .trigger {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .trigger:focus-visible {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 / 只读 ---- */\n :host([disabled]) .trigger {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .value {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .trigger {\n border-style: dashed;\n }\n`;\nvar Qr = Object.defineProperty, eo = Object.getOwnPropertyDescriptor, B = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? eo(e, t) : e, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = (s ? n(e, t, r) : n(r)) || r);\n return s && r && Qr(e, t, r), r;\n};\nfunction Jt(o) {\n return String(o).padStart(2, \"0\");\n}\nfunction ke(o) {\n return `${o.getFullYear()}-${Jt(o.getMonth() + 1)}-${Jt(o.getDate())}`;\n}\nfunction Ue(o) {\n const e = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(o);\n if (!e) return null;\n const t = new Date(Number(e[1]), Number(e[2]) - 1, Number(e[3]));\n return Number.isNaN(t.getTime()) ? null : t;\n}\nfunction Qt(o, e) {\n return new Date(o.getFullYear(), o.getMonth(), o.getDate() + e);\n}\nconst xt = class xt extends N(l) {\n constructor() {\n super(), this._value = \"\", this.placeholder = \"\", this.label = \"\", this.size = \"medium\", this.status = \"default\", this.clearable = !1, this.readonly = !1, this.firstDayOfWeek = 0, this.open = !1, this.viewYear = (/* @__PURE__ */ new Date()).getFullYear(), this.viewMonth = (/* @__PURE__ */ new Date()).getMonth(), this.activeIso = \"\", this.localize = new m(this), this.uid = `wc-date-picker-${Math.random().toString(36).slice(2, 8)}`, this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.hide();\n }, this.handleKeydown = (e) => {\n if (!(this.disabled || this.readonly))\n switch (e.key) {\n case \"Enter\":\n case \" \":\n e.preventDefault(), this.open && this.activeIso ? this.selectDate(this.activeIso) : this.show();\n break;\n case \"Escape\":\n e.preventDefault(), this.hide();\n break;\n case \"ArrowLeft\":\n e.preventDefault(), this.open ? this.moveActive(-1) : this.show();\n break;\n case \"ArrowRight\":\n e.preventDefault(), this.open ? this.moveActive(1) : this.show();\n break;\n case \"ArrowUp\":\n e.preventDefault(), this.open ? this.moveActive(-7) : this.show();\n break;\n case \"ArrowDown\":\n e.preventDefault(), this.open ? this.moveActive(7) : this.show();\n break;\n case \"Home\":\n this.open && (e.preventDefault(), this.moveActive(-7));\n break;\n case \"End\":\n this.open && (e.preventDefault(), this.moveActive(7));\n break;\n case \"Tab\":\n this.hide();\n break;\n }\n }, this.addEventListener(\"keydown\", this.handleKeydown);\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e && Ue(e) ? e : \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(this.value || null);\n }\n formResetCallback() {\n super.formResetCallback(), this.value = String(this.defaultValue ?? \"\"), this.internals.setFormValue(this.value || null);\n }\n connectedCallback() {\n super.connectedCallback(), document.addEventListener(\"click\", this.onDocumentClick);\n }\n disconnectedCallback() {\n document.removeEventListener(\"click\", this.onDocumentClick), super.disconnectedCallback();\n }\n /* ---------- 开合(同 Select 模式) ---------- */\n show() {\n if (this.disabled || this.readonly || this.open) return;\n this.open = !0;\n const e = Ue(this.value) ?? /* @__PURE__ */ new Date();\n this.viewYear = e.getFullYear(), this.viewMonth = e.getMonth(), this.activeIso = ke(e);\n }\n hide() {\n this.open && (this.open = !1, this.activeIso = \"\");\n }\n toggle() {\n this.open ? this.hide() : this.show();\n }\n /* ---------- 日历视图 ---------- */\n setView(e, t) {\n this.viewYear = e, this.viewMonth = t, this.requestUpdate();\n }\n prevMonth() {\n const e = this.viewMonth === 0 ? 11 : this.viewMonth - 1, t = this.viewMonth === 0 ? this.viewYear - 1 : this.viewYear;\n this.setView(t, e);\n }\n nextMonth() {\n const e = this.viewMonth === 11 ? 0 : this.viewMonth + 1, t = this.viewMonth === 11 ? this.viewYear + 1 : this.viewYear;\n this.setView(t, e);\n }\n prevYear() {\n this.setView(this.viewYear - 1, this.viewMonth);\n }\n nextYear() {\n this.setView(this.viewYear + 1, this.viewMonth);\n }\n /** 6 行 × 7 列 = 42 格,含前后月补位日期 */\n get calendarCells() {\n const t = (new Date(this.viewYear, this.viewMonth, 1).getDay() - this.firstDayOfWeek + 7) % 7, s = new Date(this.viewYear, this.viewMonth, 1 - t), r = ke(/* @__PURE__ */ new Date()), a = [];\n for (let n = 0; n < 42; n++) {\n const g = Qt(s, n), _e = ke(g);\n a.push({\n iso: _e,\n day: g.getDate(),\n inMonth: g.getMonth() === this.viewMonth,\n isToday: _e === r\n });\n }\n return a;\n }\n /** 表头星期标签,顺序按 firstDayOfWeek 旋转(Intl 本地化,中文取单字「日一二三四五六」) */\n get weekdayLabels() {\n return Array.from(\n { length: 7 },\n (e, t) => this.localize.date(new Date(2023, 0, 1 + (this.firstDayOfWeek + t) % 7), {\n weekday: \"narrow\"\n })\n );\n }\n get monthLabel() {\n return this.localize.date(new Date(this.viewYear, this.viewMonth, 1), {\n year: \"numeric\",\n month: \"long\"\n });\n }\n /* ---------- 选择 ---------- */\n selectDate(e) {\n this.value = e, this.hide(), this.dispatchEvent(\n new CustomEvent(\"wc-change\", { detail: { value: e }, bubbles: !0, composed: !0 })\n );\n }\n handleClear(e) {\n e.preventDefault(), e.stopPropagation(), this.value = \"\", this.hide(), this.dispatchEvent(new CustomEvent(\"wc-clear\", { bubbles: !0, composed: !0 })), this.dispatchEvent(\n new CustomEvent(\"wc-change\", { detail: { value: \"\" }, bubbles: !0, composed: !0 })\n );\n }\n selectToday() {\n this.selectDate(ke(/* @__PURE__ */ new Date()));\n }\n onCellClick(e) {\n const t = e.target.closest(\"[data-iso]\");\n t?.dataset.iso && this.selectDate(t.dataset.iso);\n }\n /* ---------- 键盘导航(activedescendant 模式,同 Select) ---------- */\n moveActive(e) {\n if (!this.open) return;\n const t = Ue(this.activeIso) ?? /* @__PURE__ */ new Date(), s = Qt(t, e), r = ke(s);\n this.activeIso = r, s.getFullYear() !== this.viewYear || s.getMonth() !== this.viewMonth ? this.setView(s.getFullYear(), s.getMonth()) : this.requestUpdate();\n }\n render() {\n const e = this.clearable && this.value && !this.disabled && !this.readonly, t = this.open ? this.calendarCells : [], s = [];\n for (let r = 0; r < t.length; r += 7) s.push(t.slice(r, r + 7));\n return c`\n <div class=\"picker\" part=\"base\">\n <div\n class=\"trigger\"\n part=\"trigger\"\n role=\"combobox\"\n tabindex=${this.disabled ? -1 : 0}\n aria-haspopup=\"grid\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-label=${this.label || void 0}\n aria-controls=${this.open ? `${this.uid}-panel` : void 0}\n aria-activedescendant=${this.open && this.activeIso ? `${this.uid}-cell-${this.activeIso}` : void 0}\n @click=${this.toggle}\n >\n <span class=\"value ${this.value ? \"\" : \"placeholder\"}\" part=\"value\"\n >${this.value || this.placeholder || this.localize.term(\"datePicker.placeholder\")}</span\n >\n ${e ? c`\n <span\n class=\"clear\"\n part=\"clear-button\"\n role=\"button\"\n aria-label=${this.localize.term(\"input.clear\")}\n @mousedown=${(r) => {\n r.preventDefault(), r.stopPropagation();\n }}\n @click=${this.handleClear}\n >\n <wc-icon name=\"close\"></wc-icon>\n </span>\n ` : \"\"}\n <wc-icon name=\"calendar\" class=\"icon\"></wc-icon>\n </div>\n <div\n class=\"panel\"\n part=\"panel\"\n id=\"${this.uid}-panel\"\n role=\"dialog\"\n aria-label=${this.label || this.localize.term(\"datePicker.placeholder\")}\n ?hidden=${!this.open}\n >\n <div class=\"header\" part=\"header\">\n <button\n type=\"button\"\n class=\"nav\"\n part=\"prev-year-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.prevYear\")}\n @click=${this.prevYear}\n >\n <wc-icon name=\"chevron-left\"></wc-icon><wc-icon name=\"chevron-left\"></wc-icon>\n </button>\n <button\n type=\"button\"\n class=\"nav\"\n part=\"prev-month-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.prevMonth\")}\n @click=${this.prevMonth}\n >\n <wc-icon name=\"chevron-left\"></wc-icon>\n </button>\n <span class=\"month-label\" part=\"month-label\">${this.monthLabel}</span>\n <button\n type=\"button\"\n class=\"nav\"\n part=\"next-month-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.nextMonth\")}\n @click=${this.nextMonth}\n >\n <wc-icon name=\"chevron-right\"></wc-icon>\n </button>\n <button\n type=\"button\"\n class=\"nav\"\n part=\"next-year-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.nextYear\")}\n @click=${this.nextYear}\n >\n <wc-icon name=\"chevron-right\"></wc-icon><wc-icon name=\"chevron-right\"></wc-icon>\n </button>\n </div>\n <div class=\"grid\" part=\"grid\" role=\"grid\">\n <div class=\"row weekdays\" role=\"row\">\n ${this.weekdayLabels.map(\n (r) => c`<span class=\"cell weekday\" role=\"columnheader\">${r}</span>`\n )}\n </div>\n ${s.map(\n (r) => c`\n <div class=\"row\" role=\"row\">\n ${r.map(\n (a) => c`\n <span\n class=\"cell day ${a.inMonth ? \"\" : \"out\"} ${a.iso === this.value ? \"selected\" : \"\"} ${a.iso === this.activeIso ? \"active\" : \"\"}\"\n role=\"gridcell\"\n data-iso=${a.iso}\n id=\"${this.uid}-cell-${a.iso}\"\n aria-selected=${a.iso === this.value}\n @click=${this.onCellClick}\n >${a.day}</span\n >\n `\n )}\n </div>\n `\n )}\n </div>\n <div class=\"footer\" part=\"footer\">\n <button\n type=\"button\"\n class=\"today\"\n part=\"today-button\"\n tabindex=\"-1\"\n @click=${this.selectToday}\n >\n ${this.localize.term(\"datePicker.today\")}\n </button>\n </div>\n </div>\n </div>\n `;\n }\n};\nxt.styles = [d, Jr];\nlet k = xt;\nB([\n i()\n], k.prototype, \"value\", 1);\nB([\n i()\n], k.prototype, \"placeholder\", 2);\nB([\n i()\n], k.prototype, \"label\", 2);\nB([\n i({ reflect: !0 })\n], k.prototype, \"size\", 2);\nB([\n i({ reflect: !0 })\n], k.prototype, \"status\", 2);\nB([\n i({ type: Boolean, reflect: !0 })\n], k.prototype, \"clearable\", 2);\nB([\n i({ type: Boolean, reflect: !0 })\n], k.prototype, \"readonly\", 2);\nB([\n i({ type: Number, attribute: \"first-day-of-week\" })\n], k.prototype, \"firstDayOfWeek\", 2);\nB([\n i({ type: Boolean, reflect: !0 })\n], k.prototype, \"open\", 2);\ncustomElements.get(\"wc-date-picker\") || customElements.define(\"wc-date-picker\", k);\nconst ir = h`\n :host {\n display: block;\n }\n\n .form {\n margin: 0;\n padding: 0;\n }\n\n .item {\n display: grid;\n grid-template-columns: var(--wc-form-label-width, 80px) 1fr;\n gap: var(--wc-space-2);\n align-items: start;\n margin-bottom: var(--wc-space-4);\n }\n\n .label {\n padding-right: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-form-line-height, 32px);\n color: var(--wc-color-text);\n text-align: right;\n overflow-wrap: break-word;\n }\n\n .asterisk {\n margin-right: 2px;\n color: var(--wc-color-error);\n }\n\n .asterisk[hidden] {\n display: none;\n }\n\n .control {\n min-width: 0;\n }\n\n .error {\n margin-top: var(--wc-space-1);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-error);\n }\n\n .error[hidden] {\n display: none;\n }\n\n :host([disabled]) .label {\n color: var(--wc-color-text-disabled);\n }\n`, kt = class kt extends l {\n constructor() {\n super(), this.onSubmit = (e) => {\n e.preventDefault(), this.submit();\n }, this.onHostClick = (e) => {\n const t = e.composedPath().find(\n (r) => r instanceof Element && r.tagName === \"WC-BUTTON\"\n );\n if (!t) return;\n const s = t.getAttribute(\"type\");\n s === \"submit\" ? (e.preventDefault(), this.submit()) : s === \"reset\" && (e.preventDefault(), this.reset());\n }, this.addEventListener(\"click\", this.onHostClick);\n }\n connectedCallback() {\n super.connectedCallback(), this.addEventListener(\"submit\", this.onSubmit);\n }\n /** 全部表单项 */\n getItems() {\n return (this.shadowRoot.querySelector(\"slot\")?.assignedElements() ?? []).filter(\n (t) => t.tagName === \"WC-FORM-ITEM\"\n );\n }\n /** 按字段名取表单项 */\n getItem(e) {\n return this.getItems().find((t) => t.name === e);\n }\n /** 整体校验:逐项执行并聚合结果,失败时聚焦第一个错误控件 */\n async validate() {\n const e = {};\n for (const s of this.getItems()) {\n const r = await s.validate();\n r && (e[s.name || `field-${Object.keys(e).length}`] = r);\n }\n const t = Object.values(e)[0] ?? \"\";\n return t && this.focusFirstError(), { valid: Object.keys(e).length === 0, errors: e, firstError: t };\n }\n /** 重置全部表单项(恢复控件默认值并清除错误) */\n reset() {\n for (const e of this.getItems())\n e.reset();\n }\n /** 触发提交流程(等同点击 submit 按钮) */\n async submit() {\n const e = await this.validate();\n this.dispatchEvent(\n new CustomEvent(\"wc-submit\", { detail: e, bubbles: !0, composed: !0 })\n );\n }\n focusFirstError() {\n const e = this.getItems().find((t) => t.error)?.control;\n !e || typeof e.focus != \"function\" || (e.focus(), document.activeElement !== e && e.shadowRoot?.querySelector(\n \"input, textarea, button, [tabindex]\"\n )?.focus());\n }\n render() {\n return c`\n <form class=\"form\" part=\"form\" novalidate>\n <slot></slot>\n </form>\n `;\n }\n};\nkt.styles = [d, ir];\nlet Ge = kt;\ncustomElements.get(\"wc-form\") || customElements.define(\"wc-form\", Ge);\nvar to = Object.defineProperty, A = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && to(e, t, r), r;\n};\nconst $t = class $t extends l {\n constructor() {\n super(), this.name = \"\", this.label = \"\", this.required = !1, this.pattern = \"\", this.rules = [], this._error = \"\", this.localize = new m(this), this.onControlInteract = () => {\n this.validate();\n }, this.addEventListener(\"wc-change\", this.onControlInteract), this.addEventListener(\"blur\", this.onControlInteract, !0);\n }\n get error() {\n return this._error;\n }\n /** 插槽第一个元素,即表单控件 */\n get control() {\n return this.shadowRoot.querySelector(\"slot\")?.assignedElements()[0] ?? null;\n }\n /** 读取控件值:兼容自家组件与原生表单元素 */\n get controlValue() {\n return this.control?.value ?? \"\";\n }\n /** 声明式属性 + rules 合并后的生效规则 */\n get effectiveRules() {\n const e = [];\n return this.required && e.push({ required: !0 }), this.min !== void 0 && e.push({ min: this.min }), this.max !== void 0 && e.push({ max: this.max }), this.minLength !== void 0 && e.push({ minLength: this.minLength }), this.maxLength !== void 0 && e.push({ maxLength: this.maxLength }), this.pattern && e.push({ pattern: this.pattern }), [...e, ...this.rules];\n }\n /** 校验当前值:返回错误消息(空字符串表示通过),同时更新错误显示与控件状态 */\n async validate() {\n const e = this.controlValue;\n for (const t of this.effectiveRules) {\n const s = await this.checkRule(t, e);\n if (s)\n return this.setError(s), s;\n }\n return this.clearError(), \"\";\n }\n async checkRule(e, t) {\n const s = this.label || this.name || \"\", r = (n, g) => e.message ?? this.localize.term(n, { name: s, ...g }), a = t === \"\" || t == null || Array.isArray(t) && t.length === 0;\n if (e.required && a) return r(\"form.required\");\n if (a) return \"\";\n if (e.min !== void 0 && Number(t) < e.min)\n return r(\"form.min\", { min: e.min });\n if (e.max !== void 0 && Number(t) > e.max)\n return r(\"form.max\", { max: e.max });\n if (e.minLength !== void 0 && String(t).length < e.minLength)\n return r(\"form.minLength\", { minLength: e.minLength });\n if (e.maxLength !== void 0 && String(t).length > e.maxLength)\n return r(\"form.maxLength\", { maxLength: e.maxLength });\n if (e.pattern && !(typeof e.pattern == \"string\" ? new RegExp(e.pattern) : e.pattern).test(String(t)))\n return r(\"form.pattern\");\n if (e.validator) {\n const n = await e.validator(t);\n if (n === !1) return r(\"form.invalid\");\n if (typeof n == \"string\" && n) return n;\n }\n return \"\";\n }\n setError(e) {\n this._error = e, this.applyControlStatus(), this.requestUpdate();\n }\n /** 清除错误显示,并恢复控件校验状态 */\n clearError() {\n this._error && (this._error = \"\", this.applyControlStatus(), this.requestUpdate());\n }\n /** 把校验状态同步到控件(自家组件有 status 属性,原生控件跳过) */\n applyControlStatus() {\n const e = this.control;\n e && \"status\" in e && (e.status = this._error ? \"error\" : \"default\");\n }\n /** 重置控件值并清除错误(自家组件走 formResetCallback,原生控件清空 value) */\n reset() {\n const e = this.control;\n e && (typeof e.formResetCallback == \"function\" ? e.formResetCallback() : \"value\" in e && (e.value = \"\"), this.clearError());\n }\n render() {\n return c`\n <div class=\"item\" part=\"base\">\n <label class=\"label\" part=\"label\">\n <span class=\"asterisk\" ?hidden=${!this.required}>*</span>${this.label}\n </label>\n <div class=\"control\" part=\"control\">\n <slot></slot>\n <div class=\"error\" part=\"error\" role=\"alert\" ?hidden=${!this._error}>${this._error}</div>\n </div>\n </div>\n `;\n }\n};\n$t.styles = [d, ir];\nlet $ = $t;\nA([\n i()\n], $.prototype, \"name\");\nA([\n i()\n], $.prototype, \"label\");\nA([\n i({ type: Boolean, reflect: !0 })\n], $.prototype, \"required\");\nA([\n i({ type: Number })\n], $.prototype, \"min\");\nA([\n i({ type: Number })\n], $.prototype, \"max\");\nA([\n i({ type: Number, attribute: \"min-length\" })\n], $.prototype, \"minLength\");\nA([\n i({ type: Number, attribute: \"max-length\" })\n], $.prototype, \"maxLength\");\nA([\n i()\n], $.prototype, \"pattern\");\nA([\n i({ attribute: !1 })\n], $.prototype, \"rules\");\ncustomElements.get(\"wc-form-item\") || customElements.define(\"wc-form-item\", $);\nconst ro = h`\n :host {\n display: block;\n\n /* component 层令牌 */\n --wc-divider-color: var(--wc-color-border);\n --wc-divider-text-gap: var(--wc-space-3);\n }\n\n :host([vertical]) {\n display: inline-block;\n }\n\n .divider {\n display: flex;\n align-items: center;\n gap: var(--wc-divider-text-gap);\n margin: var(--wc-space-4) 0;\n }\n\n .content {\n flex-shrink: 0;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-secondary);\n white-space: nowrap;\n }\n\n .content[hidden] {\n display: none;\n }\n\n .line {\n display: block;\n flex: 1;\n /* 不能用 height: 0 + 背景——0 高度画不出背景色,实线会不可见 */\n height: 1px;\n background-color: var(--wc-divider-color);\n }\n\n :host([dashed]) .line {\n height: 0;\n background: none;\n border-top: 1px dashed var(--wc-divider-color);\n }\n\n .line.vertical {\n display: inline-block;\n flex: none;\n width: 1px;\n height: 1em;\n margin: 0 var(--wc-space-2);\n vertical-align: middle;\n }\n\n :host([dashed]) .line.vertical {\n width: 0;\n height: 1em;\n background: none;\n border-left: 1px dashed var(--wc-divider-color);\n }\n\n /* 文案对齐:一侧线固定短 */\n .align-left .line.start {\n flex: 0 0 var(--wc-space-4);\n }\n\n .align-right .line.end {\n flex: 0 0 var(--wc-space-4);\n }\n\n .align-left .content {\n order: -1;\n }\n\n :host([vertical]) .divider {\n margin: 0;\n }\n`;\nvar oo = Object.defineProperty, st = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && oo(e, t, r), r;\n};\nconst zt = class zt extends l {\n constructor() {\n super(...arguments), this.dashed = !1, this.align = \"center\", this.vertical = !1, this._hasContent = !1;\n }\n onSlotChange(e) {\n this._hasContent = e.target.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();\n }\n render() {\n return this.vertical ? c`<span class=\"line vertical\" part=\"line\"></span>` : c`\n <div class=\"divider ${`align-${this.align}`}\" part=\"base\">\n <span class=\"line start\" part=\"line\"></span>\n <span class=\"content\" part=\"content\" ?hidden=${!this._hasContent}>\n <slot @slotchange=${this.onSlotChange}></slot>\n </span>\n <span class=\"line end\" part=\"line\"></span>\n </div>\n `;\n }\n};\nzt.styles = [d, ro];\nlet be = zt;\nst([\n i({ type: Boolean, reflect: !0 })\n], be.prototype, \"dashed\");\nst([\n i({ reflect: !0 })\n], be.prototype, \"align\");\nst([\n i({ type: Boolean, reflect: !0 })\n], be.prototype, \"vertical\");\ncustomElements.get(\"wc-divider\") || customElements.define(\"wc-divider\", be);\nconst ao = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-tag-height: 24px;\n --wc-tag-font-size: var(--wc-font-size-small);\n --wc-tag-padding-x: var(--wc-space-2);\n --wc-tag-radius: var(--wc-radius-small);\n }\n\n :host([size='small']) {\n --wc-tag-height: 20px;\n --wc-tag-font-size: var(--wc-font-size-small);\n --wc-tag-padding-x: var(--wc-space-1);\n }\n\n :host([size='large']) {\n --wc-tag-height: 28px;\n --wc-tag-font-size: var(--wc-font-size-medium);\n --wc-tag-padding-x: var(--wc-space-2);\n }\n\n .tag {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n height: var(--wc-tag-height);\n padding: 0 var(--wc-tag-padding-x);\n font-size: var(--wc-tag-font-size);\n line-height: 1;\n white-space: nowrap;\n border: 1px solid transparent;\n border-radius: var(--wc-tag-radius);\n box-sizing: border-box;\n transition: opacity var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .icon {\n display: inline-flex;\n align-items: center;\n font-size: 1em;\n }\n\n /* 未分配图标时 slot 渲染占位 fallback,隐藏以消除多余间隙 */\n .icon:has(.icon-placeholder) {\n display: none;\n }\n\n /* ---- 关闭按钮 ---- */\n .close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n padding: 0;\n font-size: 10px;\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-circle);\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n background-color: var(--wc-color-overlay-hover);\n }\n\n .close wc-icon {\n pointer-events: none;\n }\n\n /* ---- default 主题 ---- */\n :host([theme='default']) .tag {\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container-secondary);\n border-color: var(--wc-color-border);\n }\n\n /* ---- 语义色 × light 浅底(默认 variant) ---- */\n :host([theme='primary']) .tag {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-primary-light);\n }\n\n :host([theme='success']) .tag {\n color: var(--wc-color-success);\n background-color: var(--wc-color-success-bg);\n }\n\n :host([theme='warning']) .tag {\n color: var(--wc-color-warning);\n background-color: var(--wc-color-warning-bg);\n }\n\n :host([theme='danger']) .tag {\n color: var(--wc-color-error);\n background-color: var(--wc-color-error-bg);\n }\n\n /* ---- dark 实底 ---- */\n :host([variant='dark'][theme='default']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-text-secondary);\n border-color: transparent;\n }\n\n :host([variant='dark'][theme='primary']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-primary);\n }\n\n :host([variant='dark'][theme='success']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-success);\n }\n\n :host([variant='dark'][theme='warning']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-warning);\n }\n\n :host([variant='dark'][theme='danger']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-error);\n }\n\n /* ---- outline 描边 ---- */\n :host([variant='outline']) .tag {\n background-color: transparent;\n }\n\n :host([variant='outline'][theme='default']) .tag {\n border-color: var(--wc-color-border);\n }\n\n :host([variant='outline'][theme='primary']) .tag {\n border-color: var(--wc-color-primary);\n }\n\n :host([variant='outline'][theme='success']) .tag {\n border-color: var(--wc-color-success);\n }\n\n :host([variant='outline'][theme='warning']) .tag {\n border-color: var(--wc-color-warning);\n }\n\n :host([variant='outline'][theme='danger']) .tag {\n border-color: var(--wc-color-error);\n }\n\n /* ---- 禁用 ---- */\n :host([disabled]) .tag {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n :host([disabled]) .close {\n cursor: not-allowed;\n }\n`;\nvar so = Object.defineProperty, Se = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && so(e, t, r), r;\n};\nconst Ct = class Ct extends l {\n constructor() {\n super(...arguments), this.theme = \"default\", this.size = \"medium\", this.variant = \"light\", this.closable = !1, this.disabled = !1, this.localize = new m(this);\n }\n handleClose(e) {\n e.stopPropagation(), !this.disabled && this.dispatchEvent(new CustomEvent(\"wc-close\", { bubbles: !0, composed: !0 }));\n }\n render() {\n return c`\n <span class=\"tag\" part=\"base\">\n <slot name=\"icon\" class=\"icon\"><span class=\"icon-placeholder\"></span></slot>\n <slot></slot>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n tabindex=\"-1\"\n ?disabled=${this.disabled}\n aria-label=${this.localize.term(\"tag.close\")}\n @click=${this.handleClose}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </span>\n `;\n }\n};\nCt.styles = [d, ao];\nlet U = Ct;\nSe([\n i({ reflect: !0 })\n], U.prototype, \"theme\");\nSe([\n i({ reflect: !0 })\n], U.prototype, \"size\");\nSe([\n i({ reflect: !0 })\n], U.prototype, \"variant\");\nSe([\n i({ type: Boolean, reflect: !0 })\n], U.prototype, \"closable\");\nSe([\n i({ type: Boolean, reflect: !0 })\n], U.prototype, \"disabled\");\ncustomElements.get(\"wc-tag\") || customElements.define(\"wc-tag\", U);\nconst io = h`\n :host {\n display: inline-block;\n\n /* component 层令牌(预设档位会覆写) */\n --wc-avatar-size: 32px;\n --wc-avatar-font-size: var(--wc-font-size-medium);\n }\n\n .avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n width: var(--wc-avatar-size);\n height: var(--wc-avatar-size);\n font-size: var(--wc-avatar-font-size);\n color: var(--wc-color-text);\n white-space: nowrap;\n user-select: none;\n background-color: var(--wc-color-bg-container-secondary);\n }\n\n .avatar.small {\n --wc-avatar-size: 24px;\n --wc-avatar-font-size: var(--wc-font-size-small);\n }\n\n .avatar.large {\n --wc-avatar-size: 40px;\n --wc-avatar-font-size: var(--wc-font-size-large);\n }\n\n .avatar.shape-circle {\n border-radius: var(--wc-radius-circle);\n }\n\n .avatar.shape-round {\n border-radius: var(--wc-radius-large);\n }\n\n .avatar.shape-square {\n border-radius: var(--wc-radius-small);\n }\n\n .avatar ::slotted(img) {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .avatar ::slotted(wc-icon) {\n color: var(--wc-color-text-placeholder);\n }\n`;\nvar no = Object.defineProperty, nr = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && no(e, t, r), r;\n};\nconst co = [\"small\", \"medium\", \"large\"], Et = class Et extends l {\n constructor() {\n super(...arguments), this.size = \"medium\", this.shape = \"circle\";\n }\n get isPreset() {\n return co.includes(this.size);\n }\n get customStyle() {\n if (this.isPreset) return \"\";\n const e = this.size.trim(), t = /^\\d+$/.test(e) ? `${e}px` : e;\n return `--wc-avatar-size:${t};--wc-avatar-font-size:${t}`;\n }\n render() {\n return c`\n <div\n class=\"avatar ${this.isPreset ? this.size : \"custom\"} shape-${this.shape}\"\n part=\"base\"\n style=${this.customStyle}\n >\n <slot></slot>\n </div>\n `;\n }\n};\nEt.styles = [d, io];\nlet ze = Et;\nnr([\n i()\n], ze.prototype, \"size\");\nnr([\n i({ reflect: !0 })\n], ze.prototype, \"shape\");\ncustomElements.get(\"wc-avatar\") || customElements.define(\"wc-avatar\", ze);\nconst lo = h`\n :host {\n display: inline-block;\n }\n\n :host([direction='vertical']) {\n display: block;\n }\n\n .space {\n display: flex;\n gap: var(--wc-space-gap, var(--wc-space-4));\n }\n\n /* slot 透明化,让 slotted 子元素直接成为 flex item,gap 才能生效 */\n .space slot {\n display: contents;\n }\n\n :host([direction='vertical']) .space {\n flex-direction: column;\n }\n\n :host([wrap]) .space {\n flex-wrap: wrap;\n }\n\n .align-start {\n align-items: flex-start;\n }\n\n .align-center {\n align-items: center;\n }\n\n .align-end {\n align-items: flex-end;\n }\n\n .align-baseline {\n align-items: baseline;\n }\n\n .align-stretch {\n align-items: stretch;\n }\n`;\nvar ho = Object.defineProperty, Ie = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && ho(e, t, r), r;\n};\nconst po = {\n small: \"var(--wc-space-2)\",\n medium: \"var(--wc-space-4)\",\n large: \"var(--wc-space-6)\"\n}, St = class St extends l {\n constructor() {\n super(...arguments), this.size = \"medium\", this.direction = \"horizontal\", this.wrap = !1;\n }\n get gapValue() {\n const e = po[this.size];\n if (e) return e;\n const t = this.size.trim();\n return /^\\d+$/.test(t) ? `${t}px` : t;\n }\n render() {\n return c`\n <div\n class=\"space ${`align-${this.align ?? (this.direction === \"vertical\" ? \"stretch\" : \"center\")}`}\"\n part=\"base\"\n style=${`--wc-space-gap:${this.gapValue}`}\n >\n <slot></slot>\n </div>\n `;\n }\n};\nSt.styles = [d, lo];\nlet Z = St;\nIe([\n i()\n], Z.prototype, \"size\");\nIe([\n i({ reflect: !0 })\n], Z.prototype, \"direction\");\nIe([\n i({ reflect: !0 })\n], Z.prototype, \"align\");\nIe([\n i({ type: Boolean, reflect: !0 })\n], Z.prototype, \"wrap\");\ncustomElements.get(\"wc-space\") || customElements.define(\"wc-space\", Z);\nconst cr = h`\n :host {\n display: block;\n }\n\n wc-row,\n :host(wc-row) {\n display: block;\n }\n\n wc-col,\n :host(wc-col) {\n display: contents;\n }\n\n .row {\n display: flex;\n column-gap: var(--wc-row-gutter, 0);\n }\n\n .row slot {\n display: contents;\n }\n\n :host([wrap]) .row {\n flex-wrap: wrap;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-space-between {\n justify-content: space-between;\n }\n\n .justify-space-around {\n justify-content: space-around;\n }\n\n .justify-space-evenly {\n justify-content: space-evenly;\n }\n\n .align-top {\n align-items: flex-start;\n }\n\n .align-middle {\n align-items: center;\n }\n\n .align-bottom {\n align-items: flex-end;\n }\n\n .align-stretch {\n align-items: stretch;\n }\n\n .col {\n box-sizing: border-box;\n min-width: 0;\n padding-right: calc(var(--wc-row-gutter, 0) / 2);\n padding-left: calc(var(--wc-row-gutter, 0) / 2);\n }\n`;\nvar uo = Object.defineProperty, fe = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && uo(e, t, r), r;\n};\nconst _t = class _t extends l {\n constructor() {\n super(...arguments), this.gutter = 0, this.justify = \"start\", this.align = \"top\", this.wrap = !1;\n }\n render() {\n return c`\n <div\n class=\"row ${`justify-${this.justify} align-${this.align}`}\"\n part=\"base\"\n style=${this.gutter ? `--wc-row-gutter:${this.gutter}px` : \"\"}\n >\n <slot></slot>\n </div>\n `;\n }\n};\n_t.styles = [d, cr];\nlet J = _t;\nfe([\n i({ type: Number })\n], J.prototype, \"gutter\");\nfe([\n i({ reflect: !0 })\n], J.prototype, \"justify\");\nfe([\n i({ reflect: !0 })\n], J.prototype, \"align\");\nfe([\n i({ type: Boolean, reflect: !0 })\n], J.prototype, \"wrap\");\nconst Ot = class Ot extends l {\n constructor() {\n super(...arguments), this.span = 24, this.offset = 0;\n }\n get widthPercent() {\n return `${(Math.min(24, Math.max(1, Math.round(this.span) || 24)) / 24 * 100).toFixed(4)}%`;\n }\n get offsetPercent() {\n return `${(Math.min(23, Math.max(0, Math.round(this.offset) || 0)) / 24 * 100).toFixed(4)}%`;\n }\n render() {\n return c`\n <div\n class=\"col\"\n part=\"base\"\n style=${`width:${this.widthPercent};margin-left:${this.offsetPercent}`}\n >\n <slot></slot>\n </div>\n `;\n }\n};\nOt.styles = [d, cr];\nlet Ce = Ot;\nfe([\n i({ type: Number })\n], Ce.prototype, \"span\");\nfe([\n i({ type: Number })\n], Ce.prototype, \"offset\");\ncustomElements.get(\"wc-row\") || customElements.define(\"wc-row\", J);\ncustomElements.get(\"wc-col\") || customElements.define(\"wc-col\", Ce);\nconst vo = h`\n :host {\n display: inline;\n }\n\n :host([variant='heading']) {\n display: block;\n }\n\n .text {\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n }\n\n .text slot {\n display: contents;\n }\n\n /* ---- 标题级别(h4~h6 无对应全局令牌,组件层补齐) ---- */\n .heading {\n font-weight: var(--wc-font-weight-semibold);\n line-height: 1.4;\n color: var(--wc-color-text);\n }\n\n .level-1 {\n font-size: var(--wc-font-size-h1);\n }\n\n .level-2 {\n font-size: var(--wc-font-size-h2);\n }\n\n .level-3 {\n font-size: var(--wc-font-size-h3);\n }\n\n .level-4 {\n font-size: var(--wc-font-size-large);\n }\n\n .level-5 {\n font-size: var(--wc-font-size-medium);\n }\n\n .level-6 {\n font-size: var(--wc-font-size-medium);\n font-weight: var(--wc-font-weight-medium);\n }\n\n /* ---- 语义色 ---- */\n :host([type='secondary']) .text {\n color: var(--wc-color-text-secondary);\n }\n\n :host([type='success']) .text {\n color: var(--wc-color-success);\n }\n\n :host([type='warning']) .text {\n color: var(--wc-color-warning);\n }\n\n :host([type='danger']) .text {\n color: var(--wc-color-error);\n }\n\n /* ---- 禁用 ---- */\n :host([disabled]) .text {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n user-select: none;\n }\n`;\nvar wo = Object.defineProperty, Te = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && wo(e, t, r), r;\n};\nconst Pt = class Pt extends l {\n constructor() {\n super(...arguments), this.variant = \"text\", this.level = 3, this.type = \"default\", this.disabled = !1;\n }\n get headingLevel() {\n const e = Math.round(this.level);\n return Math.min(6, Math.max(1, Number.isNaN(e) ? 3 : e));\n }\n render() {\n if (this.variant === \"heading\") {\n const e = this.headingLevel;\n return c`\n <div class=\"text heading level-${e}\" part=\"base\" role=\"heading\" aria-level=${e}>\n <slot></slot>\n </div>\n `;\n }\n return c`<span class=\"text\" part=\"base\"><slot></slot></span>`;\n }\n};\nPt.styles = [d, vo];\nlet Q = Pt;\nTe([\n i({ reflect: !0 })\n], Q.prototype, \"variant\");\nTe([\n i({ type: Number })\n], Q.prototype, \"level\");\nTe([\n i({ reflect: !0 })\n], Q.prototype, \"type\");\nTe([\n i({ type: Boolean, reflect: !0 })\n], Q.prototype, \"disabled\");\ncustomElements.get(\"wc-text\") || customElements.define(\"wc-text\", Q);\nconst bo = \"wc-dialog, wc-drawer\";\nclass it {\n constructor(e, t) {\n this.host = e, this.hooks = t, this.bound = !1, this.prevFocused = null, this.prevBodyOverflow = \"\", this.onDocumentKeydown = (s) => {\n s.key === \"Escape\" ? (s.stopPropagation(), this.hooks.requestClose(\"escape\")) : s.key === \"Tab\" && this.trapFocus(s);\n };\n }\n /** 文档内除宿主外仍打开的模态弹层数 */\n otherOpenOverlays() {\n let e = 0;\n return document.querySelectorAll(bo).forEach((t) => {\n t !== this.host && t.open && (e += 1);\n }), e;\n }\n /** 焦点陷阱:Tab 循环限制在弹层内(shadow + light DOM) */\n trapFocus(e) {\n const t = [\n ...Array.from(\n this.host.shadowRoot.querySelectorAll(\n 'button, [href], [tabindex]:not([tabindex=\"-1\"])'\n )\n ),\n ...Array.from(\n this.host.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )\n )\n ].filter((n) => !n.hasAttribute(\"disabled\") && n.offsetParent !== null);\n if (t.length === 0) return;\n const s = t[0], r = t[t.length - 1], a = this.host.shadowRoot.activeElement ?? document.activeElement;\n e.shiftKey && (a === s || !this.host.contains(a)) ? (e.preventDefault(), r.focus()) : !e.shiftKey && a === r && (e.preventDefault(), s.focus());\n }\n bind() {\n this.bound || (this.bound = !0, this.prevFocused = document.activeElement, document.addEventListener(\"keydown\", this.onDocumentKeydown, !0), this.otherOpenOverlays() === 0 && (this.prevBodyOverflow = document.body.style.overflow, document.body.style.overflow = \"hidden\"), queueMicrotask(() => {\n (this.host.shadowRoot?.querySelector('[part=\"close-button\"]') ?? this.host.shadowRoot?.querySelector('[role=\"dialog\"]'))?.focus();\n }));\n }\n unbind() {\n this.bound && (this.bound = !1, document.removeEventListener(\"keydown\", this.onDocumentKeydown, !0), this.otherOpenOverlays() === 0 && (document.body.style.overflow = this.prevBodyOverflow), this.prevFocused && this.prevFocused.focus && (this.prevFocused.focus(), this.prevFocused = null));\n }\n}\nconst go = h`\n :host {\n display: contents;\n\n /* component 层令牌 */\n --wc-dialog-width: 520px;\n }\n\n .overlay {\n position: fixed;\n inset: 0;\n z-index: var(--wc-z-index-modal);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-4);\n background: var(--wc-color-mask);\n animation: wc-dialog-fade var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .overlay[hidden] {\n display: none;\n }\n\n .dialog {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: min(var(--wc-dialog-width), 100%);\n max-height: calc(100vh - var(--wc-space-8));\n overflow: hidden;\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-radius-xlarge);\n box-shadow: var(--wc-shadow-3);\n animation: wc-dialog-in var(--wc-duration-medium) var(--wc-easing-standard);\n outline: none;\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: var(--wc-space-4) var(--wc-space-6) 0;\n }\n\n .title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n font-size: var(--wc-font-size-large);\n font-weight: var(--wc-font-weight-semibold);\n color: var(--wc-color-text);\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .close {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-1);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-hover);\n }\n\n .body {\n flex: 1;\n min-height: 0;\n padding: var(--wc-space-4) var(--wc-space-6);\n overflow-y: auto;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n }\n\n .footer {\n display: flex;\n gap: var(--wc-space-2);\n justify-content: flex-end;\n padding: var(--wc-space-2) var(--wc-space-6) var(--wc-space-4);\n }\n\n .footer slot {\n display: contents;\n }\n\n @keyframes wc-dialog-fade {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @keyframes wc-dialog-in {\n from {\n transform: translateY(-8px) scale(0.98);\n opacity: 0;\n }\n\n to {\n transform: none;\n opacity: 1;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .overlay,\n .dialog {\n animation: none;\n }\n }\n`;\nvar mo = Object.defineProperty, ye = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && mo(e, t, r), r;\n};\nconst Mt = class Mt extends l {\n constructor() {\n super(...arguments), this.open = !1, this.header = \"\", this.footer = !0, this.closable = !0, this.closeOnOverlayClick = !1, this.width = \"\", this.localize = new m(this), this.overlay = new it(this, {\n requestClose: (e) => this.requestClose(e)\n });\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.overlay.bind();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.overlay.unbind();\n }\n /** 打开对话框 */\n show() {\n this.open || (this.open = !0);\n }\n /** 请求关闭(发出可取消的 wc-close) */\n requestClose(e = \"api\") {\n this.dispatchEvent(\n new CustomEvent(\"wc-close\", {\n detail: { reason: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) && (this.open = !1);\n }\n /** 默认确认:派发 wc-confirm 并关闭 */\n confirm() {\n this.dispatchEvent(new CustomEvent(\"wc-confirm\", { bubbles: !0, composed: !0 })), this.requestClose(\"confirm\");\n }\n /** 默认取消:派发 wc-cancel 并关闭 */\n cancel() {\n this.dispatchEvent(new CustomEvent(\"wc-cancel\", { bubbles: !0, composed: !0 })), this.requestClose(\"cancel\");\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open ? (this.dispatchEvent(new CustomEvent(\"wc-open\", { bubbles: !0, composed: !0 })), this.overlay.bind()) : this.overlay.unbind());\n }\n onOverlayClick(e) {\n e.target === e.currentTarget && this.closeOnOverlayClick && this.requestClose(\"overlay\");\n }\n widthStyle() {\n if (!this.width) return \"\";\n const e = this.width.trim();\n return `--wc-dialog-width:${/^\\d+$/.test(e) ? `${e}px` : e}`;\n }\n render() {\n return c`\n <div class=\"overlay\" part=\"overlay\" ?hidden=${!this.open} @click=${this.onOverlayClick}>\n <div\n class=\"dialog\"\n part=\"base\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=${this.header || \"dialog\"}\n tabindex=\"-1\"\n style=${this.widthStyle()}\n >\n ${this.header || this.closable ? c`\n <div class=\"header\" part=\"header\">\n <div class=\"title\"><slot name=\"header\">${this.header}</slot></div>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"dialog.close\")}\n @click=${() => this.requestClose(\"close-btn\")}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </div>\n ` : \"\"}\n <div class=\"body\" part=\"body\"><slot></slot></div>\n ${this.footer ? c`\n <div class=\"footer\" part=\"footer\">\n <slot name=\"footer\">\n <wc-button @click=${() => this.cancel()}>\n ${this.localize.term(\"dialog.cancel\")}\n </wc-button>\n <wc-button theme=\"primary\" @click=${() => this.confirm()}>\n ${this.localize.term(\"dialog.confirm\")}\n </wc-button>\n </slot>\n </div>\n ` : \"\"}\n </div>\n </div>\n `;\n }\n};\nMt.styles = [d, go];\nlet I = Mt;\nye([\n i({ type: Boolean, reflect: !0 })\n], I.prototype, \"open\");\nye([\n i()\n], I.prototype, \"header\");\nye([\n i({ type: Boolean })\n], I.prototype, \"footer\");\nye([\n i({ type: Boolean, reflect: !0 })\n], I.prototype, \"closable\");\nye([\n i({ type: Boolean, attribute: \"close-on-overlay-click\" })\n], I.prototype, \"closeOnOverlayClick\");\nye([\n i()\n], I.prototype, \"width\");\ncustomElements.get(\"wc-dialog\") || customElements.define(\"wc-dialog\", I);\nconst fo = h`\n :host {\n display: contents;\n\n /* component 层令牌 */\n --wc-drawer-size: 500px;\n }\n\n .overlay {\n position: fixed;\n inset: 0;\n z-index: var(--wc-z-index-drawer);\n background: var(--wc-color-mask);\n animation: wc-drawer-fade var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .overlay[hidden] {\n display: none;\n }\n\n .drawer {\n position: absolute;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(--wc-color-bg-container);\n box-shadow: var(--wc-shadow-2);\n outline: none;\n animation: wc-drawer-in var(--wc-duration-medium) var(--wc-easing-standard);\n }\n\n /* ---- 四个方向 ---- */\n .placement-right {\n inset: 0 0 0 auto;\n width: min(var(--wc-drawer-size), 100%);\n height: 100%;\n --wc-drawer-from: translateX(100%);\n }\n\n .placement-left {\n inset: 0 auto 0 0;\n width: min(var(--wc-drawer-size), 100%);\n height: 100%;\n --wc-drawer-from: translateX(-100%);\n }\n\n .placement-bottom {\n inset: auto 0 0 0;\n width: 100%;\n height: var(--wc-drawer-size);\n --wc-drawer-from: translateY(100%);\n }\n\n .placement-top {\n inset: 0 0 auto 0;\n width: 100%;\n height: var(--wc-drawer-size);\n --wc-drawer-from: translateY(-100%);\n }\n\n /* ---- 页头 ---- */\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: var(--wc-space-4) var(--wc-space-6) 0;\n }\n\n .title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n font-size: var(--wc-font-size-large);\n font-weight: var(--wc-font-weight-semibold);\n color: var(--wc-color-text);\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .close {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-1);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-hover);\n }\n\n /* ---- 内容区 ---- */\n .body {\n flex: 1;\n min-height: 0;\n padding: var(--wc-space-4) var(--wc-space-6);\n overflow-y: auto;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n }\n\n /* ---- 页脚 ---- */\n .footer {\n display: flex;\n gap: var(--wc-space-2);\n justify-content: flex-end;\n padding: var(--wc-space-2) var(--wc-space-6) var(--wc-space-4);\n }\n\n .footer slot {\n display: contents;\n }\n\n @keyframes wc-drawer-fade {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @keyframes wc-drawer-in {\n from {\n transform: var(--wc-drawer-from, translateX(100%));\n }\n\n to {\n transform: none;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .overlay,\n .drawer {\n animation: none;\n }\n }\n`;\nvar yo = Object.defineProperty, ne = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && yo(e, t, r), r;\n};\nconst xo = {\n small: \"300px\",\n medium: \"500px\",\n large: \"760px\"\n}, Lt = class Lt extends l {\n constructor() {\n super(...arguments), this.open = !1, this.placement = \"right\", this.size = \"medium\", this.header = \"\", this.footer = !0, this.closable = !0, this.closeOnOverlayClick = !0, this.localize = new m(this), this.overlay = new it(this, {\n requestClose: (e) => this.requestClose(e)\n });\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.overlay.bind();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.overlay.unbind();\n }\n /** 打开抽屉 */\n show() {\n this.open || (this.open = !0);\n }\n /** 请求关闭(发出可取消的 wc-close) */\n requestClose(e = \"api\") {\n this.dispatchEvent(\n new CustomEvent(\"wc-close\", {\n detail: { reason: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) && (this.open = !1);\n }\n /** 默认确认:派发 wc-confirm 并关闭 */\n confirm() {\n this.dispatchEvent(new CustomEvent(\"wc-confirm\", { bubbles: !0, composed: !0 })), this.requestClose(\"confirm\");\n }\n /** 默认取消:派发 wc-cancel 并关闭 */\n cancel() {\n this.dispatchEvent(new CustomEvent(\"wc-cancel\", { bubbles: !0, composed: !0 })), this.requestClose(\"cancel\");\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open ? (this.dispatchEvent(new CustomEvent(\"wc-open\", { bubbles: !0, composed: !0 })), this.overlay.bind()) : this.overlay.unbind());\n }\n onOverlayClick(e) {\n e.target === e.currentTarget && this.closeOnOverlayClick && this.requestClose(\"overlay\");\n }\n sizeStyle() {\n const t = xo[this.size] ?? this.size.trim();\n return `--wc-drawer-size:${/^\\d+$/.test(t) ? `${t}px` : t}`;\n }\n render() {\n return c`\n <div class=\"overlay\" part=\"overlay\" ?hidden=${!this.open} @click=${this.onOverlayClick}>\n <div\n class=\"drawer placement-${this.placement}\"\n part=\"base\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=${this.header || \"drawer\"}\n tabindex=\"-1\"\n style=${this.sizeStyle()}\n >\n ${this.header || this.closable ? c`\n <div class=\"header\" part=\"header\">\n <div class=\"title\"><slot name=\"header\">${this.header}</slot></div>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"dialog.close\")}\n @click=${() => this.requestClose(\"close-btn\")}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </div>\n ` : \"\"}\n <div class=\"body\" part=\"body\"><slot></slot></div>\n ${this.footer ? c`\n <div class=\"footer\" part=\"footer\">\n <slot name=\"footer\">\n <wc-button @click=${() => this.cancel()}>\n ${this.localize.term(\"dialog.cancel\")}\n </wc-button>\n <wc-button theme=\"primary\" @click=${() => this.confirm()}>\n ${this.localize.term(\"dialog.confirm\")}\n </wc-button>\n </slot>\n </div>\n ` : \"\"}\n </div>\n </div>\n `;\n }\n};\nLt.styles = [d, fo];\nlet O = Lt;\nne([\n i({ type: Boolean, reflect: !0 })\n], O.prototype, \"open\");\nne([\n i({ reflect: !0 })\n], O.prototype, \"placement\");\nne([\n i()\n], O.prototype, \"size\");\nne([\n i()\n], O.prototype, \"header\");\nne([\n i({ type: Boolean })\n], O.prototype, \"footer\");\nne([\n i({ type: Boolean, reflect: !0 })\n], O.prototype, \"closable\");\nne([\n i({ type: Boolean, attribute: \"close-on-overlay-click\" })\n], O.prototype, \"closeOnOverlayClick\");\ncustomElements.get(\"wc-drawer\") || customElements.define(\"wc-drawer\", O);\nconst ko = h`\n :host {\n display: block;\n pointer-events: auto;\n }\n\n .message {\n display: flex;\n align-items: flex-start;\n gap: var(--wc-space-2);\n box-sizing: border-box;\n min-width: 240px;\n max-width: 480px;\n margin: 0 auto var(--wc-space-2);\n padding: var(--wc-space-2) var(--wc-space-4);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-radius-medium);\n box-shadow: var(--wc-shadow-2);\n animation: wc-message-in var(--wc-duration-medium) var(--wc-easing-standard);\n }\n\n .icon {\n flex-shrink: 0;\n margin-top: 2px;\n font-size: var(--wc-font-size-large);\n }\n\n .icon.success {\n color: var(--wc-color-success);\n }\n\n .icon.error {\n color: var(--wc-color-error);\n }\n\n .icon.warning {\n color: var(--wc-color-warning);\n }\n\n .icon.info,\n .icon.loading {\n color: var(--wc-color-primary);\n }\n\n .content {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n }\n\n .close {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: 0;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition: color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n color: var(--wc-color-text);\n }\n\n @keyframes wc-message-in {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n\n to {\n transform: none;\n opacity: 1;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .message {\n animation: none;\n }\n }\n`;\nvar $o = Object.defineProperty, Ne = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && $o(e, t, r), r;\n};\nconst zo = {\n info: \"info\",\n success: \"check\",\n warning: \"warning\",\n error: \"error\",\n loading: \"loader\"\n}, jt = class jt extends l {\n constructor() {\n super(...arguments), this.theme = \"info\", this.content = \"\", this.duration = 3e3, this.closable = !1, this.localize = new m(this), this.autoCloseTimer = null;\n }\n connectedCallback() {\n super.connectedCallback(), this.startAutoClose();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.stopAutoClose();\n }\n startAutoClose() {\n this.duration <= 0 || this.autoCloseTimer !== null || (this.autoCloseTimer = setTimeout(() => this.close(), this.duration));\n }\n stopAutoClose() {\n this.autoCloseTimer !== null && (clearTimeout(this.autoCloseTimer), this.autoCloseTimer = null);\n }\n /** 关闭:派发 wc-close 并从 DOM 移除自身 */\n close() {\n this.stopAutoClose(), this.dispatchEvent(new CustomEvent(\"wc-close\", { bubbles: !0, composed: !0 })), this.remove();\n }\n render() {\n const e = zo[this.theme] ?? \"info\";\n return c`\n <div class=\"message\" part=\"base\" role=\"status\" aria-live=\"polite\">\n <wc-icon\n class=\"icon ${this.theme}\"\n part=\"icon\"\n name=${e}\n ?spin=${this.theme === \"loading\"}\n ></wc-icon>\n <div class=\"content\" part=\"content\"><slot>${this.content}</slot></div>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"message.close\")}\n @click=${() => this.close()}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </div>\n `;\n }\n};\njt.styles = [d, ko];\nlet ee = jt;\nNe([\n i({ reflect: !0 })\n], ee.prototype, \"theme\");\nNe([\n i()\n], ee.prototype, \"content\");\nNe([\n i({ type: Number })\n], ee.prototype, \"duration\");\nNe([\n i({ type: Boolean, reflect: !0 })\n], ee.prototype, \"closable\");\ncustomElements.get(\"wc-message\") || customElements.define(\"wc-message\", ee);\nlet R = null;\nfunction Co() {\n if (R && R.isConnected) return R;\n R = document.createElement(\"div\"), R.className = \"wc-message-container\";\n const o = parseFloat(\n getComputedStyle(document.documentElement).getPropertyValue(\"--wc-z-index-message\")\n );\n return R.style.cssText = [\n \"position:fixed\",\n \"top:var(--wc-space-4, 16px)\",\n \"left:0\",\n \"right:0\",\n \"display:flex\",\n \"flex-direction:column\",\n \"align-items:center\",\n \"pointer-events:none\",\n `z-index:${Number.isFinite(o) && o > 0 ? o : 1500}`\n ].join(\";\"), document.body.appendChild(R), R;\n}\nfunction ue(o, e = {}) {\n const t = document.createElement(\"wc-message\");\n return t.theme = e.theme ?? \"info\", t.content = o, e.duration !== void 0 && (t.duration = e.duration), e.closable !== void 0 && (t.closable = e.closable), e.onClose && t.addEventListener(\"wc-close\", () => e.onClose()), Co().appendChild(t), t;\n}\nconst Ua = {\n /** 普通信息 */\n info: (o, e) => ue(o, { ...e, theme: \"info\" }),\n /** 成功 */\n success: (o, e) => ue(o, { ...e, theme: \"success\" }),\n /** 警告 */\n warning: (o, e) => ue(o, { ...e, theme: \"warning\" }),\n /** 错误 */\n error: (o, e) => ue(o, { ...e, theme: \"error\" }),\n /** 加载中(不自动关闭,需手动 close 或传 duration) */\n loading: (o, e) => ue(o, { duration: 0, closable: !1, ...e, theme: \"loading\" }),\n /** 完整配置入口 */\n show: ue\n}, F = 8, Ye = 12;\nfunction nt(o) {\n const e = o.indexOf(\"-\");\n return e === -1 ? { base: o } : {\n base: o.slice(0, e),\n align: o.slice(e + 1)\n };\n}\nfunction er(o) {\n switch (o) {\n case \"top\":\n return \"bottom\";\n case \"bottom\":\n return \"top\";\n case \"left\":\n return \"right\";\n case \"right\":\n return \"left\";\n }\n}\nfunction tr(o, e, t, s) {\n switch (o) {\n case \"top\":\n return e.y - t.height - F >= s.y;\n case \"bottom\":\n return e.y + e.height + t.height + F <= s.y + s.height;\n case \"left\":\n return e.x - t.width - F >= s.x;\n case \"right\":\n return e.x + e.width + t.width + F <= s.x + s.width;\n }\n}\nfunction Ke(o, e, t) {\n return Math.max(e, Math.min(o, t));\n}\nfunction lr(o, e, t, s) {\n const { base: r, align: a } = nt(s);\n let n = r;\n !tr(r, o, e, t) && tr(er(r), o, e, t) && (n = er(r));\n const g = a === \"start\", _e = a === \"end\";\n let he, pe;\n const Xt = (Fe, Gt, Zt) => g ? Fe : _e ? Fe + Gt - Zt : Fe + Gt / 2 - Zt / 2;\n n === \"top\" || n === \"bottom\" ? (he = Xt(o.x, o.width, e.width), pe = n === \"top\" ? o.y - e.height - F : o.y + o.height + F) : (pe = Xt(o.y, o.height, e.height), he = n === \"left\" ? o.x - e.width - F : o.x + o.width + F), he = Ke(he, t.x, t.x + t.width - e.width), pe = Ke(pe, t.y, t.y + t.height - e.height);\n const hr = n === \"top\" || n === \"bottom\" ? o.x + o.width / 2 - he : o.y + o.height / 2 - pe, pr = (n === \"top\" || n === \"bottom\" ? e.width : e.height) - Ye, ur = Ke(hr, Ye, Math.max(Ye, pr)), vr = a ? `${n}-${a}` : n;\n return { x: he, y: pe, placement: vr, arrowOffset: ur };\n}\nconst Eo = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-tooltip-max-width: 240px;\n --wc-tooltip-arrow-offset: 50%;\n }\n\n .trigger {\n display: inline-flex;\n }\n\n .panel {\n position: fixed;\n z-index: var(--wc-z-index-tooltip);\n box-sizing: border-box;\n max-width: var(--wc-tooltip-max-width);\n padding: var(--wc-space-2) var(--wc-space-3);\n font-size: var(--wc-font-size-small);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-gray-900);\n border-radius: var(--wc-radius-small);\n box-shadow: var(--wc-shadow-2);\n opacity: 0;\n visibility: hidden;\n transform: scale(0.96);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard),\n visibility var(--wc-duration-fast);\n }\n\n .panel[data-open] {\n opacity: 1;\n visibility: visible;\n transform: none;\n }\n\n .body {\n overflow-wrap: anywhere;\n }\n\n /* ---- 箭头:8px 旋转正方形,贴在朝向锚点的一边 ---- */\n .arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: inherit;\n transform: rotate(45deg);\n }\n\n .side-top .arrow {\n left: var(--wc-tooltip-arrow-offset);\n bottom: -4px;\n margin-left: -4px;\n }\n\n .side-bottom .arrow {\n left: var(--wc-tooltip-arrow-offset);\n top: -4px;\n margin-left: -4px;\n }\n\n .side-left .arrow {\n top: var(--wc-tooltip-arrow-offset);\n right: -4px;\n margin-top: -4px;\n }\n\n .side-right .arrow {\n top: var(--wc-tooltip-arrow-offset);\n left: -4px;\n margin-top: -4px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n }\n`;\nvar So = Object.defineProperty, qe = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && So(e, t, r), r;\n};\nconst _o = 100, Oo = 150;\nlet Po = 0;\nconst Dt = class Dt extends l {\n constructor() {\n super(...arguments), this.content = \"\", this.placement = \"top\", this.trigger = \"hover\", this.open = !1, this.panelId = `wc-tooltip-panel-${++Po}`, this.showTimer = null, this.hideTimer = null, this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.hide();\n };\n }\n connectedCallback() {\n super.connectedCallback();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.clearTimers(), document.removeEventListener(\"click\", this.onDocumentClick, !0);\n }\n /** 显示(manual 模式或编程调用) */\n show() {\n this.clearTimers(), this.showTimer = setTimeout(() => {\n this.open || (this.open = !0, this.dispatchEvent(new CustomEvent(\"wc-show\", { bubbles: !0, composed: !0 })));\n }, _o);\n }\n /** 隐藏 */\n hide() {\n this.clearTimers(), this.hideTimer = setTimeout(() => {\n this.open && (this.open = !1, this.dispatchEvent(new CustomEvent(\"wc-hide\", { bubbles: !0, composed: !0 })));\n }, Oo);\n }\n clearTimers() {\n this.showTimer !== null && (clearTimeout(this.showTimer), this.showTimer = null), this.hideTimer !== null && (clearTimeout(this.hideTimer), this.hideTimer = null);\n }\n onTriggerEnter() {\n this.trigger === \"hover\" && this.show();\n }\n onTriggerLeave() {\n this.trigger === \"hover\" && this.hide();\n }\n onTriggerClick(e) {\n this.trigger === \"click\" && (e.stopPropagation(), this.open ? this.hide() : this.show());\n }\n onTriggerKeydown(e) {\n this.trigger === \"click\" && e.key === \"Escape\" && this.open && this.hide();\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open && this.trigger === \"click\" ? document.addEventListener(\"click\", this.onDocumentClick, !0) : this.open || document.removeEventListener(\"click\", this.onDocumentClick, !0), this.open && this.position());\n }\n /** 计算并应用 fixed 定位与箭头偏移 */\n position() {\n const e = this.shadowRoot.querySelector(\".panel\");\n if (!e) return;\n const t = this.getBoundingClientRect(), s = e.getBoundingClientRect(), r = { x: 0, y: 0, width: window.innerWidth, height: window.innerHeight }, a = lr(t, s, r, this.placement);\n e.style.left = `${a.x}px`, e.style.top = `${a.y}px`, e.dataset.placement = a.placement, e.style.setProperty(\"--wc-tooltip-arrow-offset\", `${a.arrowOffset}px`);\n }\n render() {\n const { base: e } = nt(this.placement);\n return c`\n <span\n class=\"trigger\"\n part=\"trigger\"\n aria-describedby=${this.panelId}\n @mouseenter=${this.onTriggerEnter}\n @mouseleave=${this.onTriggerLeave}\n @focusin=${this.onTriggerEnter}\n @focusout=${this.onTriggerLeave}\n @click=${this.onTriggerClick}\n @keydown=${this.onTriggerKeydown}\n >\n <slot></slot>\n </span>\n <div\n class=\"panel side-${e}\"\n part=\"base\"\n id=${this.panelId}\n role=\"tooltip\"\n ?data-open=${this.open}\n >\n <div class=\"arrow\" part=\"arrow\"></div>\n <div class=\"body\"><slot name=\"content\">${this.content}</slot></div>\n </div>\n `;\n }\n};\nDt.styles = [d, Eo];\nlet te = Dt;\nqe([\n i()\n], te.prototype, \"content\");\nqe([\n i()\n], te.prototype, \"placement\");\nqe([\n i({ reflect: !0 })\n], te.prototype, \"trigger\");\nqe([\n i({ type: Boolean, reflect: !0 })\n], te.prototype, \"open\");\ncustomElements.get(\"wc-tooltip\") || customElements.define(\"wc-tooltip\", te);\nconst Mo = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-popconfirm-width: 240px;\n --wc-popconfirm-arrow-offset: 50%;\n }\n\n .trigger {\n display: inline-flex;\n }\n\n .panel {\n position: fixed;\n z-index: var(--wc-z-index-tooltip);\n box-sizing: border-box;\n width: var(--wc-popconfirm-width);\n padding: var(--wc-space-4);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-radius-medium);\n box-shadow: var(--wc-shadow-2);\n opacity: 0;\n visibility: hidden;\n transform: scale(0.96);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard),\n visibility var(--wc-duration-fast);\n }\n\n .panel[data-open] {\n opacity: 1;\n visibility: visible;\n transform: none;\n }\n\n .main {\n display: flex;\n align-items: flex-start;\n gap: var(--wc-space-2);\n }\n\n .icon {\n flex-shrink: 0;\n margin-top: 2px;\n font-size: var(--wc-font-size-large);\n color: var(--wc-color-warning);\n }\n\n .content {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n }\n\n .actions {\n display: flex;\n gap: var(--wc-space-2);\n justify-content: flex-end;\n margin-top: var(--wc-space-3);\n }\n\n /* ---- 箭头(同 Tooltip) ---- */\n .arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: inherit;\n transform: rotate(45deg);\n }\n\n .side-top .arrow {\n left: var(--wc-popconfirm-arrow-offset);\n bottom: -4px;\n margin-left: -4px;\n }\n\n .side-bottom .arrow {\n left: var(--wc-popconfirm-arrow-offset);\n top: -4px;\n margin-left: -4px;\n }\n\n .side-left .arrow {\n top: var(--wc-popconfirm-arrow-offset);\n right: -4px;\n margin-top: -4px;\n }\n\n .side-right .arrow {\n top: var(--wc-popconfirm-arrow-offset);\n left: -4px;\n margin-top: -4px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n }\n`;\nvar Lo = Object.defineProperty, ce = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Lo(e, t, r), r;\n};\nlet jo = 0;\nconst It = class It extends l {\n constructor() {\n super(...arguments), this.content = \"\", this.placement = \"top\", this.confirmText = \"\", this.cancelText = \"\", this.theme = \"primary\", this.icon = \"warning\", this.open = !1, this.panelId = `wc-popconfirm-panel-${++jo}`, this.localize = new m(this), this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.cancel(\"outside\");\n }, this.onDocumentKeydown = (e) => {\n e.key === \"Escape\" && (e.stopPropagation(), this.cancel(\"escape\"));\n };\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.unbindSideEffects();\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.bindSideEffects();\n }\n /** 打开气泡 */\n show() {\n this.open || (this.open = !0, this.bindSideEffects());\n }\n /** 关闭气泡(不派发事件) */\n hide() {\n this.open && (this.open = !1, this.unbindSideEffects());\n }\n /** 确认:派发 wc-confirm 并关闭 */\n confirm() {\n this.dispatchEvent(new CustomEvent(\"wc-confirm\", { bubbles: !0, composed: !0 })), this.hide();\n }\n /** 取消:派发 wc-cancel 并关闭 */\n cancel(e = \"button\") {\n this.open && (this.dispatchEvent(\n new CustomEvent(\"wc-cancel\", { detail: { reason: e }, bubbles: !0, composed: !0 })\n ), this.hide());\n }\n bindSideEffects() {\n document.addEventListener(\"click\", this.onDocumentClick, !0), document.addEventListener(\"keydown\", this.onDocumentKeydown, !0), queueMicrotask(() => {\n this.shadowRoot.querySelector('[part=\"confirm-button\"]')?.focus();\n });\n }\n unbindSideEffects() {\n document.removeEventListener(\"click\", this.onDocumentClick, !0), document.removeEventListener(\"keydown\", this.onDocumentKeydown, !0), this.shadowRoot.querySelector(\".trigger\")?.focus();\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open ? (this.bindSideEffects(), this.position()) : this.unbindSideEffects());\n }\n /** 计算并应用 fixed 定位与箭头偏移(同 Tooltip) */\n position() {\n const e = this.shadowRoot.querySelector(\".panel\");\n if (!e) return;\n const t = this.getBoundingClientRect(), s = e.getBoundingClientRect(), r = { x: 0, y: 0, width: window.innerWidth, height: window.innerHeight }, a = lr(t, s, r, this.placement);\n e.style.left = `${a.x}px`, e.style.top = `${a.y}px`, e.dataset.placement = a.placement, e.style.setProperty(\"--wc-popconfirm-arrow-offset\", `${a.arrowOffset}px`);\n }\n onTriggerClick(e) {\n e.stopPropagation(), this.open ? this.hide() : this.show();\n }\n render() {\n const { base: e } = nt(this.placement);\n return c`\n <span\n class=\"trigger\"\n part=\"trigger\"\n tabindex=\"0\"\n role=\"button\"\n aria-describedby=${this.open ? this.panelId : \"\"}\n @click=${this.onTriggerClick}\n @keydown=${(t) => {\n (t.key === \"Enter\" || t.key === \" \") && (t.preventDefault(), this.onTriggerClick(t));\n }}\n >\n <slot></slot>\n </span>\n <div\n class=\"panel side-${e}\"\n part=\"base\"\n id=${this.panelId}\n role=\"dialog\"\n aria-label=${this.content || \"popconfirm\"}\n ?data-open=${this.open}\n >\n <div class=\"arrow\" part=\"arrow\"></div>\n <div class=\"main\">\n ${this.icon ? c`<wc-icon class=\"icon\" part=\"icon\" name=${this.icon}></wc-icon>` : \"\"}\n <div class=\"content\"><slot name=\"content\">${this.content}</slot></div>\n </div>\n <div class=\"actions\" part=\"actions\">\n <wc-button size=\"small\" @click=${() => this.cancel(\"button\")}>\n ${this.cancelText || this.localize.term(\"dialog.cancel\")}\n </wc-button>\n <wc-button\n size=\"small\"\n theme=${this.theme}\n part=\"confirm-button\"\n @click=${() => this.confirm()}\n >\n ${this.confirmText || this.localize.term(\"dialog.confirm\")}\n </wc-button>\n </div>\n </div>\n `;\n }\n};\nIt.styles = [d, Mo];\nlet P = It;\nce([\n i()\n], P.prototype, \"content\");\nce([\n i()\n], P.prototype, \"placement\");\nce([\n i({ attribute: \"confirm-text\" })\n], P.prototype, \"confirmText\");\nce([\n i({ attribute: \"cancel-text\" })\n], P.prototype, \"cancelText\");\nce([\n i()\n], P.prototype, \"theme\");\nce([\n i()\n], P.prototype, \"icon\");\nce([\n i({ type: Boolean, reflect: !0 })\n], P.prototype, \"open\");\ncustomElements.get(\"wc-popconfirm\") || customElements.define(\"wc-popconfirm\", P);\nconst Do = h`\n :host {\n display: block;\n }\n\n .bar {\n display: flex;\n gap: var(--wc-space-2);\n border-bottom: 1px solid var(--wc-color-border);\n }\n\n .tab {\n position: relative;\n padding: var(--wc-space-2) var(--wc-space-4);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n cursor: pointer;\n background: transparent;\n border: none;\n outline: none;\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .tab::after {\n content: '';\n position: absolute;\n right: var(--wc-space-3);\n bottom: -1px;\n left: var(--wc-space-3);\n height: 2px;\n background-color: var(--wc-color-primary);\n border-radius: var(--wc-radius-small);\n opacity: 0;\n transform: scaleX(0.4);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .tab:hover {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .tab[aria-selected='true'] {\n color: var(--wc-color-primary);\n font-weight: var(--wc-font-weight-semibold);\n }\n\n .tab[aria-selected='true']::after {\n opacity: 1;\n transform: none;\n }\n\n .tab:focus-visible {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .tab[data-disabled] {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n background-color: transparent;\n }\n`, Io = h`\n :host {\n display: block;\n padding-top: var(--wc-space-3);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n }\n\n :host(:not([active])) {\n display: none;\n }\n`;\nvar To = Object.defineProperty, Be = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && To(e, t, r), r;\n};\nconst Tt = class Tt extends l {\n constructor() {\n super(...arguments), this.value = \"\", this.label = \"\", this.disabled = !1, this.active = !1;\n }\n render() {\n return c`<div class=\"panel\" part=\"panel\" role=\"tabpanel\" aria-label=${this.label}>\n <slot></slot>\n </div>`;\n }\n};\nTt.styles = [d, Io];\nlet re = Tt;\nBe([\n i()\n], re.prototype, \"value\");\nBe([\n i()\n], re.prototype, \"label\");\nBe([\n i({ type: Boolean, reflect: !0 })\n], re.prototype, \"disabled\");\nBe([\n i({ type: Boolean, reflect: !0 })\n], re.prototype, \"active\");\ncustomElements.get(\"wc-tab\") || customElements.define(\"wc-tab\", re);\nvar No = Object.defineProperty, qo = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && No(e, t, r), r;\n};\nconst Nt = class Nt extends l {\n constructor() {\n super(...arguments), this.value = \"\", this.tabs = [], this.uid = `wc-tabs-${Math.random().toString(36).slice(2, 8)}`, this.mutationObserver = new MutationObserver(() => this.collectTabs());\n }\n connectedCallback() {\n super.connectedCallback(), this.mutationObserver.observe(this, {\n childList: !0,\n // subtree: true 使 attributeFilter 也能监视子元素 label/value/disabled 变化\n subtree: !0,\n attributes: !0,\n attributeFilter: [\"label\", \"value\", \"disabled\"]\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.mutationObserver.disconnect();\n }\n collectTabs() {\n const e = Array.from(this.querySelectorAll(\"wc-tab\"));\n this.tabs = e.map((t, s) => ({\n value: t.value || String(s),\n label: t.label || t.textContent?.trim() || String(s + 1),\n disabled: t.disabled,\n element: t\n })), this.requestUpdate(), this.syncActive();\n }\n /** 把 value 同步到子元素的 active 标志(驱动面板显隐) */\n syncActive() {\n !this.value && this.tabs.length > 0 && !this.tabs.some((e) => e.value === this.value) && (this.value = this.tabs[0].value);\n for (const e of this.tabs)\n e.element.active = e.value === this.value;\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.syncActive();\n }\n select(e) {\n if (e === this.value) return;\n const t = this.tabs.find((s) => s.value === e);\n !t || t.disabled || (this.value = e, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: e },\n bubbles: !0,\n composed: !0\n })\n ));\n }\n onTablistKeydown(e) {\n const t = this.tabs.filter((a) => !a.disabled);\n if (t.length === 0) return;\n const s = Math.max(\n 0,\n t.findIndex((a) => a.value === this.value)\n );\n let r;\n switch (e.key) {\n case \"ArrowRight\":\n case \"ArrowDown\":\n r = t[(s + 1) % t.length];\n break;\n case \"ArrowLeft\":\n case \"ArrowUp\":\n r = t[(s - 1 + t.length) % t.length];\n break;\n case \"Home\":\n r = t[0];\n break;\n case \"End\":\n r = t[t.length - 1];\n break;\n default:\n return;\n }\n e.preventDefault(), r && (this.select(r.value), this.focusTab(r.value));\n }\n /** 焦点移到指定标签按钮(roving tabindex 的焦点跟随) */\n focusTab(e) {\n const t = e.replace(/[\"\\\\]/g, \"\\\\$&\");\n this.shadowRoot.querySelector(`[data-value=\"${t}\"]`)?.focus();\n }\n render() {\n return c`\n <div class=\"bar\" part=\"bar\" role=\"tablist\" @keydown=${this.onTablistKeydown}>\n ${this.tabs.map(\n (e) => c`\n <button\n type=\"button\"\n class=\"tab\"\n part=\"tab\"\n role=\"tab\"\n data-value=${e.value}\n id=${`${this.uid}-tab-${e.value}`}\n aria-selected=${e.value === this.value ? \"true\" : \"false\"}\n aria-disabled=${e.disabled ? \"true\" : \"false\"}\n tabindex=${e.value === this.value ? \"0\" : \"-1\"}\n ?data-disabled=${e.disabled}\n @click=${() => this.select(e.value)}\n >\n ${e.label}\n </button>\n `\n )}\n </div>\n ${this.tabs.length > 0 ? c`<slot @slotchange=${this.collectTabs}></slot>` : u}\n `;\n }\n};\nNt.styles = [d, Do];\nlet Pe = Nt;\nqo([\n i({ reflect: !0 })\n], Pe.prototype, \"value\");\ncustomElements.get(\"wc-tabs\") || customElements.define(\"wc-tabs\", Pe);\nconst Bo = h`\n :host {\n display: block;\n }\n\n /* 条目由 shadow 渲染,light-DOM 子元素仅用于收集元数据 */\n slot {\n display: none;\n }\n\n .list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wc-space-1);\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: var(--wc-font-size-medium);\n }\n\n .item {\n display: inline-flex;\n align-items: center;\n }\n\n .separator {\n display: inline-flex;\n align-items: center;\n color: var(--wc-color-text-placeholder);\n user-select: none;\n }\n\n .link {\n color: var(--wc-color-text-secondary);\n text-decoration: none;\n cursor: pointer;\n transition: color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .link:hover {\n color: var(--wc-color-primary);\n }\n\n .link[data-disabled] {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n\n .link[data-disabled]:hover {\n color: var(--wc-color-text-disabled);\n }\n\n .current {\n color: var(--wc-color-text);\n font-weight: var(--wc-font-weight-medium);\n }\n`;\nvar Ao = Object.defineProperty, Ro = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Ao(e, t, r), r;\n};\nconst qt = class qt extends l {\n constructor() {\n super(...arguments), this.separator = \"/\", this.items = [], this.localize = new m(this), this.mutationObserver = new MutationObserver(() => this.collectItems());\n }\n connectedCallback() {\n super.connectedCallback(), this.mutationObserver.observe(this, {\n childList: !0,\n // subtree: true 使 attributeFilter 也能监视子元素 href/disabled 变化\n subtree: !0,\n attributes: !0,\n attributeFilter: [\"href\", \"disabled\"]\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.mutationObserver.disconnect();\n }\n collectItems() {\n const e = Array.from(this.querySelectorAll(\"wc-breadcrumb-item\"));\n this.items = e.map((t, s) => ({\n label: t.textContent?.trim() || String(s + 1),\n href: t.getAttribute(\"href\") || \"\",\n disabled: t.hasAttribute(\"disabled\"),\n index: s\n })), this.requestUpdate();\n }\n onSelect(e) {\n this.dispatchEvent(\n new CustomEvent(\"wc-select\", {\n detail: { index: e.index, label: e.label, href: e.href },\n bubbles: !0,\n composed: !0\n })\n );\n }\n renderItem(e, t) {\n return t ? c`<span class=\"current\" part=\"current\" aria-current=\"page\">${e.label}</span>` : e.disabled ? c`<span class=\"link\" data-disabled aria-disabled=\"true\">${e.label}</span>` : e.href ? c`<a class=\"link\" part=\"link\" href=${e.href} @click=${() => this.onSelect(e)}\n >${e.label}</a\n >` : c`<span class=\"link\" part=\"link\" @click=${() => this.onSelect(e)}\n >${e.label}</span\n >`;\n }\n render() {\n const e = this.items.length - 1;\n return c`\n <nav class=\"nav\" part=\"nav\" aria-label=${this.localize.term(\"breadcrumb.label\")}>\n <ol class=\"list\" part=\"list\">\n ${this.items.map((t, s) => c`\n <li class=\"item\" part=\"item\">${this.renderItem(t, s === e)}</li>\n ${s < e ? c`<li class=\"separator\" part=\"separator\" aria-hidden=\"true\">\n ${this.separator}\n </li>` : u}\n `)}\n </ol>\n <slot @slotchange=${this.collectItems}></slot>\n </nav>\n `;\n }\n};\nqt.styles = [d, Bo];\nlet Me = qt;\nRo([\n i()\n], Me.prototype, \"separator\");\ncustomElements.get(\"wc-breadcrumb\") || customElements.define(\"wc-breadcrumb\", Me);\nvar Fo = Object.defineProperty, dr = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Fo(e, t, r), r;\n};\nclass ct extends l {\n constructor() {\n super(...arguments), this.href = \"\", this.disabled = !1;\n }\n render() {\n return c``;\n }\n}\ndr([\n i()\n], ct.prototype, \"href\");\ndr([\n i({ type: Boolean, reflect: !0 })\n], ct.prototype, \"disabled\");\ncustomElements.get(\"wc-breadcrumb-item\") || customElements.define(\"wc-breadcrumb-item\", ct);\nconst Vo = h`\n :host {\n display: block;\n }\n\n .pagination {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wc-space-1);\n font-size: var(--wc-font-size-medium);\n }\n\n .total {\n margin-right: var(--wc-space-2);\n color: var(--wc-color-text-secondary);\n }\n\n .page-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n padding: 0 var(--wc-space-2);\n color: var(--wc-color-text);\n font: inherit;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n cursor: pointer;\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .page-button:hover:not(:disabled) {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .page-button:disabled {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n background: transparent;\n }\n\n .page-button[aria-current='page'] {\n color: var(--wc-color-primary);\n font-weight: var(--wc-font-weight-medium);\n background-color: var(--wc-color-primary-light);\n }\n\n .ellipsis {\n min-width: 32px;\n color: var(--wc-color-text-placeholder);\n letter-spacing: 1px;\n text-align: center;\n user-select: none;\n }\n\n .jumper {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n margin-left: var(--wc-space-2);\n color: var(--wc-color-text-secondary);\n }\n\n .jumper-input {\n width: 56px;\n height: 32px;\n padding: 0 var(--wc-space-2);\n font: inherit;\n color: var(--wc-color-text);\n text-align: center;\n background: transparent;\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-radius-small);\n }\n\n .jumper-input:focus {\n outline: none;\n border-color: var(--wc-color-primary);\n }\n\n .jumper-input:disabled {\n color: var(--wc-color-text-disabled);\n background-color: var(--wc-color-bg-disabled, var(--wc-color-bg-hover));\n cursor: not-allowed;\n }\n`;\nvar Uo = Object.defineProperty, le = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Uo(e, t, r), r;\n};\nconst Bt = class Bt extends l {\n constructor() {\n super(...arguments), this.total = 0, this.pageSize = 10, this.current = 1, this.foldedPageCount = 5, this.showTotal = !1, this.showJumper = !1, this.disabled = !1, this.localize = new m(this);\n }\n /** 总页数 */\n get pageCount() {\n return Math.max(1, Math.ceil(this.total / Math.max(1, this.pageSize)));\n }\n select(e) {\n const t = Math.min(this.pageCount, Math.max(1, Math.floor(e)));\n if (this.disabled || t === this.current) return;\n const s = this.current;\n this.current = t, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { current: t, previous: s },\n bubbles: !0,\n composed: !0\n })\n );\n }\n updated(e) {\n super.updated(e), (e.has(\"total\") || e.has(\"pageSize\")) && this.current > this.pageCount && (this.current = this.pageCount);\n }\n /** 页码序列:1 … 中间窗口 … 末页,空间充足时全部展开 */\n getPageItems() {\n const e = this.pageCount, t = Math.max(1, this.foldedPageCount);\n if (e <= t + 2)\n return Array.from({ length: e }, (n, g) => g + 1);\n let s = Math.max(2, this.current - Math.floor(t / 2));\n const r = Math.min(e - 1, s + t - 1);\n s = Math.max(2, r - t + 1);\n const a = [1];\n s > 2 && a.push(\"ellipsis-prev\");\n for (let n = s; n <= r; n++) a.push(n);\n return r < e - 1 && a.push(\"ellipsis-next\"), a.push(e), a;\n }\n onJumperKeydown(e) {\n if (e.key !== \"Enter\") return;\n const t = e.target, s = Number.parseInt(t.value, 10);\n Number.isNaN(s) || (this.select(s), t.value = String(this.current));\n }\n render() {\n const e = this.disabled || this.current <= 1, t = this.disabled || this.current >= this.pageCount;\n return c`\n <nav class=\"pagination\" part=\"nav\" aria-label=${this.localize.term(\"pagination.label\")}>\n ${this.showTotal ? c`<span class=\"total\" part=\"total\">\n ${this.localize.term(\"pagination.total\", { total: this.total })}\n </span>` : u}\n <button\n type=\"button\"\n class=\"page-button\"\n part=\"prev\"\n ?disabled=${e}\n aria-label=${this.localize.term(\"pagination.prev\")}\n @click=${() => this.select(this.current - 1)}\n >\n <wc-icon name=\"chevron-left\"></wc-icon>\n </button>\n ${this.getPageItems().map(\n (s) => typeof s != \"number\" ? c`<span class=\"ellipsis\" part=\"ellipsis\" aria-hidden=\"true\">•••</span>` : c`<button\n type=\"button\"\n class=\"page-button\"\n part=\"page\"\n ?disabled=${this.disabled}\n aria-label=${this.localize.term(\"pagination.page\", { page: s })}\n aria-current=${s === this.current ? \"page\" : u}\n @click=${() => this.select(s)}\n >\n ${s}\n </button>`\n )}\n <button\n type=\"button\"\n class=\"page-button\"\n part=\"next\"\n ?disabled=${t}\n aria-label=${this.localize.term(\"pagination.next\")}\n @click=${() => this.select(this.current + 1)}\n >\n <wc-icon name=\"chevron-right\"></wc-icon>\n </button>\n ${this.showJumper ? c`<span class=\"jumper\" part=\"jumper\">\n ${this.localize.term(\"pagination.jumpTo\")}\n <input\n type=\"text\"\n class=\"jumper-input\"\n part=\"jumper-input\"\n ?disabled=${this.disabled}\n aria-label=${this.localize.term(\"pagination.jumpTo\")}\n @keydown=${this.onJumperKeydown}\n />\n ${this.localize.term(\"pagination.pageUnit\")}\n </span>` : u}\n </nav>\n `;\n }\n};\nBt.styles = [d, Vo];\nlet M = Bt;\nle([\n i({ type: Number })\n], M.prototype, \"total\");\nle([\n i({ type: Number, attribute: \"page-size\" })\n], M.prototype, \"pageSize\");\nle([\n i({ type: Number, reflect: !0 })\n], M.prototype, \"current\");\nle([\n i({ type: Number, attribute: \"folded-page-count\" })\n], M.prototype, \"foldedPageCount\");\nle([\n i({ type: Boolean, attribute: \"show-total\" })\n], M.prototype, \"showTotal\");\nle([\n i({ type: Boolean, attribute: \"show-jumper\" })\n], M.prototype, \"showJumper\");\nle([\n i({ type: Boolean, reflect: !0 })\n], M.prototype, \"disabled\");\ncustomElements.get(\"wc-pagination\") || customElements.define(\"wc-pagination\", M);\nconst Yo = h`\n :host {\n position: relative;\n display: inline-flex;\n }\n\n .badge {\n position: absolute;\n top: 0;\n right: 0;\n z-index: var(--wc-z-index-popover, 1);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 16px;\n height: 16px;\n padding: 0 4px;\n color: var(--wc-color-text-anti);\n font-size: var(--wc-font-size-xsmall);\n line-height: 1;\n white-space: nowrap;\n background-color: var(--wc-color-error);\n border-radius: var(--wc-radius-round);\n transform: translate(50%, -50%);\n }\n\n :host([dot]) .badge {\n min-width: 6px;\n width: 6px;\n height: 6px;\n padding: 0;\n }\n\n :host([theme='primary']) .badge {\n background-color: var(--wc-color-primary);\n }\n\n :host([theme='success']) .badge {\n background-color: var(--wc-color-success);\n }\n\n :host([theme='warning']) .badge {\n background-color: var(--wc-color-warning);\n }\n\n :host([theme='danger']) .badge {\n background-color: var(--wc-color-error);\n }\n`;\nvar Ko = Object.defineProperty, Ae = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Ko(e, t, r), r;\n};\nconst At = class At extends l {\n constructor() {\n super(...arguments), this.count = 0, this.max = 99, this.dot = !1, this.theme = \"danger\";\n }\n /** 实际展示的数字文本 */\n get displayCount() {\n return this.count > this.max ? `${this.max}+` : String(Math.max(0, this.count));\n }\n render() {\n const e = this.dot || this.count > 0;\n return c`\n <slot></slot>\n ${e ? c`<sup class=\"badge\" part=\"badge\">${this.dot ? u : this.displayCount}</sup>` : u}\n `;\n }\n};\nAt.styles = [d, Yo];\nlet oe = At;\nAe([\n i({ type: Number })\n], oe.prototype, \"count\");\nAe([\n i({ type: Number })\n], oe.prototype, \"max\");\nAe([\n i({ type: Boolean, reflect: !0 })\n], oe.prototype, \"dot\");\nAe([\n i({ reflect: !0 })\n], oe.prototype, \"theme\");\ncustomElements.get(\"wc-badge\") || customElements.define(\"wc-badge\", oe);\nconst Ho = h`\n :host {\n display: block;\n }\n\n .empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-8) var(--wc-space-4);\n text-align: center;\n }\n\n .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--wc-color-text-placeholder);\n }\n\n /* 默认占位图形:圆角方块 + 内嵌虚线圆,柔和示意「空」 */\n .placeholder {\n position: relative;\n display: block;\n width: 56px;\n height: 56px;\n background-color: var(--wc-color-bg-hover);\n border-radius: var(--wc-radius-xlarge);\n }\n\n .placeholder::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 24px;\n height: 24px;\n border: 2px dashed var(--wc-color-text-placeholder);\n border-radius: var(--wc-radius-circle);\n transform: translate(-50%, -50%);\n }\n\n .description {\n margin-top: var(--wc-space-3);\n color: var(--wc-color-text-secondary);\n font-size: var(--wc-font-size-medium);\n }\n\n .action {\n margin-top: var(--wc-space-4);\n }\n\n .action:empty {\n display: none;\n }\n`, Rt = class Rt extends l {\n constructor() {\n super(...arguments), this.localize = new m(this);\n }\n render() {\n return c`\n <div class=\"empty\" part=\"base\">\n <div class=\"icon\" part=\"icon\">\n <slot name=\"icon\"><span class=\"placeholder\"></span></slot>\n </div>\n <div class=\"description\" part=\"description\">\n <slot>${this.localize.term(\"empty.noData\")}</slot>\n </div>\n <div class=\"action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n `;\n }\n};\nRt.styles = [d, Ho];\nlet Ze = Rt;\ncustomElements.get(\"wc-empty\") || customElements.define(\"wc-empty\", Ze);\nconst Wo = h`\n :host {\n display: block;\n }\n\n /* ---- line ---- */\n .line {\n display: flex;\n align-items: center;\n gap: var(--wc-space-2);\n }\n\n .track {\n position: relative;\n flex: 1;\n overflow: hidden;\n background-color: var(--wc-color-bg-hover);\n border-radius: var(--wc-radius-round);\n }\n\n .indicator {\n height: 100%;\n background-color: var(--wc-color-primary);\n border-radius: var(--wc-radius-round);\n transition: width var(--wc-duration-slow, 300ms) var(--wc-easing-standard);\n }\n\n :host([status='success']) .indicator {\n background-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .indicator {\n background-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .indicator {\n background-color: var(--wc-color-error);\n }\n\n .label {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n color: var(--wc-color-text-secondary);\n font-size: var(--wc-font-size-small);\n line-height: 1;\n white-space: nowrap;\n }\n\n :host([status='success']) .label {\n color: var(--wc-color-success);\n }\n\n :host([status='error']) .label {\n color: var(--wc-color-error);\n }\n\n .label wc-icon {\n --icon-size: 1em;\n }\n\n /* ---- circle ---- */\n .circle-wrap {\n position: relative;\n display: inline-block;\n width: 72px;\n height: 72px;\n }\n\n .circle {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .circle .track {\n fill: none;\n stroke: var(--wc-color-bg-hover);\n stroke-width: 6;\n }\n\n .circle .indicator {\n fill: none;\n stroke: var(--wc-color-primary);\n stroke-width: 6;\n stroke-linecap: round;\n transition: stroke-dashoffset var(--wc-duration-slow, 300ms) var(--wc-easing-standard);\n }\n\n :host([status='success']) .circle .indicator {\n stroke: var(--wc-color-success);\n }\n\n :host([status='warning']) .circle .indicator {\n stroke: var(--wc-color-warning);\n }\n\n :host([status='error']) .circle .indicator {\n stroke: var(--wc-color-error);\n }\n\n .circle-label {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-small);\n }\n\n .circle-label .label {\n color: inherit;\n }\n`;\nvar Xo = Object.defineProperty, xe = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Xo(e, t, r), r;\n};\nconst Je = 32, rr = 2 * Math.PI * Je, Ft = class Ft extends l {\n constructor() {\n super(...arguments), this.value = 0, this.theme = \"line\", this.status = \"normal\", this.showLabel = !0, this.strokeWidth = 6, this.label = \"\";\n }\n /** 夹紧后的百分比 */\n get percent() {\n return Math.min(100, Math.max(0, this.value));\n }\n /** 标签文本:label 属性优先,否则百分比 */\n get labelText() {\n return this.label || `${Math.round(this.percent)}%`;\n }\n renderStatusLabel() {\n if (!this.showLabel) return u;\n const e = this.status === \"success\" ? \"check\" : this.status === \"error\" ? \"close\" : \"\";\n return c`<span class=\"label\" part=\"label\">\n ${e ? c`<wc-icon name=${e}></wc-icon>` : u}${this.labelText}\n </span>`;\n }\n renderLine() {\n return c`<div class=\"line\" part=\"base\">\n <div\n class=\"track\"\n part=\"track\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=${Math.round(this.percent)}\n aria-label=${this.labelText}\n style=\"height: ${this.strokeWidth}px\"\n >\n <div class=\"indicator\" part=\"indicator\" style=\"width: ${this.percent}%\"></div>\n </div>\n ${this.renderStatusLabel()}\n </div>`;\n }\n renderCircle() {\n return c`<div class=\"circle-wrap\" part=\"base\">\n <svg\n class=\"circle\"\n viewBox=\"0 0 72 72\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=${Math.round(this.percent)}\n aria-label=${this.labelText}\n >\n <circle class=\"track\" part=\"track\" cx=\"36\" cy=\"36\" r=\"${Je}\"></circle>\n <circle\n class=\"indicator\"\n part=\"indicator\"\n cx=\"36\"\n cy=\"36\"\n r=\"${Je}\"\n stroke-dasharray=\"${rr}\"\n stroke-dashoffset=${rr * (1 - this.percent / 100)}\n transform=\"rotate(-90 36 36)\"\n ></circle>\n </svg>\n <div class=\"circle-label\">${this.renderStatusLabel()}</div>\n </div>`;\n }\n render() {\n return this.theme === \"circle\" ? this.renderCircle() : this.renderLine();\n }\n};\nFt.styles = [d, Wo];\nlet T = Ft;\nxe([\n i({ type: Number })\n], T.prototype, \"value\");\nxe([\n i({ reflect: !0 })\n], T.prototype, \"theme\");\nxe([\n i({ reflect: !0 })\n], T.prototype, \"status\");\nxe([\n i({ type: Boolean, attribute: \"show-label\" })\n], T.prototype, \"showLabel\");\nxe([\n i({ type: Number, attribute: \"stroke-width\" })\n], T.prototype, \"strokeWidth\");\nxe([\n i()\n], T.prototype, \"label\");\ncustomElements.get(\"wc-progress\") || customElements.define(\"wc-progress\", T);\nconst Go = h`\n :host {\n display: block;\n }\n\n /* display:flex 类会覆盖 [hidden] 的 UA 样式,显式关闭 */\n [hidden] {\n display: none !important;\n }\n\n .card {\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-radius-large);\n transition: box-shadow var(--wc-duration-base, 200ms) var(--wc-easing-standard);\n }\n\n :host([bordered]) .card {\n border: 1px solid var(--wc-color-border);\n }\n\n :host([hoverable]) .card:hover {\n box-shadow: var(--wc-shadow-2);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: var(--wc-space-4) var(--wc-space-4) 0;\n }\n\n .titles {\n min-width: 0;\n }\n\n .title {\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-large);\n font-weight: var(--wc-font-weight-medium);\n line-height: 1.5;\n }\n\n .subtitle {\n margin-top: 2px;\n color: var(--wc-color-text-secondary);\n font-size: var(--wc-font-size-small);\n }\n\n .actions {\n flex-shrink: 0;\n }\n\n .body {\n padding: var(--wc-space-4);\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n }\n\n .footer {\n padding: var(--wc-space-3) var(--wc-space-4);\n border-top: 1px solid var(--wc-color-border);\n }\n`;\nvar Zo = Object.defineProperty, de = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Zo(e, t, r), r;\n};\nconst Vt = class Vt extends l {\n constructor() {\n super(...arguments), this.title = \"\", this.subtitle = \"\", this.bordered = !0, this.hoverable = !1, this.hasHeaderSlot = !1, this.hasActions = !1, this.hasFooter = !1;\n }\n onSlotChange(e) {\n const t = e.target, s = t.assignedElements().length > 0;\n t.name === \"header\" ? this.hasHeaderSlot = s : t.name === \"actions\" ? this.hasActions = s : t.name === \"footer\" && (this.hasFooter = s);\n }\n connectedCallback() {\n super.connectedCallback(), this.hasHeaderSlot = this.querySelector('[slot=\"header\"]') !== null, this.hasActions = this.querySelector('[slot=\"actions\"]') !== null, this.hasFooter = this.querySelector('[slot=\"footer\"]') !== null;\n }\n renderHeader() {\n const e = !!(this.title || this.subtitle || this.hasHeaderSlot || this.hasActions);\n return c`<div class=\"header\" part=\"header\" ?hidden=${!e}>\n <div class=\"titles\" ?hidden=${this.hasHeaderSlot}>\n ${this.title ? c`<div class=\"title\" part=\"title\">${this.title}</div>` : u}\n ${this.subtitle ? c`<div class=\"subtitle\" part=\"subtitle\">${this.subtitle}</div>` : u}\n </div>\n <slot name=\"header\" @slotchange=${this.onSlotChange} ?hidden=${!this.hasHeaderSlot}></slot>\n <div class=\"actions\" part=\"actions\" ?hidden=${!this.hasActions}>\n <slot name=\"actions\" @slotchange=${this.onSlotChange}></slot>\n </div>\n </div>`;\n }\n render() {\n return c`<div class=\"card\" part=\"base\">\n ${this.renderHeader()}\n <div class=\"body\" part=\"body\"><slot></slot></div>\n <div class=\"footer\" part=\"footer\" ?hidden=${!this.hasFooter}>\n <slot name=\"footer\" @slotchange=${this.onSlotChange}></slot>\n </div>\n </div>`;\n }\n};\nVt.styles = [d, Go];\nlet L = Vt;\nde([\n i()\n], L.prototype, \"title\");\nde([\n i()\n], L.prototype, \"subtitle\");\nde([\n i({ type: Boolean, reflect: !0 })\n], L.prototype, \"bordered\");\nde([\n i({ type: Boolean, reflect: !0 })\n], L.prototype, \"hoverable\");\nde([\n w()\n], L.prototype, \"hasHeaderSlot\");\nde([\n w()\n], L.prototype, \"hasActions\");\nde([\n w()\n], L.prototype, \"hasFooter\");\ncustomElements.get(\"wc-card\") || customElements.define(\"wc-card\", L);\nconst Jo = h`\n :host {\n display: block;\n }\n\n /* display:flex/grid 类会覆盖 [hidden] 的 UA 样式,显式关闭 */\n [hidden] {\n display: none !important;\n }\n\n .list {\n margin: 0;\n padding: 0;\n list-style: none;\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n }\n\n /* 通过 ::slotted 为 light-DOM 条目提供统一样式 */\n ::slotted(wc-list-item) {\n display: block;\n padding: var(--wc-space-3) var(--wc-space-4);\n }\n\n ::slotted(wc-list-item:not(:last-child)) {\n border-bottom: 1px solid var(--wc-color-border);\n }\n\n :host([striped]) ::slotted(wc-list-item:nth-child(even)) {\n background-color: var(--wc-color-bg-container-secondary);\n }\n\n :host([hoverable]) ::slotted(wc-list-item:hover) {\n background-color: var(--wc-color-bg-hover);\n }\n\n :host([size='small']) ::slotted(wc-list-item) {\n padding: var(--wc-space-2) var(--wc-space-4);\n }\n\n :host([size='large']) ::slotted(wc-list-item) {\n padding: var(--wc-space-4) var(--wc-space-4);\n }\n\n .empty {\n padding: var(--wc-space-2) 0;\n }\n`;\nvar Qo = Object.defineProperty, Re = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && Qo(e, t, r), r;\n};\nconst Ut = class Ut extends l {\n constructor() {\n super(...arguments), this.size = \"medium\", this.striped = !1, this.hoverable = !1, this.itemCount = 0;\n }\n onSlotChange(e) {\n const t = e.target;\n t.name === \"\" && (this.itemCount = t.assignedElements().length);\n }\n connectedCallback() {\n super.connectedCallback(), this.itemCount = this.querySelectorAll(\"wc-list-item\").length;\n }\n render() {\n return c`\n <ul class=\"list\" part=\"base\" role=\"list\" ?hidden=${this.itemCount === 0}>\n <slot @slotchange=${this.onSlotChange}></slot>\n </ul>\n <div class=\"empty\" part=\"empty\" ?hidden=${this.itemCount > 0}>\n <slot name=\"empty\" @slotchange=${this.onSlotChange}><wc-empty></wc-empty></slot>\n </div>\n `;\n }\n};\nUt.styles = [d, Jo];\nlet ae = Ut;\nRe([\n i({ reflect: !0 })\n], ae.prototype, \"size\");\nRe([\n i({ type: Boolean, reflect: !0 })\n], ae.prototype, \"striped\");\nRe([\n i({ type: Boolean, reflect: !0 })\n], ae.prototype, \"hoverable\");\nRe([\n w()\n], ae.prototype, \"itemCount\");\ncustomElements.get(\"wc-list\") || customElements.define(\"wc-list\", ae);\nconst Yt = class Yt extends l {\n render() {\n return c`<slot></slot>`;\n }\n};\nYt.styles = [d];\nlet Qe = Yt;\ncustomElements.get(\"wc-list-item\") || customElements.define(\"wc-list-item\", Qe);\nconst ea = h`\n :host {\n display: block;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .wrapper {\n position: relative;\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n }\n\n table {\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n }\n\n th,\n td {\n padding: var(--wc-space-3) var(--wc-space-3);\n border-bottom: 1px solid var(--wc-color-border);\n font-weight: normal;\n }\n\n th {\n color: var(--wc-color-text-secondary);\n font-weight: var(--wc-font-weight-medium);\n background-color: var(--wc-color-bg-container-secondary);\n white-space: nowrap;\n user-select: none;\n }\n\n :host([bordered]) th,\n :host([bordered]) td {\n border: 1px solid var(--wc-color-border);\n }\n\n :host([size='small']) th,\n :host([size='small']) td {\n padding: var(--wc-space-2) var(--wc-space-2);\n }\n\n :host([size='large']) th,\n :host([size='large']) td {\n padding: var(--wc-space-4) var(--wc-space-3);\n }\n\n :host([striped]) tbody tr:nth-child(even) td {\n background-color: var(--wc-color-bg-container-secondary);\n }\n\n tbody tr {\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n tbody tr:hover td {\n background-color: var(--wc-color-bg-hover);\n }\n\n :host([striped]) tbody tr:nth-child(even):hover td {\n background-color: var(--wc-color-bg-hover);\n }\n\n th.sortable {\n cursor: pointer;\n }\n\n th.sortable:hover {\n color: var(--wc-color-primary);\n }\n\n th.sorted {\n color: var(--wc-color-primary);\n }\n\n .th-inner {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n }\n\n .sort {\n display: inline-flex;\n flex-direction: column;\n gap: 0;\n color: var(--wc-color-text-placeholder);\n }\n\n .sort wc-icon {\n display: block;\n height: 0.5em;\n pointer-events: none;\n }\n\n .sort wc-icon.active {\n color: var(--wc-color-primary);\n }\n\n td[ellipsis] {\n max-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .align-left {\n text-align: left;\n }\n\n .align-right {\n text-align: right;\n }\n\n .align-center {\n text-align: center;\n }\n\n .empty {\n padding: var(--wc-space-4) 0;\n }\n\n .loading {\n position: absolute;\n inset: 0;\n z-index: var(--wc-z-index-popover, 1);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--wc-color-primary);\n /* 随容器底色自适应明暗主题 */\n background-color: color-mix(in srgb, var(--wc-color-bg-container) 70%, transparent);\n }\n`;\nvar ta = Object.defineProperty, K = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && ta(e, t, r), r;\n};\nconst Kt = class Kt extends l {\n constructor() {\n super(...arguments), this.columns = [], this.data = [], this.striped = !1, this.bordered = !1, this.size = \"medium\", this.loading = !1, this.sortKey = \"\", this.sortOrder = null, this.onSlotChange = () => this.requestUpdate();\n }\n /** 排序后的展示数据 */\n get displayData() {\n if (!this.sortKey || !this.sortOrder) return this.data;\n const e = this.sortOrder === \"asc\" ? 1 : -1;\n return [...this.data].sort((t, s) => {\n const r = t[this.sortKey], a = s[this.sortKey];\n return r == null ? 1 : a == null ? -1 : typeof r == \"number\" && typeof a == \"number\" ? (r - a) * e : String(r).localeCompare(String(a), \"zh-CN\") * e;\n });\n }\n onHeaderClick(e) {\n if (!e.sortable) return;\n const t = { \"\": \"asc\", asc: \"desc\", desc: null };\n this.sortOrder = this.sortKey === e.key ? t[this.sortOrder ?? \"\"] ?? null : \"asc\", this.sortKey = this.sortOrder === null ? \"\" : e.key, this.dispatchEvent(\n new CustomEvent(\"wc-sort\", {\n detail: { key: this.sortKey, order: this.sortOrder },\n bubbles: !0,\n composed: !0\n })\n );\n }\n cellContent(e, t, s) {\n const r = e.render?.(t, s);\n if (r != null && r !== \"\")\n return typeof r == \"object\" ? r : String(r);\n const a = t[e.key];\n return a == null ? \"\" : String(a);\n }\n renderHead() {\n return c`<thead part=\"head\">\n <tr>\n ${this.columns.map((e) => {\n const t = this.sortKey === e.key && this.sortOrder !== null;\n return c`<th\n part=\"th\"\n scope=\"col\"\n style=${e.width != null ? `width: ${typeof e.width == \"number\" ? `${e.width}px` : e.width}` : u}\n class=${[\n e.align ? `align-${e.align}` : \"\",\n e.sortable ? \"sortable\" : \"\",\n t ? \"sorted\" : \"\"\n ].join(\" \") || u}\n aria-sort=${t ? this.sortOrder === \"asc\" ? \"ascending\" : \"descending\" : u}\n @click=${() => this.onHeaderClick(e)}\n >\n <div class=\"th-inner\">\n ${e.title}\n ${e.sortable ? c`<span class=\"sort\" part=\"sort\">\n <wc-icon\n class=${this.sortKey === e.key && this.sortOrder === \"asc\" ? \"active\" : \"\"}\n name=\"chevron-up\"\n ></wc-icon>\n <wc-icon\n class=${this.sortKey === e.key && this.sortOrder === \"desc\" ? \"active\" : \"\"}\n name=\"chevron-down\"\n ></wc-icon>\n </span>` : u}\n </div>\n </th>`;\n })}\n </tr>\n </thead>`;\n }\n render() {\n const e = this.data.length > 0;\n return c`<div class=\"wrapper\" part=\"wrapper\">\n <table part=\"table\">\n ${this.renderHead()}\n <tbody part=\"body\" ?hidden=${!e}>\n ${this.displayData.map(\n (t, s) => c`<tr\n part=\"row\"\n @click=${() => this.dispatchEvent(\n new CustomEvent(\"wc-row-click\", {\n detail: { row: t, index: s },\n bubbles: !0,\n composed: !0\n })\n )}\n >\n ${this.columns.map(\n (r) => c`<td\n part=\"td\"\n class=${r.align ? `align-${r.align}` : u}\n ?ellipsis=${r.ellipsis === !0}\n title=${r.ellipsis ? String(t[r.key] ?? \"\") : u}\n >\n ${this.cellContent(r, t, s)}\n </td>`\n )}\n </tr>`\n )}\n </tbody>\n </table>\n <div class=\"empty\" part=\"empty\" ?hidden=${e}>\n <slot name=\"empty\" @slotchange=${this.onSlotChange}><wc-empty></wc-empty></slot>\n </div>\n ${this.loading ? c`<div class=\"loading\" part=\"loading\">\n <wc-icon name=\"loader\" spin label=\"加载中\"></wc-icon>\n </div>` : u}\n </div>`;\n }\n};\nKt.styles = [d, ea];\nlet C = Kt;\nK([\n i({ type: Array })\n], C.prototype, \"columns\");\nK([\n i({ type: Array })\n], C.prototype, \"data\");\nK([\n i({ type: Boolean, reflect: !0 })\n], C.prototype, \"striped\");\nK([\n i({ type: Boolean, reflect: !0 })\n], C.prototype, \"bordered\");\nK([\n i({ reflect: !0 })\n], C.prototype, \"size\");\nK([\n i({ type: Boolean, reflect: !0 })\n], C.prototype, \"loading\");\nK([\n w()\n], C.prototype, \"sortKey\");\nK([\n w()\n], C.prototype, \"sortOrder\");\ncustomElements.get(\"wc-table\") || customElements.define(\"wc-table\", C);\nconst ra = h`\n :host {\n --wc-image-bg: var(--wc-color-bg-container-secondary);\n --wc-image-radius: var(--wc-radius-medium);\n --wc-image-mask-bg: rgb(0 0 0 / 75%);\n --wc-image-tool-bg: rgb(255 255 255 / 16%);\n --wc-image-tool-bg-hover: rgb(255 255 255 / 28%);\n --wc-image-tool-color: #fff;\n display: inline-block;\n vertical-align: middle;\n }\n\n .frame {\n position: relative;\n width: var(--wc-image-width, 240px);\n height: var(--wc-image-height, 160px);\n overflow: hidden;\n background: var(--wc-image-bg);\n }\n\n :host([shape='rounded']) .frame {\n border-radius: var(--wc-image-radius);\n }\n\n :host([shape='circle']) .frame {\n border-radius: 50%;\n }\n\n .frame img {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n /* 点击触发层:仅在开启预览且加载成功时出现 */\n .trigger {\n position: absolute;\n inset: 0;\n z-index: 1;\n cursor: zoom-in;\n }\n\n .trigger:focus-visible {\n outline: 2px solid var(--wc-color-primary);\n outline-offset: -2px;\n }\n\n /* 加载中 / 失败占位层 */\n .layer {\n position: absolute;\n inset: 0;\n z-index: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--wc-space-2);\n color: var(--wc-color-text-placeholder);\n font-size: var(--wc-font-size-small);\n }\n\n /* 大图预览浮层 */\n .overlay {\n position: fixed;\n inset: 0;\n z-index: var(--wc-z-index-modal);\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--wc-image-mask-bg);\n animation: wc-image-fade var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .stage {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n cursor: grab;\n }\n\n .stage.dragging {\n cursor: grabbing;\n }\n\n .stage img {\n max-width: 90vw;\n max-height: 90vh;\n user-select: none;\n transition: transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .stage.dragging img {\n transition: none;\n }\n\n .toolbar {\n position: absolute;\n left: 50%;\n bottom: var(--wc-space-6);\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: var(--wc-space-1);\n padding: var(--wc-space-2) var(--wc-space-3);\n background: var(--wc-image-tool-bg);\n border-radius: var(--wc-radius-circle);\n backdrop-filter: blur(4px);\n }\n\n .toolbar button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border: none;\n border-radius: 50%;\n background: transparent;\n color: var(--wc-image-tool-color);\n font-size: var(--wc-font-size-small);\n cursor: pointer;\n transition: background var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .toolbar button:hover {\n background: var(--wc-image-tool-bg-hover);\n }\n\n @keyframes wc-image-fade {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n`;\nvar oa = Object.defineProperty, b = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && oa(e, t, r), r;\n};\nconst aa = 0.25, sa = 5, Oe = 0.25, Ht = class Ht extends l {\n constructor() {\n super(...arguments), this.src = \"\", this.alt = \"\", this.fit = \"fill\", this.position = \"center\", this.shape = \"square\", this.lazy = !1, this.preview = !1, this.previewSrc = \"\", this.fallback = \"\", this.status = \"loading\", this.shouldLoad = !1, this.fallbackFailed = !1, this.previewOpen = !1, this.scale = 1, this.rotate = 0, this.x = 0, this.y = 0, this.dragging = !1, this.localize = new m(this), this.overlay = new it(this, {\n requestClose: () => this.requestClosePreview(\"escape\")\n }), this.io = null, this.dragStartX = 0, this.dragStartY = 0;\n }\n connectedCallback() {\n super.connectedCallback(), this.lazy && typeof IntersectionObserver < \"u\" ? (this.io = new IntersectionObserver((e) => {\n e.some((t) => t.isIntersecting) && (this.startLoad(), this.io?.disconnect());\n }), this.io.observe(this)) : this.startLoad(), this.previewOpen && this.overlay.bind();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.io?.disconnect(), this.overlay.unbind();\n }\n willUpdate(e) {\n super.willUpdate(e), e.has(\"src\") && (this.status = \"loading\", this.fallbackFailed = !1);\n }\n updated(e) {\n super.updated(e), e.has(\"previewOpen\") && (this.previewOpen ? (this.dispatchEvent(new CustomEvent(\"wc-preview-open\", { bubbles: !0, composed: !0 })), this.overlay.bind()) : this.overlay.unbind());\n }\n startLoad() {\n this.shouldLoad || (this.shouldLoad = !0);\n }\n onImgLoad() {\n this.status = \"loaded\", this.dispatchEvent(\n new CustomEvent(\"wc-load\", { detail: { src: this.src }, bubbles: !0, composed: !0 })\n );\n }\n onImgError() {\n this.status = \"error\", this.dispatchEvent(\n new CustomEvent(\"wc-error\", { detail: { src: this.src }, bubbles: !0, composed: !0 })\n );\n }\n /** 打开全屏预览(需开启 preview 且加载成功) */\n openPreview() {\n !this.preview || this.status !== \"loaded\" || (this.resetTransform(), this.previewOpen = !0);\n }\n /** 请求关闭预览(发出可取消的 wc-preview-close) */\n requestClosePreview(e = \"api\") {\n if (!this.previewOpen) return;\n this.dispatchEvent(\n new CustomEvent(\"wc-preview-close\", {\n detail: { reason: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) && (this.previewOpen = !1);\n }\n zoomBy(e) {\n const t = Math.round((this.scale + e) * 100) / 100;\n this.scale = Math.min(sa, Math.max(aa, t));\n }\n rotateBy() {\n this.rotate = (this.rotate + 90) % 360;\n }\n resetTransform() {\n this.scale = 1, this.rotate = 0, this.x = 0, this.y = 0;\n }\n onOverlayWheel(e) {\n e.preventDefault(), this.zoomBy(e.deltaY < 0 ? Oe : -Oe);\n }\n onStagePointerDown(e) {\n e.button === 0 && (this.dragging = !0, this.dragStartX = e.clientX - this.x, this.dragStartY = e.clientY - this.y, e.currentTarget.setPointerCapture(e.pointerId));\n }\n onStagePointerMove(e) {\n this.dragging && (this.x = e.clientX - this.dragStartX, this.y = e.clientY - this.dragStartY);\n }\n onStagePointerUp() {\n this.dragging = !1;\n }\n onTriggerKeydown(e) {\n (e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), this.openPreview());\n }\n imgStyle() {\n return `object-fit:${this.fit};object-position:${this.position}`;\n }\n previewStyle() {\n return `transform:translate(${this.x}px, ${this.y}px) scale(${this.scale}) rotate(${this.rotate}deg)`;\n }\n render() {\n const e = this.previewSrc || this.src;\n return c`\n <div class=\"frame\" part=\"base\">\n ${this.shouldLoad && this.status !== \"error\" ? c`<img\n part=\"image\"\n src=${this.src}\n alt=${this.alt}\n style=${this.imgStyle()}\n @load=${this.onImgLoad}\n @error=${this.onImgError}\n />` : \"\"}\n ${this.status === \"error\" && this.fallback && !this.fallbackFailed ? c`<img\n part=\"image\"\n src=${this.fallback}\n alt=${this.alt}\n style=${this.imgStyle()}\n @error=${() => this.fallbackFailed = !0}\n />` : \"\"}\n ${this.status === \"loading\" ? c`<div class=\"layer\">\n <wc-icon name=\"loader\" spin></wc-icon>\n </div>` : \"\"}\n ${this.status === \"error\" && (!this.fallback || this.fallbackFailed) ? c`<div class=\"layer\">\n <wc-icon name=\"image-off\"></wc-icon>\n <span>${this.localize.term(\"image.loadError\")}</span>\n </div>` : \"\"}\n ${this.preview && this.status === \"loaded\" ? c`<div\n class=\"trigger\"\n role=\"button\"\n tabindex=\"0\"\n aria-label=${this.localize.term(\"image.preview\")}\n @click=${() => this.openPreview()}\n @keydown=${this.onTriggerKeydown}\n ></div>` : \"\"}\n </div>\n ${this.previewOpen ? c`<div\n class=\"overlay\"\n part=\"overlay\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=${this.localize.term(\"image.preview\")}\n tabindex=\"-1\"\n @wheel=${this.onOverlayWheel}\n @click=${(t) => {\n t.target === t.currentTarget && this.requestClosePreview(\"overlay\");\n }}\n >\n <div\n class=\"stage ${this.dragging ? \"dragging\" : \"\"}\"\n @pointerdown=${this.onStagePointerDown}\n @pointermove=${this.onStagePointerMove}\n @pointerup=${this.onStagePointerUp}\n @pointercancel=${this.onStagePointerUp}\n >\n <img\n part=\"preview-image\"\n src=${e}\n alt=${this.alt}\n draggable=\"false\"\n style=${this.previewStyle()}\n />\n </div>\n <div class=\"toolbar\" part=\"toolbar\">\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.zoomIn\")}\n @click=${() => this.zoomBy(Oe)}\n >\n <wc-icon name=\"zoom-in\"></wc-icon>\n </button>\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.zoomOut\")}\n @click=${() => this.zoomBy(-Oe)}\n >\n <wc-icon name=\"zoom-out\"></wc-icon>\n </button>\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.rotate\")}\n @click=${() => this.rotateBy()}\n >\n <wc-icon name=\"rotate-cw\"></wc-icon>\n </button>\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.reset\")}\n title=${this.localize.term(\"image.reset\")}\n @click=${() => this.resetTransform()}\n >\n 1:1\n </button>\n <button\n type=\"button\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"image.close\")}\n @click=${() => this.requestClosePreview(\"close-btn\")}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n </div>\n </div>` : \"\"}\n `;\n }\n};\nHt.styles = [d, ra];\nlet v = Ht;\nb([\n i()\n], v.prototype, \"src\");\nb([\n i()\n], v.prototype, \"alt\");\nb([\n i()\n], v.prototype, \"fit\");\nb([\n i()\n], v.prototype, \"position\");\nb([\n i({ reflect: !0 })\n], v.prototype, \"shape\");\nb([\n i({ type: Boolean })\n], v.prototype, \"lazy\");\nb([\n i({ type: Boolean, reflect: !0 })\n], v.prototype, \"preview\");\nb([\n i({ attribute: \"preview-src\" })\n], v.prototype, \"previewSrc\");\nb([\n i()\n], v.prototype, \"fallback\");\nb([\n w()\n], v.prototype, \"status\");\nb([\n w()\n], v.prototype, \"shouldLoad\");\nb([\n w()\n], v.prototype, \"fallbackFailed\");\nb([\n w()\n], v.prototype, \"previewOpen\");\nb([\n w()\n], v.prototype, \"scale\");\nb([\n w()\n], v.prototype, \"rotate\");\nb([\n w()\n], v.prototype, \"x\");\nb([\n w()\n], v.prototype, \"y\");\nb([\n w()\n], v.prototype, \"dragging\");\ncustomElements.get(\"wc-image\") || customElements.define(\"wc-image\", v);\nconst ia = h`\n :host {\n display: block;\n\n /* component 层令牌 */\n --wc-upload-font-size: var(--wc-font-size-medium);\n --wc-upload-radius: var(--wc-radius-medium);\n --wc-upload-dragger-bg: var(--wc-color-bg-container);\n }\n\n .hidden-input {\n display: none;\n }\n\n /* ---- 默认触发按钮 ---- */\n .trigger-wrap {\n display: flex;\n align-items: center;\n gap: var(--wc-space-2);\n }\n\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n height: 32px;\n padding: 0 var(--wc-space-3);\n font-family: inherit;\n font-size: var(--wc-upload-font-size);\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-upload-radius);\n cursor: pointer;\n user-select: none;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .trigger:hover:not(:disabled) {\n border-color: var(--wc-color-primary);\n color: var(--wc-color-primary);\n }\n\n .trigger:disabled {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n\n /* ---- 拖拽区域 ---- */\n .dragger {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-6) var(--wc-space-4);\n background-color: var(--wc-upload-dragger-bg);\n border: 1px dashed var(--wc-color-border);\n border-radius: var(--wc-upload-radius);\n cursor: pointer;\n user-select: none;\n text-align: center;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .dragger:hover:not([aria-disabled='true']),\n .dragger.drag-over {\n border-color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .dragger[aria-disabled='true'] {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n .dragger-icon {\n font-size: 28px;\n color: var(--wc-color-text-placeholder);\n }\n\n .dragger:hover:not([aria-disabled='true']) .dragger-icon,\n .dragger.drag-over .dragger-icon {\n color: var(--wc-color-primary);\n }\n\n .dragger-text {\n margin-top: var(--wc-space-2);\n font-size: var(--wc-upload-font-size);\n color: var(--wc-color-text);\n }\n\n /* ---- 提示文字(tip 插槽) ---- */\n .tip {\n display: inline-block;\n margin-top: var(--wc-space-1);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text-placeholder);\n }\n\n .tip:empty {\n display: none;\n }\n\n /* ---- 文件列表 ---- */\n .list {\n margin: var(--wc-space-2) 0 0;\n padding: 0;\n list-style: none;\n }\n\n .item {\n padding: var(--wc-space-1) var(--wc-space-2);\n border-radius: var(--wc-radius-small);\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .item:hover {\n background-color: var(--wc-color-bg-hover);\n }\n\n .row {\n display: flex;\n align-items: center;\n gap: var(--wc-space-2);\n min-height: 24px;\n }\n\n .type-icon {\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n }\n\n .item.success .type-icon {\n color: var(--wc-color-success);\n }\n\n .item.error .type-icon {\n color: var(--wc-color-error);\n }\n\n .name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--wc-upload-font-size);\n color: var(--wc-color-text);\n }\n\n .name.link {\n color: var(--wc-color-primary);\n cursor: pointer;\n }\n\n .name.link:hover {\n text-decoration: underline;\n }\n\n .size,\n .percent,\n .fail-text {\n flex-shrink: 0;\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text-placeholder);\n }\n\n .fail-text {\n color: var(--wc-color-error);\n }\n\n .status-icon {\n font-size: 16px;\n flex-shrink: 0;\n }\n\n .status-icon.success {\n color: var(--wc-color-success);\n }\n\n .status-icon.error {\n color: var(--wc-color-error);\n }\n\n .status-icon.waiting {\n color: var(--wc-color-text-placeholder);\n }\n\n .icon-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n background: transparent;\n border: none;\n cursor: pointer;\n }\n\n .remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-circle);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n flex-shrink: 0;\n }\n\n /* wc-icon 的 :host 自带 text 色,这里让叉号跟随按钮的灰阶 */\n .remove wc-icon {\n color: inherit;\n }\n\n .remove:hover {\n color: var(--wc-color-text-secondary);\n }\n\n .bar {\n margin: var(--wc-space-1) 0 0 var(--wc-space-6);\n }\n`;\nvar na = Object.defineProperty, E = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, n; a >= 0; a--)\n (n = o[a]) && (r = n(e, t, r) || r);\n return r && na(e, t, r), r;\n};\nconst Wt = class Wt extends l {\n constructor() {\n super(...arguments), this.action = \"\", this.name = \"file\", this.accept = \"\", this.multiple = !1, this.max = 0, this.draggable = !1, this.autoUpload = !0, this.disabled = !1, this.requestMethod = null, this.files = [], this.dragOver = !1, this.localize = new m(this), this.xhrMap = /* @__PURE__ */ new Map(), this.uidCounter = 0;\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n for (const e of this.xhrMap.values()) e.abort();\n this.xhrMap.clear();\n }\n /* ---------- 公开方法 ---------- */\n /** 手动上传全部 waiting 状态的文件(autoUpload=false 时使用) */\n submit() {\n for (const e of this.files)\n e.status === \"waiting\" && this.startUpload(e);\n }\n /** 清空文件列表并中断进行中的上传 */\n clearFiles() {\n for (const e of this.xhrMap.values()) e.abort();\n this.xhrMap.clear(), this.files.length && (this.files = [], this.emitChange());\n }\n nextUid() {\n return this.uidCounter += 1, `wc-upload-file-${this.uidCounter}`;\n }\n /* ---------- 选择与拖拽 ---------- */\n pick() {\n if (this.disabled) return;\n this.shadowRoot?.querySelector('input[type=\"file\"]')?.click();\n }\n onInputChange(e) {\n const t = e.target;\n t.files?.length && this.addFiles(t.files), t.value = \"\";\n }\n onDragOver(e) {\n e.preventDefault(), this.disabled || (this.dragOver = !0);\n }\n onDragLeave() {\n this.dragOver = !1;\n }\n onDrop(e) {\n e.preventDefault(), this.dragOver = !1, !this.disabled && e.dataTransfer?.files?.length && this.addFiles(e.dataTransfer.files);\n }\n onDraggerKeydown(e) {\n (e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), this.pick());\n }\n addFiles(e) {\n const t = Array.from(e);\n if (!t.length) return;\n let s = t;\n if (this.max > 0) {\n const a = this.max - this.files.length;\n if (a < t.length) {\n const n = t.slice(Math.max(0, a));\n this.dispatchEvent(\n new CustomEvent(\"wc-exceed\", {\n detail: { files: n, max: this.max },\n bubbles: !0,\n composed: !0\n })\n ), s = t.slice(0, Math.max(0, a));\n }\n }\n if (!s.length) return;\n const r = s.map((a) => ({\n uid: this.nextUid(),\n raw: a,\n name: a.name,\n size: a.size,\n percent: 0,\n status: \"waiting\"\n }));\n if (this.files = [...this.files, ...r], this.dispatchEvent(\n new CustomEvent(\"wc-select\", {\n detail: { files: s },\n bubbles: !0,\n composed: !0\n })\n ), this.emitChange(), this.autoUpload)\n for (const a of r) this.startUpload(a);\n }\n /* ---------- 上传流程 ---------- */\n startUpload(e) {\n if (!(this.disabled || e.status === \"uploading\")) {\n if (!this.action && !this.requestMethod) {\n console.warn(\"[wc-upload] 未配置 action 或 requestMethod,文件保持待上传状态\");\n return;\n }\n this.updateFile(e, { status: \"uploading\", percent: 0 }), this.requestMethod ? this.requestMethod(e, {\n onProgress: (t) => this.handleProgress(e, t),\n onSuccess: (t) => this.handleSuccess(e, t),\n onError: (t) => this.handleError(e, t)\n }) : this.uploadWithXhr(e);\n }\n }\n uploadWithXhr(e) {\n const t = new XMLHttpRequest();\n this.xhrMap.set(e.uid, t);\n const s = new FormData();\n s.append(this.name, e.raw), t.open(\"POST\", this.action), t.upload.onprogress = (r) => {\n r.lengthComputable && this.handleProgress(e, r.loaded / r.total * 100);\n }, t.onload = () => {\n if (t.status >= 200 && t.status < 300) {\n let r = t.responseText;\n try {\n r = JSON.parse(t.responseText);\n } catch {\n }\n this.handleSuccess(e, r);\n } else\n this.handleError(e, `HTTP ${t.status}`);\n }, t.onerror = () => this.handleError(e, \"network error\"), t.send(s);\n }\n handleProgress(e, t) {\n const s = Math.min(100, Math.max(0, Math.round(t)));\n this.updateFile(e, { percent: s }), this.dispatchEvent(\n new CustomEvent(\"wc-progress\", {\n detail: { file: this.snapshot(e), percent: s },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleSuccess(e, t) {\n this.xhrMap.delete(e.uid);\n const s = typeof t?.url == \"string\" ? t.url : void 0;\n this.updateFile(e, { status: \"success\", percent: 100, response: t, url: s }), this.dispatchEvent(\n new CustomEvent(\"wc-success\", {\n detail: { file: this.snapshot(e), response: t },\n bubbles: !0,\n composed: !0\n })\n ), this.emitChange();\n }\n handleError(e, t) {\n this.xhrMap.delete(e.uid), this.updateFile(e, { status: \"error\" }), this.dispatchEvent(\n new CustomEvent(\"wc-error\", {\n detail: { file: this.snapshot(e), message: t },\n bubbles: !0,\n composed: !0\n })\n ), this.emitChange();\n }\n /* ---------- 列表操作 ---------- */\n removeFile(e) {\n const t = this.files[e];\n !t || !this.dispatchEvent(\n new CustomEvent(\"wc-remove\", {\n detail: { file: t, index: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) || (this.xhrMap.get(t.uid)?.abort(), this.xhrMap.delete(t.uid), this.files = this.files.filter((r, a) => a !== e), this.emitChange());\n }\n retry(e) {\n e.status === \"error\" && this.startUpload(e);\n }\n onNameClick(e) {\n e.url && this.dispatchEvent(\n new CustomEvent(\"wc-preview\", { detail: { file: e }, bubbles: !0, composed: !0 })\n );\n }\n updateFile(e, t) {\n this.files = this.files.map((s) => s.uid === e.uid ? { ...s, ...t } : s);\n }\n snapshot(e) {\n return this.files.find((t) => t.uid === e.uid) ?? e;\n }\n emitChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { files: [...this.files] },\n bubbles: !0,\n composed: !0\n })\n );\n }\n formatSize(e) {\n return e == null ? \"\" : e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / 1024 / 1024).toFixed(1)} MB`;\n }\n render() {\n return c`\n <div class=\"upload\" part=\"base\">\n <input\n class=\"hidden-input\"\n type=\"file\"\n accept=${this.accept}\n ?multiple=${this.multiple}\n ?disabled=${this.disabled}\n @change=${this.onInputChange}\n />\n ${this.draggable ? c`<div\n class=\"dragger ${this.dragOver ? \"drag-over\" : \"\"}\"\n part=\"dragger\"\n role=\"button\"\n tabindex=${this.disabled ? -1 : 0}\n aria-disabled=${this.disabled}\n @click=${this.pick}\n @keydown=${this.onDraggerKeydown}\n @dragover=${this.onDragOver}\n @dragleave=${this.onDragLeave}\n @drop=${this.onDrop}\n >\n <wc-icon name=\"upload\" class=\"dragger-icon\"></wc-icon>\n <span class=\"dragger-text\">${this.localize.term(\"upload.clickOrDrag\")}</span>\n <span class=\"tip\"><slot name=\"tip\"></slot></span>\n </div>` : c`<div class=\"trigger-wrap\">\n <button\n type=\"button\"\n class=\"trigger\"\n part=\"trigger\"\n ?disabled=${this.disabled}\n @click=${this.pick}\n >\n <wc-icon name=\"upload\"></wc-icon>\n <span>${this.localize.term(\"upload.upload\")}</span>\n </button>\n <span class=\"tip\"><slot name=\"tip\"></slot></span>\n </div>`}\n ${this.files.length ? c`<ul class=\"list\" part=\"list\">\n ${this.files.map(\n (e, t) => c`\n <li class=\"item ${e.status}\" part=\"item\">\n <div class=\"row\">\n <wc-icon name=\"file\" class=\"type-icon\"></wc-icon>\n <span\n class=\"name ${e.url ? \"link\" : \"\"}\"\n title=${e.name}\n role=${e.url ? \"button\" : void 0}\n tabindex=${e.url ? 0 : void 0}\n @click=${() => this.onNameClick(e)}\n @keydown=${(s) => {\n e.url && (s.key === \"Enter\" || s.key === \" \") && (s.preventDefault(), this.onNameClick(e));\n }}\n >${e.name}</span\n >\n ${e.status === \"uploading\" ? c`<span class=\"percent\">${Math.round(e.percent ?? 0)}%</span>` : e.status === \"error\" ? c`<span class=\"fail-text\"\n >${this.localize.term(\"upload.failed\")}</span\n >` : c`<span class=\"size\">${this.formatSize(e.size)}</span>`}\n ${e.status === \"success\" ? c`<wc-icon name=\"check\" class=\"status-icon success\"></wc-icon>` : e.status === \"error\" ? c`<button\n type=\"button\"\n class=\"icon-btn\"\n title=${this.localize.term(\"upload.retry\")}\n aria-label=${this.localize.term(\"upload.retry\")}\n @click=${() => this.retry(e)}\n >\n <wc-icon name=\"error\" class=\"status-icon error\"></wc-icon>\n </button>` : e.status === \"waiting\" ? c`<wc-icon\n name=\"loader\"\n spin\n class=\"status-icon waiting\"\n ></wc-icon>` : \"\"}\n <button\n type=\"button\"\n class=\"remove\"\n part=\"remove-button\"\n aria-label=${this.localize.term(\"upload.remove\")}\n @click=${() => this.removeFile(t)}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n </div>\n ${e.status === \"uploading\" ? c`<wc-progress\n class=\"bar\"\n value=${e.percent ?? 0}\n stroke-width=\"4\"\n ?show-label=${!1}\n ></wc-progress>` : \"\"}\n </li>\n `\n )}\n </ul>` : \"\"}\n </div>\n `;\n }\n};\nWt.styles = [d, ia];\nlet f = Wt;\nE([\n i()\n], f.prototype, \"action\");\nE([\n i()\n], f.prototype, \"name\");\nE([\n i()\n], f.prototype, \"accept\");\nE([\n i({ type: Boolean })\n], f.prototype, \"multiple\");\nE([\n i({ type: Number })\n], f.prototype, \"max\");\nE([\n i({ type: Boolean, reflect: !0 })\n], f.prototype, \"draggable\");\nE([\n i({\n type: Boolean,\n reflect: !0,\n attribute: \"auto-upload\",\n converter: (o) => o == null ? !0 : o !== \"false\"\n })\n], f.prototype, \"autoUpload\");\nE([\n i({ type: Boolean, reflect: !0 })\n], f.prototype, \"disabled\");\nE([\n i({ attribute: !1 })\n], f.prototype, \"requestMethod\");\nE([\n w()\n], f.prototype, \"files\");\nE([\n w()\n], f.prototype, \"dragOver\");\ncustomElements.get(\"wc-upload\") || customElements.define(\"wc-upload\", f);\nconst ca = p(\"arrow-left\", '<path d=\"M19 12H5\"/><path d=\"m12 19-7-7 7-7\"/>'), la = p(\n \"arrow-right\",\n '<path d=\"M5 12h14\"/><path d=\"m12 5 7 7-7 7\"/>'\n), da = p(\n \"calendar\",\n '<rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"/><path d=\"M16 2v4\"/><path d=\"M8 2v4\"/><path d=\"M3 10h18\"/>'\n), ha = p(\"check\", '<polyline points=\"20 6 9 17 4 12\"/>'), pa = p(\"chevron-down\", '<path d=\"m6 9 6 6 6-6\"/>'), ua = p(\"chevron-left\", '<path d=\"m15 18-6-6 6-6\"/>'), va = p(\"chevron-right\", '<path d=\"m9 18 6-6-6-6\"/>'), wa = p(\"chevron-up\", '<path d=\"m18 15-6-6-6 6\"/>'), ba = p(\"close\", '<path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/>'), ga = p(\n \"error\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"/>'\n), ma = p(\n \"file\",\n '<path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"/><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"/>'\n), fa = p(\n \"image-off\",\n '<path d=\"m2 2 20 20\"/><path d=\"M10.41 10.17a2 2 0 0 1-2.24 2.24\"/><path d=\"M21 15V5a2 2 0 0 0-2-2H7\"/><path d=\"M3.59 3.59A2 2 0 0 0 3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.41-.59\"/><path d=\"m21 15-5-5L5 21\"/>'\n), ya = p(\n \"info\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"/>'\n), xa = p(\"loader\", '<path d=\"M21 12a9 9 0 1 1-6.219-8.56\"/>'), ka = p(\"minus\", '<path d=\"M5 12h14\"/>'), $a = p(\"plus\", '<path d=\"M5 12h14\"/><path d=\"M12 5v14\"/>'), za = p(\n \"rotate-cw\",\n '<path d=\"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8\"/><path d=\"M21 3v5h-5\"/>'\n), Ca = p(\n \"search\",\n '<circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.3-4.3\"/>'\n), Ea = p(\n \"upload\",\n '<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/><polyline points=\"17 8 12 3 7 8\"/><line x1=\"12\" x2=\"12\" y1=\"3\" y2=\"15\"/>'\n), Sa = p(\n \"warning\",\n '<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"/>'\n), _a = p(\n \"zoom-in\",\n '<circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.35-4.35\"/><path d=\"M11 8v6\"/><path d=\"M8 11h6\"/>'\n), Oa = p(\n \"zoom-out\",\n '<circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.35-4.35\"/><path d=\"M8 11h6\"/>'\n), Pa = [\n ca,\n la,\n da,\n ha,\n pa,\n ua,\n va,\n wa,\n ba,\n ga,\n ma,\n fa,\n ya,\n xa,\n ka,\n $a,\n za,\n Ca,\n Ea,\n Sa,\n _a,\n Oa\n];\nfunction Ya() {\n for (const o of Pa)\n yr(o.name, o.svg);\n}\nconst Ma = \"wc-theme-change\", et = \"wc-theme\";\nlet ge = \"light\", ve = null;\nfunction La() {\n return typeof window < \"u\" && typeof window.matchMedia == \"function\" && window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n}\nfunction ja() {\n return ge === \"auto\" ? La() : ge;\n}\nfunction Ka() {\n return ge;\n}\nfunction Da(o, e) {\n if (o !== \"light\" && o !== \"dark\" && o !== \"auto\")\n throw new Error(`[wc] 无效主题: \"${String(o)}\",可选 light | dark | auto`);\n ge = o, typeof localStorage < \"u\" && (e?.persist ? localStorage.setItem(et, o) : localStorage.removeItem(et)), Ia(), tt();\n}\nfunction Ha() {\n let o = null;\n typeof localStorage < \"u\" && (o = localStorage.getItem(et)), Da(o === \"light\" || o === \"dark\" || o === \"auto\" ? o : \"auto\");\n}\nfunction Ia() {\n const o = ge === \"auto\" && typeof window.matchMedia == \"function\";\n o && !ve ? (ve = window.matchMedia(\"(prefers-color-scheme: dark)\"), ve.addEventListener(\"change\", tt)) : !o && ve && (ve.removeEventListener(\"change\", tt), ve = null);\n}\nfunction tt() {\n const o = ja();\n typeof document < \"u\" && (document.documentElement.dataset.theme = o), document.dispatchEvent(\n new CustomEvent(Ma, {\n detail: { theme: ge, effective: o },\n bubbles: !0,\n composed: !0\n })\n );\n}\nconst Wa = ':root{--wc-color-brand-50: #f2f7ff;--wc-color-brand-100: #d9e8ff;--wc-color-brand-200: #b5d0ff;--wc-color-brand-300: #8cb8ff;--wc-color-brand-400: #5f96f7;--wc-color-brand-500: #0052d9;--wc-color-brand-600: #0045c2;--wc-color-brand-700: #00359e;--wc-color-brand-800: #002a7d;--wc-color-success-light: #e3f9e9;--wc-color-success: #2ba471;--wc-color-success-dark: #1f895c;--wc-color-warning-light: #fdf3e6;--wc-color-warning: #e37318;--wc-color-warning-dark: #c25c0a;--wc-color-error-light: #fdecee;--wc-color-error: #d54941;--wc-color-error-dark: #b5362f;--wc-color-info-light: #f2f7ff;--wc-color-info: #0052d9;--wc-color-info-dark: #0045c2;--wc-color-gray-50: #f5f7fa;--wc-color-gray-100: #e7eaee;--wc-color-gray-200: #d5dbe3;--wc-color-gray-300: #c2c9d4;--wc-color-gray-400: #a6b0bf;--wc-color-gray-500: #8a94a6;--wc-color-gray-600: #6b7687;--wc-color-gray-700: #4b5563;--wc-color-gray-800: #2f3540;--wc-color-gray-900: #1b1f27;--wc-font-family: -apple-system, blinkmacsystemfont, \"Segoe UI\", roboto, \"Helvetica Neue\", arial, \"PingFang SC\", \"Microsoft YaHei\", sans-serif;--wc-font-family-mono: ui-monospace, sfmono-regular, \"SF Mono\", menlo, consolas, \"Liberation Mono\", monospace;--wc-font-size-xsmall: 12px;--wc-font-size-small: 13px;--wc-font-size-medium: 14px;--wc-font-size-large: 16px;--wc-font-size-xlarge: 20px;--wc-font-size-h1: 24px;--wc-font-size-h2: 20px;--wc-font-size-h3: 18px;--wc-font-weight-normal: 400;--wc-font-weight-medium: 500;--wc-font-weight-semibold: 600;--wc-font-weight-bold: 700;--wc-line-height-base: 1.5;--wc-line-height-compact: 1.25;--wc-space-1: 4px;--wc-space-2: 8px;--wc-space-3: 12px;--wc-space-4: 16px;--wc-space-5: 20px;--wc-space-6: 24px;--wc-space-8: 32px;--wc-space-10: 40px;--wc-space-12: 48px;--wc-radius-none: 0;--wc-radius-small: 3px;--wc-radius-medium: 4px;--wc-radius-large: 8px;--wc-radius-xlarge: 10px;--wc-radius-round: 999px;--wc-radius-circle: 50%;--wc-shadow-1: 0 1px 2px rgb(15 23 42 / 6%), 0 1px 3px rgb(15 23 42 / 10%);--wc-shadow-2: 0 1px 2px rgb(15 23 42 / 6%), 0 4px 12px -2px rgb(15 23 42 / 12%);--wc-shadow-3: 0 4px 8px -2px rgb(15 23 42 / 8%), 0 12px 32px -4px rgb(15 23 42 / 18%);--wc-duration-fast: .15s;--wc-duration-medium: .3s;--wc-duration-slow: 1s;--wc-easing-standard: cubic-bezier(.4, 0, .2, 1);--wc-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--wc-z-index-dropdown: 1000;--wc-z-index-sticky: 1100;--wc-z-index-modal: 1200;--wc-z-index-drawer: 1300;--wc-z-index-message: 1500;--wc-z-index-tooltip: 1600;--wc-color-primary: var(--wc-color-brand-500);--wc-color-primary-hover: var(--wc-color-brand-600);--wc-color-primary-active: var(--wc-color-brand-700);--wc-color-primary-light: var(--wc-color-brand-50);--wc-color-text-anti: #ffffff;--wc-color-success-bg: var(--wc-color-success-light);--wc-color-warning-bg: var(--wc-color-warning-light);--wc-color-error-bg: var(--wc-color-error-light);--wc-color-info-bg: var(--wc-color-info-light);--wc-color-text: var(--wc-color-gray-900);--wc-color-text-secondary: var(--wc-color-gray-600);--wc-color-text-placeholder: var(--wc-color-gray-400);--wc-color-text-disabled: var(--wc-color-gray-500);--wc-color-border: var(--wc-color-gray-200);--wc-color-border-strong: var(--wc-color-gray-500);--wc-color-bg: var(--wc-color-gray-50);--wc-color-bg-container: #ffffff;--wc-color-bg-container-secondary: var(--wc-color-gray-50);--wc-color-bg-hover: var(--wc-color-gray-100);--wc-color-bg-disabled: var(--wc-color-gray-100);--wc-color-mask: rgb(0 0 0 / 60%);--wc-color-overlay-hover: rgb(0 0 0 / 8%);--wc-color-focus-ring: var(--wc-color-brand-300)}[data-theme=dark]{color-scheme:dark;--wc-color-primary: var(--wc-color-brand-300);--wc-color-primary-hover: var(--wc-color-brand-200);--wc-color-primary-active: var(--wc-color-brand-100);--wc-color-primary-light: var(--wc-color-brand-800);--wc-color-text-anti: #1b1f27;--wc-color-success: #4fce8e;--wc-color-success-bg: #103524;--wc-color-warning: #f5a962;--wc-color-warning-bg: #3c2a15;--wc-color-error: #e76f68;--wc-color-error-bg: #442423;--wc-color-info: var(--wc-color-brand-300);--wc-color-info-bg: var(--wc-color-brand-800);--wc-color-text: var(--wc-color-gray-50);--wc-color-text-secondary: var(--wc-color-gray-400);--wc-color-text-placeholder: var(--wc-color-gray-600);--wc-color-text-disabled: var(--wc-color-gray-500);--wc-color-border: var(--wc-color-gray-700);--wc-color-border-strong: var(--wc-color-gray-500);--wc-color-bg: var(--wc-color-gray-900);--wc-color-bg-container: #242832;--wc-color-bg-container-secondary: #2f3540;--wc-color-bg-hover: var(--wc-color-gray-800);--wc-color-bg-disabled: var(--wc-color-gray-700);--wc-color-mask: rgb(0 0 0 / 70%);--wc-color-overlay-hover: rgb(255 255 255 / 12%);--wc-color-focus-ring: var(--wc-color-brand-200);--wc-shadow-1: 0 1px 2px rgb(0 0 0 / 40%), 0 1px 3px rgb(0 0 0 / 30%);--wc-shadow-2: 0 1px 2px rgb(0 0 0 / 40%), 0 4px 12px -2px rgb(0 0 0 / 45%);--wc-shadow-3: 0 4px 8px -2px rgb(0 0 0 / 40%), 0 12px 32px -4px rgb(0 0 0 / 50%)}', Xa = \"*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}body{font-family:var(--wc-font-family);font-size:var(--wc-font-size-medium);line-height:var(--wc-line-height-base);color:var(--wc-color-text);background-color:var(--wc-color-bg-container);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6{font-weight:var(--wc-font-weight-semibold);line-height:var(--wc-line-height-compact)}h1{font-size:var(--wc-font-size-h1)}h2{font-size:var(--wc-font-size-h2)}h3{font-size:var(--wc-font-size-h3)}h4{font-size:var(--wc-font-size-large)}h5,h6{font-size:var(--wc-font-size-medium)}ul,ol{padding:0;list-style:none}a{color:var(--wc-color-primary);text-decoration:none;transition:color var(--wc-duration-fast) var(--wc-easing-standard)}a:hover{color:var(--wc-color-primary-hover)}a:active{color:var(--wc-color-primary-active)}a[disabled]{color:var(--wc-color-text-disabled);cursor:not-allowed}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}img{border-style:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{background-color:transparent;border:none}input::placeholder,textarea::placeholder{color:var(--wc-color-text-placeholder)}textarea{resize:vertical}code,kbd,samp,pre{font-family:var(--wc-font-family-mono);font-size:var(--wc-font-size-small)}table{border-collapse:collapse;border-spacing:0}th{font-weight:var(--wc-font-weight-medium);text-align:inherit}fieldset{border:none;padding:0}hr{border:none;border-top:1px solid var(--wc-color-border)}blockquote,figure,dd,dl{margin:0}:focus-visible{outline:2px solid var(--wc-color-focus-ring);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background:var(--wc-color-primary-light);color:var(--wc-color-text)}\";\nexport {\n Ye as ARROW_INSET,\n N as FormAssociatedMixin,\n Xe as LANGUAGE_CHANGE_EVENT,\n m as LocalizeController,\n F as POSITION_GAP,\n Ma as THEME_CHANGE_EVENT,\n _ as WcIcon,\n ca as arrowLeft,\n la as arrowRight,\n d as baseStyles,\n Pa as builtinIcons,\n da as calendar,\n ha as check,\n pa as chevronDown,\n ua as chevronLeft,\n va as chevronRight,\n wa as chevronUp,\n ba as close,\n lr as computePosition,\n p as createIcon,\n ga as error,\n ma as file,\n ja as getEffectiveTheme,\n Ba as getIcon,\n Aa as getIconLibrary,\n Sr as getLocale,\n Va as getRegisteredLocales,\n _r as getTerm,\n Ka as getTheme,\n fa as imageOff,\n ya as info,\n Ha as initTheme,\n xa as loader,\n Ua as message,\n ka as minus,\n fr as onIconRegister,\n $a as plus,\n Ya as registerBuiltinIcons,\n yr as registerIcon,\n xr as registerIconLibrary,\n Ra as registerLocale,\n Xa as resetCss,\n kr as resolveIcon,\n ar as resolveLocale,\n za as rotateCw,\n Ca as search,\n Fa as setLocale,\n Da as setTheme,\n nt as splitPlacement,\n Wa as tokensCss,\n Ea as upload,\n Sa as warning,\n ze as wcAvatar,\n oe as wcBadge,\n Me as wcBreadcrumb,\n ct as wcBreadcrumbItem,\n S as wcButton,\n He as wcButtonGroup,\n L as wcCard,\n W as wcCheckbox,\n Ce as wcCol,\n k as wcDatePicker,\n I as wcDialog,\n be as wcDivider,\n O as wcDrawer,\n Ze as wcEmpty,\n Ge as wcForm,\n $ as wcFormItem,\n v as wcImage,\n x as wcInput,\n y as wcInputNumber,\n ae as wcList,\n Qe as wcListItem,\n ee as wcMessage,\n G as wcOption,\n M as wcPagination,\n P as wcPopconfirm,\n T as wcProgress,\n we as wcRadio,\n J as wcRow,\n D as wcSelect,\n V as wcSlider,\n Z as wcSpace,\n X as wcSwitch,\n re as wcTab,\n C as wcTable,\n Pe as wcTabs,\n U as wcTag,\n Q as wcText,\n z as wcTextarea,\n te as wcTooltip,\n f as wcUpload,\n _a as zoomIn,\n Oa as zoomOut\n};\n//# sourceMappingURL=index.es.js.map\n"],"names":["h","br","gr","se","lt","l","c","S","i","mr","dt","He","rt","ot","Ve","We","fr","or","yr","Ba","xr","Aa","kr","g","$r","zr","ie","ht","u","wr","_","w","N","t","Cr","Er","Xe","H","$e","Ra","sr","Fa","Sr","ar","_r","Va","m","Or","Pr","Mr","q","pt","x","Lr","jr","Dr","Y","ut","z","Ir","Tr","Le","vt","W","Nr","qr","at","wt","we","Br","Ar","je","bt","X","Rr","Fr","De","gt","G","Vr","Ur","Yr","me","mt","D","Kr","Hr","Wr","Ee","ft","V","Xr","Gr","Zr","j","yt","Jr","Qr","eo","B","Jt","ke","Ue","Qt","xt","s","r","a","n","_e","k","ir","kt","Ge","to","A","$t","$","ro","oo","st","zt","be","ao","so","Se","Ct","U","io","no","nr","co","Et","ze","lo","ho","Ie","po","St","Z","cr","uo","fe","_t","J","Ot","Ce","vo","wo","Pt","Q","bo","it","go","mo","ye","Mt","I","fo","yo","ne","xo","Lt","O","ko","$o","Ne","zo","jt","ee","R","Co","ue","Ua","F","Ye","nt","er","tr","Ke","lr","he","pe","Xt","Fe","Gt","Zt","hr","pr","ur","vr","Eo","So","qe","_o","Po","Dt","te","Lo","ce","jo","It","P","Do","Io","To","Be","Tt","re","No","qo","Nt","Pe","Ao","Ro","qt","Me","Fo","dr","ct","Vo","Uo","le","Bt","M","Yo","Ko","Ae","At","oe","Ho","Rt","Ze","Wo","Xo","xe","Je","rr","Ft","T","Go","Zo","de","Vt","L","Qo","Re","Ut","ae","Yt","Qe","K","Kt","C","b","Oe","Ht","v","E","Wt","f","va","wa","ba","ga","Sa","_a","Oa","Ya","Ma","et","ge","ve","La","ja","Ka","Da","Ia","tt","Ha","Wa","Xa"],"mappings":";;;AAGK,MAAC,IAAIA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GA4BPC,KAAKD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAA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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../core/dist/index.es.js"],"sourcesContent":["import { css as h, LitElement as d, nothing as u, html as c } from \"lit\";\nimport { property as n, state as g } from \"lit/decorators.js\";\nimport { unsafeSVG as Ar } from \"lit/directives/unsafe-svg.js\";\nconst p = h`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n display: inline-block;\n font-family: var(--wc-font-family);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-line-height-base);\n color: var(--wc-color-text);\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n :focus-visible {\n outline: 2px solid var(--wc-color-focus-ring);\n outline-offset: 2px;\n }\n\n :focus:not(:focus-visible) {\n outline: none;\n }\n`, ht = /* @__PURE__ */ new Map(), pt = /* @__PURE__ */ new Map(), Je = /* @__PURE__ */ new Map(), rt = /* @__PURE__ */ new Set();\nfunction Ir(o) {\n return rt.add(o), () => rt.delete(o);\n}\nfunction fr() {\n for (const o of [...rt]) o();\n}\nfunction Lr(o, e) {\n ht.set(o, e), fr();\n}\nfunction ba(o) {\n return ht.get(o);\n}\nfunction Tr(o, e) {\n pt.set(o, e), fr();\n}\nfunction ma(o) {\n return pt.get(o);\n}\nfunction i(o, e, t = \"0 0 24 24\") {\n return {\n name: o,\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"${t}\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${e}</svg>`\n };\n}\nTr(\"default\", {\n resolver: (o) => ht.get(o) ?? \"\"\n});\nasync function Dr(o, e) {\n const t = pt.get(o);\n if (!t)\n return \"\";\n const s = `${o}:${e}`;\n let r = Je.get(s);\n r || (r = Promise.resolve(t.resolver(e)).catch((l) => \"\"), Je.set(s, r));\n const a = await r;\n if (!a)\n return Je.delete(s), \"\";\n if (t.mutator && typeof DOMParser < \"u\") {\n const v = new DOMParser().parseFromString(a, \"text/html\").querySelector(\"svg\");\n if (v)\n return t.mutator(v), v.outerHTML;\n }\n return a;\n}\nconst Vr = h`\n :host {\n display: inline-flex;\n /*\n * 覆盖 baseStyles 的 :host { color: var(--wc-color-text) }——组件自身 :host\n * 声明的优先级高于继承,不改为 inherit 的话,图标放进实色按钮等深色上下文\n * 时会被强制成文字色而非跟随 currentColor(currentColor → stroke 继承链断裂)。\n */\n color: inherit;\n /* 尺寸默认 1em,跟随 font-size 缩放;颜色继承 currentColor */\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n line-height: 1;\n }\n\n [part='base'] {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n }\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n /* 不设 fill:描边图标由 SVG 根的 fill=\"none\" 决定(CSS 会覆盖 presentation attribute,\n 设 fill: currentColor 会把闭合形状整体填充导致发糊);填充型图标由各自 SVG 声明。\n 颜色统一走 color → stroke=\"currentColor\" 继承。 */\n color: currentColor;\n pointer-events: none;\n }\n\n :host([spin]) svg,\n :host([pulse]) svg {\n transform-origin: center;\n animation: wc-spin var(--wc-duration-slow, 1s) linear infinite;\n }\n\n /* pulse:旋转 + 缓动呼吸感,用于加载中区分度更高的场景 */\n :host([pulse]) svg {\n animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);\n }\n\n @keyframes wc-spin {\n from {\n rotate: 0deg;\n }\n to {\n rotate: 360deg;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n :host([spin]) svg,\n :host([pulse]) svg {\n animation: none;\n }\n }\n`;\nvar jr = Object.defineProperty, pe = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && jr(e, t, r), r;\n};\nconst ft = class ft extends d {\n constructor() {\n super(...arguments), this.name = \"\", this.src = \"\", this.library = \"default\", this.label = \"\", this.spin = !1, this.pulse = !1, this.svg = \"\", this.requestId = 0;\n }\n willUpdate(e) {\n (e.has(\"src\") || e.has(\"name\") || e.has(\"library\")) && this.loadIcon();\n }\n disconnectedCallback() {\n this.unwatchRegister?.();\n }\n async loadIcon() {\n this.unwatchRegister?.(), this.unwatchRegister = void 0;\n const e = ++this.requestId, t = this.name && !this.src ? Ir(() => {\n this.loadIcon();\n }) : null;\n let s = \"\";\n if (this.src ? s = await this.fetchSrc(this.src) : this.name && (s = await Dr(this.library, this.name)), e !== this.requestId) {\n t?.();\n return;\n }\n s || !t ? t?.() : this.unwatchRegister = t, this.svg = s;\n }\n async fetchSrc(e) {\n if (typeof fetch != \"function\")\n return \"\";\n try {\n const t = await fetch(e);\n return t.ok ? await t.text() : \"\";\n } catch {\n return \"\";\n }\n }\n render() {\n return c`\n <span\n part=\"base\"\n role=${this.label ? \"img\" : \"presentation\"}\n aria-label=${this.label || u}\n aria-hidden=${this.label ? u : \"true\"}\n >${this.svg ? Ar(this.svg) : u}</span\n >\n `;\n }\n};\nft.styles = [p, Vr];\nlet I = ft;\npe([\n n()\n], I.prototype, \"name\");\npe([\n n()\n], I.prototype, \"src\");\npe([\n n()\n], I.prototype, \"library\");\npe([\n n()\n], I.prototype, \"label\");\npe([\n n({ type: Boolean, reflect: !0 })\n], I.prototype, \"spin\");\npe([\n n({ type: Boolean, reflect: !0 })\n], I.prototype, \"pulse\");\npe([\n g()\n], I.prototype, \"svg\");\ncustomElements.get(\"wc-icon\") || customElements.define(\"wc-icon\", I);\nconst Hr = h`\n :host {\n display: inline-block;\n /* component 层令牌:引用 semantic 层,允许按实例覆盖 */\n --wc-button-height: 32px;\n --wc-button-padding-x: var(--wc-space-4);\n --wc-button-font-size: var(--wc-font-size-medium);\n --wc-button-radius: var(--wc-radius-medium);\n }\n\n :host([size='small']) {\n --wc-button-height: 24px;\n --wc-button-padding-x: var(--wc-space-2);\n --wc-button-font-size: var(--wc-font-size-small);\n }\n\n :host([size='large']) {\n --wc-button-height: 40px;\n --wc-button-padding-x: 20px;\n --wc-button-font-size: var(--wc-font-size-large);\n }\n\n :host([block]) {\n display: block;\n width: 100%;\n }\n\n .button {\n /* 波纹 span 需按按钮定位且裁剪在圆角内;outline 聚焦环不受 overflow 影响 */\n position: relative;\n overflow: hidden;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-button-height);\n padding: 0 var(--wc-button-padding-x);\n border: 1px solid transparent;\n border-radius: var(--wc-button-radius);\n font-family: inherit;\n font-size: var(--wc-button-font-size);\n line-height: 1;\n cursor: pointer;\n user-select: none;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 聚焦环 offset 可被外层上下文覆写(如 button-group 内改为 -2px 内嵌,\n 避免光环叠在相邻按钮上);同名规则晚于 baseStyles 生效 */\n :focus-visible {\n outline-offset: var(--wc-button-focus-ring-offset, 2px);\n }\n\n .button:disabled {\n cursor: not-allowed;\n }\n\n /*\n * 图标容器必须显式 flex 居中:默认 inline 的 span 内部按行内盒基线摆放\n * inline-flex 图标,基线取图标底边,行盒被字体 descent 撑高 → 图标偏移 1-2px。\n * z-index: 1 保证内容在波纹之上。\n */\n .icon {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .content {\n position: relative;\n z-index: 1;\n }\n\n .icon[hidden] {\n display: none;\n }\n\n /* 纯图标按钮:宽度收为与高度相等的正方形 */\n :host(.wc-button--icon-only) .button {\n width: var(--wc-button-height);\n padding: 0;\n }\n\n /* ---- theme 语义色变量:base 实色底与 outline/dashed/text/link 前景色统一从这里取 ---- */\n :host {\n --wc-button-theme-color: var(--wc-color-primary);\n --wc-button-theme-hover: var(--wc-color-primary-hover);\n --wc-button-theme-active: var(--wc-color-primary-active);\n }\n :host([theme='success']) {\n --wc-button-theme-color: var(--wc-color-success);\n --wc-button-theme-hover: var(--wc-color-success-dark);\n --wc-button-theme-active: var(--wc-color-success-dark);\n }\n :host([theme='warning']) {\n --wc-button-theme-color: var(--wc-color-warning);\n --wc-button-theme-hover: var(--wc-color-warning-dark);\n --wc-button-theme-active: var(--wc-color-warning-dark);\n }\n :host([theme='danger']) {\n --wc-button-theme-color: var(--wc-color-error);\n --wc-button-theme-hover: var(--wc-color-error-dark);\n --wc-button-theme-active: var(--wc-color-error-dark);\n }\n\n /* ---- theme: default ---- */\n :host([type='base']) .button {\n background-color: var(--wc-color-bg-container);\n border-color: var(--wc-color-border);\n color: var(--wc-color-text);\n }\n :host([theme='default'][type='base']) .button:hover:not(:disabled) {\n border-color: var(--wc-button-theme-color);\n color: var(--wc-button-theme-color);\n }\n\n /* ---- theme: primary / success / warning / danger 的 base 变体:实色底 ---- */\n :host([theme='primary'][type='base']) .button,\n :host([theme='success'][type='base']) .button,\n :host([theme='warning'][type='base']) .button,\n :host([theme='danger'][type='base']) .button {\n background-color: var(--wc-button-theme-color);\n border-color: var(--wc-button-theme-color);\n color: var(--wc-color-text-anti);\n }\n :host([theme='primary'][type='base']) .button:hover:not(:disabled),\n :host([theme='success'][type='base']) .button:hover:not(:disabled),\n :host([theme='warning'][type='base']) .button:hover:not(:disabled),\n :host([theme='danger'][type='base']) .button:hover:not(:disabled) {\n background-color: var(--wc-button-theme-hover);\n border-color: var(--wc-button-theme-hover);\n color: var(--wc-color-text-anti);\n }\n :host([theme='primary'][type='base']) .button:active:not(:disabled),\n :host([theme='success'][type='base']) .button:active:not(:disabled),\n :host([theme='warning'][type='base']) .button:active:not(:disabled),\n :host([theme='danger'][type='base']) .button:active:not(:disabled) {\n background-color: var(--wc-button-theme-active);\n border-color: var(--wc-button-theme-active);\n color: var(--wc-color-text-anti);\n }\n\n /* ---- type: outline / dashed(继承 theme 色) ---- */\n :host([type='outline']) .button,\n :host([type='dashed']) .button {\n background-color: transparent;\n border-color: var(--wc-button-theme-color);\n color: var(--wc-button-theme-color);\n }\n :host([type='dashed']) .button {\n border-style: dashed;\n }\n :host([type='outline']) .button:hover:not(:disabled),\n :host([type='dashed']) .button:hover:not(:disabled) {\n background-color: var(--wc-button-theme-hover);\n border-color: var(--wc-button-theme-hover);\n color: var(--wc-color-text-anti);\n }\n\n /* ---- type: text ---- */\n :host([type='text']) .button {\n background-color: transparent;\n border-color: transparent;\n color: var(--wc-button-theme-color);\n }\n :host([type='text']) .button:hover:not(:disabled) {\n background-color: var(--wc-color-bg);\n }\n\n /* ---- type: link ---- */\n :host([type='link']) .button {\n background-color: transparent;\n border-color: transparent;\n color: var(--wc-button-theme-color);\n }\n :host([type='link']) .button:hover:not(:disabled) {\n color: var(--wc-button-theme-hover);\n }\n\n /* ---- ghost 幽灵模式(透明底 + 主题色边框/文字,用于深色背景) ----\n base 变体换透明底;outline/dashed 本就透明,仅把悬停实色填充换成半透明淡底;\n :not 链保证禁用态不受影响 */\n :host([ghost][type='base']:not([disabled]):not([loading])) .button {\n background-color: transparent;\n border-color: var(--wc-button-theme-color);\n color: var(--wc-button-theme-color);\n }\n :host([ghost][type='base']:not([disabled]):not([loading])) .button:hover:not(:disabled),\n :host([ghost][type='outline']:not([disabled]):not([loading])) .button:hover:not(:disabled),\n :host([ghost][type='dashed']:not([disabled]):not([loading])) .button:hover:not(:disabled) {\n background-color: var(\n --wc-button-ghost-hover-bg,\n color-mix(in srgb, var(--wc-button-theme-color) 12%, transparent)\n );\n border-color: var(--wc-button-theme-color);\n color: var(--wc-button-theme-color);\n }\n\n /* ---- gradient 渐变底(仅 base 变体且非 default 主题) ----\n 主题色与 hover 色明度相差太小(肉眼近似纯色),端点改用 color-mix 混白提亮\n 拉开对比;background-image 不可 transition,与 antd 一致不做渐变过渡 */\n :host([gradient][type='base']:not([theme='default']):not([disabled]):not([loading])) .button {\n background-image: linear-gradient(\n 135deg,\n color-mix(in srgb, var(--wc-button-theme-color) 65%, #fff),\n var(--wc-button-theme-color)\n );\n }\n :host([gradient][type='base']:not([theme='default']):not([disabled]):not([loading]))\n .button:hover:not(:disabled) {\n background-image: linear-gradient(\n 135deg,\n color-mix(in srgb, var(--wc-button-theme-hover) 65%, #fff),\n var(--wc-button-theme-hover)\n );\n }\n\n /* ---- ripple 点击波纹(span.ripple 由 handleClick 动态插入) ---- */\n .ripple {\n position: absolute;\n z-index: 0;\n border-radius: 50%;\n pointer-events: none;\n background-color: var(\n --wc-button-ripple-color,\n color-mix(in srgb, currentColor 45%, transparent)\n );\n transform: scale(0);\n opacity: 0.6;\n animation: wc-ripple var(--wc-button-ripple-duration, 600ms) var(--wc-easing-standard) forwards;\n }\n\n @keyframes wc-ripple {\n to {\n transform: scale(1);\n opacity: 0;\n }\n }\n\n /* 减弱动态效果:不渲染波纹动画(span 停留在 scale(0) 不可见) */\n @media (prefers-reduced-motion: reduce) {\n .ripple {\n animation: none;\n }\n }\n\n /* ---- 禁用态 ---- */\n .button:disabled {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n color: var(--wc-color-text-disabled);\n }\n\n /* ---- 加载态 spinner ---- */\n .button[aria-busy='true'] .content {\n opacity: 0.7;\n }\n`;\nvar Br = Object.defineProperty, P = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Br(e, t, r), r;\n};\nconst xt = class xt extends d {\n constructor() {\n super(...arguments), this.theme = \"default\", this.type = \"base\", this.htmlType = \"button\", this.size = \"medium\", this.iconPosition = \"start\", this.block = !1, this.disabled = !1, this.loading = !1, this.ghost = !1, this.gradient = !1, this.ripple = !1, this._hasIcon = !1, this._hasText = !1;\n }\n handleClick(e) {\n if (this.loading) {\n e.preventDefault(), e.stopImmediatePropagation();\n return;\n }\n this.ripple && this._spawnRipple(e);\n }\n /*\n * 点击波纹:动态 span 从点击点扩散(伪元素无法按点击点定位,且并发点击\n * 会互相打断)。键盘触发(clientX/Y 均为 0)时从中心扩散。\n */\n _spawnRipple(e) {\n const t = this.shadowRoot.querySelector(\".button\");\n if (!t) return;\n const s = t.getBoundingClientRect(), r = Math.max(s.width, s.height) * 2, a = e.clientX || s.left + s.width / 2, l = e.clientY || s.top + s.height / 2, v = document.createElement(\"span\");\n v.className = \"ripple\", v.style.width = `${r}px`, v.style.height = `${r}px`, v.style.left = `${a - s.left - r / 2}px`, v.style.top = `${l - s.top - r / 2}px`, v.addEventListener(\"animationend\", () => v.remove()), t.appendChild(v);\n }\n render() {\n const e = c`<span class=\"icon\" part=\"icon\" ?hidden=${!this._hasIcon && !this.loading}>\n ${this.loading ? c`<wc-icon class=\"spinner\" name=\"loader\" spin></wc-icon>` : c`<slot name=\"icon\" @slotchange=${this._onIconSlotChange}></slot>`}\n </span>`, t = c`<span class=\"content\" part=\"content\"\n ><slot @slotchange=${this._onTextSlotChange}></slot\n ></span>`;\n return c`\n <button\n part=\"base\"\n class=\"button\"\n type=${this.htmlType}\n ?disabled=${this.disabled || this.loading}\n aria-disabled=${this.disabled || this.loading}\n aria-busy=${this.loading}\n @click=${this.handleClick}\n >\n ${this.iconPosition === \"end\" ? [t, e] : [e, t]}\n </button>\n `;\n }\n _onIconSlotChange(e) {\n this._hasIcon = e.target.assignedElements({ flatten: !0 }).length > 0, this._syncIconOnly(), this.requestUpdate();\n }\n _onTextSlotChange(e) {\n const t = e.target.assignedNodes({ flatten: !0 });\n this._hasText = t.some((s) => (s.textContent ?? \"\").trim().length > 0), this._syncIconOnly(), this.requestUpdate();\n }\n /** 纯图标(有 icon 无文案)时收为正方形 */\n _syncIconOnly() {\n this.classList.toggle(\"wc-button--icon-only\", this._hasIcon && !this._hasText);\n }\n};\nxt.styles = [p, Hr];\nlet x = xt;\nP([\n n({ reflect: !0 })\n], x.prototype, \"theme\");\nP([\n n({ reflect: !0 })\n], x.prototype, \"type\");\nP([\n n({ reflect: !0, attribute: \"html-type\" })\n], x.prototype, \"htmlType\");\nP([\n n({ reflect: !0 })\n], x.prototype, \"size\");\nP([\n n({ reflect: !0, attribute: \"icon-position\" })\n], x.prototype, \"iconPosition\");\nP([\n n({ type: Boolean, reflect: !0 })\n], x.prototype, \"block\");\nP([\n n({ type: Boolean, reflect: !0 })\n], x.prototype, \"disabled\");\nP([\n n({ type: Boolean, reflect: !0 })\n], x.prototype, \"loading\");\nP([\n n({ type: Boolean, reflect: !0 })\n], x.prototype, \"ghost\");\nP([\n n({ type: Boolean, reflect: !0 })\n], x.prototype, \"gradient\");\nP([\n n({ type: Boolean, reflect: !0 })\n], x.prototype, \"ripple\");\ncustomElements.get(\"wc-button\") || customElements.define(\"wc-button\", x);\nconst Nr = h`\n :host {\n display: inline-block;\n\n /* component 层令牌:首尾按钮保留的圆角 */\n --wc-button-group-radius: var(--wc-radius-medium);\n }\n\n .group {\n display: inline-flex;\n vertical-align: middle;\n }\n\n /*\n * ::slotted 只能作用于子 wc-button 的宿主元素,圆角与边距通过\n * --wc-button-radius 自定义属性穿透进按钮的 Shadow DOM\n *(外层作用域对宿主的声明优先于组件内 :host 声明)。\n * 注意令牌名不能与按钮自身的 --wc-button-radius 同名,否则自引用失效。\n */\n ::slotted(wc-button) {\n --wc-button-radius: 0;\n /* 聚焦环内嵌:光环画在按钮边缘内侧,避免叠在相邻按钮上造成割裂感 */\n --wc-button-focus-ring-offset: -2px;\n position: relative;\n }\n\n /* 边距合并由组件用内联样式实现(见 _syncMargins),CSS 声明会被外层 reset 压过 */\n\n /* 悬停/聚焦的上层按钮边框完整可见 */\n ::slotted(wc-button:hover),\n ::slotted(wc-button:focus-within) {\n z-index: 1;\n }\n\n ::slotted(wc-button:first-child) {\n --wc-button-radius: var(--wc-button-group-radius) 0 0 var(--wc-button-group-radius);\n }\n\n ::slotted(wc-button:last-child) {\n --wc-button-radius: 0 var(--wc-button-group-radius) var(--wc-button-group-radius) 0;\n }\n\n ::slotted(wc-button:only-child) {\n --wc-button-radius: var(--wc-button-group-radius);\n }\n`, kt = class kt extends d {\n render() {\n return c`<div class=\"group\" part=\"base\">\n <slot @slotchange=${this._syncMargins}></slot>\n </div>`;\n }\n /*\n * 相邻边框合并必须用内联样式:CSS 规则(::slotted margin-left)会被宿主页面\n * 的全局 reset(如 * { margin: 0 })覆盖——外层文档样式对 slotted 元素\n * 永远优先于 ::slotted 声明。内联样式优先级最高,且 slotchange 时同步。\n */\n _syncMargins(e) {\n const t = e.target.assignedElements({ flatten: !0 });\n for (let s = 0; s < t.length; s++)\n t[s].style.marginLeft = s > 0 ? \"-1px\" : \"\";\n }\n};\nkt.styles = [p, Nr];\nlet it = kt;\ncustomElements.get(\"wc-button-group\") || customElements.define(\"wc-button-group\", it);\nfunction q(o) {\n const t = class t extends o {\n constructor(...r) {\n super(...r), this.name = \"\", this.disabled = !1, this.internals = this.attachInternals();\n }\n /** 表单控件的当前值,表单类组件必须实现 */\n get value() {\n }\n set value(r) {\n }\n /** 表单重置时恢复默认值,子类按需覆写 */\n formResetCallback() {\n this.value = this.defaultValue;\n }\n /** 默认值,子类可覆写 */\n get defaultValue() {\n }\n };\n t.formAssociated = !0, t.properties = {\n name: { type: String },\n disabled: { type: Boolean, reflect: !0 }\n };\n let e = t;\n return e;\n}\nconst qr = {\n \"select.placeholder\": \"Select\",\n \"select.empty\": \"No data\",\n \"pagination.total\": \"{total} items in total\",\n \"pagination.prev\": \"Previous page\",\n \"pagination.next\": \"Next page\",\n \"pagination.label\": \"Pagination\",\n \"pagination.page\": \"Page {page}\",\n \"pagination.jumpTo\": \"Go to\",\n \"pagination.pageUnit\": \"Page\",\n \"dialog.confirm\": \"Confirm\",\n \"dialog.cancel\": \"Cancel\",\n \"empty.noData\": \"No data\",\n \"table.empty\": \"No data in table\",\n \"input.clear\": \"Clear\",\n \"inputNumber.increment\": \"Increment\",\n \"inputNumber.decrement\": \"Decrement\",\n \"datePicker.placeholder\": \"Select date\",\n \"datePicker.today\": \"Today\",\n \"datePicker.prevYear\": \"Previous year\",\n \"datePicker.prevMonth\": \"Previous month\",\n \"datePicker.nextMonth\": \"Next month\",\n \"datePicker.nextYear\": \"Next year\",\n \"form.required\": \"{name} is required\",\n \"form.min\": \"{name} must be no less than {min}\",\n \"form.max\": \"{name} must be no greater than {max}\",\n \"form.minLength\": \"{name} must be at least {minLength} characters\",\n \"form.maxLength\": \"{name} must be at most {maxLength} characters\",\n \"form.pattern\": \"{name} format is invalid\",\n \"form.invalid\": \"{name} is invalid\",\n \"tag.close\": \"Remove\",\n \"dropdown.more\": \"More options\",\n \"floatbutton.backtop\": \"Back to top\",\n \"floatbutton.menu\": \"More actions\",\n \"dialog.close\": \"Close\",\n \"message.close\": \"Close\",\n \"breadcrumb.label\": \"Breadcrumb\",\n \"image.loadError\": \"Failed to load image\",\n \"image.preview\": \"Preview\",\n \"image.zoomIn\": \"Zoom in\",\n \"image.zoomOut\": \"Zoom out\",\n \"image.rotate\": \"Rotate\",\n \"image.reset\": \"Reset\",\n \"image.close\": \"Close\",\n \"upload.upload\": \"Upload\",\n \"upload.clickOrDrag\": \"Click or drag file here to upload\",\n \"upload.failed\": \"Upload failed\",\n \"upload.retry\": \"Retry\",\n \"upload.remove\": \"Remove\",\n \"upload.preview\": \"Preview\"\n}, Rr = {\n \"select.placeholder\": \"请选择\",\n \"select.empty\": \"暂无数据\",\n \"pagination.total\": \"共 {total} 条\",\n \"pagination.prev\": \"上一页\",\n \"pagination.next\": \"下一页\",\n \"pagination.label\": \"分页导航\",\n \"pagination.page\": \"第 {page} 页\",\n \"pagination.jumpTo\": \"跳至\",\n \"pagination.pageUnit\": \"页\",\n \"dialog.confirm\": \"确认\",\n \"dialog.cancel\": \"取消\",\n \"empty.noData\": \"暂无数据\",\n \"table.empty\": \"表格暂无数据\",\n \"input.clear\": \"清空\",\n \"inputNumber.increment\": \"增加\",\n \"inputNumber.decrement\": \"减少\",\n \"datePicker.placeholder\": \"请选择日期\",\n \"datePicker.today\": \"今天\",\n \"datePicker.prevYear\": \"上一年\",\n \"datePicker.prevMonth\": \"上个月\",\n \"datePicker.nextMonth\": \"下个月\",\n \"datePicker.nextYear\": \"下一年\",\n \"form.required\": \"{name}不能为空\",\n \"form.min\": \"{name}不能小于{min}\",\n \"form.max\": \"{name}不能大于{max}\",\n \"form.minLength\": \"{name}至少{minLength}个字符\",\n \"form.maxLength\": \"{name}最多{maxLength}个字符\",\n \"form.pattern\": \"{name}格式不正确\",\n \"form.invalid\": \"{name}校验不通过\",\n \"tag.close\": \"删除\",\n \"dropdown.more\": \"更多选项\",\n \"floatbutton.backtop\": \"回到顶部\",\n \"floatbutton.menu\": \"更多操作\",\n \"dialog.close\": \"关闭\",\n \"message.close\": \"关闭\",\n \"breadcrumb.label\": \"面包屑导航\",\n \"image.loadError\": \"图片加载失败\",\n \"image.preview\": \"预览\",\n \"image.zoomIn\": \"放大\",\n \"image.zoomOut\": \"缩小\",\n \"image.rotate\": \"旋转\",\n \"image.reset\": \"重置\",\n \"image.close\": \"关闭\",\n \"upload.upload\": \"上传文件\",\n \"upload.clickOrDrag\": \"点击或拖拽文件到此处上传\",\n \"upload.failed\": \"上传失败\",\n \"upload.retry\": \"重新上传\",\n \"upload.remove\": \"移除\",\n \"upload.preview\": \"预览\"\n}, ot = \"wc-language-change\", Q = /* @__PURE__ */ new Map([\n [\"zh-CN\", { ...Rr }],\n [\"en-US\", { ...qr }]\n]);\nlet Oe = \"zh-CN\";\nfunction fa(o, e) {\n const t = Q.get(o);\n Q.set(o, Object.assign({}, t, e)), o === Oe && kr();\n}\nfunction xa(o) {\n if (!/^[a-zA-Z]{2,3}(-[a-zA-Z0-9]+)*$/.test(o))\n throw new Error(`[wc] 无效的语言标识: \"${o}\",需符合 BCP 47 格式,如 zh-CN`);\n o !== Oe && (Oe = o, kr());\n}\nfunction Fr() {\n return Oe;\n}\nfunction xr(o) {\n if (Q.has(o))\n return o;\n const e = o.split(\"-\")[0]?.toLowerCase();\n for (const t of Q.keys())\n if (t.split(\"-\")[0]?.toLowerCase() === e)\n return t;\n return \"zh-CN\";\n}\nfunction Ur(o, e, t) {\n const s = Q.get(xr(o)), r = Q.get(\"zh-CN\");\n let a = s?.[e] ?? r?.[e] ?? e;\n return t && (a = a.replace(\n /\\{(\\w+)\\}/g,\n (l, v) => v in t ? String(t[v]) : l\n )), a;\n}\nfunction ka() {\n return [...Q.keys()];\n}\nfunction kr() {\n document.dispatchEvent(\n new CustomEvent(ot, {\n detail: { locale: Oe },\n bubbles: !0,\n composed: !0\n })\n );\n}\nclass b {\n constructor(e) {\n this.handleLanguageChange = () => {\n this.host.requestUpdate();\n }, this.host = e, e.addController(this);\n }\n hostConnected() {\n document.addEventListener(ot, this.handleLanguageChange);\n }\n hostDisconnected() {\n document.removeEventListener(ot, this.handleLanguageChange);\n }\n /** 取文案,支持 {var} 插值 */\n term(e, t) {\n return Ur(this.resolvedLocale, e, t);\n }\n /** 按当前语言格式化日期 */\n date(e, t) {\n const { locale: s, ...r } = t ?? {};\n return new Intl.DateTimeFormat(s ?? this.resolvedLocale, r).format(\n e\n );\n }\n /** 按当前语言格式化数字 */\n number(e, t) {\n const { locale: s, ...r } = t ?? {};\n return new Intl.NumberFormat(s ?? this.resolvedLocale, r).format(\n e\n );\n }\n /** 元素 lang 属性优先,其次全局语言 */\n get resolvedLocale() {\n const e = this.host.getAttribute(\"lang\");\n return e ? xr(e) : Fr();\n }\n}\nconst Yr = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-input-height: 32px;\n --wc-input-padding-x: var(--wc-space-2);\n --wc-input-font-size: var(--wc-font-size-medium);\n --wc-input-radius: var(--wc-radius-medium);\n }\n\n :host([size='small']) {\n --wc-input-height: 24px;\n --wc-input-padding-x: var(--wc-space-1);\n --wc-input-font-size: var(--wc-font-size-small);\n }\n\n :host([size='large']) {\n --wc-input-height: 40px;\n --wc-input-padding-x: var(--wc-space-3);\n --wc-input-font-size: var(--wc-font-size-large);\n }\n\n .input {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-input-height);\n padding: 0 var(--wc-input-padding-x);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-input-radius);\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 焦点态:外层容器统一呈现,内层去掉原生 outline 避免双重 */\n .input:focus-within {\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .inner {\n flex: 1;\n min-width: 0;\n height: 100%;\n font-family: inherit;\n font-size: var(--wc-input-font-size);\n color: var(--wc-color-text);\n background: transparent;\n border: none;\n outline: none;\n caret-color: var(--wc-color-primary);\n }\n\n .inner::placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .inner:disabled {\n cursor: not-allowed;\n }\n\n .affix {\n display: inline-flex;\n align-items: center;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n }\n\n .affix[hidden] {\n display: none;\n }\n\n .clear {\n width: 16px;\n height: 16px;\n justify-content: center;\n padding: 0;\n border: none;\n border-radius: var(--wc-radius-circle);\n background: transparent;\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n }\n\n /* wc-icon 的 :host 自带 text 色,这里让叉号跟随按钮的灰阶 */\n .clear wc-icon {\n color: inherit;\n }\n\n .clear:hover {\n color: var(--wc-color-text-secondary);\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .input {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .input {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .input {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .input:focus-within {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 / 只读 ---- */\n :host([disabled]) .input {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .inner {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .input {\n border-style: dashed;\n }\n`;\nvar Kr = Object.defineProperty, Wr = Object.getOwnPropertyDescriptor, R = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? Wr(e, t) : e, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = (s ? l(e, t, r) : l(r)) || r);\n return s && r && Kr(e, t, r), r;\n};\nconst $t = class $t extends q(d) {\n constructor() {\n super(...arguments), this._value = \"\", this.type = \"text\", this.size = \"medium\", this.placeholder = \"\", this.label = \"\", this.readonly = !1, this.clearable = !1, this.status = \"default\", this.localize = new b(this), this._hasPrefix = !1, this._hasSuffix = !1;\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e ?? \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(this.value || null);\n }\n formResetCallback() {\n super.formResetCallback(), this.internals.setFormValue(this.value || null);\n }\n handleInput(e) {\n const t = e.target;\n this.value = t.value, this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleClear(e) {\n e.preventDefault(), this.value = \"\", this.dispatchEvent(new CustomEvent(\"wc-clear\", { bubbles: !0, composed: !0 })), this.dispatchEvent(\n new CustomEvent(\"wc-change\", { detail: { value: \"\" }, bubbles: !0, composed: !0 })\n ), this.requestUpdate(), this.shadowRoot.querySelector(\"input\")?.focus();\n }\n render() {\n const e = this.clearable && this.value && !this.disabled && !this.readonly;\n return c`\n <div class=\"input\" part=\"base\">\n <span class=\"affix prefix\" part=\"prefix\" ?hidden=${!this._hasPrefix}>\n <slot name=\"prefix\" @slotchange=${this._onPrefixSlotChange}></slot>\n </span>\n <input\n part=\"input\"\n class=\"inner\"\n .value=${this.value}\n type=${this.type}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n placeholder=${this.placeholder}\n maxlength=${this.maxlength ?? -1}\n aria-label=${this.label || void 0}\n @input=${this.handleInput}\n @change=${this.handleChange}\n />\n ${e ? c`\n <button\n type=\"button\"\n class=\"affix clear\"\n part=\"clear-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"input.clear\")}\n @mousedown=${this.handleClear}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n <span class=\"affix suffix\" part=\"suffix\" ?hidden=${!this._hasSuffix}>\n <slot name=\"suffix\" @slotchange=${this._onSuffixSlotChange}></slot>\n </span>\n </div>\n `;\n }\n _onPrefixSlotChange(e) {\n this._hasPrefix = e.target.assignedElements({ flatten: !0 }).length > 0, this.requestUpdate();\n }\n _onSuffixSlotChange(e) {\n this._hasSuffix = e.target.assignedElements({ flatten: !0 }).length > 0, this.requestUpdate();\n }\n};\n$t.styles = [p, Yr];\nlet C = $t;\nR([\n n()\n], C.prototype, \"value\", 1);\nR([\n n()\n], C.prototype, \"type\", 2);\nR([\n n({ reflect: !0 })\n], C.prototype, \"size\", 2);\nR([\n n()\n], C.prototype, \"placeholder\", 2);\nR([\n n()\n], C.prototype, \"label\", 2);\nR([\n n({ type: Number })\n], C.prototype, \"maxlength\", 2);\nR([\n n({ type: Boolean, reflect: !0 })\n], C.prototype, \"readonly\", 2);\nR([\n n({ type: Boolean, reflect: !0 })\n], C.prototype, \"clearable\", 2);\nR([\n n({ reflect: !0 })\n], C.prototype, \"status\", 2);\ncustomElements.get(\"wc-input\") || customElements.define(\"wc-input\", C);\nconst Xr = h`\n :host {\n display: inline-block;\n width: 320px;\n\n /* component 层令牌 */\n --wc-textarea-min-height: 80px;\n --wc-textarea-padding-y: var(--wc-space-2);\n --wc-textarea-padding-x: var(--wc-space-2);\n --wc-textarea-font-size: var(--wc-font-size-medium);\n --wc-textarea-radius: var(--wc-radius-medium);\n }\n\n .textarea {\n position: relative;\n display: inline-flex;\n width: 100%;\n min-height: var(--wc-textarea-min-height);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-textarea-radius);\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .textarea:focus-within {\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .inner {\n flex: 1;\n width: 100%;\n padding: var(--wc-textarea-padding-y) var(--wc-textarea-padding-x);\n font-family: inherit;\n font-size: var(--wc-textarea-font-size);\n line-height: var(--wc-line-height-base);\n color: var(--wc-color-text);\n background: transparent;\n border: none;\n outline: none;\n resize: vertical;\n caret-color: var(--wc-color-primary);\n }\n\n /* autosize 时接管高度,禁用手动拉伸 */\n :host([autosize]) .inner {\n resize: none;\n overflow: hidden;\n }\n\n .inner::placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .inner:disabled {\n cursor: not-allowed;\n }\n\n .count {\n position: absolute;\n right: var(--wc-textarea-padding-x);\n bottom: var(--wc-textarea-padding-y);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text-placeholder);\n background: var(--wc-color-bg-container);\n pointer-events: none;\n }\n\n :host([status='success']) .textarea {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .textarea {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .textarea {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .textarea:focus-within {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n :host([disabled]) .textarea {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .inner {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .textarea {\n border-style: dashed;\n }\n`;\nvar Gr = Object.defineProperty, Zr = Object.getOwnPropertyDescriptor, Z = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? Zr(e, t) : e, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = (s ? l(e, t, r) : l(r)) || r);\n return s && r && Gr(e, t, r), r;\n};\nconst zt = class zt extends q(d) {\n constructor() {\n super(...arguments), this._value = \"\", this.placeholder = \"\", this.label = \"\", this.rows = 3, this.autosize = !1, this.readonly = !1, this.status = \"default\";\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e ?? \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(this.value || null), e.has(\"value\") && this.autosize && this.autoResize();\n }\n formResetCallback() {\n super.formResetCallback(), this.internals.setFormValue(this.value || null);\n }\n handleInput(e) {\n const t = e.target;\n this.value = t.value, this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n ), this.autosize && this.autoResize();\n }\n handleChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n /** 按内容自适应高度:先回到 auto 再取 scrollHeight */\n autoResize() {\n const e = this.shadowRoot.querySelector(\"textarea\");\n e && (e.style.height = \"auto\", e.style.height = `${e.scrollHeight}px`);\n }\n render() {\n return c`\n <div class=\"textarea\" part=\"base\">\n <textarea\n part=\"textarea\"\n class=\"inner\"\n .value=${this.value}\n rows=${this.rows}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n placeholder=${this.placeholder}\n maxlength=${this.maxlength ?? -1}\n aria-label=${this.label || void 0}\n @input=${this.handleInput}\n @change=${this.handleChange}\n ></textarea>\n ${this.maxlength ? c`<span class=\"count\" part=\"count\">${this.value.length}/${this.maxlength}</span>` : \"\"}\n </div>\n `;\n }\n};\nzt.styles = [p, Xr];\nlet _ = zt;\nZ([\n n()\n], _.prototype, \"value\", 1);\nZ([\n n()\n], _.prototype, \"placeholder\", 2);\nZ([\n n()\n], _.prototype, \"label\", 2);\nZ([\n n({ type: Number })\n], _.prototype, \"maxlength\", 2);\nZ([\n n({ type: Number })\n], _.prototype, \"rows\", 2);\nZ([\n n({ type: Boolean, reflect: !0 })\n], _.prototype, \"autosize\", 2);\nZ([\n n({ type: Boolean, reflect: !0 })\n], _.prototype, \"readonly\", 2);\nZ([\n n({ reflect: !0 })\n], _.prototype, \"status\", 2);\ncustomElements.get(\"wc-textarea\") || customElements.define(\"wc-textarea\", _);\nconst Jr = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-checkbox-size: 16px;\n --wc-checkbox-radius: var(--wc-radius-small);\n }\n\n .checkbox {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n }\n\n /* 原生 input 隐藏但保持可聚焦(键盘空格切换) */\n .native {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: 0;\n opacity: 0;\n pointer-events: none;\n }\n\n .box {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wc-checkbox-size);\n height: var(--wc-checkbox-size);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border-strong);\n border-radius: var(--wc-checkbox-radius);\n color: var(--wc-color-text-anti);\n flex-shrink: 0;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n border-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .check {\n width: 12px;\n height: 12px;\n opacity: 0;\n transform: scale(0.5);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .dash {\n position: absolute;\n width: 8px;\n height: 2px;\n border-radius: 1px;\n background: currentColor;\n opacity: 0;\n transform: scale(0.5);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 键盘焦点环 */\n .native:focus-visible + .box {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n /* 选中态 */\n :host([checked]) .box {\n background-color: var(--wc-color-primary);\n border-color: var(--wc-color-primary);\n }\n\n :host([checked]) .check {\n opacity: 1;\n transform: scale(1);\n }\n\n /* 半选态(优先于选中态图标) */\n :host([indeterminate]) .box {\n background-color: var(--wc-color-primary);\n border-color: var(--wc-color-primary);\n }\n\n :host([indeterminate]) .check {\n opacity: 0;\n }\n\n :host([indeterminate]) .dash {\n opacity: 1;\n transform: scale(1);\n }\n\n /* 悬停 */\n .checkbox:hover .box:not(.native:disabled + .box) {\n border-color: var(--wc-color-primary);\n }\n\n /* 禁用 */\n :host([disabled]) .checkbox {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n :host([disabled]) .box {\n background-color: var(--wc-color-bg-disabled);\n border-color: var(--wc-color-border);\n }\n\n :host([disabled][checked]) .box,\n :host([disabled][indeterminate]) .box {\n background-color: var(--wc-color-border);\n border-color: var(--wc-color-border);\n color: var(--wc-color-text-disabled);\n }\n\n .label {\n line-height: var(--wc-line-height-base);\n }\n`;\nvar Qr = Object.defineProperty, Be = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Qr(e, t, r), r;\n};\nconst Ct = class Ct extends q(d) {\n constructor() {\n super(), this.checked = !1, this.indeterminate = !1, this.value = \"on\", this.label = \"\", this.initialChecked = !1, this.initialChecked = this.hasAttribute(\"checked\");\n }\n get defaultValue() {\n return this.initialChecked ? this.value : null;\n }\n updated(e) {\n super.updated(e), (e.has(\"checked\") || e.has(\"value\")) && this.internals.setFormValue(this.checked ? this.value : null);\n }\n formResetCallback() {\n super.formResetCallback(), this.checked = this.initialChecked, this.internals.setFormValue(this.checked ? this.value : null);\n }\n handleChange(e) {\n const t = e.target;\n this.indeterminate = !1, this.checked = t.checked, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { checked: this.checked, value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <label class=\"checkbox\" part=\"base\">\n <input\n type=\"checkbox\"\n class=\"native\"\n .checked=${this.checked}\n .indeterminate=${this.indeterminate}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @change=${this.handleChange}\n />\n <span class=\"box\" part=\"box\" aria-hidden=\"true\">\n <svg class=\"check\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M3 8.5L6.5 12L13 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span class=\"dash\"></span>\n </span>\n <span class=\"label\" part=\"label\"><slot></slot></span>\n </label>\n `;\n }\n};\nCt.styles = [p, Jr];\nlet ee = Ct;\nBe([\n n({ type: Boolean, reflect: !0 })\n], ee.prototype, \"checked\");\nBe([\n n({ type: Boolean, reflect: !0 })\n], ee.prototype, \"indeterminate\");\nBe([\n n()\n], ee.prototype, \"value\");\nBe([\n n()\n], ee.prototype, \"label\");\ncustomElements.get(\"wc-checkbox\") || customElements.define(\"wc-checkbox\", ee);\nconst ei = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-radio-size: 16px;\n }\n\n .radio {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n }\n\n /* 原生 input 隐藏但保持可聚焦(键盘方向键切换) */\n .native {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: 0;\n opacity: 0;\n pointer-events: none;\n }\n\n .dot {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wc-radio-size);\n height: var(--wc-radio-size);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border-strong);\n border-radius: var(--wc-radius-circle);\n flex-shrink: 0;\n transition: border-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .inner {\n width: calc(var(--wc-radio-size) / 2 - 1px);\n height: calc(var(--wc-radio-size) / 2 - 1px);\n border-radius: var(--wc-radius-circle);\n background-color: var(--wc-color-primary);\n opacity: 0;\n transform: scale(0);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .native:focus-visible + .dot {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n :host([checked]) .dot {\n border-color: var(--wc-color-primary);\n }\n\n :host([checked]) .inner {\n opacity: 1;\n transform: scale(1);\n }\n\n .radio:hover .dot {\n border-color: var(--wc-color-primary);\n }\n\n :host([disabled]) .radio {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n :host([disabled]) .dot {\n background-color: var(--wc-color-bg-disabled);\n border-color: var(--wc-color-border);\n }\n\n :host([disabled][checked]) .dot {\n border-color: var(--wc-color-border);\n }\n\n :host([disabled][checked]) .inner {\n background-color: var(--wc-color-text-disabled);\n }\n\n .label {\n line-height: var(--wc-line-height-base);\n }\n`;\nvar ti = Object.defineProperty, ut = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && ti(e, t, r), r;\n};\nconst Mt = class Mt extends q(d) {\n constructor() {\n super(), this.checked = !1, this.value = \"\", this.label = \"\", this.initialChecked = !1, this.initialChecked = this.hasAttribute(\"checked\");\n }\n get defaultValue() {\n return this.initialChecked ? this.value : null;\n }\n updated(e) {\n super.updated(e), (e.has(\"checked\") || e.has(\"value\")) && this.internals.setFormValue(this.checked ? this.value : null);\n }\n formResetCallback() {\n super.formResetCallback(), this.checked = this.initialChecked, this.internals.setFormValue(this.checked ? this.value : null);\n }\n handleChange(e) {\n const t = e.target;\n this.checked = t.checked, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <label class=\"radio\" part=\"base\">\n <input\n type=\"radio\"\n class=\"native\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @change=${this.handleChange}\n />\n <span class=\"dot\" part=\"dot\" aria-hidden=\"true\"><span class=\"inner\"></span></span>\n <span class=\"label\" part=\"label\"><slot></slot></span>\n </label>\n `;\n }\n};\nMt.styles = [p, ei];\nlet xe = Mt;\nut([\n n({ type: Boolean, reflect: !0 })\n], xe.prototype, \"checked\");\nut([\n n()\n], xe.prototype, \"value\");\nut([\n n()\n], xe.prototype, \"label\");\ncustomElements.get(\"wc-radio\") || customElements.define(\"wc-radio\", xe);\nconst ri = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-switch-width: 40px;\n --wc-switch-height: 22px;\n --wc-switch-thumb: 18px;\n }\n\n .switch {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n }\n\n /* 原生 input 隐藏但保持可聚焦(键盘空格切换) */\n .native {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: 0;\n opacity: 0;\n pointer-events: none;\n }\n\n .track {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: var(--wc-switch-width);\n height: var(--wc-switch-height);\n padding: 2px;\n background-color: var(--wc-color-gray-300);\n border-radius: var(--wc-radius-round);\n flex-shrink: 0;\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .thumb {\n width: var(--wc-switch-thumb);\n height: var(--wc-switch-thumb);\n border-radius: var(--wc-radius-circle);\n background-color: var(--wc-color-text-anti);\n box-shadow: var(--wc-shadow-1);\n transform: translateX(0);\n transition: transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .native:focus-visible + .track {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n :host([checked]) .track {\n background-color: var(--wc-color-primary);\n }\n\n :host([checked]) .thumb {\n transform: translateX(calc(var(--wc-switch-width) - var(--wc-switch-height)));\n }\n\n .switch:hover .track {\n background-color: var(--wc-color-gray-400);\n }\n\n :host([checked]) .switch:hover .track {\n background-color: var(--wc-color-primary-hover);\n }\n\n :host([disabled]) .switch {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n :host([disabled]) .track {\n background-color: var(--wc-color-bg-disabled);\n }\n\n :host([disabled]) .thumb {\n background-color: var(--wc-color-gray-100);\n box-shadow: none;\n }\n\n .label {\n line-height: var(--wc-line-height-base);\n }\n`;\nvar ii = Object.defineProperty, Ne = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && ii(e, t, r), r;\n};\nconst Et = class Et extends q(d) {\n constructor() {\n super(), this.checked = !1, this.checkedValue = \"on\", this.uncheckedValue = \"\", this.label = \"\", this.initialChecked = !1, this.initialChecked = this.hasAttribute(\"checked\");\n }\n get defaultValue() {\n return this.initialChecked ? this.checkedValue : this.uncheckedValue || null;\n }\n updated(e) {\n super.updated(e), (e.has(\"checked\") || e.has(\"checkedValue\") || e.has(\"uncheckedValue\")) && this.internals.setFormValue(this.checked ? this.checkedValue : this.uncheckedValue || null);\n }\n formResetCallback() {\n super.formResetCallback(), this.checked = this.initialChecked, this.internals.setFormValue(this.checked ? this.checkedValue : this.uncheckedValue || null);\n }\n handleChange(e) {\n const t = e.target;\n this.checked = t.checked, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { checked: this.checked },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <label class=\"switch\" part=\"base\">\n <input\n type=\"checkbox\"\n role=\"switch\"\n class=\"native\"\n .checked=${this.checked}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @change=${this.handleChange}\n />\n <span class=\"track\" part=\"track\" aria-hidden=\"true\">\n <span class=\"thumb\" part=\"thumb\"></span>\n </span>\n <span class=\"label\" part=\"label\"><slot></slot></span>\n </label>\n `;\n }\n};\nEt.styles = [p, ri];\nlet te = Et;\nNe([\n n({ type: Boolean, reflect: !0 })\n], te.prototype, \"checked\");\nNe([\n n()\n], te.prototype, \"checkedValue\");\nNe([\n n()\n], te.prototype, \"uncheckedValue\");\nNe([\n n()\n], te.prototype, \"label\");\ncustomElements.get(\"wc-switch\") || customElements.define(\"wc-switch\", te);\nconst oi = h`\n :host {\n display: block;\n }\n\n .option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: 0 var(--wc-space-3);\n height: 32px;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .text {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .check {\n width: 14px;\n height: 14px;\n color: var(--wc-color-primary);\n flex-shrink: 0;\n opacity: 0;\n }\n\n :host([selected]) .check {\n opacity: 1;\n }\n\n :host([selected]:not([active])) .text {\n color: var(--wc-color-primary);\n font-weight: var(--wc-font-weight-medium);\n }\n\n :host(:hover:not([disabled])) .option,\n :host([active]:not([disabled])) .option {\n background-color: var(--wc-color-bg-hover);\n }\n\n :host([disabled]) .option {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n`;\nvar ai = Object.defineProperty, qe = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && ai(e, t, r), r;\n};\nconst St = class St extends d {\n constructor() {\n super(...arguments), this.value = \"\", this.disabled = !1, this.selected = !1, this.active = !1;\n }\n /** 选项文本 */\n get label() {\n return (this.textContent ?? \"\").trim();\n }\n render() {\n return c`\n <div class=\"option\" part=\"base\" role=\"option\" aria-selected=${this.selected}>\n <span class=\"text\"><slot></slot></span>\n <svg class=\"check\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M3 8.5L6.5 12L13 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n `;\n }\n};\nSt.styles = [oi];\nlet re = St;\nqe([\n n({ reflect: !0 })\n], re.prototype, \"value\");\nqe([\n n({ type: Boolean, reflect: !0 })\n], re.prototype, \"disabled\");\nqe([\n n({ type: Boolean, reflect: !0 })\n], re.prototype, \"selected\");\nqe([\n n({ type: Boolean, reflect: !0 })\n], re.prototype, \"active\");\ncustomElements.get(\"wc-option\") || customElements.define(\"wc-option\", re);\nconst si = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-select-height: 32px;\n --wc-select-padding-x: var(--wc-space-2);\n --wc-select-font-size: var(--wc-font-size-medium);\n --wc-select-radius: var(--wc-radius-medium);\n --wc-select-panel-max-height: 280px;\n }\n\n :host([size='small']) {\n --wc-select-height: 24px;\n --wc-select-padding-x: var(--wc-space-1);\n --wc-select-font-size: var(--wc-font-size-small);\n }\n\n :host([size='large']) {\n --wc-select-height: 40px;\n --wc-select-padding-x: var(--wc-space-3);\n --wc-select-font-size: var(--wc-font-size-large);\n }\n\n .select {\n position: relative;\n display: inline-block;\n width: 100%;\n }\n\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-select-height);\n padding: 0 var(--wc-select-padding-x);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-select-radius);\n cursor: pointer;\n user-select: none;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 与 input 的 focus-within 对齐:键盘聚焦或展开时均呈现焦点视觉 */\n .trigger:focus-visible,\n :host([open]) .trigger {\n outline: none;\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .value {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--wc-select-font-size);\n color: var(--wc-color-text);\n }\n\n .value.placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .arrow {\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n transition: transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n :host([open]) .arrow {\n transform: rotate(180deg);\n }\n\n .clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n border-radius: var(--wc-radius-circle);\n flex-shrink: 0;\n opacity: 0;\n transition: opacity var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .clear:hover {\n color: var(--wc-color-text-secondary);\n }\n\n /* 悬停触发器时显示清除按钮 */\n .trigger:hover .clear,\n .trigger:focus-visible .clear {\n opacity: 1;\n }\n\n /* 有清除按钮时悬停隐藏箭头,避免拥挤 */\n .trigger:hover .clear + .arrow {\n display: none;\n }\n\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: var(--wc-z-index-dropdown);\n width: 100%;\n max-height: var(--wc-select-panel-max-height);\n overflow-y: auto;\n padding: var(--wc-space-1) 0;\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-select-radius);\n box-shadow: var(--wc-shadow-2);\n }\n\n .panel[hidden] {\n display: none;\n }\n\n .empty {\n padding: var(--wc-space-4) var(--wc-space-3);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n text-align: center;\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .trigger {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .trigger {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .trigger {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .trigger:focus-visible,\n :host([status='error'][open]) .trigger {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 ---- */\n :host([disabled]) .trigger {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .value {\n color: var(--wc-color-text-disabled);\n }\n`;\nvar ni = Object.defineProperty, li = Object.getOwnPropertyDescriptor, Ce = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? li(e, t) : e, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = (s ? l(e, t, r) : l(r)) || r);\n return s && r && ni(e, t, r), r;\n};\nconst _t = class _t extends q(d) {\n constructor() {\n super(), this._value = \"\", this.placeholder = \"\", this.size = \"medium\", this.status = \"default\", this.clearable = !1, this.open = !1, this.activeIndex = -1, this.localize = new b(this), this.uid = `wc-select-${Math.random().toString(36).slice(2, 8)}`, this.assignedOptions = [], this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.hide();\n }, this.handleKeydown = (e) => {\n if (!this.disabled)\n switch (e.key) {\n case \"Enter\":\n case \" \":\n if (e.preventDefault(), this.open && this.activeIndex >= 0) {\n const t = this.enabledOptions[this.activeIndex];\n t && this.selectOption(t);\n } else\n this.show();\n break;\n case \"Escape\":\n e.preventDefault(), this.hide();\n break;\n case \"ArrowDown\":\n e.preventDefault(), this.open ? this.enabledOptions.length && (this.activeIndex = (this.activeIndex + 1) % this.enabledOptions.length, this.scrollToActive()) : this.show();\n break;\n case \"ArrowUp\":\n if (e.preventDefault(), !this.open)\n this.show();\n else if (this.enabledOptions.length) {\n const t = this.enabledOptions.length;\n this.activeIndex = (this.activeIndex - 1 + t) % t, this.scrollToActive();\n }\n break;\n case \"Home\":\n this.open && this.enabledOptions.length && (e.preventDefault(), this.activeIndex = 0, this.scrollToActive());\n break;\n case \"End\":\n this.open && this.enabledOptions.length && (e.preventDefault(), this.activeIndex = this.enabledOptions.length - 1, this.scrollToActive());\n break;\n case \"Tab\":\n this.hide();\n break;\n }\n }, this.addEventListener(\"keydown\", this.handleKeydown);\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e ?? \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && (this.syncOptions(), this.internals.setFormValue(this.value || null));\n }\n formResetCallback() {\n super.formResetCallback(), this.value = String(this.defaultValue ?? \"\"), this.internals.setFormValue(this.value || null);\n }\n connectedCallback() {\n super.connectedCallback(), document.addEventListener(\"click\", this.onDocumentClick);\n }\n disconnectedCallback() {\n document.removeEventListener(\"click\", this.onDocumentClick), super.disconnectedCallback();\n }\n /** 面板中的选项列表 */\n get enabledOptions() {\n return this.assignedOptions.filter((e) => !e.disabled);\n }\n get selectedLabel() {\n return this.assignedOptions.find((e) => e.value === this.value)?.label ?? \"\";\n }\n get displayText() {\n return this.value ? this.selectedLabel : this.placeholder || this.localize.term(\"select.placeholder\");\n }\n onSlotChange(e) {\n this.assignedOptions = e.target.assignedElements().filter((t) => t.tagName === \"WC-OPTION\"), this.assignedOptions.forEach((t, s) => t.setAttribute(\"id\", `${this.uid}-opt-${s}`)), this.syncOptions(), this.requestUpdate();\n }\n syncOptions() {\n for (const e of this.assignedOptions)\n e.selected = !e.disabled && e.value === this.value;\n }\n /* ---------- 开合 ---------- */\n show() {\n if (this.disabled || this.open) return;\n this.open = !0;\n const e = this.enabledOptions.findIndex((t) => t.value === this.value);\n this.activeIndex = e >= 0 ? e : this.enabledOptions.length ? 0 : -1, this.scrollToActive();\n }\n hide() {\n this.open && (this.open = !1, this.activeIndex = -1);\n }\n toggle() {\n this.open ? this.hide() : this.show();\n }\n onTriggerClick() {\n this.toggle();\n }\n onPanelClick(e) {\n const t = e.target.closest(\"wc-option\");\n t && !t.disabled && this.selectOption(t);\n }\n selectOption(e) {\n this.value = e.value, this.hide(), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value, label: e.label },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleClear(e) {\n e.preventDefault(), e.stopPropagation(), this.value = \"\", this.hide(), this.dispatchEvent(new CustomEvent(\"wc-clear\", { bubbles: !0, composed: !0 })), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: \"\", label: \"\" },\n bubbles: !0,\n composed: !0\n })\n );\n }\n scrollToActive() {\n for (const t of this.assignedOptions)\n t.active = !1;\n const e = this.enabledOptions[this.activeIndex];\n e && (e.active = !0), this.updateComplete.then(() => {\n e && typeof e.scrollIntoView == \"function\" && e.scrollIntoView({ block: \"nearest\" });\n });\n }\n render() {\n const e = this.activeIndex >= 0 ? this.enabledOptions[this.activeIndex] : void 0, t = e ? `${this.uid}-opt-${this.assignedOptions.indexOf(e)}` : \"\", s = this.clearable && this.value && !this.disabled;\n return c`\n <div class=\"select\" part=\"base\">\n <div\n class=\"trigger\"\n part=\"trigger\"\n role=\"combobox\"\n tabindex=${this.disabled ? -1 : 0}\n aria-haspopup=\"listbox\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=${this.open ? `${this.uid}-panel` : void 0}\n aria-activedescendant=${this.open && t ? t : void 0}\n @click=${this.onTriggerClick}\n >\n <span class=\"value ${this.value ? \"\" : \"placeholder\"}\" part=\"value\"\n >${this.displayText}</span\n >\n ${s ? c`\n <span\n class=\"clear\"\n part=\"clear-button\"\n role=\"button\"\n aria-label=${this.localize.term(\"input.clear\")}\n @mousedown=${(r) => {\n r.preventDefault(), r.stopPropagation();\n }}\n @click=${this.handleClear}\n >\n <wc-icon name=\"close\"></wc-icon>\n </span>\n ` : \"\"}\n <wc-icon name=\"chevron-down\" class=\"arrow\"></wc-icon>\n </div>\n <div\n class=\"panel\"\n part=\"panel\"\n id=\"${this.uid}-panel\"\n role=\"listbox\"\n ?hidden=${!this.open}\n @click=${this.onPanelClick}\n >\n <slot @slotchange=${this.onSlotChange}></slot>\n ${this.assignedOptions.length === 0 ? c`<div class=\"empty\">${this.localize.term(\"select.empty\")}</div>` : \"\"}\n </div>\n </div>\n `;\n }\n};\n_t.styles = [p, si];\nlet H = _t;\nCe([\n n()\n], H.prototype, \"value\", 1);\nCe([\n n()\n], H.prototype, \"placeholder\", 2);\nCe([\n n({ reflect: !0 })\n], H.prototype, \"size\", 2);\nCe([\n n({ reflect: !0 })\n], H.prototype, \"status\", 2);\nCe([\n n({ type: Boolean, reflect: !0 })\n], H.prototype, \"clearable\", 2);\nCe([\n n({ type: Boolean, reflect: !0 })\n], H.prototype, \"open\", 2);\ncustomElements.get(\"wc-select\") || customElements.define(\"wc-select\", H);\nconst ci = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-slider-height: 20px;\n --wc-slider-track-height: 4px;\n --wc-slider-thumb-size: 16px;\n }\n\n .slider {\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 100%;\n height: var(--wc-slider-height);\n touch-action: none;\n }\n\n .track {\n width: 100%;\n height: var(--wc-slider-track-height);\n background-color: var(--wc-color-gray-200);\n border-radius: var(--wc-radius-round);\n overflow: hidden;\n }\n\n .fill {\n height: 100%;\n background-color: var(--wc-color-primary);\n transition: width var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .thumb {\n position: absolute;\n top: 50%;\n width: var(--wc-slider-thumb-size);\n height: var(--wc-slider-thumb-size);\n background-color: var(--wc-color-bg-container);\n border: 2px solid var(--wc-color-primary);\n border-radius: var(--wc-radius-circle);\n box-shadow: var(--wc-shadow-1);\n box-sizing: border-box;\n pointer-events: none;\n transform: translate(-50%, -50%);\n transition: left var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 原生 range 覆盖整个区域接收交互,视觉隐藏 */\n .native {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n }\n\n .native:focus-visible ~ .thumb {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .native:disabled {\n cursor: not-allowed;\n }\n\n :host([disabled]) .track {\n background-color: var(--wc-color-bg-disabled);\n }\n\n :host([disabled]) .fill {\n background-color: var(--wc-color-border);\n }\n\n :host([disabled]) .thumb {\n border-color: var(--wc-color-border);\n box-shadow: none;\n }\n`;\nvar di = Object.defineProperty, hi = Object.getOwnPropertyDescriptor, Ie = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? hi(e, t) : e, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = (s ? l(e, t, r) : l(r)) || r);\n return s && r && di(e, t, r), r;\n};\nconst Ot = class Ot extends q(d) {\n constructor() {\n super(...arguments), this._value = 0, this.min = 0, this.max = 100, this.step = 1, this.label = \"\";\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = this.clamp(e), this.requestUpdate(\"value\", t);\n }\n /** 按 step 取整并夹在 [min, max] 区间 */\n clamp(e) {\n if (Number.isNaN(e)) return this._value;\n const t = Math.round((e - this.min) / this.step) * this.step + this.min, s = Number(t.toFixed(10));\n return Math.min(this.max, Math.max(this.min, s));\n }\n get percent() {\n return this.max === this.min ? 0 : (this.value - this.min) / (this.max - this.min) * 100;\n }\n get defaultValue() {\n const e = this.getAttribute(\"value\");\n return e ? Number(e) : 0;\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(String(this.value));\n }\n formResetCallback() {\n super.formResetCallback(), this.value = Number(this.defaultValue ?? 0), this.internals.setFormValue(String(this.value));\n }\n handleInput(e) {\n const t = e.target;\n this.value = Number(t.value), this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n render() {\n return c`\n <div class=\"slider\" part=\"base\">\n <div class=\"track\" part=\"track\">\n <div class=\"fill\" part=\"fill\" style=\"width: ${this.percent}%\"></div>\n </div>\n <div class=\"thumb\" part=\"thumb\" style=\"left: ${this.percent}%\"></div>\n <input\n type=\"range\"\n class=\"native\"\n min=${this.min}\n max=${this.max}\n step=${this.step}\n .value=${String(this.value)}\n ?disabled=${this.disabled}\n aria-label=${this.label || void 0}\n @input=${this.handleInput}\n @change=${this.handleChange}\n />\n </div>\n `;\n }\n};\nOt.styles = [p, ci];\nlet W = Ot;\nIe([\n n({ type: Number })\n], W.prototype, \"value\", 1);\nIe([\n n({ type: Number })\n], W.prototype, \"min\", 2);\nIe([\n n({ type: Number })\n], W.prototype, \"max\", 2);\nIe([\n n({ type: Number })\n], W.prototype, \"step\", 2);\nIe([\n n()\n], W.prototype, \"label\", 2);\ncustomElements.get(\"wc-slider\") || customElements.define(\"wc-slider\", W);\nconst pi = h`\n :host {\n display: inline-block;\n width: 144px;\n\n /* component 层令牌 */\n --wc-input-number-height: 32px;\n --wc-input-number-padding-x: var(--wc-space-2);\n --wc-input-number-font-size: var(--wc-font-size-medium);\n --wc-input-number-radius: var(--wc-radius-medium);\n --wc-input-number-step-width: 28px;\n }\n\n :host([size='small']) {\n --wc-input-number-height: 24px;\n --wc-input-number-padding-x: var(--wc-space-1);\n --wc-input-number-font-size: var(--wc-font-size-small);\n --wc-input-number-step-width: 24px;\n }\n\n :host([size='large']) {\n --wc-input-number-height: 40px;\n --wc-input-number-padding-x: var(--wc-space-3);\n --wc-input-number-font-size: var(--wc-font-size-large);\n --wc-input-number-step-width: 32px;\n }\n\n .number {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: var(--wc-input-number-height);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-input-number-radius);\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .number:focus-within {\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .inner {\n flex: 1;\n min-width: 0;\n padding: 0 var(--wc-input-number-padding-x);\n font-family: inherit;\n font-size: var(--wc-input-number-font-size);\n color: var(--wc-color-text);\n text-align: center;\n background: transparent;\n border: none;\n outline: none;\n caret-color: var(--wc-color-primary);\n }\n\n :host([theme='column']) .inner,\n :host([theme='normal']) .inner {\n text-align: inherit;\n }\n\n .inner::placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .inner:disabled {\n cursor: not-allowed;\n }\n\n .step {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--wc-input-number-step-width);\n padding: 0;\n color: var(--wc-color-text-secondary);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: 0;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .step:hover:not(:disabled):not(:active) {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .step:active:not(:disabled) {\n color: var(--wc-color-primary-active);\n }\n\n .step:disabled {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n\n .step wc-icon {\n pointer-events: none;\n }\n\n /* ---- column 主题:步进按钮右侧纵向堆叠 ---- */\n .stepper {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n width: 22px;\n border-left: 1px solid var(--wc-color-border);\n }\n\n :host([theme='column']) .step {\n flex: 1;\n width: 100%;\n }\n\n :host([theme='column']) .step wc-icon {\n font-size: 10px;\n }\n\n .stepper .step + .step {\n border-top: 1px solid var(--wc-color-border);\n }\n\n /* row 主题:左右两个按钮与边框衔接处不留圆角缝隙 */\n :host([theme='row']) .number {\n overflow: hidden;\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .number {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .number {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .number {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .number:focus-within {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 / 只读 ---- */\n :host([disabled]) .number {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .inner {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .number {\n border-style: dashed;\n }\n`;\nvar ui = Object.defineProperty, vi = Object.getOwnPropertyDescriptor, j = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? vi(e, t) : e, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = (s ? l(e, t, r) : l(r)) || r);\n return s && r && ui(e, t, r), r;\n};\nconst Pt = class Pt extends q(d) {\n constructor() {\n super(...arguments), this._value = 0, this.min = -1 / 0, this.max = 1 / 0, this.step = 1, this.theme = \"row\", this.size = \"medium\", this.placeholder = \"\", this.label = \"\", this.readonly = !1, this.status = \"default\", this.localize = new b(this), this._editing = !1, this._text = \"\";\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = this.clamp(e), this.requestUpdate(\"value\", t);\n }\n /** 按 step 取整并夹在 [min, max] 区间(与 Slider 同一套算法,额外处理 ±Infinity 边界) */\n clamp(e) {\n if (Number.isNaN(e)) return this._value;\n const t = Number.isFinite(this.min) ? Math.round((e - this.min) / this.step) * this.step + this.min : Math.round(e / this.step) * this.step, s = Number(t.toFixed(10));\n return Math.min(this.max, Math.max(this.min, s));\n }\n formatValue() {\n return String(this._value);\n }\n get defaultValue() {\n const e = this.getAttribute(\"value\");\n return e ? Number(e) : 0;\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(String(this.value));\n }\n formResetCallback() {\n super.formResetCallback(), this.value = Number(this.defaultValue ?? 0), this.internals.setFormValue(String(this.value));\n }\n /** 步进:按钮点击与 ↑/↓ 键盘共用;值未变化时不派发事件 */\n stepBy(e) {\n if (this.disabled || this.readonly) return;\n const t = this.clamp(this.value + e * this.step);\n t !== this.value && (this.value = t, this.internals.setFormValue(String(this.value)), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n ));\n }\n /** 提交编辑中的文本:空/非法回退当前值,合法则取整夹紧后提交 */\n commit() {\n if (!this._editing) return;\n this._editing = !1, this._text = \"\";\n const e = this.shadowRoot.querySelector(\".inner\").value.trim(), t = Number(e), s = e === \"\" || Number.isNaN(t) ? this._value : this.clamp(t);\n this.requestUpdate(), s !== this._value && (this.value = s, this.internals.setFormValue(String(this.value)), this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: this.value },\n bubbles: !0,\n composed: !0\n })\n ));\n }\n handleFocus() {\n this._editing = !0, this._text = this.formatValue(), this.requestUpdate();\n }\n handleBlur() {\n this.commit();\n }\n handleInput(e) {\n const t = e.target;\n this._text = t.value, this.dispatchEvent(\n new CustomEvent(\"wc-input\", {\n detail: { value: Number(t.value), text: t.value },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleKeydown(e) {\n e.key === \"ArrowUp\" ? (e.preventDefault(), this.stepBy(1)) : e.key === \"ArrowDown\" ? (e.preventDefault(), this.stepBy(-1)) : e.key === \"Enter\" && this.commit();\n }\n get canDecrement() {\n return !this.disabled && !this.readonly && this.value > this.min;\n }\n get canIncrement() {\n return !this.disabled && !this.readonly && this.value < this.max;\n }\n render() {\n const e = (s) => {\n const r = s === 1;\n return c`\n <button\n type=\"button\"\n class=\"step ${r ? \"plus\" : \"minus\"}\"\n part=${r ? \"increment-button\" : \"decrement-button\"}\n tabindex=\"-1\"\n ?disabled=${r ? !this.canIncrement : !this.canDecrement}\n aria-label=${this.localize.term(r ? \"inputNumber.increment\" : \"inputNumber.decrement\")}\n @click=${() => this.stepBy(s)}\n >\n <wc-icon name=${r ? \"plus\" : \"minus\"}></wc-icon>\n </button>\n `;\n }, t = c`\n <input\n part=\"input\"\n class=\"inner\"\n type=\"text\"\n inputmode=\"decimal\"\n .value=${this._editing ? this._text : this.formatValue()}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n placeholder=${this.placeholder}\n aria-label=${this.label || void 0}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @input=${this.handleInput}\n @keydown=${this.handleKeydown}\n />\n `;\n return this.theme === \"normal\" ? c`<div class=\"number\" part=\"base\">${t}</div>` : this.theme === \"column\" ? c`\n <div class=\"number\" part=\"base\">\n ${t}\n <span class=\"stepper\" part=\"stepper\"> ${e(1)}${e(-1)} </span>\n </div>\n ` : c` <div class=\"number\" part=\"base\">${e(-1)}${t}${e(1)}</div> `;\n }\n};\nPt.styles = [p, pi];\nlet $ = Pt;\nj([\n n({ type: Number })\n], $.prototype, \"value\", 1);\nj([\n n({ type: Number })\n], $.prototype, \"min\", 2);\nj([\n n({ type: Number })\n], $.prototype, \"max\", 2);\nj([\n n({ type: Number })\n], $.prototype, \"step\", 2);\nj([\n n({ reflect: !0 })\n], $.prototype, \"theme\", 2);\nj([\n n({ reflect: !0 })\n], $.prototype, \"size\", 2);\nj([\n n()\n], $.prototype, \"placeholder\", 2);\nj([\n n()\n], $.prototype, \"label\", 2);\nj([\n n({ type: Boolean, reflect: !0 })\n], $.prototype, \"readonly\", 2);\nj([\n n({ reflect: !0 })\n], $.prototype, \"status\", 2);\ncustomElements.get(\"wc-input-number\") || customElements.define(\"wc-input-number\", $);\nconst wi = h`\n :host {\n display: inline-block;\n width: 240px;\n\n /* component 层令牌 */\n --wc-date-picker-height: 32px;\n --wc-date-picker-padding-x: var(--wc-space-2);\n --wc-date-picker-font-size: var(--wc-font-size-medium);\n --wc-date-picker-radius: var(--wc-radius-medium);\n --wc-date-picker-cell-size: 32px;\n }\n\n :host([size='small']) {\n --wc-date-picker-height: 24px;\n --wc-date-picker-padding-x: var(--wc-space-1);\n --wc-date-picker-font-size: var(--wc-font-size-small);\n --wc-date-picker-cell-size: 28px;\n }\n\n :host([size='large']) {\n --wc-date-picker-height: 40px;\n --wc-date-picker-padding-x: var(--wc-space-3);\n --wc-date-picker-font-size: var(--wc-font-size-large);\n --wc-date-picker-cell-size: 36px;\n }\n\n .picker {\n position: relative;\n display: inline-block;\n width: 100%;\n }\n\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n width: 100%;\n height: var(--wc-date-picker-height);\n padding: 0 var(--wc-date-picker-padding-x);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-date-picker-radius);\n cursor: pointer;\n user-select: none;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .trigger:focus-visible {\n outline: none;\n border-color: var(--wc-color-primary);\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .value {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--wc-date-picker-font-size);\n color: var(--wc-color-text);\n }\n\n .value.placeholder {\n color: var(--wc-color-text-placeholder);\n }\n\n .icon {\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n }\n\n .clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n border-radius: var(--wc-radius-circle);\n flex-shrink: 0;\n opacity: 0;\n transition: opacity var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .clear:hover {\n color: var(--wc-color-text-secondary);\n }\n\n .trigger:hover .clear,\n .trigger:focus-visible .clear {\n opacity: 1;\n }\n\n .trigger:hover .clear + .icon {\n display: none;\n }\n\n /* ---- 日历面板 ---- */\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: var(--wc-z-index-dropdown);\n padding: var(--wc-space-3);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-date-picker-radius);\n box-shadow: var(--wc-shadow-2);\n }\n\n .panel[hidden] {\n display: none;\n }\n\n .header {\n display: flex;\n align-items: center;\n gap: var(--wc-space-1);\n margin-bottom: var(--wc-space-2);\n }\n\n .month-label {\n flex: 1;\n min-width: 0;\n font-size: var(--wc-font-size-medium);\n font-weight: var(--wc-font-weight-medium, 500);\n color: var(--wc-color-text);\n text-align: center;\n white-space: nowrap;\n }\n\n .nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n font-size: 12px;\n color: var(--wc-color-text-secondary);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .nav wc-icon + wc-icon {\n margin-left: -10px;\n }\n\n .nav:hover {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .grid {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .row {\n display: grid;\n grid-template-columns: repeat(7, var(--wc-date-picker-cell-size));\n }\n\n .cell {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wc-date-picker-cell-size);\n height: var(--wc-date-picker-cell-size);\n box-sizing: border-box;\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text);\n border: 1px solid transparent;\n border-radius: var(--wc-radius-circle);\n user-select: none;\n }\n\n .cell.weekday {\n height: auto;\n color: var(--wc-color-text-placeholder);\n cursor: default;\n }\n\n .cell.day {\n cursor: pointer;\n transition:\n background-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .cell.day:hover {\n background-color: var(--wc-color-bg-hover);\n }\n\n .cell.day.out {\n color: var(--wc-color-text-placeholder);\n }\n\n .cell.day.today {\n border-color: var(--wc-color-primary);\n color: var(--wc-color-primary);\n }\n\n .cell.day.active {\n box-shadow: inset 0 0 0 1px var(--wc-color-primary);\n }\n\n .cell.day.selected {\n background-color: var(--wc-color-primary);\n color: var(--wc-color-text-anti);\n }\n\n .cell.day.selected.today {\n border-color: var(--wc-color-primary);\n color: var(--wc-color-text-anti);\n }\n\n .footer {\n display: flex;\n justify-content: flex-end;\n margin-top: var(--wc-space-2);\n padding-top: var(--wc-space-2);\n border-top: 1px solid var(--wc-color-border);\n }\n\n .today {\n padding: 2px var(--wc-space-2);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-primary);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .today:hover {\n background-color: var(--wc-color-primary-light);\n }\n\n /* ---- 校验状态 ---- */\n :host([status='success']) .trigger {\n border-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .trigger {\n border-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .trigger {\n border-color: var(--wc-color-error);\n }\n\n :host([status='error']) .trigger:focus-visible {\n border-color: var(--wc-color-error);\n box-shadow: 0 0 0 2px var(--wc-color-error-light);\n }\n\n /* ---- 禁用 / 只读 ---- */\n :host([disabled]) .trigger {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n cursor: not-allowed;\n }\n\n :host([disabled]) .value {\n color: var(--wc-color-text-disabled);\n }\n\n :host([readonly]) .trigger {\n border-style: dashed;\n }\n`;\nvar gi = Object.defineProperty, yi = Object.getOwnPropertyDescriptor, F = (o, e, t, s) => {\n for (var r = s > 1 ? void 0 : s ? yi(e, t) : e, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = (s ? l(e, t, r) : l(r)) || r);\n return s && r && gi(e, t, r), r;\n};\nfunction vr(o) {\n return String(o).padStart(2, \"0\");\n}\nfunction _e(o) {\n return `${o.getFullYear()}-${vr(o.getMonth() + 1)}-${vr(o.getDate())}`;\n}\nfunction Qe(o) {\n const e = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(o);\n if (!e) return null;\n const t = new Date(Number(e[1]), Number(e[2]) - 1, Number(e[3]));\n return Number.isNaN(t.getTime()) ? null : t;\n}\nfunction wr(o, e) {\n return new Date(o.getFullYear(), o.getMonth(), o.getDate() + e);\n}\nconst At = class At extends q(d) {\n constructor() {\n super(), this._value = \"\", this.placeholder = \"\", this.label = \"\", this.size = \"medium\", this.status = \"default\", this.clearable = !1, this.readonly = !1, this.firstDayOfWeek = 0, this.open = !1, this.viewYear = (/* @__PURE__ */ new Date()).getFullYear(), this.viewMonth = (/* @__PURE__ */ new Date()).getMonth(), this.activeIso = \"\", this.localize = new b(this), this.uid = `wc-date-picker-${Math.random().toString(36).slice(2, 8)}`, this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.hide();\n }, this.handleKeydown = (e) => {\n if (!(this.disabled || this.readonly))\n switch (e.key) {\n case \"Enter\":\n case \" \":\n e.preventDefault(), this.open && this.activeIso ? this.selectDate(this.activeIso) : this.show();\n break;\n case \"Escape\":\n e.preventDefault(), this.hide();\n break;\n case \"ArrowLeft\":\n e.preventDefault(), this.open ? this.moveActive(-1) : this.show();\n break;\n case \"ArrowRight\":\n e.preventDefault(), this.open ? this.moveActive(1) : this.show();\n break;\n case \"ArrowUp\":\n e.preventDefault(), this.open ? this.moveActive(-7) : this.show();\n break;\n case \"ArrowDown\":\n e.preventDefault(), this.open ? this.moveActive(7) : this.show();\n break;\n case \"Home\":\n this.open && (e.preventDefault(), this.moveActive(-7));\n break;\n case \"End\":\n this.open && (e.preventDefault(), this.moveActive(7));\n break;\n case \"Tab\":\n this.hide();\n break;\n }\n }, this.addEventListener(\"keydown\", this.handleKeydown);\n }\n get value() {\n return this._value;\n }\n set value(e) {\n const t = this._value;\n this._value = e && Qe(e) ? e : \"\", this.requestUpdate(\"value\", t);\n }\n get defaultValue() {\n return this.getAttribute(\"value\") ?? \"\";\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.internals.setFormValue(this.value || null);\n }\n formResetCallback() {\n super.formResetCallback(), this.value = String(this.defaultValue ?? \"\"), this.internals.setFormValue(this.value || null);\n }\n connectedCallback() {\n super.connectedCallback(), document.addEventListener(\"click\", this.onDocumentClick);\n }\n disconnectedCallback() {\n document.removeEventListener(\"click\", this.onDocumentClick), super.disconnectedCallback();\n }\n /* ---------- 开合(同 Select 模式) ---------- */\n show() {\n if (this.disabled || this.readonly || this.open) return;\n this.open = !0;\n const e = Qe(this.value) ?? /* @__PURE__ */ new Date();\n this.viewYear = e.getFullYear(), this.viewMonth = e.getMonth(), this.activeIso = _e(e);\n }\n hide() {\n this.open && (this.open = !1, this.activeIso = \"\");\n }\n toggle() {\n this.open ? this.hide() : this.show();\n }\n /* ---------- 日历视图 ---------- */\n setView(e, t) {\n this.viewYear = e, this.viewMonth = t, this.requestUpdate();\n }\n prevMonth() {\n const e = this.viewMonth === 0 ? 11 : this.viewMonth - 1, t = this.viewMonth === 0 ? this.viewYear - 1 : this.viewYear;\n this.setView(t, e);\n }\n nextMonth() {\n const e = this.viewMonth === 11 ? 0 : this.viewMonth + 1, t = this.viewMonth === 11 ? this.viewYear + 1 : this.viewYear;\n this.setView(t, e);\n }\n prevYear() {\n this.setView(this.viewYear - 1, this.viewMonth);\n }\n nextYear() {\n this.setView(this.viewYear + 1, this.viewMonth);\n }\n /** 6 行 × 7 列 = 42 格,含前后月补位日期 */\n get calendarCells() {\n const t = (new Date(this.viewYear, this.viewMonth, 1).getDay() - this.firstDayOfWeek + 7) % 7, s = new Date(this.viewYear, this.viewMonth, 1 - t), r = _e(/* @__PURE__ */ new Date()), a = [];\n for (let l = 0; l < 42; l++) {\n const v = wr(s, l), De = _e(v);\n a.push({\n iso: De,\n day: v.getDate(),\n inMonth: v.getMonth() === this.viewMonth,\n isToday: De === r\n });\n }\n return a;\n }\n /** 表头星期标签,顺序按 firstDayOfWeek 旋转(Intl 本地化,中文取单字「日一二三四五六」) */\n get weekdayLabels() {\n return Array.from(\n { length: 7 },\n (e, t) => this.localize.date(new Date(2023, 0, 1 + (this.firstDayOfWeek + t) % 7), {\n weekday: \"narrow\"\n })\n );\n }\n get monthLabel() {\n return this.localize.date(new Date(this.viewYear, this.viewMonth, 1), {\n year: \"numeric\",\n month: \"long\"\n });\n }\n /* ---------- 选择 ---------- */\n selectDate(e) {\n this.value = e, this.hide(), this.dispatchEvent(\n new CustomEvent(\"wc-change\", { detail: { value: e }, bubbles: !0, composed: !0 })\n );\n }\n handleClear(e) {\n e.preventDefault(), e.stopPropagation(), this.value = \"\", this.hide(), this.dispatchEvent(new CustomEvent(\"wc-clear\", { bubbles: !0, composed: !0 })), this.dispatchEvent(\n new CustomEvent(\"wc-change\", { detail: { value: \"\" }, bubbles: !0, composed: !0 })\n );\n }\n selectToday() {\n this.selectDate(_e(/* @__PURE__ */ new Date()));\n }\n onCellClick(e) {\n const t = e.target.closest(\"[data-iso]\");\n t?.dataset.iso && this.selectDate(t.dataset.iso);\n }\n /* ---------- 键盘导航(activedescendant 模式,同 Select) ---------- */\n moveActive(e) {\n if (!this.open) return;\n const t = Qe(this.activeIso) ?? /* @__PURE__ */ new Date(), s = wr(t, e), r = _e(s);\n this.activeIso = r, s.getFullYear() !== this.viewYear || s.getMonth() !== this.viewMonth ? this.setView(s.getFullYear(), s.getMonth()) : this.requestUpdate();\n }\n render() {\n const e = this.clearable && this.value && !this.disabled && !this.readonly, t = this.open ? this.calendarCells : [], s = [];\n for (let r = 0; r < t.length; r += 7) s.push(t.slice(r, r + 7));\n return c`\n <div class=\"picker\" part=\"base\">\n <div\n class=\"trigger\"\n part=\"trigger\"\n role=\"combobox\"\n tabindex=${this.disabled ? -1 : 0}\n aria-haspopup=\"grid\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-label=${this.label || void 0}\n aria-controls=${this.open ? `${this.uid}-panel` : void 0}\n aria-activedescendant=${this.open && this.activeIso ? `${this.uid}-cell-${this.activeIso}` : void 0}\n @click=${this.toggle}\n >\n <span class=\"value ${this.value ? \"\" : \"placeholder\"}\" part=\"value\"\n >${this.value || this.placeholder || this.localize.term(\"datePicker.placeholder\")}</span\n >\n ${e ? c`\n <span\n class=\"clear\"\n part=\"clear-button\"\n role=\"button\"\n aria-label=${this.localize.term(\"input.clear\")}\n @mousedown=${(r) => {\n r.preventDefault(), r.stopPropagation();\n }}\n @click=${this.handleClear}\n >\n <wc-icon name=\"close\"></wc-icon>\n </span>\n ` : \"\"}\n <wc-icon name=\"calendar\" class=\"icon\"></wc-icon>\n </div>\n <div\n class=\"panel\"\n part=\"panel\"\n id=\"${this.uid}-panel\"\n role=\"dialog\"\n aria-label=${this.label || this.localize.term(\"datePicker.placeholder\")}\n ?hidden=${!this.open}\n >\n <div class=\"header\" part=\"header\">\n <button\n type=\"button\"\n class=\"nav\"\n part=\"prev-year-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.prevYear\")}\n @click=${this.prevYear}\n >\n <wc-icon name=\"chevron-left\"></wc-icon><wc-icon name=\"chevron-left\"></wc-icon>\n </button>\n <button\n type=\"button\"\n class=\"nav\"\n part=\"prev-month-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.prevMonth\")}\n @click=${this.prevMonth}\n >\n <wc-icon name=\"chevron-left\"></wc-icon>\n </button>\n <span class=\"month-label\" part=\"month-label\">${this.monthLabel}</span>\n <button\n type=\"button\"\n class=\"nav\"\n part=\"next-month-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.nextMonth\")}\n @click=${this.nextMonth}\n >\n <wc-icon name=\"chevron-right\"></wc-icon>\n </button>\n <button\n type=\"button\"\n class=\"nav\"\n part=\"next-year-button\"\n tabindex=\"-1\"\n aria-label=${this.localize.term(\"datePicker.nextYear\")}\n @click=${this.nextYear}\n >\n <wc-icon name=\"chevron-right\"></wc-icon><wc-icon name=\"chevron-right\"></wc-icon>\n </button>\n </div>\n <div class=\"grid\" part=\"grid\" role=\"grid\">\n <div class=\"row weekdays\" role=\"row\">\n ${this.weekdayLabels.map(\n (r) => c`<span class=\"cell weekday\" role=\"columnheader\">${r}</span>`\n )}\n </div>\n ${s.map(\n (r) => c`\n <div class=\"row\" role=\"row\">\n ${r.map(\n (a) => c`\n <span\n class=\"cell day ${a.inMonth ? \"\" : \"out\"} ${a.iso === this.value ? \"selected\" : \"\"} ${a.iso === this.activeIso ? \"active\" : \"\"}\"\n role=\"gridcell\"\n data-iso=${a.iso}\n id=\"${this.uid}-cell-${a.iso}\"\n aria-selected=${a.iso === this.value}\n @click=${this.onCellClick}\n >${a.day}</span\n >\n `\n )}\n </div>\n `\n )}\n </div>\n <div class=\"footer\" part=\"footer\">\n <button\n type=\"button\"\n class=\"today\"\n part=\"today-button\"\n tabindex=\"-1\"\n @click=${this.selectToday}\n >\n ${this.localize.term(\"datePicker.today\")}\n </button>\n </div>\n </div>\n </div>\n `;\n }\n};\nAt.styles = [p, wi];\nlet M = At;\nF([\n n()\n], M.prototype, \"value\", 1);\nF([\n n()\n], M.prototype, \"placeholder\", 2);\nF([\n n()\n], M.prototype, \"label\", 2);\nF([\n n({ reflect: !0 })\n], M.prototype, \"size\", 2);\nF([\n n({ reflect: !0 })\n], M.prototype, \"status\", 2);\nF([\n n({ type: Boolean, reflect: !0 })\n], M.prototype, \"clearable\", 2);\nF([\n n({ type: Boolean, reflect: !0 })\n], M.prototype, \"readonly\", 2);\nF([\n n({ type: Number, attribute: \"first-day-of-week\" })\n], M.prototype, \"firstDayOfWeek\", 2);\nF([\n n({ type: Boolean, reflect: !0 })\n], M.prototype, \"open\", 2);\ncustomElements.get(\"wc-date-picker\") || customElements.define(\"wc-date-picker\", M);\nconst $r = h`\n :host {\n display: block;\n }\n\n .form {\n margin: 0;\n padding: 0;\n }\n\n .item {\n display: grid;\n grid-template-columns: var(--wc-form-label-width, 80px) 1fr;\n gap: var(--wc-space-2);\n align-items: start;\n margin-bottom: var(--wc-space-4);\n }\n\n .label {\n padding-right: var(--wc-space-2);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-form-line-height, 32px);\n color: var(--wc-color-text);\n text-align: right;\n overflow-wrap: break-word;\n }\n\n .asterisk {\n margin-right: 2px;\n color: var(--wc-color-error);\n }\n\n .asterisk[hidden] {\n display: none;\n }\n\n .control {\n min-width: 0;\n }\n\n .error {\n margin-top: var(--wc-space-1);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-error);\n }\n\n .error[hidden] {\n display: none;\n }\n\n :host([disabled]) .label {\n color: var(--wc-color-text-disabled);\n }\n`, It = class It extends d {\n constructor() {\n super(), this.onSubmit = (e) => {\n e.preventDefault(), this.submit();\n }, this.onHostClick = (e) => {\n const t = e.composedPath().find(\n (r) => r instanceof Element && r.tagName === \"WC-BUTTON\"\n );\n if (!t) return;\n const s = t.getAttribute(\"html-type\");\n s === \"submit\" ? (e.preventDefault(), this.submit()) : s === \"reset\" && (e.preventDefault(), this.reset());\n }, this.addEventListener(\"click\", this.onHostClick);\n }\n connectedCallback() {\n super.connectedCallback(), this.addEventListener(\"submit\", this.onSubmit);\n }\n /** 全部表单项 */\n getItems() {\n return (this.shadowRoot.querySelector(\"slot\")?.assignedElements() ?? []).filter(\n (t) => t.tagName === \"WC-FORM-ITEM\"\n );\n }\n /** 按字段名取表单项 */\n getItem(e) {\n return this.getItems().find((t) => t.name === e);\n }\n /** 整体校验:逐项执行并聚合结果,失败时聚焦第一个错误控件 */\n async validate() {\n const e = {};\n for (const s of this.getItems()) {\n const r = await s.validate();\n r && (e[s.name || `field-${Object.keys(e).length}`] = r);\n }\n const t = Object.values(e)[0] ?? \"\";\n return t && this.focusFirstError(), { valid: Object.keys(e).length === 0, errors: e, firstError: t };\n }\n /** 重置全部表单项(恢复控件默认值并清除错误) */\n reset() {\n for (const e of this.getItems())\n e.reset();\n }\n /** 触发提交流程(等同点击 submit 按钮) */\n async submit() {\n const e = await this.validate();\n this.dispatchEvent(\n new CustomEvent(\"wc-submit\", { detail: e, bubbles: !0, composed: !0 })\n );\n }\n focusFirstError() {\n const e = this.getItems().find((t) => t.error)?.control;\n !e || typeof e.focus != \"function\" || (e.focus(), document.activeElement !== e && e.shadowRoot?.querySelector(\n \"input, textarea, button, [tabindex]\"\n )?.focus());\n }\n render() {\n return c`\n <form class=\"form\" part=\"form\" novalidate>\n <slot></slot>\n </form>\n `;\n }\n};\nIt.styles = [p, $r];\nlet at = It;\ncustomElements.get(\"wc-form\") || customElements.define(\"wc-form\", at);\nvar bi = Object.defineProperty, U = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && bi(e, t, r), r;\n};\nconst Lt = class Lt extends d {\n constructor() {\n super(), this.name = \"\", this.label = \"\", this.required = !1, this.pattern = \"\", this.rules = [], this._error = \"\", this.localize = new b(this), this.onControlInteract = () => {\n this.validate();\n }, this.addEventListener(\"wc-change\", this.onControlInteract), this.addEventListener(\"blur\", this.onControlInteract, !0);\n }\n get error() {\n return this._error;\n }\n /** 插槽第一个元素,即表单控件 */\n get control() {\n return this.shadowRoot.querySelector(\"slot\")?.assignedElements()[0] ?? null;\n }\n /** 读取控件值:兼容自家组件与原生表单元素 */\n get controlValue() {\n return this.control?.value ?? \"\";\n }\n /** 声明式属性 + rules 合并后的生效规则 */\n get effectiveRules() {\n const e = [];\n return this.required && e.push({ required: !0 }), this.min !== void 0 && e.push({ min: this.min }), this.max !== void 0 && e.push({ max: this.max }), this.minLength !== void 0 && e.push({ minLength: this.minLength }), this.maxLength !== void 0 && e.push({ maxLength: this.maxLength }), this.pattern && e.push({ pattern: this.pattern }), [...e, ...this.rules];\n }\n /** 校验当前值:返回错误消息(空字符串表示通过),同时更新错误显示与控件状态 */\n async validate() {\n const e = this.controlValue;\n for (const t of this.effectiveRules) {\n const s = await this.checkRule(t, e);\n if (s)\n return this.setError(s), s;\n }\n return this.clearError(), \"\";\n }\n async checkRule(e, t) {\n const s = this.label || this.name || \"\", r = (l, v) => e.message ?? this.localize.term(l, { name: s, ...v }), a = t === \"\" || t == null || Array.isArray(t) && t.length === 0;\n if (e.required && a) return r(\"form.required\");\n if (a) return \"\";\n if (e.min !== void 0 && Number(t) < e.min)\n return r(\"form.min\", { min: e.min });\n if (e.max !== void 0 && Number(t) > e.max)\n return r(\"form.max\", { max: e.max });\n if (e.minLength !== void 0 && String(t).length < e.minLength)\n return r(\"form.minLength\", { minLength: e.minLength });\n if (e.maxLength !== void 0 && String(t).length > e.maxLength)\n return r(\"form.maxLength\", { maxLength: e.maxLength });\n if (e.pattern && !(typeof e.pattern == \"string\" ? new RegExp(e.pattern) : e.pattern).test(String(t)))\n return r(\"form.pattern\");\n if (e.validator) {\n const l = await e.validator(t);\n if (l === !1) return r(\"form.invalid\");\n if (typeof l == \"string\" && l) return l;\n }\n return \"\";\n }\n setError(e) {\n this._error = e, this.applyControlStatus(), this.requestUpdate();\n }\n /** 清除错误显示,并恢复控件校验状态 */\n clearError() {\n this._error && (this._error = \"\", this.applyControlStatus(), this.requestUpdate());\n }\n /** 把校验状态同步到控件(自家组件有 status 属性,原生控件跳过) */\n applyControlStatus() {\n const e = this.control;\n e && \"status\" in e && (e.status = this._error ? \"error\" : \"default\");\n }\n /** 重置控件值并清除错误(自家组件走 formResetCallback,原生控件清空 value) */\n reset() {\n const e = this.control;\n e && (typeof e.formResetCallback == \"function\" ? e.formResetCallback() : \"value\" in e && (e.value = \"\"), this.clearError());\n }\n render() {\n return c`\n <div class=\"item\" part=\"base\">\n <label class=\"label\" part=\"label\">\n <span class=\"asterisk\" ?hidden=${!this.required}>*</span>${this.label}\n </label>\n <div class=\"control\" part=\"control\">\n <slot></slot>\n <div class=\"error\" part=\"error\" role=\"alert\" ?hidden=${!this._error}>${this._error}</div>\n </div>\n </div>\n `;\n }\n};\nLt.styles = [p, $r];\nlet E = Lt;\nU([\n n()\n], E.prototype, \"name\");\nU([\n n()\n], E.prototype, \"label\");\nU([\n n({ type: Boolean, reflect: !0 })\n], E.prototype, \"required\");\nU([\n n({ type: Number })\n], E.prototype, \"min\");\nU([\n n({ type: Number })\n], E.prototype, \"max\");\nU([\n n({ type: Number, attribute: \"min-length\" })\n], E.prototype, \"minLength\");\nU([\n n({ type: Number, attribute: \"max-length\" })\n], E.prototype, \"maxLength\");\nU([\n n()\n], E.prototype, \"pattern\");\nU([\n n({ attribute: !1 })\n], E.prototype, \"rules\");\ncustomElements.get(\"wc-form-item\") || customElements.define(\"wc-form-item\", E);\nconst mi = h`\n :host {\n display: block;\n\n /* component 层令牌 */\n --wc-divider-color: var(--wc-color-border);\n --wc-divider-text-gap: var(--wc-space-3);\n }\n\n :host([vertical]) {\n display: inline-block;\n }\n\n .divider {\n display: flex;\n align-items: center;\n gap: var(--wc-divider-text-gap);\n margin: var(--wc-space-4) 0;\n }\n\n .content {\n flex-shrink: 0;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-secondary);\n white-space: nowrap;\n }\n\n .content[hidden] {\n display: none;\n }\n\n .line {\n display: block;\n flex: 1;\n /* 不能用 height: 0 + 背景——0 高度画不出背景色,实线会不可见 */\n height: 1px;\n background-color: var(--wc-divider-color);\n }\n\n :host([dashed]) .line {\n height: 0;\n background: none;\n border-top: 1px dashed var(--wc-divider-color);\n }\n\n .line.vertical {\n display: inline-block;\n flex: none;\n width: 1px;\n height: 1em;\n margin: 0 var(--wc-space-2);\n vertical-align: middle;\n }\n\n :host([dashed]) .line.vertical {\n width: 0;\n height: 1em;\n background: none;\n border-left: 1px dashed var(--wc-divider-color);\n }\n\n /* 文案对齐:一侧线固定短 */\n .align-left .line.start {\n flex: 0 0 var(--wc-space-4);\n }\n\n .align-right .line.end {\n flex: 0 0 var(--wc-space-4);\n }\n\n .align-left .content {\n order: -1;\n }\n\n :host([vertical]) .divider {\n margin: 0;\n }\n`;\nvar fi = Object.defineProperty, vt = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && fi(e, t, r), r;\n};\nconst Tt = class Tt extends d {\n constructor() {\n super(...arguments), this.dashed = !1, this.align = \"center\", this.vertical = !1, this._hasContent = !1;\n }\n onSlotChange(e) {\n this._hasContent = e.target.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();\n }\n render() {\n return this.vertical ? c`<span class=\"line vertical\" part=\"line\"></span>` : c`\n <div class=\"divider ${`align-${this.align}`}\" part=\"base\">\n <span class=\"line start\" part=\"line\"></span>\n <span class=\"content\" part=\"content\" ?hidden=${!this._hasContent}>\n <slot @slotchange=${this.onSlotChange}></slot>\n </span>\n <span class=\"line end\" part=\"line\"></span>\n </div>\n `;\n }\n};\nTt.styles = [p, mi];\nlet ke = Tt;\nvt([\n n({ type: Boolean, reflect: !0 })\n], ke.prototype, \"dashed\");\nvt([\n n({ reflect: !0 })\n], ke.prototype, \"align\");\nvt([\n n({ type: Boolean, reflect: !0 })\n], ke.prototype, \"vertical\");\ncustomElements.get(\"wc-divider\") || customElements.define(\"wc-divider\", ke);\nconst xi = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-tag-height: 24px;\n --wc-tag-font-size: var(--wc-font-size-small);\n --wc-tag-padding-x: var(--wc-space-2);\n --wc-tag-radius: var(--wc-radius-small);\n }\n\n :host([size='small']) {\n --wc-tag-height: 20px;\n --wc-tag-font-size: var(--wc-font-size-small);\n --wc-tag-padding-x: var(--wc-space-1);\n }\n\n :host([size='large']) {\n --wc-tag-height: 28px;\n --wc-tag-font-size: var(--wc-font-size-medium);\n --wc-tag-padding-x: var(--wc-space-2);\n }\n\n .tag {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n height: var(--wc-tag-height);\n padding: 0 var(--wc-tag-padding-x);\n font-size: var(--wc-tag-font-size);\n line-height: 1;\n white-space: nowrap;\n border: 1px solid transparent;\n border-radius: var(--wc-tag-radius);\n box-sizing: border-box;\n transition: opacity var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .icon {\n display: inline-flex;\n align-items: center;\n font-size: 1em;\n }\n\n /* 未分配图标时 slot 渲染占位 fallback,隐藏以消除多余间隙 */\n .icon:has(.icon-placeholder) {\n display: none;\n }\n\n /* ---- 关闭按钮 ---- */\n .close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n padding: 0;\n font-size: 10px;\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-circle);\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n background-color: var(--wc-color-overlay-hover);\n }\n\n .close wc-icon {\n pointer-events: none;\n }\n\n /* ---- default 主题 ---- */\n :host([theme='default']) .tag {\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container-secondary);\n border-color: var(--wc-color-border);\n }\n\n /* ---- 语义色 × light 浅底(默认 type) ---- */\n :host([theme='primary']) .tag {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-primary-light);\n }\n\n :host([theme='success']) .tag {\n color: var(--wc-color-success);\n background-color: var(--wc-color-success-bg);\n }\n\n :host([theme='warning']) .tag {\n color: var(--wc-color-warning);\n background-color: var(--wc-color-warning-bg);\n }\n\n :host([theme='danger']) .tag {\n color: var(--wc-color-error);\n background-color: var(--wc-color-error-bg);\n }\n\n /* ---- dark 实底 ---- */\n :host([type='dark'][theme='default']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-text-secondary);\n border-color: transparent;\n }\n\n :host([type='dark'][theme='primary']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-primary);\n }\n\n :host([type='dark'][theme='success']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-success);\n }\n\n :host([type='dark'][theme='warning']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-warning);\n }\n\n :host([type='dark'][theme='danger']) .tag {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-error);\n }\n\n /* ---- outline 描边 ---- */\n :host([type='outline']) .tag {\n background-color: transparent;\n }\n\n :host([type='outline'][theme='default']) .tag {\n border-color: var(--wc-color-border);\n }\n\n :host([type='outline'][theme='primary']) .tag {\n border-color: var(--wc-color-primary);\n }\n\n :host([type='outline'][theme='success']) .tag {\n border-color: var(--wc-color-success);\n }\n\n :host([type='outline'][theme='warning']) .tag {\n border-color: var(--wc-color-warning);\n }\n\n :host([type='outline'][theme='danger']) .tag {\n border-color: var(--wc-color-error);\n }\n\n /* ---- 禁用 ---- */\n :host([disabled]) .tag {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n :host([disabled]) .close {\n cursor: not-allowed;\n }\n`;\nvar ki = Object.defineProperty, Le = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && ki(e, t, r), r;\n};\nconst Dt = class Dt extends d {\n constructor() {\n super(...arguments), this.theme = \"default\", this.size = \"medium\", this.type = \"light\", this.closable = !1, this.disabled = !1, this.localize = new b(this);\n }\n handleClose(e) {\n e.stopPropagation(), !this.disabled && this.dispatchEvent(new CustomEvent(\"wc-close\", { bubbles: !0, composed: !0 }));\n }\n render() {\n return c`\n <span class=\"tag\" part=\"base\">\n <slot name=\"icon\" class=\"icon\"><span class=\"icon-placeholder\"></span></slot>\n <slot></slot>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n tabindex=\"-1\"\n ?disabled=${this.disabled}\n aria-label=${this.localize.term(\"tag.close\")}\n @click=${this.handleClose}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </span>\n `;\n }\n};\nDt.styles = [p, xi];\nlet X = Dt;\nLe([\n n({ reflect: !0 })\n], X.prototype, \"theme\");\nLe([\n n({ reflect: !0 })\n], X.prototype, \"size\");\nLe([\n n({ reflect: !0 })\n], X.prototype, \"type\");\nLe([\n n({ type: Boolean, reflect: !0 })\n], X.prototype, \"closable\");\nLe([\n n({ type: Boolean, reflect: !0 })\n], X.prototype, \"disabled\");\ncustomElements.get(\"wc-tag\") || customElements.define(\"wc-tag\", X);\nconst $i = h`\n :host {\n display: inline-block;\n\n /* component 层令牌(预设档位会覆写) */\n --wc-avatar-size: 32px;\n --wc-avatar-font-size: var(--wc-font-size-medium);\n }\n\n .avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n width: var(--wc-avatar-size);\n height: var(--wc-avatar-size);\n font-size: var(--wc-avatar-font-size);\n color: var(--wc-color-text);\n white-space: nowrap;\n user-select: none;\n background-color: var(--wc-color-bg-container-secondary);\n }\n\n .avatar.small {\n --wc-avatar-size: 24px;\n --wc-avatar-font-size: var(--wc-font-size-small);\n }\n\n .avatar.large {\n --wc-avatar-size: 40px;\n --wc-avatar-font-size: var(--wc-font-size-large);\n }\n\n .avatar.shape-circle {\n border-radius: var(--wc-radius-circle);\n }\n\n .avatar.shape-round {\n border-radius: var(--wc-radius-large);\n }\n\n .avatar.shape-square {\n border-radius: var(--wc-radius-small);\n }\n\n .avatar ::slotted(img) {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .avatar ::slotted(wc-icon) {\n color: var(--wc-color-text-placeholder);\n }\n`;\nvar zi = Object.defineProperty, zr = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && zi(e, t, r), r;\n};\nconst Ci = [\"small\", \"medium\", \"large\"], Vt = class Vt extends d {\n constructor() {\n super(...arguments), this.size = \"medium\", this.shape = \"circle\";\n }\n get isPreset() {\n return Ci.includes(this.size);\n }\n get customStyle() {\n if (this.isPreset) return \"\";\n const e = this.size.trim(), t = /^\\d+$/.test(e) ? `${e}px` : e;\n return `--wc-avatar-size:${t};--wc-avatar-font-size:${t}`;\n }\n render() {\n return c`\n <div\n class=\"avatar ${this.isPreset ? this.size : \"custom\"} shape-${this.shape}\"\n part=\"base\"\n style=${this.customStyle}\n >\n <slot></slot>\n </div>\n `;\n }\n};\nVt.styles = [p, $i];\nlet Pe = Vt;\nzr([\n n()\n], Pe.prototype, \"size\");\nzr([\n n({ reflect: !0 })\n], Pe.prototype, \"shape\");\ncustomElements.get(\"wc-avatar\") || customElements.define(\"wc-avatar\", Pe);\nconst Mi = h`\n :host {\n display: inline-block;\n }\n\n :host([direction='vertical']) {\n display: block;\n }\n\n .space {\n display: flex;\n gap: var(--wc-space-gap, var(--wc-space-4));\n }\n\n /* slot 透明化,让 slotted 子元素直接成为 flex item,gap 才能生效 */\n .space slot {\n display: contents;\n }\n\n :host([direction='vertical']) .space {\n flex-direction: column;\n }\n\n :host([wrap]) .space {\n flex-wrap: wrap;\n }\n\n .align-start {\n align-items: flex-start;\n }\n\n .align-center {\n align-items: center;\n }\n\n .align-end {\n align-items: flex-end;\n }\n\n .align-baseline {\n align-items: baseline;\n }\n\n .align-stretch {\n align-items: stretch;\n }\n`;\nvar Ei = Object.defineProperty, Re = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Ei(e, t, r), r;\n};\nconst Si = {\n small: \"var(--wc-space-2)\",\n medium: \"var(--wc-space-4)\",\n large: \"var(--wc-space-6)\"\n}, jt = class jt extends d {\n constructor() {\n super(...arguments), this.size = \"medium\", this.direction = \"horizontal\", this.wrap = !1;\n }\n get gapValue() {\n const e = Si[this.size];\n if (e) return e;\n const t = this.size.trim();\n return /^\\d+$/.test(t) ? `${t}px` : t;\n }\n render() {\n return c`\n <div\n class=\"space ${`align-${this.align ?? (this.direction === \"vertical\" ? \"stretch\" : \"center\")}`}\"\n part=\"base\"\n style=${`--wc-space-gap:${this.gapValue}`}\n >\n <slot></slot>\n </div>\n `;\n }\n};\njt.styles = [p, Mi];\nlet ie = jt;\nRe([\n n()\n], ie.prototype, \"size\");\nRe([\n n({ reflect: !0 })\n], ie.prototype, \"direction\");\nRe([\n n({ reflect: !0 })\n], ie.prototype, \"align\");\nRe([\n n({ type: Boolean, reflect: !0 })\n], ie.prototype, \"wrap\");\ncustomElements.get(\"wc-space\") || customElements.define(\"wc-space\", ie);\nconst Cr = h`\n :host {\n display: block;\n }\n\n wc-row,\n :host(wc-row) {\n display: block;\n }\n\n wc-col,\n :host(wc-col) {\n display: contents;\n }\n\n .row {\n display: flex;\n column-gap: var(--wc-row-gutter, 0);\n }\n\n .row slot {\n display: contents;\n }\n\n :host([wrap]) .row {\n flex-wrap: wrap;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-space-between {\n justify-content: space-between;\n }\n\n .justify-space-around {\n justify-content: space-around;\n }\n\n .justify-space-evenly {\n justify-content: space-evenly;\n }\n\n .align-top {\n align-items: flex-start;\n }\n\n .align-middle {\n align-items: center;\n }\n\n .align-bottom {\n align-items: flex-end;\n }\n\n .align-stretch {\n align-items: stretch;\n }\n\n .col {\n box-sizing: border-box;\n min-width: 0;\n padding-right: calc(var(--wc-row-gutter, 0) / 2);\n padding-left: calc(var(--wc-row-gutter, 0) / 2);\n }\n`;\nvar _i = Object.defineProperty, Me = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && _i(e, t, r), r;\n};\nconst Ht = class Ht extends d {\n constructor() {\n super(...arguments), this.gutter = 0, this.justify = \"start\", this.align = \"top\", this.wrap = !1;\n }\n render() {\n return c`\n <div\n class=\"row ${`justify-${this.justify} align-${this.align}`}\"\n part=\"base\"\n style=${this.gutter ? `--wc-row-gutter:${this.gutter}px` : \"\"}\n >\n <slot></slot>\n </div>\n `;\n }\n};\nHt.styles = [p, Cr];\nlet oe = Ht;\nMe([\n n({ type: Number })\n], oe.prototype, \"gutter\");\nMe([\n n({ reflect: !0 })\n], oe.prototype, \"justify\");\nMe([\n n({ reflect: !0 })\n], oe.prototype, \"align\");\nMe([\n n({ type: Boolean, reflect: !0 })\n], oe.prototype, \"wrap\");\nconst Bt = class Bt extends d {\n constructor() {\n super(...arguments), this.span = 24, this.offset = 0;\n }\n get widthPercent() {\n return `${(Math.min(24, Math.max(1, Math.round(this.span) || 24)) / 24 * 100).toFixed(4)}%`;\n }\n get offsetPercent() {\n return `${(Math.min(23, Math.max(0, Math.round(this.offset) || 0)) / 24 * 100).toFixed(4)}%`;\n }\n render() {\n return c`\n <div\n class=\"col\"\n part=\"base\"\n style=${`width:${this.widthPercent};margin-left:${this.offsetPercent}`}\n >\n <slot></slot>\n </div>\n `;\n }\n};\nBt.styles = [p, Cr];\nlet Ae = Bt;\nMe([\n n({ type: Number })\n], Ae.prototype, \"span\");\nMe([\n n({ type: Number })\n], Ae.prototype, \"offset\");\ncustomElements.get(\"wc-row\") || customElements.define(\"wc-row\", oe);\ncustomElements.get(\"wc-col\") || customElements.define(\"wc-col\", Ae);\nconst Oi = h`\n :host {\n display: inline;\n }\n\n :host([type='heading']) {\n display: block;\n }\n\n .text {\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n }\n\n .text slot {\n display: contents;\n }\n\n /* ---- 标题级别(h4~h6 无对应全局令牌,组件层补齐) ---- */\n .heading {\n font-weight: var(--wc-font-weight-semibold);\n line-height: 1.4;\n color: var(--wc-color-text);\n }\n\n .level-1 {\n font-size: var(--wc-font-size-h1);\n }\n\n .level-2 {\n font-size: var(--wc-font-size-h2);\n }\n\n .level-3 {\n font-size: var(--wc-font-size-h3);\n }\n\n .level-4 {\n font-size: var(--wc-font-size-large);\n }\n\n .level-5 {\n font-size: var(--wc-font-size-medium);\n }\n\n .level-6 {\n font-size: var(--wc-font-size-medium);\n font-weight: var(--wc-font-weight-medium);\n }\n\n /* ---- 语义色 ---- */\n :host([theme='secondary']) .text {\n color: var(--wc-color-text-secondary);\n }\n\n :host([theme='success']) .text {\n color: var(--wc-color-success);\n }\n\n :host([theme='warning']) .text {\n color: var(--wc-color-warning);\n }\n\n :host([theme='danger']) .text {\n color: var(--wc-color-error);\n }\n\n /* ---- 禁用 ---- */\n :host([disabled]) .text {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n user-select: none;\n }\n`;\nvar Pi = Object.defineProperty, Fe = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Pi(e, t, r), r;\n};\nconst Nt = class Nt extends d {\n constructor() {\n super(...arguments), this.type = \"text\", this.level = 3, this.theme = \"default\", this.disabled = !1;\n }\n get headingLevel() {\n const e = Math.round(this.level);\n return Math.min(6, Math.max(1, Number.isNaN(e) ? 3 : e));\n }\n render() {\n if (this.type === \"heading\") {\n const e = this.headingLevel;\n return c`\n <div class=\"text heading level-${e}\" part=\"base\" role=\"heading\" aria-level=${e}>\n <slot></slot>\n </div>\n `;\n }\n return c`<span class=\"text\" part=\"base\"><slot></slot></span>`;\n }\n};\nNt.styles = [p, Oi];\nlet ae = Nt;\nFe([\n n({ reflect: !0 })\n], ae.prototype, \"type\");\nFe([\n n({ type: Number })\n], ae.prototype, \"level\");\nFe([\n n({ reflect: !0 })\n], ae.prototype, \"theme\");\nFe([\n n({ type: Boolean, reflect: !0 })\n], ae.prototype, \"disabled\");\ncustomElements.get(\"wc-text\") || customElements.define(\"wc-text\", ae);\nconst Ai = \"wc-dialog, wc-drawer\";\nclass wt {\n constructor(e, t) {\n this.host = e, this.hooks = t, this.bound = !1, this.prevFocused = null, this.prevBodyOverflow = \"\", this.onDocumentKeydown = (s) => {\n s.key === \"Escape\" ? (s.stopPropagation(), this.hooks.requestClose(\"escape\")) : s.key === \"Tab\" && this.trapFocus(s);\n };\n }\n /** 文档内除宿主外仍打开的模态弹层数 */\n otherOpenOverlays() {\n let e = 0;\n return document.querySelectorAll(Ai).forEach((t) => {\n t !== this.host && t.open && (e += 1);\n }), e;\n }\n /** 焦点陷阱:Tab 循环限制在弹层内(shadow + light DOM) */\n trapFocus(e) {\n const t = [\n ...Array.from(\n this.host.shadowRoot.querySelectorAll(\n 'button, [href], [tabindex]:not([tabindex=\"-1\"])'\n )\n ),\n ...Array.from(\n this.host.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )\n )\n ].filter((l) => !l.hasAttribute(\"disabled\") && l.offsetParent !== null);\n if (t.length === 0) return;\n const s = t[0], r = t[t.length - 1], a = this.host.shadowRoot.activeElement ?? document.activeElement;\n e.shiftKey && (a === s || !this.host.contains(a)) ? (e.preventDefault(), r.focus()) : !e.shiftKey && a === r && (e.preventDefault(), s.focus());\n }\n bind() {\n this.bound || (this.bound = !0, this.prevFocused = document.activeElement, document.addEventListener(\"keydown\", this.onDocumentKeydown, !0), this.otherOpenOverlays() === 0 && (this.prevBodyOverflow = document.body.style.overflow, document.body.style.overflow = \"hidden\"), queueMicrotask(() => {\n (this.host.shadowRoot?.querySelector('[part=\"close-button\"]') ?? this.host.shadowRoot?.querySelector('[role=\"dialog\"]'))?.focus();\n }));\n }\n unbind() {\n this.bound && (this.bound = !1, document.removeEventListener(\"keydown\", this.onDocumentKeydown, !0), this.otherOpenOverlays() === 0 && (document.body.style.overflow = this.prevBodyOverflow), this.prevFocused && this.prevFocused.focus && (this.prevFocused.focus(), this.prevFocused = null));\n }\n}\nconst Ii = h`\n :host {\n display: contents;\n\n /* component 层令牌 */\n --wc-dialog-width: 520px;\n }\n\n .overlay {\n position: fixed;\n inset: 0;\n z-index: var(--wc-z-index-modal);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-4);\n background: var(--wc-color-mask);\n animation: wc-dialog-fade var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .overlay[hidden] {\n display: none;\n }\n\n .dialog {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: min(var(--wc-dialog-width), 100%);\n max-height: calc(100vh - var(--wc-space-8));\n overflow: hidden;\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-radius-xlarge);\n box-shadow: var(--wc-shadow-3);\n animation: wc-dialog-in var(--wc-duration-medium) var(--wc-easing-standard);\n outline: none;\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: var(--wc-space-4) var(--wc-space-6) 0;\n }\n\n .title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n font-size: var(--wc-font-size-large);\n font-weight: var(--wc-font-weight-semibold);\n color: var(--wc-color-text);\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .close {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-1);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-hover);\n }\n\n .body {\n flex: 1;\n min-height: 0;\n padding: var(--wc-space-4) var(--wc-space-6);\n overflow-y: auto;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n }\n\n .footer {\n display: flex;\n gap: var(--wc-space-2);\n justify-content: flex-end;\n padding: var(--wc-space-2) var(--wc-space-6) var(--wc-space-4);\n }\n\n .footer slot {\n display: contents;\n }\n\n @keyframes wc-dialog-fade {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @keyframes wc-dialog-in {\n from {\n transform: translateY(-8px) scale(0.98);\n opacity: 0;\n }\n\n to {\n transform: none;\n opacity: 1;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .overlay,\n .dialog {\n animation: none;\n }\n }\n`;\nvar Li = Object.defineProperty, Ee = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Li(e, t, r), r;\n};\nconst qt = class qt extends d {\n constructor() {\n super(...arguments), this.open = !1, this.header = \"\", this.footer = !0, this.closable = !0, this.closeOnOverlayClick = !1, this.width = \"\", this.localize = new b(this), this.overlay = new wt(this, {\n requestClose: (e) => this.requestClose(e)\n });\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.overlay.bind();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.overlay.unbind();\n }\n /** 打开对话框 */\n show() {\n this.open || (this.open = !0);\n }\n /** 请求关闭(发出可取消的 wc-close) */\n requestClose(e = \"api\") {\n this.dispatchEvent(\n new CustomEvent(\"wc-close\", {\n detail: { reason: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) && (this.open = !1);\n }\n /** 默认确认:派发 wc-confirm 并关闭 */\n confirm() {\n this.dispatchEvent(new CustomEvent(\"wc-confirm\", { bubbles: !0, composed: !0 })), this.requestClose(\"confirm\");\n }\n /** 默认取消:派发 wc-cancel 并关闭 */\n cancel() {\n this.dispatchEvent(new CustomEvent(\"wc-cancel\", { bubbles: !0, composed: !0 })), this.requestClose(\"cancel\");\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open ? (this.dispatchEvent(new CustomEvent(\"wc-open\", { bubbles: !0, composed: !0 })), this.overlay.bind()) : this.overlay.unbind());\n }\n onOverlayClick(e) {\n e.target === e.currentTarget && this.closeOnOverlayClick && this.requestClose(\"overlay\");\n }\n widthStyle() {\n if (!this.width) return \"\";\n const e = this.width.trim();\n return `--wc-dialog-width:${/^\\d+$/.test(e) ? `${e}px` : e}`;\n }\n render() {\n return c`\n <div class=\"overlay\" part=\"overlay\" ?hidden=${!this.open} @click=${this.onOverlayClick}>\n <div\n class=\"dialog\"\n part=\"base\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=${this.header || \"dialog\"}\n tabindex=\"-1\"\n style=${this.widthStyle()}\n >\n ${this.header || this.closable ? c`\n <div class=\"header\" part=\"header\">\n <div class=\"title\"><slot name=\"header\">${this.header}</slot></div>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"dialog.close\")}\n @click=${() => this.requestClose(\"close-btn\")}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </div>\n ` : \"\"}\n <div class=\"body\" part=\"body\"><slot></slot></div>\n ${this.footer ? c`\n <div class=\"footer\" part=\"footer\">\n <slot name=\"footer\">\n <wc-button @click=${() => this.cancel()}>\n ${this.localize.term(\"dialog.cancel\")}\n </wc-button>\n <wc-button theme=\"primary\" @click=${() => this.confirm()}>\n ${this.localize.term(\"dialog.confirm\")}\n </wc-button>\n </slot>\n </div>\n ` : \"\"}\n </div>\n </div>\n `;\n }\n};\nqt.styles = [p, Ii];\nlet B = qt;\nEe([\n n({ type: Boolean, reflect: !0 })\n], B.prototype, \"open\");\nEe([\n n()\n], B.prototype, \"header\");\nEe([\n n({ type: Boolean })\n], B.prototype, \"footer\");\nEe([\n n({ type: Boolean, reflect: !0 })\n], B.prototype, \"closable\");\nEe([\n n({ type: Boolean, attribute: \"close-on-overlay-click\" })\n], B.prototype, \"closeOnOverlayClick\");\nEe([\n n()\n], B.prototype, \"width\");\ncustomElements.get(\"wc-dialog\") || customElements.define(\"wc-dialog\", B);\nconst Ti = h`\n :host {\n display: contents;\n\n /* component 层令牌 */\n --wc-drawer-size: 500px;\n }\n\n .overlay {\n position: fixed;\n inset: 0;\n z-index: var(--wc-z-index-drawer);\n background: var(--wc-color-mask);\n animation: wc-drawer-fade var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .overlay[hidden] {\n display: none;\n }\n\n .drawer {\n position: absolute;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(--wc-color-bg-container);\n box-shadow: var(--wc-shadow-2);\n outline: none;\n animation: wc-drawer-in var(--wc-duration-medium) var(--wc-easing-standard);\n }\n\n /* ---- 四个方向 ---- */\n .placement-right {\n inset: 0 0 0 auto;\n width: min(var(--wc-drawer-size), 100%);\n height: 100%;\n --wc-drawer-from: translateX(100%);\n }\n\n .placement-left {\n inset: 0 auto 0 0;\n width: min(var(--wc-drawer-size), 100%);\n height: 100%;\n --wc-drawer-from: translateX(-100%);\n }\n\n .placement-bottom {\n inset: auto 0 0 0;\n width: 100%;\n height: var(--wc-drawer-size);\n --wc-drawer-from: translateY(100%);\n }\n\n .placement-top {\n inset: 0 0 auto 0;\n width: 100%;\n height: var(--wc-drawer-size);\n --wc-drawer-from: translateY(-100%);\n }\n\n /* ---- 页头 ---- */\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: var(--wc-space-4) var(--wc-space-6) 0;\n }\n\n .title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n font-size: var(--wc-font-size-large);\n font-weight: var(--wc-font-weight-semibold);\n color: var(--wc-color-text);\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .close {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-1);\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-hover);\n }\n\n /* ---- 内容区 ---- */\n .body {\n flex: 1;\n min-height: 0;\n padding: var(--wc-space-4) var(--wc-space-6);\n overflow-y: auto;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n }\n\n /* ---- 页脚 ---- */\n .footer {\n display: flex;\n gap: var(--wc-space-2);\n justify-content: flex-end;\n padding: var(--wc-space-2) var(--wc-space-6) var(--wc-space-4);\n }\n\n .footer slot {\n display: contents;\n }\n\n @keyframes wc-drawer-fade {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @keyframes wc-drawer-in {\n from {\n transform: var(--wc-drawer-from, translateX(100%));\n }\n\n to {\n transform: none;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .overlay,\n .drawer {\n animation: none;\n }\n }\n`;\nvar Di = Object.defineProperty, ue = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Di(e, t, r), r;\n};\nconst Vi = {\n small: \"300px\",\n medium: \"500px\",\n large: \"760px\"\n}, Rt = class Rt extends d {\n constructor() {\n super(...arguments), this.open = !1, this.placement = \"right\", this.size = \"medium\", this.header = \"\", this.footer = !0, this.closable = !0, this.closeOnOverlayClick = !0, this.localize = new b(this), this.overlay = new wt(this, {\n requestClose: (e) => this.requestClose(e)\n });\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.overlay.bind();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.overlay.unbind();\n }\n /** 打开抽屉 */\n show() {\n this.open || (this.open = !0);\n }\n /** 请求关闭(发出可取消的 wc-close) */\n requestClose(e = \"api\") {\n this.dispatchEvent(\n new CustomEvent(\"wc-close\", {\n detail: { reason: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) && (this.open = !1);\n }\n /** 默认确认:派发 wc-confirm 并关闭 */\n confirm() {\n this.dispatchEvent(new CustomEvent(\"wc-confirm\", { bubbles: !0, composed: !0 })), this.requestClose(\"confirm\");\n }\n /** 默认取消:派发 wc-cancel 并关闭 */\n cancel() {\n this.dispatchEvent(new CustomEvent(\"wc-cancel\", { bubbles: !0, composed: !0 })), this.requestClose(\"cancel\");\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open ? (this.dispatchEvent(new CustomEvent(\"wc-open\", { bubbles: !0, composed: !0 })), this.overlay.bind()) : this.overlay.unbind());\n }\n onOverlayClick(e) {\n e.target === e.currentTarget && this.closeOnOverlayClick && this.requestClose(\"overlay\");\n }\n sizeStyle() {\n const t = Vi[this.size] ?? this.size.trim();\n return `--wc-drawer-size:${/^\\d+$/.test(t) ? `${t}px` : t}`;\n }\n render() {\n return c`\n <div class=\"overlay\" part=\"overlay\" ?hidden=${!this.open} @click=${this.onOverlayClick}>\n <div\n class=\"drawer placement-${this.placement}\"\n part=\"base\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=${this.header || \"drawer\"}\n tabindex=\"-1\"\n style=${this.sizeStyle()}\n >\n ${this.header || this.closable ? c`\n <div class=\"header\" part=\"header\">\n <div class=\"title\"><slot name=\"header\">${this.header}</slot></div>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"dialog.close\")}\n @click=${() => this.requestClose(\"close-btn\")}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </div>\n ` : \"\"}\n <div class=\"body\" part=\"body\"><slot></slot></div>\n ${this.footer ? c`\n <div class=\"footer\" part=\"footer\">\n <slot name=\"footer\">\n <wc-button @click=${() => this.cancel()}>\n ${this.localize.term(\"dialog.cancel\")}\n </wc-button>\n <wc-button theme=\"primary\" @click=${() => this.confirm()}>\n ${this.localize.term(\"dialog.confirm\")}\n </wc-button>\n </slot>\n </div>\n ` : \"\"}\n </div>\n </div>\n `;\n }\n};\nRt.styles = [p, Ti];\nlet L = Rt;\nue([\n n({ type: Boolean, reflect: !0 })\n], L.prototype, \"open\");\nue([\n n({ reflect: !0 })\n], L.prototype, \"placement\");\nue([\n n()\n], L.prototype, \"size\");\nue([\n n()\n], L.prototype, \"header\");\nue([\n n({ type: Boolean })\n], L.prototype, \"footer\");\nue([\n n({ type: Boolean, reflect: !0 })\n], L.prototype, \"closable\");\nue([\n n({ type: Boolean, attribute: \"close-on-overlay-click\" })\n], L.prototype, \"closeOnOverlayClick\");\ncustomElements.get(\"wc-drawer\") || customElements.define(\"wc-drawer\", L);\nconst ji = h`\n :host {\n display: block;\n pointer-events: auto;\n }\n\n .message {\n display: flex;\n align-items: flex-start;\n gap: var(--wc-space-2);\n box-sizing: border-box;\n min-width: 240px;\n max-width: 480px;\n margin: 0 auto var(--wc-space-2);\n padding: var(--wc-space-2) var(--wc-space-4);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-radius-medium);\n box-shadow: var(--wc-shadow-2);\n animation: wc-message-in var(--wc-duration-medium) var(--wc-easing-standard);\n }\n\n .icon {\n flex-shrink: 0;\n margin-top: 2px;\n font-size: var(--wc-font-size-large);\n }\n\n .icon.success {\n color: var(--wc-color-success);\n }\n\n .icon.error {\n color: var(--wc-color-error);\n }\n\n .icon.warning {\n color: var(--wc-color-warning);\n }\n\n .icon.info,\n .icon.loading {\n color: var(--wc-color-primary);\n }\n\n .content {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n }\n\n .close {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: 0;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n transition: color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .close:hover {\n color: var(--wc-color-text);\n }\n\n @keyframes wc-message-in {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n\n to {\n transform: none;\n opacity: 1;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .message {\n animation: none;\n }\n }\n`;\nvar Hi = Object.defineProperty, Ue = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Hi(e, t, r), r;\n};\nconst Bi = {\n info: \"info\",\n success: \"check\",\n warning: \"warning\",\n error: \"error\",\n loading: \"loader\"\n}, Ft = class Ft extends d {\n constructor() {\n super(...arguments), this.theme = \"info\", this.content = \"\", this.duration = 3e3, this.closable = !1, this.localize = new b(this), this.autoCloseTimer = null;\n }\n connectedCallback() {\n super.connectedCallback(), this.startAutoClose();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.stopAutoClose();\n }\n startAutoClose() {\n this.duration <= 0 || this.autoCloseTimer !== null || (this.autoCloseTimer = setTimeout(() => this.close(), this.duration));\n }\n stopAutoClose() {\n this.autoCloseTimer !== null && (clearTimeout(this.autoCloseTimer), this.autoCloseTimer = null);\n }\n /** 关闭:派发 wc-close 并从 DOM 移除自身 */\n close() {\n this.stopAutoClose(), this.dispatchEvent(new CustomEvent(\"wc-close\", { bubbles: !0, composed: !0 })), this.remove();\n }\n render() {\n const e = Bi[this.theme] ?? \"info\";\n return c`\n <div class=\"message\" part=\"base\" role=\"status\" aria-live=\"polite\">\n <wc-icon\n class=\"icon ${this.theme}\"\n part=\"icon\"\n name=${e}\n ?spin=${this.theme === \"loading\"}\n ></wc-icon>\n <div class=\"content\" part=\"content\"><slot>${this.content}</slot></div>\n ${this.closable ? c`\n <button\n type=\"button\"\n class=\"close\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"message.close\")}\n @click=${() => this.close()}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n ` : \"\"}\n </div>\n `;\n }\n};\nFt.styles = [p, ji];\nlet se = Ft;\nUe([\n n({ reflect: !0 })\n], se.prototype, \"theme\");\nUe([\n n()\n], se.prototype, \"content\");\nUe([\n n({ type: Number })\n], se.prototype, \"duration\");\nUe([\n n({ type: Boolean, reflect: !0 })\n], se.prototype, \"closable\");\ncustomElements.get(\"wc-message\") || customElements.define(\"wc-message\", se);\nlet K = null;\nfunction Ni() {\n if (K && K.isConnected) return K;\n K = document.createElement(\"div\"), K.className = \"wc-message-container\";\n const o = parseFloat(\n getComputedStyle(document.documentElement).getPropertyValue(\"--wc-z-index-message\")\n );\n return K.style.cssText = [\n \"position:fixed\",\n \"top:var(--wc-space-4, 16px)\",\n \"left:0\",\n \"right:0\",\n \"display:flex\",\n \"flex-direction:column\",\n \"align-items:center\",\n \"pointer-events:none\",\n `z-index:${Number.isFinite(o) && o > 0 ? o : 1500}`\n ].join(\";\"), document.body.appendChild(K), K;\n}\nfunction me(o, e = {}) {\n const t = document.createElement(\"wc-message\");\n return t.theme = e.theme ?? \"info\", t.content = o, e.duration !== void 0 && (t.duration = e.duration), e.closable !== void 0 && (t.closable = e.closable), e.onClose && t.addEventListener(\"wc-close\", () => e.onClose()), Ni().appendChild(t), t;\n}\nconst $a = {\n /** 普通信息 */\n info: (o, e) => me(o, { ...e, theme: \"info\" }),\n /** 成功 */\n success: (o, e) => me(o, { ...e, theme: \"success\" }),\n /** 警告 */\n warning: (o, e) => me(o, { ...e, theme: \"warning\" }),\n /** 错误 */\n error: (o, e) => me(o, { ...e, theme: \"error\" }),\n /** 加载中(不自动关闭,需手动 close 或传 duration) */\n loading: (o, e) => me(o, { duration: 0, closable: !1, ...e, theme: \"loading\" }),\n /** 完整配置入口 */\n show: me\n}, z = 8, et = 12;\nfunction gt(o) {\n const e = o.indexOf(\"-\");\n return e === -1 ? { base: o } : {\n base: o.slice(0, e),\n align: o.slice(e + 1)\n };\n}\nfunction gr(o) {\n switch (o) {\n case \"top\":\n return \"bottom\";\n case \"bottom\":\n return \"top\";\n case \"left\":\n return \"right\";\n case \"right\":\n return \"left\";\n }\n}\nfunction yr(o, e, t, s) {\n switch (o) {\n case \"top\":\n return e.y - t.height - z >= s.y;\n case \"bottom\":\n return e.y + e.height + t.height + z <= s.y + s.height;\n case \"left\":\n return e.x - t.width - z >= s.x;\n case \"right\":\n return e.x + e.width + t.width + z <= s.x + s.width;\n }\n}\nfunction tt(o, e, t) {\n return Math.max(e, Math.min(o, t));\n}\nfunction yt(o, e, t, s) {\n const { base: r, align: a } = gt(s);\n let l = r;\n !yr(r, o, e, t) && yr(gr(r), o, e, t) && (l = gr(r));\n const v = a === \"start\", De = a === \"end\";\n let ye, be;\n const hr = (Ze, pr, ur) => v ? Ze : De ? Ze + pr - ur : Ze + pr / 2 - ur / 2;\n l === \"top\" || l === \"bottom\" ? (ye = hr(o.x, o.width, e.width), be = l === \"top\" ? o.y - e.height - z : o.y + o.height + z) : (be = hr(o.y, o.height, e.height), ye = l === \"left\" ? o.x - e.width - z : o.x + o.width + z), ye = tt(ye, t.x, t.x + t.width - e.width), be = tt(be, t.y, t.y + t.height - e.height);\n const Sr = l === \"top\" || l === \"bottom\" ? o.x + o.width / 2 - ye : o.y + o.height / 2 - be, _r = (l === \"top\" || l === \"bottom\" ? e.width : e.height) - et, Or = tt(Sr, et, Math.max(et, _r)), Pr = a ? `${l}-${a}` : l;\n return { x: ye, y: be, placement: Pr, arrowOffset: Or };\n}\nconst qi = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-tooltip-max-width: 240px;\n --wc-tooltip-arrow-offset: 50%;\n }\n\n .trigger {\n display: inline-flex;\n }\n\n .panel {\n position: fixed;\n z-index: var(--wc-z-index-tooltip);\n box-sizing: border-box;\n max-width: var(--wc-tooltip-max-width);\n padding: var(--wc-space-2) var(--wc-space-3);\n font-size: var(--wc-font-size-small);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-gray-900);\n border-radius: var(--wc-radius-small);\n box-shadow: var(--wc-shadow-2);\n opacity: 0;\n visibility: hidden;\n transform: scale(0.96);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard),\n visibility var(--wc-duration-fast);\n }\n\n .panel[data-open] {\n opacity: 1;\n visibility: visible;\n transform: none;\n }\n\n .body {\n overflow-wrap: anywhere;\n }\n\n /* ---- 箭头:8px 旋转正方形,贴在朝向锚点的一边 ---- */\n .arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: inherit;\n transform: rotate(45deg);\n }\n\n .side-top .arrow {\n left: var(--wc-tooltip-arrow-offset);\n bottom: -4px;\n margin-left: -4px;\n }\n\n .side-bottom .arrow {\n left: var(--wc-tooltip-arrow-offset);\n top: -4px;\n margin-left: -4px;\n }\n\n .side-left .arrow {\n top: var(--wc-tooltip-arrow-offset);\n right: -4px;\n margin-top: -4px;\n }\n\n .side-right .arrow {\n top: var(--wc-tooltip-arrow-offset);\n left: -4px;\n margin-top: -4px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n }\n`;\nvar Ri = Object.defineProperty, Ye = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Ri(e, t, r), r;\n};\nconst Fi = 100, Ui = 150;\nlet Yi = 0;\nconst Ut = class Ut extends d {\n constructor() {\n super(...arguments), this.content = \"\", this.placement = \"top\", this.trigger = \"hover\", this.open = !1, this.panelId = `wc-tooltip-panel-${++Yi}`, this.showTimer = null, this.hideTimer = null, this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.hide();\n };\n }\n connectedCallback() {\n super.connectedCallback();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.clearTimers(), document.removeEventListener(\"click\", this.onDocumentClick, !0);\n }\n /** 显示(manual 模式或编程调用) */\n show() {\n this.clearTimers(), this.showTimer = setTimeout(() => {\n this.open || (this.open = !0, this.dispatchEvent(new CustomEvent(\"wc-show\", { bubbles: !0, composed: !0 })));\n }, Fi);\n }\n /** 隐藏 */\n hide() {\n this.clearTimers(), this.hideTimer = setTimeout(() => {\n this.open && (this.open = !1, this.dispatchEvent(new CustomEvent(\"wc-hide\", { bubbles: !0, composed: !0 })));\n }, Ui);\n }\n clearTimers() {\n this.showTimer !== null && (clearTimeout(this.showTimer), this.showTimer = null), this.hideTimer !== null && (clearTimeout(this.hideTimer), this.hideTimer = null);\n }\n onTriggerEnter() {\n this.trigger === \"hover\" && this.show();\n }\n onTriggerLeave() {\n this.trigger === \"hover\" && this.hide();\n }\n onTriggerClick(e) {\n this.trigger === \"click\" && (e.stopPropagation(), this.open ? this.hide() : this.show());\n }\n onTriggerKeydown(e) {\n this.trigger === \"click\" && e.key === \"Escape\" && this.open && this.hide();\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open && this.trigger === \"click\" ? document.addEventListener(\"click\", this.onDocumentClick, !0) : this.open || document.removeEventListener(\"click\", this.onDocumentClick, !0), this.open && this.position());\n }\n /** 计算并应用 fixed 定位与箭头偏移 */\n position() {\n const e = this.shadowRoot.querySelector(\".panel\");\n if (!e) return;\n const t = this.getBoundingClientRect(), s = e.getBoundingClientRect(), r = { x: 0, y: 0, width: window.innerWidth, height: window.innerHeight }, a = yt(t, s, r, this.placement);\n e.style.left = `${a.x}px`, e.style.top = `${a.y}px`, e.dataset.placement = a.placement, e.style.setProperty(\"--wc-tooltip-arrow-offset\", `${a.arrowOffset}px`);\n }\n render() {\n const { base: e } = gt(this.placement);\n return c`\n <span\n class=\"trigger\"\n part=\"trigger\"\n aria-describedby=${this.panelId}\n @mouseenter=${this.onTriggerEnter}\n @mouseleave=${this.onTriggerLeave}\n @focusin=${this.onTriggerEnter}\n @focusout=${this.onTriggerLeave}\n @click=${this.onTriggerClick}\n @keydown=${this.onTriggerKeydown}\n >\n <slot></slot>\n </span>\n <div\n class=\"panel side-${e}\"\n part=\"base\"\n id=${this.panelId}\n role=\"tooltip\"\n ?data-open=${this.open}\n >\n <div class=\"arrow\" part=\"arrow\"></div>\n <div class=\"body\"><slot name=\"content\">${this.content}</slot></div>\n </div>\n `;\n }\n};\nUt.styles = [p, qi];\nlet ne = Ut;\nYe([\n n()\n], ne.prototype, \"content\");\nYe([\n n()\n], ne.prototype, \"placement\");\nYe([\n n({ reflect: !0 })\n], ne.prototype, \"trigger\");\nYe([\n n({ type: Boolean, reflect: !0 })\n], ne.prototype, \"open\");\ncustomElements.get(\"wc-tooltip\") || customElements.define(\"wc-tooltip\", ne);\nconst Ki = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-popconfirm-width: 240px;\n --wc-popconfirm-arrow-offset: 50%;\n }\n\n .trigger {\n display: inline-flex;\n }\n\n .panel {\n position: fixed;\n z-index: var(--wc-z-index-tooltip);\n box-sizing: border-box;\n width: var(--wc-popconfirm-width);\n padding: var(--wc-space-4);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-radius-medium);\n box-shadow: var(--wc-shadow-2);\n opacity: 0;\n visibility: hidden;\n transform: scale(0.96);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard),\n visibility var(--wc-duration-fast);\n }\n\n .panel[data-open] {\n opacity: 1;\n visibility: visible;\n transform: none;\n }\n\n .main {\n display: flex;\n align-items: flex-start;\n gap: var(--wc-space-2);\n }\n\n .icon {\n flex-shrink: 0;\n margin-top: 2px;\n font-size: var(--wc-font-size-large);\n color: var(--wc-color-warning);\n }\n\n .content {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n }\n\n .actions {\n display: flex;\n gap: var(--wc-space-2);\n justify-content: flex-end;\n margin-top: var(--wc-space-3);\n }\n\n /* ---- 箭头(同 Tooltip) ---- */\n .arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: inherit;\n transform: rotate(45deg);\n }\n\n .side-top .arrow {\n left: var(--wc-popconfirm-arrow-offset);\n bottom: -4px;\n margin-left: -4px;\n }\n\n .side-bottom .arrow {\n left: var(--wc-popconfirm-arrow-offset);\n top: -4px;\n margin-left: -4px;\n }\n\n .side-left .arrow {\n top: var(--wc-popconfirm-arrow-offset);\n right: -4px;\n margin-top: -4px;\n }\n\n .side-right .arrow {\n top: var(--wc-popconfirm-arrow-offset);\n left: -4px;\n margin-top: -4px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n }\n`;\nvar Wi = Object.defineProperty, ve = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Wi(e, t, r), r;\n};\nlet Xi = 0;\nconst Yt = class Yt extends d {\n constructor() {\n super(...arguments), this.content = \"\", this.placement = \"top\", this.confirmText = \"\", this.cancelText = \"\", this.theme = \"primary\", this.icon = \"warning\", this.open = !1, this.panelId = `wc-popconfirm-panel-${++Xi}`, this.localize = new b(this), this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.cancel(\"outside\");\n }, this.onDocumentKeydown = (e) => {\n e.key === \"Escape\" && (e.stopPropagation(), this.cancel(\"escape\"));\n };\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.unbindSideEffects();\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.bindSideEffects();\n }\n /** 打开气泡 */\n show() {\n this.open || (this.open = !0, this.bindSideEffects());\n }\n /** 关闭气泡(不派发事件) */\n hide() {\n this.open && (this.open = !1, this.unbindSideEffects());\n }\n /** 确认:派发 wc-confirm 并关闭 */\n confirm() {\n this.dispatchEvent(new CustomEvent(\"wc-confirm\", { bubbles: !0, composed: !0 })), this.hide();\n }\n /** 取消:派发 wc-cancel 并关闭 */\n cancel(e = \"button\") {\n this.open && (this.dispatchEvent(\n new CustomEvent(\"wc-cancel\", { detail: { reason: e }, bubbles: !0, composed: !0 })\n ), this.hide());\n }\n bindSideEffects() {\n document.addEventListener(\"click\", this.onDocumentClick, !0), document.addEventListener(\"keydown\", this.onDocumentKeydown, !0), queueMicrotask(() => {\n this.shadowRoot.querySelector('[part=\"confirm-button\"]')?.focus();\n });\n }\n unbindSideEffects() {\n document.removeEventListener(\"click\", this.onDocumentClick, !0), document.removeEventListener(\"keydown\", this.onDocumentKeydown, !0), this.shadowRoot.querySelector(\".trigger\")?.focus();\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && (this.open ? (this.bindSideEffects(), this.position()) : this.unbindSideEffects());\n }\n /** 计算并应用 fixed 定位与箭头偏移(同 Tooltip) */\n position() {\n const e = this.shadowRoot.querySelector(\".panel\");\n if (!e) return;\n const t = this.getBoundingClientRect(), s = e.getBoundingClientRect(), r = { x: 0, y: 0, width: window.innerWidth, height: window.innerHeight }, a = yt(t, s, r, this.placement);\n e.style.left = `${a.x}px`, e.style.top = `${a.y}px`, e.dataset.placement = a.placement, e.style.setProperty(\"--wc-popconfirm-arrow-offset\", `${a.arrowOffset}px`);\n }\n onTriggerClick(e) {\n e.stopPropagation(), this.open ? this.hide() : this.show();\n }\n render() {\n const { base: e } = gt(this.placement);\n return c`\n <span\n class=\"trigger\"\n part=\"trigger\"\n tabindex=\"0\"\n role=\"button\"\n aria-describedby=${this.open ? this.panelId : \"\"}\n @click=${this.onTriggerClick}\n @keydown=${(t) => {\n (t.key === \"Enter\" || t.key === \" \") && (t.preventDefault(), this.onTriggerClick(t));\n }}\n >\n <slot></slot>\n </span>\n <div\n class=\"panel side-${e}\"\n part=\"base\"\n id=${this.panelId}\n role=\"dialog\"\n aria-label=${this.content || \"popconfirm\"}\n ?data-open=${this.open}\n >\n <div class=\"arrow\" part=\"arrow\"></div>\n <div class=\"main\">\n ${this.icon ? c`<wc-icon class=\"icon\" part=\"icon\" name=${this.icon}></wc-icon>` : \"\"}\n <div class=\"content\"><slot name=\"content\">${this.content}</slot></div>\n </div>\n <div class=\"actions\" part=\"actions\">\n <wc-button size=\"small\" @click=${() => this.cancel(\"button\")}>\n ${this.cancelText || this.localize.term(\"dialog.cancel\")}\n </wc-button>\n <wc-button\n size=\"small\"\n theme=${this.theme}\n part=\"confirm-button\"\n @click=${() => this.confirm()}\n >\n ${this.confirmText || this.localize.term(\"dialog.confirm\")}\n </wc-button>\n </div>\n </div>\n `;\n }\n};\nYt.styles = [p, Ki];\nlet T = Yt;\nve([\n n()\n], T.prototype, \"content\");\nve([\n n()\n], T.prototype, \"placement\");\nve([\n n({ attribute: \"confirm-text\" })\n], T.prototype, \"confirmText\");\nve([\n n({ attribute: \"cancel-text\" })\n], T.prototype, \"cancelText\");\nve([\n n()\n], T.prototype, \"theme\");\nve([\n n()\n], T.prototype, \"icon\");\nve([\n n({ type: Boolean, reflect: !0 })\n], T.prototype, \"open\");\ncustomElements.get(\"wc-popconfirm\") || customElements.define(\"wc-popconfirm\", T);\nconst Gi = h`\n :host {\n display: block;\n }\n\n .item {\n display: flex;\n align-items: center;\n gap: var(--wc-space-2);\n padding: 0 var(--wc-space-3);\n height: 32px;\n font-size: var(--wc-font-size-medium);\n color: var(--wc-color-text);\n cursor: pointer;\n user-select: none;\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .text {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n :host(:hover:not([disabled]):not([divider])) .item,\n :host([active]:not([disabled]):not([divider])) .item {\n background-color: var(--wc-color-bg-hover);\n }\n\n :host([danger]:not([disabled])) .item {\n color: var(--wc-color-error);\n }\n\n :host([disabled]) .item {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n\n /* 分隔线:不响应 hover / danger */\n :host([divider]) .item {\n display: block;\n height: 1px;\n min-height: 1px;\n padding: 0;\n margin: var(--wc-space-1) 0;\n overflow: hidden;\n background-color: var(--wc-color-border);\n cursor: default;\n }\n`;\nvar Zi = Object.defineProperty, Te = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Zi(e, t, r), r;\n};\nconst Kt = class Kt extends d {\n constructor() {\n super(...arguments), this.value = \"\", this.disabled = !1, this.danger = !1, this.divider = !1, this.active = !1;\n }\n /** 菜单项文本 */\n get label() {\n return (this.textContent ?? \"\").trim();\n }\n render() {\n return this.divider ? c`<div class=\"item\" part=\"base\" role=\"separator\"></div>` : c`\n <div\n class=\"item\"\n part=\"base\"\n role=\"menuitem\"\n aria-disabled=${this.disabled}\n aria-label=${this.label}\n >\n <span class=\"text\"><slot></slot></span>\n </div>\n `;\n }\n};\nKt.styles = [Gi];\nlet G = Kt;\nTe([\n n({ reflect: !0 })\n], G.prototype, \"value\");\nTe([\n n({ type: Boolean, reflect: !0 })\n], G.prototype, \"disabled\");\nTe([\n n({ type: Boolean, reflect: !0 })\n], G.prototype, \"danger\");\nTe([\n n({ type: Boolean, reflect: !0 })\n], G.prototype, \"divider\");\nTe([\n n({ type: Boolean, reflect: !0 })\n], G.prototype, \"active\");\ncustomElements.get(\"wc-dropdown-item\") || customElements.define(\"wc-dropdown-item\", G);\nconst Ji = h`\n :host {\n display: inline-block;\n\n /* component 层令牌 */\n --wc-dropdown-min-width: 120px;\n --wc-dropdown-max-height: 280px;\n --wc-dropdown-radius: var(--wc-radius-medium);\n }\n\n .trigger {\n display: inline-flex;\n }\n\n .panel {\n position: fixed;\n z-index: var(--wc-z-index-dropdown);\n box-sizing: border-box;\n min-width: var(--wc-dropdown-min-width);\n max-height: var(--wc-dropdown-max-height);\n overflow-y: auto;\n padding: var(--wc-space-1) 0;\n font-size: var(--wc-font-size-medium);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-dropdown-radius);\n box-shadow: var(--wc-shadow-2);\n opacity: 0;\n visibility: hidden;\n transform: scale(0.96);\n transform-origin: top;\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard),\n visibility var(--wc-duration-fast);\n }\n\n /* visibility:hidden 而非 display:none:面板需保持可测量供定位引擎使用 */\n .panel[data-open] {\n opacity: 1;\n visibility: visible;\n transform: none;\n }\n\n .empty {\n padding: var(--wc-space-4) var(--wc-space-3);\n color: var(--wc-color-text-placeholder);\n text-align: center;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .panel {\n transition: none;\n }\n }\n`;\nvar Qi = Object.defineProperty, bt = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Qi(e, t, r), r;\n};\nlet br = 0;\nconst Wt = class Wt extends d {\n constructor() {\n super(), this.placement = \"bottom-start\", this.open = !1, this.disabled = !1, this.panelId = `wc-dropdown-panel-${++br}`, this.itemUid = `wc-dropdown-item-${++br}`, this.activeIndex = -1, this.assignedItems = [], this.onDocumentClick = (e) => {\n if (e.composedPath().includes(this)) return;\n const t = this.open;\n this.hide(), t && this.emitClose(\"outside\");\n }, this.handleKeydown = (e) => {\n if (!this.disabled)\n switch (e.key) {\n case \"Enter\":\n case \" \":\n if (e.preventDefault(), this.open && this.activeIndex >= 0) {\n const t = this.enabledItems[this.activeIndex];\n t && this.selectItem(t);\n } else\n this.show();\n break;\n case \"Escape\":\n this.open && (e.preventDefault(), this.hide(), this.emitClose(\"escape\"));\n break;\n case \"ArrowDown\":\n e.preventDefault(), this.open ? this.enabledItems.length && (this.activeIndex = (this.activeIndex + 1) % this.enabledItems.length, this.syncActive()) : this.show();\n break;\n case \"ArrowUp\":\n if (e.preventDefault(), !this.open)\n this.show();\n else if (this.enabledItems.length) {\n const t = this.enabledItems.length;\n this.activeIndex = (this.activeIndex - 1 + t) % t, this.syncActive();\n }\n break;\n case \"Home\":\n this.open && this.enabledItems.length && (e.preventDefault(), this.activeIndex = 0, this.syncActive());\n break;\n case \"End\":\n this.open && this.enabledItems.length && (e.preventDefault(), this.activeIndex = this.enabledItems.length - 1, this.syncActive());\n break;\n case \"Tab\": {\n const t = this.open;\n this.hide(), t && this.emitClose(\"escape\");\n break;\n }\n }\n }, this.addEventListener(\"keydown\", this.handleKeydown);\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.unbindSideEffects();\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.bindSideEffects();\n }\n /** 面板中的可用菜单项列表 */\n get enabledItems() {\n return this.assignedItems.filter((e) => !e.disabled && !e.divider);\n }\n /* ---------- 开合 ---------- */\n /** 打开菜单 */\n show() {\n this.disabled || this.open || (this.open = !0, this.activeIndex = this.enabledItems.length ? 0 : -1, this.syncActive(), this.bindSideEffects(), this.dispatchEvent(new CustomEvent(\"wc-open\", { bubbles: !0, composed: !0 })));\n }\n /** 关闭菜单(不派发事件) */\n hide() {\n this.open && (this.open = !1, this.activeIndex = -1, this.syncActive(), this.unbindSideEffects());\n }\n /** 切换开合 */\n toggle() {\n this.open ? (this.hide(), this.emitClose(\"toggle\")) : this.show();\n }\n emitClose(e) {\n this.dispatchEvent(\n new CustomEvent(\"wc-close\", { detail: { reason: e }, bubbles: !0, composed: !0 })\n );\n }\n bindSideEffects() {\n document.addEventListener(\"click\", this.onDocumentClick, !0), this.updateComplete.then(() => this.position());\n }\n unbindSideEffects() {\n document.removeEventListener(\"click\", this.onDocumentClick, !0);\n }\n updated(e) {\n super.updated(e), e.has(\"open\") && this.open && this.position();\n }\n /** 计算并应用 fixed 定位(同 Popconfirm,无箭头) */\n position() {\n const e = this.shadowRoot.querySelector(\".panel\");\n if (!e) return;\n const t = this.getBoundingClientRect(), s = e.getBoundingClientRect(), r = { x: 0, y: 0, width: window.innerWidth, height: window.innerHeight }, a = yt(t, s, r, this.placement);\n e.style.left = `${a.x}px`, e.style.top = `${a.y}px`;\n }\n /* ---------- 菜单项 ---------- */\n onSlotChange(e) {\n this.assignedItems = e.target.assignedElements({ flatten: !0 }).filter((t) => t.tagName === \"WC-DROPDOWN-ITEM\"), this.assignedItems.forEach((t, s) => t.setAttribute(\"id\", `${this.itemUid}-${s}`)), this.syncActive(), this.requestUpdate();\n }\n syncActive() {\n for (const t of this.assignedItems)\n t.active = !1;\n const e = this.enabledItems[this.activeIndex];\n e && (e.active = !0), e && typeof e.scrollIntoView == \"function\" && e.scrollIntoView({ block: \"nearest\" });\n }\n onPanelClick(e) {\n const s = e.target.closest?.(\"wc-dropdown-item\");\n s && !s.disabled && !s.divider && this.selectItem(s);\n }\n selectItem(e) {\n this.hide(), this.dispatchEvent(\n new CustomEvent(\"wc-select\", {\n detail: { value: e.value, label: e.label },\n bubbles: !0,\n composed: !0\n })\n ), this.emitClose(\"select\");\n }\n onTriggerClick(e) {\n e.stopPropagation(), !this.disabled && this.toggle();\n }\n render() {\n const e = this.activeIndex >= 0 ? this.enabledItems[this.activeIndex] : void 0, t = e ? `${this.itemUid}-${this.assignedItems.indexOf(e)}` : \"\";\n return c`\n <span\n class=\"trigger\"\n part=\"trigger\"\n tabindex=${this.disabled ? -1 : 0}\n role=\"button\"\n aria-haspopup=\"menu\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=${this.open ? this.panelId : void 0}\n aria-activedescendant=${this.open && t ? t : void 0}\n @click=${this.onTriggerClick}\n >\n <slot name=\"trigger\"></slot>\n </span>\n <div\n class=\"panel\"\n part=\"base\"\n id=${this.panelId}\n role=\"menu\"\n ?data-open=${this.open}\n @click=${this.onPanelClick}\n >\n <slot @slotchange=${this.onSlotChange}></slot>\n ${this.assignedItems.length === 0 ? c`<div class=\"empty\">暂无数据</div>` : \"\"}\n </div>\n `;\n }\n};\nWt.styles = [p, Ji];\nlet $e = Wt;\nbt([\n n()\n], $e.prototype, \"placement\");\nbt([\n n({ type: Boolean, reflect: !0 })\n], $e.prototype, \"open\");\nbt([\n n({ type: Boolean, reflect: !0 })\n], $e.prototype, \"disabled\");\ncustomElements.get(\"wc-dropdown\") || customElements.define(\"wc-dropdown\", $e);\nconst eo = h`\n :host {\n display: inline-block;\n\n /* component 层令牌:首尾圆角可覆写;聚焦环内嵌避免叠在相邻半边上 */\n --wc-split-button-radius: var(--wc-radius-medium);\n --wc-button-focus-ring-offset: -2px;\n }\n\n .group {\n display: inline-flex;\n vertical-align: middle;\n }\n\n /* 内部按钮去圆角、由两端各留单侧圆角(shadow 内部元素,普通选择器即可) */\n .main-btn {\n --wc-button-radius: var(--wc-split-button-radius) 0 0 var(--wc-split-button-radius);\n }\n\n .arrow-btn {\n --wc-button-radius: 0 var(--wc-split-button-radius) var(--wc-split-button-radius) 0;\n margin-left: -1px;\n }\n\n /* 悬停/聚焦的上层半边边框完整可见 */\n .main-btn:hover,\n .main-btn:focus-within {\n z-index: 1;\n }\n`;\nvar to = Object.defineProperty, Y = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && to(e, t, r), r;\n};\nconst Xt = class Xt extends d {\n constructor() {\n super(...arguments), this.theme = \"default\", this.type = \"base\", this.size = \"medium\", this.placement = \"bottom-end\", this.disabled = !1, this.loading = !1, this.ghost = !1, this.gradient = !1, this.ripple = !1, this.localize = new b(this), this.observer = null;\n }\n get dropdown() {\n return this.shadowRoot.querySelector(\"wc-dropdown\");\n }\n connectedCallback() {\n super.connectedCallback(), this.syncItemSlots(), this.observer = new MutationObserver(() => this.syncItemSlots()), this.observer.observe(this, { childList: !0 });\n }\n disconnectedCallback() {\n this.observer?.disconnect(), this.observer = null, super.disconnectedCallback();\n }\n /*\n * 菜单项走命名 slot=\"menu\",避免与主按钮的默认 slot 争抢内容——两个默认\n * slot 时全部默认内容都会落进树序第一个。其余默认内容(文案)留给主按钮。\n */\n syncItemSlots() {\n for (const e of this.children)\n e.tagName === \"WC-DROPDOWN-ITEM\" && !e.slot && (e.slot = \"menu\");\n }\n /** 主按钮点击:拦截原生冒泡,改派 wc-main-click */\n onMainClick(e) {\n e.stopPropagation(), this.dispatchEvent(new CustomEvent(\"wc-main-click\", { bubbles: !0, composed: !0 }));\n }\n /** 箭头点击:拦截原生冒泡(避免污染业务层),手动开合下拉并派发 wc-arrow-click */\n onArrowClick(e) {\n e.stopPropagation(), this.dropdown?.toggle(), this.dispatchEvent(new CustomEvent(\"wc-arrow-click\", { bubbles: !0, composed: !0 }));\n }\n render() {\n return c`\n <span class=\"group\" part=\"base\">\n <wc-button\n class=\"main-btn\"\n theme=${this.theme}\n type=${this.type}\n size=${this.size}\n ?disabled=${this.disabled}\n ?loading=${this.loading}\n ?ghost=${this.ghost}\n ?gradient=${this.gradient}\n ?ripple=${this.ripple}\n @click=${this.onMainClick}\n ><slot></slot\n ></wc-button>\n <wc-dropdown .placement=${this.placement} ?disabled=${this.disabled}>\n <wc-button\n class=\"arrow-btn\"\n theme=${this.theme}\n type=${this.type}\n size=${this.size}\n ?disabled=${this.disabled}\n ?loading=${this.loading}\n ?ghost=${this.ghost}\n ?gradient=${this.gradient}\n ?ripple=${this.ripple}\n aria-label=${this.localize.term(\"dropdown.more\")}\n @click=${this.onArrowClick}\n >\n <wc-icon slot=\"icon\" name=\"chevron-down\"></wc-icon>\n </wc-button>\n <slot name=\"menu\"></slot>\n </wc-dropdown>\n </span>\n `;\n }\n};\nXt.styles = [p, eo];\nlet S = Xt;\nY([\n n({ reflect: !0 })\n], S.prototype, \"theme\");\nY([\n n({ reflect: !0 })\n], S.prototype, \"type\");\nY([\n n({ reflect: !0 })\n], S.prototype, \"size\");\nY([\n n({ reflect: !0 })\n], S.prototype, \"placement\");\nY([\n n({ type: Boolean, reflect: !0 })\n], S.prototype, \"disabled\");\nY([\n n({ type: Boolean, reflect: !0 })\n], S.prototype, \"loading\");\nY([\n n({ type: Boolean, reflect: !0 })\n], S.prototype, \"ghost\");\nY([\n n({ type: Boolean, reflect: !0 })\n], S.prototype, \"gradient\");\nY([\n n({ type: Boolean, reflect: !0 })\n], S.prototype, \"ripple\");\ncustomElements.get(\"wc-split-button\") || customElements.define(\"wc-split-button\", S);\nconst ro = h`\n :host {\n position: fixed;\n bottom: var(--wc-float-button-bottom, 24px);\n right: var(--wc-float-button-right, 24px);\n z-index: var(--wc-z-index-fab);\n display: inline-flex;\n\n /* component 层令牌 */\n --wc-float-button-size: 40px;\n }\n\n /* 回到顶部预设:未达滚动阈值时整体隐藏 */\n :host([backtop]:not([data-visible])) {\n display: none;\n }\n\n .fab {\n position: relative;\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2px;\n width: var(--wc-float-button-size);\n height: var(--wc-float-button-size);\n padding: 0;\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n text-decoration: none;\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-radius-round);\n box-shadow: var(--wc-shadow-2);\n cursor: pointer;\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n box-shadow var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .fab:hover {\n color: var(--wc-color-primary);\n border-color: var(--wc-color-primary);\n }\n\n .fab:focus-visible {\n outline: var(--wc-color-focus-ring) solid 2px;\n outline-offset: 2px;\n }\n\n .ico {\n /* flex 化:wc-icon 是 inline-flex 无文本基线(基线=底边),行内摆放会被\n 字体 descent 撑高行盒导致图标偏上(同 wc-button .icon 的教训) */\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--wc-font-size-h3);\n line-height: 1;\n }\n\n .desc {\n max-width: calc(var(--wc-float-button-size) - 8px);\n overflow: hidden;\n font-size: var(--wc-font-size-xsmall);\n line-height: 1.2;\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n :host([shape='square']) .fab {\n border-radius: var(--wc-radius-medium);\n }\n\n :host([type='primary']) .fab {\n color: var(--wc-color-text-anti);\n background-color: var(--wc-color-primary);\n border-color: var(--wc-color-primary);\n }\n\n :host([type='primary']) .fab:hover {\n background-color: var(--wc-color-primary-hover);\n border-color: var(--wc-color-primary-hover);\n }\n\n :host([disabled]) .fab {\n color: var(--wc-color-text-disabled);\n background-color: var(--wc-color-bg-disabled);\n border-color: var(--wc-color-border);\n box-shadow: none;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n .badge {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 16px;\n height: 16px;\n padding: 0 4px;\n color: var(--wc-color-text-anti);\n font-size: var(--wc-font-size-xsmall);\n line-height: 1;\n white-space: nowrap;\n background-color: var(--wc-color-error);\n border-radius: var(--wc-radius-round);\n transform: translate(50%, -50%);\n }\n\n :host([dot]) .badge {\n min-width: 6px;\n width: 6px;\n height: 6px;\n padding: 0;\n }\n\n /* 内建 tooltip 气泡(轻量版:无箭头,fixed 定位于按钮左侧) */\n .tip {\n position: fixed;\n z-index: var(--wc-z-index-tooltip);\n max-width: 200px;\n padding: var(--wc-space-1) var(--wc-space-2);\n color: var(--wc-color-text-anti);\n font-size: var(--wc-font-size-xsmall);\n white-space: nowrap;\n background-color: var(--wc-color-gray-900);\n border-radius: var(--wc-radius-small);\n opacity: 0;\n visibility: hidden;\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n visibility var(--wc-duration-fast);\n }\n\n .tip[data-open] {\n opacity: 1;\n visibility: visible;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fab,\n .tip {\n transition: none;\n }\n }\n`;\nvar io = Object.defineProperty, f = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && io(e, t, r), r;\n};\nlet oo = 0;\nconst ao = 100, so = 150, Gt = class Gt extends d {\n constructor() {\n super(...arguments), this.shape = \"circle\", this.type = \"default\", this.icon = \"\", this.description = \"\", this.tooltip = \"\", this.href = \"\", this.target = \"\", this.disabled = !1, this.dot = !1, this.count = 0, this.max = 99, this.backtop = !1, this.visibilityHeight = 400, this.localize = new b(this), this.tipId = `wc-float-button-tip-${++oo}`, this._hasIcon = !1, this._hasText = !1, this.showTimer = null, this.hideTimer = null, this.onScroll = () => {\n this.toggleAttribute(\"data-visible\", window.scrollY > this.visibilityHeight);\n }, this.onDocumentClick = (e) => {\n e.composedPath().includes(this) || this.hideTip();\n }, this.tooltipIsOpen = !1;\n }\n onIconSlotChange(e) {\n this._hasIcon = e.target.assignedNodes({ flatten: !0 }).length > 0;\n }\n onTextSlotChange(e) {\n const t = e.target.assignedNodes({ flatten: !0 });\n this._hasText = t.some((s) => (s.textContent ?? \"\").trim() !== \"\");\n }\n connectedCallback() {\n super.connectedCallback(), this.backtop && this.bindBacktop();\n }\n disconnectedCallback() {\n this.unbindBacktop(), this.unbindOutsideClose(), this.clearTimers(), super.disconnectedCallback();\n }\n updated(e) {\n super.updated(e), e.has(\"backtop\") && (this.backtop ? this.bindBacktop() : (this.unbindBacktop(), this.removeAttribute(\"data-visible\"))), e.has(\"tooltip\") && this.tooltipIsOpen && this.updateComplete.then(() => this.positionTip());\n }\n bindBacktop() {\n window.addEventListener(\"scroll\", this.onScroll, { passive: !0 }), this.onScroll();\n }\n unbindBacktop() {\n window.removeEventListener(\"scroll\", this.onScroll);\n }\n /** 实际展示的提示文本(backtop 缺省取 i18n 文案) */\n get effectiveTooltip() {\n return this.backtop && !this.tooltip ? this.localize.term(\"floatbutton.backtop\") : this.tooltip;\n }\n showTip() {\n !this.effectiveTooltip || this.disabled || (this.clearTimers(), this.showTimer = setTimeout(() => {\n this.tooltipIsOpen || (this.tooltipIsOpen = !0, this.bindOutsideClose(), this.updateComplete.then(() => this.positionTip()), this.requestUpdate());\n }, ao));\n }\n hideTip() {\n this.clearTimers(), this.hideTimer = setTimeout(() => {\n this.tooltipIsOpen && (this.tooltipIsOpen = !1, this.unbindOutsideClose(), this.requestUpdate());\n }, so);\n }\n /** 气泡 fixed 定位于按钮左侧,垂直居中(空间不足贴边时夹近视口) */\n positionTip() {\n const e = this.shadowRoot.querySelector(\".tip\");\n if (!e) return;\n const t = this.getBoundingClientRect();\n e.style.visibility = \"hidden\", e.style.left = \"0px\", e.style.top = \"0px\";\n const s = e.getBoundingClientRect(), r = t.left - s.width - z, a = t.top + t.height / 2 - s.height / 2;\n e.style.left = `${Math.max(z, r)}px`, e.style.top = `${Math.min(Math.max(z, a), window.innerHeight - s.height - z)}px`, e.style.visibility = \"\";\n }\n bindOutsideClose() {\n document.addEventListener(\"click\", this.onDocumentClick, !0);\n }\n unbindOutsideClose() {\n document.removeEventListener(\"click\", this.onDocumentClick, !0);\n }\n clearTimers() {\n this.showTimer !== null && (clearTimeout(this.showTimer), this.showTimer = null), this.hideTimer !== null && (clearTimeout(this.hideTimer), this.hideTimer = null);\n }\n /* ---------- 点击 ---------- */\n onClick(e) {\n this.disabled || this.backtop && (e.preventDefault(), window.scrollTo({ top: 0, behavior: \"smooth\" }));\n }\n /** 实际展示的徽标文本 */\n get displayCount() {\n return this.count > this.max ? `${this.max}+` : String(Math.max(0, this.count));\n }\n render() {\n const e = this.dot || this.count > 0, t = this.effectiveTooltip, s = this.icon || (this.backtop ? \"arrow-up\" : \"\"), r = c`\n <span class=\"ico\" part=\"icon\" ?hidden=${!s && !this._hasIcon}>\n ${s ? c`<wc-icon name=${s}></wc-icon>` : c`<slot name=\"icon\" @slotchange=${this.onIconSlotChange}></slot>`}\n </span>\n `, a = c`${r}<span\n class=\"desc\"\n part=\"description\"\n ?hidden=${!this.description && !this._hasText}\n ><slot @slotchange=${this.onTextSlotChange}>${this.description}</slot></span\n >`, l = this.href && !this.disabled ? c`<a\n class=\"fab\"\n part=\"base\"\n href=${this.href}\n target=${this.target || u}\n rel=${this.target === \"_blank\" ? \"noopener noreferrer\" : u}\n aria-describedby=${this.tooltipIsOpen ? this.tipId : u}\n @mouseenter=${this.showTip}\n @mouseleave=${this.hideTip}\n @focusin=${this.showTip}\n @focusout=${this.hideTip}\n @click=${this.onClick}\n >${a}</a\n >` : c`<button\n class=\"fab\"\n part=\"base\"\n type=\"button\"\n ?disabled=${this.disabled}\n aria-describedby=${this.tooltipIsOpen ? this.tipId : u}\n @mouseenter=${this.showTip}\n @mouseleave=${this.hideTip}\n @focusin=${this.showTip}\n @focusout=${this.hideTip}\n @click=${this.onClick}\n >\n ${a}\n </button>`;\n return c`${l}\n ${e ? c`<sup class=\"badge\" part=\"badge\">${this.dot ? u : this.displayCount}</sup>` : u}\n ${t ? c`<div\n class=\"tip\"\n part=\"tooltip\"\n role=\"tooltip\"\n id=${this.tipId}\n ?data-open=${this.tooltipIsOpen}\n >\n ${t}\n </div>` : u}`;\n }\n};\nGt.styles = [p, ro];\nlet y = Gt;\nf([\n n({ reflect: !0 })\n], y.prototype, \"shape\");\nf([\n n({ reflect: !0 })\n], y.prototype, \"type\");\nf([\n n()\n], y.prototype, \"icon\");\nf([\n n()\n], y.prototype, \"description\");\nf([\n n()\n], y.prototype, \"tooltip\");\nf([\n n()\n], y.prototype, \"href\");\nf([\n n()\n], y.prototype, \"target\");\nf([\n n({ type: Boolean, reflect: !0 })\n], y.prototype, \"disabled\");\nf([\n n({ type: Boolean, reflect: !0 })\n], y.prototype, \"dot\");\nf([\n n({ type: Number })\n], y.prototype, \"count\");\nf([\n n({ type: Number })\n], y.prototype, \"max\");\nf([\n n({ type: Boolean, reflect: !0 })\n], y.prototype, \"backtop\");\nf([\n n({ type: Number, attribute: \"visibility-height\" })\n], y.prototype, \"visibilityHeight\");\nf([\n g()\n], y.prototype, \"_hasIcon\");\nf([\n g()\n], y.prototype, \"_hasText\");\ncustomElements.get(\"wc-float-button\") || customElements.define(\"wc-float-button\", y);\nconst no = h`\n :host {\n position: fixed;\n bottom: var(--wc-float-button-bottom, 24px);\n right: var(--wc-float-button-right, 24px);\n z-index: var(--wc-z-index-fab);\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wc-float-button-gap, 8px);\n\n /* component 层令牌 */\n --wc-float-button-gap: 8px;\n }\n\n /*\n * 子按钮自身 :host 是 fixed 定位(standalone 用),进组后必须改随布局——\n * 外层 shadow 树的声明优先于内层 :host,这里再加内联样式双保险(slotchange 同步)\n */\n .trigger-btn {\n position: static;\n z-index: auto;\n }\n\n ::slotted(wc-float-button) {\n position: static;\n z-index: auto;\n }\n\n .trigger-ico {\n transition: transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n /* 展开时 plus 旋转成 × */\n :host([open]) .trigger-ico {\n transform: rotate(45deg);\n }\n\n .items {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wc-float-button-gap, 8px);\n }\n\n /* trigger 模式:面板悬浮于触发按钮上方(absolute 脱离布局,收起不影响定位) */\n :host([trigger]) .items {\n position: absolute;\n right: 0;\n bottom: calc(100% + var(--wc-float-button-gap, 8px));\n opacity: 0;\n visibility: hidden;\n transform: translateY(6px) scale(0.9);\n transform-origin: bottom center;\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard),\n visibility var(--wc-duration-fast);\n }\n\n :host([trigger]) .items[data-open] {\n opacity: 1;\n visibility: visible;\n transform: none;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .items,\n .trigger-ico {\n transition: none;\n }\n }\n`;\nvar lo = Object.defineProperty, Ke = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && lo(e, t, r), r;\n};\nconst Zt = class Zt extends d {\n constructor() {\n super(), this.shape = \"circle\", this.trigger = \"\", this.open = !1, this.icon = \"\", this.localize = new b(this), this.onDocumentClick = (e) => {\n if (e.composedPath().includes(this)) return;\n const t = this.open;\n this.hide(), t && this.emitClose(\"outside\");\n }, this.handleKeydown = (e) => {\n e.key === \"Escape\" && this.open && (this.hide(), this.emitClose(\"escape\"));\n }, this.addEventListener(\"keydown\", this.handleKeydown), this.addEventListener(\"mouseenter\", this.onHostMouseenter), this.addEventListener(\"mouseleave\", this.onHostMouseleave);\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.unbindOutsideClose();\n }\n connectedCallback() {\n super.connectedCallback(), this.open && this.trigger === \"click\" && this.bindOutsideClose();\n }\n /* ---------- 开合 ---------- */\n /** 展开(仅 trigger 模式) */\n show() {\n !this.trigger || this.open || (this.open = !0, this.trigger === \"click\" && this.bindOutsideClose(), this.dispatchEvent(new CustomEvent(\"wc-open\", { bubbles: !0, composed: !0 })));\n }\n /** 收起(不派发事件) */\n hide() {\n this.open && (this.open = !1, this.unbindOutsideClose());\n }\n /** 切换开合 */\n toggle() {\n this.open ? (this.hide(), this.emitClose(\"toggle\")) : this.show();\n }\n emitClose(e) {\n this.dispatchEvent(\n new CustomEvent(\"wc-close\", { detail: { reason: e }, bubbles: !0, composed: !0 })\n );\n }\n bindOutsideClose() {\n document.addEventListener(\"click\", this.onDocumentClick, !0);\n }\n unbindOutsideClose() {\n document.removeEventListener(\"click\", this.onDocumentClick, !0);\n }\n onTriggerClick() {\n this.trigger === \"click\" && this.toggle();\n }\n onHostMouseenter() {\n this.trigger === \"hover\" && this.show();\n }\n onHostMouseleave() {\n if (this.trigger === \"hover\") {\n const e = this.open;\n this.hide(), e && this.emitClose(\"toggle\");\n }\n }\n /* ---------- 子按钮 shape 同步 ---------- */\n onSlotChange(e) {\n this.syncShapes(e.target.assignedElements());\n }\n syncShapes(e) {\n for (const t of e)\n t.tagName === \"WC-FLOAT-BUTTON\" && !t.hasAttribute(\"shape\") && t.setAttribute(\"shape\", this.shape);\n }\n updated(e) {\n if (super.updated(e), e.has(\"shape\")) {\n const t = this.shadowRoot.querySelector(\"slot\");\n t && this.syncShapes(t.assignedElements());\n }\n }\n render() {\n return c`\n ${this.trigger ? c`<wc-float-button\n class=\"trigger-btn\"\n part=\"trigger\"\n shape=${this.shape}\n aria-expanded=${this.open}\n aria-label=${this.localize.term(\"floatbutton.menu\")}\n @click=${this.onTriggerClick}\n >\n <wc-icon slot=\"icon\" class=\"trigger-ico\" name=${this.icon || \"plus\"}></wc-icon>\n </wc-float-button>` : u}\n <div class=\"items\" part=\"items\" ?data-open=${!this.trigger || this.open}>\n <slot @slotchange=${this.onSlotChange}></slot>\n </div>\n `;\n }\n};\nZt.styles = [p, no];\nlet le = Zt;\nKe([\n n({ reflect: !0 })\n], le.prototype, \"shape\");\nKe([\n n({ reflect: !0 })\n], le.prototype, \"trigger\");\nKe([\n n({ type: Boolean, reflect: !0 })\n], le.prototype, \"open\");\nKe([\n n()\n], le.prototype, \"icon\");\ncustomElements.get(\"wc-float-button-group\") || customElements.define(\"wc-float-button-group\", le);\nconst co = h`\n :host {\n display: block;\n }\n\n .bar {\n display: flex;\n gap: var(--wc-space-2);\n border-bottom: 1px solid var(--wc-color-border);\n }\n\n .tab {\n position: relative;\n padding: var(--wc-space-2) var(--wc-space-4);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n cursor: pointer;\n background: transparent;\n border: none;\n outline: none;\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .tab::after {\n content: '';\n position: absolute;\n right: var(--wc-space-3);\n bottom: -1px;\n left: var(--wc-space-3);\n height: 2px;\n background-color: var(--wc-color-primary);\n border-radius: var(--wc-radius-small);\n opacity: 0;\n transform: scaleX(0.4);\n transition:\n opacity var(--wc-duration-fast) var(--wc-easing-standard),\n transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .tab:hover {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .tab[aria-selected='true'] {\n color: var(--wc-color-primary);\n font-weight: var(--wc-font-weight-semibold);\n }\n\n .tab[aria-selected='true']::after {\n opacity: 1;\n transform: none;\n }\n\n .tab:focus-visible {\n box-shadow: 0 0 0 2px var(--wc-color-focus-ring);\n }\n\n .tab[data-disabled] {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n background-color: transparent;\n }\n`, ho = h`\n :host {\n display: block;\n padding-top: var(--wc-space-3);\n font-size: var(--wc-font-size-medium);\n line-height: var(--wc-font-line-height, 1.6);\n color: var(--wc-color-text);\n }\n\n :host(:not([active])) {\n display: none;\n }\n`;\nvar po = Object.defineProperty, We = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && po(e, t, r), r;\n};\nconst Jt = class Jt extends d {\n constructor() {\n super(...arguments), this.value = \"\", this.label = \"\", this.disabled = !1, this.active = !1;\n }\n render() {\n return c`<div class=\"panel\" part=\"panel\" role=\"tabpanel\" aria-label=${this.label}>\n <slot></slot>\n </div>`;\n }\n};\nJt.styles = [p, ho];\nlet ce = Jt;\nWe([\n n()\n], ce.prototype, \"value\");\nWe([\n n()\n], ce.prototype, \"label\");\nWe([\n n({ type: Boolean, reflect: !0 })\n], ce.prototype, \"disabled\");\nWe([\n n({ type: Boolean, reflect: !0 })\n], ce.prototype, \"active\");\ncustomElements.get(\"wc-tab\") || customElements.define(\"wc-tab\", ce);\nvar uo = Object.defineProperty, vo = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && uo(e, t, r), r;\n};\nconst Qt = class Qt extends d {\n constructor() {\n super(...arguments), this.value = \"\", this.tabs = [], this.uid = `wc-tabs-${Math.random().toString(36).slice(2, 8)}`, this.mutationObserver = new MutationObserver(() => this.collectTabs());\n }\n connectedCallback() {\n super.connectedCallback(), this.mutationObserver.observe(this, {\n childList: !0,\n // subtree: true 使 attributeFilter 也能监视子元素 label/value/disabled 变化\n subtree: !0,\n attributes: !0,\n attributeFilter: [\"label\", \"value\", \"disabled\"]\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.mutationObserver.disconnect();\n }\n collectTabs() {\n const e = Array.from(this.querySelectorAll(\"wc-tab\"));\n this.tabs = e.map((t, s) => ({\n value: t.value || String(s),\n label: t.label || t.textContent?.trim() || String(s + 1),\n disabled: t.disabled,\n element: t\n })), this.requestUpdate(), this.syncActive();\n }\n /** 把 value 同步到子元素的 active 标志(驱动面板显隐) */\n syncActive() {\n !this.value && this.tabs.length > 0 && !this.tabs.some((e) => e.value === this.value) && (this.value = this.tabs[0].value);\n for (const e of this.tabs)\n e.element.active = e.value === this.value;\n }\n updated(e) {\n super.updated(e), e.has(\"value\") && this.syncActive();\n }\n select(e) {\n if (e === this.value) return;\n const t = this.tabs.find((s) => s.value === e);\n !t || t.disabled || (this.value = e, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { value: e },\n bubbles: !0,\n composed: !0\n })\n ));\n }\n onTablistKeydown(e) {\n const t = this.tabs.filter((a) => !a.disabled);\n if (t.length === 0) return;\n const s = Math.max(\n 0,\n t.findIndex((a) => a.value === this.value)\n );\n let r;\n switch (e.key) {\n case \"ArrowRight\":\n case \"ArrowDown\":\n r = t[(s + 1) % t.length];\n break;\n case \"ArrowLeft\":\n case \"ArrowUp\":\n r = t[(s - 1 + t.length) % t.length];\n break;\n case \"Home\":\n r = t[0];\n break;\n case \"End\":\n r = t[t.length - 1];\n break;\n default:\n return;\n }\n e.preventDefault(), r && (this.select(r.value), this.focusTab(r.value));\n }\n /** 焦点移到指定标签按钮(roving tabindex 的焦点跟随) */\n focusTab(e) {\n const t = e.replace(/[\"\\\\]/g, \"\\\\$&\");\n this.shadowRoot.querySelector(`[data-value=\"${t}\"]`)?.focus();\n }\n render() {\n return c`\n <div class=\"bar\" part=\"bar\" role=\"tablist\" @keydown=${this.onTablistKeydown}>\n ${this.tabs.map(\n (e) => c`\n <button\n type=\"button\"\n class=\"tab\"\n part=\"tab\"\n role=\"tab\"\n data-value=${e.value}\n id=${`${this.uid}-tab-${e.value}`}\n aria-selected=${e.value === this.value ? \"true\" : \"false\"}\n aria-disabled=${e.disabled ? \"true\" : \"false\"}\n tabindex=${e.value === this.value ? \"0\" : \"-1\"}\n ?data-disabled=${e.disabled}\n @click=${() => this.select(e.value)}\n >\n ${e.label}\n </button>\n `\n )}\n </div>\n ${this.tabs.length > 0 ? c`<slot @slotchange=${this.collectTabs}></slot>` : u}\n `;\n }\n};\nQt.styles = [p, co];\nlet je = Qt;\nvo([\n n({ reflect: !0 })\n], je.prototype, \"value\");\ncustomElements.get(\"wc-tabs\") || customElements.define(\"wc-tabs\", je);\nconst wo = h`\n :host {\n display: block;\n }\n\n /* 条目由 shadow 渲染,light-DOM 子元素仅用于收集元数据 */\n slot {\n display: none;\n }\n\n .list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wc-space-1);\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: var(--wc-font-size-medium);\n }\n\n .item {\n display: inline-flex;\n align-items: center;\n }\n\n .separator {\n display: inline-flex;\n align-items: center;\n color: var(--wc-color-text-placeholder);\n user-select: none;\n }\n\n .link {\n color: var(--wc-color-text-secondary);\n text-decoration: none;\n cursor: pointer;\n transition: color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .link:hover {\n color: var(--wc-color-primary);\n }\n\n .link[data-disabled] {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n\n .link[data-disabled]:hover {\n color: var(--wc-color-text-disabled);\n }\n\n .current {\n color: var(--wc-color-text);\n font-weight: var(--wc-font-weight-medium);\n }\n`;\nvar go = Object.defineProperty, yo = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && go(e, t, r), r;\n};\nconst er = class er extends d {\n constructor() {\n super(...arguments), this.separator = \"/\", this.items = [], this.localize = new b(this), this.mutationObserver = new MutationObserver(() => this.collectItems());\n }\n connectedCallback() {\n super.connectedCallback(), this.mutationObserver.observe(this, {\n childList: !0,\n // subtree: true 使 attributeFilter 也能监视子元素 href/disabled 变化\n subtree: !0,\n attributes: !0,\n attributeFilter: [\"href\", \"disabled\"]\n });\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.mutationObserver.disconnect();\n }\n collectItems() {\n const e = Array.from(this.querySelectorAll(\"wc-breadcrumb-item\"));\n this.items = e.map((t, s) => ({\n label: t.textContent?.trim() || String(s + 1),\n href: t.getAttribute(\"href\") || \"\",\n disabled: t.hasAttribute(\"disabled\"),\n index: s\n })), this.requestUpdate();\n }\n onSelect(e) {\n this.dispatchEvent(\n new CustomEvent(\"wc-select\", {\n detail: { index: e.index, label: e.label, href: e.href },\n bubbles: !0,\n composed: !0\n })\n );\n }\n renderItem(e, t) {\n return t ? c`<span class=\"current\" part=\"current\" aria-current=\"page\">${e.label}</span>` : e.disabled ? c`<span class=\"link\" data-disabled aria-disabled=\"true\">${e.label}</span>` : e.href ? c`<a class=\"link\" part=\"link\" href=${e.href} @click=${() => this.onSelect(e)}\n >${e.label}</a\n >` : c`<span class=\"link\" part=\"link\" @click=${() => this.onSelect(e)}\n >${e.label}</span\n >`;\n }\n render() {\n const e = this.items.length - 1;\n return c`\n <nav class=\"nav\" part=\"nav\" aria-label=${this.localize.term(\"breadcrumb.label\")}>\n <ol class=\"list\" part=\"list\">\n ${this.items.map((t, s) => c`\n <li class=\"item\" part=\"item\">${this.renderItem(t, s === e)}</li>\n ${s < e ? c`<li class=\"separator\" part=\"separator\" aria-hidden=\"true\">\n ${this.separator}\n </li>` : u}\n `)}\n </ol>\n <slot @slotchange=${this.collectItems}></slot>\n </nav>\n `;\n }\n};\ner.styles = [p, wo];\nlet He = er;\nyo([\n n()\n], He.prototype, \"separator\");\ncustomElements.get(\"wc-breadcrumb\") || customElements.define(\"wc-breadcrumb\", He);\nvar bo = Object.defineProperty, Mr = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && bo(e, t, r), r;\n};\nclass mt extends d {\n constructor() {\n super(...arguments), this.href = \"\", this.disabled = !1;\n }\n render() {\n return c``;\n }\n}\nMr([\n n()\n], mt.prototype, \"href\");\nMr([\n n({ type: Boolean, reflect: !0 })\n], mt.prototype, \"disabled\");\ncustomElements.get(\"wc-breadcrumb-item\") || customElements.define(\"wc-breadcrumb-item\", mt);\nconst mo = h`\n :host {\n display: block;\n }\n\n .pagination {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wc-space-1);\n font-size: var(--wc-font-size-medium);\n }\n\n .total {\n margin-right: var(--wc-space-2);\n color: var(--wc-color-text-secondary);\n }\n\n .page-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n padding: 0 var(--wc-space-2);\n color: var(--wc-color-text);\n font: inherit;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-small);\n cursor: pointer;\n transition:\n color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .page-button:hover:not(:disabled) {\n color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .page-button:disabled {\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n background: transparent;\n }\n\n .page-button[aria-current='page'] {\n color: var(--wc-color-primary);\n font-weight: var(--wc-font-weight-medium);\n background-color: var(--wc-color-primary-light);\n }\n\n .ellipsis {\n min-width: 32px;\n color: var(--wc-color-text-placeholder);\n letter-spacing: 1px;\n text-align: center;\n user-select: none;\n }\n\n .jumper {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-2);\n margin-left: var(--wc-space-2);\n color: var(--wc-color-text-secondary);\n }\n\n .jumper-input {\n width: 56px;\n height: 32px;\n padding: 0 var(--wc-space-2);\n font: inherit;\n color: var(--wc-color-text);\n text-align: center;\n background: transparent;\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-radius-small);\n }\n\n .jumper-input:focus {\n outline: none;\n border-color: var(--wc-color-primary);\n }\n\n .jumper-input:disabled {\n color: var(--wc-color-text-disabled);\n background-color: var(--wc-color-bg-disabled, var(--wc-color-bg-hover));\n cursor: not-allowed;\n }\n`;\nvar fo = Object.defineProperty, we = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && fo(e, t, r), r;\n};\nconst tr = class tr extends d {\n constructor() {\n super(...arguments), this.total = 0, this.pageSize = 10, this.current = 1, this.foldedPageCount = 5, this.showTotal = !1, this.showJumper = !1, this.disabled = !1, this.localize = new b(this);\n }\n /** 总页数 */\n get pageCount() {\n return Math.max(1, Math.ceil(this.total / Math.max(1, this.pageSize)));\n }\n select(e) {\n const t = Math.min(this.pageCount, Math.max(1, Math.floor(e)));\n if (this.disabled || t === this.current) return;\n const s = this.current;\n this.current = t, this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { current: t, previous: s },\n bubbles: !0,\n composed: !0\n })\n );\n }\n updated(e) {\n super.updated(e), (e.has(\"total\") || e.has(\"pageSize\")) && this.current > this.pageCount && (this.current = this.pageCount);\n }\n /** 页码序列:1 … 中间窗口 … 末页,空间充足时全部展开 */\n getPageItems() {\n const e = this.pageCount, t = Math.max(1, this.foldedPageCount);\n if (e <= t + 2)\n return Array.from({ length: e }, (l, v) => v + 1);\n let s = Math.max(2, this.current - Math.floor(t / 2));\n const r = Math.min(e - 1, s + t - 1);\n s = Math.max(2, r - t + 1);\n const a = [1];\n s > 2 && a.push(\"ellipsis-prev\");\n for (let l = s; l <= r; l++) a.push(l);\n return r < e - 1 && a.push(\"ellipsis-next\"), a.push(e), a;\n }\n onJumperKeydown(e) {\n if (e.key !== \"Enter\") return;\n const t = e.target, s = Number.parseInt(t.value, 10);\n Number.isNaN(s) || (this.select(s), t.value = String(this.current));\n }\n render() {\n const e = this.disabled || this.current <= 1, t = this.disabled || this.current >= this.pageCount;\n return c`\n <nav class=\"pagination\" part=\"nav\" aria-label=${this.localize.term(\"pagination.label\")}>\n ${this.showTotal ? c`<span class=\"total\" part=\"total\">\n ${this.localize.term(\"pagination.total\", { total: this.total })}\n </span>` : u}\n <button\n type=\"button\"\n class=\"page-button\"\n part=\"prev\"\n ?disabled=${e}\n aria-label=${this.localize.term(\"pagination.prev\")}\n @click=${() => this.select(this.current - 1)}\n >\n <wc-icon name=\"chevron-left\"></wc-icon>\n </button>\n ${this.getPageItems().map(\n (s) => typeof s != \"number\" ? c`<span class=\"ellipsis\" part=\"ellipsis\" aria-hidden=\"true\">•••</span>` : c`<button\n type=\"button\"\n class=\"page-button\"\n part=\"page\"\n ?disabled=${this.disabled}\n aria-label=${this.localize.term(\"pagination.page\", { page: s })}\n aria-current=${s === this.current ? \"page\" : u}\n @click=${() => this.select(s)}\n >\n ${s}\n </button>`\n )}\n <button\n type=\"button\"\n class=\"page-button\"\n part=\"next\"\n ?disabled=${t}\n aria-label=${this.localize.term(\"pagination.next\")}\n @click=${() => this.select(this.current + 1)}\n >\n <wc-icon name=\"chevron-right\"></wc-icon>\n </button>\n ${this.showJumper ? c`<span class=\"jumper\" part=\"jumper\">\n ${this.localize.term(\"pagination.jumpTo\")}\n <input\n type=\"text\"\n class=\"jumper-input\"\n part=\"jumper-input\"\n ?disabled=${this.disabled}\n aria-label=${this.localize.term(\"pagination.jumpTo\")}\n @keydown=${this.onJumperKeydown}\n />\n ${this.localize.term(\"pagination.pageUnit\")}\n </span>` : u}\n </nav>\n `;\n }\n};\ntr.styles = [p, mo];\nlet D = tr;\nwe([\n n({ type: Number })\n], D.prototype, \"total\");\nwe([\n n({ type: Number, attribute: \"page-size\" })\n], D.prototype, \"pageSize\");\nwe([\n n({ type: Number, reflect: !0 })\n], D.prototype, \"current\");\nwe([\n n({ type: Number, attribute: \"folded-page-count\" })\n], D.prototype, \"foldedPageCount\");\nwe([\n n({ type: Boolean, attribute: \"show-total\" })\n], D.prototype, \"showTotal\");\nwe([\n n({ type: Boolean, attribute: \"show-jumper\" })\n], D.prototype, \"showJumper\");\nwe([\n n({ type: Boolean, reflect: !0 })\n], D.prototype, \"disabled\");\ncustomElements.get(\"wc-pagination\") || customElements.define(\"wc-pagination\", D);\nconst xo = h`\n :host {\n position: relative;\n display: inline-flex;\n }\n\n .badge {\n position: absolute;\n top: 0;\n right: 0;\n z-index: var(--wc-z-index-popover, 1);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 16px;\n height: 16px;\n padding: 0 4px;\n color: var(--wc-color-text-anti);\n font-size: var(--wc-font-size-xsmall);\n line-height: 1;\n white-space: nowrap;\n background-color: var(--wc-color-error);\n border-radius: var(--wc-radius-round);\n transform: translate(50%, -50%);\n }\n\n :host([dot]) .badge {\n min-width: 6px;\n width: 6px;\n height: 6px;\n padding: 0;\n }\n\n :host([theme='primary']) .badge {\n background-color: var(--wc-color-primary);\n }\n\n :host([theme='success']) .badge {\n background-color: var(--wc-color-success);\n }\n\n :host([theme='warning']) .badge {\n background-color: var(--wc-color-warning);\n }\n\n :host([theme='danger']) .badge {\n background-color: var(--wc-color-error);\n }\n`;\nvar ko = Object.defineProperty, Xe = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && ko(e, t, r), r;\n};\nconst rr = class rr extends d {\n constructor() {\n super(...arguments), this.count = 0, this.max = 99, this.dot = !1, this.theme = \"danger\";\n }\n /** 实际展示的数字文本 */\n get displayCount() {\n return this.count > this.max ? `${this.max}+` : String(Math.max(0, this.count));\n }\n render() {\n const e = this.dot || this.count > 0;\n return c`\n <slot></slot>\n ${e ? c`<sup class=\"badge\" part=\"badge\">${this.dot ? u : this.displayCount}</sup>` : u}\n `;\n }\n};\nrr.styles = [p, xo];\nlet de = rr;\nXe([\n n({ type: Number })\n], de.prototype, \"count\");\nXe([\n n({ type: Number })\n], de.prototype, \"max\");\nXe([\n n({ type: Boolean, reflect: !0 })\n], de.prototype, \"dot\");\nXe([\n n({ reflect: !0 })\n], de.prototype, \"theme\");\ncustomElements.get(\"wc-badge\") || customElements.define(\"wc-badge\", de);\nconst $o = h`\n :host {\n display: block;\n }\n\n .empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-8) var(--wc-space-4);\n text-align: center;\n }\n\n .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--wc-color-text-placeholder);\n }\n\n /* 默认占位图形:圆角方块 + 内嵌虚线圆,柔和示意「空」 */\n .placeholder {\n position: relative;\n display: block;\n width: 56px;\n height: 56px;\n background-color: var(--wc-color-bg-hover);\n border-radius: var(--wc-radius-xlarge);\n }\n\n .placeholder::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 24px;\n height: 24px;\n border: 2px dashed var(--wc-color-text-placeholder);\n border-radius: var(--wc-radius-circle);\n transform: translate(-50%, -50%);\n }\n\n .description {\n margin-top: var(--wc-space-3);\n color: var(--wc-color-text-secondary);\n font-size: var(--wc-font-size-medium);\n }\n\n .action {\n margin-top: var(--wc-space-4);\n }\n\n .action:empty {\n display: none;\n }\n`, ir = class ir extends d {\n constructor() {\n super(...arguments), this.localize = new b(this);\n }\n render() {\n return c`\n <div class=\"empty\" part=\"base\">\n <div class=\"icon\" part=\"icon\">\n <slot name=\"icon\"><span class=\"placeholder\"></span></slot>\n </div>\n <div class=\"description\" part=\"description\">\n <slot>${this.localize.term(\"empty.noData\")}</slot>\n </div>\n <div class=\"action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n `;\n }\n};\nir.styles = [p, $o];\nlet st = ir;\ncustomElements.get(\"wc-empty\") || customElements.define(\"wc-empty\", st);\nconst zo = h`\n :host {\n display: block;\n }\n\n /* ---- line ---- */\n .line {\n display: flex;\n align-items: center;\n gap: var(--wc-space-2);\n }\n\n .track {\n position: relative;\n flex: 1;\n overflow: hidden;\n background-color: var(--wc-color-bg-hover);\n border-radius: var(--wc-radius-round);\n }\n\n .indicator {\n height: 100%;\n background-color: var(--wc-color-primary);\n border-radius: var(--wc-radius-round);\n transition: width var(--wc-duration-slow, 300ms) var(--wc-easing-standard);\n }\n\n :host([status='success']) .indicator {\n background-color: var(--wc-color-success);\n }\n\n :host([status='warning']) .indicator {\n background-color: var(--wc-color-warning);\n }\n\n :host([status='error']) .indicator {\n background-color: var(--wc-color-error);\n }\n\n .label {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n color: var(--wc-color-text-secondary);\n font-size: var(--wc-font-size-small);\n line-height: 1;\n white-space: nowrap;\n }\n\n :host([status='success']) .label {\n color: var(--wc-color-success);\n }\n\n :host([status='error']) .label {\n color: var(--wc-color-error);\n }\n\n .label wc-icon {\n --icon-size: 1em;\n }\n\n /* ---- circle ---- */\n .circle-wrap {\n position: relative;\n display: inline-block;\n width: 72px;\n height: 72px;\n }\n\n .circle {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .circle .track {\n fill: none;\n stroke: var(--wc-color-bg-hover);\n stroke-width: 6;\n }\n\n .circle .indicator {\n fill: none;\n stroke: var(--wc-color-primary);\n stroke-width: 6;\n stroke-linecap: round;\n transition: stroke-dashoffset var(--wc-duration-slow, 300ms) var(--wc-easing-standard);\n }\n\n :host([status='success']) .circle .indicator {\n stroke: var(--wc-color-success);\n }\n\n :host([status='warning']) .circle .indicator {\n stroke: var(--wc-color-warning);\n }\n\n :host([status='error']) .circle .indicator {\n stroke: var(--wc-color-error);\n }\n\n .circle-label {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-small);\n }\n\n .circle-label .label {\n color: inherit;\n }\n`;\nvar Co = Object.defineProperty, Se = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Co(e, t, r), r;\n};\nconst nt = 32, mr = 2 * Math.PI * nt, or = class or extends d {\n constructor() {\n super(...arguments), this.value = 0, this.theme = \"line\", this.status = \"normal\", this.showLabel = !0, this.strokeWidth = 6, this.label = \"\";\n }\n /** 夹紧后的百分比 */\n get percent() {\n return Math.min(100, Math.max(0, this.value));\n }\n /** 标签文本:label 属性优先,否则百分比 */\n get labelText() {\n return this.label || `${Math.round(this.percent)}%`;\n }\n renderStatusLabel() {\n if (!this.showLabel) return u;\n const e = this.status === \"success\" ? \"check\" : this.status === \"error\" ? \"close\" : \"\";\n return c`<span class=\"label\" part=\"label\">\n ${e ? c`<wc-icon name=${e}></wc-icon>` : u}${this.labelText}\n </span>`;\n }\n renderLine() {\n return c`<div class=\"line\" part=\"base\">\n <div\n class=\"track\"\n part=\"track\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=${Math.round(this.percent)}\n aria-label=${this.labelText}\n style=\"height: ${this.strokeWidth}px\"\n >\n <div class=\"indicator\" part=\"indicator\" style=\"width: ${this.percent}%\"></div>\n </div>\n ${this.renderStatusLabel()}\n </div>`;\n }\n renderCircle() {\n return c`<div class=\"circle-wrap\" part=\"base\">\n <svg\n class=\"circle\"\n viewBox=\"0 0 72 72\"\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=${Math.round(this.percent)}\n aria-label=${this.labelText}\n >\n <circle class=\"track\" part=\"track\" cx=\"36\" cy=\"36\" r=\"${nt}\"></circle>\n <circle\n class=\"indicator\"\n part=\"indicator\"\n cx=\"36\"\n cy=\"36\"\n r=\"${nt}\"\n stroke-dasharray=\"${mr}\"\n stroke-dashoffset=${mr * (1 - this.percent / 100)}\n transform=\"rotate(-90 36 36)\"\n ></circle>\n </svg>\n <div class=\"circle-label\">${this.renderStatusLabel()}</div>\n </div>`;\n }\n render() {\n return this.theme === \"circle\" ? this.renderCircle() : this.renderLine();\n }\n};\nor.styles = [p, zo];\nlet N = or;\nSe([\n n({ type: Number })\n], N.prototype, \"value\");\nSe([\n n({ reflect: !0 })\n], N.prototype, \"theme\");\nSe([\n n({ reflect: !0 })\n], N.prototype, \"status\");\nSe([\n n({ type: Boolean, attribute: \"show-label\" })\n], N.prototype, \"showLabel\");\nSe([\n n({ type: Number, attribute: \"stroke-width\" })\n], N.prototype, \"strokeWidth\");\nSe([\n n()\n], N.prototype, \"label\");\ncustomElements.get(\"wc-progress\") || customElements.define(\"wc-progress\", N);\nconst Mo = h`\n :host {\n display: block;\n --wc-card-radius: var(--wc-radius-medium);\n }\n\n /* display:flex 类会覆盖 [hidden] 的 UA 样式,显式关闭 */\n [hidden] {\n display: none !important;\n }\n\n .card {\n background-color: var(--wc-color-bg-container);\n border-radius: var(--wc-card-radius);\n transition: box-shadow var(--wc-duration-base, 200ms) var(--wc-easing-standard);\n }\n\n :host([bordered]) .card {\n border: 1px solid var(--wc-color-border);\n }\n\n :host([hoverable]) .card:hover {\n box-shadow: var(--wc-shadow-2);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wc-space-2);\n padding: var(--wc-space-4) var(--wc-space-4) 0;\n }\n\n .titles {\n min-width: 0;\n }\n\n .title {\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-large);\n font-weight: var(--wc-font-weight-medium);\n line-height: 1.5;\n }\n\n .subtitle {\n margin-top: 2px;\n color: var(--wc-color-text-secondary);\n font-size: var(--wc-font-size-small);\n }\n\n .actions {\n flex-shrink: 0;\n }\n\n .body {\n padding: var(--wc-space-4);\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n }\n\n .footer {\n padding: var(--wc-space-3) var(--wc-space-4);\n border-top: 1px solid var(--wc-color-border);\n }\n`;\nvar Eo = Object.defineProperty, ge = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Eo(e, t, r), r;\n};\nconst ar = class ar extends d {\n constructor() {\n super(...arguments), this.title = \"\", this.subtitle = \"\", this.bordered = !0, this.hoverable = !1, this.hasHeaderSlot = !1, this.hasActions = !1, this.hasFooter = !1;\n }\n onSlotChange(e) {\n const t = e.target, s = t.assignedElements().length > 0;\n t.name === \"header\" ? this.hasHeaderSlot = s : t.name === \"actions\" ? this.hasActions = s : t.name === \"footer\" && (this.hasFooter = s);\n }\n connectedCallback() {\n super.connectedCallback(), this.hasHeaderSlot = this.querySelector('[slot=\"header\"]') !== null, this.hasActions = this.querySelector('[slot=\"actions\"]') !== null, this.hasFooter = this.querySelector('[slot=\"footer\"]') !== null;\n }\n renderHeader() {\n const e = !!(this.title || this.subtitle || this.hasHeaderSlot || this.hasActions);\n return c`<div class=\"header\" part=\"header\" ?hidden=${!e}>\n <div class=\"titles\" ?hidden=${this.hasHeaderSlot}>\n ${this.title ? c`<div class=\"title\" part=\"title\">${this.title}</div>` : u}\n ${this.subtitle ? c`<div class=\"subtitle\" part=\"subtitle\">${this.subtitle}</div>` : u}\n </div>\n <slot name=\"header\" @slotchange=${this.onSlotChange} ?hidden=${!this.hasHeaderSlot}></slot>\n <div class=\"actions\" part=\"actions\" ?hidden=${!this.hasActions}>\n <slot name=\"actions\" @slotchange=${this.onSlotChange}></slot>\n </div>\n </div>`;\n }\n render() {\n return c`<div class=\"card\" part=\"base\">\n ${this.renderHeader()}\n <div class=\"body\" part=\"body\"><slot></slot></div>\n <div class=\"footer\" part=\"footer\" ?hidden=${!this.hasFooter}>\n <slot name=\"footer\" @slotchange=${this.onSlotChange}></slot>\n </div>\n </div>`;\n }\n};\nar.styles = [p, Mo];\nlet V = ar;\nge([\n n()\n], V.prototype, \"title\");\nge([\n n()\n], V.prototype, \"subtitle\");\nge([\n n({ type: Boolean, reflect: !0 })\n], V.prototype, \"bordered\");\nge([\n n({ type: Boolean, reflect: !0 })\n], V.prototype, \"hoverable\");\nge([\n g()\n], V.prototype, \"hasHeaderSlot\");\nge([\n g()\n], V.prototype, \"hasActions\");\nge([\n g()\n], V.prototype, \"hasFooter\");\ncustomElements.get(\"wc-card\") || customElements.define(\"wc-card\", V);\nconst So = h`\n :host {\n display: block;\n --wc-list-radius: var(--wc-radius-medium);\n }\n\n /* display:flex 类会覆盖 [hidden] 的 UA 样式,显式关闭 */\n [hidden] {\n display: none !important;\n }\n\n .list {\n margin: 0;\n padding: 0;\n list-style: none;\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n border-radius: var(--wc-list-radius);\n /* 裁剪条目背景(striped/hover)避免溢出圆角 */\n overflow: hidden;\n }\n\n /* 通过 ::slotted 为 light-DOM 条目提供统一样式 */\n ::slotted(wc-list-item) {\n display: block;\n padding: var(--wc-space-3) var(--wc-space-4);\n }\n\n ::slotted(wc-list-item:not(:last-child)) {\n border-bottom: 1px solid var(--wc-color-border);\n }\n\n :host([striped]) ::slotted(wc-list-item:nth-child(even)) {\n background-color: var(--wc-color-bg-container-secondary);\n }\n\n :host([hoverable]) ::slotted(wc-list-item:hover) {\n background-color: var(--wc-color-bg-hover);\n }\n\n :host([size='small']) ::slotted(wc-list-item) {\n padding: var(--wc-space-2) var(--wc-space-4);\n }\n\n :host([size='large']) ::slotted(wc-list-item) {\n padding: var(--wc-space-4) var(--wc-space-4);\n }\n\n .empty {\n padding: var(--wc-space-2) 0;\n }\n`;\nvar _o = Object.defineProperty, Ge = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && _o(e, t, r), r;\n};\nconst sr = class sr extends d {\n constructor() {\n super(...arguments), this.size = \"medium\", this.striped = !1, this.hoverable = !1, this.itemCount = 0;\n }\n onSlotChange(e) {\n const t = e.target;\n t.name === \"\" && (this.itemCount = t.assignedElements().length);\n }\n connectedCallback() {\n super.connectedCallback(), this.itemCount = this.querySelectorAll(\"wc-list-item\").length;\n }\n render() {\n return c`\n <ul class=\"list\" part=\"base\" role=\"list\" ?hidden=${this.itemCount === 0}>\n <slot @slotchange=${this.onSlotChange}></slot>\n </ul>\n <div class=\"empty\" part=\"empty\" ?hidden=${this.itemCount > 0}>\n <slot name=\"empty\" @slotchange=${this.onSlotChange}><wc-empty></wc-empty></slot>\n </div>\n `;\n }\n};\nsr.styles = [p, So];\nlet he = sr;\nGe([\n n({ reflect: !0 })\n], he.prototype, \"size\");\nGe([\n n({ type: Boolean, reflect: !0 })\n], he.prototype, \"striped\");\nGe([\n n({ type: Boolean, reflect: !0 })\n], he.prototype, \"hoverable\");\nGe([\n g()\n], he.prototype, \"itemCount\");\ncustomElements.get(\"wc-list\") || customElements.define(\"wc-list\", he);\nconst nr = class nr extends d {\n render() {\n return c`<slot></slot>`;\n }\n};\nnr.styles = [p];\nlet lt = nr;\ncustomElements.get(\"wc-list-item\") || customElements.define(\"wc-list-item\", lt);\nconst Oo = h`\n :host {\n display: block;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .wrapper {\n position: relative;\n color: var(--wc-color-text);\n font-size: var(--wc-font-size-medium);\n }\n\n table {\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n }\n\n th,\n td {\n padding: var(--wc-space-3) var(--wc-space-3);\n border-bottom: 1px solid var(--wc-color-border);\n font-weight: normal;\n }\n\n th {\n color: var(--wc-color-text-secondary);\n font-weight: var(--wc-font-weight-medium);\n background-color: var(--wc-color-bg-container-secondary);\n white-space: nowrap;\n user-select: none;\n }\n\n :host([bordered]) th,\n :host([bordered]) td {\n border: 1px solid var(--wc-color-border);\n }\n\n :host([size='small']) th,\n :host([size='small']) td {\n padding: var(--wc-space-2) var(--wc-space-2);\n }\n\n :host([size='large']) th,\n :host([size='large']) td {\n padding: var(--wc-space-4) var(--wc-space-3);\n }\n\n :host([striped]) tbody tr:nth-child(even) td {\n background-color: var(--wc-color-bg-container-secondary);\n }\n\n tbody tr {\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n tbody tr:hover td {\n background-color: var(--wc-color-bg-hover);\n }\n\n :host([striped]) tbody tr:nth-child(even):hover td {\n background-color: var(--wc-color-bg-hover);\n }\n\n th.sortable {\n cursor: pointer;\n }\n\n th.sortable:hover {\n color: var(--wc-color-primary);\n }\n\n th.sorted {\n color: var(--wc-color-primary);\n }\n\n .th-inner {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n }\n\n .sort {\n display: inline-flex;\n flex-direction: column;\n gap: 0;\n color: var(--wc-color-text-placeholder);\n }\n\n .sort wc-icon {\n display: block;\n height: 0.5em;\n pointer-events: none;\n }\n\n .sort wc-icon.active {\n color: var(--wc-color-primary);\n }\n\n td[ellipsis] {\n max-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .align-left {\n text-align: left;\n }\n\n .align-right {\n text-align: right;\n }\n\n .align-center {\n text-align: center;\n }\n\n .empty {\n padding: var(--wc-space-4) 0;\n }\n\n .loading {\n position: absolute;\n inset: 0;\n z-index: var(--wc-z-index-popover, 1);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--wc-color-primary);\n /* 随容器底色自适应明暗主题 */\n background-color: color-mix(in srgb, var(--wc-color-bg-container) 70%, transparent);\n }\n`;\nvar Po = Object.defineProperty, J = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Po(e, t, r), r;\n};\nconst lr = class lr extends d {\n constructor() {\n super(...arguments), this.columns = [], this.data = [], this.striped = !1, this.bordered = !1, this.size = \"medium\", this.loading = !1, this.sortKey = \"\", this.sortOrder = null, this.onSlotChange = () => this.requestUpdate();\n }\n /** 排序后的展示数据 */\n get displayData() {\n if (!this.sortKey || !this.sortOrder) return this.data;\n const e = this.sortOrder === \"asc\" ? 1 : -1;\n return [...this.data].sort((t, s) => {\n const r = t[this.sortKey], a = s[this.sortKey];\n return r == null ? 1 : a == null ? -1 : typeof r == \"number\" && typeof a == \"number\" ? (r - a) * e : String(r).localeCompare(String(a), \"zh-CN\") * e;\n });\n }\n onHeaderClick(e) {\n if (!e.sortable) return;\n const t = { \"\": \"asc\", asc: \"desc\", desc: null };\n this.sortOrder = this.sortKey === e.key ? t[this.sortOrder ?? \"\"] ?? null : \"asc\", this.sortKey = this.sortOrder === null ? \"\" : e.key, this.dispatchEvent(\n new CustomEvent(\"wc-sort\", {\n detail: { key: this.sortKey, order: this.sortOrder },\n bubbles: !0,\n composed: !0\n })\n );\n }\n cellContent(e, t, s) {\n const r = e.render?.(t, s);\n if (r != null && r !== \"\")\n return typeof r == \"object\" ? r : String(r);\n const a = t[e.key];\n return a == null ? \"\" : String(a);\n }\n renderHead() {\n return c`<thead part=\"head\">\n <tr>\n ${this.columns.map((e) => {\n const t = this.sortKey === e.key && this.sortOrder !== null;\n return c`<th\n part=\"th\"\n scope=\"col\"\n style=${e.width != null ? `width: ${typeof e.width == \"number\" ? `${e.width}px` : e.width}` : u}\n class=${[\n e.align ? `align-${e.align}` : \"\",\n e.sortable ? \"sortable\" : \"\",\n t ? \"sorted\" : \"\"\n ].join(\" \") || u}\n aria-sort=${t ? this.sortOrder === \"asc\" ? \"ascending\" : \"descending\" : u}\n @click=${() => this.onHeaderClick(e)}\n >\n <div class=\"th-inner\">\n ${e.title}\n ${e.sortable ? c`<span class=\"sort\" part=\"sort\">\n <wc-icon\n class=${this.sortKey === e.key && this.sortOrder === \"asc\" ? \"active\" : \"\"}\n name=\"chevron-up\"\n ></wc-icon>\n <wc-icon\n class=${this.sortKey === e.key && this.sortOrder === \"desc\" ? \"active\" : \"\"}\n name=\"chevron-down\"\n ></wc-icon>\n </span>` : u}\n </div>\n </th>`;\n })}\n </tr>\n </thead>`;\n }\n render() {\n const e = this.data.length > 0;\n return c`<div class=\"wrapper\" part=\"wrapper\">\n <table part=\"table\">\n ${this.renderHead()}\n <tbody part=\"body\" ?hidden=${!e}>\n ${this.displayData.map(\n (t, s) => c`<tr\n part=\"row\"\n @click=${() => this.dispatchEvent(\n new CustomEvent(\"wc-row-click\", {\n detail: { row: t, index: s },\n bubbles: !0,\n composed: !0\n })\n )}\n >\n ${this.columns.map(\n (r) => c`<td\n part=\"td\"\n class=${r.align ? `align-${r.align}` : u}\n ?ellipsis=${r.ellipsis === !0}\n title=${r.ellipsis ? String(t[r.key] ?? \"\") : u}\n >\n ${this.cellContent(r, t, s)}\n </td>`\n )}\n </tr>`\n )}\n </tbody>\n </table>\n <div class=\"empty\" part=\"empty\" ?hidden=${e}>\n <slot name=\"empty\" @slotchange=${this.onSlotChange}><wc-empty></wc-empty></slot>\n </div>\n ${this.loading ? c`<div class=\"loading\" part=\"loading\">\n <wc-icon name=\"loader\" spin label=\"加载中\"></wc-icon>\n </div>` : u}\n </div>`;\n }\n};\nlr.styles = [p, Oo];\nlet O = lr;\nJ([\n n({ type: Array })\n], O.prototype, \"columns\");\nJ([\n n({ type: Array })\n], O.prototype, \"data\");\nJ([\n n({ type: Boolean, reflect: !0 })\n], O.prototype, \"striped\");\nJ([\n n({ type: Boolean, reflect: !0 })\n], O.prototype, \"bordered\");\nJ([\n n({ reflect: !0 })\n], O.prototype, \"size\");\nJ([\n n({ type: Boolean, reflect: !0 })\n], O.prototype, \"loading\");\nJ([\n g()\n], O.prototype, \"sortKey\");\nJ([\n g()\n], O.prototype, \"sortOrder\");\ncustomElements.get(\"wc-table\") || customElements.define(\"wc-table\", O);\nconst Ao = h`\n :host {\n --wc-image-bg: var(--wc-color-bg-container-secondary);\n --wc-image-radius: var(--wc-radius-medium);\n --wc-image-mask-bg: rgb(0 0 0 / 75%);\n --wc-image-tool-bg: rgb(255 255 255 / 16%);\n --wc-image-tool-bg-hover: rgb(255 255 255 / 28%);\n --wc-image-tool-color: #fff;\n display: inline-block;\n vertical-align: middle;\n }\n\n .frame {\n position: relative;\n width: var(--wc-image-width, 240px);\n height: var(--wc-image-height, 160px);\n overflow: hidden;\n background: var(--wc-image-bg);\n }\n\n :host([shape='rounded']) .frame {\n border-radius: var(--wc-image-radius);\n }\n\n :host([shape='circle']) .frame {\n border-radius: 50%;\n }\n\n .frame img {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n /* 点击触发层:仅在开启预览且加载成功时出现 */\n .trigger {\n position: absolute;\n inset: 0;\n z-index: 1;\n cursor: zoom-in;\n }\n\n .trigger:focus-visible {\n outline: 2px solid var(--wc-color-primary);\n outline-offset: -2px;\n }\n\n /* 加载中 / 失败占位层 */\n .layer {\n position: absolute;\n inset: 0;\n z-index: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--wc-space-2);\n color: var(--wc-color-text-placeholder);\n font-size: var(--wc-font-size-small);\n }\n\n /* 大图预览浮层 */\n .overlay {\n position: fixed;\n inset: 0;\n z-index: var(--wc-z-index-modal);\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--wc-image-mask-bg);\n animation: wc-image-fade var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .stage {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n cursor: grab;\n }\n\n .stage.dragging {\n cursor: grabbing;\n }\n\n .stage img {\n max-width: 90vw;\n max-height: 90vh;\n user-select: none;\n transition: transform var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .stage.dragging img {\n transition: none;\n }\n\n .toolbar {\n position: absolute;\n left: 50%;\n bottom: var(--wc-space-6);\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: var(--wc-space-1);\n padding: var(--wc-space-2) var(--wc-space-3);\n background: var(--wc-image-tool-bg);\n border-radius: var(--wc-radius-circle);\n backdrop-filter: blur(4px);\n }\n\n .toolbar button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border: none;\n border-radius: 50%;\n background: transparent;\n color: var(--wc-image-tool-color);\n font-size: var(--wc-font-size-small);\n cursor: pointer;\n transition: background var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .toolbar button:hover {\n background: var(--wc-image-tool-bg-hover);\n }\n\n @keyframes wc-image-fade {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n`;\nvar Io = Object.defineProperty, m = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Io(e, t, r), r;\n};\nconst Lo = 0.25, To = 5, Ve = 0.25, cr = class cr extends d {\n constructor() {\n super(...arguments), this.src = \"\", this.alt = \"\", this.fit = \"fill\", this.position = \"center\", this.shape = \"square\", this.lazy = !1, this.preview = !1, this.previewSrc = \"\", this.fallback = \"\", this.status = \"loading\", this.shouldLoad = !1, this.fallbackFailed = !1, this.previewOpen = !1, this.scale = 1, this.rotate = 0, this.x = 0, this.y = 0, this.dragging = !1, this.localize = new b(this), this.overlay = new wt(this, {\n requestClose: () => this.requestClosePreview(\"escape\")\n }), this.io = null, this.dragStartX = 0, this.dragStartY = 0;\n }\n connectedCallback() {\n super.connectedCallback(), this.lazy && typeof IntersectionObserver < \"u\" ? (this.io = new IntersectionObserver((e) => {\n e.some((t) => t.isIntersecting) && (this.startLoad(), this.io?.disconnect());\n }), this.io.observe(this)) : this.startLoad(), this.previewOpen && this.overlay.bind();\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.io?.disconnect(), this.overlay.unbind();\n }\n willUpdate(e) {\n super.willUpdate(e), e.has(\"src\") && (this.status = \"loading\", this.fallbackFailed = !1);\n }\n updated(e) {\n super.updated(e), e.has(\"previewOpen\") && (this.previewOpen ? (this.dispatchEvent(new CustomEvent(\"wc-preview-open\", { bubbles: !0, composed: !0 })), this.overlay.bind()) : this.overlay.unbind());\n }\n startLoad() {\n this.shouldLoad || (this.shouldLoad = !0);\n }\n onImgLoad() {\n this.status = \"loaded\", this.dispatchEvent(\n new CustomEvent(\"wc-load\", { detail: { src: this.src }, bubbles: !0, composed: !0 })\n );\n }\n onImgError() {\n this.status = \"error\", this.dispatchEvent(\n new CustomEvent(\"wc-error\", { detail: { src: this.src }, bubbles: !0, composed: !0 })\n );\n }\n /** 打开全屏预览(需开启 preview 且加载成功) */\n openPreview() {\n !this.preview || this.status !== \"loaded\" || (this.resetTransform(), this.previewOpen = !0);\n }\n /** 请求关闭预览(发出可取消的 wc-preview-close) */\n requestClosePreview(e = \"api\") {\n if (!this.previewOpen) return;\n this.dispatchEvent(\n new CustomEvent(\"wc-preview-close\", {\n detail: { reason: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) && (this.previewOpen = !1);\n }\n zoomBy(e) {\n const t = Math.round((this.scale + e) * 100) / 100;\n this.scale = Math.min(To, Math.max(Lo, t));\n }\n rotateBy() {\n this.rotate = (this.rotate + 90) % 360;\n }\n resetTransform() {\n this.scale = 1, this.rotate = 0, this.x = 0, this.y = 0;\n }\n onOverlayWheel(e) {\n e.preventDefault(), this.zoomBy(e.deltaY < 0 ? Ve : -Ve);\n }\n onStagePointerDown(e) {\n e.button === 0 && (this.dragging = !0, this.dragStartX = e.clientX - this.x, this.dragStartY = e.clientY - this.y, e.currentTarget.setPointerCapture(e.pointerId));\n }\n onStagePointerMove(e) {\n this.dragging && (this.x = e.clientX - this.dragStartX, this.y = e.clientY - this.dragStartY);\n }\n onStagePointerUp() {\n this.dragging = !1;\n }\n onTriggerKeydown(e) {\n (e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), this.openPreview());\n }\n imgStyle() {\n return `object-fit:${this.fit};object-position:${this.position}`;\n }\n previewStyle() {\n return `transform:translate(${this.x}px, ${this.y}px) scale(${this.scale}) rotate(${this.rotate}deg)`;\n }\n render() {\n const e = this.previewSrc || this.src;\n return c`\n <div class=\"frame\" part=\"base\">\n ${this.shouldLoad && this.status !== \"error\" ? c`<img\n part=\"image\"\n src=${this.src}\n alt=${this.alt}\n style=${this.imgStyle()}\n @load=${this.onImgLoad}\n @error=${this.onImgError}\n />` : \"\"}\n ${this.status === \"error\" && this.fallback && !this.fallbackFailed ? c`<img\n part=\"image\"\n src=${this.fallback}\n alt=${this.alt}\n style=${this.imgStyle()}\n @error=${() => this.fallbackFailed = !0}\n />` : \"\"}\n ${this.status === \"loading\" ? c`<div class=\"layer\">\n <wc-icon name=\"loader\" spin></wc-icon>\n </div>` : \"\"}\n ${this.status === \"error\" && (!this.fallback || this.fallbackFailed) ? c`<div class=\"layer\">\n <wc-icon name=\"image-off\"></wc-icon>\n <span>${this.localize.term(\"image.loadError\")}</span>\n </div>` : \"\"}\n ${this.preview && this.status === \"loaded\" ? c`<div\n class=\"trigger\"\n role=\"button\"\n tabindex=\"0\"\n aria-label=${this.localize.term(\"image.preview\")}\n @click=${() => this.openPreview()}\n @keydown=${this.onTriggerKeydown}\n ></div>` : \"\"}\n </div>\n ${this.previewOpen ? c`<div\n class=\"overlay\"\n part=\"overlay\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=${this.localize.term(\"image.preview\")}\n tabindex=\"-1\"\n @wheel=${this.onOverlayWheel}\n @click=${(t) => {\n t.target === t.currentTarget && this.requestClosePreview(\"overlay\");\n }}\n >\n <div\n class=\"stage ${this.dragging ? \"dragging\" : \"\"}\"\n @pointerdown=${this.onStagePointerDown}\n @pointermove=${this.onStagePointerMove}\n @pointerup=${this.onStagePointerUp}\n @pointercancel=${this.onStagePointerUp}\n >\n <img\n part=\"preview-image\"\n src=${e}\n alt=${this.alt}\n draggable=\"false\"\n style=${this.previewStyle()}\n />\n </div>\n <div class=\"toolbar\" part=\"toolbar\">\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.zoomIn\")}\n @click=${() => this.zoomBy(Ve)}\n >\n <wc-icon name=\"zoom-in\"></wc-icon>\n </button>\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.zoomOut\")}\n @click=${() => this.zoomBy(-Ve)}\n >\n <wc-icon name=\"zoom-out\"></wc-icon>\n </button>\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.rotate\")}\n @click=${() => this.rotateBy()}\n >\n <wc-icon name=\"rotate-cw\"></wc-icon>\n </button>\n <button\n type=\"button\"\n aria-label=${this.localize.term(\"image.reset\")}\n title=${this.localize.term(\"image.reset\")}\n @click=${() => this.resetTransform()}\n >\n 1:1\n </button>\n <button\n type=\"button\"\n part=\"close-button\"\n aria-label=${this.localize.term(\"image.close\")}\n @click=${() => this.requestClosePreview(\"close-btn\")}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n </div>\n </div>` : \"\"}\n `;\n }\n};\ncr.styles = [p, Ao];\nlet w = cr;\nm([\n n()\n], w.prototype, \"src\");\nm([\n n()\n], w.prototype, \"alt\");\nm([\n n()\n], w.prototype, \"fit\");\nm([\n n()\n], w.prototype, \"position\");\nm([\n n({ reflect: !0 })\n], w.prototype, \"shape\");\nm([\n n({ type: Boolean })\n], w.prototype, \"lazy\");\nm([\n n({ type: Boolean, reflect: !0 })\n], w.prototype, \"preview\");\nm([\n n({ attribute: \"preview-src\" })\n], w.prototype, \"previewSrc\");\nm([\n n()\n], w.prototype, \"fallback\");\nm([\n g()\n], w.prototype, \"status\");\nm([\n g()\n], w.prototype, \"shouldLoad\");\nm([\n g()\n], w.prototype, \"fallbackFailed\");\nm([\n g()\n], w.prototype, \"previewOpen\");\nm([\n g()\n], w.prototype, \"scale\");\nm([\n g()\n], w.prototype, \"rotate\");\nm([\n g()\n], w.prototype, \"x\");\nm([\n g()\n], w.prototype, \"y\");\nm([\n g()\n], w.prototype, \"dragging\");\ncustomElements.get(\"wc-image\") || customElements.define(\"wc-image\", w);\nconst Do = h`\n :host {\n display: block;\n\n /* component 层令牌 */\n --wc-upload-font-size: var(--wc-font-size-medium);\n --wc-upload-radius: var(--wc-radius-medium);\n --wc-upload-dragger-bg: var(--wc-color-bg-container);\n }\n\n .hidden-input {\n display: none;\n }\n\n /* ---- 默认触发按钮 ---- */\n .trigger-wrap {\n display: flex;\n align-items: center;\n gap: var(--wc-space-2);\n }\n\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--wc-space-1);\n height: 32px;\n padding: 0 var(--wc-space-3);\n font-family: inherit;\n font-size: var(--wc-upload-font-size);\n color: var(--wc-color-text);\n background-color: var(--wc-color-bg-container);\n border: 1px solid var(--wc-color-border);\n border-radius: var(--wc-upload-radius);\n cursor: pointer;\n user-select: none;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .trigger:hover:not(:disabled) {\n border-color: var(--wc-color-primary);\n color: var(--wc-color-primary);\n }\n\n .trigger:disabled {\n background-color: var(--wc-color-bg-disabled);\n border-color: transparent;\n color: var(--wc-color-text-disabled);\n cursor: not-allowed;\n }\n\n /* ---- 拖拽区域 ---- */\n .dragger {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--wc-space-6) var(--wc-space-4);\n background-color: var(--wc-upload-dragger-bg);\n border: 1px dashed var(--wc-color-border);\n border-radius: var(--wc-upload-radius);\n cursor: pointer;\n user-select: none;\n text-align: center;\n transition:\n border-color var(--wc-duration-fast) var(--wc-easing-standard),\n background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .dragger:hover:not([aria-disabled='true']),\n .dragger.drag-over {\n border-color: var(--wc-color-primary);\n background-color: var(--wc-color-bg-hover);\n }\n\n .dragger[aria-disabled='true'] {\n cursor: not-allowed;\n color: var(--wc-color-text-disabled);\n }\n\n .dragger-icon {\n font-size: 28px;\n color: var(--wc-color-text-placeholder);\n }\n\n .dragger:hover:not([aria-disabled='true']) .dragger-icon,\n .dragger.drag-over .dragger-icon {\n color: var(--wc-color-primary);\n }\n\n .dragger-text {\n margin-top: var(--wc-space-2);\n font-size: var(--wc-upload-font-size);\n color: var(--wc-color-text);\n }\n\n /* ---- 提示文字(tip 插槽) ---- */\n .tip {\n display: inline-block;\n margin-top: var(--wc-space-1);\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text-placeholder);\n }\n\n .tip:empty {\n display: none;\n }\n\n /* ---- 文件列表 ---- */\n .list {\n margin: var(--wc-space-2) 0 0;\n padding: 0;\n list-style: none;\n }\n\n .item {\n padding: var(--wc-space-1) var(--wc-space-2);\n border-radius: var(--wc-radius-small);\n transition: background-color var(--wc-duration-fast) var(--wc-easing-standard);\n }\n\n .item:hover {\n background-color: var(--wc-color-bg-hover);\n }\n\n .row {\n display: flex;\n align-items: center;\n gap: var(--wc-space-2);\n min-height: 24px;\n }\n\n .type-icon {\n font-size: 16px;\n color: var(--wc-color-text-placeholder);\n flex-shrink: 0;\n }\n\n .item.success .type-icon {\n color: var(--wc-color-success);\n }\n\n .item.error .type-icon {\n color: var(--wc-color-error);\n }\n\n .name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--wc-upload-font-size);\n color: var(--wc-color-text);\n }\n\n .name.link {\n color: var(--wc-color-primary);\n cursor: pointer;\n }\n\n .name.link:hover {\n text-decoration: underline;\n }\n\n .size,\n .percent,\n .fail-text {\n flex-shrink: 0;\n font-size: var(--wc-font-size-small);\n color: var(--wc-color-text-placeholder);\n }\n\n .fail-text {\n color: var(--wc-color-error);\n }\n\n .status-icon {\n font-size: 16px;\n flex-shrink: 0;\n }\n\n .status-icon.success {\n color: var(--wc-color-success);\n }\n\n .status-icon.error {\n color: var(--wc-color-error);\n }\n\n .status-icon.waiting {\n color: var(--wc-color-text-placeholder);\n }\n\n .icon-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n background: transparent;\n border: none;\n cursor: pointer;\n }\n\n .remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0;\n background: transparent;\n border: none;\n border-radius: var(--wc-radius-circle);\n color: var(--wc-color-text-placeholder);\n cursor: pointer;\n flex-shrink: 0;\n }\n\n /* wc-icon 的 :host 自带 text 色,这里让叉号跟随按钮的灰阶 */\n .remove wc-icon {\n color: inherit;\n }\n\n .remove:hover {\n color: var(--wc-color-text-secondary);\n }\n\n .bar {\n margin: var(--wc-space-1) 0 0 var(--wc-space-6);\n }\n`;\nvar Vo = Object.defineProperty, A = (o, e, t, s) => {\n for (var r = void 0, a = o.length - 1, l; a >= 0; a--)\n (l = o[a]) && (r = l(e, t, r) || r);\n return r && Vo(e, t, r), r;\n};\nconst dr = class dr extends d {\n constructor() {\n super(...arguments), this.action = \"\", this.name = \"file\", this.accept = \"\", this.multiple = !1, this.max = 0, this.draggable = !1, this.autoUpload = !0, this.disabled = !1, this.requestMethod = null, this.files = [], this.dragOver = !1, this.localize = new b(this), this.xhrMap = /* @__PURE__ */ new Map(), this.uidCounter = 0;\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n for (const e of this.xhrMap.values()) e.abort();\n this.xhrMap.clear();\n }\n /* ---------- 公开方法 ---------- */\n /** 手动上传全部 waiting 状态的文件(autoUpload=false 时使用) */\n submit() {\n for (const e of this.files)\n e.status === \"waiting\" && this.startUpload(e);\n }\n /** 清空文件列表并中断进行中的上传 */\n clearFiles() {\n for (const e of this.xhrMap.values()) e.abort();\n this.xhrMap.clear(), this.files.length && (this.files = [], this.emitChange());\n }\n nextUid() {\n return this.uidCounter += 1, `wc-upload-file-${this.uidCounter}`;\n }\n /* ---------- 选择与拖拽 ---------- */\n pick() {\n if (this.disabled) return;\n this.shadowRoot?.querySelector('input[type=\"file\"]')?.click();\n }\n onInputChange(e) {\n const t = e.target;\n t.files?.length && this.addFiles(t.files), t.value = \"\";\n }\n onDragOver(e) {\n e.preventDefault(), this.disabled || (this.dragOver = !0);\n }\n onDragLeave() {\n this.dragOver = !1;\n }\n onDrop(e) {\n e.preventDefault(), this.dragOver = !1, !this.disabled && e.dataTransfer?.files?.length && this.addFiles(e.dataTransfer.files);\n }\n onDraggerKeydown(e) {\n (e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), this.pick());\n }\n addFiles(e) {\n const t = Array.from(e);\n if (!t.length) return;\n let s = t;\n if (this.max > 0) {\n const a = this.max - this.files.length;\n if (a < t.length) {\n const l = t.slice(Math.max(0, a));\n this.dispatchEvent(\n new CustomEvent(\"wc-exceed\", {\n detail: { files: l, max: this.max },\n bubbles: !0,\n composed: !0\n })\n ), s = t.slice(0, Math.max(0, a));\n }\n }\n if (!s.length) return;\n const r = s.map((a) => ({\n uid: this.nextUid(),\n raw: a,\n name: a.name,\n size: a.size,\n percent: 0,\n status: \"waiting\"\n }));\n if (this.files = [...this.files, ...r], this.dispatchEvent(\n new CustomEvent(\"wc-select\", {\n detail: { files: s },\n bubbles: !0,\n composed: !0\n })\n ), this.emitChange(), this.autoUpload)\n for (const a of r) this.startUpload(a);\n }\n /* ---------- 上传流程 ---------- */\n startUpload(e) {\n if (!(this.disabled || e.status === \"uploading\")) {\n if (!this.action && !this.requestMethod) {\n console.warn(\"[wc-upload] 未配置 action 或 requestMethod,文件保持待上传状态\");\n return;\n }\n this.updateFile(e, { status: \"uploading\", percent: 0 }), this.requestMethod ? this.requestMethod(e, {\n onProgress: (t) => this.handleProgress(e, t),\n onSuccess: (t) => this.handleSuccess(e, t),\n onError: (t) => this.handleError(e, t)\n }) : this.uploadWithXhr(e);\n }\n }\n uploadWithXhr(e) {\n const t = new XMLHttpRequest();\n this.xhrMap.set(e.uid, t);\n const s = new FormData();\n s.append(this.name, e.raw), t.open(\"POST\", this.action), t.upload.onprogress = (r) => {\n r.lengthComputable && this.handleProgress(e, r.loaded / r.total * 100);\n }, t.onload = () => {\n if (t.status >= 200 && t.status < 300) {\n let r = t.responseText;\n try {\n r = JSON.parse(t.responseText);\n } catch {\n }\n this.handleSuccess(e, r);\n } else\n this.handleError(e, `HTTP ${t.status}`);\n }, t.onerror = () => this.handleError(e, \"network error\"), t.send(s);\n }\n handleProgress(e, t) {\n const s = Math.min(100, Math.max(0, Math.round(t)));\n this.updateFile(e, { percent: s }), this.dispatchEvent(\n new CustomEvent(\"wc-progress\", {\n detail: { file: this.snapshot(e), percent: s },\n bubbles: !0,\n composed: !0\n })\n );\n }\n handleSuccess(e, t) {\n this.xhrMap.delete(e.uid);\n const s = typeof t?.url == \"string\" ? t.url : void 0;\n this.updateFile(e, { status: \"success\", percent: 100, response: t, url: s }), this.dispatchEvent(\n new CustomEvent(\"wc-success\", {\n detail: { file: this.snapshot(e), response: t },\n bubbles: !0,\n composed: !0\n })\n ), this.emitChange();\n }\n handleError(e, t) {\n this.xhrMap.delete(e.uid), this.updateFile(e, { status: \"error\" }), this.dispatchEvent(\n new CustomEvent(\"wc-error\", {\n detail: { file: this.snapshot(e), message: t },\n bubbles: !0,\n composed: !0\n })\n ), this.emitChange();\n }\n /* ---------- 列表操作 ---------- */\n removeFile(e) {\n const t = this.files[e];\n !t || !this.dispatchEvent(\n new CustomEvent(\"wc-remove\", {\n detail: { file: t, index: e },\n bubbles: !0,\n composed: !0,\n cancelable: !0\n })\n ) || (this.xhrMap.get(t.uid)?.abort(), this.xhrMap.delete(t.uid), this.files = this.files.filter((r, a) => a !== e), this.emitChange());\n }\n retry(e) {\n e.status === \"error\" && this.startUpload(e);\n }\n onNameClick(e) {\n e.url && this.dispatchEvent(\n new CustomEvent(\"wc-preview\", { detail: { file: e }, bubbles: !0, composed: !0 })\n );\n }\n updateFile(e, t) {\n this.files = this.files.map((s) => s.uid === e.uid ? { ...s, ...t } : s);\n }\n snapshot(e) {\n return this.files.find((t) => t.uid === e.uid) ?? e;\n }\n emitChange() {\n this.dispatchEvent(\n new CustomEvent(\"wc-change\", {\n detail: { files: [...this.files] },\n bubbles: !0,\n composed: !0\n })\n );\n }\n formatSize(e) {\n return e == null ? \"\" : e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / 1024 / 1024).toFixed(1)} MB`;\n }\n render() {\n return c`\n <div class=\"upload\" part=\"base\">\n <input\n class=\"hidden-input\"\n type=\"file\"\n accept=${this.accept}\n ?multiple=${this.multiple}\n ?disabled=${this.disabled}\n @change=${this.onInputChange}\n />\n ${this.draggable ? c`<div\n class=\"dragger ${this.dragOver ? \"drag-over\" : \"\"}\"\n part=\"dragger\"\n role=\"button\"\n tabindex=${this.disabled ? -1 : 0}\n aria-disabled=${this.disabled}\n @click=${this.pick}\n @keydown=${this.onDraggerKeydown}\n @dragover=${this.onDragOver}\n @dragleave=${this.onDragLeave}\n @drop=${this.onDrop}\n >\n <wc-icon name=\"upload\" class=\"dragger-icon\"></wc-icon>\n <span class=\"dragger-text\">${this.localize.term(\"upload.clickOrDrag\")}</span>\n <span class=\"tip\"><slot name=\"tip\"></slot></span>\n </div>` : c`<div class=\"trigger-wrap\">\n <button\n type=\"button\"\n class=\"trigger\"\n part=\"trigger\"\n ?disabled=${this.disabled}\n @click=${this.pick}\n >\n <wc-icon name=\"upload\"></wc-icon>\n <span>${this.localize.term(\"upload.upload\")}</span>\n </button>\n <span class=\"tip\"><slot name=\"tip\"></slot></span>\n </div>`}\n ${this.files.length ? c`<ul class=\"list\" part=\"list\">\n ${this.files.map(\n (e, t) => c`\n <li class=\"item ${e.status}\" part=\"item\">\n <div class=\"row\">\n <wc-icon name=\"file\" class=\"type-icon\"></wc-icon>\n <span\n class=\"name ${e.url ? \"link\" : \"\"}\"\n title=${e.name}\n role=${e.url ? \"button\" : void 0}\n tabindex=${e.url ? 0 : void 0}\n @click=${() => this.onNameClick(e)}\n @keydown=${(s) => {\n e.url && (s.key === \"Enter\" || s.key === \" \") && (s.preventDefault(), this.onNameClick(e));\n }}\n >${e.name}</span\n >\n ${e.status === \"uploading\" ? c`<span class=\"percent\">${Math.round(e.percent ?? 0)}%</span>` : e.status === \"error\" ? c`<span class=\"fail-text\"\n >${this.localize.term(\"upload.failed\")}</span\n >` : c`<span class=\"size\">${this.formatSize(e.size)}</span>`}\n ${e.status === \"success\" ? c`<wc-icon name=\"check\" class=\"status-icon success\"></wc-icon>` : e.status === \"error\" ? c`<button\n type=\"button\"\n class=\"icon-btn\"\n title=${this.localize.term(\"upload.retry\")}\n aria-label=${this.localize.term(\"upload.retry\")}\n @click=${() => this.retry(e)}\n >\n <wc-icon name=\"error\" class=\"status-icon error\"></wc-icon>\n </button>` : e.status === \"waiting\" ? c`<wc-icon\n name=\"loader\"\n spin\n class=\"status-icon waiting\"\n ></wc-icon>` : \"\"}\n <button\n type=\"button\"\n class=\"remove\"\n part=\"remove-button\"\n aria-label=${this.localize.term(\"upload.remove\")}\n @click=${() => this.removeFile(t)}\n >\n <wc-icon name=\"close\"></wc-icon>\n </button>\n </div>\n ${e.status === \"uploading\" ? c`<wc-progress\n class=\"bar\"\n value=${e.percent ?? 0}\n stroke-width=\"4\"\n ?show-label=${!1}\n ></wc-progress>` : \"\"}\n </li>\n `\n )}\n </ul>` : \"\"}\n </div>\n `;\n }\n};\ndr.styles = [p, Do];\nlet k = dr;\nA([\n n()\n], k.prototype, \"action\");\nA([\n n()\n], k.prototype, \"name\");\nA([\n n()\n], k.prototype, \"accept\");\nA([\n n({ type: Boolean })\n], k.prototype, \"multiple\");\nA([\n n({ type: Number })\n], k.prototype, \"max\");\nA([\n n({ type: Boolean, reflect: !0 })\n], k.prototype, \"draggable\");\nA([\n n({\n type: Boolean,\n reflect: !0,\n attribute: \"auto-upload\",\n converter: (o) => o == null ? !0 : o !== \"false\"\n })\n], k.prototype, \"autoUpload\");\nA([\n n({ type: Boolean, reflect: !0 })\n], k.prototype, \"disabled\");\nA([\n n({ attribute: !1 })\n], k.prototype, \"requestMethod\");\nA([\n g()\n], k.prototype, \"files\");\nA([\n g()\n], k.prototype, \"dragOver\");\ncustomElements.get(\"wc-upload\") || customElements.define(\"wc-upload\", k);\nconst jo = [\n i(\"activity\", '<polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"></polyline>'),\n i(\n \"airplay\",\n '<path d=\"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\"></path><polygon points=\"12 15 17 21 7 21 12 15\"></polygon>'\n ),\n i(\n \"alert-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"></line>'\n ),\n i(\n \"alert-octagon\",\n '<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"></line>'\n ),\n i(\n \"alert-triangle\",\n '<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"></line><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"></line>'\n ),\n i(\n \"align-center\",\n '<line x1=\"18\" y1=\"10\" x2=\"6\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"18\" y1=\"18\" x2=\"6\" y2=\"18\"></line>'\n ),\n i(\n \"align-justify\",\n '<line x1=\"21\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"3\" y2=\"18\"></line>'\n ),\n i(\n \"align-left\",\n '<line x1=\"17\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"17\" y1=\"18\" x2=\"3\" y2=\"18\"></line>'\n ),\n i(\n \"align-right\",\n '<line x1=\"21\" y1=\"10\" x2=\"7\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"7\" y2=\"18\"></line>'\n ),\n i(\n \"anchor\",\n '<circle cx=\"12\" cy=\"5\" r=\"3\"></circle><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"8\"></line><path d=\"M5 12H2a10 10 0 0 0 20 0h-3\"></path>'\n ),\n i(\n \"aperture\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"14.31\" y1=\"8\" x2=\"20.05\" y2=\"17.94\"></line><line x1=\"9.69\" y1=\"8\" x2=\"21.17\" y2=\"8\"></line><line x1=\"7.38\" y1=\"12\" x2=\"13.12\" y2=\"2.06\"></line><line x1=\"9.69\" y1=\"16\" x2=\"3.95\" y2=\"6.06\"></line><line x1=\"14.31\" y1=\"16\" x2=\"2.83\" y2=\"16\"></line><line x1=\"16.62\" y1=\"12\" x2=\"10.88\" y2=\"21.94\"></line>'\n ),\n i(\n \"archive\",\n '<polyline points=\"21 8 21 21 3 21 3 8\"></polyline><rect x=\"1\" y=\"3\" width=\"22\" height=\"5\"></rect><line x1=\"10\" y1=\"12\" x2=\"14\" y2=\"12\"></line>'\n ),\n i(\n \"arrow-down-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"8 12 12 16 16 12\"></polyline><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line>'\n ),\n i(\n \"arrow-down-left\",\n '<line x1=\"17\" y1=\"7\" x2=\"7\" y2=\"17\"></line><polyline points=\"17 17 7 17 7 7\"></polyline>'\n ),\n i(\n \"arrow-down-right\",\n '<line x1=\"7\" y1=\"7\" x2=\"17\" y2=\"17\"></line><polyline points=\"17 7 17 17 7 17\"></polyline>'\n ),\n i(\n \"arrow-down\",\n '<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><polyline points=\"19 12 12 19 5 12\"></polyline>'\n ),\n i(\n \"arrow-left-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 8 8 12 12 16\"></polyline><line x1=\"16\" y1=\"12\" x2=\"8\" y2=\"12\"></line>'\n ),\n i(\n \"arrow-right-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 16 16 12 12 8\"></polyline><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>'\n ),\n i(\n \"arrow-up-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"16 12 12 8 8 12\"></polyline><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"8\"></line>'\n ),\n i(\n \"arrow-up-left\",\n '<line x1=\"17\" y1=\"17\" x2=\"7\" y2=\"7\"></line><polyline points=\"7 17 7 7 17 7\"></polyline>'\n ),\n i(\n \"arrow-up-right\",\n '<line x1=\"7\" y1=\"17\" x2=\"17\" y2=\"7\"></line><polyline points=\"7 7 17 7 17 17\"></polyline>'\n ),\n i(\n \"at-sign\",\n '<circle cx=\"12\" cy=\"12\" r=\"4\"></circle><path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\"></path>'\n ),\n i(\n \"award\",\n '<circle cx=\"12\" cy=\"8\" r=\"7\"></circle><polyline points=\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\"></polyline>'\n ),\n i(\n \"bar-chart-2\",\n '<line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"></line><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"></line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"></line>'\n ),\n i(\n \"bar-chart\",\n '<line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"10\"></line><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"4\"></line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"16\"></line>'\n ),\n i(\n \"battery-charging\",\n '<path d=\"M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19\"></path><line x1=\"23\" y1=\"13\" x2=\"23\" y2=\"11\"></line><polyline points=\"11 6 7 12 13 12 9 18\"></polyline>'\n ),\n i(\n \"battery\",\n '<rect x=\"1\" y=\"6\" width=\"18\" height=\"12\" rx=\"2\" ry=\"2\"></rect><line x1=\"23\" y1=\"13\" x2=\"23\" y2=\"11\"></line>'\n ),\n i(\n \"bell-off\",\n '<path d=\"M13.73 21a2 2 0 0 1-3.46 0\"></path><path d=\"M18.63 13A17.89 17.89 0 0 1 18 8\"></path><path d=\"M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14\"></path><path d=\"M18 8a6 6 0 0 0-9.33-5\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>'\n ),\n i(\n \"bell\",\n '<path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\"></path><path d=\"M13.73 21a2 2 0 0 1-3.46 0\"></path>'\n ),\n i(\n \"bluetooth\",\n '<polyline points=\"6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5\"></polyline>'\n ),\n i(\n \"bold\",\n '<path d=\"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"></path><path d=\"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"></path>'\n ),\n i(\n \"book-open\",\n '<path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"></path><path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"></path>'\n ),\n i(\n \"book\",\n '<path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"></path><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"></path>'\n ),\n i(\"bookmark\", '<path d=\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"></path>'),\n i(\n \"box\",\n '<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>'\n ),\n i(\n \"briefcase\",\n '<rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"></path>'\n ),\n i(\n \"camera-off\",\n '<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56\"></path>'\n ),\n i(\n \"camera\",\n '<path d=\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"></path><circle cx=\"12\" cy=\"13\" r=\"4\"></circle>'\n ),\n i(\n \"cast\",\n '<path d=\"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\"></path><line x1=\"2\" y1=\"20\" x2=\"2.01\" y2=\"20\"></line>'\n ),\n i(\n \"check-circle\",\n '<path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"></path><polyline points=\"22 4 12 14.01 9 11.01\"></polyline>'\n ),\n i(\n \"check-square\",\n '<polyline points=\"9 11 12 14 22 4\"></polyline><path d=\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"></path>'\n ),\n i(\n \"chevrons-down\",\n '<polyline points=\"7 13 12 18 17 13\"></polyline><polyline points=\"7 6 12 11 17 6\"></polyline>'\n ),\n i(\n \"chevrons-left\",\n '<polyline points=\"11 17 6 12 11 7\"></polyline><polyline points=\"18 17 13 12 18 7\"></polyline>'\n ),\n i(\n \"chevrons-right\",\n '<polyline points=\"13 17 18 12 13 7\"></polyline><polyline points=\"6 17 11 12 6 7\"></polyline>'\n ),\n i(\n \"chevrons-up\",\n '<polyline points=\"17 11 12 6 7 11\"></polyline><polyline points=\"17 18 12 13 7 18\"></polyline>'\n ),\n i(\n \"chrome\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"21.17\" y1=\"8\" x2=\"12\" y2=\"8\"></line><line x1=\"3.95\" y1=\"6.06\" x2=\"8.54\" y2=\"14\"></line><line x1=\"10.88\" y1=\"21.94\" x2=\"15.46\" y2=\"14\"></line>'\n ),\n i(\"circle\", '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle>'),\n i(\n \"clipboard\",\n '<path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"></path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"></rect>'\n ),\n i(\n \"clock\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 6 12 12 16 14\"></polyline>'\n ),\n i(\n \"cloud-drizzle\",\n '<line x1=\"8\" y1=\"19\" x2=\"8\" y2=\"21\"></line><line x1=\"8\" y1=\"13\" x2=\"8\" y2=\"15\"></line><line x1=\"16\" y1=\"19\" x2=\"16\" y2=\"21\"></line><line x1=\"16\" y1=\"13\" x2=\"16\" y2=\"15\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"17\"></line><path d=\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"></path>'\n ),\n i(\n \"cloud-lightning\",\n '<path d=\"M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9\"></path><polyline points=\"13 11 9 17 15 17 11 23\"></polyline>'\n ),\n i(\n \"cloud-off\",\n '<path d=\"M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>'\n ),\n i(\n \"cloud-rain\",\n '<line x1=\"16\" y1=\"13\" x2=\"16\" y2=\"21\"></line><line x1=\"8\" y1=\"13\" x2=\"8\" y2=\"21\"></line><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"23\"></line><path d=\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"></path>'\n ),\n i(\n \"cloud-snow\",\n '<path d=\"M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25\"></path><line x1=\"8\" y1=\"16\" x2=\"8.01\" y2=\"16\"></line><line x1=\"8\" y1=\"20\" x2=\"8.01\" y2=\"20\"></line><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"></line><line x1=\"12\" y1=\"22\" x2=\"12.01\" y2=\"22\"></line><line x1=\"16\" y1=\"16\" x2=\"16.01\" y2=\"16\"></line><line x1=\"16\" y1=\"20\" x2=\"16.01\" y2=\"20\"></line>'\n ),\n i(\"cloud\", '<path d=\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\"></path>'),\n i(\n \"code\",\n '<polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline>'\n ),\n i(\n \"codepen\",\n '<polygon points=\"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2\"></polygon><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"15.5\"></line><polyline points=\"22 8.5 12 15.5 2 8.5\"></polyline><polyline points=\"2 15.5 12 8.5 22 15.5\"></polyline><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"8.5\"></line>'\n ),\n i(\n \"codesandbox\",\n '<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"7.5 4.21 12 6.81 16.5 4.21\"></polyline><polyline points=\"7.5 19.79 7.5 14.6 3 12\"></polyline><polyline points=\"21 12 16.5 14.6 16.5 19.79\"></polyline><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>'\n ),\n i(\n \"coffee\",\n '<path d=\"M18 8h1a4 4 0 0 1 0 8h-1\"></path><path d=\"M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z\"></path><line x1=\"6\" y1=\"1\" x2=\"6\" y2=\"4\"></line><line x1=\"10\" y1=\"1\" x2=\"10\" y2=\"4\"></line><line x1=\"14\" y1=\"1\" x2=\"14\" y2=\"4\"></line>'\n ),\n i(\n \"columns\",\n '<path d=\"M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18\"></path>'\n ),\n i(\n \"command\",\n '<path d=\"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z\"></path>'\n ),\n i(\n \"compass\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polygon points=\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\"></polygon>'\n ),\n i(\n \"copy\",\n '<rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"></path>'\n ),\n i(\n \"corner-down-left\",\n '<polyline points=\"9 10 4 15 9 20\"></polyline><path d=\"M20 4v7a4 4 0 0 1-4 4H4\"></path>'\n ),\n i(\n \"corner-down-right\",\n '<polyline points=\"15 10 20 15 15 20\"></polyline><path d=\"M4 4v7a4 4 0 0 0 4 4h12\"></path>'\n ),\n i(\n \"corner-left-down\",\n '<polyline points=\"14 15 9 20 4 15\"></polyline><path d=\"M20 4h-7a4 4 0 0 0-4 4v12\"></path>'\n ),\n i(\n \"corner-left-up\",\n '<polyline points=\"14 9 9 4 4 9\"></polyline><path d=\"M20 20h-7a4 4 0 0 1-4-4V4\"></path>'\n ),\n i(\n \"corner-right-down\",\n '<polyline points=\"10 15 15 20 20 15\"></polyline><path d=\"M4 4h7a4 4 0 0 1 4 4v12\"></path>'\n ),\n i(\n \"corner-right-up\",\n '<polyline points=\"10 9 15 4 20 9\"></polyline><path d=\"M4 20h7a4 4 0 0 0 4-4V4\"></path>'\n ),\n i(\n \"corner-up-left\",\n '<polyline points=\"9 14 4 9 9 4\"></polyline><path d=\"M20 20v-7a4 4 0 0 0-4-4H4\"></path>'\n ),\n i(\n \"corner-up-right\",\n '<polyline points=\"15 14 20 9 15 4\"></polyline><path d=\"M4 20v-7a4 4 0 0 1 4-4h12\"></path>'\n ),\n i(\n \"cpu\",\n '<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" ry=\"2\"></rect><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"></rect><line x1=\"9\" y1=\"1\" x2=\"9\" y2=\"4\"></line><line x1=\"15\" y1=\"1\" x2=\"15\" y2=\"4\"></line><line x1=\"9\" y1=\"20\" x2=\"9\" y2=\"23\"></line><line x1=\"15\" y1=\"20\" x2=\"15\" y2=\"23\"></line><line x1=\"20\" y1=\"9\" x2=\"23\" y2=\"9\"></line><line x1=\"20\" y1=\"14\" x2=\"23\" y2=\"14\"></line><line x1=\"1\" y1=\"9\" x2=\"4\" y2=\"9\"></line><line x1=\"1\" y1=\"14\" x2=\"4\" y2=\"14\"></line>'\n ),\n i(\n \"credit-card\",\n '<rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\"></rect><line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"></line>'\n ),\n i(\n \"crop\",\n '<path d=\"M6.13 1L6 16a2 2 0 0 0 2 2h15\"></path><path d=\"M1 6.13L16 6a2 2 0 0 1 2 2v15\"></path>'\n ),\n i(\n \"crosshair\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"22\" y1=\"12\" x2=\"18\" y2=\"12\"></line><line x1=\"6\" y1=\"12\" x2=\"2\" y2=\"12\"></line><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"2\"></line><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"18\"></line>'\n ),\n i(\n \"database\",\n '<ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"></ellipse><path d=\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\"></path><path d=\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\"></path>'\n ),\n i(\n \"delete\",\n '<path d=\"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\"></path><line x1=\"18\" y1=\"9\" x2=\"12\" y2=\"15\"></line><line x1=\"12\" y1=\"9\" x2=\"18\" y2=\"15\"></line>'\n ),\n i(\n \"disc\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"3\"></circle>'\n ),\n i(\n \"divide-circle\",\n '<line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8\"></line><circle cx=\"12\" cy=\"12\" r=\"10\"></circle>'\n ),\n i(\n \"divide-square\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8\"></line>'\n ),\n i(\n \"divide\",\n '<circle cx=\"12\" cy=\"6\" r=\"2\"></circle><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line><circle cx=\"12\" cy=\"18\" r=\"2\"></circle>'\n ),\n i(\n \"dollar-sign\",\n '<line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"></line><path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"></path>'\n ),\n i(\n \"download-cloud\",\n '<polyline points=\"8 17 12 21 16 17\"></polyline><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\"></line><path d=\"M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29\"></path>'\n ),\n i(\n \"download\",\n '<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path><polyline points=\"7 10 12 15 17 10\"></polyline><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"></line>'\n ),\n i(\n \"dribbble\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M8.56 2.75c4.37 6.03 6.02 9.42 8.03 17.72m2.54-15.38c-3.72 4.35-8.94 5.66-16.88 5.85m19.5 1.9c-3.5-.93-6.63-.82-8.94 0-2.58.92-5.01 2.86-7.44 6.32\"></path>'\n ),\n i(\"droplet\", '<path d=\"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z\"></path>'),\n i(\"edit-2\", '<path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\"></path>'),\n i(\n \"edit-3\",\n '<path d=\"M12 20h9\"></path><path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z\"></path>'\n ),\n i(\n \"edit\",\n '<path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"></path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"></path>'\n ),\n i(\n \"external-link\",\n '<path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>'\n ),\n i(\n \"eye-off\",\n '<path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>'\n ),\n i(\n \"eye\",\n '<path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle>'\n ),\n i(\n \"facebook\",\n '<path d=\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"></path>'\n ),\n i(\n \"fast-forward\",\n '<polygon points=\"13 19 22 12 13 5 13 19\"></polygon><polygon points=\"2 19 11 12 2 5 2 19\"></polygon>'\n ),\n i(\n \"feather\",\n '<path d=\"M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z\"></path><line x1=\"16\" y1=\"8\" x2=\"2\" y2=\"22\"></line><line x1=\"17.5\" y1=\"15\" x2=\"9\" y2=\"15\"></line>'\n ),\n i(\n \"figma\",\n '<path d=\"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z\"></path><path d=\"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z\"></path><path d=\"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z\"></path><path d=\"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z\"></path><path d=\"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z\"></path>'\n ),\n i(\n \"file-minus\",\n '<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\"></line>'\n ),\n i(\n \"file-plus\",\n '<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"12\"></line><line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\"></line>'\n ),\n i(\n \"file-text\",\n '<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline>'\n ),\n i(\n \"film\",\n '<rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2.18\" ry=\"2.18\"></rect><line x1=\"7\" y1=\"2\" x2=\"7\" y2=\"22\"></line><line x1=\"17\" y1=\"2\" x2=\"17\" y2=\"22\"></line><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"2\" y1=\"7\" x2=\"7\" y2=\"7\"></line><line x1=\"2\" y1=\"17\" x2=\"7\" y2=\"17\"></line><line x1=\"17\" y1=\"17\" x2=\"22\" y2=\"17\"></line><line x1=\"17\" y1=\"7\" x2=\"22\" y2=\"7\"></line>'\n ),\n i(\"filter\", '<polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon>'),\n i(\n \"flag\",\n '<path d=\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"></path><line x1=\"4\" y1=\"22\" x2=\"4\" y2=\"15\"></line>'\n ),\n i(\n \"folder-minus\",\n '<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path><line x1=\"9\" y1=\"14\" x2=\"15\" y2=\"14\"></line>'\n ),\n i(\n \"folder-plus\",\n '<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"17\"></line><line x1=\"9\" y1=\"14\" x2=\"15\" y2=\"14\"></line>'\n ),\n i(\n \"folder\",\n '<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path>'\n ),\n i(\"framer\", '<path d=\"M5 16V9h14V2H5l14 14h-7m-7 0l7 7v-7m-7 0h7\"></path>'),\n i(\n \"frown\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M16 16s-1.5-2-4-2-4 2-4 2\"></path><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>'\n ),\n i(\n \"gift\",\n '<polyline points=\"20 12 20 22 4 22 4 12\"></polyline><rect x=\"2\" y=\"7\" width=\"20\" height=\"5\"></rect><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"7\"></line><path d=\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z\"></path><path d=\"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\"></path>'\n ),\n i(\n \"git-branch\",\n '<line x1=\"6\" y1=\"3\" x2=\"6\" y2=\"15\"></line><circle cx=\"18\" cy=\"6\" r=\"3\"></circle><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><path d=\"M18 9a9 9 0 0 1-9 9\"></path>'\n ),\n i(\n \"git-commit\",\n '<circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"1.05\" y1=\"12\" x2=\"7\" y2=\"12\"></line><line x1=\"17.01\" y1=\"12\" x2=\"22.96\" y2=\"12\"></line>'\n ),\n i(\n \"git-merge\",\n '<circle cx=\"18\" cy=\"18\" r=\"3\"></circle><circle cx=\"6\" cy=\"6\" r=\"3\"></circle><path d=\"M6 21V9a9 9 0 0 0 9 9\"></path>'\n ),\n i(\n \"git-pull-request\",\n '<circle cx=\"18\" cy=\"18\" r=\"3\"></circle><circle cx=\"6\" cy=\"6\" r=\"3\"></circle><path d=\"M13 6h3a2 2 0 0 1 2 2v7\"></path><line x1=\"6\" y1=\"9\" x2=\"6\" y2=\"21\"></line>'\n ),\n i(\n \"github\",\n '<path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"></path>'\n ),\n i(\n \"gitlab\",\n '<path d=\"M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z\"></path>'\n ),\n i(\n \"globe\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"></path>'\n ),\n i(\n \"grid\",\n '<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"></rect><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"></rect><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"></rect><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"></rect>'\n ),\n i(\n \"hard-drive\",\n '<line x1=\"22\" y1=\"12\" x2=\"2\" y2=\"12\"></line><path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"></path><line x1=\"6\" y1=\"16\" x2=\"6.01\" y2=\"16\"></line><line x1=\"10\" y1=\"16\" x2=\"10.01\" y2=\"16\"></line>'\n ),\n i(\n \"hash\",\n '<line x1=\"4\" y1=\"9\" x2=\"20\" y2=\"9\"></line><line x1=\"4\" y1=\"15\" x2=\"20\" y2=\"15\"></line><line x1=\"10\" y1=\"3\" x2=\"8\" y2=\"21\"></line><line x1=\"16\" y1=\"3\" x2=\"14\" y2=\"21\"></line>'\n ),\n i(\n \"headphones\",\n '<path d=\"M3 18v-6a9 9 0 0 1 18 0v6\"></path><path d=\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\"></path>'\n ),\n i(\n \"heart\",\n '<path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"></path>'\n ),\n i(\n \"help-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"></path><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"></line>'\n ),\n i(\n \"hexagon\",\n '<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path>'\n ),\n i(\n \"home\",\n '<path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><polyline points=\"9 22 9 12 15 12 15 22\"></polyline>'\n ),\n i(\n \"image\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"></circle><polyline points=\"21 15 16 10 5 21\"></polyline>'\n ),\n i(\n \"inbox\",\n '<polyline points=\"22 12 16 12 14 15 10 15 8 12 2 12\"></polyline><path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"></path>'\n ),\n i(\n \"instagram\",\n '<rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"5\" ry=\"5\"></rect><path d=\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"></path><line x1=\"17.5\" y1=\"6.5\" x2=\"17.51\" y2=\"6.5\"></line>'\n ),\n i(\n \"italic\",\n '<line x1=\"19\" y1=\"4\" x2=\"10\" y2=\"4\"></line><line x1=\"14\" y1=\"20\" x2=\"5\" y2=\"20\"></line><line x1=\"15\" y1=\"4\" x2=\"9\" y2=\"20\"></line>'\n ),\n i(\n \"key\",\n '<path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\"></path>'\n ),\n i(\n \"layers\",\n '<polygon points=\"12 2 2 7 12 12 22 7 12 2\"></polygon><polyline points=\"2 17 12 22 22 17\"></polyline><polyline points=\"2 12 12 17 22 12\"></polyline>'\n ),\n i(\n \"layout\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"></line><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"></line>'\n ),\n i(\n \"life-buoy\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"4.93\" y1=\"4.93\" x2=\"9.17\" y2=\"9.17\"></line><line x1=\"14.83\" y1=\"14.83\" x2=\"19.07\" y2=\"19.07\"></line><line x1=\"14.83\" y1=\"9.17\" x2=\"19.07\" y2=\"4.93\"></line><line x1=\"14.83\" y1=\"9.17\" x2=\"18.36\" y2=\"5.64\"></line><line x1=\"4.93\" y1=\"19.07\" x2=\"9.17\" y2=\"14.83\"></line>'\n ),\n i(\n \"link-2\",\n '<path d=\"M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3\"></path><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>'\n ),\n i(\n \"link\",\n '<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"></path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"></path>'\n ),\n i(\n \"linkedin\",\n '<path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"></path><rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"></rect><circle cx=\"4\" cy=\"4\" r=\"2\"></circle>'\n ),\n i(\n \"list\",\n '<line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"></line><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"></line><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"></line><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"></line>'\n ),\n i(\n \"lock\",\n '<rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"></rect><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"></path>'\n ),\n i(\n \"log-in\",\n '<path d=\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"></path><polyline points=\"10 17 15 12 10 7\"></polyline><line x1=\"15\" y1=\"12\" x2=\"3\" y2=\"12\"></line>'\n ),\n i(\n \"log-out\",\n '<path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"></path><polyline points=\"16 17 21 12 16 7\"></polyline><line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"></line>'\n ),\n i(\n \"mail\",\n '<path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"></path><polyline points=\"22,6 12,13 2,6\"></polyline>'\n ),\n i(\n \"map-pin\",\n '<path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"></path><circle cx=\"12\" cy=\"10\" r=\"3\"></circle>'\n ),\n i(\n \"map\",\n '<polygon points=\"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6\"></polygon><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"18\"></line><line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"22\"></line>'\n ),\n i(\n \"maximize-2\",\n '<polyline points=\"15 3 21 3 21 9\"></polyline><polyline points=\"9 21 3 21 3 15\"></polyline><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line>'\n ),\n i(\n \"maximize\",\n '<path d=\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"></path>'\n ),\n i(\n \"meh\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"8\" y1=\"15\" x2=\"16\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>'\n ),\n i(\n \"menu\",\n '<line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\"></line>'\n ),\n i(\n \"message-circle\",\n '<path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\"></path>'\n ),\n i(\n \"message-square\",\n '<path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path>'\n ),\n i(\n \"mic-off\",\n '<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\"></path><path d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>'\n ),\n i(\n \"mic\",\n '<path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>'\n ),\n i(\n \"minimize-2\",\n '<polyline points=\"4 14 10 14 10 20\"></polyline><polyline points=\"20 10 14 10 14 4\"></polyline><line x1=\"14\" y1=\"10\" x2=\"21\" y2=\"3\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line>'\n ),\n i(\n \"minimize\",\n '<path d=\"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\"></path>'\n ),\n i(\n \"minus-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>'\n ),\n i(\n \"minus-square\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>'\n ),\n i(\n \"monitor\",\n '<rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"></line><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"></line>'\n ),\n i(\"moon\", '<path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>'),\n i(\n \"more-horizontal\",\n '<circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"19\" cy=\"12\" r=\"1\"></circle><circle cx=\"5\" cy=\"12\" r=\"1\"></circle>'\n ),\n i(\n \"more-vertical\",\n '<circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"5\" r=\"1\"></circle><circle cx=\"12\" cy=\"19\" r=\"1\"></circle>'\n ),\n i(\n \"mouse-pointer\",\n '<path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"></path><path d=\"M13 13l6 6\"></path>'\n ),\n i(\n \"move\",\n '<polyline points=\"5 9 2 12 5 15\"></polyline><polyline points=\"9 5 12 2 15 5\"></polyline><polyline points=\"15 19 12 22 9 19\"></polyline><polyline points=\"19 9 22 12 19 15\"></polyline><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\"></line>'\n ),\n i(\n \"music\",\n '<path d=\"M9 18V5l12-2v13\"></path><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><circle cx=\"18\" cy=\"16\" r=\"3\"></circle>'\n ),\n i(\"navigation-2\", '<polygon points=\"12 2 19 21 12 17 5 21 12 2\"></polygon>'),\n i(\"navigation\", '<polygon points=\"3 11 22 2 13 21 11 13 3 11\"></polygon>'),\n i(\n \"octagon\",\n '<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon>'\n ),\n i(\n \"package\",\n '<line x1=\"16.5\" y1=\"9.4\" x2=\"7.5\" y2=\"4.21\"></line><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>'\n ),\n i(\n \"paperclip\",\n '<path d=\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\"></path>'\n ),\n i(\n \"pause-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"10\" y1=\"15\" x2=\"10\" y2=\"9\"></line><line x1=\"14\" y1=\"15\" x2=\"14\" y2=\"9\"></line>'\n ),\n i(\n \"pause\",\n '<rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"></rect><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"></rect>'\n ),\n i(\n \"pen-tool\",\n '<path d=\"M12 19l7-7 3 3-7 7-3-3z\"></path><path d=\"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"></path><path d=\"M2 2l7.586 7.586\"></path><circle cx=\"11\" cy=\"11\" r=\"2\"></circle>'\n ),\n i(\n \"percent\",\n '<line x1=\"19\" y1=\"5\" x2=\"5\" y2=\"19\"></line><circle cx=\"6.5\" cy=\"6.5\" r=\"2.5\"></circle><circle cx=\"17.5\" cy=\"17.5\" r=\"2.5\"></circle>'\n ),\n i(\n \"phone-call\",\n '<path d=\"M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>'\n ),\n i(\n \"phone-forwarded\",\n '<polyline points=\"19 1 23 5 19 9\"></polyline><line x1=\"15\" y1=\"5\" x2=\"23\" y2=\"5\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>'\n ),\n i(\n \"phone-incoming\",\n '<polyline points=\"16 2 16 8 22 8\"></polyline><line x1=\"23\" y1=\"1\" x2=\"16\" y2=\"8\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>'\n ),\n i(\n \"phone-missed\",\n '<line x1=\"23\" y1=\"1\" x2=\"17\" y2=\"7\"></line><line x1=\"17\" y1=\"1\" x2=\"23\" y2=\"7\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>'\n ),\n i(\n \"phone-off\",\n '<path d=\"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91\"></path><line x1=\"23\" y1=\"1\" x2=\"1\" y2=\"23\"></line>'\n ),\n i(\n \"phone-outgoing\",\n '<polyline points=\"23 7 23 1 17 1\"></polyline><line x1=\"16\" y1=\"8\" x2=\"23\" y2=\"1\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>'\n ),\n i(\n \"phone\",\n '<path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>'\n ),\n i(\n \"pie-chart\",\n '<path d=\"M21.21 15.89A10 10 0 1 1 8 2.83\"></path><path d=\"M22 12A10 10 0 0 0 12 2v10z\"></path>'\n ),\n i(\n \"play-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polygon points=\"10 8 16 12 10 16 10 8\"></polygon>'\n ),\n i(\"play\", '<polygon points=\"5 3 19 12 5 21 5 3\"></polygon>'),\n i(\n \"plus-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>'\n ),\n i(\n \"plus-square\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>'\n ),\n i(\n \"pocket\",\n '<path d=\"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z\"></path><polyline points=\"8 10 12 14 16 10\"></polyline>'\n ),\n i(\n \"power\",\n '<path d=\"M18.36 6.64a9 9 0 1 1-12.73 0\"></path><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"12\"></line>'\n ),\n i(\n \"printer\",\n '<polyline points=\"6 9 6 2 18 2 18 9\"></polyline><path d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"></path><rect x=\"6\" y=\"14\" width=\"12\" height=\"8\"></rect>'\n ),\n i(\n \"radio\",\n '<circle cx=\"12\" cy=\"12\" r=\"2\"></circle><path d=\"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\"></path>'\n ),\n i(\n \"refresh-ccw\",\n '<polyline points=\"1 4 1 10 7 10\"></polyline><polyline points=\"23 20 23 14 17 14\"></polyline><path d=\"M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15\"></path>'\n ),\n i(\n \"refresh-cw\",\n '<polyline points=\"23 4 23 10 17 10\"></polyline><polyline points=\"1 20 1 14 7 14\"></polyline><path d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"></path>'\n ),\n i(\n \"repeat\",\n '<polyline points=\"17 1 21 5 17 9\"></polyline><path d=\"M3 11V9a4 4 0 0 1 4-4h14\"></path><polyline points=\"7 23 3 19 7 15\"></polyline><path d=\"M21 13v2a4 4 0 0 1-4 4H3\"></path>'\n ),\n i(\n \"rewind\",\n '<polygon points=\"11 19 2 12 11 5 11 19\"></polygon><polygon points=\"22 19 13 12 22 5 22 19\"></polygon>'\n ),\n i(\n \"rotate-ccw\",\n '<polyline points=\"1 4 1 10 7 10\"></polyline><path d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"></path>'\n ),\n i(\n \"rss\",\n '<path d=\"M4 11a9 9 0 0 1 9 9\"></path><path d=\"M4 4a16 16 0 0 1 16 16\"></path><circle cx=\"5\" cy=\"19\" r=\"1\"></circle>'\n ),\n i(\n \"save\",\n '<path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"></path><polyline points=\"17 21 17 13 7 13 7 21\"></polyline><polyline points=\"7 3 7 8 15 8\"></polyline>'\n ),\n i(\n \"scissors\",\n '<circle cx=\"6\" cy=\"6\" r=\"3\"></circle><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><line x1=\"20\" y1=\"4\" x2=\"8.12\" y2=\"15.88\"></line><line x1=\"14.47\" y1=\"14.48\" x2=\"20\" y2=\"20\"></line><line x1=\"8.12\" y1=\"8.12\" x2=\"12\" y2=\"12\"></line>'\n ),\n i(\n \"send\",\n '<line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"></line><polygon points=\"22 2 15 22 11 13 2 9 22 2\"></polygon>'\n ),\n i(\n \"server\",\n '<rect x=\"2\" y=\"2\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><rect x=\"2\" y=\"14\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><line x1=\"6\" y1=\"6\" x2=\"6.01\" y2=\"6\"></line><line x1=\"6\" y1=\"18\" x2=\"6.01\" y2=\"18\"></line>'\n ),\n i(\n \"settings\",\n '<circle cx=\"12\" cy=\"12\" r=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"></path>'\n ),\n i(\n \"share-2\",\n '<circle cx=\"18\" cy=\"5\" r=\"3\"></circle><circle cx=\"6\" cy=\"12\" r=\"3\"></circle><circle cx=\"18\" cy=\"19\" r=\"3\"></circle><line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\"></line><line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\"></line>'\n ),\n i(\n \"share\",\n '<path d=\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\"></path><polyline points=\"16 6 12 2 8 6\"></polyline><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"15\"></line>'\n ),\n i(\n \"shield-off\",\n '<path d=\"M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18\"></path><path d=\"M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>'\n ),\n i(\"shield\", '<path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"></path>'),\n i(\n \"shopping-bag\",\n '<path d=\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"></path><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line><path d=\"M16 10a4 4 0 0 1-8 0\"></path>'\n ),\n i(\n \"shopping-cart\",\n '<circle cx=\"9\" cy=\"21\" r=\"1\"></circle><circle cx=\"20\" cy=\"21\" r=\"1\"></circle><path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"></path>'\n ),\n i(\n \"shuffle\",\n '<polyline points=\"16 3 21 3 21 8\"></polyline><line x1=\"4\" y1=\"20\" x2=\"21\" y2=\"3\"></line><polyline points=\"21 16 21 21 16 21\"></polyline><line x1=\"15\" y1=\"15\" x2=\"21\" y2=\"21\"></line><line x1=\"4\" y1=\"4\" x2=\"9\" y2=\"9\"></line>'\n ),\n i(\n \"sidebar\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"></line>'\n ),\n i(\n \"skip-back\",\n '<polygon points=\"19 20 9 12 19 4 19 20\"></polygon><line x1=\"5\" y1=\"19\" x2=\"5\" y2=\"5\"></line>'\n ),\n i(\n \"skip-forward\",\n '<polygon points=\"5 4 15 12 5 20 5 4\"></polygon><line x1=\"19\" y1=\"5\" x2=\"19\" y2=\"19\"></line>'\n ),\n i(\n \"slack\",\n '<path d=\"M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z\"></path><path d=\"M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"></path><path d=\"M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z\"></path><path d=\"M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z\"></path><path d=\"M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z\"></path><path d=\"M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z\"></path><path d=\"M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z\"></path><path d=\"M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z\"></path>'\n ),\n i(\n \"slash\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"></line>'\n ),\n i(\n \"sliders\",\n '<line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"></line><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"></line><line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"></line><line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"></line><line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"></line><line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"></line><line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"></line>'\n ),\n i(\n \"smartphone\",\n '<rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"></line>'\n ),\n i(\n \"smile\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M8 14s1.5 2 4 2 4-2 4-2\"></path><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>'\n ),\n i(\n \"speaker\",\n '<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><circle cx=\"12\" cy=\"14\" r=\"4\"></circle><line x1=\"12\" y1=\"6\" x2=\"12.01\" y2=\"6\"></line>'\n ),\n i(\"square\", '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>'),\n i(\n \"star\",\n '<polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"></polygon>'\n ),\n i(\n \"stop-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"></rect>'\n ),\n i(\n \"sun\",\n '<circle cx=\"12\" cy=\"12\" r=\"5\"></circle><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line><line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line><line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line><line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line><line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line><line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line><line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>'\n ),\n i(\n \"sunrise\",\n '<path d=\"M17 18a5 5 0 0 0-10 0\"></path><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"9\"></line><line x1=\"4.22\" y1=\"10.22\" x2=\"5.64\" y2=\"11.64\"></line><line x1=\"1\" y1=\"18\" x2=\"3\" y2=\"18\"></line><line x1=\"21\" y1=\"18\" x2=\"23\" y2=\"18\"></line><line x1=\"18.36\" y1=\"11.64\" x2=\"19.78\" y2=\"10.22\"></line><line x1=\"23\" y1=\"22\" x2=\"1\" y2=\"22\"></line><polyline points=\"8 6 12 2 16 6\"></polyline>'\n ),\n i(\n \"sunset\",\n '<path d=\"M17 18a5 5 0 0 0-10 0\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"2\"></line><line x1=\"4.22\" y1=\"10.22\" x2=\"5.64\" y2=\"11.64\"></line><line x1=\"1\" y1=\"18\" x2=\"3\" y2=\"18\"></line><line x1=\"21\" y1=\"18\" x2=\"23\" y2=\"18\"></line><line x1=\"18.36\" y1=\"11.64\" x2=\"19.78\" y2=\"10.22\"></line><line x1=\"23\" y1=\"22\" x2=\"1\" y2=\"22\"></line><polyline points=\"16 5 12 9 8 5\"></polyline>'\n ),\n i(\n \"table\",\n '<path d=\"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18\"></path>'\n ),\n i(\n \"tablet\",\n '<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"></line>'\n ),\n i(\n \"tag\",\n '<path d=\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\"></path><line x1=\"7\" y1=\"7\" x2=\"7.01\" y2=\"7\"></line>'\n ),\n i(\n \"target\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"6\"></circle><circle cx=\"12\" cy=\"12\" r=\"2\"></circle>'\n ),\n i(\n \"terminal\",\n '<polyline points=\"4 17 10 11 4 5\"></polyline><line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\"></line>'\n ),\n i(\n \"thermometer\",\n '<path d=\"M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z\"></path>'\n ),\n i(\n \"thumbs-down\",\n '<path d=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"></path>'\n ),\n i(\n \"thumbs-up\",\n '<path d=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"></path>'\n ),\n i(\n \"toggle-left\",\n '<rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" ry=\"7\"></rect><circle cx=\"8\" cy=\"12\" r=\"3\"></circle>'\n ),\n i(\n \"toggle-right\",\n '<rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" ry=\"7\"></rect><circle cx=\"16\" cy=\"12\" r=\"3\"></circle>'\n ),\n i(\n \"tool\",\n '<path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"></path>'\n ),\n i(\n \"trash-2\",\n '<polyline points=\"3 6 5 6 21 6\"></polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"></path><line x1=\"10\" y1=\"11\" x2=\"10\" y2=\"17\"></line><line x1=\"14\" y1=\"11\" x2=\"14\" y2=\"17\"></line>'\n ),\n i(\n \"trash\",\n '<polyline points=\"3 6 5 6 21 6\"></polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"></path>'\n ),\n i(\n \"trello\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><rect x=\"7\" y=\"7\" width=\"3\" height=\"9\"></rect><rect x=\"14\" y=\"7\" width=\"3\" height=\"5\"></rect>'\n ),\n i(\n \"trending-down\",\n '<polyline points=\"23 18 13.5 8.5 8.5 13.5 1 6\"></polyline><polyline points=\"17 18 23 18 23 12\"></polyline>'\n ),\n i(\n \"trending-up\",\n '<polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\"></polyline><polyline points=\"17 6 23 6 23 12\"></polyline>'\n ),\n i(\n \"triangle\",\n '<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path>'\n ),\n i(\n \"truck\",\n '<rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"></rect><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"></polygon><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"></circle><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"></circle>'\n ),\n i(\n \"tv\",\n '<rect x=\"2\" y=\"7\" width=\"20\" height=\"15\" rx=\"2\" ry=\"2\"></rect><polyline points=\"17 2 12 7 7 2\"></polyline>'\n ),\n i(\"twitch\", '<path d=\"M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7\"></path>'),\n i(\n \"twitter\",\n '<path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"></path>'\n ),\n i(\n \"type\",\n '<polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"></line><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"></line>'\n ),\n i(\"umbrella\", '<path d=\"M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7\"></path>'),\n i(\n \"underline\",\n '<path d=\"M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3\"></path><line x1=\"4\" y1=\"21\" x2=\"20\" y2=\"21\"></line>'\n ),\n i(\n \"unlock\",\n '<rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"></rect><path d=\"M7 11V7a5 5 0 0 1 9.9-1\"></path>'\n ),\n i(\n \"upload-cloud\",\n '<polyline points=\"16 16 12 12 8 16\"></polyline><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\"></line><path d=\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\"></path><polyline points=\"16 16 12 12 8 16\"></polyline>'\n ),\n i(\n \"user-check\",\n '<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><polyline points=\"17 11 19 13 23 9\"></polyline>'\n ),\n i(\n \"user-minus\",\n '<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"23\" y1=\"11\" x2=\"17\" y2=\"11\"></line>'\n ),\n i(\n \"user-plus\",\n '<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"20\" y1=\"8\" x2=\"20\" y2=\"14\"></line><line x1=\"23\" y1=\"11\" x2=\"17\" y2=\"11\"></line>'\n ),\n i(\n \"user-x\",\n '<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"18\" y1=\"8\" x2=\"23\" y2=\"13\"></line><line x1=\"23\" y1=\"8\" x2=\"18\" y2=\"13\"></line>'\n ),\n i(\n \"user\",\n '<path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"></path><circle cx=\"12\" cy=\"7\" r=\"4\"></circle>'\n ),\n i(\n \"users\",\n '<path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"9\" cy=\"7\" r=\"4\"></circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"></path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"></path>'\n ),\n i(\n \"video-off\",\n '<path d=\"M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>'\n ),\n i(\n \"video\",\n '<polygon points=\"23 7 16 12 23 17 23 7\"></polygon><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\"></rect>'\n ),\n i(\n \"voicemail\",\n '<circle cx=\"5.5\" cy=\"11.5\" r=\"4.5\"></circle><circle cx=\"18.5\" cy=\"11.5\" r=\"4.5\"></circle><line x1=\"5.5\" y1=\"16\" x2=\"18.5\" y2=\"16\"></line>'\n ),\n i(\n \"volume-1\",\n '<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"></path>'\n ),\n i(\n \"volume-2\",\n '<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"></path>'\n ),\n i(\n \"volume-x\",\n '<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"></line>'\n ),\n i(\"volume\", '<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon>'),\n i(\n \"watch\",\n '<circle cx=\"12\" cy=\"12\" r=\"7\"></circle><polyline points=\"12 9 12 12 13.5 13.5\"></polyline><path d=\"M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\"></path>'\n ),\n i(\n \"wifi-off\",\n '<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M16.72 11.06A10.94 10.94 0 0 1 19 12.55\"></path><path d=\"M5 12.55a10.94 10.94 0 0 1 5.17-2.39\"></path><path d=\"M10.71 5.05A16 16 0 0 1 22.58 9\"></path><path d=\"M1.42 9a15.91 15.91 0 0 1 4.7-2.88\"></path><path d=\"M8.53 16.11a6 6 0 0 1 6.95 0\"></path><line x1=\"12\" y1=\"20\" x2=\"12.01\" y2=\"20\"></line>'\n ),\n i(\n \"wifi\",\n '<path d=\"M5 12.55a11 11 0 0 1 14.08 0\"></path><path d=\"M1.42 9a16 16 0 0 1 21.16 0\"></path><path d=\"M8.53 16.11a6 6 0 0 1 6.95 0\"></path><line x1=\"12\" y1=\"20\" x2=\"12.01\" y2=\"20\"></line>'\n ),\n i(\n \"wind\",\n '<path d=\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\"></path>'\n ),\n i(\n \"x-circle\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>'\n ),\n i(\n \"x-octagon\",\n '<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>'\n ),\n i(\n \"x-square\",\n '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line>'\n ),\n i(\n \"x\",\n '<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>'\n ),\n i(\n \"youtube\",\n '<path d=\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\"></path><polygon points=\"9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02\"></polygon>'\n ),\n i(\n \"zap-off\",\n '<polyline points=\"12.41 6.75 13 2 10.57 4.92\"></polyline><polyline points=\"18.57 12.91 21 10 15.66 10\"></polyline><polyline points=\"8 8 3 14 12 14 11 22 16 16\"></polyline><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>'\n ),\n i(\"zap\", '<polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"></polygon>')\n], Ho = i(\"arrow-left\", '<path d=\"M19 12H5\"/><path d=\"m12 19-7-7 7-7\"/>'), Bo = i(\n \"arrow-right\",\n '<path d=\"M5 12h14\"/><path d=\"m12 5 7 7-7 7\"/>'\n), No = i(\n \"arrow-up\",\n '<path d=\"M12 19V5\"/><path d=\"m5 12 7-7 7 7\"/><path d=\"M5 4h14\"/>'\n), qo = i(\n \"calendar\",\n '<rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"/><path d=\"M16 2v4\"/><path d=\"M8 2v4\"/><path d=\"M3 10h18\"/>'\n), Ro = i(\"check\", '<polyline points=\"20 6 9 17 4 12\"/>'), Fo = i(\"chevron-down\", '<path d=\"m6 9 6 6 6-6\"/>'), Uo = i(\"chevron-left\", '<path d=\"m15 18-6-6 6-6\"/>'), Yo = i(\"chevron-right\", '<path d=\"m9 18 6-6-6-6\"/>'), Ko = i(\"chevron-up\", '<path d=\"m18 15-6-6-6 6\"/>'), Wo = i(\"close\", '<path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/>'), Xo = i(\n \"error\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"/>'\n), Go = i(\n \"file\",\n '<path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"/><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"/>'\n), Zo = i(\n \"image-off\",\n '<path d=\"m2 2 20 20\"/><path d=\"M10.41 10.17a2 2 0 0 1-2.24 2.24\"/><path d=\"M21 15V5a2 2 0 0 0-2-2H7\"/><path d=\"M3.59 3.59A2 2 0 0 0 3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.41-.59\"/><path d=\"m21 15-5-5L5 21\"/>'\n), Jo = i(\n \"info\",\n '<circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"/>'\n), Qo = i(\"loader\", '<path d=\"M21 12a9 9 0 1 1-6.219-8.56\"/>'), ea = i(\"minus\", '<path d=\"M5 12h14\"/>'), ta = i(\"plus\", '<path d=\"M5 12h14\"/><path d=\"M12 5v14\"/>'), ra = i(\n \"rotate-cw\",\n '<path d=\"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8\"/><path d=\"M21 3v5h-5\"/>'\n), ia = i(\n \"search\",\n '<circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.3-4.3\"/>'\n), oa = i(\n \"upload\",\n '<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/><polyline points=\"17 8 12 3 7 8\"/><line x1=\"12\" x2=\"12\" y1=\"3\" y2=\"15\"/>'\n), aa = i(\n \"warning\",\n '<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"/>'\n), sa = i(\n \"zoom-in\",\n '<circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.35-4.35\"/><path d=\"M11 8v6\"/><path d=\"M8 11h6\"/>'\n), na = i(\n \"zoom-out\",\n '<circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.35-4.35\"/><path d=\"M8 11h6\"/>'\n), Er = [\n Ho,\n Bo,\n No,\n qo,\n Ro,\n Fo,\n Uo,\n Yo,\n Ko,\n Wo,\n Xo,\n Go,\n Zo,\n Jo,\n Qo,\n ea,\n ta,\n ra,\n ia,\n oa,\n aa,\n sa,\n na\n], la = new Set(Er.map((o) => o.name)), ca = [\n ...Er,\n ...jo.filter((o) => !la.has(o.name))\n];\nfunction za() {\n for (const o of ca)\n Lr(o.name, o.svg);\n}\nconst da = \"wc-theme-change\", ct = \"wc-theme\";\nlet ze = \"light\", fe = null;\nfunction ha() {\n return typeof window < \"u\" && typeof window.matchMedia == \"function\" && window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n}\nfunction pa() {\n return ze === \"auto\" ? ha() : ze;\n}\nfunction Ca() {\n return ze;\n}\nfunction ua(o, e) {\n if (o !== \"light\" && o !== \"dark\" && o !== \"auto\")\n throw new Error(`[wc] 无效主题: \"${String(o)}\",可选 light | dark | auto`);\n ze = o, typeof localStorage < \"u\" && (e?.persist ? localStorage.setItem(ct, o) : localStorage.removeItem(ct)), va(), dt();\n}\nfunction Ma() {\n let o = null;\n typeof localStorage < \"u\" && (o = localStorage.getItem(ct)), ua(o === \"light\" || o === \"dark\" || o === \"auto\" ? o : \"auto\");\n}\nfunction va() {\n const o = ze === \"auto\" && typeof window.matchMedia == \"function\";\n o && !fe ? (fe = window.matchMedia(\"(prefers-color-scheme: dark)\"), fe.addEventListener(\"change\", dt)) : !o && fe && (fe.removeEventListener(\"change\", dt), fe = null);\n}\nfunction dt() {\n const o = pa();\n typeof document < \"u\" && (document.documentElement.dataset.theme = o), document.dispatchEvent(\n new CustomEvent(da, {\n detail: { theme: ze, effective: o },\n bubbles: !0,\n composed: !0\n })\n );\n}\nconst Ea = ':root{--wc-color-brand-50: #f2f7ff;--wc-color-brand-100: #d9e8ff;--wc-color-brand-200: #b5d0ff;--wc-color-brand-300: #8cb8ff;--wc-color-brand-400: #5f96f7;--wc-color-brand-500: #0052d9;--wc-color-brand-600: #0045c2;--wc-color-brand-700: #00359e;--wc-color-brand-800: #002a7d;--wc-color-success-light: #e3f9e9;--wc-color-success: #2ba471;--wc-color-success-dark: #1f895c;--wc-color-warning-light: #fdf3e6;--wc-color-warning: #e37318;--wc-color-warning-dark: #c25c0a;--wc-color-error-light: #fdecee;--wc-color-error: #d54941;--wc-color-error-dark: #b5362f;--wc-color-info-light: #f2f7ff;--wc-color-info: #0052d9;--wc-color-info-dark: #0045c2;--wc-color-gray-50: #f5f7fa;--wc-color-gray-100: #e7eaee;--wc-color-gray-200: #d5dbe3;--wc-color-gray-300: #c2c9d4;--wc-color-gray-400: #a6b0bf;--wc-color-gray-500: #8a94a6;--wc-color-gray-600: #6b7687;--wc-color-gray-700: #4b5563;--wc-color-gray-800: #2f3540;--wc-color-gray-900: #1b1f27;--wc-font-family: -apple-system, blinkmacsystemfont, \"Segoe UI\", roboto, \"Helvetica Neue\", arial, \"PingFang SC\", \"Microsoft YaHei\", sans-serif;--wc-font-family-mono: ui-monospace, sfmono-regular, \"SF Mono\", menlo, consolas, \"Liberation Mono\", monospace;--wc-font-size-xsmall: 12px;--wc-font-size-small: 13px;--wc-font-size-medium: 14px;--wc-font-size-large: 16px;--wc-font-size-xlarge: 20px;--wc-font-size-h1: 24px;--wc-font-size-h2: 20px;--wc-font-size-h3: 18px;--wc-font-weight-normal: 400;--wc-font-weight-medium: 500;--wc-font-weight-semibold: 600;--wc-font-weight-bold: 700;--wc-line-height-base: 1.5;--wc-line-height-compact: 1.25;--wc-space-1: 4px;--wc-space-2: 8px;--wc-space-3: 12px;--wc-space-4: 16px;--wc-space-5: 20px;--wc-space-6: 24px;--wc-space-8: 32px;--wc-space-10: 40px;--wc-space-12: 48px;--wc-radius-none: 0;--wc-radius-small: 3px;--wc-radius-medium: 4px;--wc-radius-large: 8px;--wc-radius-xlarge: 10px;--wc-radius-round: 999px;--wc-radius-circle: 50%;--wc-shadow-1: 0 1px 2px rgb(15 23 42 / 6%), 0 1px 3px rgb(15 23 42 / 10%);--wc-shadow-2: 0 1px 2px rgb(15 23 42 / 6%), 0 4px 12px -2px rgb(15 23 42 / 12%);--wc-shadow-3: 0 4px 8px -2px rgb(15 23 42 / 8%), 0 12px 32px -4px rgb(15 23 42 / 18%);--wc-duration-fast: .15s;--wc-duration-medium: .3s;--wc-duration-slow: 1s;--wc-easing-standard: cubic-bezier(.4, 0, .2, 1);--wc-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--wc-z-index-dropdown: 1000;--wc-z-index-fab: 1050;--wc-z-index-sticky: 1100;--wc-z-index-modal: 1200;--wc-z-index-drawer: 1300;--wc-z-index-message: 1500;--wc-z-index-tooltip: 1600;--wc-color-primary: var(--wc-color-brand-500);--wc-color-primary-hover: var(--wc-color-brand-600);--wc-color-primary-active: var(--wc-color-brand-700);--wc-color-primary-light: var(--wc-color-brand-50);--wc-color-text-anti: #ffffff;--wc-color-success-bg: var(--wc-color-success-light);--wc-color-warning-bg: var(--wc-color-warning-light);--wc-color-error-bg: var(--wc-color-error-light);--wc-color-info-bg: var(--wc-color-info-light);--wc-color-text: var(--wc-color-gray-900);--wc-color-text-secondary: var(--wc-color-gray-600);--wc-color-text-placeholder: var(--wc-color-gray-400);--wc-color-text-disabled: var(--wc-color-gray-500);--wc-color-border: var(--wc-color-gray-200);--wc-color-border-strong: var(--wc-color-gray-500);--wc-color-bg: var(--wc-color-gray-50);--wc-color-bg-container: #ffffff;--wc-color-bg-container-secondary: var(--wc-color-gray-50);--wc-color-bg-hover: var(--wc-color-gray-100);--wc-color-bg-disabled: var(--wc-color-gray-100);--wc-color-mask: rgb(0 0 0 / 60%);--wc-color-overlay-hover: rgb(0 0 0 / 8%);--wc-color-focus-ring: var(--wc-color-brand-300)}[data-theme=dark]{color-scheme:dark;--wc-color-primary: var(--wc-color-brand-300);--wc-color-primary-hover: var(--wc-color-brand-200);--wc-color-primary-active: var(--wc-color-brand-100);--wc-color-primary-light: var(--wc-color-brand-800);--wc-color-text-anti: #1b1f27;--wc-color-success: #4fce8e;--wc-color-success-bg: #103524;--wc-color-warning: #f5a962;--wc-color-warning-bg: #3c2a15;--wc-color-error: #e76f68;--wc-color-error-bg: #442423;--wc-color-info: var(--wc-color-brand-300);--wc-color-info-bg: var(--wc-color-brand-800);--wc-color-text: var(--wc-color-gray-50);--wc-color-text-secondary: var(--wc-color-gray-400);--wc-color-text-placeholder: var(--wc-color-gray-600);--wc-color-text-disabled: var(--wc-color-gray-500);--wc-color-border: var(--wc-color-gray-700);--wc-color-border-strong: var(--wc-color-gray-500);--wc-color-bg: var(--wc-color-gray-900);--wc-color-bg-container: #242832;--wc-color-bg-container-secondary: #2f3540;--wc-color-bg-hover: var(--wc-color-gray-800);--wc-color-bg-disabled: var(--wc-color-gray-700);--wc-color-mask: rgb(0 0 0 / 70%);--wc-color-overlay-hover: rgb(255 255 255 / 12%);--wc-color-focus-ring: var(--wc-color-brand-200);--wc-shadow-1: 0 1px 2px rgb(0 0 0 / 40%), 0 1px 3px rgb(0 0 0 / 30%);--wc-shadow-2: 0 1px 2px rgb(0 0 0 / 40%), 0 4px 12px -2px rgb(0 0 0 / 45%);--wc-shadow-3: 0 4px 8px -2px rgb(0 0 0 / 40%), 0 12px 32px -4px rgb(0 0 0 / 50%)}', Sa = \"*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}body{font-family:var(--wc-font-family);font-size:var(--wc-font-size-medium);line-height:var(--wc-line-height-base);color:var(--wc-color-text);background-color:var(--wc-color-bg-container);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6{font-weight:var(--wc-font-weight-semibold);line-height:var(--wc-line-height-compact)}h1{font-size:var(--wc-font-size-h1)}h2{font-size:var(--wc-font-size-h2)}h3{font-size:var(--wc-font-size-h3)}h4{font-size:var(--wc-font-size-large)}h5,h6{font-size:var(--wc-font-size-medium)}ul,ol{padding:0;list-style:none}a{color:var(--wc-color-primary);text-decoration:none;transition:color var(--wc-duration-fast) var(--wc-easing-standard)}a:hover{color:var(--wc-color-primary-hover)}a:active{color:var(--wc-color-primary-active)}a[disabled]{color:var(--wc-color-text-disabled);cursor:not-allowed}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}img{border-style:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{background-color:transparent;border:none}input::placeholder,textarea::placeholder{color:var(--wc-color-text-placeholder)}textarea{resize:vertical}code,kbd,samp,pre{font-family:var(--wc-font-family-mono);font-size:var(--wc-font-size-small)}table{border-collapse:collapse;border-spacing:0}th{font-weight:var(--wc-font-weight-medium);text-align:inherit}fieldset{border:none;padding:0}hr{border:none;border-top:1px solid var(--wc-color-border)}blockquote,figure,dd,dl{margin:0}:focus-visible{outline:2px solid var(--wc-color-focus-ring);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background:var(--wc-color-primary-light);color:var(--wc-color-text)}\";\nexport {\n et as ARROW_INSET,\n q as FormAssociatedMixin,\n ot as LANGUAGE_CHANGE_EVENT,\n b as LocalizeController,\n z as POSITION_GAP,\n da as THEME_CHANGE_EVENT,\n I as WcIcon,\n Ho as arrowLeft,\n Bo as arrowRight,\n No as arrowUp,\n p as baseStyles,\n Er as builtinIcons,\n ca as builtinIconsWithFeather,\n qo as calendar,\n Ro as check,\n Fo as chevronDown,\n Uo as chevronLeft,\n Yo as chevronRight,\n Ko as chevronUp,\n Wo as close,\n yt as computePosition,\n i as createIcon,\n Xo as error,\n Go as file,\n pa as getEffectiveTheme,\n ba as getIcon,\n ma as getIconLibrary,\n Fr as getLocale,\n ka as getRegisteredLocales,\n Ur as getTerm,\n Ca as getTheme,\n Zo as imageOff,\n Jo as info,\n Ma as initTheme,\n Qo as loader,\n $a as message,\n ea as minus,\n Ir as onIconRegister,\n ta as plus,\n za as registerBuiltinIcons,\n Lr as registerIcon,\n Tr as registerIconLibrary,\n fa as registerLocale,\n Sa as resetCss,\n Dr as resolveIcon,\n xr as resolveLocale,\n ra as rotateCw,\n ia as search,\n xa as setLocale,\n ua as setTheme,\n gt as splitPlacement,\n Ea as tokensCss,\n oa as upload,\n aa as warning,\n Pe as wcAvatar,\n de as wcBadge,\n He as wcBreadcrumb,\n mt as wcBreadcrumbItem,\n x as wcButton,\n it as wcButtonGroup,\n V as wcCard,\n ee as wcCheckbox,\n Ae as wcCol,\n M as wcDatePicker,\n B as wcDialog,\n ke as wcDivider,\n L as wcDrawer,\n $e as wcDropdown,\n G as wcDropdownItem,\n st as wcEmpty,\n y as wcFloatButton,\n le as wcFloatButtonGroup,\n at as wcForm,\n E as wcFormItem,\n w as wcImage,\n C as wcInput,\n $ as wcInputNumber,\n he as wcList,\n lt as wcListItem,\n se as wcMessage,\n re as wcOption,\n D as wcPagination,\n T as wcPopconfirm,\n N as wcProgress,\n xe as wcRadio,\n oe as wcRow,\n H as wcSelect,\n W as wcSlider,\n ie as wcSpace,\n S as wcSplitButton,\n te as wcSwitch,\n ce as wcTab,\n O as wcTable,\n je as wcTabs,\n X as wcTag,\n ae as wcText,\n _ as wcTextarea,\n ne as wcTooltip,\n k as wcUpload,\n sa as zoomIn,\n na as zoomOut\n};\n//# sourceMappingURL=index.es.js.map\n"],"names":["h","ht","pt","Je","rt","Ir","o","fr","Lr","Tr","ma","Dr","r","v","Vr","jr","pe","ft","d","c","u","Ar","I","n","g","Hr","Br","P","xt","x","Nr","kt","it","q","t","qr","Rr","ot","Q","Oe","fa","kr","xa","Fr","xr","Ur","ka","b","Yr","Kr","Wr","R","$t","C","Xr","Gr","Zr","Z","zt","_","Jr","Qr","Be","Ct","ee","ei","ti","ut","Mt","xe","ri","ii","Ne","Et","te","oi","ai","qe","St","re","si","ni","li","Ce","_t","H","ci","di","hi","Ie","Ot","W","pi","ui","vi","j","Pt","$","wi","gi","yi","F","vr","_e","Qe","wr","At","s","a","l","De","M","$r","It","at","bi","U","Lt","E","mi","fi","vt","Tt","ke","xi","ki","Le","Dt","X","$i","zi","zr","Ci","Vt","Pe","Mi","Ei","Re","Si","jt","ie","Cr","_i","Me","Ht","oe","Bt","Ae","Oi","Pi","Fe","Nt","ae","Ai","wt","Ii","Li","Ee","qt","B","Ti","Di","ue","Vi","Rt","L","ji","Hi","Ue","Bi","Ft","se","K","Ni","me","$a","z","et","gt","gr","yr","tt","yt","ye","be","hr","Ze","pr","ur","Sr","_r","Or","Pr","qi","Ri","Ye","Fi","Ui","Yi","Ut","ne","Ki","Wi","ve","Xi","Yt","T","Gi","Zi","Te","Kt","G","Ji","Qi","bt","br","Wt","$e","eo","to","Y","Xt","S","ro","io","oo","ao","so","Gt","no","lo","Ke","Zt","le","co","ho","po","We","Jt","ce","uo","vo","Qt","je","wo","go","yo","er","He","bo","Mr","mt","mo","fo","we","tr","D","xo","ko","Xe","rr","de","$o","ir","st","zo","Co","Se","nt","mr","or","N","Mo","Eo","ge","ar","V","So","_o","Ge","sr","he","nr","lt","Oo","Po","J","lr","O","Ao","Io","m","Lo","To","Ve","cr","w","Do","Vo","A","dr","k","jo","Ho","Bo","No","qo","Ro","Fo","Uo","Yo","Ko","Wo","Xo","Go","Zo","Jo","Qo","ra","ia","oa","Er","za","ct","ze","fe","Ca","va","dt","Ma","Ea","Sa"],"mappings":"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AAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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CE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE,EAAE,SAAS,iEAAiE;AAAA,EAC5E;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE,EAAE,WAAW,yDAAyD;AAAA,EACtE,EAAE,UAAU,2EAA2E;AAAA,EACvF;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE,EAAE,UAAU,0EAA0E;AAAA,EACtF;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE,EAAE,UAAU,8DAA8D;AAAA,EAC1E;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EA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IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE,EAAE,UAAU,gEAAgE;AAAA,EAC5E;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,EACJ;AAAA,EACE;AAAA,IACE;AAAA,IA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"}
|