llm-simple-router 0.10.2 → 0.10.3

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 (39) hide show
  1. package/dist/proxy/transform/stream-bridge-chat2resp.d.ts +3 -0
  2. package/dist/proxy/transform/stream-bridge-chat2resp.js +21 -11
  3. package/frontend-dist/assets/{CardContent-DPvg3Xcs.js → CardContent-D3qqQOzw.js} +1 -1
  4. package/frontend-dist/assets/{CardTitle-DM5fz-mG.js → CardTitle-DZmbJGNi.js} +1 -1
  5. package/frontend-dist/assets/{Checkbox-unFaqtdp.js → Checkbox-D0kd5NM5.js} +1 -1
  6. package/frontend-dist/assets/{CollapsibleContent-B1F8U0rL.js → CollapsibleContent-D7KpsB50.js} +1 -1
  7. package/frontend-dist/assets/{CollapsibleTrigger-DvM-Vi0u.js → CollapsibleTrigger-dErHwaLp.js} +1 -1
  8. package/frontend-dist/assets/{Dashboard-BEYLmW9j.js → Dashboard-C1l8In2m.js} +1 -1
  9. package/frontend-dist/assets/{Input-DNNW9ZDa.js → Input-DSL9i6-h.js} +1 -1
  10. package/frontend-dist/assets/{Label-Pt8u8M0A.js → Label-DZV7A4As.js} +1 -1
  11. package/frontend-dist/assets/{Login-DBI0zYS0.js → Login-CGooPG3v.js} +1 -1
  12. package/frontend-dist/assets/{Logs-CSuY_LsY.js → Logs-C6Yq0PD5.js} +1 -1
  13. package/frontend-dist/assets/{MappingEntryEditor-a6jg8S1l.js → MappingEntryEditor-BCX9sqLY.js} +1 -1
  14. package/frontend-dist/assets/{ModelCard-B8qOJN2O.js → ModelCard-VhRGa9dN.js} +1 -1
  15. package/frontend-dist/assets/{ModelMappings-DtsHJUoO.js → ModelMappings-qXsh3Yhb.js} +1 -1
  16. package/frontend-dist/assets/{Monitor-Bflzm0d-.js → Monitor-CI4Xf34K.js} +1 -1
  17. package/frontend-dist/assets/{Providers-2chCOkvt.js → Providers-CH9v1ctT.js} +1 -1
  18. package/frontend-dist/assets/{ProxyEnhancement-D5aXFYHw.js → ProxyEnhancement-Fk_bLjAK.js} +1 -1
  19. package/frontend-dist/assets/{QuickSetup-CLlXPDT9.js → QuickSetup-CcuF2ifO.js} +1 -1
  20. package/frontend-dist/assets/{RetryRules-DCKWN0O-.js → RetryRules-D6cIJh3h.js} +1 -1
  21. package/frontend-dist/assets/{RouterKeys-BXtcQ-ZY.js → RouterKeys-BgkmcxxN.js} +1 -1
  22. package/frontend-dist/assets/{RovingFocusItem-CdltOaZP.js → RovingFocusItem-CJnGRDn0.js} +1 -1
  23. package/frontend-dist/assets/{Schedules-CgHcxg_a.js → Schedules-BdnUtBRd.js} +1 -1
  24. package/frontend-dist/assets/{Settings-Ft71iRqu.js → Settings-DwnPkKQC.js} +1 -1
  25. package/frontend-dist/assets/{Setup-CHnudyek.js → Setup-DTeb40gc.js} +1 -1
  26. package/frontend-dist/assets/{Switch-C7kp2SaI.js → Switch-DypIONwh.js} +1 -1
  27. package/frontend-dist/assets/{TooltipTrigger-CsJ-5Zto.js → TooltipTrigger-PjT4_t5o.js} +1 -1
  28. package/frontend-dist/assets/{TransformRulesForm-BiHTLWx0.js → TransformRulesForm-B1JEj03a.js} +1 -1
  29. package/frontend-dist/assets/{UnifiedRequestDialog-ClLWPhI1.js → UnifiedRequestDialog-D4MlcpiA.js} +1 -1
  30. package/frontend-dist/assets/{VisuallyHiddenInput-D1bFtdXQ.js → VisuallyHiddenInput-DfcRACwu.js} +1 -1
  31. package/frontend-dist/assets/{button-DNp6t9kr.js → button-DOpof38-.js} +2 -2
  32. package/frontend-dist/assets/{copy-DS0tLfiJ.js → copy-D4VVSDtz.js} +1 -1
  33. package/frontend-dist/assets/{dialog-90VLRpob.js → dialog-BfODCy5Y.js} +1 -1
  34. package/frontend-dist/assets/{index-DXl9LuoU.js → index-BEzoY3wI.js} +2 -2
  35. package/frontend-dist/assets/{trash-2-DYG5YFsN.js → trash-2-DRNvvnll.js} +1 -1
  36. package/frontend-dist/assets/{useClipboard-R5Arm9GN.js → useClipboard-DI8woKxZ.js} +1 -1
  37. package/frontend-dist/assets/{useLogRetention-BqzKX9wH.js → useLogRetention-DT3HBeXR.js} +1 -1
  38. package/frontend-dist/index.html +2 -2
  39. package/package.json +2 -2
