Problem: the hexagonal refactor churns the backend tree for nine more phases; the UI delivery stack (web/ SPA, cmd/desktop Wails wrapper, compose/web image) must move to its own repo first so doc/layout rewrites land once on a backend-only tree. Change: - New repo git.hubris.network/dtoro/oikos-web (v0.33.0): web/, desktop/ (updateURL repointed to oikos-web releases), compose/, own CI (web + desktop jobs), own deploy script (CI-green gate, TOCTOU guard, version-tagged images, prune-to-3), own webhook receiver on :9798 + launchd unit, own compose project publishing the same 8091:80. - Cutover executed on mac-mini in order: oikos stack's web service stopped+removed, oikos-web project brought up on 8091; outer Caddy untouched (targets the published port) — serving + Authentik flow + /wails 404 quirk verified post-cutover. - Stripped from oikos: web/, cmd/desktop/, compose/web/, desktop CI workflow, ci.yml web job, Makefile ui/desktop/desktop-package/install targets, the compose web service, oikos-web from deploy.sh's fallback prune list; wails + go-keyring dropped from go.mod, vendor synced. - README / CONTRIBUTING / AGENTS.md / .agents dev+operations docs now point at the new repo; mbse + mascot design docs carry a path note. Risk: production SPA serving depends on the new pipeline now; rollback is versioned-image re-up of the old web service from a pre-split checkout (port 8091). Desktop builds installed before the split still check dtoro/oikos releases — one manual reinstall, noted in the oikos-web release notes. Verification: go vet, make test (race), make generate-check, golangci (no new findings; baseline down 400→365); post-cutover curls — localhost:8091 200, /wails/runtime.js 404, outer Caddy 302 Authentik.
2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
var St=Object.defineProperty;var mt=a=>{throw TypeError(a)};var Ct=(a,t,e)=>t in a?St(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var x=(a,t,e)=>Ct(a,typeof t!="symbol"?t+"":t,e),xt=(a,t,e)=>t.has(a)||mt("Cannot "+e);var s=(a,t,e)=>(xt(a,t,"read from private field"),e?e.call(a):t.get(a)),y=(a,t,e)=>t.has(a)?mt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(a):t.set(a,e);var H=(a,t,e)=>(xt(a,t,"access private method"),e);import{G as zt,u as v,H as Y,J as yt,g as r,D as M,y as wt,aO as Tt,af as Vt,S as At,I as Mt,N as kt,L as Dt,a6 as Gt,bn as _t,bo as Rt,O as jt,V as Z,p as C,W as o,X as q,Y as Et,Z as p,Q as w,j as T,R as $,a as m,b as z,_ as S,$ as tt,a0 as et,a1 as at,f as rt,c as st,a2 as V,a7 as it,U as nt,a4 as ot,bp as Ft}from"./index-B5w8gw75.js";const F=jt({component:"tabs",parts:["root","list","trigger","content"]}),lt=new zt("Tabs.Root");var O,N;const gt=class gt{constructor(t){x(this,"opts");x(this,"attachment");x(this,"rovingFocusGroup");y(this,O,wt(Gt([])));x(this,"valueToTriggerId",new _t);x(this,"valueToContentId",new _t);y(this,N,v(()=>({id:this.opts.id.current,"data-orientation":this.opts.orientation.current,[F.root]:"",...this.attachment})));this.opts=t,this.attachment=Y(t.ref),this.rovingFocusGroup=new Rt({candidateAttr:F.trigger,rootNode:this.opts.ref,loop:this.opts.loop,orientation:this.opts.orientation})}static create(t){return lt.set(new gt(t))}get triggerIds(){return r(s(this,O))}set triggerIds(t){M(s(this,O),t,!0)}registerTrigger(t,e){return this.triggerIds.push(t),this.valueToTriggerId.set(e,t),()=>{this.triggerIds=this.triggerIds.filter(n=>n!==t),this.valueToTriggerId.delete(e)}}registerContent(t,e){return this.valueToContentId.set(e,t),()=>{this.valueToContentId.delete(e)}}setValue(t){this.opts.value.current=t}get props(){return r(s(this,N))}set props(t){M(s(this,N),t)}};O=new WeakMap,N=new WeakMap;let ct=gt;var K,U;const ft=class ft{constructor(t,e){x(this,"opts");x(this,"root");x(this,"attachment");y(this,K,v(()=>this.root.opts.disabled.current));y(this,U,v(()=>({id:this.opts.id.current,role:"tablist","aria-orientation":this.root.opts.orientation.current,"data-orientation":this.root.opts.orientation.current,[F.list]:"","data-disabled":yt(r(s(this,K))),...this.attachment})));this.opts=t,this.root=e,this.attachment=Y(t.ref)}static create(t){return new ft(t,lt.get())}get props(){return r(s(this,U))}set props(t){M(s(this,U),t)}};K=new WeakMap,U=new WeakMap;let ut=ft;var G,R,P,Q,j,J,B;const bt=class bt{constructor(t,e){y(this,j);x(this,"opts");x(this,"root");x(this,"attachment");y(this,G,wt(0));y(this,R,v(()=>this.root.opts.value.current===this.opts.value.current));y(this,P,v(()=>this.opts.disabled.current||this.root.opts.disabled.current));y(this,Q,v(()=>this.root.valueToContentId.get(this.opts.value.current)));y(this,B,v(()=>({id:this.opts.id.current,role:"tab","data-state":It(r(s(this,R))),"data-value":this.opts.value.current,"data-orientation":this.root.opts.orientation.current,"data-disabled":yt(r(s(this,P))),"aria-selected":Dt(r(s(this,R))),"aria-controls":r(s(this,Q)),[F.trigger]:"",disabled:kt(r(s(this,P))),tabindex:r(s(this,G)),onclick:this.onclick,onfocus:this.onfocus,onkeydown:this.onkeydown,...this.attachment})));this.opts=t,this.root=e,this.attachment=Y(t.ref),Tt([()=>this.opts.id.current,()=>this.opts.value.current],([n,i])=>this.root.registerTrigger(n,i)),Vt(()=>{this.root.triggerIds.length,r(s(this,R))||!this.root.opts.value.current?M(s(this,G),0):M(s(this,G),-1)}),this.onfocus=this.onfocus.bind(this),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}static create(t){return new bt(t,lt.get())}onfocus(t){this.root.opts.activationMode.current!=="automatic"||r(s(this,P))||H(this,j,J).call(this)}onclick(t){r(s(this,P))||H(this,j,J).call(this)}onkeydown(t){if(!r(s(this,P))){if(t.key===At||t.key===Mt){t.preventDefault(),H(this,j,J).call(this);return}this.root.rovingFocusGroup.handleKeydown(this.opts.ref.current,t)}}get props(){return r(s(this,B))}set props(t){M(s(this,B),t)}};G=new WeakMap,R=new WeakMap,P=new WeakMap,Q=new WeakMap,j=new WeakSet,J=function(){this.root.opts.value.current!==this.opts.value.current&&this.root.setValue(this.opts.value.current)},B=new WeakMap;let vt=bt;var L,X,W;const pt=class pt{constructor(t,e){x(this,"opts");x(this,"root");x(this,"attachment");y(this,L,v(()=>this.root.opts.value.current===this.opts.value.current));y(this,X,v(()=>this.root.valueToTriggerId.get(this.opts.value.current)));y(this,W,v(()=>({id:this.opts.id.current,role:"tabpanel",hidden:kt(!r(s(this,L))),tabindex:0,"data-value":this.opts.value.current,"data-state":It(r(s(this,L))),"aria-labelledby":r(s(this,X)),"data-orientation":this.root.opts.orientation.current,[F.content]:"",...this.attachment})));this.opts=t,this.root=e,this.attachment=Y(t.ref),Tt([()=>this.opts.id.current,()=>this.opts.value.current],([n,i])=>this.root.registerContent(n,i))}static create(t){return new pt(t,lt.get())}get props(){return r(s(this,W))}set props(t){M(s(this,W),t)}};L=new WeakMap,X=new WeakMap,W=new WeakMap;let ht=pt;function It(a){return a?"active":"inactive"}var Ot=new Set(["$$slots","$$events","$$legacy","id","ref","value","onValueChange","orientation","loop","activationMode","disabled","children","child"]),Nt=rt("<div><!></div>");function Ut(a,t){const e=Z();C(t,!0);let n=o(t,"id",19,()=>q(e)),i=o(t,"ref",15,null),c=o(t,"value",15,""),f=o(t,"onValueChange",3,Et),h=o(t,"orientation",3,"horizontal"),g=o(t,"loop",3,!0),b=o(t,"activationMode",3,"automatic"),_=o(t,"disabled",3,!1),A=V(t,Ot);const l=ct.create({id:p(()=>n()),value:p(()=>c(),k=>{c(k),f()(k)}),orientation:p(()=>h()),loop:p(()=>g()),activationMode:p(()=>b()),disabled:p(()=>_()),ref:p(()=>i(),k=>i(k))}),u=v(()=>at(A,l.props));var d=w(),I=T(d);{var E=k=>{var D=w(),dt=T(D);S(dt,()=>t.child,()=>({props:r(u)})),m(k,D)},Pt=k=>{var D=Nt();tt(D,()=>({...r(u)}));var dt=st(D);S(dt,()=>t.children??et),m(k,D)};$(I,k=>{t.child?k(E):k(Pt,-1)})}m(a,d),z()}var Bt=new Set(["$$slots","$$events","$$legacy","children","child","id","ref","value"]),Lt=rt("<div><!></div>");function Wt(a,t){const e=Z();C(t,!0);let n=o(t,"id",19,()=>q(e)),i=o(t,"ref",15,null),c=V(t,Bt);const f=ht.create({value:p(()=>t.value),id:p(()=>n()),ref:p(()=>i(),l=>i(l))}),h=v(()=>at(c,f.props));var g=w(),b=T(g);{var _=l=>{var u=w(),d=T(u);S(d,()=>t.child,()=>({props:r(h)})),m(l,u)},A=l=>{var u=Lt();tt(u,()=>({...r(h)}));var d=st(u);S(d,()=>t.children??et),m(l,u)};$(b,l=>{t.child?l(_):l(A,-1)})}m(a,g),z()}var Ht=new Set(["$$slots","$$events","$$legacy","child","children","id","ref"]),Jt=rt("<div><!></div>");function Kt(a,t){const e=Z();C(t,!0);let n=o(t,"id",19,()=>q(e)),i=o(t,"ref",15,null),c=V(t,Ht);const f=ut.create({id:p(()=>n()),ref:p(()=>i(),l=>i(l))}),h=v(()=>at(c,f.props));var g=w(),b=T(g);{var _=l=>{var u=w(),d=T(u);S(d,()=>t.child,()=>({props:r(h)})),m(l,u)},A=l=>{var u=Jt();tt(u,()=>({...r(h)}));var d=st(u);S(d,()=>t.children??et),m(l,u)};$(b,l=>{t.child?l(_):l(A,-1)})}m(a,g),z()}var Qt=new Set(["$$slots","$$events","$$legacy","child","children","disabled","id","type","value","ref"]),Xt=rt("<button><!></button>");function Yt(a,t){const e=Z();C(t,!0);let n=o(t,"disabled",3,!1),i=o(t,"id",19,()=>q(e)),c=o(t,"type",3,"button"),f=o(t,"ref",15,null),h=V(t,Qt);const g=vt.create({id:p(()=>i()),disabled:p(()=>n()??!1),value:p(()=>t.value),ref:p(()=>f(),d=>f(d))}),b=v(()=>at(h,g.props,{type:c()}));var _=w(),A=T(_);{var l=d=>{var I=w(),E=T(I);S(E,()=>t.child,()=>({props:r(b)})),m(d,I)},u=d=>{var I=Xt();tt(I,()=>({...r(b)}));var E=st(I);S(E,()=>t.children??et),m(d,I)};$(A,d=>{t.child?d(l):d(u,-1)})}m(a,_),z()}var Zt=new Set(["$$slots","$$events","$$legacy","ref","value","class"]);function se(a,t){C(t,!0);let e=o(t,"ref",15,null),n=o(t,"value",15,""),i=V(t,Zt);var c=w(),f=T(c);{let h=v(()=>ot("gap-2 group/tabs flex data-[orientation=horizontal]:flex-col",t.class));it(f,()=>Ut,(g,b)=>{b(g,nt({"data-slot":"tabs",get class(){return r(h)}},()=>i,{get ref(){return e()},set ref(_){e(_)},get value(){return n()},set value(_){n(_)}}))})}m(a,c),z()}var qt=new Set(["$$slots","$$events","$$legacy","ref","class"]);function ie(a,t){C(t,!0);let e=o(t,"ref",15,null),n=V(t,qt);var i=w(),c=T(i);{let f=v(()=>ot("text-sm flex-1 outline-none",t.class));it(c,()=>Wt,(h,g)=>{g(h,nt({"data-slot":"tabs-content",get class(){return r(f)}},()=>n,{get ref(){return e()},set ref(b){e(b)}}))})}m(a,i),z()}const $t=Ft({base:"rounded-lg p-[3px] group-data-horizontal/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",variants:{variant:{default:"cn-tabs-list-variant-default bg-muted",line:"cn-tabs-list-variant-line gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});var te=new Set(["$$slots","$$events","$$legacy","ref","variant","class"]);function ne(a,t){C(t,!0);let e=o(t,"ref",15,null),n=o(t,"variant",3,"default"),i=V(t,te);var c=w(),f=T(c);{let h=v(()=>ot($t({variant:n()}),t.class));it(f,()=>Kt,(g,b)=>{b(g,nt({"data-slot":"tabs-list",get"data-variant"(){return n()},get class(){return r(h)}},()=>i,{get ref(){return e()},set ref(_){e(_)}}))})}m(a,c),z()}var ee=new Set(["$$slots","$$events","$$legacy","ref","class"]);function oe(a,t){C(t,!0);let e=o(t,"ref",15,null),n=V(t,ee);var i=w(),c=T(i);{let f=v(()=>ot("gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","data-active:bg-background dark:data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 data-active:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",t.class));it(c,()=>Yt,(h,g)=>{g(h,nt({"data-slot":"tabs-trigger",get class(){return r(f)}},()=>n,{get ref(){return e()},set ref(b){e(b)}}))})}m(a,i),z()}export{ne as T,oe as a,ie as b,se as c};
|