lula2 0.0.10-nightly.2 → 0.0.10-nightly.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/README.md +14 -5
- package/dist/_app/immutable/assets/DynamicControlEditor.DoNLxeLe.css +1 -0
- package/dist/_app/immutable/chunks/{CXaeWEOO.js → BHBfra1F.js} +4 -4
- package/dist/_app/immutable/chunks/{BB-lo5zt.js → BY6Yi-Zs.js} +3 -3
- package/dist/_app/immutable/chunks/BtOhWAVU.js +2 -0
- package/dist/_app/immutable/chunks/{Bty54Wy4.js → C5zWTfmV.js} +1 -1
- package/dist/_app/immutable/chunks/Cby0Z7eP.js +2 -0
- package/dist/_app/immutable/chunks/{BqNBD7oY.js → CoF2vljD.js} +1 -1
- package/dist/_app/immutable/chunks/{Bji8yz-M.js → DYjGp5A7.js} +1 -1
- package/dist/_app/immutable/chunks/{BYKwBiub.js → DnJ0bPgj.js} +1 -1
- package/dist/_app/immutable/chunks/{DUz6FRLu.js → DqsOU3kV.js} +1 -1
- package/dist/_app/immutable/entry/{app.YNUbEqZn.js → app.DDWEjgQ7.js} +2 -2
- package/dist/_app/immutable/entry/start.CGiffpm1.js +1 -0
- package/dist/_app/immutable/nodes/{0.C6MGQ6xT.js → 0.fGnDAkMY.js} +1 -1
- package/dist/_app/immutable/nodes/{1.rUtMMMfb.js → 1.D8KnP-Mc.js} +1 -1
- package/dist/_app/immutable/nodes/{2.6OSdJ1dD.js → 2.B7PrKUDI.js} +1 -1
- package/dist/_app/immutable/nodes/{3.BhgDM4OA.js → 3.g6veSU8F.js} +1 -1
- package/dist/_app/immutable/nodes/{4.nVWoFVyu.js → 4.BFHMjCjj.js} +1 -1
- package/dist/_app/version.json +1 -1
- package/dist/index.html +10 -10
- package/package.json +4 -2
- package/dist/_app/immutable/assets/DynamicControlEditor.BkVTzFZ-.css +0 -1
- package/dist/_app/immutable/chunks/BJF-sFqz.js +0 -2
- package/dist/_app/immutable/chunks/CBYXl-8c.js +0 -2
- package/dist/_app/immutable/entry/start.BB2ie2wK.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.
|
|
2
|
-
import{d as k,aa as U,h as f,ao as Y,ap as G,aq as J,Y as K,ar as W,T as z,p as F,C as H,u as Q,o as X,g as O,as as Z,f as V,a as w,s as $,b as y,e as ee,ak as x,c as te,r as re,al as L,am as se,J as ae,K as ne}from"../chunks/
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.fGnDAkMY.js","../chunks/DsnmJJEf.js","../chunks/Cby0Z7eP.js","../chunks/DqsOU3kV.js","../chunks/BY6Yi-Zs.js","../chunks/DYjGp5A7.js","../chunks/CoF2vljD.js","../chunks/BtOhWAVU.js","../chunks/C5zWTfmV.js","../assets/0.DUfo9K33.css","../nodes/1.D8KnP-Mc.js","../nodes/2.B7PrKUDI.js","../chunks/BHBfra1F.js","../chunks/DnJ0bPgj.js","../assets/DynamicControlEditor.DoNLxeLe.css","../nodes/3.g6veSU8F.js","../nodes/4.BFHMjCjj.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as k,aa as U,h as f,ao as Y,ap as G,aq as J,Y as K,ar as W,T as z,p as F,C as H,u as Q,o as X,g as O,as as Z,f as V,a as w,s as $,b as y,e as ee,ak as x,c as te,r as re,al as L,am as se,J as ae,K as ne}from"../chunks/Cby0Z7eP.js";import"../chunks/DsnmJJEf.js";import{p as S,i as A}from"../chunks/DqsOU3kV.js";import{c as C}from"../chunks/CoF2vljD.js";import{b as T}from"../chunks/DnJ0bPgj.js";function oe(c){return class extends ce{constructor(e){super({component:c,...e})}}}class ce{#t;#e;constructor(e){var a=new Map,i=(r,t)=>{var s=z(t,!1,!1);return a.set(r,s),s};const l=new Proxy({...e.props||{},$$events:{}},{get(r,t){return f(a.get(t)??i(t,Reflect.get(r,t)))},has(r,t){return t===U?!0:(f(a.get(t)??i(t,Reflect.get(r,t))),Reflect.has(r,t))},set(r,t,s){return k(a.get(t)??i(t,s),s),Reflect.set(r,t,s)}});this.#e=(e.hydrate?Y:G)(e.component,{target:e.target,anchor:e.anchor,props:l,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||e.sync===!1)&&J(),this.#t=l.$$events;for(const r of Object.keys(this.#e))r==="$set"||r==="$destroy"||r==="$on"||K(this,r,{get(){return this.#e[r]},set(t){this.#e[r]=t},enumerable:!0});this.#e.$set=r=>{Object.assign(l,r)},this.#e.$destroy=()=>{W(this.#e)}}$set(e){this.#e.$set(e)}$on(e,a){this.#t[e]=this.#t[e]||[];const i=(...l)=>a.call(this,...l);return this.#t[e].push(i),()=>{this.#t[e]=this.#t[e].filter(l=>l!==i)}}$destroy(){this.#e.$destroy()}}const ie="modulepreload",le=function(c,e){return new URL(c,e).href},I={},P=function(e,a,i){let l=Promise.resolve();if(a&&a.length>0){let p=function(o){return Promise.all(o.map(d=>Promise.resolve(d).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};const t=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),R=s?.nonce||s?.getAttribute("nonce");l=p(a.map(o=>{if(o=le(o,i),o in I)return;I[o]=!0;const d=o.endsWith(".css"),h=d?'[rel="stylesheet"]':"";if(!!i)for(let n=t.length-1;n>=0;n--){const u=t[n];if(u.href===o&&(!d||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${h}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":ie,d||(m.as="script"),m.crossOrigin="",m.href=o,R&&m.setAttribute("nonce",R),document.head.appendChild(m),d)return new Promise((n,u)=>{m.addEventListener("load",n),m.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${o}`)))})}))}function r(t){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=t,window.dispatchEvent(s),!s.defaultPrevented)throw t}return l.then(t=>{for(const s of t||[])s.status==="rejected"&&r(s.reason);return e().catch(r)})},Pe={};var ue=V('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),me=V("<!> <!>",1);function de(c,e){F(e,!0);let a=S(e,"components",23,()=>[]),i=S(e,"data_0",3,null),l=S(e,"data_1",3,null);H(()=>e.stores.page.set(e.page)),Q(()=>{e.stores,e.page,e.constructors,a(),e.form,i(),l(),e.stores.page.notify()});let r=O(!1),t=O(!1),s=O(null);X(()=>{const n=e.stores.page.subscribe(()=>{f(r)&&(k(t,!0),Z().then(()=>{k(s,document.title||"untitled page",!0)}))});return k(r,!0),n});const R=L(()=>e.constructors[1]);var p=me(),o=w(p);{var d=n=>{const u=L(()=>e.constructors[0]);var _=x(),E=w(_);C(E,()=>f(u),(v,g)=>{T(g(v,{get data(){return i()},get form(){return e.form},get params(){return e.page.params},children:(b,_e)=>{var D=x(),q=w(D);C(q,()=>f(R),(B,M)=>{T(M(B,{get data(){return l()},get form(){return e.form},get params(){return e.page.params}}),N=>a()[1]=N,()=>a()?.[1])}),y(b,D)},$$slots:{default:!0}}),b=>a()[0]=b,()=>a()?.[0])}),y(n,_)},h=n=>{const u=L(()=>e.constructors[0]);var _=x(),E=w(_);C(E,()=>f(u),(v,g)=>{T(g(v,{get data(){return i()},get form(){return e.form},get params(){return e.page.params}}),b=>a()[0]=b,()=>a()?.[0])}),y(n,_)};A(o,n=>{e.constructors[1]?n(d):n(h,!1)})}var j=$(o,2);{var m=n=>{var u=ue(),_=te(u);{var E=v=>{var g=se();ae(()=>ne(g,f(s))),y(v,g)};A(_,v=>{f(t)&&v(E)})}re(u),y(n,u)};A(j,n=>{f(r)&&n(m)})}y(c,p),ee()}const Re=oe(de),pe=[()=>P(()=>import("../nodes/0.fGnDAkMY.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),()=>P(()=>import("../nodes/1.D8KnP-Mc.js"),__vite__mapDeps([10,1,8,2,4]),import.meta.url),()=>P(()=>import("../nodes/2.B7PrKUDI.js"),__vite__mapDeps([11,1,8,2,3,12,7,5,4,6,13,14]),import.meta.url),()=>P(()=>import("../nodes/3.g6veSU8F.js"),__vite__mapDeps([15,1,2,3,4,5,6,7,8,12,13,14]),import.meta.url),()=>P(()=>import("../nodes/4.BFHMjCjj.js"),__vite__mapDeps([16,1,8,2,3,7,4]),import.meta.url)],we=[],ke={"/":[2],"/control/[id]":[3],"/setup":[4]},fe={handleError:(({error:c})=>{console.error(c)}),reroute:(()=>{}),transport:{}},he=Object.fromEntries(Object.entries(fe.transport).map(([c,e])=>[c,e.decode])),Oe=!1,xe=(c,e)=>he[c](e);export{xe as decode,he as decoders,ke as dictionary,Oe as hash,fe as hooks,Pe as matchers,pe as nodes,Re as root,we as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as o,a as r}from"../chunks/BY6Yi-Zs.js";export{o as load_css,r as start};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunks/DsnmJJEf.js";import{at as le,p as R,ae as y,d as k,T as $,G as m,h as u,af as F,ag as M,c as i,n as A,r as n,b as v,e as N,J as D,K as Y,ak as Q,a as U,f as P,o as xe,au as be,s as V,av as ie}from"../chunks/BJF-sFqz.js";import{l as z,p as C,i as w,a as te,s as de}from"../chunks/DUz6FRLu.js";import{g as me}from"../chunks/BB-lo5zt.js";import{p as _e,D as we}from"../chunks/Bji8yz-M.js";import{i as j}from"../chunks/Bty54Wy4.js";import{a as K,f as ce,w as q}from"../chunks/CBYXl-8c.js";le(["change"]);var ye=M("<title> </title>"),ke=M('<svg><!><path d="M11.41 26.59L7.83 23 28 23 28 21 7.83 21 11.41 17.41 10 16 4 22 10 28 11.41 26.59zM28 10L22 4 20.59 5.41 24.17 9 4 9 4 11 24.17 11 20.59 14.59 22 16 28 10z"></path></svg>');function $e(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=ke();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=ye(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(),n(s),v(b,s),N()}var ze=P('<a href="/setup" class="inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors" title="Switch control set"><!> Switch</a>'),Ce=P('<div class="text-sm text-gray-500 dark:text-gray-400">Loading...</div>');function Me(b,t){R(t,!1);const e=()=>te(ce,"$appState",l),[l,o]=de();j();var g=Q(),f=U(g);{var r=p=>{var x=ze(),d=i(x);$e(d,{size:16}),A(),n(x),v(p,x)},s=p=>{var x=Ce();v(p,x)};w(f,p=>{e().isConnected?p(r):p(s,!1)})}v(b,g),N(),o()}var Se=M("<title> </title>"),Le=M('<svg><!><path d="M31 16L24 23 22.59 21.59 28.17 16 22.59 10.41 24 9 31 16zM1 16L8 9 9.41 10.41 3.83 16 9.41 21.59 8 23 1 16z"></path><path d="M5.91 15H26.080000000000002V17H5.91z" transform="rotate(-75 15.996 16)"></path></svg>');function Ae(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=Le();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Se(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(2),n(s),v(b,s),N()}var Ee=M("<title> </title>"),He=M('<svg><!><path d="M13 21L26.17 21 23.59 23.59 25 25 30 20 25 15 23.59 16.41 26.17 19 13 19 13 21z"></path><path d="M22,14V10a1,1,0,0,0-.29-.71l-7-7A1,1,0,0,0,14,2H4A2,2,0,0,0,2,4V28a2,2,0,0,0,2,2H20a2,2,0,0,0,2-2V26H20v2H4V4h8v6a2,2,0,0,0,2,2h6v2Zm-8-4V4.41L19.59,10Z"></path></svg>');function Ve(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=He();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Ee(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(2),n(s),v(b,s),N()}var Re=M("<title> </title>"),Ne=M('<svg><!><path d="M26 24v4H6V24H4v4H4a2 2 0 002 2H26a2 2 0 002-2h0V24zM26 14L24.59 12.59 17 20.17 17 2 15 2 15 20.17 7.41 12.59 6 14 16 24 26 14z"></path></svg>');function ne(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=Ne();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Re(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(),n(s),v(b,s),N()}var Pe=M("<title> </title>"),Te=M('<svg><!><path fill-rule="evenodd" d="M16,2a14,14,0,0,0-4.43,27.28c.7.13,1-.3,1-.67s0-1.21,0-2.38c-3.89.84-4.71-1.88-4.71-1.88A3.71,3.71,0,0,0,6.24,22.3c-1.27-.86.1-.85.1-.85A2.94,2.94,0,0,1,8.48,22.9a3,3,0,0,0,4.08,1.16,2.93,2.93,0,0,1,.88-1.87c-3.1-.36-6.37-1.56-6.37-6.92a5.4,5.4,0,0,1,1.44-3.76,5,5,0,0,1,.14-3.7s1.17-.38,3.85,1.43a13.3,13.3,0,0,1,7,0c2.67-1.81,3.84-1.43,3.84-1.43a5,5,0,0,1,.14,3.7,5.4,5.4,0,0,1,1.44,3.76c0,5.38-3.27,6.56-6.39,6.91a3.33,3.33,0,0,1,.95,2.59c0,1.87,0,3.38,0,3.84s.25.81,1,.67A14,14,0,0,0,16,2Z"></path></svg>');function Be(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=Te();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Pe(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(),n(s),v(b,s),N()}var De=(b,t)=>t("csv"),Ye=(b,t)=>t("excel"),je=(b,t)=>t("json"),Ge=P('<div class="space-y-1 p-1"><button class="w-full text-left px-3 py-2 text-sm rounded-md transition-colors duration-200 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"><div class="flex items-center gap-2"><!> <span>Export as CSV</span></div></button> <button class="w-full text-left px-3 py-2 text-sm rounded-md transition-colors duration-200 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"><div class="flex items-center gap-2"><!> <span>Export as Excel</span></div></button> <button class="w-full text-left px-3 py-2 text-sm rounded-md transition-colors duration-200 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"><div class="flex items-center gap-2"><!> <span>Export as JSON</span></div></button></div>'),Ie=P('<div class="flex-1 flex justify-center items-center"><div class="text-center"><div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"></div> <p class="text-gray-500 dark:text-gray-400">Switching control set...</p></div></div>'),Ze=P('<div class="flex-1 flex justify-center items-center"><div class="text-center"><div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"></div> <p class="text-gray-500 dark:text-gray-400"> </p></div></div>'),Je=P('<header class="bg-white dark:bg-gray-900 shadow-sm border-b border-gray-200 dark:border-gray-700 flex-shrink-0"><div class="w-full px-6 lg:px-8"><div class="flex justify-between items-center h-16"><div class="flex items-center"><a href="/" class="flex items-center space-x-3 hover:opacity-80 transition-opacity"><img src="/lula.png" class="h-8 w-8" alt="Lula Logo"/> <div class="flex flex-col"><span class="text-xl font-bold text-gray-900 dark:text-white">Lula</span> <span class="text-xs text-gray-500 dark:text-gray-400 -mt-1">Gitops for Compliance</span></div></a></div> <div class="flex items-center space-x-4"><!> <!> <a class="p-2 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition-colors" title="Github" href="https://github.com/defenseunicorns/lula" target="_blank"><!></a></div></div></div></header> <div class="flex-1 flex gap-6 p-6 overflow-hidden"><!></div>',1),Ue=P('<div class="h-screen flex flex-col"><!></div>');function et(b,t){R(t,!0);const e=()=>te(_e,"$page",o),l=()=>te(ce,"$appState",o),[o,g]=de();let f=!1;async function r(a){try{const c=`/api/export-controls?format=${a}`,h=document.createElement("a");h.href=c,h.download="",document.body.appendChild(h),h.click(),document.body.removeChild(h)}catch(c){console.error("Export failed:",c)}}xe(()=>{q.connect();let a=null;const c=async()=>{if(f||e().url.pathname==="/setup"||l().isSwitchingControlSet)return;const h=l();if(h.isConnected){if(f=!0,(!h.name||h.name==="Unknown Control Set"||h.id==="unknown"||h.id==="default")&&(!h.controls||h.controls.length===0)){await q.scanControlSets();const E=await new Promise(G=>{const T=O=>{window.removeEventListener("control-sets-list",T),G(O.detail)};window.addEventListener("control-sets-list",T),setTimeout(()=>{window.removeEventListener("control-sets-list",T),G(null)},2e3)});E&&Array.isArray(E)&&E.length===1?(console.log("Auto-loading single control set:",E[0].path),await q.switchControlSet(E[0].path)):me("/setup")}}else a=window.setTimeout(c,500)};return a=window.setTimeout(c,100),()=>{a&&clearTimeout(a)}}),be(()=>{q.disconnect()});var s=Ue(),p=i(s);{var x=a=>{var c=Je(),h=U(c),E=i(h),G=i(E),T=V(i(G),2),O=i(T);Me(O,{});var ae=V(O,2);{var ve=_=>{we(_,{buttonLabel:"Export",get buttonIcon(){return ne},buttonClass:"inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors",dropdownClass:"w-48",children:W=>{var Z=Ge(),B=i(Z);B.__click=[De,r];var S=i(B),H=i(S);Ve(H,{class:"w-4 h-4"}),A(2),n(S),n(B);var L=V(B,2);L.__click=[Ye,r];var J=i(L),X=i(J);ne(X,{class:"w-4 h-4"}),A(2),n(J),n(L);var ee=V(L,2);ee.__click=[je,r];var oe=i(ee),pe=i(oe);Ae(pe,{class:"w-4 h-4"}),A(2),n(oe),n(ee),n(Z),v(W,Z)},$$slots:{default:!0}})};w(ae,_=>{l().isConnected&&l().controls&&l().controls.length>0&&_(ve)})}var re=V(ae,2),ue=i(re);Be(ue,{class:"w-5 h-5"}),n(re),n(T),n(G),n(E),n(h);var se=V(h,2),ge=i(se);{var fe=_=>{var I=Ie();v(_,I)},he=_=>{var I=Q(),W=U(I);{var Z=S=>{var H=Ze(),L=i(H),J=V(i(L),2),X=i(J,!0);n(J),n(L),n(H),D(()=>Y(X,l().isConnected?l().fieldSchema?"Loading controls...":"Loading schema...":"Connecting...")),v(S,H)},B=S=>{var H=Q(),L=U(H);ie(L,()=>t.children),v(S,H)};w(W,S=>{!l().isConnected||!l().controls||l().controls.length===0||!l().fieldSchema?S(Z):S(B,!1)},!0)}v(_,I)};w(ge,_=>{l().isSwitchingControlSet?_(fe):_(he,!1)})}n(se),v(a,c)},d=a=>{var c=Q(),h=U(c);ie(h,()=>t.children),v(a,c)};w(p,a=>{e().url.pathname!=="/setup"?a(x):a(d,!1)})}n(s),v(b,s),N(),g()}le(["click"]);export{et as component};
|
|
1
|
+
import"../chunks/DsnmJJEf.js";import{at as le,p as R,ae as y,d as k,T as $,G as m,h as u,af as F,ag as M,c as i,n as A,r as n,b as v,e as N,J as D,K as Y,ak as Q,a as U,f as P,o as xe,au as be,s as V,av as ie}from"../chunks/Cby0Z7eP.js";import{l as z,p as C,i as w,a as te,s as de}from"../chunks/DqsOU3kV.js";import{g as me}from"../chunks/BY6Yi-Zs.js";import{p as _e,D as we}from"../chunks/DYjGp5A7.js";import{i as j}from"../chunks/C5zWTfmV.js";import{a as K,f as ce,w as q}from"../chunks/BtOhWAVU.js";le(["change"]);var ye=M("<title> </title>"),ke=M('<svg><!><path d="M11.41 26.59L7.83 23 28 23 28 21 7.83 21 11.41 17.41 10 16 4 22 10 28 11.41 26.59zM28 10L22 4 20.59 5.41 24.17 9 4 9 4 11 24.17 11 20.59 14.59 22 16 28 10z"></path></svg>');function $e(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=ke();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=ye(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(),n(s),v(b,s),N()}var ze=P('<a href="/setup" class="inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors" title="Switch control set"><!> Switch</a>'),Ce=P('<div class="text-sm text-gray-500 dark:text-gray-400">Loading...</div>');function Me(b,t){R(t,!1);const e=()=>te(ce,"$appState",l),[l,o]=de();j();var g=Q(),f=U(g);{var r=p=>{var x=ze(),d=i(x);$e(d,{size:16}),A(),n(x),v(p,x)},s=p=>{var x=Ce();v(p,x)};w(f,p=>{e().isConnected?p(r):p(s,!1)})}v(b,g),N(),o()}var Se=M("<title> </title>"),Le=M('<svg><!><path d="M31 16L24 23 22.59 21.59 28.17 16 22.59 10.41 24 9 31 16zM1 16L8 9 9.41 10.41 3.83 16 9.41 21.59 8 23 1 16z"></path><path d="M5.91 15H26.080000000000002V17H5.91z" transform="rotate(-75 15.996 16)"></path></svg>');function Ae(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=Le();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Se(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(2),n(s),v(b,s),N()}var Ee=M("<title> </title>"),He=M('<svg><!><path d="M13 21L26.17 21 23.59 23.59 25 25 30 20 25 15 23.59 16.41 26.17 19 13 19 13 21z"></path><path d="M22,14V10a1,1,0,0,0-.29-.71l-7-7A1,1,0,0,0,14,2H4A2,2,0,0,0,2,4V28a2,2,0,0,0,2,2H20a2,2,0,0,0,2-2V26H20v2H4V4h8v6a2,2,0,0,0,2,2h6v2Zm-8-4V4.41L19.59,10Z"></path></svg>');function Ve(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=He();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Ee(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(2),n(s),v(b,s),N()}var Re=M("<title> </title>"),Ne=M('<svg><!><path d="M26 24v4H6V24H4v4H4a2 2 0 002 2H26a2 2 0 002-2h0V24zM26 14L24.59 12.59 17 20.17 17 2 15 2 15 20.17 7.41 12.59 6 14 16 24 26 14z"></path></svg>');function ne(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=Ne();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Re(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(),n(s),v(b,s),N()}var Pe=M("<title> </title>"),Te=M('<svg><!><path fill-rule="evenodd" d="M16,2a14,14,0,0,0-4.43,27.28c.7.13,1-.3,1-.67s0-1.21,0-2.38c-3.89.84-4.71-1.88-4.71-1.88A3.71,3.71,0,0,0,6.24,22.3c-1.27-.86.1-.85.1-.85A2.94,2.94,0,0,1,8.48,22.9a3,3,0,0,0,4.08,1.16,2.93,2.93,0,0,1,.88-1.87c-3.1-.36-6.37-1.56-6.37-6.92a5.4,5.4,0,0,1,1.44-3.76,5,5,0,0,1,.14-3.7s1.17-.38,3.85,1.43a13.3,13.3,0,0,1,7,0c2.67-1.81,3.84-1.43,3.84-1.43a5,5,0,0,1,.14,3.7,5.4,5.4,0,0,1,1.44,3.76c0,5.38-3.27,6.56-6.39,6.91a3.33,3.33,0,0,1,.95,2.59c0,1.87,0,3.38,0,3.84s.25.81,1,.67A14,14,0,0,0,16,2Z"></path></svg>');function Be(b,t){const e=z(t,["children","$$slots","$$events","$$legacy"]),l=z(e,["size","title"]);R(t,!1);const o=$(),g=$();let f=C(t,"size",8,16),r=C(t,"title",8,void 0);y(()=>(m(e),m(r())),()=>{k(o,e["aria-label"]||e["aria-labelledby"]||r())}),y(()=>(u(o),m(e)),()=>{k(g,{"aria-hidden":u(o)?void 0:!0,role:u(o)?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})}),F(),j();var s=Te();K(s,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:f(),height:f(),...u(g),...l}));var p=i(s);{var x=d=>{var a=Pe(),c=i(a,!0);n(a),D(()=>Y(c,r())),v(d,a)};w(p,d=>{r()&&d(x)})}A(),n(s),v(b,s),N()}var De=(b,t)=>t("csv"),Ye=(b,t)=>t("excel"),je=(b,t)=>t("json"),Ge=P('<div class="space-y-1 p-1"><button class="w-full text-left px-3 py-2 text-sm rounded-md transition-colors duration-200 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"><div class="flex items-center gap-2"><!> <span>Export as CSV</span></div></button> <button class="w-full text-left px-3 py-2 text-sm rounded-md transition-colors duration-200 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"><div class="flex items-center gap-2"><!> <span>Export as Excel</span></div></button> <button class="w-full text-left px-3 py-2 text-sm rounded-md transition-colors duration-200 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"><div class="flex items-center gap-2"><!> <span>Export as JSON</span></div></button></div>'),Ie=P('<div class="flex-1 flex justify-center items-center"><div class="text-center"><div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"></div> <p class="text-gray-500 dark:text-gray-400">Switching control set...</p></div></div>'),Ze=P('<div class="flex-1 flex justify-center items-center"><div class="text-center"><div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"></div> <p class="text-gray-500 dark:text-gray-400"> </p></div></div>'),Je=P('<header class="bg-white dark:bg-gray-900 shadow-sm border-b border-gray-200 dark:border-gray-700 flex-shrink-0"><div class="w-full px-6 lg:px-8"><div class="flex justify-between items-center h-16"><div class="flex items-center"><a href="/" class="flex items-center space-x-3 hover:opacity-80 transition-opacity"><img src="/lula.png" class="h-8 w-8" alt="Lula Logo"/> <div class="flex flex-col"><span class="text-xl font-bold text-gray-900 dark:text-white">Lula</span> <span class="text-xs text-gray-500 dark:text-gray-400 -mt-1">Gitops for Compliance</span></div></a></div> <div class="flex items-center space-x-4"><!> <!> <a class="p-2 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition-colors" title="Github" href="https://github.com/defenseunicorns/lula" target="_blank"><!></a></div></div></div></header> <div class="flex-1 flex gap-6 p-6 overflow-hidden"><!></div>',1),Ue=P('<div class="h-screen flex flex-col"><!></div>');function et(b,t){R(t,!0);const e=()=>te(_e,"$page",o),l=()=>te(ce,"$appState",o),[o,g]=de();let f=!1;async function r(a){try{const c=`/api/export-controls?format=${a}`,h=document.createElement("a");h.href=c,h.download="",document.body.appendChild(h),h.click(),document.body.removeChild(h)}catch(c){console.error("Export failed:",c)}}xe(()=>{q.connect();let a=null;const c=async()=>{if(f||e().url.pathname==="/setup"||l().isSwitchingControlSet)return;const h=l();if(h.isConnected){if(f=!0,(!h.name||h.name==="Unknown Control Set"||h.id==="unknown"||h.id==="default")&&(!h.controls||h.controls.length===0)){await q.scanControlSets();const E=await new Promise(G=>{const T=O=>{window.removeEventListener("control-sets-list",T),G(O.detail)};window.addEventListener("control-sets-list",T),setTimeout(()=>{window.removeEventListener("control-sets-list",T),G(null)},2e3)});E&&Array.isArray(E)&&E.length===1?(console.log("Auto-loading single control set:",E[0].path),await q.switchControlSet(E[0].path)):me("/setup")}}else a=window.setTimeout(c,500)};return a=window.setTimeout(c,100),()=>{a&&clearTimeout(a)}}),be(()=>{q.disconnect()});var s=Ue(),p=i(s);{var x=a=>{var c=Je(),h=U(c),E=i(h),G=i(E),T=V(i(G),2),O=i(T);Me(O,{});var ae=V(O,2);{var ve=_=>{we(_,{buttonLabel:"Export",get buttonIcon(){return ne},buttonClass:"inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors",dropdownClass:"w-48",children:W=>{var Z=Ge(),B=i(Z);B.__click=[De,r];var S=i(B),H=i(S);Ve(H,{class:"w-4 h-4"}),A(2),n(S),n(B);var L=V(B,2);L.__click=[Ye,r];var J=i(L),X=i(J);ne(X,{class:"w-4 h-4"}),A(2),n(J),n(L);var ee=V(L,2);ee.__click=[je,r];var oe=i(ee),pe=i(oe);Ae(pe,{class:"w-4 h-4"}),A(2),n(oe),n(ee),n(Z),v(W,Z)},$$slots:{default:!0}})};w(ae,_=>{l().isConnected&&l().controls&&l().controls.length>0&&_(ve)})}var re=V(ae,2),ue=i(re);Be(ue,{class:"w-5 h-5"}),n(re),n(T),n(G),n(E),n(h);var se=V(h,2),ge=i(se);{var fe=_=>{var I=Ie();v(_,I)},he=_=>{var I=Q(),W=U(I);{var Z=S=>{var H=Ze(),L=i(H),J=V(i(L),2),X=i(J,!0);n(J),n(L),n(H),D(()=>Y(X,l().isConnected?l().fieldSchema?"Loading controls...":"Loading schema...":"Connecting...")),v(S,H)},B=S=>{var H=Q(),L=U(H);ie(L,()=>t.children),v(S,H)};w(W,S=>{!l().isConnected||!l().controls||l().controls.length===0||!l().fieldSchema?S(Z):S(B,!1)},!0)}v(_,I)};w(ge,_=>{l().isSwitchingControlSet?_(fe):_(he,!1)})}n(se),v(a,c)},d=a=>{var c=Q(),h=U(c);ie(h,()=>t.children),v(a,c)};w(p,a=>{e().url.pathname!=="/setup"?a(x):a(d,!1)})}n(s),v(b,s),N(),g()}le(["click"]);export{et as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunks/DsnmJJEf.js";import{i as u}from"../chunks/
|
|
1
|
+
import"../chunks/DsnmJJEf.js";import{i as u}from"../chunks/C5zWTfmV.js";import{p as h,f as g,a as l,J as v,b as d,e as _,c as s,r as a,s as x,K as o}from"../chunks/Cby0Z7eP.js";import{s as $,p}from"../chunks/BY6Yi-Zs.js";const b={get error(){return p.error},get status(){return p.status}};$.updated.check;const i=b;var k=g("<h1> </h1> <p> </p>",1);function q(m,c){h(c,!1),u();var t=k(),r=l(t),n=s(r,!0);a(r);var e=x(r,2),f=s(e,!0);a(e),v(()=>{o(n,i.status),o(f,i.error?.message)}),d(m,t),_()}export{q as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunks/DsnmJJEf.js";import"../chunks/
|
|
1
|
+
import"../chunks/DsnmJJEf.js";import"../chunks/C5zWTfmV.js";import{f,a as y,b as n,c as t,r,s as w,n as C}from"../chunks/Cby0Z7eP.js";import{i as k,s as $,a as D}from"../chunks/DqsOU3kV.js";import{C as S,a as j,D as L}from"../chunks/BHBfra1F.js";import{s as N}from"../chunks/DYjGp5A7.js";var P=f('<div class=" h-full flex flex-col"><div class="flex-1 flex items-center justify-center p-8"><div class="text-center text-gray-500 dark:text-gray-400"><!> <h3 class="text-xl font-semibold text-gray-900 dark:text-white mb-2">No Control Selected</h3> <p class="text-gray-600 dark:text-gray-400">Select a control from the list to view and edit its details</p></div></div></div>'),q=f('<div class="w-1/2 flex flex-col"><div class="bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-lg shadow-sm h-full flex flex-col"><!></div></div> <div class="w-1/2 flex flex-col"><!></div>',1);function H(m){const o=()=>D(N,"$selectedControl",x),[x,g]=$();var l=q(),a=y(l),i=t(a),p=t(i);S(p,{}),r(i),r(a);var d=w(a,2),_=t(d);{var h=e=>{j(e,{get control(){return o()}})},b=e=>{var s=P(),c=t(s),v=t(c),u=t(v);L(u,{class:"mx-auto h-16 w-16 mb-4"}),C(4),r(v),r(c),r(s),n(e,s)};k(_,e=>{o()?e(h):e(b,!1)})}r(d),n(m,l),g()}export{H as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunks/DsnmJJEf.js";import{p as S,u as A,d as x,o as B,f as n,a as F,b as i,e as H,c as s,g as N,r as a,s as h,h as P,n as R}from"../chunks/
|
|
1
|
+
import"../chunks/DsnmJJEf.js";import{p as S,u as A,d as x,o as B,f as n,a as F,b as i,e as H,c as s,g as N,r as a,s as h,h as P,n as R}from"../chunks/Cby0Z7eP.js";import{a as C,i as b,s as U}from"../chunks/DqsOU3kV.js";import{g as V}from"../chunks/BY6Yi-Zs.js";import{p as q,s as _}from"../chunks/DYjGp5A7.js";import{C as G,a as J,D as K}from"../chunks/BHBfra1F.js";import{w}from"../chunks/BtOhWAVU.js";var O=n('<div class="absolute top-4 right-4 z-10"><div class="w-8 h-8 flex items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/30" title="Loading control..."><svg class="w-5 h-5 text-blue-600 dark:text-blue-400 animate-spin" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg></div></div>'),Q=n('<div class=" h-full flex flex-col"><div class="flex-1 flex items-center justify-center p-8"><div class="text-center text-gray-500 dark:text-gray-400"><!> <h3 class="text-xl font-semibold text-gray-900 dark:text-white mb-2">No Control Selected</h3> <p class="text-gray-600 dark:text-gray-400">Select a control from the list to view and edit its details</p></div></div></div>'),T=n('<div class="w-1/2 flex flex-col"><div class="bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-lg shadow-sm h-full flex flex-col"><!></div></div> <div class="w-1/2 flex flex-col relative"><!> <!></div>',1);function se(y,k){S(k,!0);const $=()=>C(q,"$page",c),d=()=>C(_,"$selectedControl",c),[c,D]=U();let v="",r=N(!1);A(()=>{const e=$().params.id;if(!e)return;const t=decodeURIComponent(e);t&&t!==v&&w.isConnected()&&(v=t,x(r,!0),w.getControlDetails(t))}),B(()=>{const e=t=>{const o=t.detail;x(r,!1),o?_.set(o):V("/")};return window.addEventListener("control-details",e),()=>{window.removeEventListener("control-details",e)}});var f=T(),l=F(f),p=s(l),L=s(p);G(L,{}),a(p),a(l);var g=h(l,2),m=s(g);{var I=e=>{var t=O();i(e,t)};b(m,e=>{P(r)&&e(I)})}var z=h(m,2);{var j=e=>{J(e,{get control(){return d()}})},E=e=>{var t=Q(),o=s(t),u=s(o),M=s(u);K(M,{class:"mx-auto h-16 w-16 mb-4"}),R(4),a(u),a(o),a(t),i(e,t)};b(z,e=>{d()?e(j):e(E,!1)})}a(g),i(y,f),H(),D()}export{se as component};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../chunks/DsnmJJEf.js";import{i as Ye}from"../chunks/
|
|
1
|
+
import"../chunks/DsnmJJEf.js";import{i as Ye}from"../chunks/C5zWTfmV.js";import{p as We,ae as Me,d as l,T as C,G as te,h as e,af as ar,ag as Ve,c as o,n as _e,r,b as v,e as Xe,J as H,K as P,ah as Vr,f as k,s as n,k as x,ai as u,a as we,aj as xr,ak as Ie,a0 as $e,al as hr,am as rr,an as yr,o as Gr,W as Qr}from"../chunks/Cby0Z7eP.js";import{l as tr,p as Ue,i as M,a as et,s as rt}from"../chunks/DqsOU3kV.js";import{a as Tr,s as de,r as Er,e as pe,i as De,b as qe,c as Ir,d as _r,f as Cr,w as wr}from"../chunks/BtOhWAVU.js";import{g as tt}from"../chunks/BY6Yi-Zs.js";var at=Ve("<title> </title>"),ot=Ve('<svg><!><path d="M11 18L12.41 19.41 15 16.83 15 29 17 29 17 16.83 19.59 19.41 21 18 16 13 11 18z"></path><path d="M23.5,22H23V20h.5a4.5,4.5,0,0,0,.36-9L23,11l-.1-.82a7,7,0,0,0-13.88,0L9,11,8.14,11a4.5,4.5,0,0,0,.36,9H9v2H8.5A6.5,6.5,0,0,1,7.2,9.14a9,9,0,0,1,17.6,0A6.5,6.5,0,0,1,23.5,22Z"></path></svg>');function lt(fe,K){const F=tr(K,["children","$$slots","$$events","$$legacy"]),se=tr(F,["size","title"]);We(K,!1);const V=C(),T=C();let N=Ue(K,"size",8,16),f=Ue(K,"title",8,void 0);Me(()=>(te(F),te(f())),()=>{l(V,F["aria-label"]||F["aria-labelledby"]||f())}),Me(()=>(e(V),te(F)),()=>{l(T,{"aria-hidden":e(V)?void 0:!0,role:e(V)?"img":void 0,focusable:Number(F.tabindex)===0?!0:void 0})}),ar(),Ye();var b=ot();Tr(b,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:N(),height:N(),...e(T),...se}));var S=o(b);{var ie=R=>{var c=at(),q=o(c,!0);r(c),H(()=>P(q,f())),v(R,c)};M(S,R=>{f()&&R(ie)})}_e(2),r(b),v(fe,b),Xe()}var st=Ve("<title> </title>"),it=Ve('<svg><!><path d="M10 6H14V10H10zM18 6H22V10H18zM10 14H14V18H10zM18 14H22V18H18zM10 22H14V26H10zM18 22H22V26H18z"></path></svg>');function kr(fe,K){const F=tr(K,["children","$$slots","$$events","$$legacy"]),se=tr(F,["size","title"]);We(K,!1);const V=C(),T=C();let N=Ue(K,"size",8,16),f=Ue(K,"title",8,void 0);Me(()=>(te(F),te(f())),()=>{l(V,F["aria-label"]||F["aria-labelledby"]||f())}),Me(()=>(e(V),te(F)),()=>{l(T,{"aria-hidden":e(V)?void 0:!0,role:e(V)?"img":void 0,focusable:Number(F.tabindex)===0?!0:void 0})}),ar(),Ye();var b=it();Tr(b,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:N(),height:N(),...e(T),...se}));var S=o(b);{var ie=R=>{var c=st(),q=o(c,!0);r(c),H(()=>P(q,f())),v(R,c)};M(S,R=>{f()&&R(ie)})}_e(),r(b),v(fe,b),Xe()}var nt=k('<div class="p-4 text-sm text-blue-800 rounded-lg bg-blue-50 dark:bg-gray-800 dark:text-blue-400"><div class="flex items-center"><svg class="flex-shrink-0 inline w-4 h-4 mr-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20"><path d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z"></path></svg> <div><span class="font-medium">File loaded:</span> <div class="mt-1"><span class="font-medium">Sheets:</span> <span class="font-medium">Fields:</span> <span class="font-medium">Controls found:</span> </div></div></div></div>'),dt=k('<div class="p-4 text-sm text-red-800 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400"><div class="flex items-center"><svg class="flex-shrink-0 inline w-4 h-4 mr-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20"><path d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z"></path></svg> <span> </span></div></div>'),vt=k('<div class="p-4 text-sm text-green-800 rounded-lg bg-green-50 dark:bg-gray-800 dark:text-green-400"><div class="flex items-center"><svg class="flex-shrink-0 inline w-4 h-4 mr-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20"><path d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z"></path></svg> <span> </span></div></div>'),ct=k("<option> </option>"),gt=k("<option> </option>"),pt=k("<option> </option>"),ut=k('<span class="ml-auto text-xs text-blue-600 dark:text-blue-400">ID</span>'),bt=k('<div draggable="true" role="button" tabindex="0" class="flex items-center px-3 py-2 bg-gray-100 dark:bg-gray-700 text-gray-500 dark:text-gray-400 rounded text-sm cursor-move hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors opacity-75"><svg class="w-3 h-3 mr-2 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20"><path d="M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z"></path></svg> <span class="truncate line-through"> </span> <!></div>'),ft=k('<p class="text-xs text-gray-400 dark:text-gray-500 text-center py-4">No excluded fields</p>'),mt=k('<div draggable="true" role="button" tabindex="0"><!> <span class="truncate"> </span></div>'),xt=k('<p class="text-xs text-gray-400 dark:text-gray-500 text-center py-4">Drop fields here</p>'),ht=k('<div draggable="true" role="button" tabindex="0"><!> <span class="truncate"> </span></div>'),yt=k('<p class="text-xs text-gray-400 dark:text-gray-500 text-center py-4">Drop fields here</p>'),_t=k('<div draggable="true" role="button" tabindex="0"><!> <span class="truncate"> </span></div>'),wt=k('<p class="text-xs text-gray-400 dark:text-gray-500 text-center py-4">Drop fields here</p>'),kt=k('<th class="px-4 py-2"> </th>'),Ct=k('<td class="px-4 py-2"> </td>'),St=k('<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700"></tr>'),$t=k('<div class="bg-gradient-to-br from-gray-50 to-gray-100 dark:from-gray-800 dark:to-gray-900 rounded-lg p-4 border border-gray-200 dark:border-gray-700"><h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-4">Sample Data Preview</h3> <div class="overflow-x-auto"><table class="w-full text-sm text-left text-gray-500 dark:text-gray-400"><thead class="text-xs text-gray-700 uppercase bg-gray-100 dark:bg-gray-600 dark:text-gray-400"><tr></tr></thead><tbody></tbody></table></div></div>'),Dt=k('<span class="flex items-center"><svg class="animate-spin -ml-1 mr-3 h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg> Importing...</span>'),Mt=k(`<div class="bg-gradient-to-br from-gray-50 to-gray-100 dark:from-gray-800 dark:to-gray-900 rounded-lg p-4 border border-gray-200 dark:border-gray-700"><h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-4">Import Options</h3> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"><div><label for="controlSetName" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Control Set Name <span class="text-red-500">*</span></label> <input type="text" id="controlSetName" placeholder="e.g., NIST 800-53 Rev 4" class="bg-white border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-600 dark:border-gray-500 dark:text-white" required/> <p class="mt-1 text-xs text-gray-500 dark:text-gray-400">This will be used as the display name and folder name</p></div> <div><label for="controlSetDescription" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Description</label> <input type="text" id="controlSetDescription" placeholder="Optional description" class="bg-white border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-600 dark:border-gray-500 dark:text-white"/> <p class="mt-1 text-xs text-gray-500 dark:text-gray-400">Brief description of this control set</p></div></div> <div class="grid grid-cols-1 md:grid-cols-2 gap-4"><div><label for="sheet" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Sheet</label> <select id="sheet" class="bg-white border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-600 dark:border-gray-500 dark:text-white"></select> <p class="mt-1 text-xs text-gray-500 dark:text-gray-400">Select which worksheet contains your control data</p></div> <div><label for="headerRow" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Select Header Row</label> <select id="headerRow" class="bg-white border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-600 dark:border-gray-500 dark:text-white"></select> <p class="mt-1 text-xs text-gray-500 dark:text-gray-400">Select the row containing column headers</p></div> <div><label for="controlIdField" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Control ID Field <span class="text-red-500">*</span></label> <select id="controlIdField" required><option disabled>Select Control ID field</option><!></select> <p class="mt-1 text-xs text-gray-500 dark:text-gray-400">Column containing unique control identifiers (e.g., AC-1, SC-7)</p></div></div></div> <div class="bg-gradient-to-br from-gray-50 to-gray-100 dark:from-gray-800 dark:to-gray-900 rounded-lg p-4 border border-gray-200 dark:border-gray-700"><h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-2">Organize Fields</h3> <p class="text-sm text-gray-600 dark:text-gray-400 mb-4">Drag fields to organize them. <strong>Overview fields</strong> will appear as table columns in
|
|
2
2
|
the controls list.</p> <div class="grid grid-cols-1 lg:grid-cols-4 gap-4"><div class="border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800"><div class="p-3 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-700 rounded-t-lg"><h4 class="text-sm font-semibold text-gray-700 dark:text-gray-300">Excluded Fields</h4> <p class="text-xs text-gray-500 dark:text-gray-400 mt-1">Not imported</p></div> <div role="region" aria-label="Excluded fields drop zone"><!> <!></div></div> <div class="border border-blue-300 dark:border-blue-700 rounded-lg bg-white dark:bg-gray-800"><div class="p-3 border-b border-blue-200 dark:border-blue-800 bg-blue-50 dark:bg-blue-900/20 rounded-t-lg"><h4 class="text-sm font-semibold text-blue-700 dark:text-blue-300">Overview Tab</h4> <p class="text-xs text-blue-600 dark:text-blue-400 mt-1">Shows in details & table columns</p></div> <div role="region" aria-label="Overview tab drop zone"><!> <!></div></div> <div class="border border-green-300 dark:border-green-700 rounded-lg bg-white dark:bg-gray-800"><div class="p-3 border-b border-green-200 dark:border-green-800 bg-green-50 dark:bg-green-900/20 rounded-t-lg"><h4 class="text-sm font-semibold text-green-700 dark:text-green-300">Implementation Tab</h4> <p class="text-xs text-green-600 dark:text-green-400 mt-1">Status & compliance</p></div> <div role="region" aria-label="Implementation tab drop zone"><!> <!></div></div> <div class="border border-purple-300 dark:border-purple-700 rounded-lg bg-white dark:bg-gray-800"><div class="p-3 border-b border-purple-200 dark:border-purple-800 bg-purple-50 dark:bg-purple-900/20 rounded-t-lg"><h4 class="text-sm font-semibold text-purple-700 dark:text-purple-300">Custom Tab</h4> <p class="text-xs text-purple-600 dark:text-purple-400 mt-1">Additional fields</p></div> <div role="region" aria-label="Custom fields drop zone"><!> <!></div></div></div></div> <!> <div class="flex justify-center"><button class="px-5 py-2.5 text-white bg-blue-600 hover:bg-blue-700 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm disabled:opacity-50 disabled:cursor-not-allowed"><!></button></div>`,1),zt=k('<div class="space-y-6"><div role="button" tabindex="0" class="relative"><label><div class="flex flex-col items-center justify-center pt-5 pb-6"><!> <p class="mb-2 text-sm text-gray-500 dark:text-gray-400"><span class="font-semibold">Click to upload</span> or drag and drop</p> <p class="text-xs text-gray-500 dark:text-gray-400">XLSX, XLS or CSV files</p></div> <input type="file" class="hidden" accept=".xlsx,.xls,.csv"/></label></div> <!> <!> <!> <!></div>');function At(fe,K){We(K,!1);const F=C(),se=Vr();let V=C(null),T=C(""),N=C(""),f=C([]),b=C([]),S=C([]),ie=C(0),R=C([]),c=C(new Map),q=C(1),j=C(""),ue=C(""),U=C(""),Y=C(!1),W=C(""),ve=C(""),ye=C(!1),ae=C(!1),E=C(null),X=C(null),oe=C(null);function ke(){l(b,[]),l(S,[]),l(ie,0),e(c).clear(),l(c,new Map),l(j,""),l(W,""),l(ve,""),l(E,null),l(X,null),l(oe,null)}function p(t){t.preventDefault(),l(ae,!0)}function m(){l(ae,!1)}function z(t){t.preventDefault(),l(ae,!1);const i=t.dataTransfer?.files;i&&i.length>0&&I(i[0])}function L(t){const i=t.target;i.files&&i.files.length>0&&I(i.files[0])}async function I(t){ke(),l(T,t.name),l(V,t),l(W,""),l(Y,!0),l(ue,e(T).replace(/\.[^.]+$/,"").replace(/[-_]/g," ")),l(U,`Imported from ${e(T)}`);try{const i=new FormData;i.append("file",t);const h=await fetch("/api/parse-excel",{method:"POST",body:i});if(!h.ok){const $=await h.json();throw new Error($.error||"Failed to parse file")}const y=await h.json();l(f,y.sheets||[]),l(N,y.selectedSheet||e(f)[0]),l(R,y.rowPreviews||[]),e(R).length>0&&e(q)===1&&l(q,e(R)[0].row),await B(),l(ye,!0)}catch(i){l(W,"Error reading file: "+i.message)}finally{l(Y,!1)}}async function B(){if(!(!e(V)||!e(N))){l(Y,!0),e(c).clear(),l(c,new Map),l(j,"");try{const t=new FormData;t.append("file",e(V)),t.append("sheetName",e(N)),t.append("headerRow",e(q).toString());const i=await fetch("/api/parse-excel-sheet",{method:"POST",body:t});if(!i.ok){const y=await i.json();throw new Error(y.error||"Failed to parse sheet")}const h=await i.json();if(l(b,h.fields||[]),l(S,h.sampleData||[]),l(ie,h.controlCount||0),e(b).forEach((y,$)=>{const d=y.toLowerCase();let O="custom",Z="text";d.includes("implementation")||d.includes("status")||d.includes("narrative")||d.includes("guidance")?O="implementation":(d.includes("id")||d.includes("title")||d.includes("family")||d.includes("cci")||d.includes("control")||d.includes("acronym"))&&(O="overview"),d.includes("description")||d.includes("narrative")||d.includes("guidance")||d.includes("statement")?Z="textarea":d.includes("status")||d.includes("type")||d.includes("designation")?Z="select":d.includes("date")?Z="date":(d.includes("count")||d.includes("number"))&&(Z="number"),e(c).set(y,{originalName:y,tab:O,displayOrder:$,fieldType:Z,required:d.includes("id")||d.includes("title")})}),l(c,e(c)),e(j)&&!e(b).includes(e(j))&&l(j,""),!e(j)&&e(b).includes("AP Acronym")){const y=!e(S).length||e(S).every(Q=>!Q["AP Acronym"]||String(Q["AP Acronym"]).length<25),$=e(S).map(Q=>Q["AP Acronym"]).filter(Q=>Q!=null&&Q!==""&&String(Q).trim()!==""),d=new Set($),O=!$.length||d.size===$.length,Z=$.length>0;y&&O&&Z&&l(j,"AP Acronym")}}catch(t){l(W,"Error loading sheet data: "+t.message)}finally{l(Y,!1)}}}function ce(t){if(!t)return t;let i=t.trim().replace(/\r?\n/g," ").replace(/\s+/g," ").trim();return Te(i)}function Te(t){return t.replace(/\W+/g," ").split(/ |\s/).map(i=>i.toLowerCase()).join("-")}function be(t,i){l(E,i),t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",i))}function le(){l(E,null),l(X,null),l(oe,null)}function D(t,i){t.preventDefault(),l(X,i),t.dataTransfer&&(t.dataTransfer.dropEffect="move")}function ge(){l(X,null)}function ne(t,i,h){if(t.preventDefault(),e(E)&&e(c).has(e(E))){const y=e(c).get(e(E));if(y.tab=i,h!==void 0&&i!==null){const d=Array.from(e(c).entries()).filter(([O,Z])=>Z.tab===i).sort((O,Z)=>O[1].displayOrder-Z[1].displayOrder).filter(([O])=>O!==e(E));d.splice(h,0,[e(E),y]),d.forEach(([O,Z],Q)=>{Z.displayOrder=Q,e(c).set(O,Z)})}else if(i!==null){const $=Math.max(0,...Array.from(e(c).values()).filter(d=>d.tab===i).map(d=>d.displayOrder));y.displayOrder=$+1}e(c).set(e(E),y),l(c,e(c))}l(E,null),l(X,null)}function ze(t,i){t.preventDefault(),t.stopPropagation(),l(oe,i)}function Ce(){l(oe,null)}function Se(t,i,h){if(t.preventDefault(),t.stopPropagation(),e(E)&&e(E)!==i){const $=Array.from(e(c).entries()).filter(([d,O])=>O.tab===h).sort((d,O)=>d[1].displayOrder-O[1].displayOrder).findIndex(([d])=>d===i);$!==-1&&ne(t,h,$)}l(oe,null)}async function Le(){if(!(!e(V)||!e(T))){if(!e(j)){l(W,"Please select a Control ID field before importing"),l(ve,"");return}if(!e(ue)||e(ue).trim()===""){l(W,"Please enter a Control Set Name before importing"),l(ve,"");return}l(Y,!0),l(W,""),l(ve,"");try{const t=new FormData;t.append("file",e(V),e(T)),t.append("controlIdField",e(j)),t.append("startRow",e(q).toString()),t.append("namingConvention","kebab-case"),t.append("skipEmpty","true"),t.append("skipEmptyRows","true"),t.append("controlSetName",e(ue)||e(T).replace(/\.[^.]+$/,"")),t.append("controlSetDescription",e(U)||`Imported from ${e(T)}`);const i=Array.from(e(c).entries()).filter(([$,d])=>d.tab!==null).map(([$,d])=>({fieldName:ce($),...d}));t.append("fieldSchema",JSON.stringify(i));const h=await fetch("/api/import-spreadsheet",{method:"POST",body:t});if(!h.ok){const $=await h.json();throw new Error($.error||"Import failed")}const y=await h.json();l(ve,`Successfully imported ${y.controlCount} controls into ${y.families.length} families`),se("created",{path:y.outputDir})}catch(t){l(W,"Error importing spreadsheet: "+t.message)}finally{l(Y,!1)}}}Me(()=>e(b),()=>{l(F,e(b).filter(t=>e(b).includes(t)))}),ar(),Ye();var Ne=zt(),me=o(Ne),je=o(me),Ae=o(je),or=o(Ae);lt(or,{class:"w-8 h-8 mb-4 text-gray-500 dark:text-gray-400"}),_e(4),r(Ae);var Je=n(Ae,2);r(je),r(me);var Fe=n(me,2);{var lr=t=>{var i=nt(),h=o(i),y=n(o(h),2),$=n(o(y)),d=n($),O=n(o(d)),Z=n(O,2),Q=n(Z,2);r(d),r(y),r(h),r(i),H(()=>{P($,` ${e(T)??""} `),P(O,` ${e(f),x(()=>e(f).length)??""} | `),P(Z,` ${e(b),x(()=>e(b).length)??""} | `),P(Q,` ${e(ie)??""}`)}),v(t,i)};M(Fe,t=>{e(T)&&t(lr)})}var Ke=n(Fe,2);{var sr=t=>{var i=dt(),h=o(i),y=n(o(h),2),$=o(y,!0);r(y),r(h),r(i),H(()=>P($,e(W))),v(t,i)};M(Ke,t=>{e(W)&&t(sr)})}var Be=n(Ke,2);{var ir=t=>{var i=vt(),h=o(i),y=n(o(h),2),$=o(y,!0);r(y),r(h),r(i),H(()=>P($,e(ve))),v(t,i)};M(Be,t=>{e(ve)&&t(ir)})}var nr=n(Be,2);{var dr=t=>{var i=Mt(),h=we(i),y=n(o(h),2),$=o(y),d=n(o($),2);Er(d),_e(2),r($);var O=n($,2),Z=n(o(O),2);Er(Z),_e(2),r(O),r(y);var Q=n(y,2),vr=o(Q),Ge=n(o(vr),2);H(()=>{e(N),xr(()=>{e(f)})}),pe(Ge,5,()=>e(f),De,(a,s)=>{var _=ct(),w=o(_,!0);r(_);var g={};H(()=>{P(w,e(s)),g!==(g=e(s))&&(_.value=(_.__value=e(s))??"")}),v(a,_)}),r(Ge),_e(2),r(vr);var cr=n(vr,2),Qe=n(o(cr),2);H(()=>{e(q),xr(()=>{e(R)})}),pe(Qe,5,()=>e(R),De,(a,s)=>{var _=gt(),w=o(_);r(_);var g={};H(()=>{P(w,`Row ${e(s),x(()=>e(s).row)??""}: ${e(s),x(()=>e(s).preview)??""}`),g!==(g=(e(s),x(()=>e(s).row)))&&(_.value=(_.__value=(e(s),x(()=>e(s).row)))??"")}),v(a,_)}),r(Qe),_e(2),r(cr);var Sr=n(cr,2),er=n(o(Sr),2);H(()=>{e(j),xr(()=>{e(b),e(S)})});var gr=o(er);gr.value=gr.__value="";var Lr=n(gr);pe(Lr,1,()=>e(b),De,(a,s)=>{const _=$e(()=>(e(S),e(s),x(()=>e(S).length>0&&e(S)[0][e(s)]?String(e(S)[0][e(s)]).slice(0,30):""))),w=$e(()=>(e(S),e(s),x(()=>!e(S).length||e(S).every(re=>!re[e(s)]||String(re[e(s)]).length<25)))),g=$e(()=>(e(S),e(s),x(()=>e(S).map(re=>re[e(s)]).filter(re=>re!=null&&re!==""&&String(re).trim()!=="")))),G=$e(()=>new Set(e(g))),ee=$e(()=>(te(e(g)),te(e(G)),x(()=>!e(g).length||e(G).size===e(g).length))),J=$e(()=>(te(e(g)),x(()=>e(g).length>0)));var A=Ie(),xe=we(A);{var Re=re=>{var he=pt(),mr=o(he);r(he);var Pr={};H(()=>{P(mr,`${e(s)??""}${e(_)?` (e.g., ${e(_)})`:""}`),Pr!==(Pr=e(s))&&(he.value=(he.__value=e(s))??"")}),v(re,he)};M(xe,re=>{e(w)&&e(ee)&&e(J)&&re(Re)})}v(a,A)}),r(er),_e(2),r(Sr),r(Q),r(h);var pr=n(h,2),$r=n(o(pr),4),ur=o($r),Oe=n(o(ur),2),Dr=o(Oe);pe(Dr,1,()=>(e(b),e(c),x(()=>e(b).filter(a=>!e(c).get(a)||e(c).get(a)?.tab===null))),a=>a,(a,s)=>{var _=bt(),w=n(o(_),2),g=o(w,!0);r(w);var G=n(w,2);{var ee=J=>{var A=ut();v(J,A)};M(G,J=>{e(s)===e(j)&&J(ee)})}r(_),H(()=>{qe(_,"aria-label",`Drag ${e(s)??""} field`),P(g,e(s))}),u("dragstart",_,J=>be(J,e(s))),u("dragend",_,le),v(a,_)});var Nr=n(Dr,2);{var jr=a=>{var s=ft();v(a,s)};M(Nr,a=>{e(b),e(c),x(()=>e(b).filter(s=>!e(c).get(s)||e(c).get(s)?.tab===null).length===0)&&a(jr)})}r(Oe),r(ur);var br=n(ur,2),He=n(o(br),2),Mr=o(He);pe(Mr,3,()=>(e(c),x(()=>Array.from(e(c).entries()).filter(([a,s])=>s.tab==="overview").sort((a,s)=>a[1].displayOrder-s[1].displayOrder))),([a,s])=>a,(a,s)=>{var _=hr(()=>yr(e(s),2));let w=()=>e(_)[0];var g=mt(),G=o(g);kr(G,{class:"w-3 h-3 mr-2 flex-shrink-0"});var ee=n(G,2),J=o(ee,!0);r(ee),r(g),H(()=>{qe(g,"aria-label",`${w()??""} field in Overview tab`),de(g,1,`flex items-center px-3 py-2 bg-blue-100 dark:bg-blue-900/30 text-blue-800 dark:text-blue-300 rounded text-sm cursor-move hover:bg-blue-200 dark:hover:bg-blue-800/30 transition-colors
|
|
3
3
|
${e(oe)===w()&&e(E)!==w()?"border-t-2 border-blue-500":""}`),P(J,w())}),u("dragstart",g,A=>be(A,w())),u("dragend",g,le),u("dragover",g,A=>ze(A,w())),u("dragleave",g,Ce),u("drop",g,A=>Se(A,w(),"overview")),v(a,g)});var Br=n(Mr,2);{var Zr=a=>{var s=xt();v(a,s)};M(Br,a=>{e(c),x(()=>Array.from(e(c).entries()).filter(([s,_])=>_.tab==="overview").length===0)&&a(Zr)})}r(He),r(br);var fr=n(br,2),Pe=n(o(fr),2),zr=o(Pe);pe(zr,3,()=>(e(c),x(()=>Array.from(e(c).entries()).filter(([a,s])=>s.tab==="implementation").sort((a,s)=>a[1].displayOrder-s[1].displayOrder))),([a,s])=>a,(a,s)=>{var _=hr(()=>yr(e(s),2));let w=()=>e(_)[0];var g=ht(),G=o(g);kr(G,{class:"w-3 h-3 mr-2 flex-shrink-0"});var ee=n(G,2),J=o(ee,!0);r(ee),r(g),H(()=>{qe(g,"aria-label",`${w()??""} field in Implementation tab`),de(g,1,`flex items-center px-3 py-2 bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-300 rounded text-sm cursor-move hover:bg-green-200 dark:hover:bg-green-800/30 transition-colors
|
|
4
4
|
${e(oe)===w()&&e(E)!==w()?"border-t-2 border-green-500":""}`),P(J,w())}),u("dragstart",g,A=>be(A,w())),u("dragend",g,le),u("dragover",g,A=>ze(A,w())),u("dragleave",g,Ce),u("drop",g,A=>Se(A,w(),"implementation")),v(a,g)});var Rr=n(zr,2);{var qr=a=>{var s=yt();v(a,s)};M(Rr,a=>{e(c),x(()=>Array.from(e(c).entries()).filter(([s,_])=>_.tab==="implementation").length===0)&&a(qr)})}r(Pe),r(fr);var Ar=n(fr,2),Ee=n(o(Ar),2),Fr=o(Ee);pe(Fr,3,()=>(e(c),x(()=>Array.from(e(c).entries()).filter(([a,s])=>s.tab==="custom").sort((a,s)=>a[1].displayOrder-s[1].displayOrder))),([a,s])=>a,(a,s)=>{var _=hr(()=>yr(e(s),2));let w=()=>e(_)[0];var g=_t(),G=o(g);kr(G,{class:"w-3 h-3 mr-2 flex-shrink-0"});var ee=n(G,2),J=o(ee,!0);r(ee),r(g),H(()=>{qe(g,"aria-label",`${w()??""} field in Custom tab`),de(g,1,`flex items-center px-3 py-2 bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300 rounded text-sm cursor-move hover:bg-purple-200 dark:hover:bg-purple-800/30 transition-colors
|
package/dist/_app/version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1757637066717"}
|
package/dist/index.html
CHANGED
|
@@ -6,28 +6,28 @@
|
|
|
6
6
|
<link rel="icon" href="/lula.png" />
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
8
|
|
|
9
|
-
<link rel="modulepreload" href="/_app/immutable/entry/start.
|
|
10
|
-
<link rel="modulepreload" href="/_app/immutable/chunks/
|
|
11
|
-
<link rel="modulepreload" href="/_app/immutable/chunks/
|
|
12
|
-
<link rel="modulepreload" href="/_app/immutable/entry/app.
|
|
9
|
+
<link rel="modulepreload" href="/_app/immutable/entry/start.CGiffpm1.js">
|
|
10
|
+
<link rel="modulepreload" href="/_app/immutable/chunks/BY6Yi-Zs.js">
|
|
11
|
+
<link rel="modulepreload" href="/_app/immutable/chunks/Cby0Z7eP.js">
|
|
12
|
+
<link rel="modulepreload" href="/_app/immutable/entry/app.DDWEjgQ7.js">
|
|
13
13
|
<link rel="modulepreload" href="/_app/immutable/chunks/DsnmJJEf.js">
|
|
14
|
-
<link rel="modulepreload" href="/_app/immutable/chunks/
|
|
15
|
-
<link rel="modulepreload" href="/_app/immutable/chunks/
|
|
16
|
-
<link rel="modulepreload" href="/_app/immutable/chunks/
|
|
14
|
+
<link rel="modulepreload" href="/_app/immutable/chunks/DqsOU3kV.js">
|
|
15
|
+
<link rel="modulepreload" href="/_app/immutable/chunks/CoF2vljD.js">
|
|
16
|
+
<link rel="modulepreload" href="/_app/immutable/chunks/DnJ0bPgj.js">
|
|
17
17
|
</head>
|
|
18
18
|
<body data-sveltekit-preload-data="hover">
|
|
19
19
|
<div style="display: contents">
|
|
20
20
|
<script>
|
|
21
21
|
{
|
|
22
|
-
|
|
22
|
+
__sveltekit_fwj9ea = {
|
|
23
23
|
base: ""
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const element = document.currentScript.parentElement;
|
|
27
27
|
|
|
28
28
|
Promise.all([
|
|
29
|
-
import("/_app/immutable/entry/start.
|
|
30
|
-
import("/_app/immutable/entry/app.
|
|
29
|
+
import("/_app/immutable/entry/start.CGiffpm1.js"),
|
|
30
|
+
import("/_app/immutable/entry/app.DDWEjgQ7.js")
|
|
31
31
|
]).then(([kit, app]) => {
|
|
32
32
|
kit.start(app, element);
|
|
33
33
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lula2",
|
|
3
|
-
"version": "0.0.10-nightly.
|
|
3
|
+
"version": "0.0.10-nightly.3",
|
|
4
4
|
"description": "A tool for managing compliance as code in your GitHub repositories.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"lula2": "./dist/lula2"
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"@types/cors": "^2.8.19",
|
|
65
65
|
"@types/express": "^5.0.3",
|
|
66
66
|
"@types/js-yaml": "^4.0.9",
|
|
67
|
+
"@types/jsdom": "^21.1.7",
|
|
67
68
|
"@types/multer": "^2.0.0",
|
|
68
69
|
"@typescript-eslint/eslint-plugin": "^8.42.0",
|
|
69
70
|
"@typescript-eslint/parser": "^8.42.0",
|
|
@@ -75,10 +76,11 @@
|
|
|
75
76
|
"esbuild": "^0.25.9",
|
|
76
77
|
"eslint": "^9.35.0",
|
|
77
78
|
"eslint-config-prettier": "^10.1.8",
|
|
78
|
-
"eslint-plugin-jsdoc": "^
|
|
79
|
+
"eslint-plugin-jsdoc": "^56.0.1",
|
|
79
80
|
"eslint-plugin-svelte": "^3.12.2",
|
|
80
81
|
"globals": "^16.3.0",
|
|
81
82
|
"husky": "^9.1.7",
|
|
83
|
+
"jsdom": "^26.1.0",
|
|
82
84
|
"playwright": "^1.55.0",
|
|
83
85
|
"prettier": "3.6.2",
|
|
84
86
|
"prettier-plugin-svelte": "^3.4.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.diff-viewer.svelte-tcwuie{font-family:Monaco,Menlo,Consolas,monospace}.diff-line.svelte-tcwuie:hover{background-color:#3b82f60d}.diff-line.bg-green-50.svelte-tcwuie:hover{background-color:#22c55e1a}.diff-line.bg-red-50.svelte-tcwuie:hover{background-color:#ef44441a}.dark .diff-line.svelte-tcwuie:hover{background-color:#3b82f61a}.yaml-diff-viewer.svelte-1mbkpm9{font-family:Monaco,Menlo,Consolas,monospace}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var Qe=Array.isArray,yn=Array.prototype.indexOf,bn=Array.from,$e=Object.defineProperty,we=Object.getOwnPropertyDescriptor,gn=Object.getOwnPropertyDescriptors,wn=Object.prototype,mn=Array.prototype,St=Object.getPrototypeOf,dt=Object.isExtensible;function Mr(e){return typeof e=="function"}const X=()=>{};function Lr(e){return e()}function et(e){for(var t=0;t<e.length;t++)e[t]()}function En(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function Fr(e,t){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const k=2,tt=4,Fe=8,ve=16,F=32,se=64,kt=128,R=256,Ce=512,m=1024,C=2048,j=4096,B=8192,de=16384,nt=32768,rt=65536,pt=1<<17,Tn=1<<18,Ae=1<<19,Ot=1<<20,We=1<<21,st=1<<22,Z=1<<23,J=Symbol("$state"),jr=Symbol("legacy props"),qr=Symbol(""),at=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},it=3,Ie=8;function An(){throw new Error("https://svelte.dev/e/await_outside_boundary")}function pe(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function xn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Sn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function kn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function On(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Rn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Nn(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function Cn(){throw new Error("https://svelte.dev/e/hydration_failed")}function Rt(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Yr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function In(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Pn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Dn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}const Hr=1,Ur=2,Br=4,$r=8,Wr=16,Gr=1,Kr=2,zr=4,Xr=8,Zr=16,Jr=4,Mn=1,Ln=2,Nt="[",Fn="[!",Ct="]",oe={},E=Symbol(),Qr="http://www.w3.org/1999/xhtml",es="@attach";function je(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function ts(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}let g=!1;function Re(e){g=e}let b;function $(e){if(e===null)throw je(),oe;return b=e}function ut(){return $(K(b))}function ns(e){if(g){if(K(b)!==null)throw je(),oe;b=e}}function rs(e=1){if(g){for(var t=e,n=b;t--;)n=K(n);b=n}}function ss(){for(var e=0,t=b;;){if(t.nodeType===Ie){var n=t.data;if(n===Ct){if(e===0)return t;e-=1}else(n===Nt||n===Fn)&&(e+=1)}var r=K(t);t.remove(),t=r}}function as(e){if(!e||e.nodeType!==Ie)throw je(),oe;return e.data}function It(e){return e===this.v}function Pt(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Dt(e){return!Pt(e,this.v)}let xe=!1;function is(){xe=!0}let y=null;function Pe(e){y=e}function jn(e){return qe().get(e)}function qn(e,t){return qe().set(e,t),t}function Vn(e){return qe().has(e)}function Yn(){return qe()}function Hn(e,t=!1,n){y={p:y,c:null,e:null,s:e,x:null,l:xe&&!t?{s:null,u:null,$:[]}:null}}function Un(e){var t=y,n=t.e;if(n!==null){t.e=null;for(var r of n)Zt(r)}return y=t.p,{}}function Se(){return!xe||y!==null&&y.l===null}function qe(e){return y===null&&pe(),y.c??=new Map(Bn(y)||void 0)}function Bn(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}const $n=new WeakMap;function Wn(e){var t=h;if(t===null)return p.f|=Z,e;if((t.f&nt)===0){if((t.f&kt)===0)throw!t.parent&&e instanceof Error&&Mt(e),e;t.b.error(e)}else lt(e,t)}function lt(e,t){for(;t!==null;){if((t.f&kt)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e instanceof Error&&Mt(e),e}function Mt(e){const t=$n.get(e);t&&($e(e,"message",{value:t.message}),$e(e,"stack",{value:t.stack}))}const Gn=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let me=[],Ee=[];function Lt(){var e=me;me=[],et(e)}function Ft(){var e=Ee;Ee=[],et(e)}function jt(e){me.length===0&&queueMicrotask(Lt),me.push(e)}function us(e){Ee.length===0&&Gn(Ft),Ee.push(e)}function Kn(){me.length>0&&Lt(),Ee.length>0&&Ft()}function zn(){const e=h.b;return e===null&&An(),e}function ft(e){var t=k|C,n=p!==null&&(p.f&k)!==0?p:null;return h===null||n!==null&&(n.f&R)!==0?t|=R:h.f|=Ae,{ctx:y,deps:null,effects:null,equals:It,f:t,fn:e,reactions:null,rv:0,v:E,wv:0,parent:n??h,ac:null}}function Xn(e,t){let n=h;n===null&&xn();var r=n.b,s=void 0,a=ct(E),i=null,f=!p;return ir(()=>{try{var u=e();i&&Promise.resolve(u).catch(()=>{})}catch(_){u=Promise.reject(_)}var l=()=>u;s=i?.then(l,l)??Promise.resolve(u),i=s;var o=w,c=r.is_pending();f&&(r.update_pending_count(1),c||o.increment());const v=(_,d=void 0)=>{i=null,c||o.activate(),d?d!==at&&(a.f|=Z,Me(a,d)):((a.f&Z)!==0&&(a.f^=Z),Me(a,_)),f&&(r.update_pending_count(-1),c||o.decrement()),Yt()};if(s.then(v,_=>v(null,_||"unknown")),o)return()=>{queueMicrotask(()=>o.neuter())}}),new Promise(u=>{function l(o){function c(){o===s?u(a):l(s)}o.then(c,c)}l(s)})}function ls(e){const t=ft(e);return an(t),t}function Zn(e){const t=ft(e);return t.equals=Dt,t}function qt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)W(t[n])}}function Jn(e){for(var t=e.parent;t!==null;){if((t.f&k)===0)return t;t=t.parent}return null}function ot(e){var t,n=h;G(Jn(e));try{qt(e),t=on(e)}finally{G(n)}return t}function Vt(e){var t=ot(e);if(e.equals(t)||(e.v=t,e.wv=ln()),!he){var n=(H||(e.f&R)!==0)&&e.deps!==null?j:m;x(e,n)}}function Qn(e,t,n){const r=Se()?ft:Zn;if(t.length===0){n(e.map(r));return}var s=w,a=h,i=er(),f=zn();Promise.all(t.map(u=>Xn(u))).then(u=>{s?.activate(),i();try{n([...e.map(r),...u])}catch(l){(a.f&de)===0&<(l,a)}s?.deactivate(),Yt()}).catch(u=>{f.error(u)})}function er(){var e=h,t=p,n=y,r=w;return function(){G(e),D(t),Pe(n),r?.activate()}}function Yt(){G(null),D(null),Pe(null)}const He=new Set;let w=null,Ue=null,ht=new Set,De=[];function Ht(){const e=De.shift();De.length>0&&queueMicrotask(Ht),e()}let te=[],Ve=null,Ge=!1,Ne=!1;class ne{current=new Map;#l=new Map;#s=new Set;#e=0;#f=null;#o=!1;#n=[];#a=[];#r=[];#t=[];#i=[];#c=[];#_=[];skipped_effects=new Set;process(t){te=[],Ue=null;for(const s of t)this.#d(s);if(this.#n.length===0&&this.#e===0){this.#v();var n=this.#r,r=this.#t;this.#r=[],this.#t=[],this.#i=[],Ue=w,w=null,yt(n),yt(r),w===null?w=this:He.delete(this),this.#f?.resolve()}else this.#u(this.#r),this.#u(this.#t),this.#u(this.#i);for(const s of this.#n)ee(s);for(const s of this.#a)ee(s);this.#n=[],this.#a=[]}#d(t){t.f^=m;for(var n=t.first;n!==null;){var r=n.f,s=(r&(F|se))!==0,a=s&&(r&m)!==0,i=a||(r&B)!==0||this.skipped_effects.has(n);if(!i&&n.fn!==null){if(s)n.f^=m;else if((r&tt)!==0)this.#t.push(n);else if((r&m)===0)if((r&st)!==0){var f=n.b?.is_pending()?this.#a:this.#n;f.push(n)}else ke(n)&&((n.f&ve)!==0&&this.#i.push(n),ee(n));var u=n.first;if(u!==null){n=u;continue}}var l=n.parent;for(n=n.next;n===null&&l!==null;)n=l.next,l=l.parent}}#u(t){for(const n of t)((n.f&C)!==0?this.#c:this.#_).push(n),x(n,m);t.length=0}capture(t,n){this.#l.has(t)||this.#l.set(t,n),this.current.set(t,t.v)}activate(){w=this}deactivate(){w=null,Ue=null;for(const t of ht)if(ht.delete(t),t(),w!==null)break}neuter(){this.#o=!0}flush(){te.length>0?Ke():this.#v(),w===this&&(this.#e===0&&He.delete(this),this.deactivate())}#v(){if(!this.#o)for(const t of this.#s)t();this.#s.clear()}increment(){this.#e+=1}decrement(){if(this.#e-=1,this.#e===0){for(const t of this.#c)x(t,C),_e(t);for(const t of this.#_)x(t,j),_e(t);this.#r=[],this.#t=[],this.flush()}else this.deactivate()}add_callback(t){this.#s.add(t)}settled(){return(this.#f??=En()).promise}static ensure(){if(w===null){const t=w=new ne;He.add(w),Ne||ne.enqueue(()=>{w===t&&t.flush()})}return w}static enqueue(t){De.length===0&&queueMicrotask(Ht),De.unshift(t)}}function Ut(e){var t=Ne;Ne=!0;try{var n;for(e&&(Ke(),n=e());;){if(Kn(),te.length===0&&(w?.flush(),te.length===0))return Ve=null,n;Ke()}}finally{Ne=t}}function Ke(){var e=ce;Ge=!0;try{var t=0;for(mt(!0);te.length>0;){var n=ne.ensure();if(t++>1e3){var r,s;tr()}n.process(te),U.clear()}}finally{Ge=!1,mt(e),Ve=null}}function tr(){try{Rn()}catch(e){lt(e,Ve)}}let z=null;function yt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(de|B))===0&&ke(r)&&(z=[],ee(r),r.deps===null&&r.first===null&&r.nodes_start===null&&(r.teardown===null&&r.ac===null?nn(r):r.fn=null),z?.length>0)){U.clear();for(const s of z)ee(s);z=[]}}z=null}}function _e(e){for(var t=Ve=e;t.parent!==null;){t=t.parent;var n=t.f;if(Ge&&t===h&&(n&ve)!==0)return;if((n&(se|F))!==0){if((n&m)===0)return;t.f^=m}}te.push(t)}const U=new Map;function ct(e,t){var n={f:0,v:e,reactions:null,equals:It,rv:0,wv:0};return n}function V(e,t){const n=ct(e);return an(n),n}function fs(e,t=!1,n=!0){const r=ct(e);return t||(r.equals=Dt),xe&&n&&y!==null&&y.l!==null&&(y.l.s??=[]).push(r),r}function Y(e,t,n=!1){p!==null&&(!I||(p.f&pt)!==0)&&Se()&&(p.f&(k|ve|st|pt))!==0&&!L?.includes(e)&&Dn();let r=n?be(t):t;return Me(e,r)}function Me(e,t){if(!e.equals(t)){var n=e.v;he?U.set(e,t):U.set(e,n),e.v=t;var r=ne.ensure();r.capture(e,n),(e.f&k)!==0&&((e.f&C)!==0&&ot(e),x(e,(e.f&R)===0?m:j)),e.wv=ln(),Bt(e,C),Se()&&h!==null&&(h.f&m)!==0&&(h.f&(F|se))===0&&(O===null?vr([e]):O.push(e))}return t}function os(e,t=1){var n=fe(e),r=t===1?n++:n--;return Y(e,n),r}function Be(e){Y(e,e.v+1)}function Bt(e,t){var n=e.reactions;if(n!==null)for(var r=Se(),s=n.length,a=0;a<s;a++){var i=n[a],f=i.f;if(!(!r&&i===h)){var u=(f&C)===0;u&&x(i,t),(f&k)!==0?Bt(i,j):u&&((f&ve)!==0&&z!==null&&z.push(i),_e(i))}}}function be(e){if(typeof e!="object"||e===null||J in e)return e;const t=St(e);if(t!==wn&&t!==mn)return e;var n=new Map,r=Qe(e),s=V(0),a=Q,i=f=>{if(Q===a)return f();var u=p,l=Q;D(null),Tt(a);var o=f();return D(u),Tt(l),o};return r&&n.set("length",V(e.length)),new Proxy(e,{defineProperty(f,u,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&In();var o=n.get(u);return o===void 0?o=i(()=>{var c=V(l.value);return n.set(u,c),c}):Y(o,l.value,!0),!0},deleteProperty(f,u){var l=n.get(u);if(l===void 0){if(u in f){const o=i(()=>V(E));n.set(u,o),Be(s)}}else Y(l,E),Be(s);return!0},get(f,u,l){if(u===J)return e;var o=n.get(u),c=u in f;if(o===void 0&&(!c||we(f,u)?.writable)&&(o=i(()=>{var _=be(c?f[u]:E),d=V(_);return d}),n.set(u,o)),o!==void 0){var v=fe(o);return v===E?void 0:v}return Reflect.get(f,u,l)},getOwnPropertyDescriptor(f,u){var l=Reflect.getOwnPropertyDescriptor(f,u);if(l&&"value"in l){var o=n.get(u);o&&(l.value=fe(o))}else if(l===void 0){var c=n.get(u),v=c?.v;if(c!==void 0&&v!==E)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return l},has(f,u){if(u===J)return!0;var l=n.get(u),o=l!==void 0&&l.v!==E||Reflect.has(f,u);if(l!==void 0||h!==null&&(!o||we(f,u)?.writable)){l===void 0&&(l=i(()=>{var v=o?be(f[u]):E,_=V(v);return _}),n.set(u,l));var c=fe(l);if(c===E)return!1}return o},set(f,u,l,o){var c=n.get(u),v=u in f;if(r&&u==="length")for(var _=l;_<c.v;_+=1){var d=n.get(_+"");d!==void 0?Y(d,E):_ in f&&(d=i(()=>V(E)),n.set(_+"",d))}if(c===void 0)(!v||we(f,u)?.writable)&&(c=i(()=>V(void 0)),Y(c,be(l)),n.set(u,c));else{v=c.v!==E;var T=i(()=>be(l));Y(c,T)}var ae=Reflect.getOwnPropertyDescriptor(f,u);if(ae?.set&&ae.set.call(o,l),!v){if(r&&typeof u=="string"){var Oe=n.get("length"),q=Number(u);Number.isInteger(q)&&q>=Oe.v&&Y(Oe,q+1)}Be(s)}return!0},ownKeys(f){fe(s);var u=Reflect.ownKeys(f).filter(c=>{var v=n.get(c);return v===void 0||v.v!==E});for(var[l,o]of n)o.v!==E&&!(l in f)&&u.push(l);return u},setPrototypeOf(){Pn()}})}function bt(e){try{if(e!==null&&typeof e=="object"&&J in e)return e[J]}catch{}return e}function cs(e,t){return Object.is(bt(e),bt(t))}var gt,$t,Wt,Gt;function ze(){if(gt===void 0){gt=window,$t=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Wt=we(t,"firstChild").get,Gt=we(t,"nextSibling").get,dt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),dt(n)&&(n.__t=void 0)}}function re(e=""){return document.createTextNode(e)}function P(e){return Wt.call(e)}function K(e){return Gt.call(e)}function _s(e,t){if(!g)return P(e);var n=P(b);if(n===null)n=b.appendChild(re());else if(t&&n.nodeType!==it){var r=re();return n?.before(r),$(r),r}return $(n),n}function vs(e,t){if(!g){var n=P(e);return n instanceof Comment&&n.data===""?K(n):n}return b}function ds(e,t=1,n=!1){let r=g?b:e;for(var s;t--;)s=r,r=K(r);if(!g)return r;if(n&&r?.nodeType!==it){var a=re();return r===null?s?.after(a):r.before(a),$(a),a}return $(r),r}function Kt(e){e.textContent=""}function ps(){return!1}function hs(e,t){if(t){const n=document.body;e.autofocus=!0,jt(()=>{document.activeElement===n&&e.focus()})}}function ys(e){g&&P(e)!==null&&Kt(e)}let wt=!1;function nr(){wt||(wt=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function Ye(e){var t=p,n=h;D(null),G(null);try{return e()}finally{D(t),G(n)}}function bs(e,t,n,r=n){e.addEventListener(t,()=>Ye(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),nr()}function zt(e){h===null&&p===null&&On(),p!==null&&(p.f&R)!==0&&h===null&&kn(),he&&Sn()}function rr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function M(e,t,n,r=!0){var s=h;s!==null&&(s.f&B)!==0&&(e|=B);var a={ctx:y,deps:null,nodes_start:null,nodes_end:null,f:e|C,first:null,fn:t,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{ee(a),a.f|=nt}catch(u){throw W(a),u}else t!==null&&_e(a);if(r){var i=a;if(n&&i.deps===null&&i.teardown===null&&i.nodes_start===null&&i.first===i.last&&(i.f&Ae)===0&&(i=i.first),i!==null&&(i.parent=s,s!==null&&rr(i,s),p!==null&&(p.f&k)!==0&&(e&se)===0)){var f=p;(f.effects??=[]).push(i)}}return a}function Xt(e){const t=M(Fe,null,!1);return x(t,m),t.teardown=e,t}function sr(e){zt();var t=h.f,n=!p&&(t&F)!==0&&(t&nt)===0;if(n){var r=y;(r.e??=[]).push(e)}else return Zt(e)}function Zt(e){return M(tt|Ot,e,!1)}function gs(e){return zt(),M(Fe|Ot,e,!0)}function ar(e){ne.ensure();const t=M(se|Ae,e,!0);return(n={})=>new Promise(r=>{n.outro?or(t,()=>{W(t),r(void 0)}):(W(t),r(void 0))})}function ws(e){return M(tt,e,!1)}function ms(e,t){var n=y,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Jt(()=>{e(),!r.ran&&(r.ran=!0,ye(t))})}function Es(){var e=y;Jt(()=>{for(var t of e.l.$){t.deps();var n=t.effect;(n.f&m)!==0&&x(n,j),ke(n)&&ee(n),t.ran=!1}})}function ir(e){return M(st|Ae,e,!0)}function Jt(e,t=0){return M(Fe|t,e,!0)}function Ts(e,t=[],n=[]){Qn(t,n,r=>{M(Fe,()=>e(...r.map(fe)),!0)})}function ur(e,t=0){var n=M(ve|t,e,!0);return n}function Qt(e,t=!0){return M(F|Ae,e,!0,t)}function en(e){var t=e.teardown;if(t!==null){const n=he,r=p;Et(!0),D(null);try{t.call(null)}finally{Et(n),D(r)}}}function tn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Ye(()=>{s.abort(at)});var r=n.next;(n.f&se)!==0?n.parent=null:W(n,t),n=r}}function lr(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&F)===0&&W(t),t=n}}function W(e,t=!0){var n=!1;(t||(e.f&Tn)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(fr(e.nodes_start,e.nodes_end),n=!0),tn(e,t&&!n),Le(e,0),x(e,de);var r=e.transitions;if(r!==null)for(const a of r)a.stop();en(e);var s=e.parent;s!==null&&s.first!==null&&nn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function fr(e,t){for(;e!==null;){var n=e===t?null:K(e);e.remove(),e=n}}function nn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function or(e,t){var n=[];rn(e,n,!0),cr(n,()=>{W(e),t&&t()})}function cr(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var s of e)s.out(r)}else t()}function rn(e,t,n){if((e.f&B)===0){if(e.f^=B,e.transitions!==null)for(const i of e.transitions)(i.is_global||n)&&t.push(i);for(var r=e.first;r!==null;){var s=r.next,a=(r.f&rt)!==0||(r.f&F)!==0;rn(r,t,a?n:!1),r=s}}}function As(e){sn(e,!0)}function sn(e,t){if((e.f&B)!==0){e.f^=B,(e.f&m)===0&&(x(e,C),_e(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&rt)!==0||(n.f&F)!==0;sn(n,s?t:!1),n=r}if(e.transitions!==null)for(const a of e.transitions)(a.is_global||t)&&a.in()}}let le=null;function _r(e){var t=le;try{if(le=new Set,ye(e),t!==null)for(var n of le)t.add(n);return le}finally{le=t}}function xs(e){for(var t of _r(e))Me(t,t.v)}let ce=!1;function mt(e){ce=e}let he=!1;function Et(e){he=e}let p=null,I=!1;function D(e){p=e}let h=null;function G(e){h=e}let L=null;function an(e){p!==null&&(L===null?L=[e]:L.push(e))}let A=null,S=0,O=null;function vr(e){O=e}let un=1,Te=0,Q=Te;function Tt(e){Q=e}let H=!1;function ln(){return++un}function ke(e){var t=e.f;if((t&C)!==0)return!0;if((t&j)!==0){var n=e.deps,r=(t&R)!==0;if(n!==null){var s,a,i=(t&Ce)!==0,f=r&&h!==null&&!H,u=n.length;if((i||f)&&(h===null||(h.f&de)===0)){var l=e,o=l.parent;for(s=0;s<u;s++)a=n[s],(i||!a?.reactions?.includes(l))&&(a.reactions??=[]).push(l);i&&(l.f^=Ce),f&&o!==null&&(o.f&R)===0&&(l.f^=R)}for(s=0;s<u;s++)if(a=n[s],ke(a)&&Vt(a),a.wv>e.wv)return!0}(!r||h!==null&&!H)&&x(e,m)}return!1}function fn(e,t,n=!0){var r=e.reactions;if(r!==null&&!L?.includes(e))for(var s=0;s<r.length;s++){var a=r[s];(a.f&k)!==0?fn(a,t,!1):t===a&&(n?x(a,C):(a.f&m)!==0&&x(a,j),_e(a))}}function on(e){var t=A,n=S,r=O,s=p,a=H,i=L,f=y,u=I,l=Q,o=e.f;A=null,S=0,O=null,H=(o&R)!==0&&(I||!ce||p===null),p=(o&(F|se))===0?e:null,L=null,Pe(e.ctx),I=!1,Q=++Te,e.ac!==null&&(Ye(()=>{e.ac.abort(at)}),e.ac=null);try{e.f|=We;var c=e.fn,v=c(),_=e.deps;if(A!==null){var d;if(Le(e,S),_!==null&&S>0)for(_.length=S+A.length,d=0;d<A.length;d++)_[S+d]=A[d];else e.deps=_=A;if(!H||(o&k)!==0&&e.reactions!==null)for(d=S;d<_.length;d++)(_[d].reactions??=[]).push(e)}else _!==null&&S<_.length&&(Le(e,S),_.length=S);if(Se()&&O!==null&&!I&&_!==null&&(e.f&(k|j|C))===0)for(d=0;d<O.length;d++)fn(O[d],e);return s!==null&&s!==e&&(Te++,O!==null&&(r===null?r=O:r.push(...O))),(e.f&Z)!==0&&(e.f^=Z),v}catch(T){return Wn(T)}finally{e.f^=We,A=t,S=n,O=r,p=s,H=a,L=i,Pe(f),I=u,Q=l}}function dr(e,t){let n=t.reactions;if(n!==null){var r=yn.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}n===null&&(t.f&k)!==0&&(A===null||!A.includes(t))&&(x(t,j),(t.f&(R|Ce))===0&&(t.f^=Ce),qt(t),Le(t,0))}function Le(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)dr(e,n[r])}function ee(e){var t=e.f;if((t&de)===0){x(e,m);var n=h,r=ce;h=e,ce=!0;try{(t&ve)!==0?lr(e):tn(e),en(e);var s=on(e);e.teardown=typeof s=="function"?s:null,e.wv=un;var a}finally{ce=r,h=n}}}async function pr(){await Promise.resolve(),Ut()}function hr(){return ne.ensure().settled()}function fe(e){var t=e.f,n=(t&k)!==0;if(le?.add(e),p!==null&&!I){var r=h!==null&&(h.f&de)!==0;if(!r&&!L?.includes(e)){var s=p.deps;if((p.f&We)!==0)e.rv<Te&&(e.rv=Te,A===null&&s!==null&&s[S]===e?S++:A===null?A=[e]:(!H||!A.includes(e))&&A.push(e));else{(p.deps??=[]).push(e);var a=e.reactions;a===null?e.reactions=[p]:a.includes(p)||a.push(p)}}}else if(n&&e.deps===null&&e.effects===null){var i=e,f=i.parent;f!==null&&(f.f&R)===0&&(i.f^=R)}if(he){if(U.has(e))return U.get(e);if(n){i=e;var u=i.v;return((i.f&m)===0&&i.reactions!==null||cn(i))&&(u=ot(i)),U.set(i,u),u}}else n&&(i=e,ke(i)&&Vt(i));if((e.f&Z)!==0)throw e.v;return e.v}function cn(e){if(e.v===E)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(U.has(t)||(t.f&k)!==0&&cn(t))return!0;return!1}function ye(e){var t=I;try{return I=!0,e()}finally{I=t}}const yr=-7169;function x(e,t){e.f=e.f&yr|t}function Ss(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(J in e)Xe(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&J in n&&Xe(n)}}}function Xe(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{Xe(e[r],t)}catch{}const n=St(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=gn(n);for(let s in r){const a=r[s].get;if(a)try{a.call(e)}catch{}}}}}function ks(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const br=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Os(e){return br.includes(e)}const gr={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Rs(e){return e=e.toLowerCase(),gr[e]??e}const wr=["touchstart","touchmove"];function mr(e){return wr.includes(e)}const _n=new Set,Ze=new Set;function Er(e,t,n,r={}){function s(a){if(r.capture||ge.call(t,a),!a.cancelBubble)return Ye(()=>n?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?jt(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Ns(e,t,n,r,s){var a={capture:r,passive:s},i=Er(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Xt(()=>{t.removeEventListener(e,i,a)})}function Cs(e){for(var t=0;t<e.length;t++)_n.add(e[t]);for(var n of Ze)n(e)}let At=null;function ge(e){var t=this,n=t.ownerDocument,r=e.type,s=e.composedPath?.()||[],a=s[0]||e.target;At=e;var i=0,f=At===e&&e.__root;if(f){var u=s.indexOf(f);if(u!==-1&&(t===document||t===window)){e.__root=t;return}var l=s.indexOf(t);if(l===-1)return;u<=l&&(i=u)}if(a=s[i]||e.target,a!==t){$e(e,"currentTarget",{configurable:!0,get(){return a||n}});var o=p,c=h;D(null),G(null);try{for(var v,_=[];a!==null;){var d=a.assignedSlot||a.parentNode||a.host||null;try{var T=a["__"+r];if(T!=null&&(!a.disabled||e.target===a))if(Qe(T)){var[ae,...Oe]=T;ae.apply(a,[e,...Oe])}else T.call(a,e)}catch(q){v?_.push(q):v=q}if(e.cancelBubble||d===t||d===null)break;a=d}if(v){for(let q of _)queueMicrotask(()=>{throw q});throw v}}finally{e.__root=t,delete e.currentTarget,D(o),G(c)}}}function _t(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("<!>","<!---->"),t.content}function N(e,t){var n=h;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function Is(e,t){var n=(t&Mn)!==0,r=(t&Ln)!==0,s,a=!e.startsWith("<!>");return()=>{if(g)return N(b,null),b;s===void 0&&(s=_t(a?e:"<!>"+e),n||(s=P(s)));var i=r||$t?document.importNode(s,!0):s.cloneNode(!0);if(n){var f=P(i),u=i.lastChild;N(f,u)}else N(i,i);return i}}function Tr(e,t,n="svg"){var r=!e.startsWith("<!>"),s=`<${n}>${r?e:"<!>"+e}</${n}>`,a;return()=>{if(g)return N(b,null),b;if(!a){var i=_t(s),f=P(i);a=P(f)}var u=a.cloneNode(!0);return N(u,u),u}}function Ps(e,t){return Tr(e,t,"svg")}function Ds(e=""){if(!g){var t=re(e+"");return N(t,t),t}var n=b;return n.nodeType!==it&&(n.before(n=re()),$(n)),N(n,n),n}function Ms(){if(g)return N(b,null),b;var e=document.createDocumentFragment(),t=document.createComment(""),n=re();return e.append(t,n),N(t,n),e}function Ls(e,t){if(g){h.nodes_end=b,ut();return}e!==null&&e.before(t)}let xt=!0;function Fs(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=n+"")}function vn(e,t){return dn(e,t)}function Ar(e,t){ze(),t.intro=t.intro??!1;const n=t.target,r=g,s=b;try{for(var a=P(n);a&&(a.nodeType!==Ie||a.data!==Nt);)a=K(a);if(!a)throw oe;Re(!0),$(a),ut();const i=dn(e,{...t,anchor:a});if(b===null||b.nodeType!==Ie||b.data!==Ct)throw je(),oe;return Re(!1),i}catch(i){if(i instanceof Error&&i.message.split(`
|
|
2
|
-
`).some(f=>f.startsWith("https://svelte.dev/e/")))throw i;return i!==oe&&console.warn("Failed to hydrate: ",i),t.recover===!1&&Cn(),ze(),Kt(n),Re(!1),vn(e,t)}finally{Re(r),$(s)}}const ie=new Map;function dn(e,{target:t,anchor:n,props:r={},events:s,context:a,intro:i=!0}){ze();var f=new Set,u=c=>{for(var v=0;v<c.length;v++){var _=c[v];if(!f.has(_)){f.add(_);var d=mr(_);t.addEventListener(_,ge,{passive:d});var T=ie.get(_);T===void 0?(document.addEventListener(_,ge,{passive:d}),ie.set(_,1)):ie.set(_,T+1)}}};u(bn(_n)),Ze.add(u);var l=void 0,o=ar(()=>{var c=n??t.appendChild(re());return Qt(()=>{if(a){Hn({});var v=y;v.c=a}s&&(r.$$events=s),g&&N(c,null),xt=i,l=e(c,r)||{},xt=!0,g&&(h.nodes_end=b),a&&Un()}),()=>{for(var v of f){t.removeEventListener(v,ge);var _=ie.get(v);--_===0?(document.removeEventListener(v,ge),ie.delete(v)):ie.set(v,_)}Ze.delete(u),c!==n&&c.parentNode?.removeChild(c)}});return Je.set(l,o),l}let Je=new WeakMap;function xr(e,t){const n=Je.get(e);return n?(Je.delete(e),n(t)):Promise.resolve()}function js(e,t,...n){var r=e,s=X,a;ur(()=>{s!==(s=t())&&(a&&(W(a),a=null),a=Qt(()=>s(r,...n)))},rt),g&&(r=b)}function Sr(e){return(t,...n)=>{var r=e(...n),s;if(g)s=b,ut();else{var a=r.render().trim(),i=_t(a);s=P(i),t.before(s)}const f=r.setup?.(s);N(s,s),typeof f=="function"&&Xt(f)}}function pn(e,t,n){if(e==null)return t(void 0),n&&n(void 0),X;const r=ye(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const ue=[];function kr(e,t){return{subscribe:Or(e,t).subscribe}}function Or(e,t=X){let n=null;const r=new Set;function s(f){if(Pt(e,f)&&(e=f,n)){const u=!ue.length;for(const l of r)l[1](),ue.push(l,e);if(u){for(let l=0;l<ue.length;l+=2)ue[l][0](ue[l+1]);ue.length=0}}}function a(f){s(f(e))}function i(f,u=X){const l=[f,u];return r.add(l),r.size===1&&(n=t(s,a)||X),f(e),()=>{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:s,update:a,subscribe:i}}function qs(e,t,n){const r=!Array.isArray(e),s=r?[e]:e;if(!s.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const a=t.length<2;return kr(n,(i,f)=>{let u=!1;const l=[];let o=0,c=X;const v=()=>{if(o)return;c();const d=t(r?l[0]:l,i,f);a?i(d):c=typeof d=="function"?d:X},_=s.map((d,T)=>pn(d,ae=>{l[T]=ae,o&=~(1<<T),u&&v()},()=>{o|=1<<T}));return u=!0,v(),function(){et(_),c(),u=!1}})}function Vs(e){let t;return pn(e,n=>t=n)(),t}function Rr(){return p===null&&Nn(),(p.ac??=new AbortController).signal}function hn(e){y===null&&pe(),xe&&y.l!==null?vt(y).m.push(e):sr(()=>{const t=ye(e);if(typeof t=="function")return t})}function Nr(e){y===null&&pe(),hn(()=>()=>ye(e))}function Cr(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function Ir(){const e=y;return e===null&&pe(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const a=Qe(s)?s.slice():[s],i=Cr(t,n,r);for(const f of a)f.call(e.x,i);return!i.defaultPrevented}return!0}}function Pr(e){y===null&&pe(),y.l===null&&Rt(),vt(y).b.push(e)}function Dr(e){y===null&&pe(),y.l===null&&Rt(),vt(y).a.push(e)}function vt(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const Ys=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:Dr,beforeUpdate:Pr,createEventDispatcher:Ir,createRawSnippet:Sr,flushSync:Ut,getAbortSignal:Rr,getAllContexts:Yn,getContext:jn,hasContext:Vn,hydrate:Ar,mount:vn,onDestroy:Nr,onMount:hn,setContext:qn,settled:hr,tick:pr,unmount:xr,untrack:ye},Symbol.toStringTag,{value:"Module"}));export{zr as $,or as A,y as B,gs as C,et as D,rt as E,Lr as F,Ss as G,ft as H,is as I,Ts as J,Fs as K,as as L,Fn as M,ss as N,$ as O,Re as P,As as Q,X as R,J as S,fs as T,E as U,pn as V,Vs as W,Xt as X,$e as Y,we as Z,Yr as _,vs as a,Os as a$,Zn as a0,be as a1,he as a2,h as a3,de as a4,Xr as a5,xe as a6,Kr as a7,Gr as a8,Zr as a9,Ur as aA,Br as aB,bn as aC,Qe as aD,Me as aE,B as aF,W as aG,Wr as aH,$r as aI,K as aJ,rn as aK,Kt as aL,cr as aM,ts as aN,cs as aO,bs as aP,Qn as aQ,es as aR,ks as aS,Er as aT,hs as aU,Rs as aV,Qr as aW,St as aX,qr as aY,us as aZ,nr as a_,jr as aa,ct as ab,os as ac,G as ad,ms as ae,Es as af,Ps as ag,Ir as ah,Ns as ai,xs as aj,Ms as ak,ls as al,Ds as am,Fr as an,Ar as ao,vn as ap,Ut as aq,xr as ar,pr as as,Cs as at,Nr as au,js as av,P as aw,Ie as ax,Ct as ay,Hr as az,Ls as b,gn as b0,Ue as b1,Or as b2,xt as b3,ve as b4,nt as b5,Jr as b6,Ye as b7,Mr as b8,qs as b9,fr as ba,je as bb,oe as bc,N as bd,_t as be,ys as bf,Ys as bg,_s as c,Y as d,Un as e,Is as f,V as g,fe as h,ws as i,Jt as j,ye as k,g as l,ut as m,rs as n,hn as o,Hn as p,jt as q,ns as r,ds as s,ur as t,sr as u,re as v,Qt as w,w as x,ps as y,b as z};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{O as K,l as k,aw as Ne,v as de,m as Me,t as ae,h as te,a0 as Oe,L as We,M as Ie,N as ie,P as R,z as D,ax as De,ay as Le,w as H,y as Pe,az as B,aA as J,x as W,aB as ve,aC as he,aD as pe,T as Re,ab as oe,aE as le,Q as we,A as $e,aF as X,q as He,aG as U,aH as Ue,aI as qe,aJ as Fe,aK as Ve,aL as Ye,aM as Be,a3 as Je,i as ne,aN as ze,aO as Ge,X as Ke,aP as se,aQ as Xe,aR as Qe,aS as Ze,aT as je,at as xe,aU as et,aV as tt,U as rt,aW as at,aX as nt,aY as st,aZ as it,a_ as ot,a$ as lt,b0 as ct,as as ft,k as be,j as _e,b1 as ut,b2 as dt}from"./BJF-sFqz.js";function mt(e,t){return t}function vt(e,t,r){for(var a=e.items,n=[],s=t.length,i=0;i<s;i++)Ve(t[i].e,n,!0);var l=s>0&&n.length===0&&r!==null;if(l){var g=r.parentNode;Ye(g),g.append(r),a.clear(),T(e,t[0].prev,t[s-1].next)}Be(n,()=>{for(var d=0;d<s;d++){var S=t[d];l||(a.delete(S.k),T(e,S.prev,S.next)),U(S.e,!l)}})}function Tt(e,t,r,a,n,s=null){var i=e,l={flags:t,items:new Map,first:null},g=(t&ve)!==0;if(g){var d=e;i=k?K(Ne(d)):d.appendChild(de())}k&&Me();var S=null,y=!1,w=new Map,E=Oe(()=>{var h=r();return pe(h)?h:h==null?[]:he(h)}),f,u;function _(){ht(u,f,l,w,i,n,t,a,r),s!==null&&(f.length===0?S?we(S):S=H(()=>s(i)):S!==null&&$e(S,()=>{S=null}))}ae(()=>{u??=Je,f=te(E);var h=f.length;if(y&&h===0)return;y=h===0;let C=!1;if(k){var v=We(i)===Ie;v!==(h===0)&&(i=ie(),K(i),R(!1),C=!0)}if(k){for(var p=null,b,o=0;o<h;o++){if(D.nodeType===De&&D.data===Le){i=D,C=!0,R(!1);break}var c=f[o],A=a(c,o);b=re(D,l,p,null,c,A,o,n,t,r),l.items.set(A,b),p=b}h>0&&K(ie())}if(k)h===0&&s&&(S=H(()=>s(i)));else if(Pe()){var M=new Set,q=W;for(o=0;o<h;o+=1){c=f[o],A=a(c,o);var O=l.items.get(A)??w.get(A);O?(t&(B|J))!==0&&Se(O,c,o,t):(b=re(null,l,null,null,c,A,o,n,t,r,!0),w.set(A,b)),M.add(A)}for(const[m,F]of l.items)M.has(m)||q.skipped_effects.add(F.e);q.add_callback(_)}else _();C&&R(!0),te(E)}),k&&(i=D)}function ht(e,t,r,a,n,s,i,l,g){var d=(i&qe)!==0,S=(i&(B|J))!==0,y=t.length,w=r.items,E=r.first,f=E,u,_=null,h,C=[],v=[],p,b,o,c;if(d)for(c=0;c<y;c+=1)p=t[c],b=l(p,c),o=w.get(b),o!==void 0&&(o.a?.measure(),(h??=new Set).add(o));for(c=0;c<y;c+=1){if(p=t[c],b=l(p,c),o=w.get(b),o===void 0){var A=a.get(b);if(A!==void 0){a.delete(b),w.set(b,A);var M=_?_.next:f;T(r,_,A),T(r,A,M),Q(A,M,n),_=A}else{var q=f?f.e.nodes_start:n;_=re(q,r,_,_===null?r.first:_.next,p,b,c,s,i,g)}w.set(b,_),C=[],v=[],f=_.next;continue}if(S&&Se(o,p,c,i),(o.e.f&X)!==0&&(we(o.e),d&&(o.a?.unfix(),(h??=new Set).delete(o))),o!==f){if(u!==void 0&&u.has(o)){if(C.length<v.length){var O=v[0],m;_=O.prev;var F=C[0],z=C[C.length-1];for(m=0;m<C.length;m+=1)Q(C[m],O,n);for(m=0;m<v.length;m+=1)u.delete(v[m]);T(r,F.prev,z.next),T(r,_,F),T(r,z,O),f=O,_=z,c-=1,C=[],v=[]}else u.delete(o),Q(o,f,n),T(r,o.prev,o.next),T(r,o,_===null?r.first:_.next),T(r,_,o),_=o;continue}for(C=[],v=[];f!==null&&f.k!==b;)(f.e.f&X)===0&&(u??=new Set).add(f),v.push(f),f=f.next;if(f===null)continue;o=f}C.push(o),_=o,f=o.next}if(f!==null||u!==void 0){for(var I=u===void 0?[]:he(u);f!==null;)(f.e.f&X)===0&&I.push(f),f=f.next;var G=I.length;if(G>0){var me=(i&ve)!==0&&y===0?n:null;if(d){for(c=0;c<G;c+=1)I[c].a?.measure();for(c=0;c<G;c+=1)I[c].a?.fix()}vt(r,I,me)}}d&&He(()=>{if(h!==void 0)for(o of h)o.a?.apply()}),e.first=r.first&&r.first.e,e.last=_&&_.e;for(var Te of a.values())U(Te.e);a.clear()}function Se(e,t,r,a){(a&B)!==0&&le(e.v,t),(a&J)!==0?le(e.i,r):e.i=r}function re(e,t,r,a,n,s,i,l,g,d,S){var y=(g&B)!==0,w=(g&Ue)===0,E=y?w?Re(n,!1,!1):oe(n):n,f=(g&J)===0?i:oe(i),u={i:f,v:E,k:s,a:null,e:null,prev:r,next:a};try{if(e===null){var _=document.createDocumentFragment();_.append(e=de())}return u.e=H(()=>l(e,E,f,d),k),u.e.prev=r&&r.e,u.e.next=a&&a.e,r===null?S||(t.first=u):(r.next=u,r.e.next=u.e),a!==null&&(a.prev=u,a.e.prev=u.e),u}finally{}}function Q(e,t,r){for(var a=e.next?e.next.e.nodes_start:r,n=t?t.e.nodes_start:r,s=e.e.nodes_start;s!==null&&s!==a;){var i=Fe(s);n.before(s),s=i}}function T(e,t,r){t===null?e.first=r:(t.next=r,t.e.next=r&&r.e),r!==null&&(r.prev=t,r.e.prev=t&&t.e)}function pt(e,t){var r=void 0,a;ae(()=>{r!==(r=t())&&(a&&(U(a),a=null),r&&(a=H(()=>{ne(()=>r(e))})))})}function ge(e){var t,r,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(r=ge(e[t]))&&(a&&(a+=" "),a+=r)}else for(r in e)e[r]&&(a&&(a+=" "),a+=r);return a}function wt(){for(var e,t,r=0,a="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=ge(e))&&(a&&(a+=" "),a+=t);return a}function bt(e){return typeof e=="object"?wt(e):e??""}const ce=[...`
|
|
2
|
-
\r\f \v\uFEFF`];function _t(e,t,r){var a=e==null?"":""+e;if(t&&(a=a?a+" "+t:t),r){for(var n in r)if(r[n])a=a?a+" "+n:n;else if(a.length)for(var s=n.length,i=0;(i=a.indexOf(n,i))>=0;){var l=i+s;(i===0||ce.includes(a[i-1]))&&(l===a.length||ce.includes(a[l]))?a=(i===0?"":a.substring(0,i))+a.substring(l+1):i=l}}return a===""?null:a}function fe(e,t=!1){var r=t?" !important;":";",a="";for(var n in e){var s=e[n];s!=null&&s!==""&&(a+=" "+n+": "+s+r)}return a}function Z(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function St(e,t){if(t){var r="",a,n;if(Array.isArray(t)?(a=t[0],n=t[1]):a=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,i=0,l=!1,g=[];a&&g.push(...Object.keys(a).map(Z)),n&&g.push(...Object.keys(n).map(Z));var d=0,S=-1;const u=e.length;for(var y=0;y<u;y++){var w=e[y];if(l?w==="/"&&e[y-1]==="*"&&(l=!1):s?s===w&&(s=!1):w==="/"&&e[y+1]==="*"?l=!0:w==='"'||w==="'"?s=w:w==="("?i++:w===")"&&i--,!l&&s===!1&&i===0){if(w===":"&&S===-1)S=y;else if(w===";"||y===u-1){if(S!==-1){var E=Z(e.substring(d,S).trim());if(!g.includes(E)){w!==";"&&y++;var f=e.substring(d,y).trim();r+=" "+f+";"}}d=y+1,S=-1}}}}return a&&(r+=fe(a)),n&&(r+=fe(n,!0)),r=r.trim(),r===""?null:r}return e==null?null:String(e)}function gt(e,t,r,a,n,s){var i=e.__className;if(k||i!==r||i===void 0){var l=_t(r,a,s);(!k||l!==e.getAttribute("class"))&&(l==null?e.removeAttribute("class"):t?e.className=l:e.setAttribute("class",l)),e.__className=r}else if(s&&n!==s)for(var g in s){var d=!!s[g];(n==null||d!==!!n[g])&&e.classList.toggle(g,d)}return s}function j(e,t={},r,a){for(var n in r){var s=r[n];t[n]!==s&&(r[n]==null?e.style.removeProperty(n):e.style.setProperty(n,s,a))}}function yt(e,t,r,a){var n=e.__style;if(k||n!==t){var s=St(t,a);(!k||s!==e.getAttribute("style"))&&(s==null?e.removeAttribute("style"):e.style.cssText=s),e.__style=t}else a&&(Array.isArray(a)?(j(e,r?.[0],a[0]),j(e,r?.[1],a[1],"important")):j(e,r,a));return a}function V(e,t,r=!1){if(e.multiple){if(t==null)return;if(!pe(t))return ze();for(var a of e.options)a.selected=t.includes($(a));return}for(a of e.options){var n=$(a);if(Ge(n,t)){a.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function ye(e){var t=new MutationObserver(()=>{V(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ke(()=>{t.disconnect()})}function Nt(e,t,r=t){var a=!0;se(e,"change",n=>{var s=n?"[selected]":":checked",i;if(e.multiple)i=[].map.call(e.querySelectorAll(s),$);else{var l=e.querySelector(s)??e.querySelector("option:not([disabled])");i=l&&$(l)}r(i)}),ne(()=>{var n=t();if(V(e,n,a),a&&n===void 0){var s=e.querySelector(":checked");s!==null&&(n=$(s),r(n))}e.__value=n,a=!1}),ye(e)}function $(e){return"__value"in e?e.__value:e.value}const L=Symbol("class"),P=Symbol("style"),Ce=Symbol("is custom element"),Ae=Symbol("is html");function Mt(e){if(k){var t=!1,r=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var a=e.value;Y(e,"value",null),e.value=a}if(e.hasAttribute("checked")){var n=e.checked;Y(e,"checked",null),e.checked=n}}};e.__on_r=r,it(r),ot()}}function Ct(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function Y(e,t,r,a){var n=ke(e);k&&(n[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||n[t]!==(n[t]=r)&&(t==="loading"&&(e[st]=r),r==null?e.removeAttribute(t):typeof r!="string"&&Ee(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function At(e,t,r,a,n=!1){var s=ke(e),i=s[Ce],l=!s[Ae];let g=k&&i;g&&R(!1);var d=t||{},S=e.tagName==="OPTION";for(var y in t)y in r||(r[y]=null);r.class?r.class=bt(r.class):r[L]&&(r.class=null),r[P]&&(r.style??=null);var w=Ee(e);for(const v in r){let p=r[v];if(S&&v==="value"&&p==null){e.value=e.__value="",d[v]=p;continue}if(v==="class"){var E=e.namespaceURI==="http://www.w3.org/1999/xhtml";gt(e,E,p,a,t?.[L],r[L]),d[v]=p,d[L]=r[L];continue}if(v==="style"){yt(e,p,t?.[P],r[P]),d[v]=p,d[P]=r[P];continue}var f=d[v];if(!(p===f&&!(p===void 0&&e.hasAttribute(v)))){d[v]=p;var u=v[0]+v[1];if(u!=="$$")if(u==="on"){const b={},o="$$"+v;let c=v.slice(2);var _=lt(c);if(Ze(c)&&(c=c.slice(0,-7),b.capture=!0),!_&&f){if(p!=null)continue;e.removeEventListener(c,d[o],b),d[o]=null}if(p!=null)if(_)e[`__${c}`]=p,xe([c]);else{let A=function(M){d[v].call(this,M)};d[o]=je(c,e,A,b)}else _&&(e[`__${c}`]=void 0)}else if(v==="style")Y(e,v,p);else if(v==="autofocus")et(e,!!p);else if(!i&&(v==="__value"||v==="value"&&p!=null))e.value=e.__value=p;else if(v==="selected"&&S)Ct(e,p);else{var h=v;l||(h=tt(h));var C=h==="defaultValue"||h==="defaultChecked";if(p==null&&!i&&!C)if(s[v]=null,h==="value"||h==="checked"){let b=e;const o=t===void 0;if(h==="value"){let c=b.defaultValue;b.removeAttribute(h),b.defaultValue=c,b.value=b.__value=o?c:null}else{let c=b.defaultChecked;b.removeAttribute(h),b.defaultChecked=c,b.checked=o?c:!1}}else e.removeAttribute(v);else C||w.includes(h)&&(i||typeof p!="string")?(e[h]=p,h in s&&(s[h]=rt)):typeof p!="function"&&Y(e,h,p)}}}return g&&R(!0),d}function Ot(e,t,r=[],a=[],n,s=!1){Xe(r,a,i=>{var l=void 0,g={},d=e.nodeName==="SELECT",S=!1;if(ae(()=>{var w=t(...i.map(te)),E=At(e,l,w,n,s);S&&d&&"value"in w&&V(e,w.value);for(let u of Object.getOwnPropertySymbols(g))w[u]||U(g[u]);for(let u of Object.getOwnPropertySymbols(w)){var f=w[u];u.description===Qe&&(!l||f!==l[u])&&(g[u]&&U(g[u]),g[u]=H(()=>pt(e,()=>f))),E[u]=f}l=E}),d){var y=e;ne(()=>{V(y,l.value,!0),ye(y)})}S=!0})}function ke(e){return e.__attributes??={[Ce]:e.nodeName.includes("-"),[Ae]:e.namespaceURI===at}}var ue=new Map;function Ee(e){var t=e.getAttribute("is")||e.nodeName,r=ue.get(t);if(r)return r;ue.set(t,r=[]);for(var a,n=e,s=Element.prototype;s!==n;){a=ct(n);for(var i in a)a[i].set&&r.push(i);n=nt(n)}return r}function Wt(e,t,r=t){var a=new WeakSet;se(e,"input",async n=>{var s=n?e.defaultValue:e.value;if(s=x(e)?ee(s):s,r(s),W!==null&&a.add(W),await ft(),s!==(s=t())){var i=e.selectionStart,l=e.selectionEnd;e.value=s??"",l!==null&&(e.selectionStart=i,e.selectionEnd=Math.min(l,e.value.length))}}),(k&&e.defaultValue!==e.value||be(t)==null&&e.value)&&(r(x(e)?ee(e.value):e.value),W!==null&&a.add(W)),_e(()=>{var n=t();if(e===document.activeElement){var s=ut??W;if(a.has(s))return}x(e)&&n===ee(e.value)||e.type==="date"&&!n&&!e.value||n!==e.value&&(e.value=n??"")})}function It(e,t,r=t){se(e,"change",a=>{var n=a?e.defaultChecked:e.checked;r(n)}),(k&&e.defaultChecked!==e.checked||be(t)==null)&&r(e.checked),_e(()=>{var a=t();e.checked=!!a})}function x(e){var t=e.type;return t==="number"||t==="range"}function ee(e){return e===""?null:+e}const N=dt({id:"unknown",name:"Unknown Control Set",currentPath:"",controls:[],mappings:[],families:[],totalControls:0,totalMappings:0,isConnected:!1});class kt{ws=null;reconnectTimer=null;reconnectAttempts=0;maxReconnectAttempts=5;reconnectDelay=1e3;connect(){if(this.ws&&(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN)){console.log("WebSocket already connected or connecting");return}const t=window.location.protocol==="https:"?"wss:":"ws:",r=window.location.hostname==="localhost"?"localhost:3000":window.location.host,a=`${t}//${r}/ws`;console.log("Connecting to WebSocket:",a);try{this.ws=new WebSocket(a),this.ws.onopen=()=>{console.log("WebSocket connected"),this.reconnectAttempts=0,this.reconnectDelay=1e3},this.ws.onmessage=n=>{try{const s=JSON.parse(n.data);this.handleMessage(s)}catch(s){console.error("Failed to parse WebSocket message:",s)}},this.ws.onerror=n=>{console.error("WebSocket error:",n)},this.ws.onclose=()=>{console.log("WebSocket disconnected"),N.update(n=>({...n,isConnected:!1})),this.ws=null,this.scheduleReconnect()}}catch(n){console.error("Failed to create WebSocket:",n),this.scheduleReconnect()}}handleMessage(t){switch(console.log("WebSocket message received:",t),t.type){case"connected":console.log("WebSocket connection confirmed"),N.update(r=>({...r,isConnected:!0}));break;case"state-update":console.log("State update received"),t.payload&&N.set({...t.payload,isConnected:!0,isSwitchingControlSet:!1});break;case"metadata-update":console.log("Metadata update received"),t.payload&&N.update(r=>({...r,...t.payload,isConnected:!0,isSwitchingControlSet:!1}));break;case"controls-update":console.log("Controls update received"),t.payload&&N.update(r=>({...r,controls:t.payload}));break;case"mappings-update":console.log("Mappings update received"),t.payload&&N.update(r=>({...r,mappings:t.payload}));break;case"control-details":console.log("Control details received:",t.payload),t.payload&&window.dispatchEvent(new CustomEvent("control-details",{detail:t.payload}));break;case"control-sets-list":console.log("Control sets list received"),t.payload&&window.dispatchEvent(new CustomEvent("control-sets-list",{detail:t.payload}));break;case"control-updated":console.log("Control updated successfully:",t.payload);break;case"mapping-created":case"mapping-updated":case"mapping-deleted":console.log(`Mapping operation successful: ${t.type}`,t.payload),window.dispatchEvent(new CustomEvent("mappings-changed",{detail:t.payload}));break;case"error":console.error("WebSocket error:",t.payload);break;default:console.warn("Unknown WebSocket message type:",t.type)}}scheduleReconnect(){if(this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectAttempts>=this.maxReconnectAttempts){console.error("Max reconnection attempts reached");return}this.reconnectAttempts++,console.log(`Scheduling reconnect attempt ${this.reconnectAttempts} in ${this.reconnectDelay}ms`),this.reconnectTimer=window.setTimeout(()=>{this.connect()},this.reconnectDelay),this.reconnectDelay=Math.min(this.reconnectDelay*2,3e4)}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(),this.ws=null),N.update(t=>({...t,isConnected:!1}))}isConnected(){return this.ws!==null&&this.ws.readyState===WebSocket.OPEN}async sendCommand(t,r){if(console.log(`Sending WebSocket command: ${t}`,r),!this.ws||this.ws.readyState!==WebSocket.OPEN){console.log("WebSocket not ready, waiting for connection...");try{await this.waitForConnection()}catch(a){throw console.error("Failed to connect:",a),a}}if(this.ws&&this.ws.readyState===WebSocket.OPEN){const a=JSON.stringify({type:t,payload:r});console.log("Sending message:",a),this.ws.send(a)}else{const a=new Error("WebSocket not connected after waiting");throw console.error(a),a}}waitForConnection(t=5e3){return new Promise((r,a)=>{const n=Date.now(),s=()=>{this.ws&&this.ws.readyState===WebSocket.OPEN?r():Date.now()-n>t?a(new Error("WebSocket connection timeout")):setTimeout(s,100)};s()})}async updateControl(t){return this.sendCommand("update-control",t)}async createMapping(t){return this.sendCommand("create-mapping",t)}async updateMapping(t){return this.sendCommand("update-mapping",t)}async deleteMapping(t){return this.sendCommand("delete-mapping",{uuid:t})}async switchControlSet(t){return N.update(r=>({...r,isSwitchingControlSet:!0})),this.sendCommand("switch-control-set",{path:t})}async getControlDetails(t){return this.sendCommand("get-control",{id:t})}async scanControlSets(){return this.sendCommand("scan-control-sets")}send(t){this.ws&&this.ws.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify(t)):console.warn("WebSocket not connected, cannot send message")}}const Dt=new kt;export{Ot as a,Y as b,Wt as c,Nt as d,Tt as e,N as f,bt as g,yt as h,mt as i,It as j,Mt as r,gt as s,Dt as w};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/BB-lo5zt.js";export{o as load_css,r as start};
|