@@ -23,6 +23,9 @@ export declare class ChatToResponsesBridgeTransform extends BaseSSETransform {
23
23
  private currentFunctionCallId;
24
24
  private currentFunctionCallName;
25
25
  private currentReasoningItemId;
26
+ private textBuffer;
27
+ private reasoningBuffer;
28
+ private argsBuffer;
26
29
  private createdAt;
27
30
  private nextSeq;
28
31
  private ensureResponseCreated;
@@ -30,6 +30,9 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
30
30
  currentFunctionCallId = "";
31
31
  currentFunctionCallName = "";
32
32
  currentReasoningItemId = "";
33
+ textBuffer = "";
34
+ reasoningBuffer = "";
35
+ argsBuffer = "";
33
36
  createdAt = Math.floor(Date.now() / MS_PER_SECOND);
34
37
  nextSeq() {
35
38
  return this.sequenceNumber++;
@@ -63,14 +66,14 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
63
66
  type: RESPONSES_SSE_EVENTS.OUTPUT_TEXT_DONE,
64
67
  output_index: this.outputIndex,
65
68
  content_index: this.contentIndex,
66
- text: "",
69
+ text: this.textBuffer,
67
70
  sequence_number: this.nextSeq(),
68
71
  });
69
72
  this.pushResponsesSSE(RESPONSES_SSE_EVENTS.CONTENT_PART_DONE, {
70
73
  type: RESPONSES_SSE_EVENTS.CONTENT_PART_DONE,
71
74
  output_index: this.outputIndex,
72
75
  content_index: this.contentIndex,
73
- part: { type: "output_text", text: "", annotations: [] },
76
+ part: { type: "output_text", text: this.textBuffer, annotations: [] },
74
77
  sequence_number: this.nextSeq(),
75
78
  });
76
79
  this.hasContentPartStarted = false;
@@ -83,7 +86,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
83
86
  type: "message",
84
87
  id: this.currentMessageItemId,
85
88
  role: "assistant",
86
- content: [{ type: "output_text", text: "", annotations: [] }],
89
+ content: [{ type: "output_text", text: this.textBuffer, annotations: [] }],
87
90
  status: "completed",
88
91
  },
89
92
  sequence_number: this.nextSeq(),
@@ -92,7 +95,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
92
95
  type: "message",
93
96
  id: this.currentMessageItemId,
94
97
  role: "assistant",
95
- content: [{ type: "output_text", text: "", annotations: [] }],
98
+ content: [{ type: "output_text", text: this.textBuffer, annotations: [] }],
96
99
  });
97
100
  this.hasMessageItemStarted = false;
98
101
  this.outputIndex++;
