llm-simple-router 0.10.4 → 0.10.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/monitor/request-tracker.d.ts +1 -0
- package/dist/core/monitor/request-tracker.js +42 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/frontend-dist/assets/{CardContent-B3NpaDJW.js → CardContent-CkdwrZW4.js} +1 -1
- package/frontend-dist/assets/{CardTitle-C-cyX3iO.js → CardTitle-DSy7RCiB.js} +1 -1
- package/frontend-dist/assets/{Checkbox-Gyk5KBde.js → Checkbox-C3NmNtqa.js} +1 -1
- package/frontend-dist/assets/{CollapsibleContent-DMDLLq9x.js → CollapsibleContent-DBzDxLSb.js} +1 -1
- package/frontend-dist/assets/{CollapsibleTrigger-Cuf_Ec1W.js → CollapsibleTrigger-B2f-xQJ0.js} +1 -1
- package/frontend-dist/assets/{Dashboard-CAtXlJc5.js → Dashboard-D8wX4CUe.js} +1 -1
- package/frontend-dist/assets/{Input-y93GdDnC.js → Input-CWz3gSq7.js} +1 -1
- package/frontend-dist/assets/{Label-DhDyFy2K.js → Label-DtNVUGfD.js} +1 -1
- package/frontend-dist/assets/{Login-B0Wzgfpt.js → Login-CWveR_5r.js} +1 -1
- package/frontend-dist/assets/{Logs-CsEVfnaw.js → Logs-Bi1whdhz.js} +1 -1
- package/frontend-dist/assets/{MappingEntryEditor--PH4opRr.js → MappingEntryEditor-BRm2vENX.js} +1 -1
- package/frontend-dist/assets/{ModelCard-DqPMwc7c.js → ModelCard-7k6e0d6o.js} +1 -1
- package/frontend-dist/assets/{ModelMappings-BJdLraaJ.js → ModelMappings-BA2biFmT.js} +1 -1
- package/frontend-dist/assets/{Monitor-L-kxM94E.js → Monitor-B0ZTNvv5.js} +1 -1
- package/frontend-dist/assets/{Providers-Cy9Sf_PQ.js → Providers-62LJNLRi.js} +1 -1
- package/frontend-dist/assets/{ProxyEnhancement-BMqjyzYh.js → ProxyEnhancement-dcYVsc3f.js} +1 -1
- package/frontend-dist/assets/{QuickSetup-DlGBDNqN.js → QuickSetup-CRcUhnmK.js} +1 -1
- package/frontend-dist/assets/{RetryRules-DgQ5Vys1.js → RetryRules-B-Yaery1.js} +1 -1
- package/frontend-dist/assets/{RouterKeys-2mb13vx1.js → RouterKeys-HMyzbiSY.js} +1 -1
- package/frontend-dist/assets/{RovingFocusItem-BiL81wTl.js → RovingFocusItem-BLxXLvHz.js} +1 -1
- package/frontend-dist/assets/{Schedules-Rj1ujFuY.js → Schedules-DuXBLzKL.js} +1 -1
- package/frontend-dist/assets/{Settings-CAZpS-nE.js → Settings--oVZQg3A.js} +1 -1
- package/frontend-dist/assets/{Setup-DPhGJve7.js → Setup-DCtJiJxI.js} +1 -1
- package/frontend-dist/assets/{Switch-D0zRSMEx.js → Switch-Cvlk-GzL.js} +1 -1
- package/frontend-dist/assets/{TooltipTrigger-R37E-Tih.js → TooltipTrigger-Caej0jjH.js} +1 -1
- package/frontend-dist/assets/{TransformRulesForm-DngqhgRH.js → TransformRulesForm-kWP-wmEh.js} +1 -1
- package/frontend-dist/assets/{UnifiedRequestDialog-CxKfPeEb.js → UnifiedRequestDialog-Vwxh-lNJ.js} +1 -1
- package/frontend-dist/assets/{VisuallyHiddenInput-CRpwrr9A.js → VisuallyHiddenInput-DVhdgqSs.js} +1 -1
- package/frontend-dist/assets/{button-BQGfqOaD.js → button--Qf6nmZk.js} +2 -2
- package/frontend-dist/assets/{copy-BGvRQjGW.js → copy-DBByuQcn.js} +1 -1
- package/frontend-dist/assets/{dialog-J03VLwvc.js → dialog-MkZTr6jd.js} +1 -1
- package/frontend-dist/assets/{index-B22b454x.js → index-Bg5CP0c1.js} +2 -2
- package/frontend-dist/assets/{trash-2-Dtaa0BOA.js → trash-2-C1sEBLn-.js} +1 -1
- package/frontend-dist/assets/{useClipboard-Doiae-Ms.js → useClipboard-BQ-_hkN0.js} +1 -1
- package/frontend-dist/assets/{useLogRetention-BjZhZJaf.js → useLogRetention-PhhUFWsW.js} +1 -1
- package/frontend-dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -28,6 +28,7 @@ export declare class RequestTracker {
|
|
|
28
28
|
private streamContentTimer;
|
|
29
29
|
private killCallbacks;
|
|
30
30
|
private killedRequests;
|
|
31
|
+
private completedDetails;
|
|
31
32
|
/** Visible for testing */
|
|
32
33
|
readonly statsAggregator: StatsAggregator;
|
|
33
34
|
readonly runtimeCollector: RuntimeCollector;
|
|
@@ -20,6 +20,7 @@ export class RequestTracker {
|
|
|
20
20
|
streamContentTimer = null;
|
|
21
21
|
killCallbacks = new Map();
|
|
22
22
|
killedRequests = new Set();
|
|
23
|
+
completedDetails = new Map();
|
|
23
24
|
/** Visible for testing */
|
|
24
25
|
statsAggregator;
|
|
25
26
|
runtimeCollector;
|
|
@@ -105,8 +106,20 @@ export class RequestTracker {
|
|
|
105
106
|
this.statsAggregator.recordLatency(latency);
|
|
106
107
|
this.statsAggregator.recordRequest(req.providerId, req.providerName, statusCode, req.retryCount > 0, false);
|
|
107
108
|
this.statsAggregator.recordProviderLatency(req.providerId, latency);
|
|
109
|
+
// 分离大字段到 completedDetails,recentCompleted 仅保留摘要
|
|
110
|
+
const { clientRequest, upstreamRequest, ...rest } = req;
|
|
111
|
+
if (clientRequest !== undefined || upstreamRequest !== undefined) {
|
|
112
|
+
this.completedDetails.set(id, { clientRequest, upstreamRequest, completedAt: now });
|
|
113
|
+
// completedDetails 容量保护:超过上限时移除最早条目
|
|
114
|
+
// Map 按插入顺序迭代,complete() 按时间顺序调用,首个 key 即最旧
|
|
115
|
+
if (this.completedDetails.size > RECENT_COMPLETED_MAX) {
|
|
116
|
+
const oldestKey = this.completedDetails.keys().next().value;
|
|
117
|
+
if (oldestKey !== undefined)
|
|
118
|
+
this.completedDetails.delete(oldestKey);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
108
121
|
const completed = {
|
|
109
|
-
...
|
|
122
|
+
...rest,
|
|
110
123
|
status: wasKilled ? "failed" : result.status,
|
|
111
124
|
completedAt: now,
|
|
112
125
|
attempts: result.attempts ?? req.attempts,
|
|
@@ -151,7 +164,18 @@ export class RequestTracker {
|
|
|
151
164
|
}
|
|
152
165
|
/** Public alias for API endpoint use — returns full request data including clientRequest */
|
|
153
166
|
getRequestById(id) {
|
|
154
|
-
|
|
167
|
+
// 1. 先从 activeMap 查找(pending 请求,完整数据)
|
|
168
|
+
const active = this.activeMap.get(id);
|
|
169
|
+
if (active)
|
|
170
|
+
return active;
|
|
171
|
+
// 2. 从 recentCompleted 查找摘要,合并 completedDetails
|
|
172
|
+
const completed = this.recentCompleted.find((r) => r.id === id);
|
|
173
|
+
if (!completed)
|
|
174
|
+
return undefined;
|
|
175
|
+
const details = this.completedDetails.get(id);
|
|
176
|
+
if (!details)
|
|
177
|
+
return completed;
|
|
178
|
+
return { ...completed, clientRequest: details.clientRequest, upstreamRequest: details.upstreamRequest };
|
|
155
179
|
}
|
|
156
180
|
/** 注册请求的终止回调,由 orchestrator 在请求开始时调用 */
|
|
157
181
|
registerKillCallback(id, callback) {
|
|
@@ -213,7 +237,11 @@ export class RequestTracker {
|
|
|
213
237
|
}
|
|
214
238
|
/** 向单个客户端发送当前活跃请求快照(保留 clientRequest 以便前端即时展示) */
|
|
215
239
|
sendInitialSnapshot(client) {
|
|
216
|
-
const active = this.getActive()
|
|
240
|
+
const active = this.getActive().map((req) => {
|
|
241
|
+
const copy = { ...req };
|
|
242
|
+
delete copy.upstreamRequest;
|
|
243
|
+
return copy;
|
|
244
|
+
});
|
|
217
245
|
const msg = `event: request_update\ndata: ${JSON.stringify(active)}\n\n`;
|
|
218
246
|
try {
|
|
219
247
|
if (!client.writableEnded)
|
|
@@ -280,12 +308,14 @@ export class RequestTracker {
|
|
|
280
308
|
payload = data.map((req) => {
|
|
281
309
|
const copy = { ...req };
|
|
282
310
|
delete copy.clientRequest;
|
|
311
|
+
delete copy.upstreamRequest;
|
|
283
312
|
return copy;
|
|
284
313
|
});
|
|
285
314
|
}
|
|
286
315
|
else if ((event === "request_complete" || event === "request_start") && data && typeof data === "object") {
|
|
287
316
|
const copy = { ...data };
|
|
288
317
|
delete copy.clientRequest;
|
|
318
|
+
delete copy.upstreamRequest;
|
|
289
319
|
payload = copy;
|
|
290
320
|
}
|
|
291
321
|
const msg = `event: ${event}\ndata: ${JSON.stringify(payload)}\n\n`;
|
|
@@ -327,7 +357,15 @@ export class RequestTracker {
|
|
|
327
357
|
break;
|
|
328
358
|
}
|
|
329
359
|
}
|
|
330
|
-
|
|
360
|
+
// 收集被 slice 丢弃的条目 ID,同步清理 completedDetails
|
|
361
|
+
const trimmed = this.recentCompleted.slice(0, Math.min(i, RECENT_COMPLETED_MAX));
|
|
362
|
+
const trimmedIds = new Set(trimmed.map((r) => r.id));
|
|
363
|
+
for (const entry of this.recentCompleted) {
|
|
364
|
+
if (!trimmedIds.has(entry.id)) {
|
|
365
|
+
this.completedDetails.delete(entry.id);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
this.recentCompleted = trimmed;
|
|
331
369
|
}
|
|
332
370
|
/** 最终一致性兜底:清理异常残留的 active 条目 */
|
|
333
371
|
cleanupStaleActive() {
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare function buildApp(options?: AppOptions): Promise<{
|
|
|
20
20
|
app: FastifyInstance;
|
|
21
21
|
db: Database.Database;
|
|
22
22
|
usageWindowTracker: UsageWindowTracker;
|
|
23
|
+
tracker: RequestTracker;
|
|
23
24
|
close: () => Promise<void>;
|
|
24
25
|
}>;
|
|
25
26
|
export declare function main(): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bt as e,Ht as t,Z as n,et as r,ft as i,ht as a,r as o}from"./button
|
|
1
|
+
import{Bt as e,Ht as t,Z as n,et as r,ft as i,ht as a,r as o}from"./button--Qf6nmZk.js";var s=[`data-size`],c=r({__name:`Card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(r){let c=r;return(l,u)=>(i(),n(`div`,{"data-slot":`card`,"data-size":r.size,class:t(e(o)(`ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-lg py-4 text-sm ring-1 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg group/card flex flex-col`,c.class))},[a(l.$slots,`default`)],10,s))}}),l=r({__name:`CardContent`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(r){let s=r;return(r,c)=>(i(),n(`div`,{"data-slot":`card-content`,class:t(e(o)(`px-4 group-data-[size=sm]/card:px-3`,s.class))},[a(r.$slots,`default`)],2))}});export{c as n,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bt as e,Ht as t,Z as n,et as r,ft as i,ht as a,r as o}from"./button
|
|
1
|
+
import{Bt as e,Ht as t,Z as n,et as r,ft as i,ht as a,r as o}from"./button--Qf6nmZk.js";var s=r({__name:`CardHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(r){let s=r;return(r,c)=>(i(),n(`div`,{"data-slot":`card-header`,class:t(e(o)(`gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]`,s.class))},[a(r.$slots,`default`)],2))}}),c=r({__name:`CardTitle`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(r){let s=r;return(r,c)=>(i(),n(`div`,{"data-slot":`card-title`,class:t(e(o)(`text-base leading-snug font-medium group-data-[size=sm]/card:text-sm cn-font-heading`,s.class))},[a(r.$slots,`default`)],2))}});export{s as n,c as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,Bt as t,Tt as n,U as r,Ut as i,W as a,X as o,Y as s,_t as c,et as l,ft as u,ht as d,i as f,m as p,nt as m,o as h,q as g,r as _,st as v,x as y}from"./button
|
|
1
|
+
import{$ as e,Bt as t,Tt as n,U as r,Ut as i,W as a,X as o,Y as s,_t as c,et as l,ft as u,ht as d,i as f,m as p,nt as m,o as h,q as g,r as _,st as v,x as y}from"./button--Qf6nmZk.js";import{t as b}from"./VisuallyHiddenInput-DVhdgqSs.js";import{t as x}from"./RovingFocusItem-BLxXLvHz.js";import{B as S,G as C,H as w,L as T,Y as E,q as D,ut as O}from"./index-Bg5CP0c1.js";function k(e,t){return C(e)?!1:Array.isArray(e)?e.some(e=>E(e,t)):E(e,t)}var[A,j]=D(`CheckboxGroupRoot`);function M(e){return e===`indeterminate`}function N(e){return M(e)?`indeterminate`:e?`checked`:`unchecked`}var[P,F]=D(`CheckboxRoot`),I=l({inheritAttrs:!1,__name:`CheckboxRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:`on`},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:i}){let l=e,m=i,{forwardRef:_,currentElement:y}=h(),S=A(null),T=p(l,`modelValue`,m,{defaultValue:l.defaultValue??l.falseValue,passive:l.modelValue===void 0}),D=g(()=>S?.disabled.value||l.disabled),O=g(()=>E(T.value,l.trueValue)),j=g(()=>C(S?.modelValue.value)?T.value===`indeterminate`?`indeterminate`:O.value:k(S.modelValue.value,l.value));function P(){if(C(S?.modelValue.value))T.value===`indeterminate`?T.value=l.trueValue:T.value=O.value?l.falseValue:l.trueValue;else{let e=[...S.modelValue.value||[]];if(k(e,l.value)){let t=e.findIndex(e=>E(e,l.value));e.splice(t,1)}else e.push(l.value);S.modelValue.value=e}}let I=w(y),L=g(()=>l.id&&y.value?document.querySelector(`[for="${l.id}"]`)?.innerText:void 0);return F({disabled:D,state:j}),(e,i)=>(u(),s(c(t(S)?.rovingFocus.value?t(x):t(f)),v(e.$attrs,{id:e.id,ref:t(_),role:`checkbox`,"as-child":e.asChild,as:e.as,type:e.as===`button`?`button`:void 0,"aria-checked":t(M)(j.value)?`mixed`:j.value,"aria-required":e.required,"aria-label":e.$attrs[`aria-label`]||L.value,"data-state":t(N)(j.value),"data-disabled":D.value?``:void 0,disabled:D.value,focusable:t(S)?.rovingFocus.value?!D.value:void 0,onKeydown:r(a(()=>{},[`prevent`]),[`enter`]),onClick:P}),{default:n(()=>[d(e.$slots,`default`,{modelValue:t(T),state:j.value}),t(I)&&e.name&&!t(S)?(u(),s(t(b),{key:0,type:`checkbox`,checked:!!j.value,name:e.name,value:e.value,disabled:D.value,required:e.required},null,8,[`checked`,`name`,`value`,`disabled`,`required`])):o(`v-if`,!0)]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`]))}}),L=l({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(r){let{forwardRef:i}=h(),a=P();return(r,o)=>(u(),s(t(T),{present:r.forceMount||t(M)(t(a).state.value)||t(a).state.value===!0},{default:n(()=>[e(t(f),v({ref:t(i),"data-state":t(N)(t(a).state.value),"data-disabled":t(a).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":r.asChild,as:r.as},r.$attrs),{default:n(()=>[d(r.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),R=l({__name:`Checkbox`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},value:{},id:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(r,{emit:a}){let o=r,c=a,l=S(y(o,`class`),c);return(r,a)=>(u(),s(t(I),v({"data-slot":`checkbox`},t(l),{class:t(_)(`border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-md border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50`,o.class)}),{default:n(a=>[e(t(L),{"data-slot":`checkbox-indicator`,class:`[&>svg]:size-3.5 grid place-content-center text-current transition-none`},{default:n(()=>[d(r.$slots,`default`,i(m(a)),()=>[e(t(O))])]),_:2},1024)]),_:3},16,[`class`]))}});export{R as t};
|
package/frontend-dist/assets/{CollapsibleContent-DMDLLq9x.js → CollapsibleContent-DBzDxLSb.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,Bt as t,Nt as n,Rt as r,St as i,Tt as a,Ut as o,X as s,Y as c,ct as l,d as u,et as d,ft as f,ht as p,i as m,m as h,nt as g,o as _,q as v,st as y,ut as b}from"./button
|
|
1
|
+
import{$ as e,Bt as t,Nt as n,Rt as r,St as i,Tt as a,Ut as o,X as s,Y as c,ct as l,d as u,et as d,ft as f,ht as p,i as m,m as h,nt as g,o as _,q as v,st as y,ut as b}from"./button--Qf6nmZk.js";import{B as x,L as S,q as C,z as w}from"./index-Bg5CP0c1.js";var[T,E]=C(`CollapsibleRoot`),D=d({__name:`CollapsibleRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:open`],setup(e,{expose:n,emit:i}){let o=e,s=h(o,`open`,i,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:l,unmountOnHide:u}=r(o);return E({contentId:``,disabled:l,open:s,unmountOnHide:u,onOpenToggle:()=>{l.value||(s.value=!s.value)}}),n({open:s}),_(),(e,n)=>(f(),c(t(m),{as:e.as,"as-child":o.asChild,"data-state":t(s)?`open`:`closed`,"data-disabled":t(l)?``:void 0},{default:a(()=>[p(e.$slots,`default`,{open:t(s)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),O=d({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(r,{emit:o}){let d=r,h=o,g=T();g.contentId||=w(void 0,`reka-collapsible-content`);let x=n(),{forwardRef:C,currentElement:E}=_(),D=n(0),O=n(0),k=v(()=>g.open.value),A=n(k.value),j=n();i(()=>[k.value,x.value?.present],async()=>{await l();let e=E.value;if(!e)return;j.value=j.value||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();O.value=t.height,D.value=t.width,A.value||(e.style.transitionDuration=j.value.transitionDuration,e.style.animationName=j.value.animationName)},{immediate:!0});let M=v(()=>A.value&&g.open.value);return b(()=>{requestAnimationFrame(()=>{A.value=!1})}),u(E,`beforematch`,e=>{requestAnimationFrame(()=>{g.onOpenToggle(),h(`contentFound`)})}),(n,r)=>(f(),c(t(S),{ref_key:`presentRef`,ref:x,present:n.forceMount||t(g).open.value,"force-mount":!0},{default:a(({present:r})=>[e(t(m),y(n.$attrs,{id:t(g).contentId,ref:t(C),"as-child":d.asChild,as:n.as,hidden:r?void 0:t(g).unmountOnHide.value?``:`until-found`,"data-state":M.value?void 0:t(g).open.value?`open`:`closed`,"data-disabled":t(g).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${O.value}px`,"--reka-collapsible-content-width":`${D.value}px`}}),{default:a(()=>[!t(g).unmountOnHide.value||r?p(n.$slots,`default`,{key:0}):s(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),k=d({__name:`Collapsible`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(e,{emit:n}){let r=x(e,n);return(e,n)=>(f(),c(t(D),y({"data-slot":`collapsible`},t(r)),{default:a(t=>[p(e.$slots,`default`,o(g(t)))]),_:3},16))}}),A=d({__name:`CollapsibleContent`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(e){let n=e;return(e,r)=>(f(),c(t(O),y({"data-slot":`collapsible-content`},n),{default:a(()=>[p(e.$slots,`default`)]),_:3},16))}});export{k as n,T as r,A as t};
|
package/frontend-dist/assets/{CollapsibleTrigger-Cuf_Ec1W.js → CollapsibleTrigger-B2f-xQJ0.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bt as e,Tt as t,Y as n,et as r,ft as i,ht as a,i as o,o as s,st as c}from"./button
|
|
1
|
+
import{Bt as e,Tt as t,Y as n,et as r,ft as i,ht as a,i as o,o as s,st as c}from"./button--Qf6nmZk.js";import{r as l}from"./CollapsibleContent-DBzDxLSb.js";var u=r({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(r){let c=r;s();let u=l();return(r,s)=>(i(),n(e(o),{type:r.as===`button`?`button`:void 0,as:r.as,"as-child":c.asChild,"aria-controls":e(u).contentId,"aria-expanded":e(u).open.value,"data-state":e(u).open.value?`open`:`closed`,"data-disabled":e(u).disabled?.value?``:void 0,disabled:e(u).disabled?.value,onClick:e(u).onOpenToggle},{default:t(()=>[a(r.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}}),d=r({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean},as:{}},setup(r){let o=r;return(r,s)=>(i(),n(e(u),c({"data-slot":`collapsible-trigger`},o),{default:t(()=>[a(r.$slots,`default`)]),_:3},16))}});export{d as t};
|