hermes-web-ui 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +30 -6
  2. package/bin/hermes-web-ui.mjs +34 -4
  3. package/dist/assets/{Button-CpNld4Mc.js → Button-sJ2BpaPl.js} +14 -14
  4. package/dist/assets/{ChannelsView-BWEvTQwM.css → ChannelsView-C2h4_vNn.css} +1 -1
  5. package/dist/assets/ChannelsView-CD_79lUP.js +1 -0
  6. package/dist/assets/ChatView-CLIjlJ1x.js +142 -0
  7. package/dist/assets/ChatView-CX_ZYhvz.css +1 -0
  8. package/dist/assets/Close-2w73mIOt.js +45 -0
  9. package/dist/assets/FormItem-XpOdWzQ0.js +110 -0
  10. package/dist/assets/Input-BzhYBEbH.js +234 -0
  11. package/dist/assets/InputNumber-8txyKuLX.js +13 -0
  12. package/dist/assets/JobsView-C-1FgnDL.js +2 -0
  13. package/dist/assets/{JobsView-DkwaDky6.css → JobsView-OYrxaGgM.css} +1 -1
  14. package/dist/assets/LoginView-BD15AZNF.js +1 -0
  15. package/dist/assets/LoginView-BHThbj0n.css +1 -0
  16. package/dist/assets/LogsView-DmQ4ttpe.js +1 -0
  17. package/dist/assets/LogsView-DzYGlYxF.css +1 -0
  18. package/dist/assets/{MarkdownRenderer-C2pkccH2.js → MarkdownRenderer-DJm5zGZj.js} +2 -2
  19. package/dist/assets/MemoryView-DBtvO2X2.js +5 -0
  20. package/dist/assets/MemoryView-WR7DvkW0.css +1 -0
  21. package/dist/assets/Modal-D421R1s7.js +232 -0
  22. package/dist/assets/{ModelsView-CLdtVeiJ.css → ModelsView-Dm1vBT2p.css} +1 -1
  23. package/dist/assets/ModelsView-Dt3deKCr.js +1 -0
  24. package/dist/assets/Popover-pOQtxFC1.js +117 -0
  25. package/dist/assets/Select-rOqAn7Lj.js +340 -0
  26. package/dist/assets/SettingRow-CndAlF8Z.js +1 -0
  27. package/dist/assets/SettingsView-CIcrKeJw.css +1 -0
  28. package/dist/assets/SettingsView-CxEQl8Fh.js +352 -0
  29. package/dist/assets/SkillsView-4FLTf1XD.css +1 -0
  30. package/dist/assets/SkillsView-BopVAaC6.js +1 -0
  31. package/dist/assets/Spin-CaLC5eru.js +43 -0
  32. package/dist/assets/Suffix-C1X_jn5E.js +101 -0
  33. package/dist/assets/Switch-BeZgnVyD.js +102 -0
  34. package/dist/assets/Tag-DFrN7AVl.js +71 -0
  35. package/dist/assets/Tooltip-ClSL1Ac2.js +1 -0
  36. package/dist/assets/{UsageView-CXSijPwc.css → UsageView-Bdck_cnA.css} +1 -1
  37. package/dist/assets/UsageView-BvGRIGlC.js +1 -0
  38. package/dist/assets/_plugin-vue_export-helper-DQGaK6t5.js +3 -0
  39. package/dist/assets/app-DHhjDueA.js +1 -0
  40. package/dist/assets/app-DqRfMAIZ.js +1 -0
  41. package/dist/assets/browser-Bf2Q3p4g.js +47 -0
  42. package/dist/assets/chat-B0V07VGa.js +6 -0
  43. package/dist/assets/context-Bm7UPqDk.js +1 -0
  44. package/dist/assets/index-BR3ulF5g.css +1 -0
  45. package/dist/assets/index-Bdq3IZmO.js +306 -0
  46. package/dist/assets/jobs-QM3wEm9o.js +1 -0
  47. package/dist/assets/logo-CiQBpLPw.js +1 -0
  48. package/dist/assets/pinia-bZ6_VpBU.js +1 -0
  49. package/dist/assets/router-Ddepf70Q.js +4 -0
  50. package/dist/assets/{sessions-DYkP_X2v.js → sessions-r2FX4lYx.js} +1 -1
  51. package/dist/assets/{skills-C6QBmS9j.js → skills-DtNdlEJd.js} +1 -1
  52. package/dist/assets/use-message-DAtcV1hg.js +1 -0
  53. package/dist/index.html +18 -18
  54. package/dist/server/index.js +104 -61
  55. package/dist/server/routes/filesystem.js +38 -0
  56. package/dist/server/services/auth.d.ts +9 -0
  57. package/dist/server/services/auth.js +67 -0
  58. package/dist/server/services/hermes-cli.js +13 -1
  59. package/package.json +2 -2
  60. package/dist/assets/ChannelsView-BGXB46ZU.js +0 -1
  61. package/dist/assets/ChatView-BVHQ6KhU.css +0 -1
  62. package/dist/assets/ChatView-CaO-j1NR.js +0 -142
  63. package/dist/assets/Close-BAvirVyH.js +0 -45
  64. package/dist/assets/FormItem-DUC1YCrh.js +0 -110
  65. package/dist/assets/Input-CCmp4iGM.js +0 -234
  66. package/dist/assets/InputNumber-DpIdrMEW.js +0 -13
  67. package/dist/assets/JobsView-t5o1pB0r.js +0 -2
  68. package/dist/assets/LogsView-B2TeFIUX.css +0 -1
  69. package/dist/assets/LogsView-QqOV3ZEf.js +0 -1
  70. package/dist/assets/MemoryView-CHeaa1-C.css +0 -1
  71. package/dist/assets/MemoryView-oeAn8ZfB.js +0 -5
  72. package/dist/assets/Modal-BljFqAJF.js +0 -232
  73. package/dist/assets/ModelsView-DvK44HBy.js +0 -1
  74. package/dist/assets/Popover-BQMR8Xxo.js +0 -117
  75. package/dist/assets/Select-D33SMWcz.js +0 -340
  76. package/dist/assets/SettingRow-BxCsRfGG.js +0 -102
  77. package/dist/assets/SettingsView-CK9ArFcg.js +0 -352
  78. package/dist/assets/SettingsView-Cl1ts-YY.css +0 -1
  79. package/dist/assets/SkillsView-BvNhRbMq.css +0 -1
  80. package/dist/assets/SkillsView-_z2SQ9kJ.js +0 -1
  81. package/dist/assets/Spin-CwbBDHwW.js +0 -43
  82. package/dist/assets/Suffix-CKUJBJSi.js +0 -101
  83. package/dist/assets/Tag-87KswiOb.js +0 -71
  84. package/dist/assets/Tooltip-CuLVJgy8.js +0 -1
  85. package/dist/assets/UsageView-COiUupLe.js +0 -1
  86. package/dist/assets/_plugin-vue_export-helper-C7dadZ10.js +0 -49
  87. package/dist/assets/app-DX-WvBe8.js +0 -1
  88. package/dist/assets/app-DwI_Lyfm.js +0 -1
  89. package/dist/assets/chat-De2jGIM6.js +0 -6
  90. package/dist/assets/client-D-w1KhaU.js +0 -1
  91. package/dist/assets/context-vjXbZCu8.js +0 -1
  92. package/dist/assets/index-D3MGnlpF.js +0 -307
  93. package/dist/assets/index-DCNlSGk-.css +0 -1
  94. package/dist/assets/jobs-B2WdYQNb.js +0 -1
  95. package/dist/assets/pinia-B4dETPKk.js +0 -1
  96. package/dist/assets/preload-helper-D4M6sveU.js +0 -1
  97. package/dist/assets/use-message-BeTKmVAO.js +0 -1
  98. package/dist/assets/vue.runtime.esm-bundler-BoqZ7fRe.js +0 -3
  99. /package/dist/{assets/logo-BAarh-tH.png → logo.png} +0 -0