@@ -105,14 +108,14 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
105
108
  type: RESPONSES_SSE_EVENTS.REASONING_SUMMARY_TEXT_DONE,
106
109
  output_index: this.outputIndex,
107
110
  summary_index: 0,
108
- text: "",
111
+ text: this.reasoningBuffer,
109
112
  sequence_number: this.nextSeq(),
110
113
  });
111
114
  this.pushResponsesSSE(RESPONSES_SSE_EVENTS.REASONING_SUMMARY_PART_DONE, {
112
115
  type: RESPONSES_SSE_EVENTS.REASONING_SUMMARY_PART_DONE,
113
116
  output_index: this.outputIndex,
114
117
  summary_index: 0,
115
- part: { type: "summary_text", text: "" },
118
+ part: { type: "summary_text", text: this.reasoningBuffer },
116
119
  sequence_number: this.nextSeq(),
117
120
  });
118
121
  this.pushResponsesSSE(RESPONSES_SSE_EVENTS.OUTPUT_ITEM_DONE, {
@@ -121,14 +124,14 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
121
124
  item: {
122
125
  type: "reasoning",
123
126
  id: this.currentReasoningItemId,
124
- summary: [{ type: "summary_text", text: "" }],
127
+ summary: [{ type: "summary_text", text: this.reasoningBuffer }],
125
128
  },
126
129
  sequence_number: this.nextSeq(),
127
130
  });
128
131
  this.collectedOutput.push({
129
132
  type: "reasoning",
130
133
  id: this.currentReasoningItemId,
131
- summary: [{ type: "summary_text", text: "" }],
134
+ summary: [{ type: "summary_text", text: this.reasoningBuffer }],
132
135
  });
133
136
  this.hasReasoningItemStarted = false;
134
137
  this.outputIndex++;
@@ -139,7 +142,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
139
142
  output_index: this.outputIndex,
140
143
  item_id: this.currentFunctionCallId,
141
144
  call_id: this.currentFunctionCallId,
142
- arguments: "",
145
+ arguments: this.argsBuffer,
143
146
  sequence_number: this.nextSeq(),
144
147
  });
145
148
  this.pushResponsesSSE(RESPONSES_SSE_EVENTS.OUTPUT_ITEM_DONE, {
@@ -150,7 +153,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
150
153
  id: this.currentFunctionCallId,
151
154
  call_id: this.currentFunctionCallId,
152
155
  name: this.currentFunctionCallName,
153
- arguments: "",
156
+ arguments: this.argsBuffer,
154
157
  status: "completed",
155
158
  },
156
159
  sequence_number: this.nextSeq(),
@@ -160,7 +163,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
160
163
  id: this.currentFunctionCallId,
161
164
  call_id: this.currentFunctionCallId,
162
165
  name: this.currentFunctionCallName,
163
- arguments: "",
166
+ arguments: this.argsBuffer,
164
167
  });
165
168
  this.outputIndex++;
166
169
  this.currentFunctionCallId = "";
@@ -236,6 +239,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
236
239
  this.closeCurrentMessageItem();
237
240
  if (!this.hasReasoningItemStarted) {
238
241
  this.hasReasoningItemStarted = true;
242
+ this.reasoningBuffer = "";
239
243
  this.currentReasoningItemId = `rs_${randomHex(ID_HEX_LENGTH)}`;
240
244
  this.pushResponsesSSE(RESPONSES_SSE_EVENTS.OUTPUT_ITEM_ADDED, {
241
245
  type: RESPONSES_SSE_EVENTS.OUTPUT_ITEM_ADDED,
@@ -258,6 +262,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
258
262
  delta: delta.reasoning_content,
259
263
  sequence_number: this.nextSeq(),
260
264
  });
265
+ this.reasoningBuffer += delta.reasoning_content;
261
266
  }
262
267
  // Handle text content
