@nextclaw/ui 0.5.41 → 0.5.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/assets/{ChannelsList-C2Qd0t9b.js → ChannelsList-D1TDjZD6.js} +1 -1
- package/dist/assets/{ChatPage-BqlsPWdy.js → ChatPage-DpqxbP_M.js} +1 -1
- package/dist/assets/{CronConfig-CdvpKuSy.js → CronConfig-bxrnSSbp.js} +1 -1
- package/dist/assets/{DocBrowser-Bgmeukiz.js → DocBrowser-YLb5sMWS.js} +1 -1
- package/dist/assets/{MarketplacePage-t3Sib5LO.js → MarketplacePage-CTrpdj82.js} +1 -1
- package/dist/assets/{ModelConfig-DZUg-4N3.js → ModelConfig-tc0NiAb4.js} +1 -1
- package/dist/assets/ProvidersList-CALeNCLF.js +1 -0
- package/dist/assets/{RuntimeConfig-Dv-06ffH.js → RuntimeConfig-1hfJQMOn.js} +1 -1
- package/dist/assets/{SecretsConfig-Djc-_j3o.js → SecretsConfig-B5czvrZv.js} +1 -1
- package/dist/assets/{SessionsConfig-BY8rxQ7m.js → SessionsConfig-BXSaq5p7.js} +1 -1
- package/dist/assets/{card-ITZ1xl10.js → card-CAvcgkiT.js} +1 -1
- package/dist/assets/index-CL28Z9YZ.js +2 -0
- package/dist/assets/index-c0vY8dDm.css +1 -0
- package/dist/assets/{label-BowGMNYa.js → label-BlmIivGH.js} +1 -1
- package/dist/assets/{logos-BlD3kGKz.js → logos-BoshQeun.js} +1 -1
- package/dist/assets/{page-layout-C62p_dlG.js → page-layout-Cu4Yj2Q_.js} +1 -1
- package/dist/assets/{switch-CpKwqv79.js → switch-C5wm6PbF.js} +1 -1
- package/dist/assets/{tabs-custom-D1fYWpL_.js → tabs-custom-B4CXzsVy.js} +1 -1
- package/dist/assets/{useConfig-0trWsjx9.js → useConfig-Uy1hlToJ.js} +1 -1
- package/dist/assets/{useConfirmDialog-B_7sVz-j.js → useConfirmDialog-BUK2K_01.js} +1 -1
- package/dist/assets/{vendor-DN_iJQc4.js → vendor-CHxMoJ93.js} +26 -26
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/src/components/common/MaskedInput.tsx +34 -9
- package/src/components/config/ProviderForm.tsx +132 -98
- package/src/components/ui/input.tsx +1 -1
- package/src/lib/i18n.ts +6 -0
- package/dist/assets/ProvidersList-BvtEBIdN.js +0 -1
- package/dist/assets/index-C8UPX5Q7.js +0 -2
- package/dist/assets/index-DMEuanmd.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as p,r as N,j as n}from"./vendor-
|
|
1
|
+
import{c as p,r as N,j as n}from"./vendor-CHxMoJ93.js";import{c as v}from"./index-CL28Z9YZ.js";const y=r=>typeof r=="boolean"?`${r}`:r===0?"0":r,f=p,w=(r,t)=>e=>{var i;if((t==null?void 0:t.variants)==null)return f(r,e==null?void 0:e.class,e==null?void 0:e.className);const{variants:u,defaultVariants:o}=t,g=Object.keys(u).map(a=>{const s=e==null?void 0:e[a],d=o==null?void 0:o[a];if(s===null)return null;const l=y(s)||y(d);return u[a][l]}),m=e&&Object.entries(e).reduce((a,s)=>{let[d,l]=s;return l===void 0||(a[d]=l),a},{}),b=t==null||(i=t.compoundVariants)===null||i===void 0?void 0:i.reduce((a,s)=>{let{class:d,className:l,...h}=s;return Object.entries(h).every(j=>{let[x,c]=j;return Array.isArray(c)?c.includes({...o,...m}[x]):{...o,...m}[x]===c})?[...a,d,l]:a},[]);return f(r,g,b,e==null?void 0:e.class,e==null?void 0:e.className)},V=w("inline-flex items-center justify-center whitespace-nowrap rounded-full text-sm font-medium ring-offset-background transition-all duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary-600 active:bg-primary-700 shadow-sm",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-gray-200 bg-white hover:bg-gray-50 hover:text-gray-800 text-gray-600",secondary:"bg-gray-100 text-gray-700 hover:bg-gray-200/80",ghost:"hover:bg-gray-100/80 hover:text-gray-800",link:"text-primary underline-offset-4 hover:underline",primary:"bg-primary text-primary-foreground hover:bg-primary-600 active:bg-primary-700 shadow-sm",subtle:"bg-gray-100 text-gray-600 hover:bg-gray-200/80","primary-outline":"border border-primary/30 text-primary hover:bg-primary hover:text-primary-foreground"},size:{default:"h-9 px-4 py-2",sm:"h-8 px-3 text-xs",lg:"h-11 px-5 text-[14px]",xl:"h-12 px-6 text-[15px]",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),k=N.forwardRef(({className:r,variant:t,size:e,...i},u)=>n.jsx("button",{className:v(V({variant:t,size:e,className:r})),ref:u,...i}));k.displayName="Button";function O({children:r,fullHeight:t=!1,className:e}){return n.jsx("div",{className:v("animate-fade-in",t?"h-[calc(100vh-80px)] w-full flex flex-col":"pb-16",e),children:r})}function B({title:r,description:t,actions:e,className:i}){return n.jsxs("div",{className:v("flex items-center justify-between mb-6 shrink-0",i),children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:r}),t&&n.jsx("p",{className:"text-sm text-gray-500 mt-1",children:t})]}),e&&n.jsx("div",{className:"flex items-center gap-2 shrink-0",children:e})]})}export{k as B,O as P,B as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,j as i}from"./vendor-
|
|
1
|
+
import{r as e,j as i}from"./vendor-CHxMoJ93.js";import{c as t}from"./index-CL28Z9YZ.js";const l=e.forwardRef(({className:o,checked:r=!1,onCheckedChange:s,...a},n)=>i.jsx("button",{type:"button",role:"switch","aria-checked":r,ref:n,className:t("peer inline-flex h-[22px] w-10 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50",r?"bg-primary":"bg-gray-200/80 hover:bg-gray-300/80",o),onClick:()=>s==null?void 0:s(!r),...a,children:i.jsx("span",{className:t("pointer-events-none block h-5 w-5 rounded-full bg-white shadow-md ring-0 transition-transform duration-fast",r?"translate-x-5":"translate-x-0")})}));l.displayName="Switch";export{l as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./vendor-
|
|
1
|
+
import{j as e}from"./vendor-CHxMoJ93.js";import{f as m,c as s}from"./index-CL28Z9YZ.js";function c({tabs:a,activeTab:i,onChange:o,className:n}){return e.jsx("div",{className:s("flex items-center gap-6 border-b border-gray-200/60 mb-6",n),children:a.map(t=>{const r=i===t.id;return e.jsxs("button",{onClick:()=>o(t.id),className:s("relative pb-3 text-[14px] font-medium transition-all duration-fast flex items-center gap-1.5",r?"text-gray-900":"text-gray-600 hover:text-gray-900"),children:[t.label,t.count!==void 0&&e.jsx("span",{className:s("text-[11px] font-medium","text-gray-500"),children:m(t.count)}),r&&e.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-[2px] bg-primary rounded-full"})]},t.id)})})}export{c as T};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as C,j as F,aq as m,ar as f,as as c,
|
|
1
|
+
import{r as C,j as F,aq as m,ar as f,as as c,af as t}from"./vendor-CHxMoJ93.js";import{c as b,A as x,j as i,t as s}from"./index-CL28Z9YZ.js";const K=C.forwardRef(({className:r,type:e,...n},a)=>F.jsx("input",{type:e,className:b("flex h-9 w-full rounded-xl border border-gray-200/80 bg-white px-3.5 py-2 text-sm text-gray-900 file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-300 placeholder:font-normal focus:outline-none focus:ring-1 focus:ring-primary/40 focus:border-primary/40 transition-colors disabled:cursor-not-allowed disabled:opacity-50",r),ref:a,...n}));K.displayName="Input";async function k(){const r=await i.get("/api/config");if(!r.ok)throw new Error(r.error.message);return r.data}async function Q(){const r=await i.get("/api/config/meta");if(!r.ok)throw new Error(r.error.message);return r.data}async function A(){const r=await i.get("/api/config/schema");if(!r.ok)throw new Error(r.error.message);return r.data}async function M(r){const e=await i.put("/api/config/model",r);if(!e.ok)throw new Error(e.error.message);return e.data}async function P(r,e){const n=await i.put(`/api/config/providers/${r}`,e);if(!n.ok)throw new Error(n.error.message);return n.data}async function R(r={}){const e=await i.post("/api/config/providers",r);if(!e.ok)throw new Error(e.error.message);return e.data}async function $(r){const e=await i.delete(`/api/config/providers/${r}`);if(!e.ok)throw new Error(e.error.message);return e.data}async function J(r,e){const n=await i.post(`/api/config/providers/${r}/test`,e);if(!n.ok)throw new Error(n.error.message);return n.data}async function U(r,e){const n=await i.put(`/api/config/channels/${r}`,e);if(!n.ok)throw new Error(n.error.message);return n.data}async function T(r){const e=await i.put("/api/config/runtime",r);if(!e.ok)throw new Error(e.error.message);return e.data}async function I(r){const e=await i.put("/api/config/secrets",r);if(!e.ok)throw new Error(e.error.message);return e.data}async function N(r,e){const n=await i.post(`/api/config/actions/${r}/execute`,e);if(!n.ok)throw new Error(n.error.message);return n.data}async function O(r){var d;const e=new URLSearchParams;(d=r==null?void 0:r.q)!=null&&d.trim()&&e.set("q",r.q.trim()),typeof(r==null?void 0:r.limit)=="number"&&Number.isFinite(r.limit)&&e.set("limit",String(Math.max(0,Math.trunc(r.limit)))),typeof(r==null?void 0:r.activeMinutes)=="number"&&Number.isFinite(r.activeMinutes)&&e.set("activeMinutes",String(Math.max(0,Math.trunc(r.activeMinutes))));const n=e.toString(),a=await i.get(n?"/api/sessions?"+n:"/api/sessions");if(!a.ok)throw new Error(a.error.message);return a.data}async function j(r,e=200){const n=await i.get(`/api/sessions/${encodeURIComponent(r)}/history?limit=${Math.max(1,Math.trunc(e))}`);if(!n.ok)throw new Error(n.error.message);return n.data}async function D(r,e){const n=await i.put(`/api/sessions/${encodeURIComponent(r)}`,e);if(!n.ok)throw new Error(n.error.message);return n.data}async function _(r){const e=await i.delete(`/api/sessions/${encodeURIComponent(r)}`);if(!e.ok)throw new Error(e.error.message);return e.data}function L(r){const e=r.split(/\r?\n/);let n="message";const a=[];for(const d of e){if(d.startsWith("event:")){n=d.slice(6).trim()||"message";continue}d.startsWith("data:")&&a.push(d.slice(5).trimStart())}return a.length===0?null:{event:n,data:a.join(`
|
|
2
2
|
`)}}async function X(r,e={}){var q;const n=await fetch(`${x}/api/chat/turn/stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(r),signal:e.signal});if(!n.ok){let g=`chat stream failed (${n.status} ${n.statusText})`;try{const o=await n.json();(q=o==null?void 0:o.error)!=null&&q.message&&(g=o.error.message)}catch{const o=await n.text().catch(()=>"");o.trim()&&(g=o.trim())}throw new Error(g)}if(!n.body)throw new Error("chat stream is not readable");const a=n.body.getReader(),d=new TextDecoder;let l="",w=null;const h=g=>{var y,p,E;const o=L(g);if(o){if(o.event==="ready"){try{const u=JSON.parse(o.data);(y=e.onReady)==null||y.call(e,{event:"ready",sessionKey:String(u.sessionKey??""),requestedAt:String(u.requestedAt??"")})}catch{}return}if(o.event==="delta"){try{const u=JSON.parse(o.data);typeof u.delta=="string"&&u.delta.length>0&&((p=e.onDelta)==null||p.call(e,{event:"delta",delta:u.delta}))}catch{}return}if(o.event==="session_event"){try{(E=e.onSessionEvent)==null||E.call(e,{event:"session_event",data:JSON.parse(o.data)})}catch{}return}if(o.event==="final"){w=JSON.parse(o.data);return}if(o.event==="error")try{const u=JSON.parse(o.data);throw new Error(typeof u.message=="string"&&u.message?u.message:"chat stream failed")}catch(u){throw u instanceof Error?u:new Error("chat stream failed")}}};let v=!1;for(;!v;){const{done:g,value:o}=await a.read();if(g){v=!0;continue}l+=d.decode(o,{stream:!0});let y=l.indexOf(`
|
|
3
3
|
|
|
4
4
|
`);for(;y!==-1;){const p=l.slice(0,y).trim();l=l.slice(y+2),p&&h(p),y=l.indexOf(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as i,aw as b,aL as w,au as ie,j as s,at as A,aB as le,ay as h,az as D,aC as ce,aM as de,aN as ue,aO as fe,aP as ge,aD as me,aQ as pe,aR as ve,
|
|
1
|
+
import{r as i,aw as b,aL as w,au as ie,j as s,at as A,aB as le,ay as h,az as D,aC as ce,aM as de,aN as ue,aO as fe,aP as ge,aD as me,aQ as pe,aR as ve,ac as xe}from"./vendor-CHxMoJ93.js";import{c as N,t as x}from"./index-CL28Z9YZ.js";import{B as I}from"./page-layout-Cu4Yj2Q_.js";function Ne(e,t){return i.useReducer((o,a)=>t[o][a]??o,e)}var E=e=>{const{present:t,children:o}=e,a=De(t),r=typeof o=="function"?o({present:a.isPresent}):i.Children.only(o),n=b(a.ref,he(r));return typeof o=="function"||a.isPresent?i.cloneElement(r,{ref:n}):null};E.displayName="Presence";function De(e){const[t,o]=i.useState(),a=i.useRef(null),r=i.useRef(e),n=i.useRef("none"),l=e?"mounted":"unmounted",[c,u]=Ne(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect(()=>{const d=y(a.current);n.current=c==="mounted"?d:"none"},[c]),w(()=>{const d=a.current,f=r.current;if(f!==e){const C=n.current,p=y(d);e?u("MOUNT"):p==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&C!==p?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),w(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,m=p=>{const re=y(a.current).includes(CSS.escape(p.animationName));if(p.target===t&&re&&(u("ANIMATION_END"),!r.current)){const se=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=se)})}},C=p=>{p.target===t&&(n.current=y(a.current))};return t.addEventListener("animationstart",C),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",C),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:i.useCallback(d=>{a.current=d?getComputedStyle(d):null,o(d)},[])}}function y(e){return(e==null?void 0:e.animationName)||"none"}function he(e){var a,r;let t=(a=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:a.get,o=t&&"isReactWarning"in t&&t.isReactWarning;return o?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,o=t&&"isReactWarning"in t&&t.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}var O="Dialog",[M]=ce(O),[Ce,g]=M(O),T=e=>{const{__scopeDialog:t,children:o,open:a,defaultOpen:r,onOpenChange:n,modal:l=!0}=e,c=i.useRef(null),u=i.useRef(null),[d,f]=ie({prop:a,defaultProp:r??!1,onChange:n,caller:O});return s.jsx(Ce,{scope:t,triggerRef:c,contentRef:u,contentId:A(),titleId:A(),descriptionId:A(),open:d,onOpenChange:f,onOpenToggle:i.useCallback(()=>f(m=>!m),[f]),modal:l,children:o})};T.displayName=O;var S="DialogTrigger",ye=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(S,o),n=b(t,r.triggerRef);return s.jsx(h.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":_(r.open),...a,ref:n,onClick:D(e.onClick,r.onOpenToggle)})});ye.displayName=S;var j="DialogPortal",[Re,F]=M(j,{forceMount:void 0}),L=e=>{const{__scopeDialog:t,forceMount:o,children:a,container:r}=e,n=g(j,t);return s.jsx(Re,{scope:t,forceMount:o,children:i.Children.map(a,l=>s.jsx(E,{present:o||n.open,children:s.jsx(le,{asChild:!0,container:r,children:l})}))})};L.displayName=j;var R="DialogOverlay",W=i.forwardRef((e,t)=>{const o=F(R,e.__scopeDialog),{forceMount:a=o.forceMount,...r}=e,n=g(R,e.__scopeDialog);return n.modal?s.jsx(E,{present:a||n.open,children:s.jsx(Ee,{...r,ref:t})}):null});W.displayName=R;var be=pe("DialogOverlay.RemoveScroll"),Ee=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(R,o);return s.jsx(ue,{as:be,allowPinchZoom:!0,shards:[r.contentRef],children:s.jsx(h.div,{"data-state":_(r.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),v="DialogContent",k=i.forwardRef((e,t)=>{const o=F(v,e.__scopeDialog),{forceMount:a=o.forceMount,...r}=e,n=g(v,e.__scopeDialog);return s.jsx(E,{present:a||n.open,children:n.modal?s.jsx(Oe,{...r,ref:t}):s.jsx(Ae,{...r,ref:t})})});k.displayName=v;var Oe=i.forwardRef((e,t)=>{const o=g(v,e.__scopeDialog),a=i.useRef(null),r=b(t,o.contentRef,a);return i.useEffect(()=>{const n=a.current;if(n)return de(n)},[]),s.jsx(U,{...e,ref:r,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:D(e.onCloseAutoFocus,n=>{var l;n.preventDefault(),(l=o.triggerRef.current)==null||l.focus()}),onPointerDownOutside:D(e.onPointerDownOutside,n=>{const l=n.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0;(l.button===2||c)&&n.preventDefault()}),onFocusOutside:D(e.onFocusOutside,n=>n.preventDefault())})}),Ae=i.forwardRef((e,t)=>{const o=g(v,e.__scopeDialog),a=i.useRef(!1),r=i.useRef(!1);return s.jsx(U,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{var l,c;(l=e.onCloseAutoFocus)==null||l.call(e,n),n.defaultPrevented||(a.current||(c=o.triggerRef.current)==null||c.focus(),n.preventDefault()),a.current=!1,r.current=!1},onInteractOutside:n=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,n),n.defaultPrevented||(a.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const l=n.target;((d=o.triggerRef.current)==null?void 0:d.contains(l))&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),U=i.forwardRef((e,t)=>{const{__scopeDialog:o,trapFocus:a,onOpenAutoFocus:r,onCloseAutoFocus:n,...l}=e,c=g(v,o),u=i.useRef(null),d=b(t,u);return fe(),s.jsxs(s.Fragment,{children:[s.jsx(ge,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:r,onUnmountAutoFocus:n,children:s.jsx(me,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":_(c.open),...l,ref:d,onDismiss:()=>c.onOpenChange(!1)})}),s.jsxs(s.Fragment,{children:[s.jsx(je,{titleId:c.titleId}),s.jsx(_e,{contentRef:u,descriptionId:c.descriptionId})]})]})}),P="DialogTitle",$=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(P,o);return s.jsx(h.h2,{id:r.titleId,...a,ref:t})});$.displayName=P;var G="DialogDescription",B=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(G,o);return s.jsx(h.p,{id:r.descriptionId,...a,ref:t})});B.displayName=G;var z="DialogClose",H=i.forwardRef((e,t)=>{const{__scopeDialog:o,...a}=e,r=g(z,o);return s.jsx(h.button,{type:"button",...a,ref:t,onClick:D(e.onClick,()=>r.onOpenChange(!1))})});H.displayName=z;function _(e){return e?"open":"closed"}var V="DialogTitleWarning",[$e,q]=ve(V,{contentName:v,titleName:P,docsSlug:"dialog"}),je=({titleId:e})=>{const t=q(V),o=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|