@jonathanleelx/meddle 0.5.0-beta.2 → 0.5.0-beta.21
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/CONFIG_STRUCTURE.md +8 -2
- package/README.md +2 -0
- package/bin/commands/mock/add.js +33 -4
- package/bin/commands/mock/delete.js +8 -1
- package/bin/commands/mock/index.js +8 -4
- package/bin/commands/mock/list.js +1 -0
- package/bin/commands/mock/toggle.js +8 -1
- package/bin/commands/mock/update.js +31 -5
- package/bin/commands/route/active.js +6 -2
- package/bin/commands/route/add.js +12 -2
- package/bin/commands/route/create.js +8 -1
- package/bin/commands/route/delete.js +12 -2
- package/bin/commands/route/update.js +12 -2
- package/bin/commands/update.js +4 -0
- package/bin/lib/file-access.js +68 -25
- package/bin/lib/output.js +20 -1
- package/bin/lib/proxy-detect.js +99 -20
- package/bin/lib/update-check.js +67 -6
- package/dist/core/config-diagnostics.d.ts.map +1 -1
- package/dist/core/config-diagnostics.js +6 -1
- package/dist/core/config-diagnostics.js.map +1 -1
- package/dist/core/custom-plugin-loader.d.ts.map +1 -1
- package/dist/core/custom-plugin-loader.js +2 -0
- package/dist/core/custom-plugin-loader.js.map +1 -1
- package/dist/core/h2-pool.d.ts +1 -0
- package/dist/core/h2-pool.d.ts.map +1 -1
- package/dist/core/h2-pool.js +79 -23
- package/dist/core/h2-pool.js.map +1 -1
- package/dist/core/mock-handler.d.ts +65 -0
- package/dist/core/mock-handler.d.ts.map +1 -1
- package/dist/core/mock-handler.js +525 -29
- package/dist/core/mock-handler.js.map +1 -1
- package/dist/core/mock-utils.d.ts +58 -0
- package/dist/core/mock-utils.d.ts.map +1 -0
- package/dist/core/mock-utils.js +167 -0
- package/dist/core/mock-utils.js.map +1 -0
- package/dist/core/plugin-bootstrap-runner.d.ts +1 -0
- package/dist/core/plugin-bootstrap-runner.d.ts.map +1 -1
- package/dist/core/plugin-bootstrap-runner.js +37 -1
- package/dist/core/plugin-bootstrap-runner.js.map +1 -1
- package/dist/core/plugin-intercept.d.ts.map +1 -1
- package/dist/core/plugin-intercept.js +1 -0
- package/dist/core/plugin-intercept.js.map +1 -1
- package/dist/core/plugin-source.d.ts +24 -0
- package/dist/core/plugin-source.d.ts.map +1 -0
- package/dist/core/plugin-source.js +47 -0
- package/dist/core/plugin-source.js.map +1 -0
- package/dist/core/types.d.ts +13 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/helpers.d.ts +8 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +22 -5
- package/dist/helpers.js.map +1 -1
- package/dist/plugins/builtin/mock-plugin.d.ts.map +1 -1
- package/dist/plugins/builtin/mock-plugin.js +6 -5
- package/dist/plugins/builtin/mock-plugin.js.map +1 -1
- package/dist/server/agent/tools.d.ts.map +1 -1
- package/dist/server/agent/tools.js +4 -0
- package/dist/server/agent/tools.js.map +1 -1
- package/dist/server/app-info.d.ts +19 -0
- package/dist/server/app-info.d.ts.map +1 -0
- package/dist/server/app-info.js +84 -0
- package/dist/server/app-info.js.map +1 -0
- package/dist/server/config.d.ts +1 -0
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +57 -7
- package/dist/server/config.js.map +1 -1
- package/dist/server/health.d.ts.map +1 -1
- package/dist/server/health.js +8 -0
- package/dist/server/health.js.map +1 -1
- package/dist/server/index.d.ts +15 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/mocks.d.ts +26 -0
- package/dist/server/mocks.d.ts.map +1 -1
- package/dist/server/mocks.js +110 -13
- package/dist/server/mocks.js.map +1 -1
- package/dist/server/plugins.d.ts.map +1 -1
- package/dist/server/plugins.js +56 -11
- package/dist/server/plugins.js.map +1 -1
- package/dist/server/rule-files.d.ts +53 -0
- package/dist/server/rule-files.d.ts.map +1 -1
- package/dist/server/rule-files.js +281 -30
- package/dist/server/rule-files.js.map +1 -1
- package/index.js +33 -5
- package/mcp-server.js +3 -0
- package/package.json +3 -2
- package/plugins/builtin/mock-plugin.ts +9 -5
- package/web/dist/assets/alert-BmsRCcSL.js +1 -0
- package/web/dist/assets/arrow-right-BNum_060.js +1 -0
- package/web/dist/assets/{body-diff-view-D7dCWajG.js → body-diff-view-ByCHr9bv.js} +2 -2
- package/web/dist/assets/button-BFNlGZ5p.js +1 -0
- package/web/dist/assets/check-BkfHQ6re.js +1 -0
- package/web/dist/assets/checkbox-v2kzp7K8.js +1 -0
- package/web/dist/assets/chevron-down-DHwUtL4O.js +1 -0
- package/web/dist/assets/{circle-alert-Q8cZk9Rv.js → circle-alert-zMagrFuI.js} +1 -1
- package/web/dist/assets/{circle-x-C9USji_R.js → circle-x-BEkinhez.js} +1 -1
- package/web/dist/assets/code-DD-AYxxu.js +1 -0
- package/web/dist/assets/{copy-BYjq1hdN.js → copy-BRnscYy1.js} +1 -1
- package/web/dist/assets/detail-panel-DK7pM43g.js +4 -0
- package/web/dist/assets/{dist-D5Dj17P8.js → dist-BCvvYbmI.js} +1 -1
- package/web/dist/assets/dist-BNcjMpca.js +1 -0
- package/web/dist/assets/{dist-Bb9TeEub.js → dist-C-E2R2jk.js} +1 -1
- package/web/dist/assets/{dist-C6eaYCUo.js → dist-CFZ4xMSF.js} +1 -1
- package/web/dist/assets/{dist-C5nMErq8.js → dist-CRmX_NvH.js} +1 -1
- package/web/dist/assets/dist-DD7AvbXP.js +1 -0
- package/web/dist/assets/{dist-Cn0y0IRn.js → dist-LiAcI8CK.js} +1 -1
- package/web/dist/assets/dist-UcOFuoN0.js +5 -0
- package/web/dist/assets/{dist-B8XUKgXe.js → dist-YM3jbhT-.js} +1 -1
- package/web/dist/assets/editor-pane-actions-DN-pxFsl.js +1 -0
- package/web/dist/assets/es2015-CRmLuA2o.js +41 -0
- package/web/dist/assets/{global-panel-shell-R-EZQRhs.js → global-panel-shell-D32I98dR.js} +4 -4
- package/web/dist/assets/health-panel-Dw7qdFVS.js +1 -0
- package/web/dist/assets/index-CYUNdxqh.css +2 -0
- package/web/dist/assets/index-CkoYwomI.js +18 -0
- package/web/dist/assets/mobile-proxy-panel-DtiDkpAa.js +8 -0
- package/web/dist/assets/mock-config-C3jSpNNu.js +1 -0
- package/web/dist/assets/mock-editor-panel-ByCYWJjO.js +20 -0
- package/web/dist/assets/mocks-file-missing-note-DmrrCBYY.js +1 -0
- package/web/dist/assets/monaco-editor-6oLiu4W6.js +11 -0
- package/web/dist/assets/pane-split-DYB05onX.js +1 -0
- package/web/dist/assets/panel-heading-BS8loc49.js +1 -0
- package/web/dist/assets/{pencil-line-Cqe41E4h.js → pencil-line-CEZ7D-de.js} +1 -1
- package/web/dist/assets/plugin-code-editor-DGzCBEpg.js +2 -0
- package/web/dist/assets/plugin-config-NVw234EF.js +2 -0
- package/web/dist/assets/plugin-generator-Ba4hP5rg.js +2 -0
- package/web/dist/assets/plugin-test-dialog-B4ojc2_9.js +7 -0
- package/web/dist/assets/plus-ixZQRprm.js +1 -0
- package/web/dist/assets/{refresh-cw-CG3HaiQT.js → refresh-cw-BfLoHqg5.js} +1 -1
- package/web/dist/assets/rotate-ccw-CRguJya4.js +1 -0
- package/web/dist/assets/route-preview-BspvfNdW.js +1 -0
- package/web/dist/assets/{rule-ai-assistant-panel-CNL1O0GY.js → rule-ai-assistant-panel-CQTsZMJu.js} +2 -2
- package/web/dist/assets/rule-config-DDOeMRXa.js +15 -0
- package/web/dist/assets/rule-overview-panel-CmWdMs4I.js +1 -0
- package/web/dist/assets/{server-Cpj4KNwN.js → server-eYXq3PbE.js} +1 -1
- package/web/dist/assets/settings-panel-aB0ojA9D.js +1 -0
- package/web/dist/assets/{shield-check-OqUmVLQt.js → shield-check-hQXjdfZ7.js} +1 -1
- package/web/dist/assets/smartphone-D4Q7cQfm.js +1 -0
- package/web/dist/assets/switch-DpLnRvOJ.js +1 -0
- package/web/dist/assets/{syntax-highlight-BHsSDUha.js → syntax-highlight-EJCxGikd.js} +1 -1
- package/web/dist/assets/table-2-DvGHhMm4.js +1 -0
- package/web/dist/assets/table-C3mgEjkP.js +1 -0
- package/web/dist/assets/textarea-BjWF0pk4.js +1 -0
- package/web/dist/assets/{wand-sparkles-wkul5vje.js → wand-sparkles-DDGjzjnX.js} +1 -1
- package/web/dist/assets/{wifi-D9M35Ajj.js → wifi-QkTcTrED.js} +1 -1
- package/web/dist/assets/{zap-Djo4cgux.js → zap-CEVoVkAg.js} +1 -1
- package/web/dist/index.html +17 -12
- package/web/dist/assets/alert-Bve02Ufr.js +0 -1
- package/web/dist/assets/arrow-right-B4Mrlj2-.js +0 -1
- package/web/dist/assets/button-BTToMaBW.js +0 -1
- package/web/dist/assets/checkbox-DK9f9Mxu.js +0 -1
- package/web/dist/assets/chevron-down-CPngAx4M.js +0 -1
- package/web/dist/assets/chevron-right-V1DGIDbL.js +0 -1
- package/web/dist/assets/code-5_eJ_XpJ.js +0 -1
- package/web/dist/assets/code-fixer-IRTVs-a6.js +0 -20
- package/web/dist/assets/detail-panel--2r_Fgpi.js +0 -4
- package/web/dist/assets/dist-CxdY_A67.js +0 -5
- package/web/dist/assets/es2015-CfXu88Y7.js +0 -41
- package/web/dist/assets/file-system-access-DK7FI6pN.js +0 -1
- package/web/dist/assets/health-panel-CKt2-Gkj.js +0 -1
- package/web/dist/assets/index-DhzkcDnh.js +0 -18
- package/web/dist/assets/index-PcoCj3ST.css +0 -2
- package/web/dist/assets/mobile-proxy-panel-Dxz-7iYx.js +0 -8
- package/web/dist/assets/mock-config-84LSNP6M.js +0 -1
- package/web/dist/assets/mock-editor-panel-RJ1abekr.js +0 -1
- package/web/dist/assets/monaco-editor-CbL970eS.js +0 -11
- package/web/dist/assets/plugin-code-editor-DfLc4JdP.js +0 -2
- package/web/dist/assets/plugin-config-CT-u4XYw.js +0 -1
- package/web/dist/assets/plugin-generator-CyBK9FuM.js +0 -2
- package/web/dist/assets/plugin-test-dialog-B-NF0sGH.js +0 -7
- package/web/dist/assets/plus-tVxSydJ8.js +0 -1
- package/web/dist/assets/rotate-ccw-CAYM6Vv0.js +0 -1
- package/web/dist/assets/route-preview-C8nW9w7i.js +0 -1
- package/web/dist/assets/rule-config-DXfovZnm.js +0 -15
- package/web/dist/assets/select-DQ6s7CL8.js +0 -1
- package/web/dist/assets/settings-panel-BhXgMr_a.js +0 -1
- package/web/dist/assets/smartphone-DKeDuJTU.js +0 -1
- package/web/dist/assets/switch-C-Xk56TK.js +0 -1
- package/web/dist/assets/table-DymgLlcc.js +0 -1
- package/web/dist/assets/textarea-vuxJwU0x.js +0 -1
- /package/web/dist/assets/{ai-config-store-DQXVJVn_.js → ai-config-store-B_VpGvwx.js} +0 -0
- /package/web/dist/assets/{babel-DsprIpXZ.js → babel-D1quDdNt.js} +0 -0
- /package/web/dist/assets/{clipboard-Dz6MgwV-.js → clipboard-DUgC_tNv.js} +0 -0
- /package/web/dist/assets/{dist-DZJ9SMlJ.js → dist-Bq2klZ3g.js} +0 -0
- /package/web/dist/assets/{estree-BP7k0NIt.js → estree--Vq99DGn.js} +0 -0
- /package/web/dist/assets/{html-6FIWbqxX.js → html-D2PZBPnP.js} +0 -0
- /package/web/dist/assets/{postcss-Dnf30fQU.js → postcss-DfIslWug.js} +0 -0
- /package/web/dist/assets/{standalone-CjxtLKw-.js → standalone-D-fjaAIs.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,d as t,p as n,t as r}from"./button-BFNlGZ5p.js";import"./dist-CFZ4xMSF.js";import{t as i}from"./refresh-cw-BfLoHqg5.js";import{t as a}from"./table-2-DvGHhMm4.js";import{G as o,H as s,J as c,K as l,U as u,W as d,at as f,bt as p,ft as m,h,it as g,kt as ee,nt as _,q as v,rt as y,tt as te,wt as b}from"./index-CkoYwomI.js";import{a as x,i as S,n as C,o as w,r as T,t as E}from"./table-C3mgEjkP.js";var D=n(t(),1),O=e(),k=`border-l-2 border-l-transparent`,A=`text-muted-foreground opacity-75`;function j(e){return e.length>0?e.map(e=>`!${e}`).join(` `):`—`}function M({rules:e,activeFileName:t,onLocateRule:n,onSelectFile:M}){let[N,ne]=(0,D.useState)(null),[P,F]=(0,D.useState)(!0),[I,L]=(0,D.useState)(null),[R,z]=(0,D.useState)(`merged`),[B,V]=(0,D.useState)(``),H=(0,D.useDeferredValue)(B),U=(0,D.useCallback)(async()=>{F(!0),L(null);try{let e=await fetch(`/api/rule-files/overview`);if(!e.ok)throw Error(`加载失败(${e.status})`);ne(await e.json())}catch(e){L(e instanceof Error?e.message:`加载失败`)}finally{F(!1)}},[]);(0,D.useEffect)(()=>{U()},[U]);let W=(0,D.useMemo)(()=>N?.perFileRules.find(e=>e.name===t)??null,[N,t]),G=(0,D.useMemo)(()=>{if(!W||W.error)return!1;let t=W.rules.map(e=>({rule:e.rawRule,target:e.rawTarget,enabled:e.enabled,exclusions:e.exclusions}));return h(e)!==h(t)},[W,e]),K=(0,D.useMemo)(()=>{let e=new Map;for(let t of N?.conflicts??[])e.set(t.pattern,t);return e},[N]),q=(0,D.useCallback)(e=>{let t=H.trim().toLowerCase();return t?e.some(e=>e&&e.toLowerCase().includes(t)):!0},[H]),J=(0,D.useMemo)(()=>(N?.mergedRules??[]).map(e=>({winner:e,shadowed:K.get(e.pattern)?.shadowed??[]})).filter(({winner:e,shadowed:t})=>q([e.rawRule,e.rawTarget,e.file])||t.some(e=>q([e.rawRule,e.rawTarget,e.file]))),[N,K,q]),Y=N?.mergedRules.length??0,X=N?.conflicts.reduce((e,t)=>e+t.shadowed.length,0)??0,Z=(0,D.useMemo)(()=>(N?.perFileRules??[]).map(e=>({...e,matched:e.rules.filter(t=>q([t.rawRule,t.rawTarget,e.name]))})).filter(e=>e.error!=null||q([e.name])||e.matched.length>0),[N,q]),re=N?.perFileRules.reduce((e,t)=>e+t.rules.length,0)??0,ie=Z.reduce((e,t)=>e+t.matched.length,0),Q=(0,D.useCallback)((e,t,r)=>{n(e,t,r)},[n]),ae=(0,D.useCallback)((e,t)=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),M(t))},[M]),oe=()=>{if(P)return(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 p-2`,children:[(0,O.jsx)(f,{className:`h-8 w-full`}),(0,O.jsx)(f,{className:`h-8 w-full`}),(0,O.jsx)(f,{className:`h-8 w-3/4`})]});if(I)return(0,O.jsxs)(u,{className:`min-h-0 flex-1`,children:[(0,O.jsxs)(l,{children:[(0,O.jsx)(v,{variant:`icon`,children:(0,O.jsx)(m,{})}),(0,O.jsx)(c,{children:`加载失败`}),(0,O.jsx)(o,{children:I})]}),(0,O.jsx)(d,{children:(0,O.jsxs)(r,{variant:`outline`,onClick:()=>void U(),children:[(0,O.jsx)(i,{"data-icon":`inline-start`}),`重试`]})})]});let e=(N?.files.length??0)>0,t=N?.perFileRules.some(e=>e.rules.length>0||e.error!=null)??!1,n=H.trim().length>0;return e?t?R===`merged`&&!n&&(N?.mergedRules.length??0)===0?(0,O.jsx)(u,{className:`min-h-0 flex-1`,children:(0,O.jsxs)(l,{children:[(0,O.jsx)(v,{variant:`icon`,children:(0,O.jsx)(b,{})}),(0,O.jsx)(c,{children:`没有生效中的规则`}),(0,O.jsx)(o,{children:`规则全部被禁用,或没有启用任何规则文件;切换到「按文件」查看全部规则`})]})}):n&&R===`merged`&&J.length===0||n&&R===`files`&&Z.every(e=>e.matched.length===0&&e.error==null)?$():R===`merged`?se():ce():(0,O.jsx)(u,{className:`min-h-0 flex-1`,children:(0,O.jsxs)(l,{children:[(0,O.jsx)(v,{variant:`icon`,children:(0,O.jsx)(ee,{})}),(0,O.jsx)(c,{children:`所有规则文件都是空的`}),(0,O.jsx)(o,{children:`还没有任何路由规则,先去路由规则页添加一条吧`})]})}):(0,O.jsx)(u,{className:`min-h-0 flex-1`,children:(0,O.jsxs)(l,{children:[(0,O.jsx)(v,{variant:`icon`,children:(0,O.jsx)(a,{})}),(0,O.jsx)(c,{children:`还没有规则文件`}),(0,O.jsx)(o,{children:`在路由规则页点击「+」创建第一个规则文件`})]})})},$=()=>(0,O.jsxs)(u,{className:`min-h-0 flex-1`,children:[(0,O.jsxs)(l,{children:[(0,O.jsx)(v,{variant:`icon`,children:(0,O.jsx)(p,{})}),(0,O.jsx)(c,{children:`无匹配结果`}),(0,O.jsxs)(o,{children:[`没有找到符合「`,H.trim(),`」的规则`]})]}),(0,O.jsx)(d,{children:(0,O.jsx)(r,{variant:`outline`,onClick:()=>V(``),children:`清空筛选`})})]}),se=()=>(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border`,children:[(0,O.jsx)(`div`,{className:`meddle-thin-scroll shrink-0 overflow-x-auto bg-card`,children:(0,O.jsxs)(E,{className:`table-fixed`,children:[(0,O.jsxs)(`colgroup`,{children:[(0,O.jsx)(`col`,{style:{width:`6rem`}}),(0,O.jsx)(`col`,{}),(0,O.jsx)(`col`,{style:{width:`8rem`}}),(0,O.jsx)(`col`,{})]}),(0,O.jsx)(x,{children:(0,O.jsxs)(w,{children:[(0,O.jsx)(S,{children:`来源`}),(0,O.jsx)(S,{children:`规则`}),(0,O.jsx)(S,{className:`hidden md:table-cell`,children:`排除`}),(0,O.jsx)(S,{children:`目标`})]})})]})}),(0,O.jsx)(s,{className:`min-h-0 flex-1`,children:(0,O.jsxs)(E,{className:`table-fixed`,children:[(0,O.jsxs)(`colgroup`,{children:[(0,O.jsx)(`col`,{style:{width:`6rem`}}),(0,O.jsx)(`col`,{}),(0,O.jsx)(`col`,{style:{width:`8rem`}}),(0,O.jsx)(`col`,{})]}),(0,O.jsx)(C,{children:J.map(({winner:e,shadowed:t})=>(0,O.jsxs)(D.Fragment,{children:[(0,O.jsxs)(w,{className:`${k} cursor-pointer`,onClick:()=>Q(e.file,e.rawRule,e.rawTarget),title:`点击定位到该规则`,children:[(0,O.jsx)(T,{className:`truncate text-xs text-muted-foreground`,children:e.file}),(0,O.jsxs)(T,{className:`break-all font-mono text-xs`,children:[e.rawRule,t.length>0&&(0,O.jsx)(y,{variant:`default`,className:`ml-2 px-1 py-0 text-[10px]`,title:`同名规则最终生效的定义`,children:`生效`})]}),(0,O.jsx)(T,{className:`hidden break-all font-mono text-xs text-muted-foreground md:table-cell`,children:j(e.exclusions)}),(0,O.jsx)(T,{className:`break-all font-mono text-xs`,children:e.rawTarget})]}),t.map((t,n)=>(0,O.jsxs)(w,{className:`${k} cursor-pointer ${A}`,onClick:()=>Q(t.file,t.rawRule,t.rawTarget),title:`点击定位到该规则`,children:[(0,O.jsx)(T,{className:`truncate text-xs`,children:t.file}),(0,O.jsx)(T,{className:`break-all font-mono text-xs`,children:(0,O.jsxs)(`span`,{className:`inline-flex flex-wrap items-center gap-1.5`,children:[t.rawRule,(0,O.jsx)(y,{variant:`destructive`,className:`px-1 py-0 text-[10px]`,title:`已被 ${e.file} 中的同名规则覆盖,实际不生效`,children:`已被覆盖`})]})}),(0,O.jsx)(T,{className:`hidden break-all font-mono text-xs md:table-cell`,children:`—`}),(0,O.jsx)(T,{className:`break-all font-mono text-xs`,children:t.rawTarget})]},`merged-shadowed-${n}`))]},`merged-group-${e.pattern}`))})]})})]}),ce=()=>(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border`,children:[(0,O.jsx)(`div`,{className:`meddle-thin-scroll shrink-0 overflow-x-auto bg-card`,children:(0,O.jsxs)(E,{className:`table-fixed`,children:[(0,O.jsxs)(`colgroup`,{children:[(0,O.jsx)(`col`,{style:{width:`3.5rem`}}),(0,O.jsx)(`col`,{}),(0,O.jsx)(`col`,{style:{width:`8rem`}}),(0,O.jsx)(`col`,{})]}),(0,O.jsx)(x,{children:(0,O.jsxs)(w,{children:[(0,O.jsx)(S,{children:`状态`}),(0,O.jsx)(S,{children:`规则`}),(0,O.jsx)(S,{className:`hidden md:table-cell`,children:`排除`}),(0,O.jsx)(S,{children:`目标`})]})})]})}),(0,O.jsx)(s,{className:`min-h-0 flex-1`,children:(0,O.jsxs)(E,{className:`table-fixed`,children:[(0,O.jsxs)(`colgroup`,{children:[(0,O.jsx)(`col`,{style:{width:`3.5rem`}}),(0,O.jsx)(`col`,{}),(0,O.jsx)(`col`,{style:{width:`8rem`}}),(0,O.jsx)(`col`,{})]}),(0,O.jsx)(C,{children:Z.map(e=>(0,O.jsxs)(D.Fragment,{children:[(0,O.jsx)(w,{className:`hover:bg-accent/60`,children:(0,O.jsx)(T,{colSpan:4,className:`cursor-pointer bg-muted/50 p-2 align-middle`,role:`button`,tabIndex:0,onClick:()=>M(e.name),onKeyDown:t=>ae(t,e.name),title:`点击切换到该规则文件`,children:(0,O.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 font-medium`,children:[e.name,(0,O.jsx)(y,{variant:e.enabled?`default`:`secondary`,className:`px-1 py-0 text-[10px]`,children:e.enabled?`启用`:`禁用`}),(0,O.jsx)(y,{variant:`secondary`,className:`px-1 py-0 text-[10px]`,children:e.rules.length})]})})}),e.error&&(0,O.jsx)(w,{className:`text-destructive`,children:(0,O.jsx)(T,{colSpan:4,className:`p-2 text-xs`,children:(0,O.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,O.jsx)(m,{className:`h-3.5 w-3.5 shrink-0`}),`读取失败:`,e.error]})})}),e.matched.map((t,n)=>(0,O.jsxs)(w,{className:`cursor-pointer ${t.enabled?``:`opacity-60`}`,onClick:()=>Q(e.name,t.rawRule,t.rawTarget),title:`点击定位到该规则`,children:[(0,O.jsx)(T,{children:(0,O.jsx)(y,{variant:t.enabled?`default`:`secondary`,className:`px-1 py-0 text-[10px]`,children:t.enabled?`启用`:`禁用`})}),(0,O.jsx)(T,{className:`break-all font-mono text-xs`,children:t.rawRule}),(0,O.jsx)(T,{className:`hidden break-all font-mono text-xs text-muted-foreground md:table-cell`,children:j(t.exclusions)}),(0,O.jsx)(T,{className:`break-all font-mono text-xs ${t.enabled?``:`line-through`}`,children:t.rawTarget})]},`file-rule-${n}`))]},`file-group-${e.name}`))})]})})]}),le=R===`merged`?Y+X:re,ue=R===`merged`?J.reduce((e,t)=>e+1+t.shadowed.length,0):ie;return(0,O.jsxs)(`div`,{className:`app-panel-content flex h-full flex-col gap-3`,children:[(0,O.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,O.jsxs)(te,{type:`single`,value:R,onValueChange:e=>{e&&z(e)},variant:`outline`,size:`sm`,className:`bg-background`,"aria-label":`总览视图`,children:[(0,O.jsx)(_,{value:`merged`,children:`生效规则`}),(0,O.jsx)(_,{value:`files`,children:`按文件`})]}),(0,O.jsxs)(`div`,{className:`relative min-w-40 flex-1`,children:[(0,O.jsx)(p,{className:`pointer-events-none absolute top-1/2 left-2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,O.jsx)(g,{value:B,onChange:e=>V(e.target.value),placeholder:`搜索规则 / 目标 / 文件名`,className:`h-8 pl-8`,"aria-label":`搜索规则`})]}),(0,O.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-sm`,onClick:()=>void U(),disabled:P,"aria-label":`刷新总览`,title:`刷新`,children:(0,O.jsx)(i,{})})]}),G&&(0,O.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800`,children:[(0,O.jsx)(m,{className:`h-3.5 w-3.5 shrink-0`}),(0,O.jsxs)(`span`,{children:[`「`,t,`」有未保存修改,此处展示的是代理当前使用的`,(0,O.jsx)(`b`,{children:`已保存内容`})]})]}),!P&&!I&&(N?.files.length??0)>0&&(0,O.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 text-xs text-muted-foreground`,children:[(0,O.jsxs)(`span`,{children:[ue,` / `,le,` 条`,R===`merged`&&H.trim()===``&&X>0?`,其中 ${X} 条被同名规则覆盖`:``]}),R===`merged`&&(0,O.jsx)(`span`,{children:`按代理实际生效顺序排列(后定义覆盖先定义)`}),R===`files`&&(0,O.jsx)(`span`,{children:`点击文件名切换到该文件`})]}),oe()]})}export{M as RuleOverviewPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as e}from"./button-BFNlGZ5p.js";var t=e(`clock`,[[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),n=e(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]);export{t as n,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,d as t,p as n,t as r,u as i}from"./button-BFNlGZ5p.js";import"./dist-CFZ4xMSF.js";import{t as ee}from"./check-BkfHQ6re.js";import{t as a}from"./circle-alert-zMagrFuI.js";import{t as o}from"./circle-x-BEkinhez.js";import{t as s}from"./plus-ixZQRprm.js";import{t as te}from"./refresh-cw-BfLoHqg5.js";import{t as ne}from"./rotate-ccw-CRguJya4.js";import{t as re}from"./smartphone-D4Q7cQfm.js";import"./es2015-CRmLuA2o.js";import{t as ie}from"./switch-DpLnRvOJ.js";import{a as c,c as ae,l as oe,n as se,o as ce,r as l,s as le,t as ue}from"./ai-config-store-B_VpGvwx.js";import{$ as de,A as fe,C as u,D as pe,Dt as me,E as he,Et as ge,F as _e,I as d,It as f,L as ve,Nt as p,O as ye,Q as m,R as h,S as be,T as g,X as xe,Y as Se,Z as Ce,_ as we,b as _,c as Te,d as Ee,et as De,g as Oe,gt as ke,it as v,j as y,k as Ae,l as je,nt as b,pt as Me,rt as x,s as Ne,tt as S,u as Pe,v as Fe,vt as Ie,x as Le,xt as C,y as w,yt as Re}from"./index-CkoYwomI.js";import{n as ze,r as Be,t as Ve}from"./alert-BmsRCcSL.js";import{i as He,o as Ue,r as We,t as Ge}from"./mocks-file-missing-note-DmrrCBYY.js";var Ke=i(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),qe=i(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Je=i(`stethoscope`,[[`path`,{d:`M11 2v2`,key:`1539x4`}],[`path`,{d:`M5 2v2`,key:`1yf1q8`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`,key:`rb5t3r`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`,key:`x18d4x`}],[`circle`,{cx:`20`,cy:`10`,r:`2`,key:`ts1r5v`}]]),T=n(t(),1);async function Ye(){try{let e=await fetch(`/api/version`);if(!e.ok)return null;let t=await e.json();return t&&typeof t==`object`&&typeof t.version==`string`&&t.version.trim()||null}catch{return null}}var E=e(),Xe=[{value:`75`,label:`75%`,scale:.75},{value:`90`,label:`90%`,scale:.9},{value:`100`,label:`100%`,scale:1},{value:`110`,label:`110%`,scale:1.1},{value:`125`,label:`125%`,scale:1.25},{value:`150`,label:`150%`,scale:1.5}],Ze=[{value:`auto`,label:`自动`,color:`linear-gradient(135deg, oklch(0.623 0.214 259.815), oklch(0.606 0.25 292.717))`},{value:`neutral`,label:`中性`,color:`oklch(0.556 0 0)`},{value:`blue`,label:`蓝色`,color:`oklch(0.623 0.214 259.815)`},{value:`violet`,label:`紫色`,color:`oklch(0.606 0.25 292.717)`},{value:`green`,label:`绿色`,color:`oklch(0.627 0.194 149.214)`},{value:`orange`,label:`橙色`,color:`oklch(0.646 0.222 41.116)`},{value:`rose`,label:`玫红`,color:`oklch(0.645 0.246 16.439)`}],D=`app-panel-content mt-0`,O=`app-field-group`,k=`app-section`,A=e=>{if(!e)return`100`;let t={small:`90`,medium:`100`,large:`110`};return e in t?t[e]:Xe.some(t=>t.value===e)?e:`100`};function Qe({open:e=!1,onOpenChange:t,embedded:n=!1}){let{theme:i,accentColor:Qe,setTheme:$e,setAccentColor:et,setZoom:j}=Oe(),[M,tt]=(0,T.useState)(`preferences`),[N,P]=(0,T.useState)(()=>l()),[F,nt]=(0,T.useState)(!1),[I,L]=(0,T.useState)(!1),[R,z]=(0,T.useState)(null),[rt,B]=(0,T.useState)(``),[V,H]=(0,T.useState)(null),[U,W]=(0,T.useState)(``),{status:G,refresh:K}=Ee(),[it,at]=(0,T.useState)([]),[q,J]=(0,T.useState)({}),[Y,ot]=(0,T.useState)(``),[X,Z]=(0,T.useState)(``),[Q,st]=(0,T.useState)(null),[ct,lt]=(0,T.useState)(!1),[ut,dt]=(0,T.useState)(null);(0,T.useEffect)(()=>{let e=!1;return Ye().then(t=>{e||dt(t)}),()=>{e=!0}},[]);let[$,ft]=(0,T.useState)(()=>A(we().fontSize)),[pt,mt]=(0,T.useState)(!1);(0,T.useEffect)(()=>{Fe().then(e=>{let t=A(e.fontSize);ft(t),j(parseInt(t,10)/100),mt(!0)}).catch(()=>{mt(!0)})},[j]),(0,T.useEffect)(()=>{if(!pt)return;let e=A($);j(parseInt(e,10)/100),w({fontSize:e}).catch(console.error)},[j,pt,$]),(0,T.useEffect)(()=>{(e||n)&&(Fe().then(e=>{P(e.aiConfig),W(e.mocksFilePath||``),J(e.clientAliases||{})}).catch(()=>{P(l())}),z(null),B(``),fetch(`/api/rule-files`).then(e=>e.json()).then(e=>{Array.isArray(e)&&at(e)}).catch(()=>{}))},[e,n]);let ht=e=>{let t=c(e);P({...N,provider:e,baseUrl:t.baseUrl,model:t.model})},gt=async()=>{L(!0);try{await w({aiConfig:N}),ae(N),z(`success`),B(`AI 配置保存成功`),_.success(`AI 配置保存成功`)}catch(e){let t=e instanceof Error?e.message:`保存失败`;z(`error`),B(t),_.error(t)}finally{L(!1)}},_t=()=>{le(),P(l()),z(null),B(``)},vt=async()=>{if(!ce(N)){z(`error`),B(`请填写完整的配置信息`);return}L(!0),z(null),B(`测试中...`);try{let e=N.baseUrl,t={"Content-Type":`application/json`},n;N.provider===`anthropic`?(t[`x-api-key`]=N.apiKey,t[`anthropic-version`]=`2023-06-01`,n={model:N.model,max_tokens:100,system:`You are a helpful assistant.`,messages:[{role:`user`,content:`Say "test successful"`}],temperature:.3}):(t.Authorization=`Bearer ${N.apiKey}`,n={model:N.model,messages:[{role:`system`,content:`You are a helpful assistant.`},{role:`user`,content:`Say "test successful"`}],temperature:.3,max_tokens:100});let r=await fetch(e,{method:`POST`,headers:t,body:JSON.stringify(n)});if(!r.ok){let e=await r.text();throw Error(`API错误 (${r.status}): ${e}`)}let i=await r.json();if(N.provider===`anthropic`){if(!i.content?.[0]?.text)throw Error(`API响应格式不正确`)}else if(!i.choices?.[0]?.message?.content)throw Error(`API响应格式不正确`);z(`success`),B(`连接测试成功! API配置正常`)}catch(e){z(`error`),B(e instanceof Error?e.message:`测试失败`)}finally{L(!1)}},yt=(0,T.useCallback)(async()=>{try{let e=await fetch(`/api/refresh-config`,{method:`POST`});if(e.ok){let t=await e.json();K(),z(`success`),B(t.message||`配置已刷新`),setTimeout(()=>{z(null),B(``)},2e3)}else{let t=await e.json();z(`error`),B(t.error||`刷新配置失败`),setTimeout(()=>{z(null),B(``)},2e3)}}catch(e){console.error(`刷新配置失败:`,e),z(`error`),B(`刷新配置失败`),setTimeout(()=>{z(null),B(``)},2e3)}},[K]),bt=(0,T.useCallback)(async()=>{lt(!0),st(null);try{let e=await fetch(`/api/config-doctor`);e.ok?st(await e.json()):(z(`error`),B(`诊断失败`),setTimeout(()=>{z(null),B(``)},2e3))}catch(e){console.error(`诊断失败:`,e),z(`error`),B(`诊断失败`),setTimeout(()=>{z(null),B(``)},2e3)}finally{lt(!1)}},[]),xt=()=>{let e=Y.trim(),t=X.trim();!e||!t||(J(n=>({...n,[e]:t})),ot(``),Z(``))},St=async()=>{L(!0);try{await w({clientAliases:q}),z(`success`),B(`客户端名称已保存,新请求立即生效`),_.success(`客户端名称保存成功`)}catch(e){let t=e instanceof Error?e.message:`保存失败`;z(`error`),B(t),_.error(t)}finally{L(!1)}},Ct=async()=>{L(!0);try{await w({mocksFilePath:U}),K(),z(`success`),B(`Mock 文件路径已更新,已切换到新文件`),_.success(`Mock 文件路径保存成功`),setTimeout(()=>{z(null),B(``)},3e3)}catch(e){let t=e instanceof Error?e.message:`保存失败`;z(`error`),B(t),_.error(t)}finally{L(!1)}};Le({active:(e||n)&&M!==`preferences`,enabled:!I,priority:be.panel,onSave:()=>{if(M===`config`)return Ct();if(M===`clients`)return St();if(M===`ai`)return gt()}});let wt=(0,E.jsxs)(E.Fragment,{children:[!n&&(0,E.jsxs)(Ae,{className:`px-6 pt-6 pb-4`,children:[(0,E.jsxs)(fe,{className:`flex items-center gap-2`,children:[(0,E.jsx)(Re,{className:`h-5 w-5`}),`系统设置`]}),(0,E.jsx)(ye,{children:`管理系统偏好、配置和 AI 功能`})]}),(0,E.jsxs)(_e,{value:M,onValueChange:e=>tt(e),orientation:`vertical`,className:`min-h-0 flex-1 gap-0`,children:[(0,E.jsxs)(ve,{"aria-label":`设置分类`,className:`h-full w-14 shrink-0 self-stretch justify-start gap-1 rounded-none border-r bg-muted/25 p-2 group-data-[orientation=vertical]/tabs:!h-full sm:w-44 sm:p-3`,children:[(0,E.jsxs)(h,{value:`preferences`,className:`h-9 w-full flex-none justify-start px-2.5 sm:px-3`,children:[(0,E.jsx)(Re,{}),(0,E.jsx)(`span`,{className:`hidden sm:inline`,children:`偏好设置`})]}),(0,E.jsxs)(h,{value:`config`,className:`h-9 w-full flex-none justify-start px-2.5 sm:px-3`,children:[(0,E.jsx)(p,{}),(0,E.jsx)(`span`,{className:`hidden sm:inline`,children:`配置文件`})]}),(0,E.jsxs)(h,{value:`clients`,className:`h-9 w-full flex-none justify-start px-2.5 sm:px-3`,children:[(0,E.jsx)(re,{}),(0,E.jsx)(`span`,{className:`hidden sm:inline`,children:`客户端`})]}),(0,E.jsxs)(h,{value:`ai`,className:`h-9 w-full flex-none justify-start px-2.5 sm:px-3`,children:[(0,E.jsx)(Ie,{}),(0,E.jsx)(`span`,{className:`hidden sm:inline`,children:`AI 配置`})]})]}),(0,E.jsxs)(d,{value:`preferences`,className:D,children:[(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{className:`text-sm`,children:`主题`}),(0,E.jsxs)(Se,{value:i,onValueChange:e=>$e(e),children:[(0,E.jsx)(de,{children:(0,E.jsx)(De,{placeholder:`选择主题`})}),(0,E.jsx)(xe,{children:(0,E.jsxs)(Ce,{children:[(0,E.jsx)(m,{value:`system`,children:(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(me,{className:`size-4`}),`跟随系统`]})}),(0,E.jsx)(m,{value:`light`,children:(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(ke,{className:`size-4`}),`浅色模式`]})}),(0,E.jsx)(m,{value:`dark`,children:(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(ge,{className:`size-4`}),`深色模式`]})})]})})]})]}),(0,E.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,E.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,E.jsx)(y,{className:`text-sm`,children:`强调色`}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`统一按钮、状态、选中项和焦点样式。自动模式会根据明暗主题选择合适的颜色。`})]}),(0,E.jsx)(S,{type:`single`,value:Qe,onValueChange:e=>{e&&et(e)},variant:`outline`,spacing:1,className:`flex-wrap justify-start`,"aria-label":`强调色`,children:Ze.map(e=>(0,E.jsxs)(b,{value:e.value,"aria-label":e.label,children:[e.value===`auto`?(0,E.jsx)(Ie,{"data-icon":`inline-start`}):(0,E.jsx)(`span`,{className:`size-3 rounded-full border border-foreground/10`,style:{background:e.color}}),e.label]},e.value))})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{className:`text-sm`,children:`缩放比例`}),(0,E.jsxs)(Se,{value:$,onValueChange:ft,children:[(0,E.jsx)(de,{children:(0,E.jsx)(De,{placeholder:`选择缩放比例`})}),(0,E.jsx)(xe,{children:(0,E.jsx)(Ce,{children:Xe.map(e=>(0,E.jsx)(m,{value:e.value,children:e.label},e.value))})})]})]}),(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(`h3`,{className:`text-sm font-medium`,children:`关于`}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Meddle - HTTP 调试代理工具`}),(0,E.jsxs)(`p`,{className:`text-xs text-muted-foreground`,"data-testid":`settings-app-version`,children:[`版本: `,ut??`—`]})]})]}),(0,E.jsxs)(d,{value:`config`,className:D,children:[(0,E.jsxs)(`div`,{className:k,children:[(0,E.jsx)(y,{className:`text-sm font-medium`,children:`路由规则文件`}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2 p-3 bg-muted rounded-md`,children:[(0,E.jsx)(p,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,E.jsx)(`span`,{className:`text-xs font-mono truncate flex-1`,children:`~/.meddle/route-rules/`})]}),it.length>0?(0,E.jsx)(`div`,{className:`space-y-2`,children:it.map(e=>(0,E.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border px-3 py-2.5 text-sm`,children:[(0,E.jsx)(x,{variant:e.enabled?`default`:`secondary`,className:`text-[10px]`,children:e.enabled?`已启用`:`未启用`}),(0,E.jsxs)(`span`,{className:`flex-1 truncate text-xs`,children:[e.name,`.txt`]}),(0,E.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[e.ruleCount,` 条规则`]})]},e.name))}):(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`暂无规则文件`}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`规则文件存放于 ~/.meddle/route-rules/ 目录,纯文本格式。在"路由规则"页面管理。`})]})]}),(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{className:k,children:[(0,E.jsx)(y,{className:`text-sm font-medium`,children:`Mock 规则文件`}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(`span`,{"data-testid":`settings-mocks-file-current-label`,className:`text-xs text-muted-foreground`,children:`当前使用`}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2 p-3 bg-muted rounded-md`,children:[(0,E.jsx)(p,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,E.jsx)(`span`,{"data-testid":`settings-mocks-file-resolved`,className:`text-xs font-mono flex-1 wrap-anywhere`,title:G?.path,children:G?.path?(0,E.jsx)(Ge,{path:G.path}):U||`默认: ~/.meddle/mocks.json`})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`mocksPath`,className:`text-xs text-muted-foreground`,children:`自定义 Mock 规则文件路径(留空使用默认)`}),(0,E.jsxs)(`div`,{className:`flex gap-2`,children:[(0,E.jsx)(v,{id:`mocksPath`,value:U,onChange:e=>W(e.target.value),placeholder:`如: /path/to/my-mocks.json`,className:`flex-1 h-8 text-sm font-mono`}),(0,E.jsxs)(u,{variant:`outline`,size:`sm`,onClick:Ct,disabled:I,className:`h-8`,children:[(0,E.jsx)(C,{"data-icon":`inline-start`,className:`h-3 w-3`}),`应用`]})]}),G?.legacyMocksPath?(0,E.jsx)(He,{oldPath:G.legacyMocksPath.oldPath,newPath:G.legacyMocksPath.newPath,visible:je(U),onUseOldPath:()=>W(G.legacyMocksPath.oldPath)}):null,(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`必须是 JSON 格式的 Mock 规则文件。支持 ~ 表示用户主目录;相对路径相对于 Meddle 配置目录。`}),Te(G)?(0,E.jsx)(We,{testId:`settings-mocks-file-invalid`,location:Ne(G.parseError)}):Pe(G)&&!G.legacyMocksPath?(0,E.jsx)(Ue,{testId:`settings-mocks-file-missing`}):null]})]})]}),(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(`h3`,{className:`text-sm font-medium`,children:`操作`}),(0,E.jsxs)(`div`,{className:`flex gap-2`,children:[(0,E.jsxs)(r,{variant:`outline`,size:`sm`,onClick:yt,children:[(0,E.jsx)(te,{className:`h-4 w-4 mr-1`}),`重新加载配置`]}),(0,E.jsxs)(r,{variant:`outline`,size:`sm`,onClick:bt,disabled:ct,children:[(0,E.jsx)(Je,{className:`h-4 w-4 mr-1`}),ct?`诊断中...`:`诊断配置`]})]}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`点击重新加载可应用修改后的配置文件,点击诊断配置可检查配置有效性`})]}),Q&&(0,E.jsxs)(`div`,{className:k,children:[(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{children:[(0,E.jsxs)(`h3`,{className:`mb-4 flex items-center gap-2 text-sm font-medium`,children:[(0,E.jsx)(Je,{className:`h-4 w-4`}),`诊断结果`]}),(0,E.jsxs)(`div`,{className:`mb-3 p-3 rounded-md border ${Q.status===`ok`?`bg-green-50 dark:bg-green-950/20 border-green-200 dark:border-green-900`:Q.status===`warning`?`bg-yellow-50 dark:bg-yellow-950/20 border-yellow-200 dark:border-yellow-900`:`bg-red-50 dark:bg-red-950/20 border-red-200 dark:border-red-900`}`,children:[Q.status===`ok`&&(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(f,{className:`h-5 w-5 text-green-600 dark:text-green-400`}),(0,E.jsx)(`span`,{className:`text-sm font-medium text-green-700 dark:text-green-300`,children:`所有检查通过!配置正常。`})]}),Q.status===`warning`&&(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(a,{className:`h-5 w-5 text-yellow-600 dark:text-yellow-400`}),(0,E.jsxs)(`span`,{className:`text-sm font-medium text-yellow-700 dark:text-yellow-300`,children:[`发现 `,Q.warnings.length,` 个警告`]})]}),Q.status===`error`&&(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(o,{className:`h-5 w-5 text-red-600 dark:text-red-400`}),(0,E.jsxs)(`span`,{className:`text-sm font-medium text-red-700 dark:text-red-300`,children:[`发现 `,Q.errors.length,` 个错误`]})]})]}),(0,E.jsx)(`div`,{className:O,children:Q.checks.map((e,t)=>(0,E.jsx)(`div`,{className:`p-2 rounded border bg-card`,children:(0,E.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,E.jsx)(f,{className:`h-4 w-4 text-green-600 dark:text-green-400 mt-0.5 shrink-0`}),(0,E.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,E.jsx)(`div`,{className:`text-sm font-medium`,children:e.name}),(0,E.jsx)(`div`,{className:`text-xs text-muted-foreground font-mono truncate`,children:e.path}),e.details&&(0,E.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:[e.details.totalFiles!==void 0&&`${e.details.enabledFiles}/${e.details.totalFiles} 个文件已启用`,e.details.totalRules!==void 0&&` · ${e.details.totalRules} 条规则`,e.details.rules!==void 0&&`${e.details.rules} 条规则`,e.details.total!==void 0&&`${e.details.total} 条规则 (${e.details.enabled} 已启用)`,e.details.size!==void 0&&` · ${e.details.size} bytes`]})]})]})},t))}),Q.warnings&&Q.warnings.length>0&&(0,E.jsxs)(`div`,{className:`mt-3 space-y-1`,children:[(0,E.jsx)(`div`,{className:`text-xs font-medium text-yellow-700 dark:text-yellow-300`,children:`警告:`}),Q.warnings.map((e,t)=>(0,E.jsxs)(`div`,{className:`flex items-start gap-2 text-xs text-yellow-600 dark:text-yellow-400`,children:[(0,E.jsx)(a,{className:`h-3 w-3 mt-0.5 shrink-0`}),(0,E.jsx)(`span`,{children:e})]},t))]}),Q.errors&&Q.errors.length>0&&(0,E.jsxs)(`div`,{className:`mt-3 space-y-1`,children:[(0,E.jsx)(`div`,{className:`text-xs font-medium text-red-700 dark:text-red-300`,children:`错误:`}),Q.errors.map((e,t)=>(0,E.jsxs)(`div`,{className:`flex items-start gap-2 text-xs text-red-600 dark:text-red-400`,children:[(0,E.jsx)(o,{className:`h-3 w-3 mt-0.5 shrink-0`}),(0,E.jsx)(`span`,{children:e})]},t))]})]})]})]}),(0,E.jsxs)(d,{value:`clients`,className:D,children:[(0,E.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,E.jsxs)(`h3`,{className:`text-sm font-medium flex items-center gap-2`,children:[(0,E.jsx)(re,{className:`h-4 w-4`}),`远程客户端名称`]}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`将日志中的客户端 IP 映射为设备名称。保存后新请求立即生效,无需重启代理。`})]}),(0,E.jsx)(`div`,{className:O,children:Object.entries(q).length===0?(0,E.jsx)(`div`,{className:`rounded-md border border-dashed p-4 text-center text-xs text-muted-foreground`,children:`尚未配置设备名称`}):Object.entries(q).map(([e,t])=>(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(v,{value:e,readOnly:!0,className:`h-8 flex-1 font-mono text-xs bg-muted/40`,"aria-label":`客户端 IP ${e}`}),(0,E.jsx)(v,{value:t,onChange:t=>{let n=t.target.value;J(t=>({...t,[e]:n}))},className:`h-8 flex-1 text-sm`,"aria-label":`${e} 的设备名称`}),(0,E.jsx)(r,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground hover:text-destructive`,onClick:()=>{J(t=>{let n={...t};return delete n[e],n})},title:`删除设备名称`,"aria-label":`删除设备名称`,children:(0,E.jsx)(Me,{className:`h-4 w-4`})})]},e))}),(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{className:`text-sm`,children:`添加设备`}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(v,{value:Y,onChange:e=>ot(e.target.value),placeholder:`客户端 IP,例如 10.13.232.187`,className:`h-8 flex-1 font-mono text-xs`}),(0,E.jsx)(v,{value:X,onChange:e=>Z(e.target.value),onKeyDown:e=>{e.key===`Enter`&&xt()},placeholder:`设备名称,例如 iPhone`,className:`h-8 flex-1 text-sm`}),(0,E.jsxs)(r,{variant:`outline`,size:`sm`,className:`h-8`,onClick:xt,disabled:!Y.trim()||!X.trim(),children:[(0,E.jsx)(s,{className:`h-4 w-4 mr-1`}),`添加`]})]})]}),(0,E.jsxs)(u,{onClick:St,disabled:I,children:[(0,E.jsx)(C,{"data-icon":`inline-start`,className:`h-4 w-4`}),I?`保存中...`:`保存客户端名称`]})]}),(0,E.jsxs)(d,{value:`ai`,className:D,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,E.jsx)(y,{className:`text-sm`,children:`启用 AI 功能`}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`启用智能代码修复功能`})]}),(0,E.jsx)(ie,{checked:N.enabled,onCheckedChange:e=>P({...N,enabled:e}),"aria-label":`启用 AI 功能`})]}),(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{className:k,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsx)(y,{className:`text-sm`,children:`AI 模型配置`}),(0,E.jsxs)(r,{variant:`outline`,size:`sm`,onClick:()=>{H({name:``,provider:`openai`,apiKey:``,baseUrl:`https://api.openai.com/v1/chat/completions`,model:`gpt-4o-mini`})},children:[(0,E.jsx)(s,{className:`h-4 w-4 mr-1`}),`添加模型`]})]}),(0,E.jsx)(`div`,{className:O,children:N.models&&N.models.length>0?N.models.map(e=>(0,E.jsx)(`div`,{className:`p-3 rounded-md border ${N.activeModelId===e.id?`border-primary bg-primary/5`:`border-border`}`,children:(0,E.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,E.jsxs)(`div`,{className:`flex-1`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`font-medium text-sm`,children:e.name}),N.activeModelId===e.id&&(0,E.jsx)(x,{variant:`default`,className:`text-xs`,children:`当前使用`})]}),(0,E.jsxs)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:[e.provider===`openai`?`OpenAI`:`Anthropic`,` - `,e.model]})]}),(0,E.jsxs)(`div`,{className:`flex gap-1`,children:[N.activeModelId!==e.id&&(0,E.jsxs)(r,{variant:`ghost`,size:`xs`,onClick:()=>P(oe(N,e.id)),children:[(0,E.jsx)(ee,{className:`h-3 w-3 mr-1`}),`使用`]}),(0,E.jsx)(r,{variant:`ghost`,size:`icon-sm`,onClick:()=>P(se(N,e.id)),className:`text-destructive`,"aria-label":`删除模型`,children:(0,E.jsx)(Me,{className:`h-3 w-3`})})]})]})},e.id)):(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground italic py-4 text-center`,children:`暂无模型配置,点击"添加模型"创建`})}),V&&(0,E.jsxs)(`div`,{className:`space-y-5 rounded-md border border-primary bg-primary/5 p-4`,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,E.jsx)(y,{className:`text-sm font-medium`,children:`新增模型`}),(0,E.jsx)(r,{variant:`ghost`,size:`icon-xs`,onClick:()=>H(null),"aria-label":`关闭新增模型表单`,children:(0,E.jsx)(o,{className:`h-4 w-4`})})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`newModelName`,className:`text-xs`,children:`模型名称`}),(0,E.jsx)(v,{id:`newModelName`,value:V.name||``,onChange:e=>H({...V,name:e.target.value}),placeholder:`如:GPT-4o Mini`,className:`h-8 text-sm`})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{className:`text-xs`,children:`服务商`}),(0,E.jsxs)(S,{type:`single`,value:V.provider,onValueChange:e=>{if(e===`openai`){let e=c(`openai`);H({...V,provider:`openai`,baseUrl:e.baseUrl,model:e.model})}else if(e===`anthropic`){let e=c(`anthropic`);H({...V,provider:`anthropic`,baseUrl:e.baseUrl,model:e.model})}},variant:`outline`,size:`sm`,spacing:0,children:[(0,E.jsx)(b,{value:`openai`,children:`OpenAI`}),(0,E.jsx)(b,{value:`anthropic`,children:`Anthropic`})]})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`newModelApiKey`,className:`text-xs`,children:`API Key`}),(0,E.jsx)(v,{id:`newModelApiKey`,type:F?`text`:`password`,value:V.apiKey||``,onChange:e=>H({...V,apiKey:e.target.value}),placeholder:`输入 API Key`,className:`h-8 text-sm`})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`newModelModel`,className:`text-xs`,children:`模型`}),(0,E.jsx)(v,{id:`newModelModel`,value:V.model||``,onChange:e=>H({...V,model:e.target.value}),placeholder:`模型名称`,className:`h-8 text-sm`})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`newModelBaseUrl`,className:`text-xs`,children:`API 端点`}),(0,E.jsx)(v,{id:`newModelBaseUrl`,value:V.baseUrl||``,onChange:e=>H({...V,baseUrl:e.target.value}),placeholder:`API 端点`,className:`h-8 text-sm`})]}),(0,E.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,E.jsx)(r,{variant:`outline`,size:`xs`,onClick:()=>H(null),children:`取消`}),(0,E.jsxs)(r,{size:`xs`,onClick:()=>{V.name&&V.apiKey&&V.model&&V.baseUrl&&(P(ue(N,V)),H(null))},disabled:!V.name||!V.apiKey||!V.model||!V.baseUrl,children:[(0,E.jsx)(s,{className:`h-3 w-3 mr-1`}),`添加`]})]})]})]}),(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,E.jsx)(y,{className:`text-sm`,children:`传统配置(向后兼容)`}),(0,E.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`如果未配置多模型,将使用此配置`})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{className:`text-xs`,children:`AI 服务商`}),(0,E.jsxs)(S,{type:`single`,value:N.provider,onValueChange:e=>{(e===`openai`||e===`anthropic`)&&ht(e)},variant:`outline`,size:`sm`,spacing:0,children:[(0,E.jsx)(b,{value:`openai`,children:`OpenAI`}),(0,E.jsx)(b,{value:`anthropic`,children:`Anthropic`})]})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`apiKey`,className:`text-xs`,children:`API Key`}),(0,E.jsxs)(`div`,{className:`flex gap-2`,children:[(0,E.jsx)(v,{id:`apiKey`,type:F?`text`:`password`,value:N.apiKey,onChange:e=>P({...N,apiKey:e.target.value}),placeholder:`输入 API Key`,className:`flex-1 h-8 text-sm`}),(0,E.jsx)(r,{variant:`outline`,size:`icon-sm`,onClick:()=>nt(!F),"aria-label":F?`隐藏 API Key`:`显示 API Key`,children:F?(0,E.jsx)(Ke,{className:`h-4 w-4`}):(0,E.jsx)(qe,{className:`h-4 w-4`})})]})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`model`,className:`text-xs`,children:`模型`}),(0,E.jsx)(v,{id:`model`,value:N.model,onChange:e=>P({...N,model:e.target.value}),placeholder:`模型名称`,className:`h-8 text-sm`})]}),(0,E.jsxs)(`div`,{className:O,children:[(0,E.jsx)(y,{htmlFor:`baseUrl`,className:`text-xs`,children:`API 端点`}),(0,E.jsx)(v,{id:`baseUrl`,value:N.baseUrl,onChange:e=>P({...N,baseUrl:e.target.value}),placeholder:N.provider===`openai`?`https://api.openai.com/v1/chat/completions`:`https://api.anthropic.com/v1/messages`,className:`h-8 text-sm`})]}),rt&&(0,E.jsxs)(Ve,{variant:R===`error`?`destructive`:`default`,children:[R===`success`?(0,E.jsx)(f,{}):R===`error`?(0,E.jsx)(o,{}):(0,E.jsx)(a,{}),(0,E.jsx)(Be,{children:R===`success`?`操作成功`:R===`error`?`操作失败`:`处理中`}),(0,E.jsx)(ze,{children:rt})]}),(0,E.jsx)(g,{}),(0,E.jsxs)(`div`,{className:`flex justify-between`,children:[(0,E.jsxs)(r,{variant:`outline`,size:`sm`,onClick:_t,children:[(0,E.jsx)(ne,{className:`h-4 w-4 mr-1`}),`重置`]}),(0,E.jsxs)(`div`,{className:`flex gap-2`,children:[(0,E.jsx)(r,{variant:`outline`,size:`sm`,onClick:vt,disabled:!ce(N)||I,children:`测试连接`}),(0,E.jsxs)(u,{size:`sm`,onClick:gt,disabled:I,children:[(0,E.jsx)(C,{"data-icon":`inline-start`,className:`h-4 w-4`}),I?`保存中...`:`保存`]})]})]})]})]})]});return n?(0,E.jsx)(`div`,{"data-testid":`settings-fullwidth`,className:`app-workspace-content flex h-full min-h-0 w-full flex-col overflow-hidden p-0`,children:(0,E.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border bg-card`,children:wt})}):(0,E.jsx)(he,{open:e,onOpenChange:t,children:(0,E.jsx)(pe,{className:`p-0 flex flex-col`,resizable:!0,defaultWidth:600,storageKey:`settings-panel`,children:wt})})}export{Qe as SettingsPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as e}from"./button-BFNlGZ5p.js";var t=e(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as e}from"./button-BFNlGZ5p.js";var t=e(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,d as t,l as n,o as r,p as i}from"./button-BFNlGZ5p.js";import{a,o,r as s,t as c}from"./dist-CFZ4xMSF.js";import{n as l,t as u}from"./dist-BCvvYbmI.js";var d=i(t(),1),f=e(),p=`Switch`,[m,h]=a(p),[g,_]=m(p),v=d.forwardRef((e,t)=>{let{__scopeSwitch:n,name:i,checked:a,defaultChecked:l,required:u,disabled:m,value:h=`on`,onCheckedChange:_,form:v,...y}=e,[b,x]=d.useState(null),w=r(t,e=>x(e)),T=d.useRef(!1),E=b?v||!!b.closest(`form`):!0,[D,O]=c({prop:a,defaultProp:l??!1,onChange:_,caller:p});return(0,f.jsxs)(g,{scope:n,checked:D,disabled:m,children:[(0,f.jsx)(o.button,{type:`button`,role:`switch`,"aria-checked":D,"aria-required":u,"data-state":C(D),"data-disabled":m?``:void 0,disabled:m,value:h,...y,ref:w,onClick:s(e.onClick,e=>{O(e=>!e),E&&(T.current=e.isPropagationStopped(),T.current||e.stopPropagation())})}),E&&(0,f.jsx)(S,{control:b,bubbles:!T.current,name:i,value:h,checked:D,required:u,disabled:m,form:v,style:{transform:`translateX(-100%)`}})]})});v.displayName=p;var y=`SwitchThumb`,b=d.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=_(y,n);return(0,f.jsx)(o.span,{"data-state":C(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});b.displayName=y;var x=`SwitchBubbleInput`,S=d.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:i=!0,...a},o)=>{let s=d.useRef(null),c=r(s,o),p=l(n),m=u(t);return d.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,`checked`).set;if(p!==n&&r){let t=new Event(`click`,{bubbles:i});r.call(e,n),e.dispatchEvent(t)}},[p,n,i]),(0,f.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...a,tabIndex:-1,ref:c,style:{...a.style,...m,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});S.displayName=x;function C(e){return e?`checked`:`unchecked`}var w=v,T=b;function E({className:e,...t}){return(0,f.jsx)(w,{"data-slot":`switch`,className:n(`peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,f.jsx)(T,{"data-slot":`switch-thumb`,className:n(`bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`)})})}export{E as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{c as e}from"./button-BFNlGZ5p.js";var t=e(),n=2097152,r=1e4,i=5e4,a=3e4,o=3e4;function s(e){return!(!e||e.length>n||e.split(`
|
|
2
2
|
`).length>r)}function c(e){let t=e.trim();if(!t)return`text`;if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.parse(t),`json`}catch{}return/^<!DOCTYPE\s+html/i.test(t)||t.startsWith(`<html`)||t.startsWith(`<!DOCTYPE`)||/^<(!DOCTYPE|html|head|body|div|span|p|a|img|ul|ol|li|table|tr|td|th|form|input|button|h[1-6]|nav|header|footer|section|article|main|aside)\b/i.test(t)||/<[a-z][\w-]*(\s+[^>]*)?>\s*[\s\S]*<\/[a-z][\w-]*>/i.test(t)||/<[a-z][\w-]*(\s+[^>]*)?\/?>/i.test(t)&&!t.includes(`{`)?`html`:/^[.#]?[a-z][\w-]*\s*\{/i.test(t)||/^@(media|keyframes|import|font-face|charset|supports|page|namespace)/i.test(t)||/[a-z-]+\s*:\s*[^;]+;/i.test(t)&&t.includes(`{`)?`css`:t.startsWith(`"use strict"`)||t.startsWith(`'use strict'`)||/^(import|export)\s+/m.test(t)||/^(function\s+\w+|const\s+\w+\s*=\s*\(|let\s+\w+\s*=\s*\(|var\s+\w+\s*=\s*\()/m.test(t)||/=>\s*\{?/.test(t)||/(^|\s)(class|function|const|let|var|if|else|for|while|return|try|catch|finally|throw|new|async|await)\s+/i.test(t)?`javascript`:`text`}function l(e){let n=[],r=/("(?:[^"\\]|\\.)+")\s*:|("(?:[^"\\]|\\.)+")|(-?\d+\.?\d*(?:[eE][+-]?\d+)?)|true|false|null|[{}[\]:,]/g,a=0,o,s=0;for(;(o=r.exec(e))!==null&&s++<i;){o.index>a&&n.push(e.slice(a,o.index));let r=o[0];o[1]?(n.push((0,t.jsx)(`span`,{className:`text-purple-600 dark:text-purple-400`,children:o[1]},o.index)),n.push(`:`)):o[2]?n.push((0,t.jsx)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:o[2]},o.index)):o[3]?n.push((0,t.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400`,children:o[3]},o.index)):r===`true`||r===`false`?n.push((0,t.jsx)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:r},o.index)):r===`null`?n.push((0,t.jsx)(`span`,{className:`text-red-400`,children:r},o.index)):n.push((0,t.jsx)(`span`,{className:`text-muted-foreground`,children:r},o.index)),a=o.index+o[0].length}return a<e.length&&n.push(e.slice(a)),n}function u(e){let n=[],r=/<!--[\s\S]{0,500}?-->|<\/?([a-z][\w-]*)\b([^>]{0,500})>/gi,i,o=0,s=0;for(;(i=r.exec(e))!==null&&s++<a;){if(i.index>o){let r=e.slice(o,i.index);r&&n.push((0,t.jsx)(`span`,{className:`text-foreground`,children:r},`text-${o}`))}let r=i[0];if(r.startsWith(`<!--`))n.push((0,t.jsx)(`span`,{className:`text-gray-500 dark:text-gray-400 italic`,children:r},i.index));else{let e=i[1],a=i[2];if(r.startsWith(`</`))n.push((0,t.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400`,children:r},i.index));else{if(n.push((0,t.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400`,children:`<`},i.index)),n.push((0,t.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400 font-semibold`,children:e},`tag-${i.index}`)),a){let e=d(a,i.index);n.push(...e)}n.push((0,t.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400`,children:`>`},`close-${i.index}`))}}o=i.index+r.length}if(o<e.length){let r=e.slice(o);r&&n.push((0,t.jsx)(`span`,{className:`text-foreground`,children:r},`text-${o}`))}return n}function d(e,n){let r=[],i=/([a-z-]+)(?:=(?:"([^"]*)"|'([^']*)'|([^\s>]+)))?/gi,a,o=0;for(;(a=i.exec(e))!==null;){a.index>o&&r.push(e.slice(o,a.index));let i=a[1],s=a[2]||a[3]||a[4];r.push((0,t.jsx)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:i},`attr-name-${n}-${a.index}`)),s!==void 0&&(r.push(`=`),a[2]===void 0?a[3]===void 0?r.push((0,t.jsx)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:a[4]},`attr-val-${n}-${a.index}`)):r.push((0,t.jsx)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:`'${a[3]}'`},`attr-val-${n}-${a.index}`)):r.push((0,t.jsx)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:`"${a[2]}"`},`attr-val-${n}-${a.index}`))),o=a.index+a[0].length}return o<e.length&&r.push(e.slice(o)),r}function f(e){let n=[];return e.split(`
|
|
3
3
|
`).slice(0,r).forEach((e,r)=>{if(r>0&&n.push(`
|
|
4
4
|
`),e.trim().startsWith(`/*`)){n.push((0,t.jsx)(`span`,{className:`text-gray-500 dark:text-gray-400 italic`,children:e},`comment-${r}`));return}if(!e.includes(`:`)||e.includes(`{`)){let i=e.split(`{`);i.length>1?(n.push((0,t.jsx)(`span`,{className:`text-purple-600 dark:text-purple-400 font-semibold`,children:i[0]},`selector-${r}`)),n.push((0,t.jsx)(`span`,{className:`text-foreground`,children:` {`},`brace-${r}`)),i[1]&&n.push(i[1])):n.push((0,t.jsx)(`span`,{className:`text-purple-600 dark:text-purple-400 font-semibold`,children:e},`selector-${r}`))}else if(e.includes(`:`)){let i=e.indexOf(`:`),a=e.slice(0,i),o=e.slice(i+1);n.push((0,t.jsx)(`span`,{className:`text-blue-600 dark:text-blue-400`,children:a},`prop-${r}`)),n.push((0,t.jsx)(`span`,{className:`text-foreground`,children:`:`},`colon-${r}`));let s=p(o,r);n.push(...s)}else n.push(e)}),n}function p(e,n){let r=[],i=/(#[0-9a-fA-F]{3,8})|(\d+(?:\.\d+)?(?:px|em|rem|%|vh|vw|deg|s|ms)?)|([a-z-]+)/gi,a=0,o;for(;(o=i.exec(e))!==null;)o.index>a&&r.push(e.slice(a,o.index)),o[1]?r.push((0,t.jsx)(`span`,{className:`text-pink-600 dark:text-pink-400`,children:o[1]},`color-${n}-${o.index}`)):o[2]?r.push((0,t.jsx)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:o[2]},`num-${n}-${o.index}`)):o[3]&&r.push((0,t.jsx)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:o[3]},`keyword-${n}-${o.index}`)),a=o.index+o[0].length;return a<e.length&&r.push(e.slice(a)),r}function m(e){let n=[],r=/(["'`])(?:[^"'`\\]|\\.){0,200}?\1|\/\/[^\n]{0,200}|\/\*[\s\S]{0,500}?\*\/|\b(function|const|let|var|if|else|for|while|return|class|import|export|from|default|async|await|try|catch|finally|throw|new|this|super|extends|static|get|set|typeof|instanceof|in|of|void|delete|yield|switch|case|break|continue|do)\b|(\d+\.?\d*(?:[eE][+-]?\d+)?)/gm,i=0,a,s=0;for(;(a=r.exec(e))!==null&&s++<o;){a.index>i&&n.push(e.slice(i,a.index));let r=a[0];r.startsWith(`"`)||r.startsWith(`'`)||r.startsWith("`")?n.push((0,t.jsx)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:r},a.index)):r.startsWith(`//`)||r.startsWith(`/*`)?n.push((0,t.jsx)(`span`,{className:`text-gray-500 dark:text-gray-400 italic`,children:r},a.index)):a[2]?n.push((0,t.jsx)(`span`,{className:`text-purple-600 dark:text-purple-400 font-semibold`,children:a[2]},a.index)):a[3]?n.push((0,t.jsx)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:a[3]},a.index)):n.push(r),i=a.index+r.length}return i<e.length&&n.push(e.slice(i)),n}function h(e,t){if(!s(e))return[e];let n=t||c(e);try{let t=performance.now(),r;switch(n){case`json`:r=l(e);break;case`html`:r=u(e);break;case`css`:r=f(e);break;case`javascript`:r=m(e);break;default:return[e]}let i=performance.now()-t;return i>100&&console.warn(`Syntax highlighting took ${i.toFixed(2)}ms for ${e.length} chars`),r}catch(t){return console.error(`Syntax highlighting error:`,t),[e]}}function g(e){try{return JSON.parse(e),!0}catch{return!1}}function _(e){let t=e.trim();if(!t)return{valid:!0};try{if(!t.includes(`<`))return{valid:!1,error:`内容不像是有效的HTML`};let e=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),n=[],r=/<!--[\s\S]*?-->|<!DOCTYPE[^>]*>|<\/?([a-z][\w-]*)\b[^>]*?>/gi,i;for(;(i=r.exec(t))!==null;){let t=i[0],r=i[1]?.toLowerCase();if(!(!r||t.startsWith(`<!--`)||/^<!doctype/i.test(t))){if(t.startsWith(`</`)){if(n.length===0)return{valid:!1,error:`HTML语法错误:未找到标签 <${r}> 的开始标签`};let e=n.pop();if(e!==r)return{valid:!1,error:`HTML语法错误:标签不匹配,期望 </${e}>,实际 </${r}>`};continue}t.endsWith(`/>`)||e.has(r)||n.push(r)}}return n.length>0?{valid:!1,error:`HTML语法错误:标签 <${n[n.length-1]}> 未闭合`}:{valid:!0}}catch(e){return{valid:!1,error:`HTML解析错误:${e instanceof Error?e.message:`未知错误`}`}}}function v(e){let t=e.trim();if(!t)return{valid:!0};try{let e=0,n=!1,r=``;for(let i=0;i<t.length;i++){let a=t[i],o=i>0?t[i-1]:``;if((a===`"`||a===`'`)&&o!==`\\`&&(n?a===r&&(n=!1):(n=!0,r=a)),!n){if(a===`{`)e++;else if(a===`}`&&(e--,e<0))return{valid:!1,error:`CSS语法错误:多余的闭合大括号 }`}}}return e===0?n?{valid:!1,error:`CSS语法错误:未闭合的字符串`}:{valid:!0}:{valid:!1,error:e>0?`CSS语法错误:缺少闭合大括号 }`:`CSS语法错误:多余的闭合大括号 }`}}catch(e){return{valid:!1,error:`CSS解析错误:${e instanceof Error?e.message:`未知错误`}`}}}function y(e){let t=e.trim();if(!t)return{valid:!0};try{let e=[],n=!1,r=``,i=!1,a=!1,o=!1;for(let s=0;s<t.length;s++){let c=t[s],l=s>0?t[s-1]:``,u=s+1<t.length?t[s+1]:``;if(!n&&!i&&!a&&c===`/`&&u===`*`){o=!0,s++;continue}if(o){c===`*`&&u===`/`&&(o=!1,s++);continue}if(!n&&!i&&!o&&c===`/`&&u===`/`){a=!0;continue}if(a){c===`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as e}from"./button-BFNlGZ5p.js";var t=e(`table-2`,[[`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`,key:`gugj83`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,d as t,l as n,p as r}from"./button-BFNlGZ5p.js";r(t(),1);var i=e();function a({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`table-container`,className:`meddle-thin-scroll relative w-full overflow-x-auto`,children:(0,i.jsx)(`table`,{"data-slot":`table`,className:n(`w-full caption-bottom text-sm`,e),...t})})}function o({className:e,...t}){return(0,i.jsx)(`thead`,{"data-slot":`table-header`,className:n(`[&_tr]:border-b`,e),...t})}function s({className:e,...t}){return(0,i.jsx)(`tbody`,{"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function c({className:e,...t}){return(0,i.jsx)(`tr`,{"data-slot":`table-row`,className:n(`hover:bg-accent/60 hover:text-accent-foreground data-[state=selected]:bg-accent data-[state=selected]:text-accent-foreground border-b transition-colors`,e),...t})}function l({className:e,...t}){return(0,i.jsx)(`th`,{"data-slot":`table-head`,className:n(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function u({className:e,...t}){return(0,i.jsx)(`td`,{"data-slot":`table-cell`,className:n(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}export{o as a,l as i,s as n,c as o,u as r,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,d as t,l as n,p as r}from"./button-BFNlGZ5p.js";r(t(),1);var i=e();function a({className:e,...t}){return(0,i.jsx)(`textarea`,{"data-slot":`textarea`,className:n(`placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input w-full min-w-0 rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,`min-h-[80px]`,e),...t})}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as e}from"./button-BFNlGZ5p.js";var t=e(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as e}from"./button-BFNlGZ5p.js";var t=e(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as e}from"./button-BFNlGZ5p.js";var t=e(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{t};
|
package/web/dist/index.html
CHANGED
|
@@ -5,18 +5,23 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>web</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/button-
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
18
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
19
|
-
<link rel="
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-CkoYwomI.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/button-BFNlGZ5p.js">
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-CFZ4xMSF.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-C-E2R2jk.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-BCvvYbmI.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-DD7AvbXP.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-Bq2klZ3g.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-LiAcI8CK.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-BNcjMpca.js">
|
|
17
|
+
<link rel="modulepreload" crossorigin href="/assets/es2015-CRmLuA2o.js">
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-CRmX_NvH.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-UcOFuoN0.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-YM3jbhT-.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="/assets/check-BkfHQ6re.js">
|
|
22
|
+
<link rel="modulepreload" crossorigin href="/assets/chevron-down-DHwUtL4O.js">
|
|
23
|
+
<link rel="modulepreload" crossorigin href="/assets/ai-config-store-B_VpGvwx.js">
|
|
24
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CYUNdxqh.css">
|
|
20
25
|
</head>
|
|
21
26
|
<body>
|
|
22
27
|
<div id="root"></div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,f as n,n as r,u as i}from"./button-BTToMaBW.js";n(i(),1);var a=e(),o=t(`relative w-full rounded-lg border px-4 py-3 text-sm grid gap-1`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}});function s({className:e,variant:t,...n}){return(0,a.jsx)(`div`,{role:`alert`,className:r(o({variant:t}),e),...n})}function c({className:e,...t}){return(0,a.jsx)(`h5`,{className:r(`mb-1 font-medium leading-none tracking-tight`,e),...t})}function l({className:e,...t}){return(0,a.jsx)(`div`,{className:r(`text-sm [&_p]:leading-relaxed`,e),...t})}export{l as n,c as r,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./button-BTToMaBW.js";var t=e(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function ee(e,t){return E(e.type,t,e.props)}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function j(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function M(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,M(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+A(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(k,`$&/`)+`/`),M(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=ee(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+A(a,u),c+=M(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+A(a,u++),c+=M(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return M(j(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function N(e,t,n){if(e==null)return e;var r=[],i=0;return M(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function te(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var P=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ne={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!D(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ne,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=D,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:te}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,P)}catch(e){P(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),u=o(((e,t)=>{t.exports=l()})),d=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),f=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),p=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),m=e=>{let t=p(e);return t.charAt(0).toUpperCase()+t.slice(1)},h={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},g=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},_=c(u()),v=(0,_.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,_.createElement)(`svg`,{ref:c,...h,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:d(`lucide`,i),...!a&&!g(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,_.createElement)(e,t)),...Array.isArray(a)?a:[a]])),y=(e,t)=>{let n=(0,_.forwardRef)(({className:n,...r},i)=>(0,_.createElement)(v,{ref:i,iconNode:t,className:d(`lucide-${f(m(e))}`,`lucide-${e}`,n),...r}));return n.displayName=m(e),n};function b(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=b(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function x(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=b(e))&&(r&&(r+=` `),r+=t);return r}var S=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,C=x,w=(e,t)=>n=>{if(t?.variants==null)return C(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=S(t)||S(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return C(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function T(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function E(...e){return t=>{let n=!1,r=e.map(e=>{let r=T(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():T(e[t],null)}}}}function ee(...e){return _.useCallback(E(...e),e)}var D=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),O=o(((e,t)=>{t.exports=D()})),k=O();function A(e){let t=M(e),n=_.forwardRef((e,n)=>{let{children:r,...i}=e,a=_.Children.toArray(r),o=a.find(te);if(o){let e=o.props.children,r=a.map(t=>t===o?_.Children.count(e)>1?_.Children.only(null):_.isValidElement(e)?e.props.children:null:t);return(0,k.jsx)(t,{...i,ref:n,children:_.isValidElement(e)?_.cloneElement(e,void 0,r):null})}return(0,k.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var j=A(`Slot`);function M(e){let t=_.forwardRef((e,t)=>{let{children:n,...r}=e;if(_.isValidElement(n)){let e=ne(n),i=P(r,n.props);return n.type!==_.Fragment&&(i.ref=t?E(t,e):e),_.cloneElement(n,i)}return _.Children.count(n)>1?_.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var N=Symbol(`radix.slottable`);function te(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===N}function P(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function ne(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var F=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},I=(e,t)=>({classGroupId:e,validator:t}),L=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),R=`-`,re=[],z=`arbitrary..`,ie=e=>{let t=ae(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return V(e);let n=e.split(R);return B(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?F(i,t):t:i||re}return n[e]||re}}},B=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=B(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(R):e.slice(t).join(R),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},V=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?z+r:void 0})(),ae=e=>{let{theme:t,classGroups:n}=e;return H(n,t)},H=(e,t)=>{let n=L();for(let r in e){let i=e[r];oe(i,n,r,t)}return n},oe=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];se(i,t,n,r)}},se=(e,t,n,r)=>{if(typeof e==`string`){ce(e,t,n);return}if(typeof e==`function`){le(e,t,n,r);return}ue(e,t,n,r)},ce=(e,t,n)=>{let r=e===``?t:de(t,e);r.classGroupId=n},le=(e,t,n,r)=>{if(fe(e)){oe(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(I(n,e))},ue=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];oe(o,de(t,a),n,r)}},de=(e,t)=>{let n=e,r=t.split(R),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=L(),n.nextPart.set(t,i)),n=i}return n},fe=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,pe=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},me=`!`,he=`:`,ge=[],_e=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ve=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===he){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(me)?(c=s.slice(0,-1),l=!0):s.startsWith(me)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return _e(t,l,c,u)};if(t){let e=t+he,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):_e(ge,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},ye=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},be=e=>({cache:pe(e.cacheSize),parseClassName:ve(e),sortModifiers:ye(e),...ie(e)}),xe=/\s+/,Se=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(xe),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+me:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Ce=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=we(n))&&(i&&(i+=` `),i+=r);return i},we=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=we(e[r]))&&(n&&(n+=` `),n+=t);return n},Te=(e,...t)=>{let n,r,i,a,o=o=>(n=be(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Se(e,n);return i(e,a),a};return a=o,(...e)=>a(Ce(...e))},Ee=[],U=e=>{let t=t=>t[e]||Ee;return t.isThemeGetter=!0,t},De=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Oe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,ke=/^\d+\/\d+$/,Ae=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,je=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Me=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ne=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Pe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,W=e=>ke.test(e),G=e=>!!e&&!Number.isNaN(Number(e)),K=e=>!!e&&Number.isInteger(Number(e)),Fe=e=>e.endsWith(`%`)&&G(e.slice(0,-1)),q=e=>Ae.test(e),Ie=()=>!0,Le=e=>je.test(e)&&!Me.test(e),Re=()=>!1,ze=e=>Ne.test(e),Be=e=>Pe.test(e),Ve=e=>!J(e)&&!X(e),He=e=>Q(e,et,Re),J=e=>De.test(e),Y=e=>Q(e,tt,Le),Ue=e=>Q(e,nt,G),We=e=>Q(e,Qe,Re),Ge=e=>Q(e,$e,Be),Ke=e=>Q(e,it,ze),X=e=>Oe.test(e),Z=e=>$(e,tt),qe=e=>$(e,rt),Je=e=>$(e,Qe),Ye=e=>$(e,et),Xe=e=>$(e,$e),Ze=e=>$(e,it,!0),Q=(e,t,n)=>{let r=De.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},$=(e,t,n=!1)=>{let r=Oe.exec(e);return r?r[1]?t(r[1]):n:!1},Qe=e=>e===`position`||e===`percentage`,$e=e=>e===`image`||e===`url`,et=e=>e===`length`||e===`size`||e===`bg-size`,tt=e=>e===`length`,nt=e=>e===`number`,rt=e=>e===`family-name`,it=e=>e===`shadow`,at=Te(()=>{let e=U(`color`),t=U(`font`),n=U(`text`),r=U(`font-weight`),i=U(`tracking`),a=U(`leading`),o=U(`breakpoint`),s=U(`container`),c=U(`spacing`),l=U(`radius`),u=U(`shadow`),d=U(`inset-shadow`),f=U(`text-shadow`),p=U(`drop-shadow`),m=U(`blur`),h=U(`perspective`),g=U(`aspect`),_=U(`ease`),v=U(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),X,J],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[X,J,c],T=()=>[W,`full`,`auto`,...w()],E=()=>[K,`none`,`subgrid`,X,J],ee=()=>[`auto`,{span:[`full`,K,X,J]},K,X,J],D=()=>[K,`auto`,X,J],O=()=>[`auto`,`min`,`max`,`fr`,X,J],k=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],A=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],j=()=>[`auto`,...w()],M=()=>[W,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,X,J],te=()=>[...b(),Je,We,{position:[X,J]}],P=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ne=()=>[`auto`,`cover`,`contain`,Ye,He,{size:[X,J]}],F=()=>[Fe,Z,Y],I=()=>[``,`none`,`full`,l,X,J],L=()=>[``,G,Z,Y],R=()=>[`solid`,`dashed`,`dotted`,`double`],re=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],z=()=>[G,Fe,Je,We],ie=()=>[``,`none`,m,X,J],B=()=>[`none`,G,X,J],V=()=>[`none`,G,X,J],ae=()=>[G,X,J],H=()=>[W,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[q],breakpoint:[q],color:[Ie],container:[q],"drop-shadow":[q],ease:[`in`,`out`,`in-out`],font:[Ve],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[q],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[q],shadow:[q],spacing:[`px`,G],text:[q],"text-shadow":[q],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,W,J,X,g]}],container:[`container`],columns:[{columns:[G,J,X,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[K,`auto`,X,J]}],basis:[{basis:[W,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[G,W,`auto`,`initial`,`none`,J]}],grow:[{grow:[``,G,X,J]}],shrink:[{shrink:[``,G,X,J]}],order:[{order:[K,`first`,`last`,`none`,X,J]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:ee()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:ee()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":O()}],"auto-rows":[{"auto-rows":O()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...k(),`normal`]}],"justify-items":[{"justify-items":[...A(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...A()]}],"align-content":[{content:[`normal`,...k()]}],"align-items":[{items:[...A(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...A(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...A(),`baseline`]}],"place-self":[{"place-self":[`auto`,...A()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,Z,Y]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,X,Ue]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Fe,J]}],"font-family":[{font:[qe,J,t]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,X,J]}],"line-clamp":[{"line-clamp":[G,`none`,X,Ue]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,X,J]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,X,J]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...R(),`wavy`]}],"text-decoration-thickness":[{decoration:[G,`from-font`,`auto`,X,Y]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[G,`auto`,X,J]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,X,J]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,X,J]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:te()}],"bg-repeat":[{bg:P()}],"bg-size":[{bg:ne()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},K,X,J],radial:[``,X,J],conic:[K,X,J]},Xe,Ge]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:L()}],"border-w-x":[{"border-x":L()}],"border-w-y":[{"border-y":L()}],"border-w-s":[{"border-s":L()}],"border-w-e":[{"border-e":L()}],"border-w-t":[{"border-t":L()}],"border-w-r":[{"border-r":L()}],"border-w-b":[{"border-b":L()}],"border-w-l":[{"border-l":L()}],"divide-x":[{"divide-x":L()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":L()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...R(),`hidden`,`none`]}],"divide-style":[{divide:[...R(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...R(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[G,X,J]}],"outline-w":[{outline:[``,G,Z,Y]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`none`,u,Ze,Ke]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,Ze,Ke]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:L()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[G,Y]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":L()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,Ze,Ke]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[G,X,J]}],"mix-blend":[{"mix-blend":[...re(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":re()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[G]}],"mask-image-linear-from-pos":[{"mask-linear-from":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[X,J]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[G]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:te()}],"mask-repeat":[{mask:P()}],"mask-size":[{mask:ne()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,X,J]}],filter:[{filter:[``,`none`,X,J]}],blur:[{blur:ie()}],brightness:[{brightness:[G,X,J]}],contrast:[{contrast:[G,X,J]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Ze,Ke]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,G,X,J]}],"hue-rotate":[{"hue-rotate":[G,X,J]}],invert:[{invert:[``,G,X,J]}],saturate:[{saturate:[G,X,J]}],sepia:[{sepia:[``,G,X,J]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,X,J]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[G,X,J]}],"backdrop-contrast":[{"backdrop-contrast":[G,X,J]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,G,X,J]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[G,X,J]}],"backdrop-invert":[{"backdrop-invert":[``,G,X,J]}],"backdrop-opacity":[{"backdrop-opacity":[G,X,J]}],"backdrop-saturate":[{"backdrop-saturate":[G,X,J]}],"backdrop-sepia":[{"backdrop-sepia":[``,G,X,J]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,X,J]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[G,`initial`,X,J]}],ease:[{ease:[`linear`,`initial`,_,X,J]}],delay:[{delay:[G,X,J]}],animate:[{animate:[`none`,v,X,J]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,X,J]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:B()}],"rotate-x":[{"rotate-x":B()}],"rotate-y":[{"rotate-y":B()}],"rotate-z":[{"rotate-z":B()}],scale:[{scale:V()}],"scale-x":[{"scale-x":V()}],"scale-y":[{"scale-y":V()}],"scale-z":[{"scale-z":V()}],"scale-3d":[`scale-3d`],skew:[{skew:ae()}],"skew-x":[{"skew-x":ae()}],"skew-y":[{"skew-y":ae()}],transform:[{transform:[X,J,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:H()}],"translate-x":[{"translate-x":H()}],"translate-y":[{"translate-y":H()}],"translate-z":[{"translate-z":H()}],"translate-none":[`translate-none`],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,X,J]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,X,J]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[G,Z,Y,Ue]}],stroke:[{stroke:[`none`,...N()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function ot(...e){return at(x(e))}var st=w(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-foreground text-background hover:bg-primary hover:text-primary-foreground`,selected:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input`,secondary:`bg-secondary text-secondary-foreground hover:bg-accent hover:text-accent-foreground`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-foreground underline-offset-4 hover:text-primary hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,xs:`h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-xs":`size-6 rounded-md [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function ct({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,k.jsx)(r?j:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:ot(st({variant:t,size:n,className:e})),...i})}export{O as a,w as c,o as d,c as f,A as i,y as l,ot as n,E as o,j as r,ee as s,ct as t,u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,f as t,l as n,n as r,s as i,u as a}from"./button-BTToMaBW.js";import{a as o,o as s,r as c,t as l}from"./dist-C6eaYCUo.js";import{t as u}from"./dist-C5nMErq8.js";import{n as d,t as f}from"./dist-D5Dj17P8.js";import{mt as p}from"./index-DhzkcDnh.js";var m=n(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),h=t(a(),1),g=e(),_=`Checkbox`,[v,y]=o(_),[b,x]=v(_);function S(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:u,value:d=`on`,internal_do_not_use_render:f}=e,[p,m]=l({prop:n,defaultProp:i??!1,onChange:c,caller:_}),[v,y]=h.useState(null),[x,S]=h.useState(null),C=h.useRef(!1),w=v?!!o||!!v.closest(`form`):!0,T={checked:p,disabled:a,setChecked:m,control:v,setControl:y,name:s,form:o,value:d,hasConsumerStoppedPropagationRef:C,required:u,defaultChecked:j(i)?!1:i,isFormControl:w,bubbleInput:x,setBubbleInput:S};return(0,g.jsx)(b,{scope:t,...T,children:A(f)?f(T):r})}var C=`CheckboxTrigger`,w=h.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},a)=>{let{control:o,value:l,disabled:u,checked:d,required:f,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:_,isFormControl:v,bubbleInput:y}=x(C,e),b=i(a,p),S=h.useRef(d);return h.useEffect(()=>{let e=o?.form;if(e){let t=()=>m(S.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[o,m]),(0,g.jsx)(s.button,{type:`button`,role:`checkbox`,"aria-checked":j(d)?`mixed`:d,"aria-required":f,"data-state":M(d),"data-disabled":u?``:void 0,disabled:u,value:l,...r,ref:b,onKeyDown:c(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:c(n,e=>{m(e=>j(e)?!0:!e),y&&v&&(_.current=e.isPropagationStopped(),_.current||e.stopPropagation())})})});w.displayName=C;var T=h.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,g.jsx)(S,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(w,{...d,ref:t,__scopeCheckbox:n}),e&&(0,g.jsx)(k,{__scopeCheckbox:n})]})})});T.displayName=_;var E=`CheckboxIndicator`,D=h.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=x(E,n);return(0,g.jsx)(u,{present:r||j(a.checked)||a.checked===!0,children:(0,g.jsx)(s.span,{"data-state":M(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});D.displayName=E;var O=`CheckboxBubbleInput`,k=h.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:a,checked:o,defaultChecked:c,required:l,disabled:u,name:p,value:m,form:_,bubbleInput:v,setBubbleInput:y}=x(O,e),b=i(n,y),S=d(o),C=f(r);h.useEffect(()=>{let e=v;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!a.current;if(S!==o&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=j(o),n.call(e,j(o)?!1:o),e.dispatchEvent(t)}},[v,S,o,a]);let w=h.useRef(j(o)?!1:o);return(0,g.jsx)(s.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:c??w.current,required:l,disabled:u,name:p,value:m,form:_,...t,tabIndex:-1,ref:b,style:{...t.style,...C,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});k.displayName=O;function A(e){return typeof e==`function`}function j(e){return e===`indeterminate`}function M(e){return j(e)?`indeterminate`:e?`checked`:`unchecked`}function N({className:e,...t}){return(0,g.jsx)(T,{"data-slot":`checkbox`,className:r(`peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,g.jsx)(D,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,g.jsx)(p,{className:`size-3.5`})})})}export{m as n,N as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./button-BTToMaBW.js";var t=e(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./button-BTToMaBW.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./button-BTToMaBW.js";var t=e(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]);export{t};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import{i as e,o as t,r as n}from"./ai-config-store-DQXVJVn_.js";import{vt as r}from"./index-DhzkcDnh.js";import{i}from"./syntax-highlight-BHsSDUha.js";function a(e){let t=e.trim();if(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`))try{return JSON.parse(t),`json`}catch{}return t.startsWith(`<!DOCTYPE`)||t.startsWith(`<html`)||/<[a-z][\s\S]*>/i.test(t)?`html`:/[a-z-]+\s*\{[\s\S]*\}/i.test(t)||/@(media|keyframes|import|font-face)/i.test(t)?`css`:/(function|const|let|var|class|import|export|=>)/i.test(t)?`javascript`:`unknown`}function o(e){let t=0,n=e.replace(/><>/g,`>
|
|
2
|
-
<`).split(`
|
|
3
|
-
`),r=[];for(let e of n){let n=e.trim();n&&(n.startsWith(`</`)&&(t=Math.max(0,t-1)),r.push(` `.repeat(t)+n),n.startsWith(`<`)&&!n.startsWith(`</`)&&!n.startsWith(`<?`)&&!n.endsWith(`/>`)&&(/<(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\b/i.test(n)||t++))}return r.join(`
|
|
4
|
-
`)}function s(e){return e.replace(/\s*{\s*/g,` {
|
|
5
|
-
`).replace(/\s*}\s*/g,`
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
`).replace(/\s*;\s*/g,`;
|
|
9
|
-
`).trim()}function c(e){let t=0,n=[],r=0;for(;r<e.length;){let i=e[r],a=e[r+1];if(i===`/`&&a===`/`){let i=e.indexOf(`
|
|
10
|
-
`,r);if(i===-1)break;n.push(` `.repeat(t)+e.slice(r,i).trim()),r=i+1;continue}if(i===`/`&&a===`*`){let i=e.indexOf(`*/`,r);if(i===-1)break;let a=e.slice(r,i+2);n.push(` `.repeat(t)+a),r=i+2;continue}if(i===`"`||i===`'`||i==="`"){let a=i,o=a;for(r++;r<e.length;)if(e[r]===`\\`&&r+1<e.length)o+=e[r]+e[r+1],r+=2;else if(e[r]===a){o+=a,r++;break}else o+=e[r],r++;n.push(` `.repeat(t)+o);continue}if(i===`{`){n.push(` `.repeat(t)+`{`),t++,r++;continue}if(i===`}`){t=Math.max(0,t-1),n.push(` `.repeat(t)+`}`),r++;continue}let o=``;for(;r<e.length&&e[r]!==`
|
|
11
|
-
`&&!`{}`.includes(e[r]);)o+=e[r],r++;o.trim()&&n.push(` `.repeat(t)+o.trim()),e[r]===`
|
|
12
|
-
`&&r++}return n.join(`
|
|
13
|
-
`)}async function l(e,t){try{let n=r(()=>import(`./standalone-CjxtLKw-.js`),[]),i=t===`css`?[r(()=>import(`./postcss-Dnf30fQU.js`),[])]:t===`html`?[r(()=>import(`./html-6FIWbqxX.js`),[]),r(()=>import(`./babel-DsprIpXZ.js`),[]),r(()=>import(`./estree-BP7k0NIt.js`),[]),r(()=>import(`./postcss-Dnf30fQU.js`),[])]:[r(()=>import(`./babel-DsprIpXZ.js`),[]),r(()=>import(`./estree-BP7k0NIt.js`),[])],[a,...o]=await Promise.all([n,...i]);return(await a.format(e,{parser:t===`json`?`json-stringify`:t,plugins:o.map(e=>e.default),printWidth:80,tabWidth:2,useTabs:!1,semi:!0,singleQuote:!0,trailingComma:`es5`,bracketSpacing:!0,arrowParens:`always`})).trim()}catch(n){if(t===`json`)try{let t=JSON.parse(e);return JSON.stringify(t,null,2)}catch{throw Error(`JSON格式错误,无法解析`)}else if(t===`html`)return o(e);else if(t===`css`)return s(e);else if(t===`babel`)return c(e);let r=n instanceof Error?n.message:`未知错误`;throw Error(`格式化失败: ${r}`)}}async function u(e){let t=a(e);try{let n,r;switch(t){case`json`:n=await l(e,`json`),r=`JSON`;break;case`html`:n=await l(e,`html`),r=`HTML`;break;case`css`:n=await l(e,`css`),r=`CSS`;break;case`javascript`:n=await l(e,`babel`),r=`JavaScript`;break;default:n=e,r=`Unknown`}return{formatted:n,type:r}}catch(e){throw Error(`格式化失败: ${e instanceof Error?e.message:`未知错误`}`)}}function d(e,t){let n=e;switch(t){case`json`:n=f(n),n=p(n);break;case`javascript`:n=m(n),n=h(n);break;case`html`:n=g(n);break;case`css`:n=_(n);break}return n}function f(e){let t=e.replace(/'/g,`"`);return t=t.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)\s*:/g,`$1"$2":`),t}function p(e){return e.replace(/,(\s*[}\]])/g,`$1`)}function m(e){let t={"{":`}`,"[":`]`,"(":`)`},n=[],r=!1,i=``;for(let a=0;a<e.length;a++){let o=e[a],s=a>0?e[a-1]:``;if((o===`"`||o===`'`||o==="`")&&s!==`\\`&&(r?o===i&&(r=!1):(r=!0,i=o)),!r){if(o in t)n.push(o);else if(Object.values(t).includes(o)){let e=Object.keys(t).find(e=>t[e]===o);n.length>0&&n[n.length-1]===e&&n.pop()}}}let a=e;for(;n.length>0;){let e=t[n.pop()];a+=e}return a}function h(e){let t=e,n={'"':0,"'":0,"`":0};for(let t of e)(t===`"`||t===`'`||t==="`")&&n[t]++;return n[`"`]%2!=0&&(t+=`"`),n[`'`]%2!=0&&(t+=`'`),n["`"]%2!=0&&(t+="`"),t}function g(e){let t=[],n=[`br`,`hr`,`img`,`input`,`link`,`meta`,`area`,`base`,`col`,`embed`,`param`,`source`,`track`,`wbr`],r=/<\/?([a-z][\w-]*)\b[^>]*>/gi,i;for(;(i=r.exec(e))!==null;){let e=i[0],r=i[1].toLowerCase(),a=e.endsWith(`/>`)||n.includes(r);e.startsWith(`</`)?t.length>0&&t[t.length-1]===r&&t.pop():a||t.push(r)}let a=e;for(;t.length>0;){let e=t.pop();a+=`</${e}>`}return a}function _(e){let t=0,n=!1,r=``;for(let i=0;i<e.length;i++){let a=e[i],o=i>0?e[i-1]:``;(a===`"`||a===`'`)&&o!==`\\`&&(n?a===r&&(n=!1):(n=!0,r=a)),n||(a===`{`?t++:a===`}`&&t--)}let i=e;for(;t>0;)i+=`
|
|
14
|
-
}`,t--;return i}async function v(r,a=!1){if(!r.trim())return{fixed:r,method:`none`,success:!0};let o=i(r);if(!a&&o.valid)return{fixed:r,method:`none`,success:!0};let s=o.type?.toLowerCase();(!s||s===`text`)&&(s=y(r)),(!s||s===`text`)&&(s=`json`);let c=s,l=n();if(t(l))try{let t=e(l),n=await C(r,c,t?{provider:t.provider,apiKey:t.apiKey,baseUrl:t.baseUrl,model:t.model}:{provider:l.provider,apiKey:l.apiKey,baseUrl:l.baseUrl,model:l.model}),a=i(n);return a.valid?{fixed:n,method:`ai`,success:!0}:{fixed:n,method:`ai`,success:a.valid}}catch(e){console.warn(`AI修复失败:`,e)}let u=d(r,c);return{fixed:u,method:`rules`,success:i(u).valid}}function y(e){let t=e.trim();return t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`)?`json`:t.startsWith(`<`)&&t.includes(`>`)?`html`:t.includes(`{`)&&t.includes(`}`)&&t.includes(`:`)?`css`:`text`}async function b(e,t,n){let r=`You are a code fixing assistant. Fix syntax errors in ${t.toUpperCase()} code. Return only the fixed code without explanations or markdown formatting.`,i=`Please fix the syntax errors in the following ${t.toUpperCase()} code. Return ONLY the fixed code without any explanations:
|
|
15
|
-
|
|
16
|
-
${e}`,a=await fetch(n.baseUrl,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n.apiKey}`},body:JSON.stringify({model:n.model,messages:[{role:`system`,content:r},{role:`user`,content:i}],temperature:.3,max_tokens:2e3})});if(!a.ok){let e=await a.text();throw Error(`OpenAI API错误 (${a.status}): ${e}`)}let o=(await a.json()).choices?.[0]?.message?.content?.trim();if(!o)throw Error(`OpenAI返回了空结果`);return S(o)}async function x(e,t,n){let r=`You are a code fixing assistant. Fix syntax errors in ${t.toUpperCase()} code. Return only the fixed code without explanations or markdown formatting.`,i=`Please fix the syntax errors in the following ${t.toUpperCase()} code. Return ONLY the fixed code without any explanations:
|
|
17
|
-
|
|
18
|
-
${e}`,a=await fetch(n.baseUrl,{method:`POST`,headers:{"Content-Type":`application/json`,"x-api-key":n.apiKey,"anthropic-version":`2023-06-01`},body:JSON.stringify({model:n.model,max_tokens:2e3,system:r,messages:[{role:`user`,content:i}],temperature:.3})});if(!a.ok){let e=await a.text();throw Error(`Anthropic API错误 (${a.status}): ${e}`)}let o=(await a.json()).content?.[0]?.text?.trim();if(!o)throw Error(`Anthropic返回了空结果`);return S(o)}function S(e){let t=e.replace(/^```[a-z]*\n?/i,``).replace(/\n?```$/i,``).trim(),n=t.split(`
|
|
19
|
-
`);return n.length>0&&!n[0].trim().match(/^[{<[a-z@]/i)&&(n.shift(),t=n.join(`
|
|
20
|
-
`).trim()),t}async function C(e,t,n){return n.provider===`anthropic`?x(e,t,n):b(e,t,n)}export{u as n,v as t};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as e,f as t,l as n,t as r,u as i}from"./button-BTToMaBW.js";import"./dist-C6eaYCUo.js";import{t as a}from"./arrow-right-B4Mrlj2-.js";import{t as o}from"./chevron-down-CPngAx4M.js";import{t as s}from"./chevron-right-V1DGIDbL.js";import{t as c}from"./circle-x-C9USji_R.js";import{n as l,t as u}from"./server-Cpj4KNwN.js";import{t as d}from"./copy-BYjq1hdN.js";import{t as f}from"./shield-check-OqUmVLQt.js";import{t as p}from"./wand-sparkles-wkul5vje.js";import"./es2015-CfXu88Y7.js";import{B as m,H as h,S as g,U as _,V as v,_t as y,at as b,et as x,g as S,gt as C,h as w,m as T,mt as E,ot as ee,u as D,v as O,x as k,y as A,z as j}from"./index-DhzkcDnh.js";import{n as M,t as N}from"./body-diff-view-D7dCWajG.js";import{n as te,t as ne}from"./syntax-highlight-BHsSDUha.js";import{t as re}from"./clipboard-Dz6MgwV-.js";var ie=n(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),ae=n(`flag`,[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`,key:`1jaruq`}]]),P=n(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),F=t(i(),1);function I(e){return Object.entries(e||{}).map(([e,t])=>`${e}: ${t}`).join(`
|
|
2
|
-
`)}var L=e(),R=2e3;function z({text:e,label:t}){let[n,i]=(0,F.useState)(!1),a=(0,F.useRef)(null);async function o(){try{await re(e),i(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>i(!1),R),D.success(`已复制${t}`)}catch{D.error(`复制${t}失败,请手动选择复制`)}}return(0,L.jsxs)(r,{variant:`ghost`,size:`sm`,className:`h-6 px-2 text-[11px] text-muted-foreground hover:text-foreground`,"aria-label":n?`复制${t}成功`:`复制${t}`,onClick:()=>void o(),children:[n?(0,L.jsx)(E,{className:`h-3 w-3 mr-1 text-green-600`}):(0,L.jsx)(d,{className:`h-3 w-3 mr-1`}),n?`已复制`:`复制`]})}function B({body:e}){let[t,n]=(0,F.useState)(`source`),r=(0,F.useMemo)(()=>ne(e||``)===`json`,[e]),i=(0,F.useMemo)(()=>{if(!r)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},[e,r]),a=(0,F.useMemo)(()=>te(t===`formatted`?i:e,r?`json`:void 0),[e,i,t,r]);return e?(0,L.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r?(0,L.jsx)(m,{value:t,onValueChange:e=>n(e),className:`w-fit`,children:(0,L.jsxs)(h,{className:`h-6 px-1`,children:[(0,L.jsx)(_,{value:`source`,className:`h-6 px-2 text-[11px]`,children:`源数据`}),(0,L.jsx)(_,{value:`formatted`,className:`h-6 px-2 text-[11px]`,children:`格式化`})]})}):(0,L.jsx)(`span`,{}),(0,L.jsx)(z,{text:e,label:`Body`})]}),(0,L.jsx)(`div`,{className:`font-mono text-xs bg-muted/30 rounded p-2 overflow-x-auto`,children:(0,L.jsx)(`pre`,{className:`whitespace-pre`,children:a})})]}):(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground py-2`,children:`无内容`})}function V({headers:e}){let t=Object.entries(e||{});return t.length===0?(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground py-2`,children:`无头部信息`}):(0,L.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,L.jsx)(`div`,{className:`flex justify-end`,children:(0,L.jsx)(z,{text:I(e),label:`Headers`})}),(0,L.jsx)(`div`,{className:`font-mono text-xs space-y-0.5`,children:t.map(([e,t])=>(0,L.jsxs)(`div`,{className:`flex gap-2 py-0.5 hover:bg-muted/50 px-1 rounded`,children:[(0,L.jsxs)(`span`,{className:`text-purple-600 shrink-0 font-semibold`,children:[e,`:`]}),(0,L.jsx)(`span`,{className:`text-foreground/80 break-all`,children:t})]},e))})]})}function H(e){return e>=200&&e<300?`bg-green-100 text-green-800`:e>=300&&e<400?`bg-blue-100 text-blue-800`:e>=400&&e<500?`bg-amber-100 text-amber-800`:e>=500?`bg-red-100 text-red-800`:``}function U(e){switch(e){case`ok`:return`bg-green-100 text-green-800 border-green-200`;case`error`:return`bg-red-100 text-red-800 border-red-200`;case`skipped`:return`bg-amber-100 text-amber-800 border-amber-200`;case`short-circuited`:return`bg-blue-100 text-blue-800 border-blue-200`;default:return``}}function W(e){switch(e){case`ok`:return`通过`;case`error`:return`异常`;case`skipped`:return`跳过`;case`short-circuited`:return`已短路返回`;default:return e}}function G(e){switch(e){case`builtin`:return`内置`;case`custom`:return`自定义`;case`system`:return`系统`;default:return e}}function K(e){return e.replace(/^builtin\./,``).replace(/^custom\./,``)}function q(e,t){return`${t}-${e.hook}-${e.name}`}function J(e){return e===`onBeforeResponse`||e===`onAfterResponse`?`response`:`request`}function oe(e,t){return Array.from(new Set([...Object.keys(e),...Object.keys(t)])).sort().map(n=>({key:n,before:e[n]??``,after:t[n]??``})).filter(e=>e.before!==e.after)}function Y({lines:e,className:t}){return e.length===0?(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,L.jsx)(`div`,{className:`rounded-lg border bg-muted/20 p-2 text-xs font-mono space-y-1 ${t||``}`,children:e.map((e,t)=>(0,L.jsxs)(`div`,{className:`whitespace-pre-wrap break-all px-2 py-1 rounded ${e.type===`added`?`bg-green-500/10 text-green-700 dark:text-green-300`:`bg-red-500/10 text-red-700 dark:text-red-300`}`,children:[(0,L.jsx)(`span`,{className:`mr-1`,children:e.type===`added`?`+ `:`- `}),e.text]},`${e.type}-${t}-${e.text}`))})}function X(e,t,n){let r=[];return t!==void 0&&t!==``&&r.push({type:`removed`,text:`${e} ${t}`}),n!==void 0&&n!==``&&r.push({type:`added`,text:`${e} ${n}`}),r}function se(e,t){let n=[];return e!==void 0&&e!==``&&n.push({type:`removed`,text:e}),t!==void 0&&t!==``&&n.push({type:`added`,text:t}),n}function ce(e){let t=e.replace(/\r\n/g,`
|
|
3
|
-
`).split(`
|
|
4
|
-
`);return t[t.length-1]===``&&t.pop(),t.length>0?t:[``]}function Z(e){if(!e)return!1;if(/^\(binary(?:,\s*\d+\s+bytes)?\)$/i.test(e.trim()))return!0;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);r===9||r===10||r===13||(r<32||r===65533)&&(t+=1)}return t>0&&t/Math.max(e.length,1)>.15}function Q({before:e,after:t}){let[n,i]=(0,F.useState)(!1),a=(0,F.useMemo)(()=>oe(e,t),[e,t]),c=(0,F.useMemo)(()=>a.flatMap(e=>X(e.key,e.before,e.after)),[a]);return c.length===0?(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(Y,{lines:c}),(0,L.jsxs)(r,{variant:`ghost`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:()=>i(e=>!e),children:[n?(0,L.jsx)(o,{className:`h-3.5 w-3.5 mr-1`}):(0,L.jsx)(s,{className:`h-3.5 w-3.5 mr-1`}),n?`收起完整头部`:`展开完整头部`]}),n&&(0,L.jsxs)(`div`,{className:`grid gap-2 md:grid-cols-2`,children:[(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2 text-xs font-mono`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`变更前`}),(0,L.jsx)(V,{headers:e})]}),(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2 text-xs font-mono`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`变更后`}),(0,L.jsx)(V,{headers:t})]})]})]})}function le({before:e,after:t}){let[n,i]=(0,F.useState)(!1),a=(0,F.useMemo)(()=>M(e||``,t||``).filter(e=>e.added||e.removed),[e,t]),c=(0,F.useMemo)(()=>Z(e||``)||Z(t||``),[e,t]),l=(0,F.useMemo)(()=>c?se(e||``,t||``):a.flatMap(e=>ce(e.value).map(t=>({type:e.added?`added`:`removed`,text:t}))),[e,t,a,c]);return l.length===0?(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`无变更`}):(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(z,{text:e,label:`变更前 Body`}),(0,L.jsx)(z,{text:t,label:`变更后 Body`})]}),(0,L.jsx)(Y,{lines:l,className:`max-h-40 overflow-auto`}),!c&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(r,{variant:`ghost`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:()=>i(e=>!e),children:[n?(0,L.jsx)(o,{className:`h-3.5 w-3.5 mr-1`}):(0,L.jsx)(s,{className:`h-3.5 w-3.5 mr-1`}),n?`收起完整 Diff`:`展开完整 Diff`]}),n&&(0,L.jsx)(N,{original:e,modified:t,mode:`inline`,maxHeight:`220px`})]})]})}function ue({stage:e}){let t=e.changes;return t?(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(t.targetBefore||t.targetAfter)&&(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Request URL Diff`}),(0,L.jsx)(Y,{lines:X(`Request URL`,t.targetBefore,t.targetAfter||t.target)})]}),(t.requestHeadersBefore||t.requestHeadersAfter)&&(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Request Header Diff`}),(0,L.jsx)(Q,{before:t.requestHeadersBefore||{},after:t.requestHeadersAfter||{}})]}),(t.responseStatusCodeBefore!==void 0||t.responseStatusCodeAfter!==void 0)&&(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Status Diff`}),(0,L.jsx)(Y,{lines:X(`Response Status`,t.responseStatusCodeBefore,t.responseStatusCodeAfter??t.responseStatusCode)})]}),(t.responseHeadersBefore||t.responseHeadersAfter)&&(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Header Diff`}),(0,L.jsx)(Q,{before:t.responseHeadersBefore||{},after:t.responseHeadersAfter||{}})]}),(t.responseBodyBefore!==void 0||t.responseBodyAfter!==void 0)&&(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-2`,children:`Response Body Diff`}),(0,L.jsx)(le,{before:t.responseBodyBefore||``,after:t.responseBodyAfter||t.responseBody||``})]})]}):null}function de({stage:e,index:t,isLast:n,accentClass:i}){let[a,c]=(0,F.useState)(e.status!==`skipped`);return(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsxs)(`div`,{className:`rounded-xl border bg-background/90 p-3 space-y-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,L.jsxs)(`div`,{className:`space-y-1 min-w-0`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,L.jsx)(r,{variant:`ghost`,size:`sm`,className:`h-6 px-1 text-xs`,onClick:()=>c(e=>!e),title:a?`收起`:`展开`,children:a?(0,L.jsx)(o,{className:`h-3.5 w-3.5`}):(0,L.jsx)(s,{className:`h-3.5 w-3.5`})}),(0,L.jsxs)(`span`,{className:`font-medium text-sm`,children:[t+1,`. `,K(e.name)]}),(0,L.jsx)(j,{variant:`outline`,className:`text-xs font-normal`,children:e.hook}),(0,L.jsx)(j,{variant:`outline`,className:`text-xs font-normal`,children:G(e.type)})]}),(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.status===`short-circuited`?`这一阶段直接生成了响应,请求不会继续往后转发。`:e.status===`error`?`这一阶段执行失败,影响了后续处理流程。`:`这一阶段执行完成,请求继续进入下一步。`})]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,L.jsx)(j,{className:`text-xs border ${U(e.status)}`,children:W(e.status)}),(0,L.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[e.duration,`ms`]})]})]}),a&&(0,L.jsxs)(L.Fragment,{children:[e.target&&(0,L.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-2`,children:[(0,L.jsx)(`div`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground mb-1`,children:`当前 Target`}),(0,L.jsx)(`div`,{className:`font-mono text-xs break-all`,children:e.target})]}),(0,L.jsx)(ue,{stage:e}),e.error&&(0,L.jsxs)(`div`,{className:`rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700`,children:[`Error: `,e.error]})]})]}),!n&&(0,L.jsx)(`div`,{className:`flex justify-center py-1`,children:(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,L.jsx)(`div`,{className:`h-2.5 w-2.5 rounded-full ${i} animate-pulse`}),(0,L.jsx)(C,{className:`h-4 w-4 ${i} animate-bounce`})]})})]})}function $({title:e,description:t,stages:n,icon:r,roleLabel:i,roleIcon:a,accentClass:o}){return(0,L.jsxs)(`div`,{className:`rounded-xl border bg-card p-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`flex items-center gap-2 mb-2`,children:(0,L.jsxs)(j,{variant:`outline`,className:`text-[11px] font-normal`,children:[(0,L.jsx)(`span`,{className:`mr-1`,children:a}),i]})}),(0,L.jsxs)(`h4`,{className:`text-sm font-semibold flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:o,children:r}),e]}),(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:t})]}),(0,L.jsxs)(j,{variant:`outline`,className:`text-xs`,children:[n.length,` 个阶段`]})]}),n.length===0?(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`无阶段信息`}):(0,L.jsx)(`div`,{className:`space-y-3`,children:n.map(({stage:e,index:t},r)=>(0,L.jsx)(de,{stage:e,index:t,isLast:r===n.length-1,accentClass:o},q(e,t)))})]})}function fe(e){let t=[...e.stages].reverse().find(e=>e.status===`short-circuited`);if(t)return{label:`提前返回响应`,description:`在 ${K(t.name)} 阶段直接生成响应`,icon:(0,L.jsx)(ie,{className:`h-4 w-4 text-blue-500`})};let n=[...e.stages].reverse().find(e=>e.status===`error`);return n?{label:`处理过程中出现异常`,description:`${K(n.name)} 执行失败`,icon:(0,L.jsx)(c,{className:`h-4 w-4 text-red-500`})}:{label:`进入正常代理流程`,description:`请求经过检查后继续转发到目标服务`,icon:(0,L.jsx)(a,{className:`h-4 w-4 text-emerald-500`})}}function pe({inspection:e}){let t=fe(e),n=e.stages.map((e,t)=>({stage:e,index:t})),r=n.filter(({stage:e})=>J(e.hook)===`request`),i=n.filter(({stage:e})=>J(e.hook)===`response`);return(0,L.jsxs)(`div`,{className:`space-y-4 pt-3`,children:[(0,L.jsxs)(`div`,{className:`rounded-xl border bg-gradient-to-br from-muted/20 via-background to-muted/10 p-4 space-y-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-4 text-sm`,children:[(0,L.jsx)(j,{variant:`outline`,className:`font-mono`,children:e.method}),(0,L.jsx)(`span`,{className:`font-mono text-muted-foreground truncate flex-1`,children:e.url}),(0,L.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,L.jsx)(l,{className:`h-3.5 w-3.5`}),(0,L.jsxs)(`span`,{className:`text-xs`,children:[e.totalDuration,`ms`]})]})]}),(0,L.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,L.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[(0,L.jsx)(P,{className:`h-3.5 w-3.5`}),`请求入口`]}),(0,L.jsx)(`div`,{className:`text-sm font-medium`,children:`请求进入代理`}),(0,L.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`从浏览器或客户端发起,进入 Meddle 的处理流水线`})]}),(0,L.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[(0,L.jsx)(f,{className:`h-3.5 w-3.5`}),`处理阶段`]}),(0,L.jsxs)(`div`,{className:`text-sm font-medium`,children:[e.stages.length,` 个阶段`]}),(0,L.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:`按实际执行顺序记录插件和系统模块对请求的处理`})]}),(0,L.jsxs)(`div`,{className:`rounded-lg border bg-background/80 p-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground mb-1`,children:[t.icon,`最终结果`]}),(0,L.jsx)(`div`,{className:`text-sm font-medium`,children:t.label}),(0,L.jsx)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:t.description})]})]})]}),e.stages.length===0?(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`无处理阶段信息(插件模式可能未开启)`}):(0,L.jsxs)(`div`,{className:`space-y-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,L.jsx)(ae,{className:`h-3.5 w-3.5`}),(0,L.jsx)(`span`,{children:`默认仅展示改动内容;跳过阶段默认折叠,可单独展开查看更多。`})]}),(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)($,{title:`请求阶段`,description:`客户端请求进入代理后,按顺序执行请求侧处理阶段`,stages:r,icon:(0,L.jsx)(P,{className:`h-4 w-4 text-blue-500`}),roleLabel:`客户端`,roleIcon:(0,L.jsx)(b,{className:`h-3 w-3 text-blue-500`}),accentClass:`text-blue-500`}),(0,L.jsx)($,{title:`响应阶段`,description:`服务器响应返回代理后,按顺序执行响应侧处理阶段`,stages:i,icon:(0,L.jsx)(y,{className:`h-4 w-4 text-emerald-500`}),roleLabel:`服务器`,roleIcon:(0,L.jsx)(u,{className:`h-3 w-3 text-emerald-500`}),accentClass:`text-emerald-500`})]}),(0,L.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-xs text-muted-foreground`,children:[(0,L.jsx)(`span`,{children:`请求进入`}),(0,L.jsx)(a,{className:`h-4 w-4 animate-pulse text-blue-500`}),(0,L.jsx)(`span`,{children:`请求阶段`}),(0,L.jsx)(a,{className:`h-4 w-4 animate-pulse text-violet-500`}),(0,L.jsx)(`span`,{children:`响应阶段`}),(0,L.jsx)(a,{className:`h-4 w-4 animate-pulse text-emerald-500`}),(0,L.jsx)(`span`,{children:`最终返回`})]})]})]})}function me({open:e=!1,onClose:t,embedded:n=!1,detail:i,loading:a,error:o,selectedRecord:s,onCreateMock:c,onReplay:l}){let[u,d]=(0,F.useState)(!1),f=()=>{i&&s&&c&&c({source:s.source,responseBody:i.responseBody,statusCode:i.statusCode,responseHeaders:i.responseHeaders})},[b,C]=(0,F.useState)(null),E=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(O,{className:`px-4 pt-4 pb-2`,children:(0,L.jsxs)(A,{className:`flex items-center gap-2 text-base`,children:[`请求详情`,i&&(0,L.jsxs)(j,{className:`${H(i.statusCode)} border-0`,children:[i.statusCode,` `,i.statusMessage]}),s?.clientType&&(0,L.jsxs)(j,{variant:`outline`,className:`max-w-48 text-[10px] font-mono`,title:[s.clientName,s.clientIp].filter(Boolean).join(` · `),children:[s.clientName||(s.clientType===`local`?`本机`:s.clientType===`plugin`?`插件测试`:`远程设备`),s.clientIp?` · ${s.clientIp}`:``]}),s?.applicationName&&(0,L.jsxs)(j,{variant:`outline`,className:`max-w-56 gap-1.5 text-[10px]`,title:[s.applicationIdentitySource===`local-process`?`识别方式: 本机进程`:s.applicationIdentitySource===`user-agent`?`识别方式: User-Agent 推断`:s.applicationIdentitySource===`client-reported`?`识别方式: 客户端上报`:void 0,s.applicationIdentityConfidence?`可信度: ${s.applicationIdentityConfidence===`high`?`高`:s.applicationIdentityConfidence===`medium`?`中`:`低`}`:void 0,s.applicationProcess,s.applicationPid?`PID ${s.applicationPid}`:void 0,s.applicationBundleId,s.applicationPath].filter(Boolean).join(` · `),children:[(0,L.jsx)(k,{record:s,compact:!0}),(0,L.jsx)(`span`,{className:`truncate`,children:s.applicationName}),s.applicationIdentitySource===`user-agent`&&(0,L.jsx)(`span`,{className:`shrink-0 text-[9px] text-muted-foreground`,children:`推断`})]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5 ml-auto`,children:[i&&l&&s?.id!=null&&(0,L.jsxs)(r,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,onClick:async()=>{if(s?.id!=null&&l){d(!0),C(null);try{await l(s.id)}catch(e){C(e.message||`重放失败`)}finally{d(!1)}}},disabled:u,title:`使用相同的请求参数重新发送请求`,children:[(0,L.jsx)(x,{className:`h-3.5 w-3.5 mr-1 ${u?`animate-spin`:``}`}),u?`重放中...`:`重放`]}),i&&c&&!s?.mock&&(0,L.jsxs)(r,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,onClick:f,children:[(0,L.jsx)(p,{className:`h-3.5 w-3.5 mr-1`}),`创建 Mock`]})]})]})}),(0,L.jsx)(T,{}),b&&(0,L.jsx)(`div`,{className:`mx-4 mt-2 px-3 py-2 rounded-md bg-red-50 border border-red-200 text-red-700 text-xs`,children:b}),o&&!a&&!i&&(0,L.jsx)(`div`,{className:`mx-4 mt-2 px-3 py-2 rounded-md bg-amber-50 border border-amber-200 text-amber-800 text-xs`,children:o}),a?(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,L.jsx)(ee,{className:`h-6 w-6 animate-spin text-muted-foreground`})}):i?(0,L.jsxs)(m,{defaultValue:`request`,className:`flex-1 flex flex-col min-h-0`,children:[(0,L.jsxs)(h,{className:`mx-4 mt-2 w-fit`,children:[(0,L.jsx)(_,{value:`request`,children:`请求`}),(0,L.jsx)(_,{value:`response`,children:`响应`}),(0,L.jsxs)(_,{value:`inspect`,children:[(0,L.jsx)(y,{className:`h-3.5 w-3.5 mr-1`}),`Inspect`]})]}),(0,L.jsx)(v,{value:`request`,className:`flex-1 min-h-0 mt-0`,children:(0,L.jsx)(g,{className:`h-full px-4 pb-4`,children:(0,L.jsxs)(`div`,{className:`space-y-3 pt-3`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Request Headers`}),(0,L.jsx)(V,{headers:i.requestHeaders})]}),(0,L.jsx)(T,{}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Request Body`}),(0,L.jsx)(B,{body:i.requestBody})]})]})})}),(0,L.jsx)(v,{value:`response`,className:`flex-1 min-h-0 mt-0`,children:(0,L.jsx)(g,{className:`h-full px-4 pb-4`,children:(0,L.jsxs)(`div`,{className:`space-y-3 pt-3`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Response Headers`}),(0,L.jsx)(V,{headers:i.responseHeaders})]}),(0,L.jsx)(T,{}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground mb-1.5 uppercase tracking-wider`,children:`Response Body`}),(0,L.jsx)(B,{body:i.responseBody})]})]})})}),(0,L.jsx)(v,{value:`inspect`,className:`flex-1 min-h-0 mt-0`,children:(0,L.jsx)(g,{className:`h-full px-4 pb-4`,children:i.inspection?(0,L.jsx)(pe,{inspection:i.inspection}):(0,L.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full py-12 text-muted-foreground`,children:[(0,L.jsx)(y,{className:`h-12 w-12 mb-4 opacity-50`}),(0,L.jsx)(`p`,{className:`text-sm`,children:`无 Inspect 信息`}),(0,L.jsx)(`p`,{className:`text-xs mt-1`,children:`需要开启插件模式(on/shadow)才能查看请求生命周期`})]})})})]}):(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-muted-foreground text-sm px-6 text-center`,children:s?(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`div`,{children:`详情数据暂不可用`}),(0,L.jsxs)(`div`,{className:`text-xs font-mono break-all`,children:[s.method,` `,s.source]})]}):(0,L.jsx)(`div`,{children:`无法加载详情`})})]});return n?(0,L.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:E}):(0,L.jsx)(w,{open:e,onOpenChange:e=>!e&&t?.(),children:(0,L.jsx)(S,{className:`p-0 flex flex-col`,resizable:!0,defaultWidth:640,storageKey:`detail-panel`,children:E})})}export{me as DetailPanel};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{a as e,f as t,i as n,l as r,s as i,u as a}from"./button-BTToMaBW.js";import{a as o,i as s,o as c,r as l,t as u}from"./dist-C6eaYCUo.js";import{t as d}from"./dist-C5nMErq8.js";import{n as f}from"./dist-Bb9TeEub.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./es2015-CfXu88Y7.js";var y=r(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),b=t(a(),1),x=e(),S=`Dialog`,[C,ee]=o(S),[w,T]=C(S),E=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=b.useRef(null),c=b.useRef(null),[l,d]=u({prop:r,defaultProp:i??!1,onChange:a,caller:S});return(0,x.jsx)(w,{scope:t,triggerRef:s,contentRef:c,contentId:f(),titleId:f(),descriptionId:f(),open:l,onOpenChange:d,onOpenToggle:b.useCallback(()=>d(e=>!e),[d]),modal:o,children:n})};E.displayName=S;var D=`DialogTrigger`,O=b.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=T(D,n),o=i(t,a.triggerRef);return(0,x.jsx)(c.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.contentId,"data-state":J(a.open),...r,ref:o,onClick:l(e.onClick,a.onOpenToggle)})});O.displayName=D;var k=`DialogPortal`,[A,j]=C(k,{forceMount:void 0}),M=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=T(k,t);return(0,x.jsx)(A,{scope:t,forceMount:n,children:b.Children.map(r,e=>(0,x.jsx)(d,{present:n||a.open,children:(0,x.jsx)(m,{asChild:!0,container:i,children:e})}))})};M.displayName=k;var N=`DialogOverlay`,P=b.forwardRef((e,t)=>{let n=j(N,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=T(N,e.__scopeDialog);return a.modal?(0,x.jsx)(d,{present:r||a.open,children:(0,x.jsx)(I,{...i,ref:t})}):null});P.displayName=N;var F=n(`DialogOverlay.RemoveScroll`),I=b.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=T(N,n);return(0,x.jsx)(h,{as:F,allowPinchZoom:!0,shards:[i.contentRef],children:(0,x.jsx)(c.div,{"data-state":J(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),L=`DialogContent`,R=b.forwardRef((e,t)=>{let n=j(L,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=T(L,e.__scopeDialog);return(0,x.jsx)(d,{present:r||a.open,children:a.modal?(0,x.jsx)(z,{...i,ref:t}):(0,x.jsx)(B,{...i,ref:t})})});R.displayName=L;var z=b.forwardRef((e,t)=>{let n=T(L,e.__scopeDialog),r=b.useRef(null),a=i(t,n.contentRef,r);return b.useEffect(()=>{let e=r.current;if(e)return v(e)},[]),(0,x.jsx)(V,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:l(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:l(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:l(e.onFocusOutside,e=>e.preventDefault())})}),B=b.forwardRef((e,t)=>{let n=T(L,e.__scopeDialog),r=b.useRef(!1),i=b.useRef(!1);return(0,x.jsx)(V,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),V=b.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:o,...s}=e,c=T(L,n),l=b.useRef(null),u=i(t,l);return _(),(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(p,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:o,children:(0,x.jsx)(g,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":J(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Z,{titleId:c.titleId}),(0,x.jsx)($,{contentRef:l,descriptionId:c.descriptionId})]})]})}),H=`DialogTitle`,U=b.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=T(H,n);return(0,x.jsx)(c.h2,{id:i.titleId,...r,ref:t})});U.displayName=H;var W=`DialogDescription`,G=b.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=T(W,n);return(0,x.jsx)(c.p,{id:i.descriptionId,...r,ref:t})});G.displayName=W;var K=`DialogClose`,q=b.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=T(K,n);return(0,x.jsx)(c.button,{type:`button`,...r,ref:t,onClick:l(e.onClick,()=>i.onOpenChange(!1))})});q.displayName=K;function J(e){return e?`open`:`closed`}var Y=`DialogTitleWarning`,[te,X]=s(Y,{contentName:L,titleName:H,docsSlug:`dialog`}),Z=({titleId:e})=>{let t=X(Y),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
|
-
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return b.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Q=`DialogDescriptionWarning`,$=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${X(Q).contentName}}.`;return b.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},ne=E,re=M,ie=P,ae=R,oe=U,se=G,ce=q;export{re as a,y as c,ie as i,ae as n,ne as o,se as r,oe as s,ce as t};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import{a as e,f as t,s as n,u as r}from"./button-BTToMaBW.js";import{c as i,n as a,o,r as s,s as c}from"./dist-C6eaYCUo.js";import{t as l}from"./dist-Bb9TeEub.js";var u=t(r(),1);function d(e,t=globalThis?.document){let n=l(e);u.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var f=e(),p=`DismissableLayer`,m=`dismissableLayer.update`,h=`dismissableLayer.pointerDownOutside`,g=`dismissableLayer.focusOutside`,_,v=u.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),y=u.forwardRef((e,t)=>{let{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:c,onInteractOutside:l,onDismiss:p,...h}=e,g=u.useContext(v),[y,b]=u.useState(null),x=y?.ownerDocument??globalThis?.document,[,T]=u.useState({}),E=n(t,e=>b(e)),D=Array.from(g.layers),[O]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),ee=D.indexOf(O),k=y?D.indexOf(y):-1,te=g.layersWithOutsidePointerEventsDisabled.size>0,A=k>=ee,j=S(e=>{let t=e.target,n=[...g.branches].some(e=>e.contains(t));!A||n||(a?.(e),l?.(e),e.defaultPrevented||p?.())},x),M=C(e=>{let t=e.target;[...g.branches].some(e=>e.contains(t))||(c?.(e),l?.(e),e.defaultPrevented||p?.())},x);return d(e=>{k===g.layers.size-1&&(i?.(e),!e.defaultPrevented&&p&&(e.preventDefault(),p()))},x),u.useEffect(()=>{if(y)return r&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(_=x.body.style.pointerEvents,x.body.style.pointerEvents=`none`),g.layersWithOutsidePointerEventsDisabled.add(y)),g.layers.add(y),w(),()=>{r&&g.layersWithOutsidePointerEventsDisabled.size===1&&(x.body.style.pointerEvents=_)}},[y,x,r,g]),u.useEffect(()=>()=>{y&&(g.layers.delete(y),g.layersWithOutsidePointerEventsDisabled.delete(y),w())},[y,g]),u.useEffect(()=>{let e=()=>T({});return document.addEventListener(m,e),()=>document.removeEventListener(m,e)},[]),(0,f.jsx)(o.div,{...h,ref:E,style:{pointerEvents:te?A?`auto`:`none`:void 0,...e.style},onFocusCapture:s(e.onFocusCapture,M.onFocusCapture),onBlurCapture:s(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:s(e.onPointerDownCapture,j.onPointerDownCapture)})});y.displayName=p;var b=`DismissableLayerBranch`,x=u.forwardRef((e,t)=>{let r=u.useContext(v),i=u.useRef(null),a=n(t,i);return u.useEffect(()=>{let e=i.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,f.jsx)(o.div,{...e,ref:a})});x.displayName=b;function S(e,t=globalThis?.document){let n=l(e),r=u.useRef(!1),i=u.useRef(()=>{});return u.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){T(h,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function C(e,t=globalThis?.document){let n=l(e),r=u.useRef(!1);return u.useEffect(()=>{let e=e=>{e.target&&!r.current&&T(g,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function w(){let e=new CustomEvent(m);document.dispatchEvent(e)}function T(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?c(i,a):i.dispatchEvent(a)}var E=`focusScope.autoFocusOnMount`,D=`focusScope.autoFocusOnUnmount`,O={bubbles:!1,cancelable:!0},ee=`FocusScope`,k=u.forwardRef((e,t)=>{let{loop:r=!1,trapped:i=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...c}=e,[d,p]=u.useState(null),m=l(a),h=l(s),g=u.useRef(null),_=n(t,e=>p(e)),v=u.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;u.useEffect(()=>{if(i){let e=function(e){if(v.paused||!d)return;let t=e.target;d.contains(t)?g.current=t:N(g.current,{select:!0})},t=function(e){if(v.paused||!d)return;let t=e.relatedTarget;t!==null&&(d.contains(t)||N(g.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&N(d)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return d&&r.observe(d,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[i,d,v.paused]),u.useEffect(()=>{if(d){ie.add(v);let e=document.activeElement;if(!d.contains(e)){let t=new CustomEvent(E,O);d.addEventListener(E,m),d.dispatchEvent(t),t.defaultPrevented||(te(se(j(d)),{select:!0}),document.activeElement===e&&N(d))}return()=>{d.removeEventListener(E,m),setTimeout(()=>{let t=new CustomEvent(D,O);d.addEventListener(D,h),d.dispatchEvent(t),t.defaultPrevented||N(e??document.body,{select:!0}),d.removeEventListener(D,h),ie.remove(v)},0)}}},[d,m,h,v]);let y=u.useCallback(e=>{if(!r&&!i||v.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){let t=e.currentTarget,[i,a]=A(t);i&&a?!e.shiftKey&&n===a?(e.preventDefault(),r&&N(i,{select:!0})):e.shiftKey&&n===i&&(e.preventDefault(),r&&N(a,{select:!0})):n===t&&e.preventDefault()}},[r,i,v.paused]);return(0,f.jsx)(o.div,{tabIndex:-1,...c,ref:_,onKeyDown:y})});k.displayName=ee;function te(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(N(r,{select:t}),document.activeElement!==n)return}function A(e){let t=j(e);return[M(t,e),M(t.reverse(),e)]}function j(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function M(e,t){for(let n of e)if(!ne(n,{upTo:t}))return n}function ne(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function re(e){return e instanceof HTMLInputElement&&`select`in e}function N(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&re(e)&&t&&e.select()}}var ie=ae();function ae(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=oe(e,t),e.unshift(t)},remove(t){e=oe(e,t),e[0]?.resume()}}}function oe(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function se(e){return e.filter(e=>e.tagName!==`A`)}var ce=t(i(),1),le=`Portal`,ue=u.forwardRef((e,t)=>{let{container:n,...r}=e,[i,s]=u.useState(!1);a(()=>s(!0),[]);let c=n||i&&globalThis?.document?.body;return c?ce.createPortal((0,f.jsx)(o.div,{...r,ref:t}),c):null});ue.displayName=le;var P=0;function de(){u.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??fe()),document.body.insertAdjacentElement(`beforeend`,e[1]??fe()),P++,()=>{P===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),P--}},[])}function fe(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var F=function(){return F=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},F.apply(this,arguments)};function I(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function pe(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var L=`right-scroll-bar-position`,R=`width-before-scroll-bar`,me=`with-scroll-bars-hidden`,he=`--removed-body-scroll-bar-size`;function z(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function ge(e,t){var n=(0,u.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var _e=typeof window<`u`?u.useLayoutEffect:u.useEffect,ve=new WeakMap;function ye(e,t){var n=ge(t||null,function(t){return e.forEach(function(e){return z(e,t)})});return _e(function(){var t=ve.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||z(e,null)}),i.forEach(function(e){r.has(e)||z(e,a)})}ve.set(n,e)},[e]),n}function be(e){return e}function xe(e,t){t===void 0&&(t=be);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Se(e){e===void 0&&(e={});var t=xe(null);return t.options=F({async:!0,ssr:!1},e),t}var Ce=function(e){var t=e.sideCar,n=I(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return u.createElement(r,F({},n))};Ce.isSideCarExport=!0;function we(e,t){return e.useMedium(t),Ce}var Te=Se(),B=function(){},V=u.forwardRef(function(e,t){var n=u.useRef(null),r=u.useState({onScrollCapture:B,onWheelCapture:B,onTouchMoveCapture:B}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=I(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=ye([n,t]),w=F(F({},x),i);return u.createElement(u.Fragment,null,d&&u.createElement(S,{sideCar:Te,removeScrollBar:l,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?u.cloneElement(u.Children.only(s),F(F({},w),{ref:C})):u.createElement(y,F({},w,{className:c,ref:C}),s))});V.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},V.classNames={fullWidth:R,zeroRight:L};var Ee,De=function(){if(Ee)return Ee;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Oe(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=De();return t&&e.setAttribute(`nonce`,t),e}function ke(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ae(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var je=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Oe())&&(ke(t,n),Ae(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Me=function(){var e=je();return function(t,n){u.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Ne=function(){var e=Me();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Pe={left:0,top:0,right:0,gap:0},H=function(e){return parseInt(e||``,10)||0},Fe=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[H(n),H(r),H(i)]},Ie=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Pe;var t=Fe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Le=Ne(),U=`data-scroll-locked`,Re=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
|
-
.${me} {
|
|
3
|
-
overflow: hidden ${r};
|
|
4
|
-
padding-right: ${s}px ${r};
|
|
5
|
-
}
|
|
6
|
-
body[${U}] {
|
|
7
|
-
overflow: hidden ${r};
|
|
8
|
-
overscroll-behavior: contain;
|
|
9
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
10
|
-
padding-left: ${i}px;
|
|
11
|
-
padding-top: ${a}px;
|
|
12
|
-
padding-right: ${o}px;
|
|
13
|
-
margin-left:0;
|
|
14
|
-
margin-top:0;
|
|
15
|
-
margin-right: ${s}px ${r};
|
|
16
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.${L} {
|
|
20
|
-
right: ${s}px ${r};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.${R} {
|
|
24
|
-
margin-right: ${s}px ${r};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.${L} .${L} {
|
|
28
|
-
right: 0 ${r};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.${R} .${R} {
|
|
32
|
-
margin-right: 0 ${r};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
body[${U}] {
|
|
36
|
-
${he}: ${s}px;
|
|
37
|
-
}
|
|
38
|
-
`},ze=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Be=function(){u.useEffect(function(){return document.body.setAttribute(U,(ze()+1).toString()),function(){var e=ze()-1;e<=0?document.body.removeAttribute(U):document.body.setAttribute(U,e.toString())}},[])},Ve=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Be();var a=u.useMemo(function(){return Ie(i)},[i]);return u.createElement(Le,{styles:Re(a,!t,i,n?``:`!important`)})},W=!1;if(typeof window<`u`)try{var G=Object.defineProperty({},`passive`,{get:function(){return W=!0,!0}});window.addEventListener(`test`,G,G),window.removeEventListener(`test`,G,G)}catch{W=!1}var K=W?{passive:!1}:!1,He=function(e){return e.tagName===`TEXTAREA`},Ue=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!He(e)&&n[t]===`visible`)},We=function(e){return Ue(e,`overflowY`)},Ge=function(e){return Ue(e,`overflowX`)},Ke=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),Ye(e,r)){var i=Xe(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},qe=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Je=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Ye=function(e,t){return e===`v`?We(t):Ge(t)},Xe=function(e,t){return e===`v`?qe(t):Je(t)},Ze=function(e,t){return e===`h`&&t===`rtl`?-1:1},Qe=function(e,t,n,r,i){var a=Ze(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Xe(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&Ye(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},q=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},J=function(e){return[e.deltaX,e.deltaY]},$e=function(e){return e&&`current`in e?e.current:e},et=function(e,t){return e[0]===t[0]&&e[1]===t[1]},tt=function(e){return`
|
|
39
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
40
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
41
|
-
`},nt=0,Y=[];function rt(e){var t=u.useRef([]),n=u.useRef([0,0]),r=u.useRef(),i=u.useState(nt++)[0],a=u.useState(Ne)[0],o=u.useRef(e);u.useEffect(function(){o.current=e},[e]),u.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=pe([e.lockRef.current],(e.shards||[]).map($e),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=u.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=q(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ke(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ke(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Qe(h,t,e,h===`h`?s:c,!0)},[]),c=u.useCallback(function(e){var n=e;if(!(!Y.length||Y[Y.length-1]!==a)){var r=`deltaY`in n?J(n):q(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&et(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map($e).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=u.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:it(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=u.useCallback(function(e){n.current=q(e),r.current=void 0},[]),f=u.useCallback(function(t){l(t.type,J(t),t.target,s(t,e.lockRef.current))},[]),p=u.useCallback(function(t){l(t.type,q(t),t.target,s(t,e.lockRef.current))},[]);u.useEffect(function(){return Y.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,c,K),document.addEventListener(`touchmove`,c,K),document.addEventListener(`touchstart`,d,K),function(){Y=Y.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,K),document.removeEventListener(`touchmove`,c,K),document.removeEventListener(`touchstart`,d,K)}},[]);var m=e.removeScrollBar,h=e.inert;return u.createElement(u.Fragment,null,h?u.createElement(a,{styles:tt(i)}):null,m?u.createElement(Ve,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function it(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var at=we(Te,rt),ot=u.forwardRef(function(e,t){return u.createElement(V,F({},e,{ref:t,sideCar:at}))});ot.classNames=V.classNames;var st=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},X=new WeakMap,Z=new WeakMap,Q={},$=0,ct=function(e){return e&&(e.host||ct(e.parentNode))},lt=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ct(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ut=function(e,t,n,r){var i=lt(t,Array.isArray(e)?e:[e]);Q[n]||(Q[n]=new WeakMap);var a=Q[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(X.get(e)||0)+1,l=(a.get(e)||0)+1;X.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Z.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),$++,function(){o.forEach(function(e){var t=X.get(e)-1,i=a.get(e)-1;X.set(e,t),a.set(e,i),t||(Z.has(e)||e.removeAttribute(r),Z.delete(e)),i||e.removeAttribute(n)}),$--,$||(X=new WeakMap,X=new WeakMap,Z=new WeakMap,Q={})}},dt=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||st(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ut(r,i,n,`aria-hidden`)):function(){return null}};export{k as a,ue as i,ot as n,y as o,de as r,dt as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e){return`showOpenFilePicker`in e}export{e as t};
|