263
268
  if (delta?.content != null && delta.content !== "") {
@@ -266,6 +271,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
266
271
  this.closeCurrentReasoningItem();
267
272
  if (!this.hasMessageItemStarted) {
268
273
  this.hasMessageItemStarted = true;
274
+ this.textBuffer = "";
269
275
  this.contentIndex = 0;
270
276
  this.currentMessageItemId = `msg_${randomHex(ID_HEX_LENGTH)}`;
271
277
  this.pushResponsesSSE(RESPONSES_SSE_EVENTS.OUTPUT_ITEM_ADDED, {
@@ -298,6 +304,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
298
304
  delta: delta.content,
299
305
  sequence_number: this.nextSeq(),
300
306
  });
307
+ this.textBuffer += delta.content;
301
308
  }
302
309
  // Handle tool_calls
303
310
  const toolCalls = delta?.tool_calls;
@@ -318,6 +325,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
318
325
  }
319
326
  this.currentFunctionCallId = tcId;
320
327
  this.currentFunctionCallName = tcName;
328
+ this.argsBuffer = "";
321
329
  this.pushResponsesSSE(RESPONSES_SSE_EVENTS.OUTPUT_ITEM_ADDED, {
322
330
  type: RESPONSES_SSE_EVENTS.OUTPUT_ITEM_ADDED,
323
331
  output_index: this.outputIndex,
@@ -342,6 +350,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
342
350
  delta: args,
343
351
  sequence_number: this.nextSeq(),
344
352
  });
353
+ this.argsBuffer += args;
345
354
  }
346
355
  }
347
356
  else if (fn?.arguments) {
@@ -354,6 +363,7 @@ export class ChatToResponsesBridgeTransform extends BaseSSETransform {
354
363
  delta: fn.arguments,
355
364
  sequence_number: this.nextSeq(),
356
365
  });
366
+ this.argsBuffer += fn.arguments;
357
367
  }
358
368
  }
359
369
  }