@@ -0,0 +1,142 @@
1
+ import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,K as c,L as l,N as u,Q as d,R as f,T as p,U as m,V as h,X as g,_,ct as v,d as y,dt as b,g as x,gt as S,j as C,k as w,m as T,mt as E,ot as D,pt as O,q as k,st as A,w as j,y as M}from"./router-Ddepf70Q.js";import{r as N,t as P}from"./_plugin-vue_export-helper-DQGaK6t5.js";import{B as F,K as ee,Q as I,W as L,Y as R,at as z,c as B,ct as V,dt as H,et as U,lt as W,n as G,ot as K,q,s as J,tt as te,ut as ne,z as Y}from"./browser-Bf2Q3p4g.js";import{A as re,C as ie,D as ae,E as oe,L as se,P as ce,_ as le,a as ue,h as de,i as fe,l as X,n as pe,o as me,r as he,t as ge,u as _e,w as ve}from"./Popover-pOQtxFC1.js";import{_ as Z,c as ye,g as be,l as xe,r as Se,v as Q}from"./Suffix-C1X_jn5E.js";import{c as Ce,f as we,t as Te}from"./Modal-D421R1s7.js";import{r as Ee,t as $}from"./Button-sJ2BpaPl.js";import{t as De}from"./omit-QZj0aLfU.js";import{t as Oe}from"./Input-BzhYBEbH.js";import{t as ke}from"./Tooltip-ClSL1Ac2.js";import{t as Ae}from"./use-message-DAtcV1hg.js";import{t as je}from"./logo-CiQBpLPw.js";import{t as Me}from"./app-DHhjDueA.js";import{t as Ne}from"./chat-B0V07VGa.js";import{i as Pe}from"./sessions-r2FX4lYx.js";import{t as Fe}from"./MarkdownRenderer-DJm5zGZj.js";function Ie(e={},t){let r=D({ctrl:!1,command:!1,win:!1,shift:!1,tab:!1}),{keydown:i,keyup:a}=e,o=e=>{switch(e.key){case`Control`:r.ctrl=!0;break;case`Meta`:r.command=!0,r.win=!0;break;case`Shift`:r.shift=!0;break;case`Tab`:r.tab=!0;break}i!==void 0&&Object.keys(i).forEach(t=>{if(t!==e.key)return;let n=i[t];if(typeof n==`function`)n(e);else{let{stop:t=!1,prevent:r=!1}=n;t&&e.stopPropagation(),r&&e.preventDefault(),n.handler(e)}})},s=e=>{switch(e.key){case`Control`:r.ctrl=!1;break;case`Meta`:r.command=!1,r.win=!1;break;case`Shift`:r.shift=!1;break;case`Tab`:r.tab=!1;break}a!==void 0&&Object.keys(a).forEach(t=>{if(t!==e.key)return;let n=a[t];if(typeof n==`function`)n(e);else{let{stop:t=!1,prevent:r=!1}=n;t&&e.stopPropagation(),r&&e.preventDefault(),n.handler(e)}})},c=()=>{(t===void 0||t.value)&&(Q(`keydown`,document,o),Q(`keyup`,document,s)),t!==void 0&&g(t,e=>{e?(Q(`keydown`,document,o),Q(`keyup`,document,s)):(Z(`keydown`,document,o),Z(`keyup`,document,s))})};return ce()?(n(c),h(()=>{(t===void 0||t.value)&&(Z(`keydown`,document,o),Z(`keyup`,document,s))})):c(),A(r)}function Le(e,t,n){if(!t)return e;let r=v(e.value),i=null;return g(e,e=>{i!==null&&window.clearTimeout(i),e===!0?n&&!n.value?r.value=!0:i=window.setTimeout(()=>{r.value=!0},t):r.value=!1}),r}function Re(e){return t=>{t?e.value=t.$el:e.value=null}}var ze=C({name:`ChevronRight`,render(){return u(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},u(`path`,{d:`M5.64645 3.14645C5.45118 3.34171 5.45118 3.65829 5.64645 3.85355L9.79289 8L5.64645 12.1464C5.45118 12.3417 5.45118 12.6583 5.64645 12.8536C5.84171 13.0488 6.15829 13.0488 6.35355 12.8536L10.8536 8.35355C11.0488 8.15829 11.0488 7.84171 10.8536 7.64645L6.35355 3.14645C6.15829 2.95118 5.84171 2.95118 5.64645 3.14645Z`,fill:`currentColor`}))}}),Be={padding:`4px 0`,optionIconSizeSmall:`14px`,optionIconSizeMedium:`16px`,optionIconSizeLarge:`16px`,optionIconSizeHuge:`18px`,optionSuffixWidthSmall:`14px`,optionSuffixWidthMedium:`14px`,optionSuffixWidthLarge:`16px`,optionSuffixWidthHuge:`16px`,optionIconSuffixWidthSmall:`32px`,optionIconSuffixWidthMedium:`32px`,optionIconSuffixWidthLarge:`36px`,optionIconSuffixWidthHuge:`36px`,optionPrefixWidthSmall:`14px`,optionPrefixWidthMedium:`14px`,optionPrefixWidthLarge:`16px`,optionPrefixWidthHuge:`16px`,optionIconPrefixWidthSmall:`36px`,optionIconPrefixWidthMedium:`36px`,optionIconPrefixWidthLarge:`40px`,optionIconPrefixWidthHuge:`40px`};function Ve(e){let{primaryColor:t,textColor2:n,dividerColor:r,hoverColor:i,popoverColor:a,invertedColor:o,borderRadius:s,fontSizeSmall:c,fontSizeMedium:l,fontSizeLarge:u,fontSizeHuge:d,heightSmall:f,heightMedium:p,heightLarge:m,heightHuge:h,textColor3:g,opacityDisabled:_}=e;return Object.assign(Object.assign({},Be),{optionHeightSmall:f,optionHeightMedium:p,optionHeightLarge:m,optionHeightHuge:h,borderRadius:s,fontSizeSmall:c,fontSizeMedium:l,fontSizeLarge:u,fontSizeHuge:d,optionTextColor:n,optionTextColorHover:n,optionTextColorActive:t,optionTextColorChildActive:t,color:a,dividerColor:r,suffixColor:n,prefixColor:n,optionColorHover:i,optionColorActive:te(t,{alpha:.1}),groupHeaderTextColor:g,optionTextColorInverted:`#BBB`,optionTextColorHoverInverted:`#FFF`,optionTextColorActiveInverted:`#FFF`,optionTextColorChildActiveInverted:`#FFF`,colorInverted:o,dividerColorInverted:`#BBB`,suffixColorInverted:`#BBB`,prefixColorInverted:`#BBB`,optionColorHoverInverted:t,optionColorActiveInverted:t,groupHeaderTextColorInverted:`#AAA`,optionOpacityDisabled:_})}var He=J({name:`Dropdown`,common:G,peers:{Popover:fe},self:Ve}),Ue=I(`n-dropdown-menu`),We=I(`n-dropdown`),Ge=I(`n-dropdown-option`),Ke=C({name:`DropdownDivider`,props:{clsPrefix:{type:String,required:!0}},render(){return u(`div`,{class:`${this.clsPrefix}-dropdown-divider`})}}),qe=C({name:`DropdownGroupHeader`,props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(){let{showIconRef:e,hasSubmenuRef:t}=o(Ue),{renderLabelRef:n,labelFieldRef:r,nodePropsRef:i,renderOptionRef:a}=o(We);return{labelField:r,showIcon:e,hasSubmenu:t,renderLabel:n,nodeProps:i,renderOption:a}},render(){let{clsPrefix:e,hasSubmenu:t,showIcon:n,nodeProps:r,renderLabel:i,renderOption:a}=this,{rawNode:o}=this.tmNode,s=u(`div`,Object.assign({class:`${e}-dropdown-option`},r?.(o)),u(`div`,{class:`${e}-dropdown-option-body ${e}-dropdown-option-body--group`},u(`div`,{"data-dropdown-option":!0,class:[`${e}-dropdown-option-body__prefix`,n&&`${e}-dropdown-option-body__prefix--show-icon`]},X(o.icon)),u(`div`,{class:`${e}-dropdown-option-body__label`,"data-dropdown-option":!0},i?i(o):X(o.title??o[this.labelField])),u(`div`,{class:[`${e}-dropdown-option-body__suffix`,t&&`${e}-dropdown-option-body__suffix--has-submenu`],"data-dropdown-option":!0})));return a?a({node:s,option:o}):s}});function Je(e){let{textColorBase:t,opacity1:n,opacity2:r,opacity3:i,opacity4:a,opacity5:o}=e;return{color:t,opacity1Depth:n,opacity2Depth:r,opacity3Depth:i,opacity4Depth:a,opacity5Depth:o}}var Ye={name:`Icon`,common:G,self:Je},Xe=K(`icon`,`
2
+ height: 1em;
3
+ width: 1em;
4
+ line-height: 1em;
5
+ text-align: center;
6
+ display: inline-block;
7
+ position: relative;
8
+ fill: currentColor;
9
+ `,[W(`color-transition`,{transition:`color .3s var(--n-bezier)`}),W(`depth`,{color:`var(--n-color)`},[z(`svg`,{opacity:`var(--n-opacity)`,transition:`opacity .3s var(--n-bezier)`})]),z(`svg`,{height:`1em`,width:`1em`})]),Ze=C({_n_icon__:!0,name:`Icon`,inheritAttrs:!1,props:Object.assign(Object.assign({},B.props),{depth:[String,Number],size:[Number,String],color:String,component:[Object,Function]}),setup(e){let{mergedClsPrefixRef:t,inlineThemeDisabled:n}=F(e),i=B(`Icon`,`-icon`,Xe,Ye,e,t),a=r(()=>{let{depth:t}=e,{common:{cubicBezierEaseInOut:n},self:r}=i.value;if(t!==void 0){let{color:e,[`opacity${t}Depth`]:i}=r;return{"--n-bezier":n,"--n-color":e,"--n-opacity":i}}return{"--n-bezier":n,"--n-color":``,"--n-opacity":``}}),o=n?Y(`icon`,r(()=>`${e.depth||`d`}`),a,e):void 0;return{mergedClsPrefix:t,mergedStyle:r(()=>{let{size:t,color:n}=e;return{fontSize:de(t),color:n}}),cssVars:n?void 0:a,themeClass:o?.themeClass,onRender:o?.onRender}},render(){let{$parent:e,depth:t,mergedClsPrefix:n,component:r,onRender:i,themeClass:a}=this;return e?.$options?._n_icon__&&R(`icon`,"don't wrap `n-icon` inside `n-icon`"),i?.(),u(`i`,l(this.$attrs,{role:`img`,class:[`${n}-icon`,a,{[`${n}-icon--depth`]:t,[`${n}-icon--color-transition`]:t!==void 0}],style:[this.cssVars,this.mergedStyle]}),r?u(r):this.$slots)}});function Qe(e,t){return e.type===`submenu`||e.type===void 0&&e[t]!==void 0}function $e(e){return e.type===`group`}function et(e){return e.type===`divider`}function tt(e){return e.type===`render`}var nt=C({name:`DropdownOption`,props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0},parentKey:{type:[String,Number],default:null},placement:{type:String,default:`right-start`},props:Object,scrollable:Boolean},setup(e){let t=o(We),{hoverKeyRef:n,keyboardKeyRef:i,lastToggledSubmenuKeyRef:a,pendingKeyPathRef:s,activeKeyPathRef:l,animatedRef:u,mergedShowRef:d,renderLabelRef:f,renderIconRef:p,labelFieldRef:m,childrenFieldRef:h,renderOptionRef:g,nodePropsRef:_,menuPropsRef:y}=t,b=o(Ge,null),x=o(Ue),S=o(oe),C=r(()=>e.tmNode.rawNode),w=r(()=>{let{value:t}=h;return Qe(e.tmNode.rawNode,t)}),T=r(()=>{let{disabled:t}=e.tmNode;return t}),E=Le(r(()=>{if(!w.value)return!1;let{key:t,disabled:r}=e.tmNode;if(r)return!1;let{value:o}=n,{value:c}=i,{value:l}=a,{value:u}=s;return o===null?c===null?l===null?!1:u.includes(t):u.includes(t)&&u[u.length-1]!==t:u.includes(t)}),300,r(()=>i.value===null&&!u.value)),D=r(()=>!!b?.enteringSubmenuRef.value),O=v(!1);c(Ge,{enteringSubmenuRef:O});function k(){O.value=!0}function A(){O.value=!1}function j(){let{parentKey:t,tmNode:r}=e;r.disabled||d.value&&(a.value=t,i.value=null,n.value=r.key)}function M(){let{tmNode:t}=e;t.disabled||d.value&&n.value!==t.key&&j()}function N(t){if(e.tmNode.disabled||!d.value)return;let{relatedTarget:r}=t;r&&!se({target:r},`dropdownOption`)&&!se({target:r},`scrollbarRail`)&&(n.value=null)}function P(){let{value:n}=w,{tmNode:r}=e;d.value&&!n&&!r.disabled&&(t.doSelect(r.key,r.rawNode),t.doUpdateShow(!1))}return{labelField:m,renderLabel:f,renderIcon:p,siblingHasIcon:x.showIconRef,siblingHasSubmenu:x.hasSubmenuRef,menuProps:y,popoverBody:S,animated:u,mergedShowSubmenu:r(()=>E.value&&!D.value),rawNode:C,hasSubmenu:w,pending:U(()=>{let{value:t}=s,{key:n}=e.tmNode;return t.includes(n)}),childActive:U(()=>{let{value:t}=l,{key:n}=e.tmNode,r=t.findIndex(e=>n===e);return r===-1?!1:r<t.length-1}),active:U(()=>{let{value:t}=l,{key:n}=e.tmNode,r=t.findIndex(e=>n===e);return r===-1?!1:r===t.length-1}),mergedDisabled:T,renderOption:g,nodeProps:_,handleClick:P,handleMouseMove:M,handleMouseEnter:j,handleMouseLeave:N,handleSubmenuBeforeEnter:k,handleSubmenuAfterEnter:A}},render(){let{animated:e,rawNode:t,mergedShowSubmenu:n,clsPrefix:r,siblingHasIcon:i,siblingHasSubmenu:a,renderLabel:o,renderIcon:s,renderOption:c,nodeProps:d,props:f,scrollable:p}=this,m=null;if(n){let e=this.menuProps?.call(this,t,t.children);m=u(at,Object.assign({},e,{clsPrefix:r,scrollable:this.scrollable,tmNodes:this.tmNode.children,parentKey:this.tmNode.key}))}let h={class:[`${r}-dropdown-option-body`,this.pending&&`${r}-dropdown-option-body--pending`,this.active&&`${r}-dropdown-option-body--active`,this.childActive&&`${r}-dropdown-option-body--child-active`,this.mergedDisabled&&`${r}-dropdown-option-body--disabled`],onMousemove:this.handleMouseMove,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onClick:this.handleClick},g=d?.(t),_=u(`div`,Object.assign({class:[`${r}-dropdown-option`,g?.class],"data-dropdown-option":!0},g),u(`div`,l(h,f),[u(`div`,{class:[`${r}-dropdown-option-body__prefix`,i&&`${r}-dropdown-option-body__prefix--show-icon`]},[s?s(t):X(t.icon)]),u(`div`,{"data-dropdown-option":!0,class:`${r}-dropdown-option-body__label`},o?o(t):X(t[this.labelField]??t.title)),u(`div`,{"data-dropdown-option":!0,class:[`${r}-dropdown-option-body__suffix`,a&&`${r}-dropdown-option-body__suffix--has-submenu`]},this.hasSubmenu?u(Ze,null,{default:()=>u(ze,null)}):null)]),this.hasSubmenu?u(ve,null,{default:()=>[u(ie,null,{default:()=>u(`div`,{class:`${r}-dropdown-offset-container`},u(le,{show:this.mergedShowSubmenu,placement:this.placement,to:p&&this.popoverBody||void 0,teleportDisabled:!p},{default:()=>u(`div`,{class:`${r}-dropdown-menu-wrapper`},e?u(y,{onBeforeEnter:this.handleSubmenuBeforeEnter,onAfterEnter:this.handleSubmenuAfterEnter,name:`fade-in-scale-up-transition`,appear:!0},{default:()=>m}):m)}))})]}):null);return c?c({node:_,option:t}):_}}),rt=C({name:`NDropdownGroup`,props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0},parentKey:{type:[String,Number],default:null}},render(){let{tmNode:e,parentKey:t,clsPrefix:n}=this,{children:r}=e;return u(M,null,u(qe,{clsPrefix:n,tmNode:e,key:e.key}),r?.map(e=>{let{rawNode:r}=e;return r.show===!1?null:et(r)?u(Ke,{clsPrefix:n,key:e.key}):e.isGroup?(R(`dropdown`,"`group` node is not allowed to be put in `group` node."),null):u(nt,{clsPrefix:n,tmNode:e,parentKey:t,key:e.key})}))}}),it=C({name:`DropdownRenderOption`,props:{tmNode:{type:Object,required:!0}},render(){let{rawNode:{render:e,props:t}}=this.tmNode;return u(`div`,t,[e?.()])}}),at=C({name:`DropdownMenu`,props:{scrollable:Boolean,showArrow:Boolean,arrowStyle:[String,Object],clsPrefix:{type:String,required:!0},tmNodes:{type:Array,default:()=>[]},parentKey:{type:[String,Number],default:null}},setup(e){let{renderIconRef:t,childrenFieldRef:n}=o(We);c(Ue,{showIconRef:r(()=>{let n=t.value;return e.tmNodes.some(e=>{if(e.isGroup)return e.children?.some(({rawNode:e})=>n?n(e):e.icon);let{rawNode:t}=e;return n?n(t):t.icon})}),hasSubmenuRef:r(()=>{let{value:t}=n;return e.tmNodes.some(e=>{if(e.isGroup)return e.children?.some(({rawNode:e})=>Qe(e,t));let{rawNode:n}=e;return Qe(n,t)})})});let i=v(null);return c(ae,null),c(re,null),c(oe,i),{bodyRef:i}},render(){let{parentKey:e,clsPrefix:t,scrollable:n}=this,r=this.tmNodes.map(r=>{let{rawNode:i}=r;return i.show===!1?null:tt(i)?u(it,{tmNode:r,key:r.key}):et(i)?u(Ke,{clsPrefix:t,key:r.key}):$e(i)?u(rt,{clsPrefix:t,tmNode:r,parentKey:e,key:r.key}):u(nt,{clsPrefix:t,tmNode:r,parentKey:e,key:r.key,props:i.props,scrollable:n})});return u(`div`,{class:[`${t}-dropdown-menu`,n&&`${t}-dropdown-menu--scrollable`],ref:`bodyRef`},n?u(Se,{contentClass:`${t}-dropdown-menu__content`},{default:()=>r}):r,this.showArrow?he({clsPrefix:t,arrowStyle:this.arrowStyle,arrowClass:void 0,arrowWrapperClass:void 0,arrowWrapperStyle:void 0}):null)}}),ot=K(`dropdown-menu`,`
10
+ transform-origin: var(--v-transform-origin);
11
+ background-color: var(--n-color);
12
+ border-radius: var(--n-border-radius);
13
+ box-shadow: var(--n-box-shadow);
14
+ position: relative;
15
+ transition:
16
+ background-color .3s var(--n-bezier),
17
+ box-shadow .3s var(--n-bezier);
18
+ `,[ue(),K(`dropdown-option`,`
19
+ position: relative;
20
+ `,[z(`a`,`
21
+ text-decoration: none;
22
+ color: inherit;
23
+ outline: none;
24
+ `,[z(`&::before`,`
25
+ content: "";
26
+ position: absolute;
27
+ left: 0;
28
+ right: 0;
29
+ top: 0;
30
+ bottom: 0;
31
+ `)]),K(`dropdown-option-body`,`
32
+ display: flex;
33
+ cursor: pointer;
34
+ position: relative;
35
+ height: var(--n-option-height);
36
+ line-height: var(--n-option-height);
37
+ font-size: var(--n-font-size);
38
+ color: var(--n-option-text-color);
39
+ transition: color .3s var(--n-bezier);
40
+ `,[z(`&::before`,`
41
+ content: "";
42
+ position: absolute;
43
+ top: 0;
44
+ bottom: 0;
45
+ left: 4px;
46
+ right: 4px;
47
+ transition: background-color .3s var(--n-bezier);
48
+ border-radius: var(--n-border-radius);
49
+ `),ne(`disabled`,[W(`pending`,`
50
+ color: var(--n-option-text-color-hover);
51
+ `,[V(`prefix, suffix`,`
52
+ color: var(--n-option-text-color-hover);
53
+ `),z(`&::before`,`background-color: var(--n-option-color-hover);`)]),W(`active`,`
54
+ color: var(--n-option-text-color-active);
55
+ `,[V(`prefix, suffix`,`
56
+ color: var(--n-option-text-color-active);
57
+ `),z(`&::before`,`background-color: var(--n-option-color-active);`)]),W(`child-active`,`
58
+ color: var(--n-option-text-color-child-active);
59
+ `,[V(`prefix, suffix`,`
60
+ color: var(--n-option-text-color-child-active);
61
+ `)])]),W(`disabled`,`
62
+ cursor: not-allowed;
63
+ opacity: var(--n-option-opacity-disabled);
64
+ `),W(`group`,`
65
+ font-size: calc(var(--n-font-size) - 1px);
66
+ color: var(--n-group-header-text-color);
67
+ `,[V(`prefix`,`
68
+ width: calc(var(--n-option-prefix-width) / 2);
69
+ `,[W(`show-icon`,`
70
+ width: calc(var(--n-option-icon-prefix-width) / 2);
71
+ `)])]),V(`prefix`,`
72
+ width: var(--n-option-prefix-width);
73
+ display: flex;
74
+ justify-content: center;
75
+ align-items: center;
76
+ color: var(--n-prefix-color);
77
+ transition: color .3s var(--n-bezier);
78
+ z-index: 1;
79
+ `,[W(`show-icon`,`
80
+ width: var(--n-option-icon-prefix-width);
81
+ `),K(`icon`,`
82
+ font-size: var(--n-option-icon-size);
83
+ `)]),V(`label`,`
84
+ white-space: nowrap;
85
+ flex: 1;
86
+ z-index: 1;
87
+ `),V(`suffix`,`
88
+ box-sizing: border-box;
89
+ flex-grow: 0;
90
+ flex-shrink: 0;
91
+ display: flex;
92
+ justify-content: flex-end;
93
+ align-items: center;
94
+ min-width: var(--n-option-suffix-width);
95
+ padding: 0 8px;
96
+ transition: color .3s var(--n-bezier);
97
+ color: var(--n-suffix-color);
98
+ z-index: 1;
99
+ `,[W(`has-submenu`,`
100
+ width: var(--n-option-icon-suffix-width);
101
+ `),K(`icon`,`
102
+ font-size: var(--n-option-icon-size);
103
+ `)]),K(`dropdown-menu`,`pointer-events: all;`)]),K(`dropdown-offset-container`,`
104
+ pointer-events: none;
105
+ position: absolute;
106
+ left: 0;
107
+ right: 0;
108
+ top: -4px;
109
+ bottom: -4px;
110
+ `)]),K(`dropdown-divider`,`
111
+ transition: background-color .3s var(--n-bezier);
112
+ background-color: var(--n-divider-color);
113
+ height: 1px;
114
+ margin: 4px 0;
115
+ `),K(`dropdown-menu-wrapper`,`
116
+ transform-origin: var(--v-transform-origin);
117
+ width: fit-content;
118
+ `),z(`>`,[K(`scrollbar`,`
119
+ height: inherit;
120
+ max-height: inherit;
121
+ `)]),ne(`scrollable`,`
122
+ padding: var(--n-padding);
123
+ `),W(`scrollable`,[V(`content`,`
124
+ padding: var(--n-padding);
125
+ `)])]),st={animated:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},size:String,inverted:Boolean,placement:{type:String,default:`bottom`},onSelect:[Function,Array],options:{type:Array,default:()=>[]},menuProps:Function,showArrow:Boolean,renderLabel:Function,renderIcon:Function,renderOption:Function,nodeProps:Function,labelField:{type:String,default:`label`},keyField:{type:String,default:`key`},childrenField:{type:String,default:`children`},value:[String,Number]},ct=Object.keys(pe),lt=C({name:`Dropdown`,inheritAttrs:!1,props:Object.assign(Object.assign(Object.assign({},pe),st),B.props),setup(e){let t=v(!1),n=be(b(e,`show`),t),i=r(()=>{let{keyField:t,childrenField:n}=e;return me(e.options,{getKey(e){return e[t]},getDisabled(e){return e.disabled===!0},getIgnored(e){return e.type===`divider`||e.type===`render`},getChildren(e){return e[n]}})}),a=r(()=>i.value.treeNodes),o=v(null),s=v(null),l=v(null),u=r(()=>o.value??s.value??l.value??null),d=r(()=>i.value.getPath(u.value).keyPath),f=r(()=>i.value.getPath(e.value).keyPath),p=U(()=>e.keyboard&&n.value);Ie({keydown:{ArrowUp:{prevent:!0,handler:O},ArrowRight:{prevent:!0,handler:D},ArrowDown:{prevent:!0,handler:k},ArrowLeft:{prevent:!0,handler:E},Enter:{prevent:!0,handler:A},Escape:T}},p);let{mergedClsPrefixRef:m,inlineThemeDisabled:h,mergedComponentPropsRef:_}=F(e),y=r(()=>e.size||_?.value?.Dropdown?.size||`medium`),x=B(`Dropdown`,`-dropdown`,ot,He,e,m);c(We,{labelFieldRef:b(e,`labelField`),childrenFieldRef:b(e,`childrenField`),renderLabelRef:b(e,`renderLabel`),renderIconRef:b(e,`renderIcon`),hoverKeyRef:o,keyboardKeyRef:s,lastToggledSubmenuKeyRef:l,pendingKeyPathRef:d,activeKeyPathRef:f,animatedRef:b(e,`animated`),mergedShowRef:n,nodePropsRef:b(e,`nodeProps`),renderOptionRef:b(e,`renderOption`),menuPropsRef:b(e,`menuProps`),doSelect:S,doUpdateShow:C}),g(n,t=>{!e.animated&&!t&&w()});function S(t,n){let{onSelect:r}=e;r&&q(r,t,n)}function C(n){let{"onUpdate:show":r,onUpdateShow:i}=e;r&&q(r,n),i&&q(i,n),t.value=n}function w(){o.value=null,s.value=null,l.value=null}function T(){C(!1)}function E(){M(`left`)}function D(){M(`right`)}function O(){M(`up`)}function k(){M(`down`)}function A(){let e=j();e?.isLeaf&&n.value&&(S(e.key,e.rawNode),C(!1))}function j(){let{value:e}=i,{value:t}=u;return!e||t===null?null:e.getNode(t)??null}function M(e){let{value:t}=u,{value:{getFirstAvailableNode:n}}=i,r=null;if(t===null){let e=n();e!==null&&(r=e.key)}else{let t=j();if(t){let n;switch(e){case`down`:n=t.getNext();break;case`up`:n=t.getPrev();break;case`right`:n=t.getChild();break;case`left`:n=t.getParent();break}n&&(r=n.key)}}r!==null&&(o.value=null,s.value=r)}let N=r(()=>{let{inverted:t}=e,n=y.value,{common:{cubicBezierEaseInOut:r},self:i}=x.value,{padding:a,dividerColor:o,borderRadius:s,optionOpacityDisabled:c,[H(`optionIconSuffixWidth`,n)]:l,[H(`optionSuffixWidth`,n)]:u,[H(`optionIconPrefixWidth`,n)]:d,[H(`optionPrefixWidth`,n)]:f,[H(`fontSize`,n)]:p,[H(`optionHeight`,n)]:m,[H(`optionIconSize`,n)]:h}=i,g={"--n-bezier":r,"--n-font-size":p,"--n-padding":a,"--n-border-radius":s,"--n-option-height":m,"--n-option-prefix-width":f,"--n-option-icon-prefix-width":d,"--n-option-suffix-width":u,"--n-option-icon-suffix-width":l,"--n-option-icon-size":h,"--n-divider-color":o,"--n-option-opacity-disabled":c};return t?(g[`--n-color`]=i.colorInverted,g[`--n-option-color-hover`]=i.optionColorHoverInverted,g[`--n-option-color-active`]=i.optionColorActiveInverted,g[`--n-option-text-color`]=i.optionTextColorInverted,g[`--n-option-text-color-hover`]=i.optionTextColorHoverInverted,g[`--n-option-text-color-active`]=i.optionTextColorActiveInverted,g[`--n-option-text-color-child-active`]=i.optionTextColorChildActiveInverted,g[`--n-prefix-color`]=i.prefixColorInverted,g[`--n-suffix-color`]=i.suffixColorInverted,g[`--n-group-header-text-color`]=i.groupHeaderTextColorInverted):(g[`--n-color`]=i.color,g[`--n-option-color-hover`]=i.optionColorHover,g[`--n-option-color-active`]=i.optionColorActive,g[`--n-option-text-color`]=i.optionTextColor,g[`--n-option-text-color-hover`]=i.optionTextColorHover,g[`--n-option-text-color-active`]=i.optionTextColorActive,g[`--n-option-text-color-child-active`]=i.optionTextColorChildActive,g[`--n-prefix-color`]=i.prefixColor,g[`--n-suffix-color`]=i.suffixColor,g[`--n-group-header-text-color`]=i.groupHeaderTextColor),g}),P=h?Y(`dropdown`,r(()=>`${y.value[0]}${e.inverted?`i`:``}`),N,e):void 0;return{mergedClsPrefix:m,mergedTheme:x,mergedSize:y,tmNodes:a,mergedShow:n,handleAfterLeave:()=>{e.animated&&w()},doUpdateShow:C,cssVars:h?void 0:N,themeClass:P?.themeClass,onRender:P?.onRender}},render(){let e=(e,t,n,r,i)=>{var a;let{mergedClsPrefix:o,menuProps:s}=this;(a=this.onRender)==null||a.call(this);let c=s?.(void 0,this.tmNodes.map(e=>e.rawNode))||{},d={ref:Re(t),class:[e,`${o}-dropdown`,`${o}-dropdown--${this.mergedSize}-size`,this.themeClass],clsPrefix:o,tmNodes:this.tmNodes,style:[...n,this.cssVars],showArrow:this.showArrow,arrowStyle:this.arrowStyle,scrollable:this.scrollable,onMouseenter:r,onMouseleave:i};return u(at,l(this.$attrs,d,c))},{mergedTheme:t}=this,n={show:this.mergedShow,theme:t.peers.Popover,themeOverrides:t.peerOverrides.Popover,internalOnAfterLeave:this.handleAfterLeave,internalRenderBody:e,onUpdateShow:this.doUpdateShow,"onUpdate:show":void 0};return u(ge,Object.assign({},_e(this.$props,ct),n),{trigger:()=>{var e;return(e=this.$slots).default?.call(e)}})}}),ut={iconSize:`22px`};function dt(e){let{fontSize:t,warningColor:n}=e;return Object.assign(Object.assign({},ut),{fontSize:t,iconColor:n})}var ft=J({name:`Popconfirm`,common:G,peers:{Button:Ee,Popover:fe},self:dt}),pt=I(`n-popconfirm`),mt={positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0}},ht=we(mt),gt=C({name:`NPopconfirmPanel`,props:mt,setup(e){let{localeRef:t}=xe(`Popconfirm`),{inlineThemeDisabled:n}=F(),{mergedClsPrefixRef:i,mergedThemeRef:a,props:s}=o(pt),c=r(()=>{let{common:{cubicBezierEaseInOut:e},self:{fontSize:t,iconSize:n,iconColor:r}}=a.value;return{"--n-bezier":e,"--n-font-size":t,"--n-icon-size":n,"--n-icon-color":r}}),l=n?Y(`popconfirm-panel`,void 0,c,s):void 0;return Object.assign(Object.assign({},xe(`Popconfirm`)),{mergedClsPrefix:i,cssVars:n?void 0:c,localizedPositiveText:r(()=>e.positiveText||t.value.positiveText),localizedNegativeText:r(()=>e.negativeText||t.value.negativeText),positiveButtonProps:b(s,`positiveButtonProps`),negativeButtonProps:b(s,`negativeButtonProps`),handlePositiveClick(t){e.onPositiveClick(t)},handleNegativeClick(t){e.onNegativeClick(t)},themeClass:l?.themeClass,onRender:l?.onRender})},render(){var e;let{mergedClsPrefix:t,showIcon:n,$slots:r}=this,i=L(r.action,()=>this.negativeText===null&&this.positiveText===null?[]:[this.negativeText!==null&&u($,Object.assign({size:`small`,onClick:this.handleNegativeClick},this.negativeButtonProps),{default:()=>this.localizedNegativeText}),this.positiveText!==null&&u($,Object.assign({size:`small`,type:`primary`,onClick:this.handlePositiveClick},this.positiveButtonProps),{default:()=>this.localizedPositiveText})]);return(e=this.onRender)==null||e.call(this),u(`div`,{class:[`${t}-popconfirm__panel`,this.themeClass],style:this.cssVars},ee(r.default,e=>n||e?u(`div`,{class:`${t}-popconfirm__body`},n?u(`div`,{class:`${t}-popconfirm__icon`},L(r.icon,()=>[u(ye,{clsPrefix:t},{default:()=>u(Ce,null)})])):null,e):null),i?u(`div`,{class:[`${t}-popconfirm__action`]},i):null)}}),_t=K(`popconfirm`,[V(`body`,`
126
+ font-size: var(--n-font-size);
127
+ display: flex;
128
+ align-items: center;
129
+ flex-wrap: nowrap;
130
+ position: relative;
131
+ `,[V(`icon`,`
132
+ display: flex;
133
+ font-size: var(--n-icon-size);
134
+ color: var(--n-icon-color);
135
+ transition: color .3s var(--n-bezier);
136
+ margin: 0 8px 0 0;
137
+ `)]),V(`action`,`
138
+ display: flex;
139
+ justify-content: flex-end;
140
+ `,[z(`&:not(:first-child)`,`margin-top: 8px`),K(`button`,[z(`&:not(:last-child)`,`margin-right: 8px;`)])])]),vt=C({name:`Popconfirm`,props:Object.assign(Object.assign(Object.assign({},B.props),pe),{positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},trigger:{type:String,default:`click`},positiveButtonProps:Object,negativeButtonProps:Object,onPositiveClick:Function,onNegativeClick:Function}),slots:Object,__popover__:!0,setup(e){let{mergedClsPrefixRef:t}=F(),n=B(`Popconfirm`,`-popconfirm`,_t,ft,e,t),r=v(null);function i(t){if(!r.value?.getMergedShow())return;let{onPositiveClick:n,"onUpdate:show":i}=e;Promise.resolve(n?n(t):!0).then(e=>{var t;e!==!1&&((t=r.value)==null||t.setShow(!1),i&&q(i,!1))})}function a(t){if(!r.value?.getMergedShow())return;let{onNegativeClick:n,"onUpdate:show":i}=e;Promise.resolve(n?n(t):!0).then(e=>{var t;e!==!1&&((t=r.value)==null||t.setShow(!1),i&&q(i,!1))})}return c(pt,{mergedThemeRef:n,mergedClsPrefixRef:t,props:e}),{setShow(e){var t;(t=r.value)==null||t.setShow(e)},syncPosition(){var e;(e=r.value)==null||e.syncPosition()},mergedTheme:n,popoverInstRef:r,handlePositiveClick:i,handleNegativeClick:a}},render(){let{$slots:e,$props:t,mergedTheme:n}=this;return u(ge,Object.assign({},De(t,ht),{theme:n.peers.Popover,themeOverrides:n.peerOverrides.Popover,internalExtraClass:[`popconfirm`],ref:`popoverInstRef`}),{trigger:e.trigger,default:()=>{let n=_e(t,ht);return u(gt,Object.assign({},n,{onPositiveClick:this.handlePositiveClick,onNegativeClick:this.handleNegativeClick}),e)}})}}),yt={class:`chat-input-area`},bt={key:0,class:`attachment-previews`},xt=[`src`,`alt`],St={key:1,class:`attachment-file`},Ct={class:`file-name`},wt={class:`file-size`},Tt=[`onClick`],Et=[`placeholder`],Dt={class:`input-actions`},Ot=P(C({__name:`ChatInput`,setup(n){let o=Ne(),{t:c}=N(),l=v(``),u=v(),f=v(),m=v([]),h=v(!1),g=v(0),_=v(!1),y=r(()=>l.value.trim()||m.value.length>0);function b(e){if(m.value.find(t=>t.name===e.name))return;let t=Date.now().toString(36)+Math.random().toString(36).slice(2,8),n=URL.createObjectURL(e);m.value.push({id:t,name:e.name,type:e.type,size:e.size,url:n,file:e})}function x(){f.value?.click()}function C(e){let t=e.target;if(t.files){for(let e of t.files)b(e);t.value=``}}function D(e){let t=Array.from(e.clipboardData?.items||[]).filter(e=>e.type.startsWith(`image/`));if(t.length){e.preventDefault();for(let e of t){let t=e.getAsFile();if(!t)continue;let n=e.type.split(`/`)[1]||`png`;b(new File([t],`pasted-${Date.now()}.${n}`,{type:e.type}))}}}function A(e){e.preventDefault()}function P(e){e.preventDefault(),e.dataTransfer?.types.includes(`Files`)&&(g.value++,h.value=!0)}function F(){g.value--,g.value<=0&&(g.value=0,h.value=!1)}function ee(e){e.preventDefault(),g.value=0,h.value=!1;let t=Array.from(e.dataTransfer?.files||[]);if(t.length){for(let e of t)b(e);u.value?.focus()}}function I(){let e=l.value.trim();!e&&m.value.length===0||(o.sendMessage(e,m.value.length>0?m.value:void 0),l.value=``,m.value=[],u.value&&(u.value.style.height=`auto`))}function L(){_.value=!0}function R(){requestAnimationFrame(()=>{_.value=!1})}function z(e){return _.value||e.isComposing||e.keyCode===229}function B(e){e.key!==`Enter`||e.shiftKey||z(e)||(e.preventDefault(),I())}function V(e){let t=e.target;t.style.height=`auto`,t.style.height=Math.min(t.scrollHeight,100)+`px`}function H(e){let t=m.value.findIndex(t=>t.id===e);t!==-1&&(URL.revokeObjectURL(m.value[t].url),m.value.splice(t,1))}function U(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function W(e){return e.startsWith(`image/`)}return(n,r)=>(s(),i(`div`,yt,[m.value.length>0?(s(),i(`div`,bt,[(s(!0),i(M,null,k(m.value,e=>(s(),i(`div`,{key:e.id,class:E([`attachment-preview`,{image:W(e.type)}])},[W(e.type)?(s(),i(`img`,{key:0,src:e.url,alt:e.name,class:`attachment-thumb`},null,8,xt)):(s(),i(`div`,St,[r[2]||=j(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[j(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),j(`polyline`,{points:`14 2 14 8 20 8`})],-1),j(`span`,Ct,S(e.name),1),j(`span`,wt,S(U(e.size)),1)])),j(`button`,{class:`attachment-remove`,onClick:t=>H(e.id)},[...r[3]||=[j(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[j(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),j(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]],8,Tt)],2))),128))])):a(``,!0),j(`div`,{class:E([`input-wrapper`,{"drag-over":h.value}]),onDragover:A,onDragenter:P,onDragleave:F,onDrop:ee},[j(`input`,{ref_key:`fileInputRef`,ref:f,type:`file`,multiple:``,class:`file-input-hidden`,onChange:C},null,544),e(j(`textarea`,{ref_key:`textareaRef`,ref:u,"onUpdate:modelValue":r[0]||=e=>l.value=e,class:`input-textarea`,placeholder:O(c)(`chat.inputPlaceholder`),rows:`1`,onKeydown:B,onCompositionstart:L,onCompositionend:R,onInput:V,onPaste:D},null,40,Et),[[T,l.value]]),j(`div`,Dt,[t(O(ke),{trigger:`hover`},{trigger:d(()=>[t(O($),{quaternary:``,size:`small`,onClick:x,circle:``},{icon:d(()=>[...r[4]||=[j(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[j(`path`,{d:`M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48`})],-1)]]),_:1})]),default:d(()=>[w(` `+S(O(c)(`chat.attachFiles`)),1)]),_:1}),O(o).isStreaming?(s(),p(O($),{key:0,size:`small`,type:`error`,onClick:r[1]||=e=>O(o).stopStreaming()},{default:d(()=>[w(S(O(c)(`chat.stop`)),1)]),_:1})):a(``,!0),t(O($),{size:`small`,type:`primary`,disabled:!y.value||O(o).isStreaming,onClick:I},{icon:d(()=>[...r[5]||=[j(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[j(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`}),j(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`})],-1)]]),default:d(()=>[w(` `+S(O(c)(`chat.send`)),1)]),_:1},8,[`disabled`])])],34)]))}}),[[`__scopeId`,`data-v-9ceae9e7`]]),kt={key:1,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`tool-icon`},At={class:`tool-name`},jt={key:2,class:`tool-preview`},Mt={key:3,class:`tool-spinner`},Nt={key:4,class:`tool-error-badge`},Pt={key:0,class:`tool-details`},Ft={key:0,class:`tool-detail-section`},It={class:`tool-detail-label`},Lt={class:`tool-detail-code`},Rt={key:1,class:`tool-detail-section`},zt={class:`tool-detail-label`},Bt={class:`tool-detail-code`},Vt={key:1,class:`msg-body`},Ht={key:0,src:je,alt:`Hermes`,class:`msg-avatar`},Ut={key:0,class:`msg-attachments`},Wt=[`src`,`alt`],Gt={key:1,class:`msg-attachment-file`},Kt={class:`att-name`},qt={class:`att-size`},Jt={key:2,class:`streaming-dots`},Yt={class:`message-time`},Xt=P(C({__name:`MessageItem`,props:{message:{}},setup(e){let t=e,{t:n}=N(),o=r(()=>t.message.role===`system`),c=v(!1),l=r(()=>new Date(t.message.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}));function u(e){return e.startsWith(`image/`)}function d(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}let f=r(()=>(t.message.attachments?.length??0)>0),m=r(()=>!!(t.message.toolArgs||t.message.toolResult)),h=r(()=>{if(!t.message.toolArgs)return``;try{return JSON.stringify(JSON.parse(t.message.toolArgs),null,2)}catch{return t.message.toolArgs}}),g=r(()=>{if(!t.message.toolResult)return``;try{let e=JSON.parse(t.message.toolResult),r=JSON.stringify(e,null,2);return r.length>2e3?r.slice(0,2e3)+`
141
+ `+n(`chat.truncated`):r}catch{let e=t.message.toolResult;return e.length>2e3?e.slice(0,2e3)+`
142
+ `+n(`chat.truncated`):e}});return(t,r)=>(s(),i(`div`,{class:E([`message`,[e.message.role]])},[e.message.role===`tool`?(s(),i(M,{key:0},[j(`div`,{class:E([`tool-line`,{expandable:m.value}]),onClick:r[0]||=e=>m.value&&(c.value=!c.value)},[m.value?(s(),i(`svg`,{key:0,width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:E([`tool-chevron`,{rotated:c.value}])},[...r[1]||=[j(`polyline`,{points:`9 18 15 12 9 6`},null,-1)]],2)):(s(),i(`svg`,kt,[...r[2]||=[j(`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z`},null,-1)]])),j(`span`,At,S(e.message.toolName),1),e.message.toolPreview&&!c.value?(s(),i(`span`,jt,S(e.message.toolPreview),1)):a(``,!0),e.message.toolStatus===`running`?(s(),i(`span`,Mt)):a(``,!0),e.message.toolStatus===`error`?(s(),i(`span`,Nt,S(O(n)(`chat.error`)),1)):a(``,!0)],2),c.value&&m.value?(s(),i(`div`,Pt,[h.value?(s(),i(`div`,Ft,[j(`div`,It,S(O(n)(`chat.arguments`)),1),j(`pre`,Lt,S(h.value),1)])):a(``,!0),g.value?(s(),i(`div`,Rt,[j(`div`,zt,S(O(n)(`chat.result`)),1),j(`pre`,Bt,S(g.value),1)])):a(``,!0)])):a(``,!0)],64)):(s(),i(`div`,Vt,[e.message.role===`assistant`?(s(),i(`img`,Ht)):a(``,!0),j(`div`,{class:E([`msg-content`,e.message.role])},[j(`div`,{class:E([`message-bubble`,{system:o.value}])},[f.value?(s(),i(`div`,Ut,[(s(!0),i(M,null,k(e.message.attachments,e=>(s(),i(`div`,{key:e.id,class:E([`msg-attachment`,{image:u(e.type)}])},[u(e.type)&&e.url?(s(),i(`img`,{key:0,src:e.url,alt:e.name,class:`msg-attachment-thumb`},null,8,Wt)):(s(),i(`div`,Gt,[r[3]||=j(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[j(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),j(`polyline`,{points:`14 2 14 8 20 8`})],-1),j(`span`,Kt,S(e.name),1),j(`span`,qt,S(d(e.size)),1)]))],2))),128))])):a(``,!0),e.message.content?(s(),p(Fe,{key:1,content:e.message.content},null,8,[`content`])):a(``,!0),e.message.isStreaming&&!e.message.content?(s(),i(`span`,Jt,[...r[4]||=[j(`span`,null,null,-1),j(`span`,null,null,-1),j(`span`,null,null,-1)]])):a(``,!0)],2),j(`div`,Yt,S(l.value),1)],2)]))],2))}}),[[`__scopeId`,`data-v-e05b15e8`]]),Zt=`/assets/thinking-Cwsva50h.mp4`,Qt={key:0,class:`empty-state`},$t={key:0,class:`streaming-indicator`},en=[`src`],tn={key:0,class:`tool-calls-panel`},nn={class:`tool-call-name`},rn={key:0,class:`tool-call-preview`},an={key:1,class:`tool-call-spinner`},on={key:2,class:`tool-call-error`},sn=P(C({__name:`MessageList`,setup(e){let n=Ne(),{t:o}=N(),c=v(),l=r(()=>n.messages.filter(e=>e.role!==`tool`)),u=r(()=>{let e=n.messages,t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}return[...e.filter((e,n)=>e.role===`tool`&&n>t)].reverse()});function m(){f(()=>{c.value&&(c.value.scrollTop=c.value.scrollHeight)})}return g(()=>n.messages.length,m),g(()=>n.messages[n.messages.length-1]?.content,m),g(()=>n.isStreaming,e=>{e&&m()}),g(u,m),(e,r)=>(s(),i(`div`,{ref_key:`listRef`,ref:c,class:`message-list`},[O(n).messages.length===0?(s(),i(`div`,Qt,[r[0]||=j(`img`,{src:`/logo.png`,alt:`Hermes`,class:`empty-logo`},null,-1),j(`p`,null,S(O(o)(`chat.emptyState`)),1)])):a(``,!0),(s(!0),i(M,null,k(l.value,e=>(s(),p(Xt,{key:e.id,message:e},null,8,[`message`]))),128)),t(y,{name:`fade`},{default:d(()=>[O(n).isStreaming?(s(),i(`div`,$t,[j(`video`,{src:O(Zt),autoplay:``,loop:``,muted:``,playsinline:``,class:`thinking-video`},null,8,en),u.value.length>0?(s(),i(`div`,tn,[(s(!0),i(M,null,k(u.value,e=>(s(),i(`div`,{key:e.id,class:`tool-call-item`},[r[1]||=j(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`tool-call-icon`},[j(`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z`})],-1),j(`span`,nn,S(e.toolName),1),e.toolPreview?(s(),i(`span`,rn,S(e.toolPreview),1)):a(``,!0),e.toolStatus===`running`?(s(),i(`span`,an)):a(``,!0),e.toolStatus===`error`?(s(),i(`span`,on,S(O(o)(`chat.error`)),1)):a(``,!0)]))),128))])):a(``,!0)])):a(``,!0)]),_:1})],512))}}),[[`__scopeId`,`data-v-21c7a8d2`]]),cn={class:`chat-panel`},ln={class:`session-list-header`},un={key:0,class:`session-list-title`},dn={key:0,class:`session-items`},fn={key:0,class:`session-loading`},pn={key:1,class:`session-empty`},mn=[`onClick`],hn={class:`session-group-label`},gn={class:`session-group-count`},_n=[`onClick`,`onContextmenu`],vn={class:`session-item-content`},yn={class:`session-item-title`},bn={class:`session-item-meta`},xn={key:0,class:`session-item-model`},Sn={class:`session-item-time`},Cn={class:`chat-main`},wn={class:`chat-header`},Tn={class:`header-left`},En={class:`header-session-title`},Dn={key:0,class:`source-badge`},On={class:`header-actions`},kn={key:0,class:`context-info`},An=P(C({__name:`ChatPanel`,setup(e){let n=Ne(),o=Ae(),{t:c}=N(),l=v(!0),u=v(!1),m=v(``),h=v(null),y=v(null),b=v(new Set(JSON.parse(localStorage.getItem(`hermes_collapsed_groups`)||`[]`))),C={telegram:`Telegram`,api_server:`API Server`,cli:`CLI`,discord:`Discord`,slack:`Slack`,matrix:`Matrix`,whatsapp:`WhatsApp`,signal:`Signal`,email:`Email`,sms:`SMS`,dingtalk:`DingTalk`,feishu:`Feishu`,wecom:`WeCom`,weixin:`WeChat`,bluebubbles:`iMessage`,mattermost:`Mattermost`,cron:`Cron`};function T(e){return e?C[e]||e:``}function D(e){return e===`api_server`?-1:e===`cron`?999:0}let A=r(()=>{let e=[...n.sessions].sort((e,t)=>t.createdAt-e.createdAt),t=new Map;for(let n of e){let e=n.source||``;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.keys()].sort((e,t)=>{let n=D(e),r=D(t);return n===r?e.localeCompare(t):n-r}).map(e=>({source:e,label:e?T(e):c(`chat.other`),sessions:t.get(e)}))});function P(e){if(!b.value.has(e))b.value=new Set([...b.value,e]);else{b.value=new Set(A.value.map(e=>e.source).filter(t=>t!==e));let t=A.value.find(t=>t.source===e);t?.sessions.length&&n.switchSession(t.sessions[0].id)}localStorage.setItem(`hermes_collapsed_groups`,JSON.stringify([...b.value]))}g(A,e=>{localStorage.getItem(`hermes_collapsed_groups`)===null&&(b.value=new Set(e.slice(1).map(e=>e.source)),localStorage.setItem(`hermes_collapsed_groups`,JSON.stringify([...b.value])))},{once:!0});let F=r(()=>n.activeSession?.title||c(`chat.newChat`)),ee=r(()=>(n.activeSession?.inputTokens??0)+(n.activeSession?.outputTokens??0)),I={"claude-opus-4":2e5,"claude-sonnet-4":2e5,"claude-haiku-4":2e5,"claude-3.5-sonnet":2e5,"claude-3.5-haiku":2e5,"claude-3-opus":2e5,"claude-3-sonnet":2e5,"claude-3-haiku":2e5,"gpt-4o":128e3,"gpt-4o-mini":128e3,"gpt-4-turbo":128e3,"gpt-4":8192,"gpt-3.5-turbo":16385,o1:2e5,"o1-mini":128e3,o3:2e5,"o3-mini":2e5,"o4-mini":2e5,"deepseek-chat":65536,"deepseek-reasoner":65536,"gemini-2.5-pro":1e6,"gemini-2.5-flash":1e6,"gemini-2.0-flash":1e6,"glm-4-plus":128e3,"glm-4":128e3,"qwen-max":128e3,"qwen-plus":128e3,"qwen-turbo":128e3},L=r(()=>{let e=n.activeSession?.model||``;for(let[t,n]of Object.entries(I))if(e.includes(t))return n;return null});function R(e){return e>=1e6?(e/1e6).toFixed(1)+`M`:e>=1e3?(e/1e3).toFixed(1)+`k`:String(e)}let z=r(()=>n.activeSession?.source||``);function B(){n.newChat()}function V(e){let t=e||n.activeSessionId;t&&(navigator.clipboard.writeText(t),o.success(c(`common.copied`)))}function H(e){n.deleteSession(e),o.success(c(`chat.sessionDeleted`))}function U(e){let t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):t.toLocaleDateString([],{month:`short`,day:`numeric`})}let W=r(()=>[{label:c(`chat.rename`),key:`rename`},{label:c(`chat.copySessionId`),key:`copy-id`}]),G=v(null);function K(e,t){e.preventDefault(),G.value=t,q.value=!0,J.value=e.clientX,te.value=e.clientY}let q=v(!1),J=v(0),te=v(0);function ne(e){if(q.value=!1,G.value){if(e===`copy-id`)V(G.value);else if(e===`rename`){let e=n.sessions.find(e=>e.id===G.value);h.value=G.value,m.value=e?.title||``,u.value=!0,f(()=>{y.value?.focus()})}}}function Y(){q.value=!1}async function re(){if(!(!h.value||!m.value.trim())){if(await Pe(h.value,m.value.trim())){let e=n.sessions.find(e=>e.id===h.value);e&&(e.title=m.value.trim()),n.activeSession?.id===h.value&&(n.activeSession.title=m.value.trim()),o.success(c(`chat.renamed`))}else o.error(c(`chat.renameFailed`));u.value=!1}}return(e,r)=>(s(),i(`div`,cn,[j(`aside`,{class:E([`session-list`,{collapsed:!l.value}])},[j(`div`,ln,[l.value?(s(),i(`span`,un,S(O(c)(`chat.sessions`)),1)):a(``,!0),t(O($),{quaternary:``,size:`tiny`,onClick:B,circle:``},{icon:d(()=>[...r[5]||=[j(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[j(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),j(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),_:1})]),l.value?(s(),i(`div`,dn,[O(n).isLoadingSessions&&O(n).sessions.length===0?(s(),i(`div`,fn,S(O(c)(`common.loading`)),1)):O(n).sessions.length===0?(s(),i(`div`,pn,S(O(c)(`chat.noSessions`)),1)):a(``,!0),(s(!0),i(M,null,k(A.value,e=>(s(),i(M,{key:e.source},[j(`div`,{class:`session-group-header`,onClick:t=>P(e.source)},[(s(),i(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:E([`group-chevron`,{collapsed:b.value.has(e.source)}])},[...r[6]||=[j(`polyline`,{points:`9 18 15 12 9 6`},null,-1)]],2)),j(`span`,hn,S(e.label),1),j(`span`,gn,S(e.sessions.length),1)],8,mn),b.value.has(e.source)?a(``,!0):(s(!0),i(M,{key:0},k(e.sessions,e=>(s(),i(`button`,{key:e.id,class:E([`session-item`,{active:e.id===O(n).activeSessionId}]),onClick:t=>O(n).switchSession(e.id),onContextmenu:t=>K(t,e.id)},[j(`div`,vn,[j(`span`,yn,S(e.title),1),j(`span`,bn,[e.model?(s(),i(`span`,xn,S(e.model),1)):a(``,!0),j(`span`,Sn,S(U(e.createdAt)),1)])]),e.id!==O(n).activeSessionId||O(n).sessions.length>1?(s(),p(O(vt),{key:0,onPositiveClick:t=>H(e.id)},{trigger:d(()=>[j(`button`,{class:`session-item-delete`,onClick:r[0]||=_(()=>{},[`stop`])},[...r[7]||=[j(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[j(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),j(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]])]),default:d(()=>[w(` `+S(O(c)(`chat.deleteSession`)),1)]),_:1},8,[`onPositiveClick`])):a(``,!0)],42,_n))),128))],64))),128))])):a(``,!0)],2),t(O(lt),{placement:`bottom-start`,trigger:`manual`,x:J.value,y:te.value,options:W.value,show:q.value,onSelect:ne,onClickoutside:Y},null,8,[`x`,`y`,`options`,`show`]),t(O(Te),{show:u.value,"onUpdate:show":r[2]||=e=>u.value=e,preset:`dialog`,title:O(c)(`chat.renameSession`),"positive-text":O(c)(`common.ok`),"negative-text":O(c)(`common.cancel`),onPositiveClick:re},{default:d(()=>[t(O(Oe),{ref_key:`renameInputRef`,ref:y,value:m.value,"onUpdate:value":r[1]||=e=>m.value=e,placeholder:O(c)(`chat.enterNewTitle`),onKeydown:x(re,[`enter`])},null,8,[`value`,`placeholder`])]),_:1},8,[`show`,`title`,`positive-text`,`negative-text`]),j(`div`,Cn,[j(`header`,wn,[j(`div`,Tn,[t(O($),{quaternary:``,size:`small`,onClick:r[3]||=e=>l.value=!l.value,circle:``},{icon:d(()=>[...r[8]||=[j(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[j(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`}),j(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`}),j(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`}),j(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`})],-1)]]),_:1}),j(`span`,En,S(F.value),1),z.value?(s(),i(`span`,Dn,S(T(z.value)),1)):a(``,!0)]),j(`div`,On,[t(O(ke),{trigger:`hover`},{trigger:d(()=>[t(O($),{quaternary:``,size:`small`,onClick:r[4]||=e=>V(),circle:``},{icon:d(()=>[...r[9]||=[j(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[j(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`,ry:`2`}),j(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})],-1)]]),_:1})]),default:d(()=>[w(` `+S(O(c)(`chat.copySessionId`)),1)]),_:1}),t(O($),{size:`small`,onClick:B},{icon:d(()=>[...r[10]||=[j(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[j(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),j(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),default:d(()=>[w(` `+S(O(c)(`chat.newChat`)),1)]),_:1})])]),t(sn),L.value===null?a(``,!0):(s(),i(`div`,kn,[j(`span`,null,S(R(ee.value))+` / `+S(R(L.value)),1)])),t(Ot)])]))}}),[[`__scopeId`,`data-v-8f5779ae`]]),jn={class:`chat-view`},Mn=P(C({__name:`ChatView`,setup(e){let n=Me(),r=Ne();return m(()=>{n.loadModels(),r.loadSessions()}),(e,n)=>(s(),i(`div`,jn,[t(An)]))}}),[[`__scopeId`,`data-v-d35d4d9c`]]);export{Mn as default};
@@ -0,0 +1 @@
1
+ .chat-input-area[data-v-9ceae9e7]{border-top:1px solid #e0e0e0;flex-shrink:0;padding:12px 20px 16px}.attachment-previews[data-v-9ceae9e7]{flex-wrap:wrap;gap:8px;padding:0 0 10px;display:flex}.attachment-preview[data-v-9ceae9e7]{background-color:#f0f0f0;border:1px solid #e0e0e0;border-radius:6px;position:relative;overflow:hidden}.attachment-preview.image[data-v-9ceae9e7]{width:64px;height:64px}.attachment-thumb[data-v-9ceae9e7]{object-fit:cover;width:100%;height:100%}.attachment-file[data-v-9ceae9e7]{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:80px;max-width:140px;padding:8px 12px;display:flex}.attachment-file .file-name[data-v-9ceae9e7]{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.attachment-file .file-size[data-v-9ceae9e7]{color:#999;font-size:10px}.attachment-remove[data-v-9ceae9e7]{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .15s;display:flex;position:absolute;top:2px;right:2px}.attachment-preview:hover .attachment-remove[data-v-9ceae9e7]{opacity:1}.file-input-hidden[data-v-9ceae9e7]{display:none}.input-wrapper[data-v-9ceae9e7]{background-color:#fff;border:1px solid #e0e0e0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.input-wrapper[data-v-9ceae9e7]:focus-within{border-color:#333}.input-textarea[data-v-9ceae9e7]{color:#1a1a1a;resize:none;background:0 0;border:none;outline:none;flex:1;min-height:20px;max-height:100px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;overflow-y:auto}.input-textarea[data-v-9ceae9e7]::placeholder{color:#999}.input-actions[data-v-9ceae9e7]{flex-shrink:0;align-items:center;gap:6px;display:flex}.input-wrapper.drag-over[data-v-9ceae9e7]{background-color:#4a90d90a;border-style:dashed;border-color:#4a90d9}.message[data-v-e05b15e8]{flex-direction:column;display:flex}.message.user[data-v-e05b15e8]{align-items:flex-end}.message.user .msg-body[data-v-e05b15e8]{max-width:75%}.message.user .msg-content.user[data-v-e05b15e8]{align-items:flex-end}.message.user .message-bubble[data-v-e05b15e8]{background-color:#e8e8e8;border-radius:10px 10px 4px}.message.assistant[data-v-e05b15e8]{flex-direction:row;align-items:flex-start;gap:8px}.message.assistant .msg-body[data-v-e05b15e8]{max-width:80%}.message.assistant .msg-avatar[data-v-e05b15e8]{flex-shrink:0;width:40px;height:40px;margin-top:2px}.message.assistant .message-bubble[data-v-e05b15e8]{background-color:#f5f5f5;border-radius:10px 10px 10px 4px}.message.tool[data-v-e05b15e8],.message.system[data-v-e05b15e8]{align-items:flex-start}.message.system .message-bubble.system[data-v-e05b15e8]{background-color:#f57f170f;border-left:3px solid #f57f17;border-radius:6px;max-width:80%}.msg-body[data-v-e05b15e8]{align-items:flex-start;gap:8px;max-width:85%;display:flex}.msg-content[data-v-e05b15e8]{flex-direction:column;min-width:0;display:flex}.message-bubble[data-v-e05b15e8]{word-break:break-word;padding:10px 14px;font-size:14px;line-height:1.65}.msg-attachments[data-v-e05b15e8]{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.msg-attachment[data-v-e05b15e8]{background-color:#0000000a;border:1px solid #ebebeb;border-radius:6px;overflow:hidden}.msg-attachment.image[data-v-e05b15e8]{max-width:200px}.msg-attachment-thumb[data-v-e05b15e8]{object-fit:contain;max-width:200px;max-height:160px;display:block}.msg-attachment-file[data-v-e05b15e8]{color:#666;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.msg-attachment-file .att-name[data-v-e05b15e8]{white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.msg-attachment-file .att-size[data-v-e05b15e8]{color:#999;flex-shrink:0;font-size:11px}.message-time[data-v-e05b15e8]{color:#999;margin-top:4px;padding:0 4px;font-size:11px}.tool-line[data-v-e05b15e8]{color:#999;border-radius:6px;align-items:center;gap:6px;padding:2px 4px;font-size:11px;display:flex}.tool-line.expandable[data-v-e05b15e8]{cursor:pointer}.tool-line.expandable[data-v-e05b15e8]:hover{background:#00000008}.tool-line .tool-name[data-v-e05b15e8]{flex-shrink:0;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.tool-line .tool-preview[data-v-e05b15e8]{text-overflow:ellipsis;white-space:nowrap;max-width:400px;overflow:hidden}.tool-chevron[data-v-e05b15e8]{flex-shrink:0;transition:transform .15s}.tool-chevron.rotated[data-v-e05b15e8]{transform:rotate(90deg)}.tool-spinner[data-v-e05b15e8]{border:1.5px solid #999;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.6s linear infinite spin-e05b15e8}.tool-error-badge[data-v-e05b15e8]{color:#c62828;background:#c6282814;border-radius:3px;padding:0 4px;font-size:9px;line-height:14px}.tool-details[data-v-e05b15e8]{border-left:2px solid #ebebeb;margin-top:2px;margin-left:16px;padding-left:10px}.tool-detail-section[data-v-e05b15e8]{margin-bottom:6px}.tool-detail-label[data-v-e05b15e8]{color:#999;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;font-size:10px;font-weight:600}.tool-detail-code[data-v-e05b15e8]{color:#666;white-space:pre-wrap;word-break:break-all;background:#f4f4f4;border-radius:6px;max-height:300px;margin:0;padding:6px 8px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}@keyframes spin-e05b15e8{to{transform:rotate(360deg)}}.streaming-cursor[data-v-e05b15e8]{vertical-align:text-bottom;background-color:#999;width:2px;height:1em;margin-left:2px;animation:.8s infinite blink-e05b15e8;display:inline-block}.streaming-dots[data-v-e05b15e8]{gap:4px;padding:4px 0;display:flex}.streaming-dots span[data-v-e05b15e8]{background-color:#999;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse-e05b15e8}.streaming-dots span[data-v-e05b15e8]:nth-child(2){animation-delay:.2s}.streaming-dots span[data-v-e05b15e8]:nth-child(3){animation-delay:.4s}@keyframes blink-e05b15e8{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse-e05b15e8{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.message-list[data-v-21c7a8d2]{background-color:#fff;flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.empty-state[data-v-21c7a8d2]{color:#999;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.empty-state .empty-logo[data-v-21c7a8d2]{opacity:.25;width:48px;height:48px}.empty-state p[data-v-21c7a8d2]{font-size:14px}.fade-enter-active[data-v-21c7a8d2],.fade-leave-active[data-v-21c7a8d2]{transition:opacity .4s}.fade-enter-from[data-v-21c7a8d2],.fade-leave-to[data-v-21c7a8d2]{opacity:0}.streaming-indicator[data-v-21c7a8d2]{align-items:flex-start;gap:12px;padding:4px;display:flex}.streaming-indicator .thinking-video[data-v-21c7a8d2]{object-fit:contain;border-radius:10px;flex-shrink:0;width:120px;height:120px}.tool-calls-panel[data-v-21c7a8d2]{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:4px;max-height:120px;padding-top:4px;display:flex;overflow-y:auto}.tool-calls-panel[data-v-21c7a8d2]::-webkit-scrollbar{display:none}.tool-call-item[data-v-21c7a8d2]{color:#666;background:#00000008;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:flex}.tool-call-item .tool-call-icon[data-v-21c7a8d2]{color:#999;flex-shrink:0}.tool-call-item .tool-call-name[data-v-21c7a8d2]{flex-shrink:0;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.tool-call-item .tool-call-preview[data-v-21c7a8d2]{text-overflow:ellipsis;white-space:nowrap;color:#999;max-width:300px;overflow:hidden}.tool-call-spinner[data-v-21c7a8d2]{border:1.5px solid #999;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.6s linear infinite spin-21c7a8d2}.tool-call-error[data-v-21c7a8d2]{color:#c62828;background:#c6282814;border-radius:3px;padding:0 4px;font-size:9px;line-height:14px}@keyframes spin-21c7a8d2{to{transform:rotate(360deg)}}.chat-panel[data-v-8f5779ae]{height:100%;display:flex}.session-list[data-v-8f5779ae]{border-right:1px solid #e0e0e0;flex-direction:column;flex-shrink:0;width:220px;transition:width .25s,opacity .25s;display:flex;overflow:hidden}.session-list.collapsed[data-v-8f5779ae]{opacity:0;pointer-events:none;border-right:none;width:0}.session-list-header[data-v-8f5779ae]{flex-shrink:0;justify-content:space-between;align-items:center;padding:12px;display:flex}.session-list-title[data-v-8f5779ae]{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.session-group-header[data-v-8f5779ae]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:6px 10px 4px;display:flex}.group-chevron[data-v-8f5779ae]{flex-shrink:0;transition:transform .15s;transform:rotate(90deg)}.group-chevron.collapsed[data-v-8f5779ae]{transform:rotate(0)}.session-group-label[data-v-8f5779ae]{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.session-group-count[data-v-8f5779ae]{color:#999;font-size:10px;font-weight:400}.session-items[data-v-8f5779ae]{flex:1;padding:0 6px 12px;overflow-y:auto}.session-loading[data-v-8f5779ae],.session-empty[data-v-8f5779ae]{color:#999;text-align:center;padding:16px 10px;font-size:12px}.session-item[data-v-8f5779ae]{cursor:pointer;text-align:left;color:#666;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;margin-bottom:2px;padding:8px 10px;transition:all .15s;display:flex}.session-item[data-v-8f5779ae]:hover{color:#1a1a1a;background:#3333330f}.session-item:hover .session-item-delete[data-v-8f5779ae]{opacity:1}.session-item.active[data-v-8f5779ae]{color:#1a1a1a;background:#3333331a;font-weight:500}.session-item-content[data-v-8f5779ae]{flex:1;overflow:hidden}.session-item-title[data-v-8f5779ae]{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.session-item-time[data-v-8f5779ae]{color:#999;font-size:11px}.session-item-meta[data-v-8f5779ae]{align-items:center;gap:6px;margin-top:2px;display:flex}.session-item-model[data-v-8f5779ae]{color:#333;text-overflow:ellipsis;white-space:nowrap;background:#33333314;border-radius:3px;flex-shrink:0;max-width:100px;padding:0 5px;font-size:10px;line-height:16px;overflow:hidden}.session-item-delete[data-v-8f5779ae]{opacity:0;color:#999;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:2px;transition:all .15s}.session-item-delete[data-v-8f5779ae]:hover{color:#c62828;background:#c628281a}.chat-main[data-v-8f5779ae]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-header[data-v-8f5779ae]{border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:center;padding:21px 20px;display:flex}.header-left[data-v-8f5779ae]{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.header-session-title[data-v-8f5779ae]{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.source-badge[data-v-8f5779ae]{color:#999;white-space:nowrap;background:#9999991f;border-radius:8px;flex-shrink:0;padding:1px 7px;font-size:10px;line-height:16px}.header-actions[data-v-8f5779ae]{flex-shrink:0;align-items:center;gap:4px;display:flex}.context-info[data-v-8f5779ae]{color:#999;flex-shrink:0;padding:0 20px 4px;font-size:11px}.chat-view[data-v-d35d4d9c]{flex-direction:column;height:100vh;display:flex}
@@ -0,0 +1,45 @@
1
+ import{C as e,N as t,dt as n,j as r}from"./router-Ddepf70Q.js";import{at as i,l as a,lt as o,ot as s,ut as c}from"./browser-Bf2Q3p4g.js";import{c as l,s as u}from"./Suffix-C1X_jn5E.js";function d(t,n){return e(()=>{for(let e of n)if(t[e]!==void 0)return t[e];return t[n[n.length-1]]})}var f=u(`close`,()=>t(`svg`,{viewBox:`0 0 12 12`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":!0},t(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},t(`g`,{fill:`currentColor`,"fill-rule":`nonzero`},t(`path`,{d:`M2.08859116,2.2156945 L2.14644661,2.14644661 C2.32001296,1.97288026 2.58943736,1.95359511 2.7843055,2.08859116 L2.85355339,2.14644661 L6,5.293 L9.14644661,2.14644661 C9.34170876,1.95118446 9.65829124,1.95118446 9.85355339,2.14644661 C10.0488155,2.34170876 10.0488155,2.65829124 9.85355339,2.85355339 L6.707,6 L9.85355339,9.14644661 C10.0271197,9.32001296 10.0464049,9.58943736 9.91140884,9.7843055 L9.85355339,9.85355339 C9.67998704,10.0271197 9.41056264,10.0464049 9.2156945,9.91140884 L9.14644661,9.85355339 L6,6.707 L2.85355339,9.85355339 C2.65829124,10.0488155 2.34170876,10.0488155 2.14644661,9.85355339 C1.95118446,9.65829124 1.95118446,9.34170876 2.14644661,9.14644661 L5.293,6 L2.14644661,2.85355339 C1.97288026,2.67998704 1.95359511,2.41056264 2.08859116,2.2156945 L2.14644661,2.14644661 L2.08859116,2.2156945 Z`}))))),p=s(`base-close`,`
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ cursor: pointer;
6
+ background-color: transparent;
7
+ color: var(--n-close-icon-color);
8
+ border-radius: var(--n-close-border-radius);
9
+ height: var(--n-close-size);
10
+ width: var(--n-close-size);
11
+ font-size: var(--n-close-icon-size);
12
+ outline: none;
13
+ border: none;
14
+ position: relative;
15
+ padding: 0;
16
+ `,[o(`absolute`,`
17
+ height: var(--n-close-icon-size);
18
+ width: var(--n-close-icon-size);
19
+ `),i(`&::before`,`
20
+ content: "";
21
+ position: absolute;
22
+ width: var(--n-close-size);
23
+ height: var(--n-close-size);
24
+ left: 50%;
25
+ top: 50%;
26
+ transform: translateY(-50%) translateX(-50%);
27
+ transition: inherit;
28
+ border-radius: inherit;
29
+ `),c(`disabled`,[i(`&:hover`,`
30
+ color: var(--n-close-icon-color-hover);
31
+ `),i(`&:hover::before`,`
32
+ background-color: var(--n-close-color-hover);
33
+ `),i(`&:focus::before`,`
34
+ background-color: var(--n-close-color-hover);
35
+ `),i(`&:active`,`
36
+ color: var(--n-close-icon-color-pressed);
37
+ `),i(`&:active::before`,`
38
+ background-color: var(--n-close-color-pressed);
39
+ `)]),o(`disabled`,`
40
+ cursor: not-allowed;
41
+ color: var(--n-close-icon-color-disabled);
42
+ background-color: transparent;
43
+ `),o(`round`,[i(`&::before`,`
44
+ border-radius: 50%;
45
+ `)])]),m=r({name:`BaseClose`,props:{isButtonTag:{type:Boolean,default:!0},clsPrefix:{type:String,required:!0},disabled:{type:Boolean,default:void 0},focusable:{type:Boolean,default:!0},round:Boolean,onClick:Function,absolute:Boolean},setup(e){return a(`-base-close`,p,n(e,`clsPrefix`)),()=>{let{clsPrefix:n,disabled:r,absolute:i,round:a,isButtonTag:o}=e;return t(o?`button`:`div`,{type:o?`button`:void 0,tabindex:r||!e.focusable?-1:0,"aria-disabled":r,"aria-label":`close`,role:o?void 0:`button`,disabled:r,class:[`${n}-base-close`,i&&`${n}-base-close--absolute`,r&&`${n}-base-close--disabled`,a&&`${n}-base-close--round`],onMousedown:t=>{e.focusable||t.preventDefault()},onClick:e.onClick},t(l,{clsPrefix:n},{default:()=>t(f,null)}))}}});export{d as n,m as t};
@@ -0,0 +1,110 @@
1
+ import{C as e,F as t,K as n,M as r,N as i,U as a,V as o,X as s,ct as c,d as l,dt as u,j as d}from"./router-Ddepf70Q.js";import{B as f,K as p,L as m,Q as h,Y as g,at as _,c as v,ct as y,dt as b,lt as x,n as S,ot as C,u as w,z as ee}from"./browser-Bf2Q3p4g.js";import{I as te,c as ne,h as T}from"./Popover-pOQtxFC1.js";import{f as E}from"./Modal-D421R1s7.js";function re(e,n,i){let a=t(e,null);if(a===null)return;let c=r()?.proxy;s(i,l),l(i.value),o(()=>{l(void 0,i.value)});function l(e,t){if(!a)return;let r=a[n];t!==void 0&&u(r,t),e!==void 0&&d(r,e)}function u(e,t){e[t]||(e[t]=[]),e[t].splice(e[t].findIndex(e=>e===c),1)}function d(e,t){e[t]||(e[t]=[]),~e[t].findIndex(e=>e===c)||e[t].push(c)}}var D={feedbackPadding:`4px 0 0 2px`,feedbackHeightSmall:`24px`,feedbackHeightMedium:`24px`,feedbackHeightLarge:`26px`,feedbackFontSizeSmall:`13px`,feedbackFontSizeMedium:`14px`,feedbackFontSizeLarge:`14px`,labelFontSizeLeftSmall:`14px`,labelFontSizeLeftMedium:`14px`,labelFontSizeLeftLarge:`15px`,labelFontSizeTopSmall:`13px`,labelFontSizeTopMedium:`14px`,labelFontSizeTopLarge:`14px`,labelHeightSmall:`24px`,labelHeightMedium:`26px`,labelHeightLarge:`28px`,labelPaddingVertical:`0 0 6px 2px`,labelPaddingHorizontal:`0 12px 0 0`,labelTextAlignVertical:`left`,labelTextAlignHorizontal:`right`,labelFontWeight:`400`};function ie(e){let{heightSmall:t,heightMedium:n,heightLarge:r,textColor1:i,errorColor:a,warningColor:o,lineHeight:s,textColor3:c}=e;return Object.assign(Object.assign({},D),{blankHeightSmall:t,blankHeightMedium:n,blankHeightLarge:r,lineHeight:s,labelTextColor:i,asteriskColor:a,feedbackTextColorError:a,feedbackTextColorWarning:o,feedbackTextColor:c})}var ae={name:`Form`,common:S,self:ie},O=h(`n-form`),oe=h(`n-form-item-insts`),se=C(`form`,[x(`inline`,`
2
+ width: 100%;
3
+ display: inline-flex;
4
+ align-items: flex-start;
5
+ align-content: space-around;
6
+ `,[C(`form-item`,{width:`auto`,marginRight:`18px`},[_(`&:last-child`,{marginRight:0})])])]),k=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},A=d({name:`Form`,props:Object.assign(Object.assign({},v.props),{inline:Boolean,labelWidth:[Number,String],labelAlign:String,labelPlacement:{type:String,default:`top`},model:{type:Object,default:()=>{}},rules:Object,disabled:Boolean,size:String,showRequireMark:{type:Boolean,default:void 0},requireMarkPlacement:String,showFeedback:{type:Boolean,default:!0},onSubmit:{type:Function,default:e=>{e.preventDefault()}},showLabel:{type:Boolean,default:void 0},validateMessages:Object}),setup(e){let{mergedClsPrefixRef:t}=f(e);v(`Form`,`-form`,se,ae,e,t);let r={},i=c(void 0),a=e=>{let t=i.value;(t===void 0||e>=t)&&(i.value=e)};function o(){var e;for(let t of E(r)){let n=r[t];for(let t of n)(e=t.invalidateLabelWidth)==null||e.call(t)}}function s(e){return k(this,arguments,void 0,function*(e,t=()=>!0){return yield new Promise((n,i)=>{let a=[];for(let e of E(r)){let n=r[e];for(let e of n)e.path&&a.push(e.internalValidate(null,t))}Promise.all(a).then(t=>{let r=t.some(e=>!e.valid),a=[],o=[];t.forEach(e=>{e.errors?.length&&a.push(e.errors),e.warnings?.length&&o.push(e.warnings)}),e&&e(a.length?a:void 0,{warnings:o.length?o:void 0}),r?i(a.length?a:void 0):n({warnings:o.length?o:void 0})})})})}function l(){for(let e of E(r)){let t=r[e];for(let e of t)e.restoreValidation()}}return n(O,{props:e,maxChildLabelWidthRef:i,deriveMaxChildLabelWidth:a}),n(oe,{formItems:r}),Object.assign({validate:s,restoreValidation:l,invalidateLabelWidth:o},{mergedClsPrefix:t})},render(){let{mergedClsPrefix:e}=this;return i(`form`,{class:[`${e}-form`,this.inline&&`${e}-form--inline`],onSubmit:this.onSubmit},this.$slots)}});function j(){return j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},j.apply(this,arguments)}function ce(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,N(e,t)}function M(e){return M=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},M(e)}function N(e,t){return N=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},N(e,t)}function le(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function P(e,t,n){return P=le()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&N(i,n.prototype),i},P.apply(null,arguments)}function ue(e){return Function.toString.call(e).indexOf(`[native code]`)!==-1}function F(e){var t=typeof Map==`function`?new Map:void 0;return F=function(e){if(e===null||!ue(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return P(e,arguments,M(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),N(n,e)},F(e)}var I=/%[sdj%]/g,de=function(){};function L(e){if(!e||!e.length)return null;var t={};return e.forEach(function(e){var n=e.field;t[n]=t[n]||[],t[n].push(e)}),t}function R(e){var t=[...arguments].slice(1),n=0,r=t.length;return typeof e==`function`?e.apply(null,t):typeof e==`string`?e.replace(I,function(e){if(e===`%%`)return`%`;if(n>=r)return e;switch(e){case`%s`:return String(t[n++]);case`%d`:return Number(t[n++]);case`%j`:try{return JSON.stringify(t[n++])}catch{return`[Circular]`}break;default:return e}}):e}function fe(e){return e===`string`||e===`url`||e===`hex`||e===`email`||e===`date`||e===`pattern`}function z(e,t){return!!(e==null||t===`array`&&Array.isArray(e)&&!e.length||fe(t)&&typeof e==`string`&&!e)}function pe(e,t,n){var r=[],i=0,a=e.length;function o(e){r.push.apply(r,e||[]),i++,i===a&&n(r)}e.forEach(function(e){t(e,o)})}function B(e,t,n){var r=0,i=e.length;function a(o){if(o&&o.length){n(o);return}var s=r;r+=1,s<i?t(e[s],a):n([])}a([])}function me(e){var t=[];return Object.keys(e).forEach(function(n){t.push.apply(t,e[n]||[])}),t}var V=function(e){ce(t,e);function t(t,n){var r=e.call(this,`Async Validation Error`)||this;return r.errors=t,r.fields=n,r}return t}(F(Error));function he(e,t,n,r,i){if(t.first){var a=new Promise(function(t,a){B(me(e),n,function(e){return r(e),e.length?a(new V(e,L(e))):t(i)})});return a.catch(function(e){return e}),a}var o=t.firstFields===!0?Object.keys(e):t.firstFields||[],s=Object.keys(e),c=s.length,l=0,u=[],d=new Promise(function(t,a){var d=function(e){if(u.push.apply(u,e),l++,l===c)return r(u),u.length?a(new V(u,L(u))):t(i)};s.length||(r(u),t(i)),s.forEach(function(t){var r=e[t];o.indexOf(t)===-1?pe(r,n,d):B(r,n,d)})});return d.catch(function(e){return e}),d}function ge(e){return!!(e&&e.message!==void 0)}function _e(e,t){for(var n=e,r=0;r<t.length;r++){if(n==null)return n;n=n[t[r]]}return n}function H(e,t){return function(n){var r=e.fullFields?_e(t,e.fullFields):t[n.field||e.fullField];return ge(n)?(n.field=n.field||e.fullField,n.fieldValue=r,n):{message:typeof n==`function`?n():n,fieldValue:r,field:n.field||e.fullField}}}function U(e,t){if(t){for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];typeof r==`object`&&typeof e[n]==`object`?e[n]=j({},e[n],r):e[n]=r}}return e}var ve=function(e,t,n,r,i,a){e.required&&(!n.hasOwnProperty(e.field)||z(t,a||e.type))&&r.push(R(i.messages.required,e.fullField))},ye=function(e,t,n,r,i){(/^\s+$/.test(t)||t===``)&&r.push(R(i.messages.whitespace,e.fullField))},W,be=(function(){if(W)return W;var e=`[a-fA-F\\d:]`,t=function(t){return t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=`+e+`)|(?<=`+e+`)(?=\\s|$))`:``},n=`(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}`,r=`[a-fA-F\\d]{1,4}`,i=(`
7
+ (?:
8
+ (?:`+r+`:){7}(?:`+r+`|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
9
+ (?:`+r+`:){6}(?:`+n+`|:`+r+`|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
10
+ (?:`+r+`:){5}(?::`+n+`|(?::`+r+`){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
11
+ (?:`+r+`:){4}(?:(?::`+r+`){0,1}:`+n+`|(?::`+r+`){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
12
+ (?:`+r+`:){3}(?:(?::`+r+`){0,2}:`+n+`|(?::`+r+`){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
13
+ (?:`+r+`:){2}(?:(?::`+r+`){0,3}:`+n+`|(?::`+r+`){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
14
+ (?:`+r+`:){1}(?:(?::`+r+`){0,4}:`+n+`|(?::`+r+`){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
15
+ (?::(?:(?::`+r+`){0,5}:`+n+`|(?::`+r+`){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
16
+ )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
17
+ `).replace(/\s*\/\/.*$/gm,``).replace(/\n/g,``).trim(),a=RegExp(`(?:^`+n+`$)|(?:^`+i+`$)`),o=RegExp(`^`+n+`$`),s=RegExp(`^`+i+`$`),c=function(e){return e&&e.exact?a:RegExp(`(?:`+t(e)+n+t(e)+`)|(?:`+t(e)+i+t(e)+`)`,`g`)};c.v4=function(e){return e&&e.exact?o:RegExp(``+t(e)+n+t(e),`g`)},c.v6=function(e){return e&&e.exact?s:RegExp(``+t(e)+i+t(e),`g`)};var l=`(?:(?:[a-z]+:)?//)`,u=`(?:\\S+(?::\\S*)?@)?`,d=c.v4().source,f=c.v6().source,p=`(?:`+l+`|www\\.)`+u+`(?:localhost|`+d+`|`+f+`|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?`;return W=RegExp(`(?:^`+p+`$)`,`i`),W}),xe={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},G={integer:function(e){return G.number(e)&&parseInt(e,10)===e},float:function(e){return G.number(e)&&!G.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime==`function`&&typeof e.getMonth==`function`&&typeof e.getYear==`function`&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e==`number`},object:function(e){return typeof e==`object`&&!G.array(e)},method:function(e){return typeof e==`function`},email:function(e){return typeof e==`string`&&e.length<=320&&!!e.match(xe.email)},url:function(e){return typeof e==`string`&&e.length<=2048&&!!e.match(be())},hex:function(e){return typeof e==`string`&&!!e.match(xe.hex)}},Se=function(e,t,n,r,i){if(e.required&&t===void 0){ve(e,t,n,r,i);return}var a=[`integer`,`float`,`array`,`regexp`,`object`,`method`,`email`,`number`,`date`,`url`,`hex`],o=e.type;a.indexOf(o)>-1?G[o](t)||r.push(R(i.messages.types[o],e.fullField,e.type)):o&&typeof t!==e.type&&r.push(R(i.messages.types[o],e.fullField,e.type))},Ce=function(e,t,n,r,i){var a=typeof e.len==`number`,o=typeof e.min==`number`,s=typeof e.max==`number`,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=t,u=null,d=typeof t==`number`,f=typeof t==`string`,p=Array.isArray(t);if(d?u=`number`:f?u=`string`:p&&(u=`array`),!u)return!1;p&&(l=t.length),f&&(l=t.replace(c,`_`).length),a?l!==e.len&&r.push(R(i.messages[u].len,e.fullField,e.len)):o&&!s&&l<e.min?r.push(R(i.messages[u].min,e.fullField,e.min)):s&&!o&&l>e.max?r.push(R(i.messages[u].max,e.fullField,e.max)):o&&s&&(l<e.min||l>e.max)&&r.push(R(i.messages[u].range,e.fullField,e.min,e.max))},K=`enum`,q={required:ve,whitespace:ye,type:Se,range:Ce,enum:function(e,t,n,r,i){e[K]=Array.isArray(e[K])?e[K]:[],e[K].indexOf(t)===-1&&r.push(R(i.messages[K],e.fullField,e[K].join(`, `)))},pattern:function(e,t,n,r,i){e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(R(i.messages.pattern.mismatch,e.fullField,t,e.pattern))):typeof e.pattern==`string`&&(new RegExp(e.pattern).test(t)||r.push(R(i.messages.pattern.mismatch,e.fullField,t,e.pattern))))}},we=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t,`string`)&&!e.required)return n();q.required(e,t,r,a,i,`string`),z(t,`string`)||(q.type(e,t,r,a,i),q.range(e,t,r,a,i),q.pattern(e,t,r,a,i),e.whitespace===!0&&q.whitespace(e,t,r,a,i))}n(a)},Te=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i),t!==void 0&&q.type(e,t,r,a,i)}n(a)},Ee=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t===``&&(t=void 0),z(t)&&!e.required)return n();q.required(e,t,r,a,i),t!==void 0&&(q.type(e,t,r,a,i),q.range(e,t,r,a,i))}n(a)},De=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i),t!==void 0&&q.type(e,t,r,a,i)}n(a)},Oe=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i),z(t)||q.type(e,t,r,a,i)}n(a)},ke=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i),t!==void 0&&(q.type(e,t,r,a,i),q.range(e,t,r,a,i))}n(a)},Ae=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i),t!==void 0&&(q.type(e,t,r,a,i),q.range(e,t,r,a,i))}n(a)},je=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(t==null&&!e.required)return n();q.required(e,t,r,a,i,`array`),t!=null&&(q.type(e,t,r,a,i),q.range(e,t,r,a,i))}n(a)},Me=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i),t!==void 0&&q.type(e,t,r,a,i)}n(a)},Ne=`enum`,Pe=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i),t!==void 0&&q[Ne](e,t,r,a,i)}n(a)},Fe=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t,`string`)&&!e.required)return n();q.required(e,t,r,a,i),z(t,`string`)||q.pattern(e,t,r,a,i)}n(a)},Ie=function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t,`date`)&&!e.required)return n();if(q.required(e,t,r,a,i),!z(t,`date`)){var o=t instanceof Date?t:new Date(t);q.type(e,o,r,a,i),o&&q.range(e,o.getTime(),r,a,i)}}n(a)},Le=function(e,t,n,r,i){var a=[],o=Array.isArray(t)?`array`:typeof t;q.required(e,t,r,a,i,o),n(a)},J=function(e,t,n,r,i){var a=e.type,o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t,a)&&!e.required)return n();q.required(e,t,r,o,i,a),z(t,a)||q.type(e,t,r,o,i)}n(o)},Y={string:we,method:Te,number:Ee,boolean:De,regexp:Oe,integer:ke,float:Ae,array:je,object:Me,enum:Pe,pattern:Fe,date:Ie,url:J,hex:J,email:J,required:Le,any:function(e,t,n,r,i){var a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(z(t)&&!e.required)return n();q.required(e,t,r,a,i)}n(a)}};function X(){return{default:`Validation error on field %s`,required:`%s is required`,enum:`%s must be one of %s`,whitespace:`%s cannot be empty`,date:{format:`%s date %s is invalid for format %s`,parse:`%s date could not be parsed, %s is invalid `,invalid:`%s date %s is invalid`},types:{string:`%s is not a %s`,method:`%s is not a %s (function)`,array:`%s is not an %s`,object:`%s is not an %s`,number:`%s is not a %s`,date:`%s is not a %s`,boolean:`%s is not a %s`,integer:`%s is not an %s`,float:`%s is not a %s`,regexp:`%s is not a valid %s`,email:`%s is not a valid %s`,url:`%s is not a valid %s`,hex:`%s is not a valid %s`},string:{len:`%s must be exactly %s characters`,min:`%s must be at least %s characters`,max:`%s cannot be longer than %s characters`,range:`%s must be between %s and %s characters`},number:{len:`%s must equal %s`,min:`%s cannot be less than %s`,max:`%s cannot be greater than %s`,range:`%s must be between %s and %s`},array:{len:`%s must be exactly %s in length`,min:`%s cannot be less than %s in length`,max:`%s cannot be greater than %s in length`,range:`%s must be between %s and %s in length`},pattern:{mismatch:`%s value %s does not match pattern %s`},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var Z=X(),Q=function(){function e(e){this.rules=null,this._messages=Z,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw Error(`Cannot configure a schema with no rules`);if(typeof e!=`object`||Array.isArray(e))throw Error(`Rules must be an object`);this.rules={},Object.keys(e).forEach(function(n){var r=e[n];t.rules[n]=Array.isArray(r)?r:[r]})},t.messages=function(e){return e&&(this._messages=U(X(),e)),this._messages},t.validate=function(t,n,r){var i=this;n===void 0&&(n={}),r===void 0&&(r=function(){});var a=t,o=n,s=r;if(typeof o==`function`&&(s=o,o={}),!this.rules||Object.keys(this.rules).length===0)return s&&s(null,a),Promise.resolve(a);function c(e){var t=[],n={};function r(e){if(Array.isArray(e)){var n;t=(n=t).concat.apply(n,e)}else t.push(e)}for(var i=0;i<e.length;i++)r(e[i]);t.length?(n=L(t),s(t,n)):s(null,a)}if(o.messages){var l=this.messages();l===Z&&(l=X()),U(l,o.messages),o.messages=l}else o.messages=this.messages();var u={};(o.keys||Object.keys(this.rules)).forEach(function(e){var n=i.rules[e],r=a[e];n.forEach(function(n){var o=n;typeof o.transform==`function`&&(a===t&&(a=j({},a)),r=a[e]=o.transform(r)),o=typeof o==`function`?{validator:o}:j({},o),o.validator=i.getValidationMethod(o),o.validator&&(o.field=e,o.fullField=o.fullField||e,o.type=i.getType(o),u[e]=u[e]||[],u[e].push({rule:o,value:r,source:a,field:e}))})});var d={};return he(u,o,function(t,n){var r=t.rule,i=(r.type===`object`||r.type===`array`)&&(typeof r.fields==`object`||typeof r.defaultField==`object`);i&&=r.required||!r.required&&t.value,r.field=t.field;function s(e,t){return j({},t,{fullField:r.fullField+`.`+e,fullFields:r.fullFields?[].concat(r.fullFields,[e]):[e]})}function c(c){c===void 0&&(c=[]);var l=Array.isArray(c)?c:[c];!o.suppressWarning&&l.length&&e.warning(`async-validator:`,l),l.length&&r.message!==void 0&&(l=[].concat(r.message));var u=l.map(H(r,a));if(o.first&&u.length)return d[r.field]=1,n(u);if(!i)n(u);else{if(r.required&&!t.value)return r.message===void 0?o.error&&(u=[o.error(r,R(o.messages.required,r.field))]):u=[].concat(r.message).map(H(r,a)),n(u);var f={};r.defaultField&&Object.keys(t.value).map(function(e){f[e]=r.defaultField}),f=j({},f,t.rule.fields);var p={};Object.keys(f).forEach(function(e){var t=f[e];p[e]=(Array.isArray(t)?t:[t]).map(s.bind(null,e))});var m=new e(p);m.messages(o.messages),t.rule.options&&(t.rule.options.messages=o.messages,t.rule.options.error=o.error),m.validate(t.value,t.rule.options||o,function(e){var t=[];u&&u.length&&t.push.apply(t,u),e&&e.length&&t.push.apply(t,e),n(t.length?t:null)})}}var l;if(r.asyncValidator)l=r.asyncValidator(r,t.value,c,t.source,o);else if(r.validator){try{l=r.validator(r,t.value,c,t.source,o)}catch(e){console.error==null||console.error(e),o.suppressValidatorError||setTimeout(function(){throw e},0),c(e.message)}l===!0?c():l===!1?c(typeof r.message==`function`?r.message(r.fullField||r.field):r.message||(r.fullField||r.field)+` fails`):l instanceof Array?c(l):l instanceof Error&&c(l.message)}l&&l.then&&l.then(function(){return c()},function(e){return c(e)})},function(e){c(e)},a)},t.getType=function(e){if(e.type===void 0&&e.pattern instanceof RegExp&&(e.type=`pattern`),typeof e.validator!=`function`&&e.type&&!Y.hasOwnProperty(e.type))throw Error(R(`Unknown rule type %s`,e.type));return e.type||`string`},t.getValidationMethod=function(e){if(typeof e.validator==`function`)return e.validator;var t=Object.keys(e),n=t.indexOf(`message`);return n!==-1&&t.splice(n,1),t.length===1&&t[0]===`required`?Y.required:Y[this.getType(e)]||void 0},e}();Q.register=function(e,t){if(typeof t!=`function`)throw Error(`Cannot register a validator by type, validator is not a function`);Y[e]=t},Q.warning=de,Q.messages=Z,Q.validators=Y;var{cubicBezierEaseInOut:$}=w;function Re({name:e=`fade-down`,fromOffset:t=`-4px`,enterDuration:n=`.3s`,leaveDuration:r=`.3s`,enterCubicBezier:i=$,leaveCubicBezier:a=$}={}){return[_(`&.${e}-transition-enter-from, &.${e}-transition-leave-to`,{opacity:0,transform:`translateY(${t})`}),_(`&.${e}-transition-enter-to, &.${e}-transition-leave-from`,{opacity:1,transform:`translateY(0)`}),_(`&.${e}-transition-leave-active`,{transition:`opacity ${r} ${a}, transform ${r} ${a}`}),_(`&.${e}-transition-enter-active`,{transition:`opacity ${n} ${i}, transform ${n} ${i}`})]}var ze=C(`form-item`,`
18
+ display: grid;
19
+ line-height: var(--n-line-height);
20
+ `,[C(`form-item-label`,`
21
+ grid-area: label;
22
+ align-items: center;
23
+ line-height: 1.25;
24
+ text-align: var(--n-label-text-align);
25
+ font-size: var(--n-label-font-size);
26
+ min-height: var(--n-label-height);
27
+ padding: var(--n-label-padding);
28
+ color: var(--n-label-text-color);
29
+ transition: color .3s var(--n-bezier);
30
+ box-sizing: border-box;
31
+ font-weight: var(--n-label-font-weight);
32
+ `,[y(`asterisk`,`
33
+ white-space: nowrap;
34
+ user-select: none;
35
+ -webkit-user-select: none;
36
+ color: var(--n-asterisk-color);
37
+ transition: color .3s var(--n-bezier);
38
+ `),y(`asterisk-placeholder`,`
39
+ grid-area: mark;
40
+ user-select: none;
41
+ -webkit-user-select: none;
42
+ visibility: hidden;
43
+ `)]),C(`form-item-blank`,`
44
+ grid-area: blank;
45
+ min-height: var(--n-blank-height);
46
+ `),x(`auto-label-width`,[C(`form-item-label`,`white-space: nowrap;`)]),x(`left-labelled`,`
47
+ grid-template-areas:
48
+ "label blank"
49
+ "label feedback";
50
+ grid-template-columns: auto minmax(0, 1fr);
51
+ grid-template-rows: auto 1fr;
52
+ align-items: flex-start;
53
+ `,[C(`form-item-label`,`
54
+ display: grid;
55
+ grid-template-columns: 1fr auto;
56
+ min-height: var(--n-blank-height);
57
+ height: auto;
58
+ box-sizing: border-box;
59
+ flex-shrink: 0;
60
+ flex-grow: 0;
61
+ `,[x(`reverse-columns-space`,`
62
+ grid-template-columns: auto 1fr;
63
+ `),x(`left-mark`,`
64
+ grid-template-areas:
65
+ "mark text"
66
+ ". text";
67
+ `),x(`right-mark`,`
68
+ grid-template-areas:
69
+ "text mark"
70
+ "text .";
71
+ `),x(`right-hanging-mark`,`
72
+ grid-template-areas:
73
+ "text mark"
74
+ "text .";
75
+ `),y(`text`,`
76
+ grid-area: text;
77
+ `),y(`asterisk`,`
78
+ grid-area: mark;
79
+ align-self: end;
80
+ `)])]),x(`top-labelled`,`
81
+ grid-template-areas:
82
+ "label"
83
+ "blank"
84
+ "feedback";
85
+ grid-template-rows: minmax(var(--n-label-height), auto) 1fr;
86
+ grid-template-columns: minmax(0, 100%);
87
+ `,[x(`no-label`,`
88
+ grid-template-areas:
89
+ "blank"
90
+ "feedback";
91
+ grid-template-rows: 1fr;
92
+ `),C(`form-item-label`,`
93
+ display: flex;
94
+ align-items: flex-start;
95
+ justify-content: var(--n-label-text-align);
96
+ `)]),C(`form-item-blank`,`
97
+ box-sizing: border-box;
98
+ display: flex;
99
+ align-items: center;
100
+ position: relative;
101
+ `),C(`form-item-feedback-wrapper`,`
102
+ grid-area: feedback;
103
+ box-sizing: border-box;
104
+ min-height: var(--n-feedback-height);
105
+ font-size: var(--n-feedback-font-size);
106
+ line-height: 1.25;
107
+ transform-origin: top left;
108
+ `,[_(`&:not(:empty)`,`
109
+ padding: var(--n-feedback-padding);
110
+ `),C(`form-item-feedback`,{transition:`color .3s var(--n-bezier)`,color:`var(--n-feedback-text-color)`},[x(`warning`,{color:`var(--n-feedback-text-color-warning)`}),x(`error`,{color:`var(--n-feedback-text-color-error)`}),Re({fromOffset:`-3px`,enterDuration:`.3s`,leaveDuration:`.2s`})])])]);function Be(n){let r=t(O,null),{mergedComponentPropsRef:i}=f(n);return{mergedSize:e(()=>n.size===void 0?r?.props.size===void 0?i?.value?.Form?.size||`medium`:r.props.size:n.size)}}function Ve(n){let r=t(O,null),i=e(()=>{let{labelPlacement:e}=n;return e===void 0?r?.props.labelPlacement?r.props.labelPlacement:`top`:e}),a=e(()=>i.value===`left`&&(n.labelWidth===`auto`||r?.props.labelWidth===`auto`)),o=e(()=>{if(i.value===`top`)return;let{labelWidth:e}=n;if(e!==void 0&&e!==`auto`)return T(e);if(a.value){let e=r?.maxChildLabelWidthRef.value;return e===void 0?void 0:T(e)}if(r?.props.labelWidth!==void 0)return T(r.props.labelWidth)}),s=e(()=>{let{labelAlign:e}=n;if(e)return e;if(r?.props.labelAlign)return r.props.labelAlign}),l=e(()=>[n.labelProps?.style,n.labelStyle,{width:o.value}]),u=e(()=>{let{showRequireMark:e}=n;return e===void 0?r?.props.showRequireMark:e}),d=e(()=>{let{requireMarkPlacement:e}=n;return e===void 0?r?.props.requireMarkPlacement||`right`:e}),f=c(!1),p=c(!1);return{validationErrored:f,validationWarned:p,mergedLabelStyle:l,mergedLabelPlacement:i,mergedLabelAlign:s,mergedShowRequireMark:u,mergedRequireMarkPlacement:d,mergedValidationStatus:e(()=>{let{validationStatus:e}=n;if(e!==void 0)return e;if(f.value)return`error`;if(p.value)return`warning`}),mergedShowFeedback:e(()=>{let{showFeedback:e}=n;return e===void 0?r?.props.showFeedback===void 0?!0:r.props.showFeedback:e}),mergedShowLabel:e(()=>{let{showLabel:e}=n;return e===void 0?r?.props.showLabel===void 0?!0:r.props.showLabel:e}),isAutoLabelWidth:a}}function He(n){let r=t(O,null),i=e(()=>{let{rulePath:e}=n;if(e!==void 0)return e;let{path:t}=n;if(t!==void 0)return t}),a=e(()=>{let e=[],{rule:t}=n;if(t!==void 0&&(Array.isArray(t)?e.push(...t):e.push(t)),r){let{rules:t}=r.props,{value:n}=i;if(t!==void 0&&n!==void 0){let r=ne(t,n);r!==void 0&&(Array.isArray(r)?e.push(...r):e.push(r))}}return e}),o=e(()=>a.value.some(e=>e.required));return{mergedRules:a,mergedRequired:e(()=>o.value||n.required)}}var Ue=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},We=Object.assign(Object.assign({},v.props),{label:String,labelWidth:[Number,String],labelStyle:[String,Object],labelAlign:String,labelPlacement:String,path:String,first:Boolean,rulePath:String,required:Boolean,showRequireMark:{type:Boolean,default:void 0},requireMarkPlacement:String,showFeedback:{type:Boolean,default:void 0},rule:[Object,Array],size:String,ignorePathChange:Boolean,validationStatus:String,feedback:String,feedbackClass:String,feedbackStyle:[String,Object],showLabel:{type:Boolean,default:void 0},labelProps:Object,contentClass:String,contentStyle:[String,Object]});E(We);function Ge(e,t){return(...n)=>{try{let r=e(...n);return!t&&(typeof r==`boolean`||r instanceof Error||Array.isArray(r))||r?.then?r:(r===void 0||g(`form-item/validate`,`You return a ${typeof r} typed value in the validator method, which is not recommended. Please use ${t?"`Promise`":"`boolean`, `Error` or `Promise`"} typed value instead.`),!0)}catch(e){g(`form-item/validate`,"An error is catched in the validation, so the validation won't be done. Your callback in `validate` method of `n-form` or `n-form-item` won't be called in this validation."),console.error(e);return}}}var Ke=d({name:`FormItem`,props:We,slots:Object,setup(r){re(oe,`formItems`,u(r,`path`));let{mergedClsPrefixRef:i,inlineThemeDisabled:o}=f(r),l=t(O,null),d=Be(r),p=Ve(r),{validationErrored:h,validationWarned:g}=p,{mergedRequired:_,mergedRules:y}=He(r),{mergedSize:x}=d,{mergedLabelPlacement:S,mergedLabelAlign:C,mergedRequireMarkPlacement:w}=p,T=c([]),E=c(te()),D=c(null),ie=l?u(l.props,`disabled`):c(!1),se=v(`Form`,`-form-item`,ze,ae,r,i);s(u(r,`path`),()=>{r.ignorePathChange||A()});function k(){if(!p.isAutoLabelWidth.value)return;let e=D.value;if(e!==null){let t=e.style.whiteSpace;e.style.whiteSpace=`nowrap`,e.style.width=``,l?.deriveMaxChildLabelWidth(Number(getComputedStyle(e).width.slice(0,-2))),e.style.whiteSpace=t}}function A(){T.value=[],h.value=!1,g.value=!1,r.feedback&&(E.value=te())}let j=(...e)=>Ue(this,[...e],void 0,function*(e=null,t=()=>!0,n={suppressWarning:!0}){let{path:i}=r;n?n.first||=r.first:n={};let{value:a}=y,o=l?ne(l.props.model,i||``):void 0,s={},c={},u=(e?a.filter(t=>Array.isArray(t.trigger)?t.trigger.includes(e):t.trigger===e):a).filter(t).map((e,t)=>{let n=Object.assign({},e);if(n.validator&&=Ge(n.validator,!1),n.asyncValidator&&=Ge(n.asyncValidator,!0),n.renderMessage){let e=`__renderMessage__${t}`;c[e]=n.message,n.message=e,s[e]=n.renderMessage}return n}),d=u.filter(e=>e.level!==`warning`),f=u.filter(e=>e.level===`warning`),p={valid:!0,errors:void 0,warnings:void 0};if(!u.length)return p;let m=i??`__n_no_path__`,_=new Q({[m]:d}),v=new Q({[m]:f}),{validateMessages:b}=l?.props||{};b&&(_.messages(b),v.messages(b));let x=e=>{T.value=e.map(e=>{let t=e?.message||``;return{key:t,render:()=>t.startsWith(`__renderMessage__`)?s[t]():t}}),e.forEach(e=>{e.message?.startsWith(`__renderMessage__`)&&(e.message=c[e.message])})};if(d.length){let e=yield new Promise(e=>{_.validate({[m]:o},n,e)});e?.length&&(p.valid=!1,p.errors=e,x(e))}if(f.length&&!p.errors){let e=yield new Promise(e=>{v.validate({[m]:o},n,e)});e?.length&&(x(e),p.warnings=e)}return!p.errors&&!p.warnings?A():(h.value=!!p.errors,g.value=!!p.warnings),p});function ce(){j(`blur`)}function M(){j(`change`)}function N(){j(`focus`)}function le(){j(`input`)}function P(e,t){return Ue(this,void 0,void 0,function*(){let n,r,i,a;return typeof e==`string`?(n=e,r=t):typeof e==`object`&&e&&(n=e.trigger,r=e.callback,i=e.shouldRuleBeApplied,a=e.options),yield new Promise((e,t)=>{j(n,i,a).then(({valid:n,errors:i,warnings:a})=>{n?(r&&r(void 0,{warnings:a}),e({warnings:a})):(r&&r(i,{warnings:a}),t(i))})})})}n(m,{path:u(r,`path`),disabled:ie,mergedSize:d.mergedSize,mergedValidationStatus:p.mergedValidationStatus,restoreValidation:A,handleContentBlur:ce,handleContentChange:M,handleContentFocus:N,handleContentInput:le});let ue={validate:P,restoreValidation:A,internalValidate:j,invalidateLabelWidth:k};a(k);let F=e(()=>{let{value:e}=x,{value:t}=S,n=t===`top`?`vertical`:`horizontal`,{common:{cubicBezierEaseInOut:r},self:{labelTextColor:i,asteriskColor:a,lineHeight:o,feedbackTextColor:s,feedbackTextColorWarning:c,feedbackTextColorError:l,feedbackPadding:u,labelFontWeight:d,[b(`labelHeight`,e)]:f,[b(`blankHeight`,e)]:p,[b(`feedbackFontSize`,e)]:m,[b(`feedbackHeight`,e)]:h,[b(`labelPadding`,n)]:g,[b(`labelTextAlign`,n)]:_,[b(b(`labelFontSize`,t),e)]:v}}=se.value,y=C.value??_;return t===`top`&&(y=y===`right`?`flex-end`:`flex-start`),{"--n-bezier":r,"--n-line-height":o,"--n-blank-height":p,"--n-label-font-size":v,"--n-label-text-align":y,"--n-label-height":f,"--n-label-padding":g,"--n-label-font-weight":d,"--n-asterisk-color":a,"--n-label-text-color":i,"--n-feedback-padding":u,"--n-feedback-font-size":m,"--n-feedback-height":h,"--n-feedback-text-color":s,"--n-feedback-text-color-warning":c,"--n-feedback-text-color-error":l}}),I=o?ee(`form-item`,e(()=>`${x.value[0]}${S.value[0]}${C.value?.[0]||``}`),F,r):void 0,de=e(()=>S.value===`left`&&w.value===`left`&&C.value===`left`);return Object.assign(Object.assign(Object.assign(Object.assign({labelElementRef:D,mergedClsPrefix:i,mergedRequired:_,feedbackId:E,renderExplains:T,reverseColSpace:de},p),d),ue),{cssVars:o?void 0:F,themeClass:I?.themeClass,onRender:I?.onRender})},render(){let{$slots:e,mergedClsPrefix:t,mergedShowLabel:n,mergedShowRequireMark:r,mergedRequireMarkPlacement:a,onRender:o}=this,s=r===void 0?this.mergedRequired:r;return o?.(),i(`div`,{class:[`${t}-form-item`,this.themeClass,`${t}-form-item--${this.mergedSize}-size`,`${t}-form-item--${this.mergedLabelPlacement}-labelled`,this.isAutoLabelWidth&&`${t}-form-item--auto-label-width`,!n&&`${t}-form-item--no-label`],style:this.cssVars},n&&(()=>{let e=this.$slots.label?this.$slots.label():this.label;if(!e)return null;let n=i(`span`,{class:`${t}-form-item-label__text`},e),r=s?i(`span`,{class:`${t}-form-item-label__asterisk`},a===`left`?`*\xA0`:`\xA0*`):a===`right-hanging`&&i(`span`,{class:`${t}-form-item-label__asterisk-placeholder`},`\xA0*`),{labelProps:o}=this;return i(`label`,Object.assign({},o,{class:[o?.class,`${t}-form-item-label`,`${t}-form-item-label--${a}-mark`,this.reverseColSpace&&`${t}-form-item-label--reverse-columns-space`],style:this.mergedLabelStyle,ref:`labelElementRef`}),a===`left`?[r,n]:[n,r])})(),i(`div`,{class:[`${t}-form-item-blank`,this.contentClass,this.mergedValidationStatus&&`${t}-form-item-blank--${this.mergedValidationStatus}`],style:this.contentStyle},e),this.mergedShowFeedback?i(`div`,{key:this.feedbackId,style:this.feedbackStyle,class:[`${t}-form-item-feedback-wrapper`,this.feedbackClass]},i(l,{name:`fade-down-transition`,mode:`out-in`},{default:()=>{let{mergedValidationStatus:n}=this;return p(e.feedback,e=>{let{feedback:r}=this,a=e||r?i(`div`,{key:`__feedback__`,class:`${t}-form-item-feedback__line`},e||r):this.renderExplains.length?this.renderExplains?.map(({key:e,render:n})=>i(`div`,{key:e,class:`${t}-form-item-feedback__line`},n())):null;return a?n===`warning`?i(`div`,{key:`controlled-warning`,class:`${t}-form-item-feedback ${t}-form-item-feedback--warning`},a):n===`error`?i(`div`,{key:`controlled-error`,class:`${t}-form-item-feedback ${t}-form-item-feedback--error`},a):n===`success`?i(`div`,{key:`controlled-success`,class:`${t}-form-item-feedback ${t}-form-item-feedback--success`},a):i(`div`,{key:`controlled-default`,class:`${t}-form-item-feedback`},a):null})}})):null)}});export{A as n,Ke as t};