llm-simple-router 0.4.1 → 0.4.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.
- package/dist/admin/logs.js +2 -2
- package/dist/admin/routes.js +2 -0
- package/dist/admin/settings.d.ts +7 -0
- package/dist/admin/settings.js +16 -0
- package/dist/db/index.d.ts +1 -1
- package/dist/db/index.js +19 -3
- package/dist/db/log-cleaner.d.ts +10 -0
- package/dist/db/log-cleaner.js +42 -0
- package/dist/db/logs.d.ts +27 -8
- package/dist/db/logs.js +40 -6
- package/dist/db/migrations/020_drop_log_redundancy.sql +8 -0
- package/dist/db/migrations/021_merge_metrics_columns.sql +28 -0
- package/dist/db/settings.d.ts +2 -0
- package/dist/db/settings.js +7 -0
- package/dist/index.js +13 -1
- package/dist/monitor/types.d.ts +3 -0
- package/dist/proxy/log-helpers.d.ts +0 -2
- package/dist/proxy/log-helpers.js +3 -5
- package/dist/proxy/orchestrator.d.ts +2 -0
- package/dist/proxy/orchestrator.js +1 -0
- package/dist/proxy/proxy-handler.js +29 -4
- package/dist/proxy/proxy-logging.d.ts +0 -1
- package/dist/proxy/proxy-logging.js +8 -10
- package/frontend-dist/assets/{CardContent-fmM_iiuR.js → CardContent-BIgWZo6N.js} +1 -1
- package/frontend-dist/assets/CardTitle-BVVp36Pq.js +1 -0
- package/frontend-dist/assets/Checkbox-CnvHc21k.js +1 -0
- package/frontend-dist/assets/CollapsibleTrigger-DG8JZQfm.js +1 -0
- package/frontend-dist/assets/Collection-B4yfvPwd.js +3 -0
- package/frontend-dist/assets/Dashboard-D9ZMKiZw.js +3 -0
- package/frontend-dist/assets/DialogTitle-C7Wl7fWN.js +1 -0
- package/frontend-dist/assets/{Input-BhvZ-Up7.js → Input-BA5UO-Ab.js} +1 -1
- package/frontend-dist/assets/Label-CmG21jDR.js +1 -0
- package/frontend-dist/assets/Login-Dqwj0s5l.js +1 -0
- package/frontend-dist/assets/Logs-CGzGzcDa.js +1 -0
- package/frontend-dist/assets/ModelMappings-qxaFWRsq.js +1 -0
- package/frontend-dist/assets/Monitor-Zy3O9UQA.js +1 -0
- package/frontend-dist/assets/{PopperContent-CHNw_qb6.js → PopperContent-B48BBgdW.js} +1 -1
- package/frontend-dist/assets/{Providers-C9ZAqHxO.js → Providers-DRMSjTlb.js} +1 -1
- package/frontend-dist/assets/ProxyEnhancement-CtlDQ_oK.js +5 -0
- package/frontend-dist/assets/RetryRules-CxbZt6dv.js +1 -0
- package/frontend-dist/assets/RouterKeys-drAASJqH.js +1 -0
- package/frontend-dist/assets/SelectValue-Ct22fmR7.js +1 -0
- package/frontend-dist/assets/Setup-CfscyFFo.js +1 -0
- package/frontend-dist/assets/Switch-ROnHu48E.js +1 -0
- package/frontend-dist/assets/TableHeader-R3y9M8qo.js +1 -0
- package/frontend-dist/assets/TabsContent-CtT2wglf.js +1 -0
- package/frontend-dist/assets/TabsTrigger-D2S77VwS.js +1 -0
- package/frontend-dist/assets/UnifiedRequestDialog-BhGWzOYY.js +3 -0
- package/frontend-dist/assets/UnifiedRequestDialog-CotaDyW7.css +1 -0
- package/frontend-dist/assets/VisuallyHidden-ppNQPfSR.js +1 -0
- package/frontend-dist/assets/{VisuallyHiddenInput-cjeTgyDe.js → VisuallyHiddenInput-DOdhvOHf.js} +1 -1
- package/frontend-dist/assets/{alert-dialog-BoGRIC1Q.js → alert-dialog-BbI_a1Xz.js} +1 -1
- package/frontend-dist/assets/{badge-DIO8W_W9.js → badge-CcgNasyU.js} +1 -1
- package/frontend-dist/assets/{button-qxGNBunr.js → button-BkhL20Qz.js} +2 -2
- package/frontend-dist/assets/{createLucideIcon-jHUFhqKn.js → createLucideIcon-D2A5NyBH.js} +1 -1
- package/frontend-dist/assets/dialog-BeetdYQi.js +1 -0
- package/frontend-dist/assets/file-text-D-Vekfc6.js +1 -0
- package/frontend-dist/assets/index-Bgqc9Lca.js +1 -0
- package/frontend-dist/assets/index-hzTjKE_2.css +1 -0
- package/frontend-dist/assets/lib-BAWhmkfz.js +1 -0
- package/frontend-dist/assets/{ohash.D__AXeF1-nmJ7gFbh.js → ohash.D__AXeF1-B5oxGXRD.js} +1 -1
- package/frontend-dist/assets/{useClipboard-CmLp2YGk.js → useClipboard-D3mHD2V6.js} +1 -1
- package/frontend-dist/assets/{useForwardExpose-awoGXQkg.js → useForwardExpose-Pf45y-q1.js} +1 -1
- package/frontend-dist/assets/useNonce-Dfbnp6Co.js +1 -0
- package/frontend-dist/assets/x-CrCHzImd.js +1 -0
- package/frontend-dist/index.html +8 -7
- package/package.json +1 -1
- package/frontend-dist/assets/CardHeader-BzzFzZ1B.js +0 -1
- package/frontend-dist/assets/CardTitle-09d7O-11.js +0 -1
- package/frontend-dist/assets/Checkbox-DH8iqXQd.js +0 -1
- package/frontend-dist/assets/CollapsibleTrigger-DCRRORrU.js +0 -1
- package/frontend-dist/assets/Collection-DY9-Yue9.js +0 -3
- package/frontend-dist/assets/Dashboard-BEzoZuSm.js +0 -3
- package/frontend-dist/assets/DialogTitle-BeMGJzYO.js +0 -1
- package/frontend-dist/assets/Label-DjtouWZ7.js +0 -1
- package/frontend-dist/assets/LogDetailDialog-BjRsy_FR.js +0 -3
- package/frontend-dist/assets/Login-hOCPB-34.js +0 -1
- package/frontend-dist/assets/Logs-C5c3BJsg.js +0 -1
- package/frontend-dist/assets/ModelMappings-CDjxwyyz.js +0 -1
- package/frontend-dist/assets/Monitor-CPAvIREG.js +0 -1
- package/frontend-dist/assets/ProxyEnhancement-Ct5WbiB7.js +0 -5
- package/frontend-dist/assets/RetryRules-CbgyrP6w.js +0 -1
- package/frontend-dist/assets/RouterKeys-zmqgFEKp.js +0 -1
- package/frontend-dist/assets/SelectValue-CP4Sh7LP.js +0 -1
- package/frontend-dist/assets/Setup-BXDEPt4o.js +0 -1
- package/frontend-dist/assets/Switch-DF6awXqs.js +0 -1
- package/frontend-dist/assets/TableHeader-BKE_yVML.js +0 -1
- package/frontend-dist/assets/TabsTrigger-D8R7lxaI.js +0 -1
- package/frontend-dist/assets/TooltipTrigger-BjQXeFem.js +0 -1
- package/frontend-dist/assets/VisuallyHidden-B_NnkONE.js +0 -1
- package/frontend-dist/assets/dialog-D8pIXeSs.js +0 -1
- package/frontend-dist/assets/index-C_disqMY.js +0 -1
- package/frontend-dist/assets/index-DDp6SHfg.css +0 -1
- package/frontend-dist/assets/lib-DjpgwSRA.js +0 -1
- package/frontend-dist/assets/useNonce-_2e-GL-A.js +0 -1
- package/frontend-dist/assets/x-B0G-wIAB.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "crypto";
|
|
2
|
-
import { insertRequestLog, insertMetrics } from "../db/index.js";
|
|
2
|
+
import { insertRequestLog, insertMetrics, updateLogMetrics } from "../db/index.js";
|
|
3
3
|
import { insertSuccessLog } from "./log-helpers.js";
|
|
4
4
|
import { MetricsExtractor } from "../metrics/metrics-extractor.js";
|
|
5
5
|
// Re-export shared constants & types from types.ts (canonical home)
|
|
@@ -27,11 +27,9 @@ export function handleIntercept(db, apiType, request, reply, interceptResponse,
|
|
|
27
27
|
status_code: interceptResponse.statusCode, latency_ms: 0,
|
|
28
28
|
is_stream: isStream ? 1 : 0, error_message: null,
|
|
29
29
|
created_at: new Date().toISOString(),
|
|
30
|
-
request_body: JSON.stringify(request.body),
|
|
31
|
-
response_body: respBody,
|
|
32
30
|
client_request: JSON.stringify({ headers: request.headers, body: request.body }),
|
|
33
31
|
upstream_request: interceptResponse.meta ? JSON.stringify(interceptResponse.meta) : null,
|
|
34
|
-
|
|
32
|
+
upstream_response: JSON.stringify({ statusCode: interceptResponse.statusCode, body: respBody }),
|
|
35
33
|
is_retry: 0, is_failover: 0, original_request_id: null,
|
|
36
34
|
router_key_id: request.routerKey?.id ?? null, original_model: null,
|
|
37
35
|
});
|
|
@@ -53,7 +51,7 @@ export function logResilienceResult(db, params, attempts, result, startTime) {
|
|
|
53
51
|
provider_id: attempt.target.provider_id,
|
|
54
52
|
status_code: HTTP_BAD_GATEWAY, latency_ms: attempt.latencyMs,
|
|
55
53
|
is_stream: params.isStream ? 1 : 0, error_message: attempt.error,
|
|
56
|
-
created_at: new Date().toISOString(),
|
|
54
|
+
created_at: new Date().toISOString(),
|
|
57
55
|
client_request: params.clientReq, upstream_request: params.upstreamReqBase,
|
|
58
56
|
is_retry: isOriginal ? 0 : 1, is_failover: isFailoverLog ? 1 : 0,
|
|
59
57
|
original_request_id: parentId,
|
|
@@ -66,11 +64,9 @@ export function logResilienceResult(db, params, attempts, result, startTime) {
|
|
|
66
64
|
provider_id: attempt.target.provider_id,
|
|
67
65
|
status_code: attempt.statusCode, latency_ms: attempt.latencyMs,
|
|
68
66
|
is_stream: params.isStream ? 1 : 0, error_message: null,
|
|
69
|
-
created_at: new Date().toISOString(),
|
|
70
|
-
response_body: attempt.responseBody,
|
|
67
|
+
created_at: new Date().toISOString(),
|
|
71
68
|
client_request: params.clientReq, upstream_request: params.upstreamReqBase,
|
|
72
69
|
upstream_response: JSON.stringify({ statusCode: attempt.statusCode, body: attempt.responseBody }),
|
|
73
|
-
client_response: JSON.stringify({ statusCode: attempt.statusCode, body: attempt.responseBody }),
|
|
74
70
|
is_retry: isOriginal ? 0 : 1, is_failover: isFailoverLog ? 1 : 0,
|
|
75
71
|
original_request_id: parentId,
|
|
76
72
|
router_key_id: params.routerKeyId, original_model: params.originalModel,
|
|
@@ -84,10 +80,10 @@ export function logResilienceResult(db, params, attempts, result, startTime) {
|
|
|
84
80
|
apiType: params.apiType, model: params.model,
|
|
85
81
|
provider: { id: attempt.target.provider_id },
|
|
86
82
|
isStream: params.isStream, startTime,
|
|
87
|
-
|
|
83
|
+
clientReq: params.clientReq,
|
|
88
84
|
upstreamReq: params.upstreamReqBase, id: attemptLogId,
|
|
89
85
|
status: attempt.statusCode, respBody: attempt.responseBody,
|
|
90
|
-
upHdrs,
|
|
86
|
+
upHdrs,
|
|
91
87
|
isRetry: !isOriginal, isFailover: isFailoverLog,
|
|
92
88
|
originalRequestId: parentId,
|
|
93
89
|
routerKeyId: params.routerKeyId, originalModel: params.originalModel,
|
|
@@ -103,6 +99,7 @@ export function collectTransportMetrics(db, apiType, result, isStream, lastSucce
|
|
|
103
99
|
if (isStream && (result.kind === "stream_success" || result.kind === "stream_abort")) {
|
|
104
100
|
if (result.metrics) {
|
|
105
101
|
insertMetrics(db, { ...base, ...result.metrics });
|
|
102
|
+
updateLogMetrics(db, lastSuccessLogId, result.metrics);
|
|
106
103
|
return;
|
|
107
104
|
}
|
|
108
105
|
}
|
|
@@ -110,6 +107,7 @@ export function collectTransportMetrics(db, apiType, result, isStream, lastSucce
|
|
|
110
107
|
const mr = MetricsExtractor.fromNonStreamResponse(apiType, result.body);
|
|
111
108
|
if (mr) {
|
|
112
109
|
insertMetrics(db, { ...base, ...mr });
|
|
110
|
+
updateLogMetrics(db, lastSuccessLogId, mr);
|
|
113
111
|
return;
|
|
114
112
|
}
|
|
115
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{It as e,K as t,Pt as n,U as r,at as i,ct as a,r as o}from"./button-BkhL20Qz.js";var s=[`data-size`],c=t({__name:`Card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(t){let c=t;return(l,u)=>(i(),r(`div`,{"data-slot":`card`,"data-size":t.size,class:e(n(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=t({__name:`CardContent`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let s=t;return(t,c)=>(i(),r(`div`,{"data-slot":`card-content`,class:e(n(o)(`px-4 group-data-[size=sm]/card:px-3`,s.class))},[a(t.$slots,`default`)],2))}});export{c as n,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{It as e,K as t,Pt as n,U as r,at as i,ct as a,r as o}from"./button-BkhL20Qz.js";var s=t({__name:`CardHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let s=t;return(t,c)=>(i(),r(`div`,{"data-slot":`card-header`,class:e(n(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(t.$slots,`default`)],2))}}),c=t({__name:`CardTitle`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let s=t;return(t,c)=>(i(),r(`div`,{"data-slot":`card-title`,class:e(n(o)(`text-base leading-snug font-medium group-data-[size=sm]/card:text-sm cn-font-heading`,s.class))},[a(t.$slots,`default`)],2))}});export{s as n,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,F as t,G as n,H as r,I as i,J as a,K as o,Lt as s,Pt as c,V as l,at as u,b as d,ct as f,i as p,p as m,r as h,ut as g,vt as _,z as v}from"./button-BkhL20Qz.js";import{n as y,t as b}from"./ohash.D__AXeF1-B5oxGXRD.js";import{S as x,c as S,f as C,y as w}from"./Collection-B4yfvPwd.js";import{n as T}from"./VisuallyHidden-ppNQPfSR.js";import{t as E}from"./useForwardExpose-Pf45y-q1.js";import{t as D}from"./VisuallyHiddenInput-DOdhvOHf.js";import{s as O}from"./TableHeader-R3y9M8qo.js";function k(e,t){return w(e)?!1:Array.isArray(e)?e.some(e=>b(e,t)):b(e,t)}var[A,j]=x(`CheckboxGroupRoot`);function M(e){return e===`indeterminate`}function N(e){return M(e)?`indeterminate`:e?`checked`:`unchecked`}var[P,F]=x(`CheckboxRoot`),I=o({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(n,{emit:a}){let o=n,s=a,{forwardRef:d,currentElement:h}=E(),y=A(null),x=m(o,`modelValue`,s,{defaultValue:o.defaultValue??o.falseValue,passive:o.modelValue===void 0}),S=v(()=>y?.disabled.value||o.disabled),C=v(()=>b(x.value,o.trueValue)),j=v(()=>w(y?.modelValue.value)?x.value===`indeterminate`?`indeterminate`:C.value:k(y.modelValue.value,o.value));function P(){if(w(y?.modelValue.value))x.value===`indeterminate`?x.value=o.trueValue:x.value=C.value?o.falseValue:o.trueValue;else{let e=[...y.modelValue.value||[]];if(k(e,o.value)){let t=e.findIndex(e=>b(e,o.value));e.splice(t,1)}else e.push(o.value);y.modelValue.value=e}}let I=T(h),L=v(()=>o.id&&h.value?document.querySelector(`[for="${o.id}"]`)?.innerText:void 0);return F({disabled:S,state:j}),(n,a)=>(u(),l(g(c(y)?.rovingFocus.value?c(O):c(p)),e(n.$attrs,{id:n.id,ref:c(d),role:`checkbox`,"as-child":n.asChild,as:n.as,type:n.as===`button`?`button`:void 0,"aria-checked":c(M)(j.value)?`mixed`:j.value,"aria-required":n.required,"aria-label":n.$attrs[`aria-label`]||L.value,"data-state":c(N)(j.value),"data-disabled":S.value?``:void 0,disabled:S.value,focusable:c(y)?.rovingFocus.value?!S.value:void 0,onKeydown:t(i(()=>{},[`prevent`]),[`enter`]),onClick:P}),{default:_(()=>[f(n.$slots,`default`,{modelValue:c(x),state:j.value}),c(I)&&n.name&&!c(y)?(u(),l(c(D),{key:0,type:`checkbox`,checked:!!j.value,name:n.name,value:n.value,disabled:S.value,required:n.required},null,8,[`checked`,`name`,`value`,`disabled`,`required`])):r(`v-if`,!0)]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`]))}}),L=o({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let{forwardRef:r}=E(),i=P();return(t,a)=>(u(),l(c(S),{present:t.forceMount||c(M)(c(i).state.value)||c(i).state.value===!0},{default:_(()=>[n(c(p),e({ref:c(r),"data-state":c(N)(c(i).state.value),"data-disabled":c(i).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":t.asChild,as:t.as},t.$attrs),{default:_(()=>[f(t.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),R=o({__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(t,{emit:r}){let i=t,o=r,p=C(d(i,`class`),o);return(t,r)=>(u(),l(c(I),e({"data-slot":`checkbox`},c(p),{class:c(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:_(e=>[n(c(L),{"data-slot":`checkbox-indicator`,class:`[&>svg]:size-3.5 grid place-content-center text-current transition-none`},{default:_(()=>[f(t.$slots,`default`,s(a(e)),()=>[n(c(y))])]),_:2},1024)]),_:3},16,[`class`]))}});export{R as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,Et as t,G as n,H as r,J as i,K as a,Lt as o,Pt as s,V as c,at as l,ct as u,et as d,ht as f,i as p,jt as m,nt as h,p as g,u as _,vt as v,z as y}from"./button-BkhL20Qz.js";import{S as b,c as x,f as S,u as C}from"./Collection-B4yfvPwd.js";import{t as w}from"./useForwardExpose-Pf45y-q1.js";var[T,E]=b(`CollapsibleRoot`),D=a({__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:n}){let r=e,i=g(r,`open`,n,{defaultValue:r.defaultOpen,passive:r.open===void 0}),{disabled:a,unmountOnHide:o}=m(r);return E({contentId:``,disabled:a,open:i,unmountOnHide:o,onOpenToggle:()=>{a.value||(i.value=!i.value)}}),t({open:i}),w(),(e,t)=>(l(),c(s(p),{as:e.as,"as-child":r.asChild,"data-state":s(i)?`open`:`closed`,"data-disabled":s(a)?``:void 0},{default:v(()=>[u(e.$slots,`default`,{open:s(i)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),O=a({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(i,{emit:a}){let o=i,m=a,g=T();g.contentId||=C(void 0,`reka-collapsible-content`);let b=t(),{forwardRef:S,currentElement:E}=w(),D=t(0),O=t(0),k=y(()=>g.open.value),A=t(k.value),j=t();f(()=>[k.value,b.value?.present],async()=>{await d();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=y(()=>A.value&&g.open.value);return h(()=>{requestAnimationFrame(()=>{A.value=!1})}),_(E,`beforematch`,e=>{requestAnimationFrame(()=>{g.onOpenToggle(),m(`contentFound`)})}),(t,i)=>(l(),c(s(x),{ref_key:`presentRef`,ref:b,present:t.forceMount||s(g).open.value,"force-mount":!0},{default:v(({present:i})=>[n(s(p),e(t.$attrs,{id:s(g).contentId,ref:s(S),"as-child":o.asChild,as:t.as,hidden:i?void 0:s(g).unmountOnHide.value?``:`until-found`,"data-state":M.value?void 0:s(g).open.value?`open`:`closed`,"data-disabled":s(g).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${O.value}px`,"--reka-collapsible-content-width":`${D.value}px`}}),{default:v(()=>[!s(g).unmountOnHide.value||i?u(t.$slots,`default`,{key:0}):r(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),k=a({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;w();let n=T();return(e,r)=>(l(),c(s(p),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":t.asChild,"aria-controls":s(n).contentId,"aria-expanded":s(n).open.value,"data-state":s(n).open.value?`open`:`closed`,"data-disabled":s(n).disabled?.value?``:void 0,disabled:s(n).disabled?.value,onClick:s(n).onOpenToggle},{default:v(()=>[u(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}}),A=a({__name:`Collapsible`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(t,{emit:n}){let r=S(t,n);return(t,n)=>(l(),c(s(D),e({"data-slot":`collapsible`},s(r)),{default:v(e=>[u(t.$slots,`default`,o(i(e)))]),_:3},16))}}),j=a({__name:`CollapsibleContent`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(l(),c(s(O),e({"data-slot":`collapsible-content`},n),{default:v(()=>[u(t.$slots,`default`)]),_:3},16))}}),M=a({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(l(),c(s(k),e({"data-slot":`collapsible-trigger`},n),{default:v(()=>[u(t.$slots,`default`)]),_:3},16))}});export{j as n,A as r,M as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{At as e,Bt as t,Ct as n,Et as r,Ft as i,H as a,K as o,M as s,Mt as c,Pt as l,R as u,Rt as d,S as f,Tt as p,V as m,X as h,Y as g,_ as ee,a as _,at as v,c as te,ct as y,d as ne,et as b,g as re,gt as x,ht as S,i as C,jt as ie,l as w,o as ae,ot as oe,pt as se,q as T,rt as E,s as ce,u as le,v as D,vt as O,y as k,z as A}from"./button-BkhL20Qz.js";import{t as j}from"./useForwardExpose-Pf45y-q1.js";function M(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=h(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(oe(r,e),e)]}function N(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function P(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function F(e){return e==null}var[I,ue]=M(`ConfigProvider`);function L(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function R(e,t,n=`.`,r){if(!L(t))return R(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:L(a)&&L(i[t])?i[t]=R(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function de(e){return(...t)=>t.reduce((t,n)=>R(t,n,``,e),{})}var z=de(),fe=ee(()=>{let e=r(new Map),t=r(),n=A(()=>{for(let t of e.value.values())if(t)return!0;return!1}),i=I({scrollBody:r(!0)}),a=null,o=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,k&&a?.(),t.value=void 0};return S(n,(e,r)=>{if(!D)return;if(!e){r&&o();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=i.scrollBody?.value?typeof i.scrollBody.value==`object`?z({padding:i.scrollBody.value.padding===!0?s:i.scrollBody.value.padding,margin:i.scrollBody.value.margin===!0?s:i.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),k&&(a=le(document,`touchmove`,e=>he(e),{passive:!1})),b(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function pe(e){let t=Math.random().toString(36).substring(2,7),n=fe();n.value.set(t,e??!1);let r=A({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return f(()=>{n.value.delete(t)}),r}function me(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:me(t)}}function he(e){let t=e||window.event,n=t.target;return n instanceof Element&&me(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function ge(e){let t=I({dir:r(`ltr`)});return A(()=>e?.value||t.dir?.value||`ltr`)}function _e(e){let n=T(),r=n?.type.emits,a={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{a[t(i(n))]=(...t)=>e(n,...t)}),a}function ve(t){let n=T(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),a=e(t);return A(()=>{let e={},t=n?.vnode.props??{};return Object.keys(t).forEach(n=>{e[i(n)]=t[n]}),Object.keys({...r,...e}).reduce((e,t)=>(a.value[t]!==void 0&&(e[t]=a.value[t]),e),{})})}function ye(e,t){let n=ve(e),r=t?_e(t):{};return A(()=>({...n.value,...r}))}var be=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},B=new WeakMap,V=new WeakMap,H={},U=0,W=function(e){return e&&(e.host||W(e.parentNode))},xe=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=W(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Se=function(e,t,n,r){var i=xe(t,Array.isArray(e)?e:[e]);H[n]||(H[n]=new WeakMap);var a=H[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(B.get(e)||0)+1,l=(a.get(e)||0)+1;B.set(e,c),a.set(e,l),o.push(e),c===1&&i&&V.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),U++,function(){o.forEach(function(e){var t=B.get(e)-1,i=a.get(e)-1;B.set(e,t),a.set(e,i),t||(V.has(e)||e.removeAttribute(r),V.delete(e)),i||e.removeAttribute(n)}),U--,U||(B=new WeakMap,B=new WeakMap,V=new WeakMap,H={})}},Ce=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||be(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Se(r,i,n,`aria-hidden`)):function(){return null}};function we(e){let t;S(()=>w(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=Ce(e):t&&t()}),E(()=>{t&&t()})}var Te=0;function Ee(e,t=`reka`){if(e)return e;let n;return n=`useId`in s?se?.():I({useId:void 0}).useId?.()??`${++Te}`,t?`${t}-${n}`:n}function G(e,t){let n=r(e);function i(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=i(e)}}}function De(e,t){let n=r({}),i=r(`none`),a=r(e),o=e.value?`mounted`:`unmounted`,s,c=t.value?.ownerDocument.defaultView??ce,{state:l,dispatch:u}=G(o,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),d=e=>{if(D){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};S(e,async(e,r)=>{let a=r!==e;if(await b(),a){let a=i.value,o=K(t.value);e?(u(`MOUNT`),d(`enter`),o===`none`&&d(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(u(`UNMOUNT`),d(`leave`),d(`after-leave`)):r&&a!==o?(u(`ANIMATION_OUT`),d(`leave`)):(u(`UNMOUNT`),d(`after-leave`))}},{immediate:!0});let f=e=>{let n=K(t.value),r=n.includes(CSS.escape(e.animationName)),i=l.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(d(`after-${i}`),u(`ANIMATION_END`),!a.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,s=c?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&u(`ANIMATION_END`)},p=e=>{e.target===t.value&&(i.value=K(t.value))},m=S(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,p),e.addEventListener(`animationcancel`,f),e.addEventListener(`animationend`,f)):(u(`ANIMATION_END`),s!==void 0&&c?.clearTimeout(s),t?.removeEventListener(`animationstart`,p),t?.removeEventListener(`animationcancel`,f),t?.removeEventListener(`animationend`,f))},{immediate:!0}),h=S(l,()=>{let e=K(t.value);i.value=l.value===`mounted`?e:`none`});return E(()=>{m(),h()}),{isPresent:A(()=>[`mounted`,`unmountSuspended`].includes(l.value))}}function K(e){return e&&getComputedStyle(e).animationName||`none`}var Oe=o({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:i,forceMount:a}=ie(e),o=r(),{isPresent:s}=De(i,o);n({present:s});let c=t.default({present:s.value});c=ae(c||[]);let l=T();if(c&&c?.length>1){let e=l?.parent?.type.name?`<${l.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
|
|
2
|
+
`)].join(`
|
|
3
|
+
`))}return()=>a.value||i.value||s.value?g(t.default({present:s.value})[0],{ref:e=>{let t=w(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?o.value=t.firstElementChild:o.value=t),t}}):null}});function q(){let e=r();return{primitiveElement:e,currentElement:A(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:w(e))}}var ke=`dismissableLayer.pointerDownOutside`,Ae=`dismissableLayer.focusOutside`;function J(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function je(e,t,n=!0){let i=t?.value?.ownerDocument??globalThis?.document,a=r(!1),o=r(()=>{});return x(r=>{if(!D||!c(n))return;let s=async n=>{let r=n.target;if(!(!t?.value||!r)){if(J(t.value,r)){a.value=!1;return}if(n.target&&!a.value){let t={originalEvent:n};function r(){P(ke,e,t)}n.pointerType===`touch`?(i.removeEventListener(`click`,o.value),o.value=r,i.addEventListener(`click`,o.value,{once:!0})):r()}else i.removeEventListener(`click`,o.value);a.value=!1}},l=window.setTimeout(()=>{i.addEventListener(`pointerdown`,s)},0);r(()=>{window.clearTimeout(l),i.removeEventListener(`pointerdown`,s),i.removeEventListener(`click`,o.value)})}),{onPointerDownCapture:()=>{c(n)&&(a.value=!0)}}}function Me(e,t,n=!0){let i=t?.value?.ownerDocument??globalThis?.document,a=r(!1);return x(r=>{if(!D||!c(n))return;let o=async n=>{if(!t?.value)return;await b(),await b();let r=n.target;!t.value||!r||J(t.value,r)||n.target&&!a.value&&P(Ae,e,{originalEvent:n})};i.addEventListener(`focusin`,o),r(()=>i.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{c(n)&&(a.value=!0)},onBlurCapture:()=>{c(n)&&(a.value=!1)}}}var Y=p({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Ne=o({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=j(),o=A(()=>a.value?.ownerDocument??globalThis.document),s=A(()=>Y.layersRoot),c=A(()=>a.value?Array.from(s.value).indexOf(a.value):-1),u=A(()=>Y.layersWithOutsidePointerEventsDisabled.size>0),f=A(()=>{let e=Array.from(s.value),[t]=[...Y.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),p=je(async e=>{let t=[...Y.branches].some(t=>t?.contains(e.target));!f.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await b(),e.defaultPrevented||r(`dismiss`))},a),h=Me(e=>{[...Y.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return te(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),x(e=>{a.value&&(n.disableOutsidePointerEvents&&(Y.layersWithOutsidePointerEventsDisabled.size===0&&(Y.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),Y.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&Y.layersWithOutsidePointerEventsDisabled.size===1&&!F(Y.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=Y.originalBodyPointerEvents)}))}),x(e=>{e(()=>{a.value&&(s.value.delete(a.value),Y.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(v(),m(l(C),{ref:l(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:d({pointerEvents:u.value?f.value?`auto`:`none`:void 0}),onFocusCapture:l(h).onFocusCapture,onBlurCapture:l(h).onBlurCapture,onPointerdownCapture:l(p).onPointerDownCapture},{default:O(()=>[y(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Pe=re(()=>r([]));function Fe(){let e=Pe();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=X(e.value,t),e.value.unshift(t)},remove(t){e.value=X(e.value,t),e.value[0]?.resume()}}}function X(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Z=`focusScope.autoFocusOnMount`,Q=`focusScope.autoFocusOnUnmount`,Ie={bubbles:!1,cancelable:!0};function Le(e,{select:t=!1}={}){let n=N();for(let r of e)if($(r,{select:t}),N()!==n)return!0}function Re(e){let t=ze(e);return[Be(t,e),Be(t.reverse(),e)]}function ze(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Be(e,t){for(let n of e)if(!Ve(n,{upTo:t}))return n}function Ve(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function He(e){return e instanceof HTMLInputElement&&`select`in e}function $(e,{select:t=!1}={}){if(e&&e.focus){let n=N();e.focus({preventScroll:!0}),e!==n&&He(e)&&t&&e.select()}}var Ue=o({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,i=t,{currentRef:a,currentElement:o}=j(),s=r(null),c=Fe(),u=p({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});x(e=>{if(!D)return;let t=o.value;if(!n.trapped)return;function r(e){if(u.paused||!t)return;let n=e.target;t.contains(n)?s.value=n:$(s.value,{select:!0})}function i(e){if(u.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||$(s.value,{select:!0}))}function a(e){let n=s.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||$(t))}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let c=new MutationObserver(a);t&&c.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),c.disconnect()})}),x(async e=>{let t=o.value;if(await b(),!t)return;c.add(u);let n=N();if(!t.contains(n)){let e=new CustomEvent(Z,Ie);t.addEventListener(Z,e=>i(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Le(ze(t),{select:!0}),N()===n&&$(t))}e(()=>{t.removeEventListener(Z,e=>i(`mountAutoFocus`,e));let e=new CustomEvent(Q,Ie),r=e=>{i(`unmountAutoFocus`,e)};t.addEventListener(Q,r),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||$(n??document.body,{select:!0}),t.removeEventListener(Q,r),c.remove(u)},0)})});function d(e){if(!n.loop&&!n.trapped||u.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=N();if(t&&r){let t=e.currentTarget,[i,a]=Re(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&$(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&$(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(v(),m(l(C),{ref_key:`currentRef`,ref:a,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:d},{default:O(()=>[y(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),We=[`Enter`,` `],Ge=[`ArrowDown`,`PageUp`,`Home`],Ke=[`ArrowUp`,`PageDown`,`End`];[...Ge,...Ke],[...We],[...We];function qe(e){return e?`open`:`closed`}function Je(e){let t=N();for(let n of e)if(n===t||(n.focus(),N()!==t))return}var Ye=o({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=ne();return(e,n)=>l(t)||e.forceMount?(v(),m(u,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[y(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):a(`v-if`,!0)}}),Xe=`data-reka-collection-item`;function Ze(e={}){let{key:t=``,isProvider:i=!1}=e,a=`${t}CollectionProvider`,s;if(i){let e=r(new Map);s={collectionRef:r(),itemMap:e},oe(a,s)}else s=h(a);let c=(e=!1)=>{let t=s.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Xe}]`)),r=Array.from(s.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},l=o({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:i}=q();return S(i,()=>{s.collectionRef.value=i.value}),()=>g(_,{ref:r,...n},t)}}),u=o({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:r}){let{primitiveElement:i,currentElement:a}=q();return x(t=>{if(a.value){let r=n(a.value);s.itemMap.value.set(r,{ref:a.value,value:e.value}),t(()=>s.itemMap.value.delete(r))}}),()=>g(_,{...r,[Xe]:``,ref:i},t)}});return{getItems:c,reactiveItems:A(()=>Array.from(s.itemMap.value.values())),itemMapSize:A(()=>s.itemMap.value.size),CollectionSlot:l,CollectionItem:u}}export{M as S,z as _,Ue as a,P as b,Oe as c,we as d,ye as f,pe as g,ge as h,qe as i,G as l,_e as m,Ye as n,Ne as o,ve as p,Je as r,q as s,Ze as t,Ee as u,I as v,N as x,F as y};
|