@@ -1 +1 @@
1
- import{$ as e,Vt as t,X as n,dt as r,mt as i,r as a,zt as o}from"./button-DNp6t9kr.js";var s=[`data-size`],c=e({__name:`Card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(e){let c=e;return(l,u)=>(r(),n(`div`,{"data-slot":`card`,"data-size":e.size,class:t(o(a)(`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))},[i(l.$slots,`default`)],10,s))}}),l=e({__name:`CardContent`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let s=e;return(e,c)=>(r(),n(`div`,{"data-slot":`card-content`,class:t(o(a)(`px-4 group-data-[size=sm]/card:px-3`,s.class))},[i(e.$slots,`default`)],2))}});export{c as n,l as t};
1
+ import{$ as e,Vt as t,X as n,dt as r,mt as i,r as a,zt as o}from"./button-DOpof38-.js";var s=[`data-size`],c=e({__name:`Card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(e){let c=e;return(l,u)=>(r(),n(`div`,{"data-slot":`card`,"data-size":e.size,class:t(o(a)(`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))},[i(l.$slots,`default`)],10,s))}}),l=e({__name:`CardContent`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let s=e;return(e,c)=>(r(),n(`div`,{"data-slot":`card-content`,class:t(o(a)(`px-4 group-data-[size=sm]/card:px-3`,s.class))},[i(e.$slots,`default`)],2))}});export{c as n,l as t};
@@ -1 +1 @@
1
- import{$ as e,Vt as t,X as n,dt as r,mt as i,r as a,zt as o}from"./button-DNp6t9kr.js";var s=e({__name:`CardHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let s=e;return(e,c)=>(r(),n(`div`,{"data-slot":`card-header`,class:t(o(a)(`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))},[i(e.$slots,`default`)],2))}}),c=e({__name:`CardTitle`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let s=e;return(e,c)=>(r(),n(`div`,{"data-slot":`card-title`,class:t(o(a)(`text-base leading-snug font-medium group-data-[size=sm]/card:text-sm cn-font-heading`,s.class))},[i(e.$slots,`default`)],2))}});export{s as n,c as t};
1
+ import{$ as e,Vt as t,X as n,dt as r,mt as i,r as a,zt as o}from"./button-DOpof38-.js";var s=e({__name:`CardHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let s=e;return(e,c)=>(r(),n(`div`,{"data-slot":`card-header`,class:t(o(a)(`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))},[i(e.$slots,`default`)],2))}}),c=e({__name:`CardTitle`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let s=e;return(e,c)=>(r(),n(`div`,{"data-slot":`card-title`,class:t(o(a)(`text-base leading-snug font-medium group-data-[size=sm]/card:text-sm cn-font-heading`,s.class))},[i(e.$slots,`default`)],2))}});export{s as n,c as t};
@@ -1 +1 @@
1
- import{$ as e,H as t,Ht as n,J as r,K as i,Q as a,U as o,Y as s,dt as c,gt as l,i as u,m as d,mt as f,o as p,ot as m,r as h,tt as g,wt as _,x as v,zt as y}from"./button-DNp6t9kr.js";import{t as b}from"./VisuallyHiddenInput-D1bFtdXQ.js";import{t as x}from"./RovingFocusItem-CdltOaZP.js";import{B as S,G as C,H as w,L as T,Y as E,nt as D,q as O}from"./index-DXl9LuoU.js";function k(e,t){return C(e)?!1:Array.isArray(e)?e.some(e=>E(e,t)):E(e,t)}var[A,j]=O(`CheckboxGroupRoot`);function M(e){return e===`indeterminate`}function N(e){return M(e)?`indeterminate`:e?`checked`:`unchecked`}var[P,F]=O(`CheckboxRoot`),I=e({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:n}){let a=e,h=n,{forwardRef:g,currentElement:v}=p(),S=A(null),T=d(a,`modelValue`,h,{defaultValue:a.defaultValue??a.falseValue,passive:a.modelValue===void 0}),D=i(()=>S?.disabled.value||a.disabled),O=i(()=>E(T.value,a.trueValue)),j=i(()=>C(S?.modelValue.value)?T.value===`indeterminate`?`indeterminate`:O.value:k(S.modelValue.value,a.value));function P(){if(C(S?.modelValue.value))T.value===`indeterminate`?T.value=a.trueValue:T.value=O.value?a.falseValue:a.trueValue;else{let e=[...S.modelValue.value||[]];if(k(e,a.value)){let t=e.findIndex(e=>E(e,a.value));e.splice(t,1)}else e.push(a.value);S.modelValue.value=e}}let I=w(v),L=i(()=>a.id&&v.value?document.querySelector(`[for="${a.id}"]`)?.innerText:void 0);return F({disabled:D,state:j}),(e,n)=>(c(),r(l(y(S)?.rovingFocus.value?y(x):y(u)),m(e.$attrs,{id:e.id,ref:y(g),role:`checkbox`,"as-child":e.asChild,as:e.as,type:e.as===`button`?`button`:void 0,"aria-checked":y(M)(j.value)?`mixed`:j.value,"aria-required":e.required,"aria-label":e.$attrs[`aria-label`]||L.value,"data-state":y(N)(j.value),"data-disabled":D.value?``:void 0,disabled:D.value,focusable:y(S)?.rovingFocus.value?!D.value:void 0,onKeydown:t(o(()=>{},[`prevent`]),[`enter`]),onClick:P}),{default:_(()=>[f(e.$slots,`default`,{modelValue:y(T),state:j.value}),y(I)&&e.name&&!y(S)?(c(),r(y(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`])):s(`v-if`,!0)]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`]))}}),L=e({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let{forwardRef:t}=p(),n=P();return(e,i)=>(c(),r(y(T),{present:e.forceMount||y(M)(y(n).state.value)||y(n).state.value===!0},{default:_(()=>[a(y(u),m({ref:y(t),"data-state":y(N)(y(n).state.value),"data-disabled":y(n).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":e.asChild,as:e.as},e.$attrs),{default:_(()=>[f(e.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),R=e({__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(e,{emit:t}){let i=e,o=t,s=S(v(i,`class`),o);return(e,t)=>(c(),r(y(I),m({"data-slot":`checkbox`},y(s),{class:y(h)(`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`,i.class)}),{default:_(t=>[a(y(L),{"data-slot":`checkbox-indicator`,class:`[&>svg]:size-3.5 grid place-content-center text-current transition-none`},{default:_(()=>[f(e.$slots,`default`,n(g(t)),()=>[a(y(D))])]),_:2},1024)]),_:3},16,[`class`]))}});export{R as t};
1
+ import{$ as e,H as t,Ht as n,J as r,K as i,Q as a,U as o,Y as s,dt as c,gt as l,i as u,m as d,mt as f,o as p,ot as m,r as h,tt as g,wt as _,x as v,zt as y}from"./button-DOpof38-.js";import{t as b}from"./VisuallyHiddenInput-DfcRACwu.js";import{t as x}from"./RovingFocusItem-CJnGRDn0.js";import{B as S,G as C,H as w,L as T,Y as E,nt as D,q as O}from"./index-BEzoY3wI.js";function k(e,t){return C(e)?!1:Array.isArray(e)?e.some(e=>E(e,t)):E(e,t)}var[A,j]=O(`CheckboxGroupRoot`);function M(e){return e===`indeterminate`}function N(e){return M(e)?`indeterminate`:e?`checked`:`unchecked`}var[P,F]=O(`CheckboxRoot`),I=e({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:n}){let a=e,h=n,{forwardRef:g,currentElement:v}=p(),S=A(null),T=d(a,`modelValue`,h,{defaultValue:a.defaultValue??a.falseValue,passive:a.modelValue===void 0}),D=i(()=>S?.disabled.value||a.disabled),O=i(()=>E(T.value,a.trueValue)),j=i(()=>C(S?.modelValue.value)?T.value===`indeterminate`?`indeterminate`:O.value:k(S.modelValue.value,a.value));function P(){if(C(S?.modelValue.value))T.value===`indeterminate`?T.value=a.trueValue:T.value=O.value?a.falseValue:a.trueValue;else{let e=[...S.modelValue.value||[]];if(k(e,a.value)){let t=e.findIndex(e=>E(e,a.value));e.splice(t,1)}else e.push(a.value);S.modelValue.value=e}}let I=w(v),L=i(()=>a.id&&v.value?document.querySelector(`[for="${a.id}"]`)?.innerText:void 0);return F({disabled:D,state:j}),(e,n)=>(c(),r(l(y(S)?.rovingFocus.value?y(x):y(u)),m(e.$attrs,{id:e.id,ref:y(g),role:`checkbox`,"as-child":e.asChild,as:e.as,type:e.as===`button`?`button`:void 0,"aria-checked":y(M)(j.value)?`mixed`:j.value,"aria-required":e.required,"aria-label":e.$attrs[`aria-label`]||L.value,"data-state":y(N)(j.value),"data-disabled":D.value?``:void 0,disabled:D.value,focusable:y(S)?.rovingFocus.value?!D.value:void 0,onKeydown:t(o(()=>{},[`prevent`]),[`enter`]),onClick:P}),{default:_(()=>[f(e.$slots,`default`,{modelValue:y(T),state:j.value}),y(I)&&e.name&&!y(S)?(c(),r(y(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`])):s(`v-if`,!0)]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`]))}}),L=e({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let{forwardRef:t}=p(),n=P();return(e,i)=>(c(),r(y(T),{present:e.forceMount||y(M)(y(n).state.value)||y(n).state.value===!0},{default:_(()=>[a(y(u),m({ref:y(t),"data-state":y(N)(y(n).state.value),"data-disabled":y(n).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":e.asChild,as:e.as},e.$attrs),{default:_(()=>[f(e.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),R=e({__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(e,{emit:t}){let i=e,o=t,s=S(v(i,`class`),o);return(e,t)=>(c(),r(y(I),m({"data-slot":`checkbox`},y(s),{class:y(h)(`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`,i.class)}),{default:_(t=>[a(y(L),{"data-slot":`checkbox-indicator`,class:`[&>svg]:size-3.5 grid place-content-center text-current transition-none`},{default:_(()=>[f(e.$slots,`default`,n(g(t)),()=>[a(y(D))])]),_:2},1024)]),_:3},16,[`class`]))}});export{R as t};
@@ -1 +1 @@
1
- import{$ as e,Ht as t,J as n,K as r,Lt as i,Mt as a,Q as o,Y as s,d as c,dt as l,i as u,lt as d,m as f,mt as p,o as m,ot as h,st as g,tt as _,wt as v,xt as y,zt as b}from"./button-DNp6t9kr.js";import{B as x,L as S,q as C,z as w}from"./index-DXl9LuoU.js";var[T,E]=C(`CollapsibleRoot`),D=e({__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:t,emit:r}){let a=e,o=f(a,`open`,r,{defaultValue:a.defaultOpen,passive:a.open===void 0}),{disabled:s,unmountOnHide:c}=i(a);return E({contentId:``,disabled:s,open:o,unmountOnHide:c,onOpenToggle:()=>{s.value||(o.value=!o.value)}}),t({open:o}),m(),(e,t)=>(l(),n(b(u),{as:e.as,"as-child":a.asChild,"data-state":b(o)?`open`:`closed`,"data-disabled":b(s)?``:void 0},{default:v(()=>[p(e.$slots,`default`,{open:b(o)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),O=e({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(e,{emit:t}){let i=e,f=t,_=T();_.contentId||=w(void 0,`reka-collapsible-content`);let x=a(),{forwardRef:C,currentElement:E}=m(),D=a(0),O=a(0),k=r(()=>_.open.value),A=a(k.value),j=a();y(()=>[k.value,x.value?.present],async()=>{await g();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=r(()=>A.value&&_.open.value);return d(()=>{requestAnimationFrame(()=>{A.value=!1})}),c(E,`beforematch`,e=>{requestAnimationFrame(()=>{_.onOpenToggle(),f(`contentFound`)})}),(e,t)=>(l(),n(b(S),{ref_key:`presentRef`,ref:x,present:e.forceMount||b(_).open.value,"force-mount":!0},{default:v(({present:t})=>[o(b(u),h(e.$attrs,{id:b(_).contentId,ref:b(C),"as-child":i.asChild,as:e.as,hidden:t?void 0:b(_).unmountOnHide.value?``:`until-found`,"data-state":M.value?void 0:b(_).open.value?`open`:`closed`,"data-disabled":b(_).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${O.value}px`,"--reka-collapsible-content-width":`${D.value}px`}}),{default:v(()=>[!b(_).unmountOnHide.value||t?p(e.$slots,`default`,{key:0}):s(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),k=e({__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:r}){let i=x(e,r);return(e,r)=>(l(),n(b(D),h({"data-slot":`collapsible`},b(i)),{default:v(n=>[p(e.$slots,`default`,t(_(n)))]),_:3},16))}}),A=e({__name:`CollapsibleContent`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,r)=>(l(),n(b(O),h({"data-slot":`collapsible-content`},t),{default:v(()=>[p(e.$slots,`default`)]),_:3},16))}});export{k as n,T as r,A as t};
1
+ import{$ as e,Ht as t,J as n,K as r,Lt as i,Mt as a,Q as o,Y as s,d as c,dt as l,i as u,lt as d,m as f,mt as p,o as m,ot as h,st as g,tt as _,wt as v,xt as y,zt as b}from"./button-DOpof38-.js";import{B as x,L as S,q as C,z as w}from"./index-BEzoY3wI.js";var[T,E]=C(`CollapsibleRoot`),D=e({__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:t,emit:r}){let a=e,o=f(a,`open`,r,{defaultValue:a.defaultOpen,passive:a.open===void 0}),{disabled:s,unmountOnHide:c}=i(a);return E({contentId:``,disabled:s,open:o,unmountOnHide:c,onOpenToggle:()=>{s.value||(o.value=!o.value)}}),t({open:o}),m(),(e,t)=>(l(),n(b(u),{as:e.as,"as-child":a.asChild,"data-state":b(o)?`open`:`closed`,"data-disabled":b(s)?``:void 0},{default:v(()=>[p(e.$slots,`default`,{open:b(o)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),O=e({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(e,{emit:t}){let i=e,f=t,_=T();_.contentId||=w(void 0,`reka-collapsible-content`);let x=a(),{forwardRef:C,currentElement:E}=m(),D=a(0),O=a(0),k=r(()=>_.open.value),A=a(k.value),j=a();y(()=>[k.value,x.value?.present],async()=>{await g();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=r(()=>A.value&&_.open.value);return d(()=>{requestAnimationFrame(()=>{A.value=!1})}),c(E,`beforematch`,e=>{requestAnimationFrame(()=>{_.onOpenToggle(),f(`contentFound`)})}),(e,t)=>(l(),n(b(S),{ref_key:`presentRef`,ref:x,present:e.forceMount||b(_).open.value,"force-mount":!0},{default:v(({present:t})=>[o(b(u),h(e.$attrs,{id:b(_).contentId,ref:b(C),"as-child":i.asChild,as:e.as,hidden:t?void 0:b(_).unmountOnHide.value?``:`until-found`,"data-state":M.value?void 0:b(_).open.value?`open`:`closed`,"data-disabled":b(_).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${O.value}px`,"--reka-collapsible-content-width":`${D.value}px`}}),{default:v(()=>[!b(_).unmountOnHide.value||t?p(e.$slots,`default`,{key:0}):s(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),k=e({__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:r}){let i=x(e,r);return(e,r)=>(l(),n(b(D),h({"data-slot":`collapsible`},b(i)),{default:v(n=>[p(e.$slots,`default`,t(_(n)))]),_:3},16))}}),A=e({__name:`CollapsibleContent`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,r)=>(l(),n(b(O),h({"data-slot":`collapsible-content`},t),{default:v(()=>[p(e.$slots,`default`)]),_:3},16))}});export{k as n,T as r,A as t};
@@ -1 +1 @@
1
- import{$ as e,J as t,dt as n,i as r,mt as i,o as a,ot as o,wt as s,zt as c}from"./button-DNp6t9kr.js";import{r as l}from"./CollapsibleContent-B1F8U0rL.js";var u=e({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let o=e;a();let u=l();return(e,a)=>(n(),t(c(r),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":o.asChild,"aria-controls":c(u).contentId,"aria-expanded":c(u).open.value,"data-state":c(u).open.value?`open`:`closed`,"data-disabled":c(u).disabled?.value?``:void 0,disabled:c(u).disabled?.value,onClick:c(u).onOpenToggle},{default:s(()=>[i(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}}),d=e({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let r=e;return(e,a)=>(n(),t(c(u),o({"data-slot":`collapsible-trigger`},r),{default:s(()=>[i(e.$slots,`default`)]),_:3},16))}});export{d as t};
1
+ import{$ as e,J as t,dt as n,i as r,mt as i,o as a,ot as o,wt as s,zt as c}from"./button-DOpof38-.js";import{r as l}from"./CollapsibleContent-D7KpsB50.js";var u=e({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let o=e;a();let u=l();return(e,a)=>(n(),t(c(r),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":o.asChild,"aria-controls":c(u).contentId,"aria-expanded":c(u).open.value,"data-state":c(u).open.value?`open`:`closed`,"data-disabled":c(u).disabled?.value?``:void 0,disabled:c(u).disabled?.value,onClick:c(u).onOpenToggle},{default:s(()=>[i(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}}),d=e({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let r=e;return(e,a)=>(n(),t(c(u),o({"data-slot":`collapsible-trigger`},r),{default:s(()=>[i(e.$slots,`default`)]),_:3},16))}});export{d as t};