From a6917146b8af144cd366e3e326a261d8ea2d736f Mon Sep 17 00:00:00 2001 From: mei Date: Mon, 27 Jul 2026 10:45:47 +0800 Subject: [PATCH] fix --- ...-Bm4Tu3Lm.js => AnalyzersView-BWAUI36x.js} | 2 +- ...e_type_script_setup_true_lang-DSNeqlXx.js} | 2 +- ...e_type_script_setup_true_lang-DKXrNKGt.js} | 2 +- ...ion-BaXBMWO5.js => Collection-CwtwoTtI.js} | 2 +- ...-BD4i_GCA.js => DashboardView-XqZnZd1B.js} | 2 +- ...e_type_script_setup_true_lang--aBz0q7s.js} | 2 +- ...iew-Blmx8SEw.js => EventsView-CM65Ezyt.js} | 2 +- ...e_type_script_setup_true_lang-DNsJ6686.js} | 2 +- ...e_type_script_setup_true_lang-CD1KTXEu.js} | 2 +- ...View-f8xcsZeo.js => RulesView-hVmwxU6M.js} | 4 +- ...e_type_script_setup_true_lang-CzaVl8rJ.js} | 2 +- ...w-AGyc2AVS.js => SettingsView-DnTtEXx2.js} | 2 +- ...ue_type_script_setup_true_lang-B_11D5UP.js | 1 + ...ue_type_script_setup_true_lang-DG3HTLWx.js | 1 - ...e_type_script_setup_true_lang-RkMkvDd1.js} | 2 +- .../{index-BKPz7Obh.js => index-DIqASLVQ.js} | 4 +- web/dist/index.html | 2 +- .../src/components/rule/ConditionRow.vue | 48 +++++++++---------- 18 files changed, 42 insertions(+), 42 deletions(-) rename web/dist/assets/{AnalyzersView-Bm4Tu3Lm.js => AnalyzersView-BWAUI36x.js} (91%) rename web/dist/assets/{Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js => Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js} (93%) rename web/dist/assets/{CardTitle.vue_vue_type_script_setup_true_lang-BHtPbA-o.js => CardTitle.vue_vue_type_script_setup_true_lang-DKXrNKGt.js} (92%) rename web/dist/assets/{Collection-BaXBMWO5.js => Collection-CwtwoTtI.js} (97%) rename web/dist/assets/{DashboardView-BD4i_GCA.js => DashboardView-XqZnZd1B.js} (96%) rename web/dist/assets/{EventItem.vue_vue_type_script_setup_true_lang-JeqwaMaY.js => EventItem.vue_vue_type_script_setup_true_lang--aBz0q7s.js} (92%) rename web/dist/assets/{EventsView-Blmx8SEw.js => EventsView-CM65Ezyt.js} (94%) rename web/dist/assets/{Modal.vue_vue_type_script_setup_true_lang-Bd1uxkqS.js => Modal.vue_vue_type_script_setup_true_lang-DNsJ6686.js} (98%) rename web/dist/assets/{PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js => PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js} (90%) rename web/dist/assets/{RulesView-f8xcsZeo.js => RulesView-hVmwxU6M.js} (67%) rename web/dist/assets/{Select.vue_vue_type_script_setup_true_lang-CONzBLld.js => Select.vue_vue_type_script_setup_true_lang-CzaVl8rJ.js} (99%) rename web/dist/assets/{SettingsView-AGyc2AVS.js => SettingsView-DnTtEXx2.js} (95%) create mode 100644 web/dist/assets/Skeleton.vue_vue_type_script_setup_true_lang-B_11D5UP.js delete mode 100644 web/dist/assets/Skeleton.vue_vue_type_script_setup_true_lang-DG3HTLWx.js rename web/dist/assets/{TabsTrigger.vue_vue_type_script_setup_true_lang-_qQ6JBVg.js => TabsTrigger.vue_vue_type_script_setup_true_lang-RkMkvDd1.js} (98%) rename web/dist/assets/{index-BKPz7Obh.js => index-DIqASLVQ.js} (99%) diff --git a/web/dist/assets/AnalyzersView-Bm4Tu3Lm.js b/web/dist/assets/AnalyzersView-BWAUI36x.js similarity index 91% rename from web/dist/assets/AnalyzersView-Bm4Tu3Lm.js rename to web/dist/assets/AnalyzersView-BWAUI36x.js index c0d24b3..e1de106 100644 --- a/web/dist/assets/AnalyzersView-Bm4Tu3Lm.js +++ b/web/dist/assets/AnalyzersView-BWAUI36x.js @@ -1,4 +1,4 @@ -import{_ as b}from"./PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js";import{_ as y}from"./Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js";import{c as M,d as B,O as L,$ as j,a as o,p as t,u as e,l as r,F as f,r as p,b as u,w as s,_ as g,m as F,g as v,o as n,h,t as l,k as i,j as N,q}from"./index-BKPz7Obh.js";import{_ as k,a as x,b as z,c as w}from"./CardTitle.vue_vue_type_script_setup_true_lang-BHtPbA-o.js";import{_ as A}from"./Skeleton.vue_vue_type_script_setup_true_lang-DG3HTLWx.js";import{c as C}from"./format-B6sc_rZ4.js";/** +import{_ as b}from"./PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js";import{_ as y}from"./Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js";import{c as M,d as B,O as L,$ as j,a as o,p as t,u as e,l as r,F as f,r as p,b as u,w as s,_ as g,m as F,g as v,o as n,h,t as l,k as i,j as N,q}from"./index-DIqASLVQ.js";import{_ as k,a as x,b as z,c as w}from"./CardTitle.vue_vue_type_script_setup_true_lang-DKXrNKGt.js";import{_ as A}from"./Skeleton.vue_vue_type_script_setup_true_lang-B_11D5UP.js";import{c as C}from"./format-B6sc_rZ4.js";/** * @license lucide-vue-next v0.469.0 - ISC * * This source code is licensed under the ISC license. diff --git a/web/dist/assets/Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js b/web/dist/assets/Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js similarity index 93% rename from web/dist/assets/Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js rename to web/dist/assets/Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js index 2142038..2bb4de2 100644 --- a/web/dist/assets/Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js +++ b/web/dist/assets/Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js @@ -1 +1 @@ -import{d as o,a as n,e as d,u as e,f as s,H as l,o as p,a8 as c}from"./index-BKPz7Obh.js";const b=c("inline-flex items-center justify-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium whitespace-nowrap tabular-nums",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",outline:"text-foreground",muted:"border-transparent bg-muted text-muted-foreground",allow:"border-allow/25 bg-allow/12 text-allow",block:"border-block/25 bg-block/12 text-block",drop:"border-drop/25 bg-drop/12 text-drop",modify:"border-modify/25 bg-modify/12 text-modify",log:"border-log/25 bg-log/12 text-log",tcp:"border-tcp/25 bg-tcp/12 text-tcp",udp:"border-udp/25 bg-udp/12 text-udp"}},defaultVariants:{variant:"default"}}),g=o({__name:"Badge",props:{variant:{},class:{}},setup(t){const r=t;return(a,u)=>(p(),n("span",{class:d(e(s)(e(b)({variant:r.variant}),r.class))},[l(a.$slots,"default")],2))}});export{g as _}; +import{d as o,a as n,e as d,u as e,f as s,H as l,o as p,a8 as c}from"./index-DIqASLVQ.js";const b=c("inline-flex items-center justify-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium whitespace-nowrap tabular-nums",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",outline:"text-foreground",muted:"border-transparent bg-muted text-muted-foreground",allow:"border-allow/25 bg-allow/12 text-allow",block:"border-block/25 bg-block/12 text-block",drop:"border-drop/25 bg-drop/12 text-drop",modify:"border-modify/25 bg-modify/12 text-modify",log:"border-log/25 bg-log/12 text-log",tcp:"border-tcp/25 bg-tcp/12 text-tcp",udp:"border-udp/25 bg-udp/12 text-udp"}},defaultVariants:{variant:"default"}}),g=o({__name:"Badge",props:{variant:{},class:{}},setup(t){const r=t;return(a,u)=>(p(),n("span",{class:d(e(s)(e(b)({variant:r.variant}),r.class))},[l(a.$slots,"default")],2))}});export{g as _}; diff --git a/web/dist/assets/CardTitle.vue_vue_type_script_setup_true_lang-BHtPbA-o.js b/web/dist/assets/CardTitle.vue_vue_type_script_setup_true_lang-DKXrNKGt.js similarity index 92% rename from web/dist/assets/CardTitle.vue_vue_type_script_setup_true_lang-BHtPbA-o.js rename to web/dist/assets/CardTitle.vue_vue_type_script_setup_true_lang-DKXrNKGt.js index 24546cd..6ef8255 100644 --- a/web/dist/assets/CardTitle.vue_vue_type_script_setup_true_lang-BHtPbA-o.js +++ b/web/dist/assets/CardTitle.vue_vue_type_script_setup_true_lang-DKXrNKGt.js @@ -1 +1 @@ -import{d as a,o as n,a as r,e as c,u as o,f as p,H as l}from"./index-BKPz7Obh.js";const u=a({__name:"CardContent",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("div",{class:c(o(p)("px-4 pb-4 sm:px-5 sm:pb-5",e.class))},[l(t.$slots,"default")],2))}}),d=a({__name:"CardDescription",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("p",{class:c(o(p)("text-muted-foreground text-xs sm:text-sm",e.class))},[l(t.$slots,"default")],2))}}),f=a({__name:"CardHeader",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("div",{class:c(o(p)("flex flex-col gap-1 px-4 pt-4 pb-3 sm:px-5 sm:pt-5",e.class))},[l(t.$slots,"default")],2))}}),i=a({__name:"CardTitle",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("h3",{class:c(o(p)("text-sm leading-none font-semibold tracking-tight sm:text-base",e.class))},[l(t.$slots,"default")],2))}});export{f as _,i as a,d as b,u as c}; +import{d as a,o as n,a as r,e as c,u as o,f as p,H as l}from"./index-DIqASLVQ.js";const u=a({__name:"CardContent",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("div",{class:c(o(p)("px-4 pb-4 sm:px-5 sm:pb-5",e.class))},[l(t.$slots,"default")],2))}}),d=a({__name:"CardDescription",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("p",{class:c(o(p)("text-muted-foreground text-xs sm:text-sm",e.class))},[l(t.$slots,"default")],2))}}),f=a({__name:"CardHeader",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("div",{class:c(o(p)("flex flex-col gap-1 px-4 pt-4 pb-3 sm:px-5 sm:pt-5",e.class))},[l(t.$slots,"default")],2))}}),i=a({__name:"CardTitle",props:{class:{}},setup(s){const e=s;return(t,m)=>(n(),r("h3",{class:c(o(p)("text-sm leading-none font-semibold tracking-tight sm:text-base",e.class))},[l(t.$slots,"default")],2))}});export{f as _,i as a,d as b,u as c}; diff --git a/web/dist/assets/Collection-BaXBMWO5.js b/web/dist/assets/Collection-CwtwoTtI.js similarity index 97% rename from web/dist/assets/Collection-BaXBMWO5.js rename to web/dist/assets/Collection-CwtwoTtI.js index c2fc0ca..1e92700 100644 --- a/web/dist/assets/Collection-BaXBMWO5.js +++ b/web/dist/assets/Collection-CwtwoTtI.js @@ -1 +1 @@ -import{aB as h,aC as x,m as v,g as p,aD as R,al as S,d as g,aj as b,ap as w,aE as y,x as P,aF as k}from"./index-BKPz7Obh.js";function D(e,l){const t=typeof e=="string"&&!l?`${e}Context`:l,o=Symbol(t);return[a=>{const c=h(o,a);if(c||c===null)return c;throw new Error(`Injection \`${o.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},a=>(x(o,a),a)]}function _(){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}const[A]=D("ConfigProvider");function z(e){const l=A({dir:v("ltr")});return p(()=>{var t;return(e==null?void 0:e.value)||((t=l.dir)==null?void 0:t.value)||"ltr"})}function K(e,l="reka"){var n;let t;const o=A({useId:void 0});return o.useId?t=o.useId():t=(n=R)==null?void 0:n(),l?`${l}-${t}`:t}function I(){const e=v(),l=p(()=>{var t,o;return["#text","#comment"].includes((t=e.value)==null?void 0:t.$el.nodeName)?(o=e.value)==null?void 0:o.$el.nextElementSibling:S(e)});return{primitiveElement:e,currentElement:l}}const $="data-reka-collection-item";function q(e={}){const{key:l="",isProvider:t=!1}=e,o=`${l}CollectionProvider`;let n;if(t){const u=v(new Map);n={collectionRef:v(),itemMap:u},x(o,n)}else n=h(o);const C=(u=!1)=>{const r=n.collectionRef.value;if(!r)return[];const f=Array.from(r.querySelectorAll(`[${$}]`)),m=new Map(f.map((i,E)=>[i,E])),d=Array.from(n.itemMap.value.values()).sort((i,E)=>(m.get(i.ref)??-1)-(m.get(E.ref)??-1));return u?d:d.filter(i=>i.ref.dataset.disabled!=="")},a=g({name:"CollectionSlot",inheritAttrs:!1,setup(u,{slots:r,attrs:f}){const{primitiveElement:m,currentElement:s}=I();return P(s,()=>{n.collectionRef.value=s.value}),()=>w(y,{ref:m,...f},r)}}),c=g({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(u,{slots:r,attrs:f}){const{primitiveElement:m,currentElement:s}=I();return b(d=>{if(s.value){const i=k(s.value);n.itemMap.value.set(i,{ref:s.value,value:u.value}),d(()=>n.itemMap.value.delete(i))}}),()=>w(y,{...f,[$]:"",ref:m},r)}}),M=p(()=>Array.from(n.itemMap.value.values())),j=p(()=>n.itemMap.value.size);return{getItems:C,reactiveItems:M,itemMapSize:j,CollectionSlot:a,CollectionItem:c}}export{q as a,z as b,D as c,K as d,_ as g,A as i,I as u}; +import{aB as h,aC as x,m as v,g as p,aD as R,al as S,d as g,aj as b,ap as w,aE as y,x as P,aF as k}from"./index-DIqASLVQ.js";function D(e,l){const t=typeof e=="string"&&!l?`${e}Context`:l,o=Symbol(t);return[a=>{const c=h(o,a);if(c||c===null)return c;throw new Error(`Injection \`${o.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},a=>(x(o,a),a)]}function _(){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}const[A]=D("ConfigProvider");function z(e){const l=A({dir:v("ltr")});return p(()=>{var t;return(e==null?void 0:e.value)||((t=l.dir)==null?void 0:t.value)||"ltr"})}function K(e,l="reka"){var n;let t;const o=A({useId:void 0});return o.useId?t=o.useId():t=(n=R)==null?void 0:n(),l?`${l}-${t}`:t}function I(){const e=v(),l=p(()=>{var t,o;return["#text","#comment"].includes((t=e.value)==null?void 0:t.$el.nodeName)?(o=e.value)==null?void 0:o.$el.nextElementSibling:S(e)});return{primitiveElement:e,currentElement:l}}const $="data-reka-collection-item";function q(e={}){const{key:l="",isProvider:t=!1}=e,o=`${l}CollectionProvider`;let n;if(t){const u=v(new Map);n={collectionRef:v(),itemMap:u},x(o,n)}else n=h(o);const C=(u=!1)=>{const r=n.collectionRef.value;if(!r)return[];const f=Array.from(r.querySelectorAll(`[${$}]`)),m=new Map(f.map((i,E)=>[i,E])),d=Array.from(n.itemMap.value.values()).sort((i,E)=>(m.get(i.ref)??-1)-(m.get(E.ref)??-1));return u?d:d.filter(i=>i.ref.dataset.disabled!=="")},a=g({name:"CollectionSlot",inheritAttrs:!1,setup(u,{slots:r,attrs:f}){const{primitiveElement:m,currentElement:s}=I();return P(s,()=>{n.collectionRef.value=s.value}),()=>w(y,{ref:m,...f},r)}}),c=g({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(u,{slots:r,attrs:f}){const{primitiveElement:m,currentElement:s}=I();return b(d=>{if(s.value){const i=k(s.value);n.itemMap.value.set(i,{ref:s.value,value:u.value}),d(()=>n.itemMap.value.delete(i))}}),()=>w(y,{...f,[$]:"",ref:m},r)}}),M=p(()=>Array.from(n.itemMap.value.values())),j=p(()=>n.itemMap.value.size);return{getItems:C,reactiveItems:M,itemMapSize:j,CollectionSlot:a,CollectionItem:c}}export{q as a,z as b,D as c,K as d,_ as g,A as i,I as u}; diff --git a/web/dist/assets/DashboardView-BD4i_GCA.js b/web/dist/assets/DashboardView-XqZnZd1B.js similarity index 96% rename from web/dist/assets/DashboardView-BD4i_GCA.js rename to web/dist/assets/DashboardView-XqZnZd1B.js index e48400a..57b45f8 100644 --- a/web/dist/assets/DashboardView-BD4i_GCA.js +++ b/web/dist/assets/DashboardView-XqZnZd1B.js @@ -1,4 +1,4 @@ -import{c as A,d as H,o as c,a as r,F as w,r as M,b as l,n as q,e as C,u as e,f as W,t as n,g as b,h as X,w as u,_ as z,i as ee,j as S,k as v,l as s,m as Q,p as t,T as te,q as le,s as se,v as ae}from"./index-BKPz7Obh.js";import{c as y,t as oe,p as ne,d as ue}from"./format-B6sc_rZ4.js";import{A as ce,_ as de}from"./EventItem.vue_vue_type_script_setup_true_lang-JeqwaMaY.js";import{_ as re}from"./PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js";import{_ as j,a as P,b as Z,c as T}from"./CardTitle.vue_vue_type_script_setup_true_lang-BHtPbA-o.js";import{_ as ie}from"./Skeleton.vue_vue_type_script_setup_true_lang-DG3HTLWx.js";import{_ as me,a as pe,b as G}from"./TabsTrigger.vue_vue_type_script_setup_true_lang-_qQ6JBVg.js";import"./Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js";import"./Collection-BaXBMWO5.js";/** +import{c as A,d as H,o as c,a as r,F as w,r as M,b as l,n as q,e as C,u as e,f as W,t as n,g as b,h as X,w as u,_ as z,i as ee,j as S,k as v,l as s,m as Q,p as t,T as te,q as le,s as se,v as ae}from"./index-DIqASLVQ.js";import{c as y,t as oe,p as ne,d as ue}from"./format-B6sc_rZ4.js";import{A as ce,_ as de}from"./EventItem.vue_vue_type_script_setup_true_lang--aBz0q7s.js";import{_ as re}from"./PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js";import{_ as j,a as P,b as Z,c as T}from"./CardTitle.vue_vue_type_script_setup_true_lang-DKXrNKGt.js";import{_ as ie}from"./Skeleton.vue_vue_type_script_setup_true_lang-B_11D5UP.js";import{_ as me,a as pe,b as G}from"./TabsTrigger.vue_vue_type_script_setup_true_lang-RkMkvDd1.js";import"./Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js";import"./Collection-CwtwoTtI.js";/** * @license lucide-vue-next v0.469.0 - ISC * * This source code is licensed under the ISC license. diff --git a/web/dist/assets/EventItem.vue_vue_type_script_setup_true_lang-JeqwaMaY.js b/web/dist/assets/EventItem.vue_vue_type_script_setup_true_lang--aBz0q7s.js similarity index 92% rename from web/dist/assets/EventItem.vue_vue_type_script_setup_true_lang-JeqwaMaY.js rename to web/dist/assets/EventItem.vue_vue_type_script_setup_true_lang--aBz0q7s.js index 42810af..eb89e05 100644 --- a/web/dist/assets/EventItem.vue_vue_type_script_setup_true_lang-JeqwaMaY.js +++ b/web/dist/assets/EventItem.vue_vue_type_script_setup_true_lang--aBz0q7s.js @@ -1,4 +1,4 @@ -import{_ as a}from"./Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js";import{c as h,d as x,o,h as m,u as t,w as c,k as i,t as n,g as v,l as d,a as k,b as r,p,j as f}from"./index-BKPz7Obh.js";import{t as b,e as _}from"./format-B6sc_rZ4.js";/** +import{_ as a}from"./Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js";import{c as h,d as x,o,h as m,u as t,w as c,k as i,t as n,g as v,l as d,a as k,b as r,p,j as f}from"./index-DIqASLVQ.js";import{t as b,e as _}from"./format-B6sc_rZ4.js";/** * @license lucide-vue-next v0.469.0 - ISC * * This source code is licensed under the ISC license. diff --git a/web/dist/assets/EventsView-Blmx8SEw.js b/web/dist/assets/EventsView-CM65Ezyt.js similarity index 94% rename from web/dist/assets/EventsView-Blmx8SEw.js rename to web/dist/assets/EventsView-CM65Ezyt.js index 0786c87..8363343 100644 --- a/web/dist/assets/EventsView-Blmx8SEw.js +++ b/web/dist/assets/EventsView-CM65Ezyt.js @@ -1,4 +1,4 @@ -import{_ as D,a as F}from"./EventItem.vue_vue_type_script_setup_true_lang-JeqwaMaY.js";import{_ as J}from"./PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js";import{_ as N}from"./Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js";import{c as V,d as A,x as M,a as i,p as r,w as c,u as e,l as t,b as l,y as G,t as s,j as p,_ as H,m as f,g as _,o as n,s as g,h as P,k,F as x,r as S,z as T,A as K,q as Q}from"./index-BKPz7Obh.js";import{S as R,_ as W,T as X}from"./Modal.vue_vue_type_script_setup_true_lang-Bd1uxkqS.js";import{_ as O}from"./Select.vue_vue_type_script_setup_true_lang-CONzBLld.js";import{a as Y,e as U}from"./format-B6sc_rZ4.js";import"./Collection-BaXBMWO5.js";/** +import{_ as D,a as F}from"./EventItem.vue_vue_type_script_setup_true_lang--aBz0q7s.js";import{_ as J}from"./PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js";import{_ as N}from"./Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js";import{c as V,d as A,x as M,a as i,p as r,w as c,u as e,l as t,b as l,y as G,t as s,j as p,_ as H,m as f,g as _,o as n,s as g,h as P,k,F as x,r as S,z as T,A as K,q as Q}from"./index-DIqASLVQ.js";import{S as R,_ as W,T as X}from"./Modal.vue_vue_type_script_setup_true_lang-DNsJ6686.js";import{_ as O}from"./Select.vue_vue_type_script_setup_true_lang-CzaVl8rJ.js";import{a as Y,e as U}from"./format-B6sc_rZ4.js";import"./Collection-CwtwoTtI.js";/** * @license lucide-vue-next v0.469.0 - ISC * * This source code is licensed under the ISC license. diff --git a/web/dist/assets/Modal.vue_vue_type_script_setup_true_lang-Bd1uxkqS.js b/web/dist/assets/Modal.vue_vue_type_script_setup_true_lang-DNsJ6686.js similarity index 98% rename from web/dist/assets/Modal.vue_vue_type_script_setup_true_lang-Bd1uxkqS.js rename to web/dist/assets/Modal.vue_vue_type_script_setup_true_lang-DNsJ6686.js index 392f46f..17ac568 100644 --- a/web/dist/assets/Modal.vue_vue_type_script_setup_true_lang-Bd1uxkqS.js +++ b/web/dist/assets/Modal.vue_vue_type_script_setup_true_lang-DNsJ6686.js @@ -1,4 +1,4 @@ -import{c as T,d as y,G as K,E as N,H as g,u as e,m as w,R as O,o as m,h as _,w as p,D,P as k,O as j,p as C,x as I,g as E,a6 as P,a7 as x,M as z,j as M,V as L,W as U,e as G,f as W,b as B,k as $,t as A,Z as X,a as Z}from"./index-BKPz7Obh.js";import{c as J,d as R,g as H}from"./Collection-BaXBMWO5.js";import{D as Q,m as Y,F as ee,n as F,e as te,k as S,c as oe,T as se}from"./Select.vue_vue_type_script_setup_true_lang-CONzBLld.js";/** +import{c as T,d as y,G as K,E as N,H as g,u as e,m as w,R as O,o as m,h as _,w as p,D,P as k,O as j,p as C,x as I,g as E,a6 as P,a7 as x,M as z,j as M,V as L,W as U,e as G,f as W,b as B,k as $,t as A,Z as X,a as Z}from"./index-DIqASLVQ.js";import{c as J,d as R,g as H}from"./Collection-CwtwoTtI.js";import{D as Q,m as Y,F as ee,n as F,e as te,k as S,c as oe,T as se}from"./Select.vue_vue_type_script_setup_true_lang-CzaVl8rJ.js";/** * @license lucide-vue-next v0.469.0 - ISC * * This source code is licensed under the ISC license. diff --git a/web/dist/assets/PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js b/web/dist/assets/PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js similarity index 90% rename from web/dist/assets/PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js rename to web/dist/assets/PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js index a0cc132..fcc4556 100644 --- a/web/dist/assets/PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js +++ b/web/dist/assets/PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js @@ -1 +1 @@ -import{d as c,a as t,b as n,t as i,j as a,H as d,o as s}from"./index-BKPz7Obh.js";const l={class:"mb-4 flex flex-wrap items-end justify-between gap-3 sm:mb-6"},m={class:"min-w-0"},p={class:"text-lg font-semibold tracking-tight sm:text-2xl"},_={key:0,class:"text-muted-foreground mt-0.5 text-xs sm:text-sm"},x={key:0,class:"flex shrink-0 items-center gap-2"},g=c({__name:"PageHeader",props:{title:{},description:{}},setup(r){const e=r;return(o,f)=>(s(),t("div",l,[n("div",m,[n("h1",p,i(e.title),1),e.description?(s(),t("p",_,i(e.description),1)):a("",!0)]),o.$slots.actions?(s(),t("div",x,[d(o.$slots,"actions")])):a("",!0)]))}});export{g as _}; +import{d as c,a as t,b as n,t as i,j as a,H as d,o as s}from"./index-DIqASLVQ.js";const l={class:"mb-4 flex flex-wrap items-end justify-between gap-3 sm:mb-6"},m={class:"min-w-0"},p={class:"text-lg font-semibold tracking-tight sm:text-2xl"},_={key:0,class:"text-muted-foreground mt-0.5 text-xs sm:text-sm"},x={key:0,class:"flex shrink-0 items-center gap-2"},g=c({__name:"PageHeader",props:{title:{},description:{}},setup(r){const e=r;return(o,f)=>(s(),t("div",l,[n("div",m,[n("h1",p,i(e.title),1),e.description?(s(),t("p",_,i(e.description),1)):a("",!0)]),o.$slots.actions?(s(),t("div",x,[d(o.$slots,"actions")])):a("",!0)]))}});export{g as _}; diff --git a/web/dist/assets/RulesView-f8xcsZeo.js b/web/dist/assets/RulesView-hVmwxU6M.js similarity index 67% rename from web/dist/assets/RulesView-f8xcsZeo.js rename to web/dist/assets/RulesView-hVmwxU6M.js index 27846bd..64a4648 100644 --- a/web/dist/assets/RulesView-f8xcsZeo.js +++ b/web/dist/assets/RulesView-hVmwxU6M.js @@ -1,4 +1,4 @@ -import{c as he,B as pe,m as A,g as F,u as t,C as It,d as U,x as Ke,o as m,h as B,D as ae,a as S,j as G,F as ee,r as de,E as we,G as _e,w as h,H as J,P as te,I as Me,J as jt,K as Gt,p as v,L as me,M as Ae,N as Xt,O as ge,Q as rt,R as re,S as St,U as Et,i as Jt,k as H,V as Bt,t as $,W as Yt,X as Qt,n as Zt,Y as ea,e as fe,f as ve,Z as At,$ as ye,b as O,l as x,a0 as ta,s as oe,y as tt,a1 as Ee,a2 as aa,a3 as mt,_ as la,a4 as Be,z as Je}from"./index-BKPz7Obh.js";import{_ as na}from"./PageHeader.vue_vue_type_script_setup_true_lang-CPDhGTO6.js";import{u as Fe,a as De,b as st,c as be,d as Ge,g as oa}from"./Collection-BaXBMWO5.js";import{i as He,V as ra,u as sa,a as it,h as ia,P as ua,b as da,c as ca,d as pa,e as fa,f as va,F as ma,D as ha,g as ga,j as ya,k as Ft,T as ba,l as xa,C as _a,_ as je}from"./Select.vue_vue_type_script_setup_true_lang-CONzBLld.js";import{g as Ca,i as ka,m as wa,c as qa,_ as Ye,a as ht,b as Ue}from"./TabsTrigger.vue_vue_type_script_setup_true_lang-_qQ6JBVg.js";import{S as Va,T as Ot,_ as gt}from"./Modal.vue_vue_type_script_setup_true_lang-Bd1uxkqS.js";import{_ as Te}from"./Badge.vue_vue_type_script_setup_true_lang-i2F91fYk.js";/** +import{c as he,B as pe,m as A,g as F,u as t,C as It,d as U,x as Ke,o as m,h as B,D as ae,a as S,j as G,F as ee,r as de,E as we,G as xe,w as h,H as J,P as te,I as Me,J as jt,K as Gt,p as v,L as me,M as Ae,N as Xt,O as ge,Q as rt,R as re,S as St,U as Et,i as Jt,k as H,V as Bt,t as $,W as Yt,X as Qt,n as Zt,Y as ea,e as fe,f as ve,Z as At,$ as ye,b as O,l as _,a0 as ta,s as oe,y as tt,a1 as Ee,a2 as aa,a3 as mt,_ as la,a4 as Be,z as Je}from"./index-DIqASLVQ.js";import{_ as na}from"./PageHeader.vue_vue_type_script_setup_true_lang-CD1KTXEu.js";import{u as Fe,a as De,b as st,c as be,d as Ge,g as oa}from"./Collection-CwtwoTtI.js";import{i as He,V as ra,u as sa,a as it,h as ia,P as ua,b as da,c as ca,d as pa,e as fa,f as va,F as ma,D as ha,g as ga,j as ya,k as Ft,T as ba,l as _a,C as xa,_ as je}from"./Select.vue_vue_type_script_setup_true_lang-CzaVl8rJ.js";import{g as Ca,i as ka,m as wa,c as qa,_ as Ye,a as ht,b as Ue}from"./TabsTrigger.vue_vue_type_script_setup_true_lang-RkMkvDd1.js";import{S as Va,T as Ot,_ as gt}from"./Modal.vue_vue_type_script_setup_true_lang-DNsJ6686.js";import{_ as Te}from"./Badge.vue_vue_type_script_setup_true_lang-DSNeqlXx.js";/** * @license lucide-vue-next v0.469.0 - ISC * * This source code is licensed under the ISC license. @@ -43,4 +43,4 @@ import{c as he,B as pe,m as A,g as F,u as t,C as It,d as U,x as Ke,o as m,h as B * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Fa=he("WandSparklesIcon",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);function Oa(l,a,e){const o=l.findIndex(s=>He(s,a)),n=l.findIndex(s=>He(s,e));if(o===-1||n===-1)return[];const[r,i]=[o,n].sort((s,u)=>s-u);return l.slice(r,i+1)}const Ta=["INPUT","TEXTAREA"];function Ra(l,a,e,o={}){if(!a||o.enableIgnoredElement&&Ta.includes(a.nodeName))return null;const{arrowKeyOptions:n="both",attributeName:r="[data-reka-collection-item]",itemsArray:i=[],loop:s=!0,dir:u="ltr",preventScroll:_=!0,focus:d=!1}=o,[C,I,k,y,f,g]=[l.key==="ArrowRight",l.key==="ArrowLeft",l.key==="ArrowUp",l.key==="ArrowDown",l.key==="Home",l.key==="End"],p=k||y,q=C||I;if(!f&&!g&&(!p&&!q||n==="vertical"&&q||n==="horizontal"&&p))return null;const E=i;if(!E.length)return null;_&&l.preventDefault();let V=null;return q||p?V=Rt(E,a,{goForward:p?y:u==="ltr"?C:I,loop:s}):f?V=E.at(0)||null:g&&(V=E.at(-1)||null),d&&(V==null||V.focus()),V}function Rt(l,a,e,o=l.includes(a)?l.length:l.length+1){if(--o===0)return null;const n=l.indexOf(a);let r;if(n===-1?r=e.goForward?0:l.length-1:r=e.goForward?n+1:n-1,!e.loop&&(r<0||r>=l.length))return null;const i=(r+l.length)%l.length,s=l[i];return s?s.hasAttribute("disabled")&&s.getAttribute("disabled")!=="false"?Rt(l,s,e,o):s:null}function ut(l){const a=A(!1);function e(){a.value=!0}function o(n){pe(()=>{a.value=!1,l==null||l(n)})}return{isComposing:a,handleCompositionStart:e,handleCompositionEnd:o}}function za(l){const a=F(()=>t(l)),e=F(()=>new Intl.Collator("en",{usage:"search",...a.value}));return{startsWith:(i,s)=>s.length===0?!0:(i=i.normalize("NFC"),s=s.normalize("NFC"),e.value.compare(i.slice(0,s.length),s)===0),endsWith:(i,s)=>s.length===0?!0:(i=i.normalize("NFC"),s=s.normalize("NFC"),e.value.compare(i.slice(-s.length),s)===0),contains:(i,s)=>{if(s.length===0)return!0;i=i.normalize("NFC"),s=s.normalize("NFC");let u=0;const _=s.length;for(;u+_<=i.length;u++){const d=i.slice(u,u+_);if(e.value.compare(s,d)===0)return!0}return!1}}}function Pa(){var a,e;const l=(e=(a=It())==null?void 0:a.vnode)==null?void 0:e.scopeId;return l?{[l]:""}:{}}function Da(){return{ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",SPACE_CODE:"Space"}}var La=U({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(l){const a=l,{primitiveElement:e,currentElement:o}=Fe(),n=F(()=>a.checked??a.value);return Ke(n,(r,i)=>{if(!o.value)return;const s=o.value,u=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(u,"value").set;if(d&&r!==i){const C=new Event("input",{bubbles:!0}),I=new Event("change",{bubbles:!0});d.call(s,r),s.dispatchEvent(C),s.dispatchEvent(I)}}),(r,i)=>(m(),B(ra,ae({ref_key:"primitiveElement",ref:e},{...a,...r.$attrs},{as:"input"}),null,16))}}),bt=La,Na=U({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(l){const a=l,e=F(()=>typeof a.value=="object"&&Array.isArray(a.value)&&a.value.length===0&&a.required),o=F(()=>typeof a.value=="string"||typeof a.value=="number"||typeof a.value=="boolean"||a.value===null||a.value===void 0?[{name:a.name,value:a.value}]:typeof a.value=="object"&&Array.isArray(a.value)?a.value.flatMap((n,r)=>typeof n=="object"?Object.entries(n).map(([i,s])=>({name:`${a.name}[${r}][${i}]`,value:s})):{name:`${a.name}[${r}]`,value:n}):a.value!==null&&typeof a.value=="object"&&!Array.isArray(a.value)?Object.entries(a.value).map(([n,r])=>({name:`${a.name}[${n}]`,value:r})):[]);return(n,r)=>(m(),S(ee,null,[G(" We render single input if it's required "),e.value?(m(),B(bt,ae({key:n.name},{...a,...n.$attrs},{name:n.name,value:n.value}),null,16,["name","value"])):(m(!0),S(ee,{key:1},de(o.value,i=>(m(),B(bt,ae({key:i.name},{ref_for:!0},{...a,...n.$attrs},{name:i.name,value:i.value}),null,16,["name","value"]))),128))],2112))}}),dt=Na;function Ua(l,a,e){return l===void 0?!1:Array.isArray(l)?l.some(o=>ze(o,a,e)):ze(l,a,e)}function ze(l,a,e){return l===void 0||a===void 0?!1:typeof l=="string"?l===a:typeof e=="function"?e(l,a):typeof e=="string"?(l==null?void 0:l[e])===(a==null?void 0:a[e]):He(l,a)}const[Xe,Ma]=be("ListboxRoot");var Wa=U({__name:"ListboxRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},orientation:{type:String,required:!1,default:"vertical"},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},selectionBehavior:{type:String,required:!1,default:"toggle"},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","highlight","entryFocus","leave"],setup(l,{expose:a,emit:e}){const o=l,n=e,{multiple:r,highlightOnHover:i,orientation:s,disabled:u,selectionBehavior:_,dir:d}=we(o),{getItems:C}=De({isProvider:!0}),{handleTypeaheadSearch:I}=sa(),{primitiveElement:k,currentElement:y}=Fe(),f=Da(),g=st(d),p=it(y),q=A(),E=A(!1),V=A(!0),P=_e(o,"modelValue",n,{defaultValue:o.defaultValue??(r.value?[]:void 0),passive:o.modelValue===void 0,deep:!0});function ue(w){if(E.value=!0,o.multiple){const z=Array.isArray(P.value)?[...P.value]:[],D=z.findIndex(Z=>ze(Z,w,o.by));o.selectionBehavior==="toggle"?(D===-1?z.push(w):z.splice(D,1),P.value=z):(P.value=[w],q.value=w)}else o.selectionBehavior==="toggle"&&ze(P.value,w,o.by)?P.value=void 0:P.value=w;setTimeout(()=>{E.value=!1},1)}const j=A(null),T=A(null),M=A(!1),X=A(!1),Y=Me(),W=Me(),ne=Me();function le(){return C().map(w=>w.ref).filter(w=>w.dataset.disabled!=="")}function K(w,z=!0,D){if(!w)return;j.value=w,(D??V.value)&&j.value.focus(),z&&j.value.scrollIntoView({block:"nearest"});const Z=C().find(ie=>ie.ref===w);n("highlight",Z)}function Ve(w){if(M.value)ne.trigger(w);else{const z=C().find(D=>ze(D.value,w,o.by));z&&(j.value=z.ref,K(z.ref))}}function $e(w){if(j.value&&j.value.isConnected){if(w.ctrlKey||w.metaKey||w.altKey)return;w.preventDefault(),w.stopPropagation(),X.value||j.value.click()}}function Ie(w){if(V.value){if(E.value=!0,M.value)W.trigger(w);else{const z=w.altKey||w.ctrlKey||w.metaKey;if(z&&w.key==="a"&&r.value){const D=C(),Z=D.map(Se=>Se.value);P.value=[...Z],w.preventDefault();const ie=D.at(-1);ie&&K(ie.ref)}else if(!z){const D=I(w.key,C());D&&K(D)}}setTimeout(()=>{E.value=!1},1)}}function c(){X.value=!0}function b(){pe(()=>{X.value=!1})}function L(){pe(()=>{const w=new KeyboardEvent("keydown",{key:"PageUp"});Q(w)})}function R(w){const z=j.value;z!=null&&z.isConnected&&(T.value=z),j.value=null,n("leave",w)}function N(w){var D,Z;const z=new CustomEvent("listbox.entryFocus",{bubbles:!1,cancelable:!0});if((D=w.currentTarget)==null||D.dispatchEvent(z),n("entryFocus",z),!z.defaultPrevented)if(T.value)K(T.value);else{const ie=(Z=le())==null?void 0:Z[0];K(ie)}}function Q(w){const z=Ca(w,s.value,g.value);if(!z)return;let D=le();if(j.value){if(z==="last")D.reverse();else if(z==="prev"||z==="next"){z==="prev"&&D.reverse();const Z=D.indexOf(j.value);D=D.slice(Z+1)}ce(w,D[0])}if(D.length){const Z=!j.value&&z==="prev"?D.length-1:0;K(D[Z])}if(M.value)return W.trigger(w)}function ce(w,z){var Z,ie,Se;if(!(M.value||o.selectionBehavior!=="replace"||!r.value||!Array.isArray(P.value)||(w.altKey||w.ctrlKey||w.metaKey)&&!w.shiftKey)&&w.shiftKey){const Le=C().filter(Oe=>Oe.ref.dataset.disabled!=="");let Ne=(Z=Le.find(Oe=>Oe.ref===z))==null?void 0:Z.value;if(w.key===f.END?Ne=(ie=Le.at(-1))==null?void 0:ie.value:w.key===f.HOME&&(Ne=(Se=Le[0])==null?void 0:Se.value),!Ne||!q.value)return;const Ht=Oa(Le.map(Oe=>Oe.value),q.value,Ne);P.value=Ht}}async function ft(w,z=!0){if(jt)if(await pe(),M.value)Y.trigger({event:w,scroll:z});else{const D=le(),Z=D.find(Se=>Se.dataset.state==="checked"),ie=z?void 0:!1;Z?K(Z,z,ie):D.length&&K(D[0],z,ie)}}let vt=!1;return Ke(P,()=>{if(!E.value){const w=vt;vt=!0,pe(()=>{ft(void 0,w)})}},{immediate:!0,deep:!0}),a({highlightedElement:j,highlightItem:Ve,highlightFirstItem:L,highlightSelected:ft,getItems:C}),Ma({modelValue:P,onValueChange:ue,multiple:r,orientation:s,dir:g,disabled:u,highlightOnHover:i,highlightedElement:j,isVirtual:M,virtualFocusHook:Y,virtualKeydownHook:W,virtualHighlightHook:ne,by:o.by,firstValue:q,selectionBehavior:_,focusable:V,onLeave:R,onEnter:N,changeHighlight:K,onKeydownEnter:$e,onKeydownNavigation:Q,onKeydownTypeAhead:Ie,onCompositionStart:c,onCompositionEnd:b,highlightFirstItem:L}),(w,z)=>(m(),B(t(te),{ref_key:"primitiveElement",ref:k,as:w.as,"as-child":w.asChild,dir:t(g),"data-disabled":t(u)?"":void 0,onPointerleave:R,onFocusout:z[0]||(z[0]=async D=>{const Z=D.relatedTarget||D.target;await pe(),j.value&&t(y)&&!t(y).contains(Z)&&R(D)})},{default:h(()=>[J(w.$slots,"default",{modelValue:t(P)}),t(p)&&w.name?(m(),B(t(dt),{key:0,name:w.name,value:t(P),disabled:t(u),required:w.required},null,8,["name","value","disabled","required"])):G("v-if",!0)]),_:3},8,["as","as-child","dir","data-disabled"]))}}),Ka=Wa,Ha=U({__name:"ListboxContent",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const{CollectionSlot:a}=De(),e=Xe(),o=Gt(!1,10);return(n,r)=>(m(),B(t(a),null,{default:h(()=>[v(t(te),{role:"listbox",as:n.as,"as-child":n.asChild,tabindex:t(e).focusable.value?t(e).highlightedElement.value?"-1":"0":"-1","aria-orientation":t(e).orientation.value,"aria-multiselectable":!!t(e).multiple.value,"data-orientation":t(e).orientation.value,onMousedown:r[0]||(r[0]=Ae(i=>o.value=!0,["left"])),onFocus:r[1]||(r[1]=i=>{t(o)||t(e).onEnter(i)}),onKeydown:[r[2]||(r[2]=me(i=>{t(e).orientation.value==="vertical"&&(i.key==="ArrowLeft"||i.key==="ArrowRight")||t(e).orientation.value==="horizontal"&&(i.key==="ArrowUp"||i.key==="ArrowDown")||(i.preventDefault(),t(e).focusable.value&&t(e).onKeydownNavigation(i))},["down","up","left","right","home","end"])),me(t(e).onKeydownEnter,["enter"]),t(e).onKeydownTypeAhead]},{default:h(()=>[J(n.$slots,"default")]),_:3},8,["as","as-child","tabindex","aria-orientation","aria-multiselectable","data-orientation","onKeydown"])]),_:3}))}}),ja=Ha,Ga=U({__name:"ListboxFilter",props:{modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},emits:["update:modelValue"],setup(l,{emit:a}){const e=l,n=_e(e,"modelValue",a,{defaultValue:"",passive:e.modelValue===void 0}),r=Xe(),{primitiveElement:i,currentElement:s}=Fe(),u=F(()=>e.disabled||r.disabled.value||!1),_=A();Xt(()=>{var p;return _.value=(p=r.highlightedElement.value)==null?void 0:p.id}),ge(()=>{r.focusable.value=!1,setTimeout(()=>{var p;e.autoFocus&&((p=s.value)==null||p.focus())},1)}),rt(()=>{r.focusable.value=!0});const{isComposing:d,handleCompositionStart:C,handleCompositionEnd:I}=ut(p=>{n.value=p.target.value,r.onCompositionEnd(),r.highlightFirstItem()});function k(){r.onCompositionStart(),C()}function y(p){d.value||(n.value=p.target.value,r.highlightFirstItem())}function f(p){d.value||(p.preventDefault(),r.onKeydownNavigation(p))}function g(p){d.value||r.onKeydownEnter(p)}return(p,q)=>(m(),B(t(te),{ref_key:"primitiveElement",ref:i,as:p.as,"as-child":p.asChild,value:t(n),disabled:u.value?"":void 0,"data-disabled":u.value?"":void 0,"aria-disabled":u.value??void 0,"aria-activedescendant":_.value,type:"text",onKeydown:[me(f,["down","up","home","end"]),me(g,["enter"])],onInput:y,onCompositionstart:k,onCompositionend:t(I)},{default:h(()=>[J(p.$slots,"default",{modelValue:t(n)})]),_:3},8,["as","as-child","value","disabled","data-disabled","aria-disabled","aria-activedescendant","onCompositionend"]))}}),Xa=Ga;const Ja="listbox.select",[Io,Ya]=be("ListboxItem");var Qa=U({__name:"ListboxItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["select"],setup(l,{emit:a}){const e=l,o=a,n=Ge(void 0,"reka-listbox-item"),{CollectionItem:r}=De(),{forwardRef:i,currentElement:s}=re(),u=Xe(),_=F(()=>s.value!=null&&s.value===u.highlightedElement.value),d=F(()=>Ua(u.modelValue.value,e.value,u.by)),C=F(()=>u.disabled.value||e.disabled);async function I(y){o("select",y),!(y!=null&&y.defaultPrevented)&&!C.value&&y&&(u.onValueChange(e.value),u.changeHighlight(s.value))}function k(y){const f={originalEvent:y,value:e.value};ia(Ja,I,f)}return Ya({isSelected:d}),(y,f)=>(m(),B(t(r),{value:y.value},{default:h(()=>[St([_.value,d.value,C.value,t(u).focusable.value],()=>v(t(te),ae({id:t(n)},y.$attrs,{ref:t(i),role:"option",tabindex:t(u).focusable.value?_.value?"0":"-1":-1,"aria-selected":d.value,as:y.as,"as-child":y.asChild,disabled:C.value?"":void 0,"data-disabled":C.value?"":void 0,"data-highlighted":_.value?"":void 0,"data-state":d.value?"checked":"unchecked",onClick:k,onKeydown:me(Ae(k,["prevent"]),["space"]),onPointermove:f[0]||(f[0]=()=>{t(u).highlightedElement.value!==t(s)&&t(u).highlightOnHover.value&&t(u).changeHighlight(t(s),!1,!1)})}),{default:h(()=>[J(y.$slots,"default")]),_:3},16,["id","tabindex","aria-selected","as","as-child","disabled","data-disabled","data-highlighted","data-state","onKeydown"]),f,1)]),_:3},8,["value"]))}}),Za=Qa;const[qe,el]=be("ComboboxRoot");var tl=U({__name:"ComboboxRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},openOnFocus:{type:Boolean,required:!1,default:!1},openOnClick:{type:Boolean,required:!1,default:!1},ignoreFilter:{type:Boolean,required:!1},resetModelValueOnClear:{type:Boolean,required:!1,default:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","highlight","update:open"],setup(l,{expose:a,emit:e}){var Ve,$e,Ie;const o=l,n=e,{primitiveElement:r,currentElement:i}=Fe(),{multiple:s,disabled:u,ignoreFilter:_,resetSearchTermOnSelect:d,openOnFocus:C,openOnClick:I,dir:k,resetModelValueOnClear:y,highlightOnHover:f}=we(o),g=st(k),p=_e(o,"modelValue",n,{defaultValue:o.defaultValue??(s.value?[]:void 0),passive:o.modelValue===void 0,deep:!0}),q=_e(o,"open",n,{defaultValue:o.defaultOpen,passive:o.open===void 0});async function E(c){var b,L;q.value=c,ne.value="",c?(await pe(),(b=r.value)==null||b.highlightSelected(),P.value=!0,(L=j.value)==null||L.focus()):(P.value=!1,setTimeout(()=>{!c&&o.resetSearchTermOnBlur&&V.trigger()},1))}const V=Me(),P=A(!1),ue=A(!1),j=A(),T=A(),M=F(()=>{var c;return((c=r.value)==null?void 0:c.highlightedElement)??void 0}),X=A(new Map),Y=A(new Map),{contains:W}=za({sensitivity:"base"}),ne=A(""),le=F(c=>{if(!ne.value||o.ignoreFilter||ue.value)return{count:X.value.size,items:(c==null?void 0:c.items)??new Map,groups:(c==null?void 0:c.groups)??new Set(Y.value.keys())};let b=0;const L=new Map,R=new Set;for(const[N,Q]of X.value){const ce=W(Q,ne.value);L.set(N,ce?1:0),ce&&b++}for(const[N,Q]of Y.value)for(const ce of Q)if(L.get(ce)>0){R.add(N);break}return{count:b,items:L,groups:R}}),K=It();return ge(()=>{var c,b,L;K!=null&&K.exposed&&(K.exposed.highlightItem=(c=r.value)==null?void 0:c.highlightItem,K.exposed.highlightFirstItem=(b=r.value)==null?void 0:b.highlightFirstItem,K.exposed.highlightSelected=(L=r.value)==null?void 0:L.highlightSelected)}),a({filtered:le,highlightedElement:M,highlightItem:(Ve=r.value)==null?void 0:Ve.highlightItem,highlightFirstItem:($e=r.value)==null?void 0:$e.highlightFirstItem,highlightSelected:(Ie=r.value)==null?void 0:Ie.highlightSelected}),el({modelValue:p,multiple:s,disabled:u,open:q,onOpenChange:E,contentId:"",isUserInputted:P,isVirtual:ue,inputElement:j,highlightedElement:M,onInputElementChange:c=>j.value=c,triggerElement:T,onTriggerElementChange:c=>T.value=c,parentElement:i,resetSearchTermOnSelect:d,onResetSearchTerm:V.on,allItems:X,allGroups:Y,filterSearch:ne,filterState:le,ignoreFilter:_,openOnFocus:C,openOnClick:I,resetModelValueOnClear:y}),(c,b)=>(m(),B(t(ua),null,{default:h(()=>[v(t(Ka),ae({ref_key:"primitiveElement",ref:r},c.$attrs,{modelValue:t(p),"onUpdate:modelValue":b[0]||(b[0]=L=>Et(p)?p.value=L:null),style:{pointerEvents:t(q)?"auto":void 0},as:c.as,"as-child":c.asChild,dir:t(g),multiple:t(s),name:c.name,required:c.required,disabled:t(u),"highlight-on-hover":t(f),by:o.by,onHighlight:b[1]||(b[1]=L=>n("highlight",L))}),{default:h(()=>[J(c.$slots,"default",{open:t(q),modelValue:t(p)})]),_:3},16,["modelValue","style","as","as-child","dir","multiple","name","required","disabled","highlight-on-hover","by"])]),_:3}))}}),al=tl,ll=U({__name:"ComboboxAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const{forwardRef:a}=re();return(e,o)=>(m(),B(t(da),{"as-child":"",reference:e.reference},{default:h(()=>[v(t(te),ae({ref:t(a),"as-child":e.asChild,as:e.as},e.$attrs),{default:h(()=>[J(e.$slots,"default")]),_:3},16,["as-child","as"])]),_:3},8,["reference"]))}}),nl=ll;const[So,ol]=be("ComboboxContent");var rl=U({__name:"ComboboxContentImpl",props:{position:{type:String,required:!1,default:"inline"},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(l,{emit:a}){const e=l,o=a,{position:n}=we(e),r=qe(),i=F(()=>r.ignoreFilter.value?r.allItems.value.size===0:r.filterState.value.count===0),{forwardRef:s,currentElement:u}=re();ca(e.bodyLock),pa(),fa(r.parentElement);const _=F(()=>e.position==="popper"?e:{}),d=va(_.value),C={boxSizing:"border-box","--reka-combobox-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-combobox-content-available-width":"var(--reka-popper-available-width)","--reka-combobox-content-available-height":"var(--reka-popper-available-height)","--reka-combobox-trigger-width":"var(--reka-popper-anchor-width)","--reka-combobox-trigger-height":"var(--reka-popper-anchor-height)"};ol({position:n});const I=A(!1);ge(()=>{r.inputElement.value&&(I.value=u.value.contains(r.inputElement.value),I.value&&r.inputElement.value.focus())}),rt(()=>{var f;const y=oa();I.value&&(!y||y===document.body)&&((f=r.triggerElement.value)==null||f.focus())});function k(y){var p,q;if((p=r.parentElement.value)!=null&&p.contains(y))return!0;const f=y instanceof Element?y.closest("label"):null,g=f==null?void 0:f.control;return!!g&&!!((q=r.parentElement.value)!=null&&q.contains(g))}return(y,f)=>(m(),B(t(ja),{"as-child":""},{default:h(()=>[v(t(ma),{"as-child":"",onMountAutoFocus:f[5]||(f[5]=Ae(()=>{},["prevent"])),onUnmountAutoFocus:f[6]||(f[6]=Ae(()=>{},["prevent"]))},{default:h(()=>[v(t(ha),{"as-child":"","disable-outside-pointer-events":y.disableOutsidePointerEvents,onDismiss:f[0]||(f[0]=g=>t(r).onOpenChange(!1)),onFocusOutside:f[1]||(f[1]=g=>{k(g.target)&&g.preventDefault(),o("focusOutside",g)}),onInteractOutside:f[2]||(f[2]=g=>o("interactOutside",g)),onEscapeKeyDown:f[3]||(f[3]=g=>o("escapeKeyDown",g)),onPointerDownOutside:f[4]||(f[4]=g=>{k(g.target)&&g.preventDefault(),o("pointerDownOutside",g)})},{default:h(()=>[(m(),B(Jt(t(n)==="popper"?t(ga):t(te)),ae({...y.$attrs,...t(d)},{id:t(r).contentId,ref:t(s),"memo-dependencies":t(n)==="popper"?[t(r).filterSearch.value,t(r).filterState.value]:void 0,"data-state":t(r).open.value?"open":"closed","data-empty":i.value?"":void 0,style:{display:e.hideWhenEmpty&&i.value?"none":"flex",flexDirection:"column",outline:"none",...t(n)==="popper"?C:{}}}),{default:h(()=>[J(y.$slots,"default")]),_:3},16,["id","memo-dependencies","data-state","data-empty","style"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),sl=rl,il=U({__name:"ComboboxContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(l,{emit:a}){const n=ya(l,a),{forwardRef:r}=re(),i=qe();return i.contentId||(i.contentId=Ge(void 0,"reka-combobox-content")),(s,u)=>(m(),B(t(Ft),{present:s.forceMount||t(i).open.value},{default:h(()=>[v(sl,ae({...t(n),...s.$attrs},{ref:t(r)}),{default:h(()=>[J(s.$slots,"default")]),_:3},16)]),_:3},8,["present"]))}}),ul=il,dl=U({__name:"ComboboxEmpty",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const a=l,e=qe(),o=F(()=>e.ignoreFilter.value?e.allItems.value.size===0:e.filterState.value.count===0);return(n,r)=>o.value?(m(),B(t(te),Bt(ae({key:0},a)),{default:h(()=>[J(n.$slots,"default",{},()=>[r[0]||(r[0]=H("No options"))])]),_:3},16)):G("v-if",!0)}}),cl=dl;const[pl]=be("ComboboxGroup");var fl=U({__name:"ComboboxInput",props:{displayValue:{type:Function,required:!1},modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},emits:["update:modelValue"],setup(l,{emit:a}){const e=l,o=a,n=qe(),r=Xe(),{primitiveElement:i,currentElement:s}=Fe(),u=_e(e,"modelValue",o,{passive:e.modelValue===void 0});ge(()=>{s.value&&n.onInputElementChange(s.value)});const{isComposing:_,handleCompositionStart:d,handleCompositionEnd:C}=ut(E=>{const V=E.target;V&&k(V.value)});function I(E){_.value||(E.preventDefault(),n.open.value||n.onOpenChange(!0))}function k(E){n.open.value?n.filterSearch.value=E:(n.onOpenChange(!0),pe(()=>{E&&(n.filterSearch.value=E,r.highlightFirstItem())}))}function y(E){_.value||k(E.target.value)}function f(){n.openOnFocus.value&&!n.open.value&&n.onOpenChange(!0)}function g(E){var j,T;if(!n.open.value)return;const V=E.relatedTarget;if(!V)return;const P=(j=n.parentElement.value)==null?void 0:j.contains(V),ue=(T=document.getElementById(n.contentId))==null?void 0:T.contains(V);!P&&!ue&&requestAnimationFrame(()=>{var Y,W;if(!n.open.value)return;const M=document.activeElement;!((Y=n.parentElement.value)!=null&&Y.contains(M))&&!((W=document.getElementById(n.contentId))!=null&&W.contains(M))&&n.onOpenChange(!1)})}function p(){n.openOnClick.value&&!n.open.value&&n.onOpenChange(!0)}function q(){const E=n.modelValue.value;e.displayValue?u.value=e.displayValue(E):!n.multiple.value&&E&&!Array.isArray(E)&&typeof E!="object"?u.value=E.toString():u.value="",pe(()=>{u.value=u.value})}return n.onResetSearchTerm(()=>{q()}),Ke(n.modelValue,async()=>{!n.isUserInputted.value&&n.resetSearchTermOnSelect.value&&q()},{immediate:!0,deep:!0}),Ke(n.filterState,(E,V)=>{!n.isVirtual.value&&V.count===0&&r.highlightFirstItem()}),(E,V)=>(m(),B(t(Xa),{ref_key:"primitiveElement",ref:i,modelValue:t(u),"onUpdate:modelValue":V[0]||(V[0]=P=>Et(u)?u.value=P:null),as:E.as,"as-child":E.asChild,"auto-focus":E.autoFocus,disabled:E.disabled,"aria-expanded":t(n).open.value,"aria-controls":t(n).contentId,"aria-autocomplete":"list",role:"combobox",autocomplete:"off",onClick:p,onInput:y,onKeydown:me(I,["down","up"]),onFocus:f,onBlur:g,onCompositionstart:t(d),onCompositionend:t(C)},{default:h(()=>[J(E.$slots,"default")]),_:3},8,["modelValue","as","as-child","auto-focus","disabled","aria-expanded","aria-controls","onCompositionstart","onCompositionend"]))}}),vl=fl,ml=U({__name:"ComboboxItem",props:{textValue:{type:String,required:!1},value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(l,{emit:a}){const e=l,o=a,n=Ge(void 0,"reka-combobox-item"),r=qe(),i=pl(null),{primitiveElement:s,currentElement:u}=Fe();if(e.value==="")throw new Error("A must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.");const _=F(()=>{if(r.isVirtual.value||r.ignoreFilter.value||!r.filterSearch.value)return!0;{const d=r.filterState.value.items.get(n);return d===void 0?!0:d>0}});return ge(()=>{var C;r.allItems.value.set(n,e.textValue||u.value.textContent||u.value.innerText);const d=i==null?void 0:i.id;d&&(r.allGroups.value.has(d)?(C=r.allGroups.value.get(d))==null||C.add(n):r.allGroups.value.set(d,new Set([n])))}),rt(()=>{r.allItems.value.delete(n)}),(d,C)=>_.value?St([_.value,t(r).filterSearch.value,t(r).disabled.value,d.disabled,e.value,e.as,e.asChild,...Object.values(d.$attrs)],()=>(m(),B(t(Za),ae({key:0},e,{id:t(n),ref_key:"primitiveElement",ref:s,disabled:t(r).disabled.value||d.disabled,onSelect:C[0]||(C[0]=I=>{var k;o("select",I),!I.defaultPrevented&&(!t(r).multiple.value&&!d.disabled&&!t(r).disabled.value?(I.preventDefault(),t(r).onOpenChange(!1),t(r).modelValue.value=e.value):t(r).multiple.value&&((k=t(r).inputElement.value)==null||k.focus()))})}),{default:h(()=>[J(d.$slots,"default",{},()=>[H($(d.value),1)])]),_:3},16,["id","disabled"])),C,1):G("v-if",!0)}}),hl=ml,gl=U({__name:"ComboboxPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(l){const a=l;return(e,o)=>(m(),B(t(ba),Bt(Yt(a)),{default:h(()=>[J(e.$slots,"default")]),_:3},16))}}),yl=gl,bl=U({__name:"ComboboxTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(l){const a=l,{forwardRef:e,currentElement:o}=re(),n=qe(),r=F(()=>a.disabled||n.disabled.value||!1);return ge(()=>{o.value&&n.onTriggerElementChange(o.value)}),(i,s)=>(m(),B(t(te),ae(a,{ref:t(e),type:i.as==="button"?"button":void 0,tabindex:"-1","aria-label":"Show popup","aria-haspopup":"listbox","aria-expanded":t(n).open.value,"aria-controls":t(n).contentId,"data-state":t(n).open.value?"open":"closed",disabled:r.value,"data-disabled":r.value?"":void 0,"aria-disabled":r.value??void 0,onClick:s[0]||(s[0]=u=>t(n).onOpenChange(!t(n).open.value))}),{default:h(()=>[J(i.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","disabled","data-disabled","aria-disabled"]))}}),xl=bl,_l=U({__name:"ComboboxViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const a=l,{forwardRef:e}=re(),{nonce:o}=we(a),n=xa(o),r=qe();return(i,s)=>(m(),S(ee,null,[v(t(te),ae({...i.$attrs,...a},{ref:t(e),"data-reka-combobox-viewport":"",role:"presentation",style:{position:"relative",flex:t(r).isVirtual.value?void 0:1,overflow:"auto"}}),{default:h(()=>[J(i.$slots,"default")]),_:3},16,["style"]),v(t(te),{as:"style",nonce:t(n)},{default:h(()=>s[0]||(s[0]=[H(" /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-combobox-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-combobox-viewport]::-webkit-scrollbar { display: none; } ")])),_:1,__:[0]},8,["nonce"])],64))}}),Cl=_l;const[kl,wl]=be("SwitchRoot");var ql=U({inheritAttrs:!1,__name:"SwitchRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},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(l,{emit:a}){const e=l,o=a,{disabled:n}=we(e),r=_e(e,"modelValue",o,{defaultValue:e.defaultValue??e.falseValue,passive:e.modelValue===void 0}),i=F(()=>r.value===e.trueValue);function s(){n.value||(r.value=i.value?e.falseValue:e.trueValue)}const{forwardRef:u,currentElement:_}=re(),d=it(_),C=Pa(),I=F(()=>{var k;return e.id&&_.value?(k=document.querySelector(`[for="${e.id}"]`))==null?void 0:k.innerText:void 0});return wl({checked:i,toggleCheck:s,disabled:n}),(k,y)=>(m(),S(ee,null,[v(t(te),ae({id:k.id,ref:t(u),role:"switch",type:k.as==="button"?"button":void 0,value:k.value,"aria-label":k.$attrs["aria-label"]||I.value,"aria-checked":i.value,"aria-required":k.required,"data-state":i.value?"checked":"unchecked","data-disabled":t(n)?"":void 0,"as-child":k.asChild,as:k.as,disabled:t(n)},{...t(C),...k.$attrs},{onClick:s,onKeydown:me(Ae(s,["prevent"]),["enter"])}),{default:h(()=>[J(k.$slots,"default",{modelValue:t(r),checked:i.value})]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]),t(d)&&k.name?(m(),B(t(dt),ae({key:0,type:"checkbox",name:k.name,disabled:t(n),required:k.required,value:k.value,checked:i.value},t(C)),null,16,["name","disabled","required","value","checked"])):G("v-if",!0)],64))}}),Vl=ql,$l=U({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(l){const a=kl();return re(),(e,o)=>(m(),B(t(te),{"data-state":t(a).checked.value?"checked":"unchecked","data-disabled":t(a).disabled.value?"":void 0,"as-child":e.asChild,as:e.as},{default:h(()=>[J(e.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),Il=$l,Sl=U({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const a=l,{forwardRef:e}=re(),o=ka(),n=F(()=>wa(o.baseId,a.value)),r=F(()=>qa(o.baseId,a.value)),i=F(()=>a.value===o.modelValue.value),s=A(i.value);return ge(()=>{o.registerContent(a.value),requestAnimationFrame(()=>{s.value=!1})}),Qt(()=>{o.unregisterContent(a.value)}),(u,_)=>(m(),B(t(Ft),{present:u.forceMount||i.value,"force-mount":""},{default:h(({present:d})=>[v(t(te),{id:r.value,ref:t(e),"as-child":u.asChild,as:u.as,role:"tabpanel","data-state":i.value?"active":"inactive","data-orientation":t(o).orientation.value,"aria-labelledby":n.value,hidden:!d,tabindex:"0",style:Zt({animationDuration:s.value?"0s":void 0})},{default:h(()=>[!t(o).unmountOnHide.value||d?J(u.$slots,"default",{key:0}):G("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),El=Sl;const[ct,Bl]=be("TagsInputRoot");var Al=U({__name:"TagsInputRoot",props:{modelValue:{type:[Array,null],required:!1},defaultValue:{type:Array,required:!1,default:()=>[]},addOnPaste:{type:Boolean,required:!1},addOnTab:{type:Boolean,required:!1},addOnBlur:{type:Boolean,required:!1},duplicate:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},delimiter:{type:null,required:!1,default:","},dir:{type:String,required:!1},max:{type:Number,required:!1,default:0},id:{type:String,required:!1},convertValue:{type:Function,required:!1},displayValue:{type:Function,required:!1,default:l=>l.toString()},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","invalid","addTag","removeTag"],setup(l,{emit:a}){const e=l,o=a,{addOnPaste:n,disabled:r,delimiter:i,max:s,id:u,dir:_,addOnBlur:d,addOnTab:C}=we(e),I=st(_),k=_e(e,"modelValue",o,{defaultValue:e.defaultValue,passive:!0,deep:!0}),{forwardRef:y,currentElement:f}=re(),{focused:g}=ea(f),p=it(f),{getItems:q,CollectionSlot:E}=De({isProvider:!0}),V=A(),P=A(!1),ue=F(()=>Array.isArray(k.value)?[...k.value]:[]);function j(T){if(T!==-1){const M=q().filter(X=>X.ref.dataset.disabled!=="");k.value=k.value.filter((X,Y)=>Y!==T),o("removeTag",M[T].value)}}return Bl({modelValue:k,onAddValue:T=>{const M=[...ue.value],X=M.length>0&&typeof M[0]=="object",Y=M.length>0&&typeof e.defaultValue[0]=="object";if((X||Y)&&typeof e.convertValue!="function")throw new Error("You must provide a `convertValue` function when using objects as values.");const W=e.convertValue?e.convertValue(T):T;if(M.length>=s.value&&s.value)return o("invalid",W),!1;if(e.duplicate)return k.value=[...M,W],o("addTag",W),!0;if(M.includes(W))P.value=!0;else return k.value=[...M,W],o("addTag",W),!0;return o("invalid",W),!1},onRemoveValue:j,onInputKeydown:T=>{if(T.isComposing)return;const M=T.target,X=q().map(W=>W.ref).filter(W=>W.dataset.disabled!=="");if(!X.length)return;const Y=X.at(-1);switch(T.key){case"Delete":case"Backspace":{if(M.selectionStart!==0||M.selectionEnd!==0)break;if(V.value){const W=X.findIndex(ne=>ne===V.value);j(W),V.value=V.value===Y?X.at(W-1):X.at(W+1),T.preventDefault()}else T.key==="Backspace"&&(V.value=Y,T.preventDefault());break}case"Home":case"End":case"ArrowRight":case"ArrowLeft":{const W=T.key==="ArrowRight"&&I.value==="ltr"||T.key==="ArrowLeft"&&I.value==="rtl",ne=!W;if(M.selectionStart!==0||M.selectionEnd!==0)break;if(ne&&!V.value)V.value=Y,T.preventDefault();else if(W&&Y&&V.value===Y)V.value=void 0,T.preventDefault();else if(V.value){const le=Ra(T,V.value,void 0,{itemsArray:X,loop:!1,dir:I.value});le&&(V.value=le),T.preventDefault()}break}case"ArrowUp":case"ArrowDown":{V.value&&T.preventDefault();break}default:V.value=void 0}},selectedElement:V,isInvalidInput:P,addOnPaste:n,addOnBlur:d,addOnTab:C,dir:I,disabled:r,delimiter:i,max:s,id:u,displayValue:e.displayValue}),(T,M)=>(m(),B(t(E),null,{default:h(()=>[v(t(te),{ref:t(y),dir:t(I),as:T.as,"as-child":T.asChild,"data-invalid":P.value?"":void 0,"data-disabled":t(r)?"":void 0,"data-focused":t(g)?"":void 0},{default:h(()=>[J(T.$slots,"default",{modelValue:t(k)}),t(p)&&T.name?(m(),B(t(dt),{key:0,name:T.name,value:t(k),required:T.required,disabled:t(r)},null,8,["name","value","required","disabled"])):G("v-if",!0)]),_:3},8,["dir","as","as-child","data-invalid","data-disabled","data-focused"])]),_:3}))}}),Fl=Al,Ol=U({__name:"TagsInputInput",props:{placeholder:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},maxLength:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},setup(l){const a=l,e=ct(),{forwardRef:o,currentElement:n}=re();function r(y){if(e.selectedElement.value=void 0,!e.addOnBlur.value)return;const f=y.target,g=y.relatedTarget,p=f.getAttribute("aria-controls");if(p&&(g!=null&&g.closest(`#${CSS.escape(p)}`))||!f.value)return;e.onAddValue(f.value)&&(f.value="")}function i(y){e.addOnTab.value&&d(y)}const{isComposing:s,handleCompositionStart:u,handleCompositionEnd:_}=ut();async function d(y){if(s.value||(await pe(),y.defaultPrevented))return;const f=y.target;if(!f.value)return;e.onAddValue(f.value)&&(f.value=""),y.preventDefault()}function C(y){if(s.value||(e.isInvalidInput.value=!1,y.data===null))return;const f=e.delimiter.value;if(f===y.data||f instanceof RegExp&&f.test(y.data)){const p=y.target;if(p.value=p.value.replace(f,""),p.value.trim()===""){p.value="";return}e.onAddValue(p.value)&&(p.value="")}}function I(y){s.value||e.onInputKeydown(y)}function k(y){if(e.addOnPaste.value){y.preventDefault();const f=y.clipboardData;if(!f)return;const g=f.getData("text");e.delimiter.value?g.split(e.delimiter.value).forEach(q=>{e.onAddValue(q)}):e.onAddValue(g)}}return ge(()=>{const y=n.value.nodeName==="INPUT"?n.value:n.value.querySelector("input");y&&setTimeout(()=>{a.autoFocus&&(y==null||y.focus())},1)}),(y,f)=>{var g;return m(),B(t(te),{id:(g=t(e).id)==null?void 0:g.value,ref:t(o),type:"text",autocomplete:"off",autocorrect:"off",autocapitalize:"off",as:y.as,"as-child":y.asChild,maxlength:y.maxLength,placeholder:y.placeholder,disabled:t(e).disabled.value,"data-invalid":t(e).isInvalidInput.value?"":void 0,onInput:C,onKeydown:[me(d,["enter"]),me(i,["tab"]),I],onBlur:r,onCompositionstart:t(u),onCompositionend:t(_),onPaste:k},{default:h(()=>[J(y.$slots,"default")]),_:3},8,["id","as","as-child","maxlength","placeholder","disabled","data-invalid","onCompositionstart","onCompositionend"])}}}),Tl=Ol;const[zt,Rl]=be("TagsInputItem");var zl=U({__name:"TagsInputItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const a=l,{value:e}=we(a),o=ct(),{forwardRef:n,currentElement:r}=re(),{CollectionItem:i}=De(),s=F(()=>o.selectedElement.value===r.value),u=F(()=>a.disabled||o.disabled.value),_=Rl({value:e,isSelected:s,disabled:u,textId:"",displayValue:F(()=>o.displayValue(e.value))});return(d,C)=>(m(),B(t(i),{value:t(e)},{default:h(()=>[v(t(te),{ref:t(n),as:d.as,"as-child":d.asChild,"aria-labelledby":t(_).textId,"aria-current":s.value,"data-disabled":u.value?"":void 0,"data-state":s.value?"active":"inactive"},{default:h(()=>[J(d.$slots,"default")]),_:3},8,["as","as-child","aria-labelledby","aria-current","data-disabled","data-state"])]),_:3},8,["value"]))}}),Pl=zl,Dl=U({__name:"TagsInputItemDelete",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(l){const a=l;re();const e=ct(),o=zt(),n=F(()=>{var i;return((i=o.disabled)==null?void 0:i.value)||e.disabled.value});function r(){if(n.value)return;const i=e.modelValue.value.findIndex(s=>He(s,o.value.value));e.onRemoveValue(i)}return(i,s)=>(m(),B(t(te),ae({tabindex:"-1"},a,{"aria-labelledby":t(o).textId,"aria-current":t(o).isSelected.value,"data-state":t(o).isSelected.value?"active":"inactive","data-disabled":n.value?"":void 0,type:i.as==="button"?"button":void 0,onClick:r}),{default:h(()=>[J(i.$slots,"default")]),_:3},16,["aria-labelledby","aria-current","data-state","data-disabled","type"]))}}),Ll=Dl,Nl=U({__name:"TagsInputItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(l){const a=l,e=zt();return re(),e.textId||(e.textId=Ge(void 0,"reka-tags-input-item-text")),(o,n)=>(m(),B(t(te),ae(a,{id:t(e).textId}),{default:h(()=>[J(o.$slots,"default",{},()=>[H($(t(e).displayValue.value),1)])]),_:3},16,["id"]))}}),Ul=Nl;const Ml=U({__name:"Switch",props:{class:{},modelValue:{type:Boolean},id:{}},emits:["update:modelValue"],setup(l,{emit:a}){const e=l,o=a;return(n,r)=>(m(),B(t(Vl),{id:e.id,"model-value":e.modelValue,class:fe(t(ve)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent transition-colors outline-none focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50",e.class)),"onUpdate:modelValue":r[0]||(r[0]=i=>o("update:modelValue",i))},{default:h(()=>[v(t(Il),{class:"bg-background pointer-events-none block size-4 rounded-full shadow-sm ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0.5"})]),_:1},8,["id","model-value","class"]))}}),Wl={class:"flex flex-col gap-1.5"},Pt=U({__name:"TagsInput",props:{modelValue:{},placeholder:{},validate:{type:Function},class:{}},emits:["update:modelValue"],setup(l,{emit:a}){const e=l,o=a,n=F(()=>e.validate?new Set(e.modelValue.filter(i=>{var s;return(s=e.validate)==null?void 0:s.call(e,i)})):new Set),r=F(()=>{if(!e.validate)return[];const i=new Set;for(const s of e.modelValue){const u=e.validate(s);u&&i.add(u)}return[...i]});return(i,s)=>(m(),S("div",Wl,[v(t(Fl),{"model-value":e.modelValue,delimiter:",","add-on-paste":!0,class:fe(t(ve)("border-input bg-background focus-within:border-ring focus-within:ring-ring/40 flex min-h-9 w-full flex-wrap items-center gap-1.5 rounded-md border px-2 py-1.5 shadow-xs transition-[color,box-shadow] focus-within:ring-[3px]",e.class)),"onUpdate:modelValue":s[0]||(s[0]=u=>o("update:modelValue",u))},{default:h(()=>[(m(!0),S(ee,null,de(e.modelValue,u=>(m(),B(t(Pl),{key:u,value:u,class:fe(t(ve)("flex items-center gap-1 rounded-md border px-1.5 py-0.5 font-mono text-xs",n.value.has(u)?"border-destructive/50 bg-destructive/10 text-destructive":"bg-secondary text-secondary-foreground border-transparent"))},{default:h(()=>[v(t(Ul)),v(t(Ll),{class:"hover:text-foreground opacity-60 transition-opacity hover:opacity-100"},{default:h(()=>[v(t(At),{class:"size-3"})]),_:1})]),_:1},8,["value","class"]))),128)),v(t(Tl),{placeholder:e.modelValue.length?"":e.placeholder,class:"placeholder:text-muted-foreground min-w-24 flex-1 bg-transparent px-1 text-sm outline-none"},null,8,["placeholder"])]),_:1},8,["model-value","class"]),(m(!0),S(ee,null,de(r.value,u=>(m(),S("p",{key:u,class:"text-destructive text-xs"},$(u),1))),128))]))}}),xt=U({__name:"TabsContent",props:{class:{},value:{}},setup(l){const a=l;return(e,o)=>(m(),B(t(El),{value:a.value,class:fe(t(ve)("outline-none",a.class))},{default:h(()=>[J(e.$slots,"default")]),_:3},8,["value","class"]))}}),Kl=["value"],Qe=U({__name:"Textarea",props:{class:{},modelValue:{}},emits:["update:modelValue"],setup(l,{emit:a}){const e=l,o=a;return(n,r)=>(m(),S("textarea",{value:e.modelValue,class:fe(t(ve)("border-input bg-background flex min-h-20 w-full rounded-md border px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none sm:text-sm","placeholder:text-muted-foreground field-sizing-content","focus-visible:border-ring focus-visible:ring-ring/40 focus-visible:ring-[3px]","disabled:cursor-not-allowed disabled:opacity-50",e.class)),onInput:r[0]||(r[0]=i=>o("update:modelValue",i.target.value))},null,42,Kl))}}),We=A(null),at=A({ip:"",site:""}),lt=A(!1);let Re=null;async function Hl(l=!1){if(!(We.value&&!l))return Re||(lt.value=!0,Re=(async()=>{try{const a=await ye.geo(l);We.value=a,at.value={ip:a.ipError??"",site:a.siteError??""}}catch(a){const e=a instanceof Error?a.message:String(a);at.value={ip:e,site:e},We.value={ip:[],site:[]}}finally{lt.value=!1,Re=null}})(),Re)}function jl(){return{geo:We,error:at,loading:lt,load:Hl}}const Ze=new Map;function Gl(l){const a=l==="zh"?"zh-CN":"en";if(!Ze.has(a))try{Ze.set(a,new Intl.DisplayNames([a],{type:"region"}))}catch{return null}return Ze.get(a)??null}function Xl(l,a){var o;if(!/^[a-z]{2}$/i.test(l))return null;const e=l.toUpperCase();try{const n=(o=Gl(a))==null?void 0:o.of(e);return n&&n!==e?n:null}catch{return null}}function Jl(l){if(!/^[a-z]{2}$/i.test(l))return"";const a=127462,e=l.toUpperCase();return String.fromCodePoint(a+e.charCodeAt(0)-65,a+e.charCodeAt(1)-65)}const Yl={class:"flex flex-col gap-1.5"},Ql={class:"text-muted-foreground text-xs"},Zl={key:0,class:"font-mono"},en={key:0,class:"flex flex-wrap gap-1.5"},tn=["aria-label","onClick"],an={key:1,class:"text-muted-foreground text-xs"},ln={key:0,class:"shrink-0"},nn={class:"truncate"},on={class:"text-muted-foreground ml-auto shrink-0 text-[11px] tabular-nums"},rn=U({__name:"GeoPicker",props:{modelValue:{},kind:{}},emits:["update:modelValue"],setup(l,{emit:a}){const e=l,o=a,{lang:n}=ta(),{geo:r,error:i,loading:s,load:u}=jl(),_=A(""),d=F(()=>{var q,E;const g=(e.kind==="geoip"?(q=r.value)==null?void 0:q.ip:(E=r.value)==null?void 0:E.site)??[],p=[];for(const V of g)if(e.kind==="geoip"){const P=Xl(V.code,n.value);p.push({value:V.code,label:P??V.code,hint:`${V.code.toUpperCase()} · ${V.count}`,flag:Jl(V.code)})}else{p.push({value:V.code,label:V.code,hint:String(V.count),flag:""});for(const P of V.attributes??[])p.push({value:`${V.code}@${P}`,label:`${V.code}@${P}`,hint:x("rules.geo.attribute"),flag:""})}return p}),C=F(()=>{const g=_.value.trim().toLowerCase();return(g?d.value.filter(q=>q.value.includes(g)||q.label.toLowerCase().includes(g)):d.value).slice(0,300)}),I=F(()=>!s.value&&d.value.length===0),k=F(()=>e.kind==="geoip"?i.value.ip:i.value.site);function y(g){o("update:modelValue",e.modelValue.filter(p=>p!==g))}function f(g){const p=d.value.find(q=>q.value===g);return p?`${p.flag} ${p.label}`.trim():g}return u(),(g,p)=>(m(),S("div",Yl,[I.value?(m(),S(ee,{key:0},[v(t(Pt),{"model-value":e.modelValue,placeholder:e.kind==="geoip"?"cn, us, private":"category-ads-all","onUpdate:modelValue":p[0]||(p[0]=q=>o("update:modelValue",q))},null,8,["model-value","placeholder"]),O("p",Ql,[H($(t(x)("rules.geo.unavailable"))+" ",1),k.value?(m(),S("span",Zl,"("+$(k.value)+")",1)):G("",!0)])],64)):(m(),S(ee,{key:1},[e.modelValue.length?(m(),S("div",en,[(m(!0),S(ee,null,de(e.modelValue,q=>(m(),S("span",{key:q,class:"bg-secondary text-secondary-foreground inline-flex items-center gap-1 rounded-md px-1.5 py-0.5 text-xs"},[H($(f(q))+" ",1),O("button",{type:"button",class:"opacity-60 transition-opacity hover:opacity-100","aria-label":t(x)("common.delete"),onClick:E=>y(q)},[v(t(At),{class:"size-3"})],8,tn)]))),128))])):G("",!0),t(s)?(m(),S("p",an,$(t(x)("rules.geo.loading")),1)):G("",!0),v(t(al),{"model-value":e.modelValue,multiple:"","ignore-filter":"","reset-search-term-on-blur":!1,"onUpdate:modelValue":p[2]||(p[2]=q=>o("update:modelValue",q??[]))},{default:h(()=>[v(t(nl),{class:"border-input bg-background focus-within:border-ring focus-within:ring-ring/40 flex h-9 w-full items-center gap-2 rounded-md border px-3 shadow-xs transition-[color,box-shadow] focus-within:ring-[3px]"},{default:h(()=>[v(t(Va),{class:"text-muted-foreground size-4 shrink-0"}),v(t(vl),{modelValue:_.value,"onUpdate:modelValue":p[1]||(p[1]=q=>_.value=q),placeholder:e.kind==="geoip"?t(x)("rules.geo.searchCountry"):t(x)("rules.geo.searchSite"),class:"placeholder:text-muted-foreground w-full bg-transparent text-sm outline-none"},null,8,["modelValue","placeholder"]),v(t(xl),{class:"text-muted-foreground shrink-0"},{default:h(()=>[v(t(Sa),{class:"size-4"})]),_:1})]),_:1}),v(t(yl),null,{default:h(()=>[v(t(ul),{position:"popper","side-offset":4,class:"bg-popover text-popover-foreground animate-fade-in z-50 max-h-72 w-[var(--reka-combobox-trigger-width)] overflow-hidden rounded-md border shadow-md"},{default:h(()=>[v(t(Cl),{class:"max-h-72 overflow-y-auto p-1"},{default:h(()=>[v(t(cl),{class:"text-muted-foreground px-2 py-4 text-center text-xs"},{default:h(()=>[H($(t(x)("common.empty")),1)]),_:1}),(m(!0),S(ee,null,de(C.value,q=>(m(),B(t(hl),{key:q.value,value:q.value,class:fe(t(ve)("data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none"))},{default:h(()=>[q.flag?(m(),S("span",ln,$(q.flag),1)):G("",!0),O("span",nn,$(q.label),1),O("span",on,$(q.hint),1),e.modelValue.includes(q.value)?(m(),B(t(_a),{key:1,class:"absolute right-2 size-4"})):G("",!0)]),_:2},1032,["value","class"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])],64))]))}}),Ce=[{key:"proto",group:"basic",type:"proto",expr:"proto"},{key:"ip.dst",group:"basic",type:"ip",expr:"ip.dst"},{key:"ip.src",group:"basic",type:"ip",expr:"ip.src"},{key:"port.dst",group:"basic",type:"port",expr:"port.dst"},{key:"port.src",group:"basic",type:"port",expr:"port.src"},{key:"tls.sni",group:"domain",type:"domain",expr:"string(tls?.req?.sni)",analyzer:"tls"},{key:"quic.sni",group:"domain",type:"domain",expr:"string(quic?.req?.sni)",analyzer:"quic"},{key:"dns.name",group:"domain",type:"domain",analyzer:"dns",iter:"dns?.questions ?? []",item:"string(.name)"},{key:"http.host",group:"http",type:"domain",expr:"string(http?.req?.headers?.host)",analyzer:"http"},{key:"http.path",group:"http",type:"text",expr:"string(http?.req?.path)",analyzer:"http"},{key:"http.method",group:"http",type:"text",expr:"string(http?.req?.method)",analyzer:"http"},{key:"http.ua",group:"http",type:"text",expr:'string(get(http?.req?.headers, "user-agent"))',analyzer:"http"},{key:"analyzer",group:"protocol",type:"analyzer"}],nt=Object.fromEntries(Ce.map(l=>[l.key,l])),Dt={proto:["is"],ip:["cidr","geoip","is"],port:["is","range"],domain:["subdomain","wildcard","is","contains","endsWith","startsWith","regex","geosite"],text:["contains","is","startsWith","endsWith","regex"],analyzer:["detected"]},sn=["tcp","udp"];function un(l){return Dt[l][0]}function _t(l){return Dt[l.type]}function se(l){return`"${l.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}const dn=/[.+?^${}()|[\]\\]/g;function Ct(l){return`^${l.replace(dn,"\\$&").replace(/\*/g,".*")}$`}function Lt(l){const a=l.trim();if(a==="*")return{kind:"any",value:""};if(!a.includes("*"))return{kind:"exact",value:a};const e=a.startsWith("*"),o=a.endsWith("*"),n=a.replace(/^\*/,"").replace(/\*$/,"");return n.includes("*")?{kind:"regex",value:Ct(a)}:e&&o?{kind:"contains",value:n}:e?{kind:"suffix",value:n}:o?{kind:"prefix",value:n}:{kind:"regex",value:Ct(a)}}function cn(l,a){const e=Lt(a);switch(e.kind){case"any":return`${l} != ""`;case"exact":return`${l} == ${se(e.value)}`;case"suffix":return`${l} endsWith ${se(e.value)}`;case"prefix":return`${l} startsWith ${se(e.value)}`;case"contains":return`${l} contains ${se(e.value)}`;case"regex":return`${l} matches ${se(e.value)}`}}function pn(l,a,e,o){const n=o.trim();switch(a){case"is":return l.type==="port"?`${e} == ${n}`:`${e} == ${se(n)}`;case"subdomain":return`(${e} == ${se(n)} || ${e} endsWith ${se("."+n)})`;case"wildcard":return cn(e,n);case"contains":case"startsWith":case"endsWith":return`${e} ${a} ${se(n)}`;case"regex":return`${e} matches ${se(n)}`;case"geosite":return`geosite(${e}, ${se(n.toLowerCase())})`;case"cidr":return`cidr(${e}, ${se(n)})`;case"geoip":return`geoip(${e}, ${se(n.toLowerCase())})`;case"detected":return`${n} != nil`;case"range":return""}}function fn(l){const a=nt[l.field];if(!a)return"";const e=l.values.map(n=>n.trim()).filter(Boolean);let o;if(l.op==="range"){const[n,r]=l.values;if(!(n!=null&&n.trim())||!(r!=null&&r.trim()))return"";o=`(${a.expr} >= ${n.trim()} && ${a.expr} <= ${r.trim()})`}else{if(e.length===0)return"";const n=a.iter?a.item:a.expr,r=e.map(s=>pn(a,l.op,n,s)),i=r.length>1?`(${r.join(" || ")})`:r[0];o=a.iter?`any(${a.iter}, {${i}})`:i}return l.negate?o.startsWith("(")&&o.endsWith(")")?`!${o}`:`!(${o})`:o}function ot(l){const a=l.conditions.map(fn).filter(Boolean);return a.length===0?"":a.length===1?a[0]:a.join(l.mode==="and"?" && ":" || ")}const vn=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function Nt(l){const a=vn.exec(l);return a?a.slice(1).every(e=>Number(e)<=255&&String(Number(e))===e):!1}function Ut(l){return!l.includes(":")||!/^[0-9a-fA-F:.]+$/.test(l)?!1:(l.match(/::/g)??[]).length<=1&&l.split(":").length<=9}function mn(l){return Nt(l)||Ut(l)}function hn(l){const a=l.lastIndexOf("/");if(a<0)return!1;const e=l.slice(0,a),o=l.slice(a+1);if(!/^\d{1,3}$/.test(o))return!1;const n=Number(o);return Nt(e)?n<=32:Ut(e)?n<=128:!1}function gn(l){return/^\d{1,5}$/.test(l)&&Number(l)<=65535}function yn(l,a,e){const o=e.trim();if(!o)return"";switch(a){case"cidr":return hn(o)?"":x("rules.invalidCidr");case"regex":try{return new RegExp(o),""}catch{return x("rules.invalidRegex")}case"geoip":case"geosite":return/^[a-z0-9-]+(@[a-z0-9-]+)*$/i.test(o)?"":x("rules.invalidGeo");case"wildcard":return/^[a-z0-9.*_-]+$/i.test(o)?"":x("rules.invalidDomain")}if((l==="domain"||l==="text")&&o.includes("*"))return x("rules.starHint");switch(l){case"ip":return mn(o)?"":x("rules.invalidIp");case"port":return gn(o)?"":x("rules.invalidPort");case"domain":return/^[a-z0-9.*_-]+$/i.test(o)?"":x("rules.invalidDomain");default:return""}}const bn={class:"bg-muted/40 flex flex-col gap-2 rounded-lg border p-2.5"},xn={class:"flex flex-wrap items-center gap-2"},_n=["aria-pressed"],Cn={key:0,class:"flex flex-wrap gap-1.5"},kn=["onClick"],wn={key:1,class:"flex flex-wrap gap-1.5"},qn=["onClick"],Vn={key:2,class:"flex items-center gap-2"},$n=U({__name:"ConditionRow",props:{condition:{},analyzers:{},removable:{type:Boolean}},emits:["update","remove"],setup(l,{emit:a}){const e=l,o=a,n=F(()=>nt[e.condition.field]??Ce[0]),r=f=>`rules.field.${f.replace(/\./g,"_")}`,i=F(()=>Ce.map(f=>({value:f.key,label:`${x(`rules.group.${f.group}`)} · ${x(r(f.key))}`}))),s=F(()=>_t(n.value).map(f=>({value:f,label:x(`rules.op.${f}`)})));function u(f){o("update",{...e.condition,...f})}function _(f){const g=nt[f];if(!g)return;const p=_t(g).includes(e.condition.op);u({field:f,op:p?e.condition.op:un(g.type),values:p&&g.type===n.value.type?e.condition.values:[]})}function d(f){u({op:f,values:[]})}function C(f){const g=e.condition.values.includes(f)?e.condition.values.filter(p=>p!==f):[...e.condition.values,f];u({values:g})}const I=f=>yn(n.value.type,e.condition.op,f),k=F(()=>{switch(e.condition.op){case"cidr":return"10.0.0.0/8, 2001:db8::/32";case"wildcard":return"*.example.com";case"regex":return"^/api/v\\d+/"}switch(n.value.type){case"ip":return"1.2.3.4";case"port":return"443";case"domain":return"example.com";default:return x("rules.valuePlaceholder")}}),y=F(()=>e.condition.op!=="wildcard"?[]:e.condition.values.filter(Boolean).slice(0,4).map(f=>{const g=Lt(f);return`${f} → ${x(`rules.wildcard.${g.kind}`,{value:g.value})}`}));return(f,g)=>(m(),S("div",bn,[O("div",xn,[v(t(je),{"model-value":l.condition.field,options:i.value,"aria-label":t(x)("rules.builder.field"),class:"h-8 min-w-0 flex-1 basis-45 text-xs sm:basis-56","onUpdate:modelValue":_},null,8,["model-value","options","aria-label"]),v(t(je),{"model-value":l.condition.op,options:s.value,"aria-label":t(x)("rules.builder.operator"),class:"h-8 min-w-0 flex-1 basis-32 text-xs sm:basis-40 sm:flex-none","onUpdate:modelValue":d},null,8,["model-value","options","aria-label"]),O("button",{type:"button",class:fe(t(ve)("h-8 shrink-0 rounded-md border px-2 text-xs font-medium transition-colors",l.condition.negate?"border-block/40 bg-block/10 text-block":"text-muted-foreground hover:bg-accent")),"aria-pressed":l.condition.negate,onClick:g[0]||(g[0]=p=>u({negate:!l.condition.negate}))},$(t(x)("rules.builder.not")),11,_n),l.removable?(m(),B(t(oe),{key:0,variant:"ghost",size:"icon-sm",class:"text-muted-foreground hover:text-destructive shrink-0","aria-label":t(x)("common.delete"),onClick:g[1]||(g[1]=p=>o("remove"))},{default:h(()=>[v(t(Ot),{class:"size-3.5"})]),_:1},8,["aria-label"])):G("",!0)]),n.value.type==="proto"?(m(),S("div",Cn,[(m(!0),S(ee,null,de(t(sn),p=>(m(),S("button",{key:p,type:"button",class:fe(t(ve)("rounded-md border px-2.5 py-1 font-mono text-xs uppercase transition-colors",l.condition.values.includes(p)?"border-primary/40 bg-primary/10 text-foreground":"text-muted-foreground hover:bg-accent")),onClick:q=>C(p)},$(p),11,kn))),128))])):n.value.type==="analyzer"?(m(),S("div",wn,[(m(!0),S(ee,null,de(l.analyzers,p=>(m(),S("button",{key:p,type:"button",class:fe(t(ve)("rounded-md border px-2.5 py-1 font-mono text-xs transition-colors",l.condition.values.includes(p)?"border-primary/40 bg-primary/10 text-foreground":"text-muted-foreground hover:bg-accent")),onClick:q=>C(p)},$(p),11,qn))),128))])):l.condition.op==="range"?(m(),S("div",Vn,[v(t(tt),{"model-value":l.condition.values[0]??"",inputmode:"numeric",placeholder:"1024",class:"h-8 w-28 text-xs","onUpdate:modelValue":g[2]||(g[2]=p=>u({values:[p,l.condition.values[1]??""]}))},null,8,["model-value"]),g[6]||(g[6]=O("span",{class:"text-muted-foreground text-xs"},"–",-1)),v(t(tt),{"model-value":l.condition.values[1]??"",inputmode:"numeric",placeholder:"65535",class:"h-8 w-28 text-xs","onUpdate:modelValue":g[3]||(g[3]=p=>u({values:[l.condition.values[0]??"",p]}))},null,8,["model-value"])])):l.condition.op==="geoip"||l.condition.op==="geosite"?(m(),B(rn,{key:3,"model-value":l.condition.values,kind:l.condition.op,"onUpdate:modelValue":g[4]||(g[4]=p=>u({values:p}))},null,8,["model-value","kind"])):(m(),S(ee,{key:4},[v(t(Pt),{"model-value":l.condition.values,placeholder:k.value,validate:I,"onUpdate:modelValue":g[5]||(g[5]=p=>u({values:p}))},null,8,["model-value","placeholder"]),(m(!0),S(ee,null,de(y.value,p=>(m(),S("p",{key:p,class:"text-muted-foreground font-mono text-[11px]"},$(p),1))),128))],64))]))}});let kt=0;function xe(l={}){return kt+=1,{id:`c${kt}`,field:"tls.sni",op:"subdomain",negate:!1,values:[],...l}}function et(){return{mode:"and",conditions:[xe()]}}const In={class:"flex flex-col gap-3"},Sn={class:"flex flex-wrap items-center gap-2 text-sm"},En={class:"text-muted-foreground"},Bn={class:"bg-muted inline-flex rounded-md p-0.5"},An=["onClick"],Fn={class:"text-muted-foreground"},On={class:"flex flex-col gap-2"},Tn={key:0,class:"flex items-center gap-2"},Rn={class:"text-muted-foreground text-[11px] font-medium uppercase"},zn={class:"flex flex-col gap-1"},Pn={class:"text-muted-foreground text-xs font-medium"},Dn={class:"bg-muted/60 text-muted-foreground block rounded-md px-2.5 py-2 font-mono text-[11px] leading-relaxed break-all"},Ln=U({__name:"RuleBuilder",props:{modelValue:{},analyzers:{}},emits:["update:modelValue"],setup(l,{emit:a}){const e=l,o=a,n=F(()=>ot(e.modelValue));function r(_){o("update:modelValue",{...e.modelValue,..._})}function i(_,d){const C=[...e.modelValue.conditions];C[_]=d,r({conditions:C})}function s(_){r({conditions:e.modelValue.conditions.filter((d,C)=>C!==_)})}function u(){r({conditions:[...e.modelValue.conditions,xe()]})}return(_,d)=>(m(),S("div",In,[O("div",Sn,[O("span",En,$(t(x)("rules.builder.match")),1),O("div",Bn,[(m(),S(ee,null,de(["and","or"],C=>O("button",{key:C,type:"button",class:fe(t(ve)("rounded-[5px] px-2.5 py-1 text-xs font-medium transition-colors",e.modelValue.mode===C?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground")),onClick:I=>r({mode:C})},$(t(x)(`rules.builder.${C}`)),11,An)),64))]),O("span",Fn,$(t(x)("rules.builder.matchSuffix")),1)]),O("div",On,[(m(!0),S(ee,null,de(e.modelValue.conditions,(C,I)=>(m(),S(ee,{key:C.id},[I>0?(m(),S("div",Tn,[d[0]||(d[0]=O("span",{class:"bg-border h-px flex-1"},null,-1)),O("span",Rn,$(t(x)(`rules.builder.${e.modelValue.mode}`)),1),d[1]||(d[1]=O("span",{class:"bg-border h-px flex-1"},null,-1))])):G("",!0),v($n,{condition:C,analyzers:e.analyzers,removable:e.modelValue.conditions.length>1,onUpdate:k=>i(I,k),onRemove:k=>s(I)},null,8,["condition","analyzers","removable","onUpdate","onRemove"])],64))),128))]),v(t(oe),{variant:"outline",size:"sm",class:"w-full",onClick:u},{default:h(()=>[v(t(Tt),{class:"size-3.5"}),H(" "+$(t(x)("rules.builder.addCondition")),1)]),_:1}),O("div",zn,[O("span",Pn,$(t(x)("rules.builder.preview")),1),O("code",Dn,$(n.value||t(x)("rules.builder.empty")),1)])]))}});function wt(l){const a=l.trim();if(!a)return null;let e="and",o=ke(a,"&&");if(o.length===1){const r=ke(a,"||");r.length>1&&(e="or",o=r)}const n=[];for(const r of o){const i=Nn(r);if(!i)return null;n.push(i)}return{mode:e,conditions:n}}function Nn(l){let a=l.trim(),e=!1;a.startsWith("!")&&(e=!0,a=a.slice(1).trim());const o=Pe(a);if(o)return xe({field:o.field.key,op:o.op,negate:e,values:[o.value]});const n=pt(a),r=Mt(n,"any");if(r!==null){const[s,u]=ke(r,",").map(d=>d.trim());if(!(u!=null&&u.startsWith("{"))||!u.endsWith("}"))return null;const _=Ce.find(d=>d.iter===s);return _?qt(_,u.slice(1,-1).trim(),e,_.item):null}const i=ke(n,"&&");if(i.length===2){const s=/^(\S+)\s*>=\s*(\d+)$/.exec(i[0].trim()),u=/^(\S+)\s*<=\s*(\d+)$/.exec(i[1].trim());if(s&&u&&s[1]===u[1]){const _=Ce.find(d=>d.expr===s[1]&&d.type==="port");return _?xe({field:_.key,op:"range",negate:e,values:[s[2],u[2]]}):null}return null}return i.length>1?null:qt(null,n,e)}function qt(l,a,e,o){const n=Pe(a.trim(),o);if(n&&(!l||n.field.key===l.key))return xe({field:n.field.key,op:n.op,negate:e,values:[n.value]});const r=ke(pt(a),"||");if(r.length<2)return null;const i=[];let s=l;for(const d of r){const C=Pe(d.trim(),o);if(!C||(s||(s=C.field),C.field.key!==s.key))return null;i.push(C)}if(!s)return null;if(new Set(i.map(d=>d.op)).size===1)return xe({field:s.key,op:i[0].op,negate:e,values:i.map(d=>d.value)});const _=i.map(d=>Un(d.op,d.value));return _.some(d=>d===null)?null:xe({field:s.key,op:"wildcard",negate:e,values:_})}function Un(l,a){switch(l){case"wildcard":return a;case"is":return a.includes("*")?null:a;case"endsWith":return`*${a}`;case"startsWith":return`${a}*`;case"contains":return`*${a}*`;default:return null}}const Mn={geoip:"geoip",geosite:"geosite",cidr:"cidr"},Wn={"==":"is",contains:"contains",startsWith:"startsWith",endsWith:"endsWith",matches:"regex"};function Vt(l){const a=[];for(const e of Ce)e.item&&a.push({subject:e.item,field:e}),e.expr&&a.push({subject:e.expr,field:e});return a.sort((e,o)=>+(o.subject===l)-+(e.subject===l)||o.subject.length-e.subject.length)}function Pe(l,a){const e=l.trim(),o=/^([a-z][\w]*)\s*!=\s*nil$/.exec(e);if(o){const n=Ce.find(r=>r.type==="analyzer");if(n)return{field:n,subject:"",op:"detected",value:o[1]}}if(e.startsWith("(")&&Kt(e)){const n=ke(pt(e),"||");if(n.length===2){const r=Pe(n[0].trim(),a),i=Pe(n[1].trim(),a);if(r&&i&&r.op==="is"&&i.op==="endsWith"&&r.field.key===i.field.key&&i.value===`.${r.value}`)return{...r,op:"subdomain"}}return null}for(const[n,r]of Object.entries(Mn)){const i=Mt(e,n);if(i===null)continue;const s=ke(i,",").map(d=>d.trim());if(s.length!==2)return null;const u=Vt(a).find(d=>d.subject===s[0]),_=$t(s[1]);return!u||_===null?null:{field:u.field,subject:u.subject,op:r,value:_}}for(const{subject:n,field:r}of Vt(a)){if(!e.startsWith(n))continue;const i=e.slice(n.length).trim();if(i==='!= ""')return{field:r,subject:n,op:"wildcard",value:"*"};for(const[s,u]of Object.entries(Wn)){if(!i.startsWith(s))continue;const _=i.slice(s.length).trim();if(r.type==="port"&&/^\d+$/.test(_)&&u==="is")return{field:r,subject:n,op:u,value:_};const d=$t(_);if(d!==null)return{field:r,subject:n,op:u,value:d}}return null}return null}function Mt(l,a){const e=`${a}(`;if(!l.startsWith(e)||!l.endsWith(")"))return null;const o=l.slice(e.length,-1);return Wt(o)?o:null}function $t(l){if(l.length<2||l[0]!=='"'||l[l.length-1]!=='"')return null;const a=l.slice(1,-1);let e="";for(let o=0;oi.trim()).filter(i=>i.length>0)}function Wt(l){let a=0,e=!1;for(let o=0;o