@coffer-org/web 2.3.0 → 2.3.2

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.
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{t as r}from"./react-vendor-BskHO5hY.js";import{n as i,r as a,t as o}from"./x-BFRg18Fi.js";import{n as s,o as c,r as l,t as u}from"./input-group-Bmvb-qBI.js";import{$ as d,G as f,H as p,J as m,K as h,Q as g,U as _,V as v,W as y,X as b,Y as x,Z as S,et as C,q as w}from"./ui-vendor-EU9CHLyR.js";import{n as ee}from"./Icon-CdBq17IP.js";import{i as te,t as T}from"./button-D-Q6I5Ob.js";import{n as E,t as ne}from"./upload-Bp-ZANIb.js";import{n as D}from"./square-CiErsTOS.js";import{t as O}from"./json-CkyL3W27.js";var k=i(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),A=e(t(),1),j=r(),M=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/select.tsx`,N=v,P=d,F=A.forwardRef(({className:e,children:t,...n},r)=>(0,j.jsxDEV)(g,{ref:r,className:a(`flex h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background px-3 py-1 text-sm text-foreground transition-colors`,`data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,j.jsxDEV)(_,{asChild:!0,children:(0,j.jsxDEV)(c,{className:`h-4 w-4 opacity-60`},void 0,!1,{fileName:M,lineNumber:26,columnNumber:7},void 0)},void 0,!1,{fileName:M,lineNumber:25,columnNumber:5},void 0)]},void 0,!0,{fileName:M,lineNumber:14,columnNumber:3},void 0));F.displayName=g.displayName;var I=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(b,{ref:n,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,j.jsxDEV)(k,{className:`h-4 w-4`},void 0,!1,{fileName:M,lineNumber:41,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:36,columnNumber:3},void 0));I.displayName=b.displayName;var L=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(x,{ref:n,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,j.jsxDEV)(c,{className:`h-4 w-4`},void 0,!1,{fileName:M,lineNumber:55,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:50,columnNumber:3},void 0));L.displayName=x.displayName;var R=A.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,j.jsxDEV)(m,{children:(0,j.jsxDEV)(p,{ref:i,className:a(`relative z-50 max-h-96 min-w-32 overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,j.jsxDEV)(I,{},void 0,!1,{fileName:M,lineNumber:76,columnNumber:7},void 0),(0,j.jsxDEV)(C,{className:a(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t},void 0,!1,{fileName:M,lineNumber:77,columnNumber:7},void 0),(0,j.jsxDEV)(L,{},void 0,!1,{fileName:M,lineNumber:86,columnNumber:7},void 0)]},void 0,!0,{fileName:M,lineNumber:65,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:64,columnNumber:3},void 0));R.displayName=p.displayName;var z=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(w,{ref:n,className:a(`px-2 py-1.5 text-xs font-semibold text-muted-foreground`,e),...t},void 0,!1,{fileName:M,lineNumber:96,columnNumber:3},void 0));z.displayName=w.displayName;var B=A.forwardRef(({className:e,children:t,...n},r)=>(0,j.jsxDEV)(y,{ref:r,className:a(`relative flex w-full cursor-pointer select-none items-center rounded-md py-1.5 pl-8 pr-2 text-sm outline-none`,`focus:bg-elevated focus:text-text data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,j.jsxDEV)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,j.jsxDEV)(f,{children:(0,j.jsxDEV)(te,{className:`h-4 w-4 text-accent`},void 0,!1,{fileName:M,lineNumber:119,columnNumber:9},void 0)},void 0,!1,{fileName:M,lineNumber:118,columnNumber:7},void 0)},void 0,!1,{fileName:M,lineNumber:117,columnNumber:5},void 0),(0,j.jsxDEV)(h,{children:t},void 0,!1,{fileName:M,lineNumber:122,columnNumber:5},void 0)]},void 0,!0,{fileName:M,lineNumber:108,columnNumber:3},void 0));B.displayName=y.displayName;var V=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(S,{ref:n,className:a(`-mx-1 my-1 h-px bg-border`,e),...t},void 0,!1,{fileName:M,lineNumber:131,columnNumber:3},void 0));V.displayName=S.displayName;var H=`inline-flex items-center gap-1.5 bg-surface text-text border border-border rounded-full px-2.5 py-0.5 text-sm`,U=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/multiple-chips.tsx`,W=()=>(0,j.jsxDEV)(`span`,{className:`text-sm text-muted/50 select-none`,children:`—`},void 0,!1,{fileName:U,lineNumber:12,columnNumber:27},void 0);function G({onClick:e,className:t}){return(0,j.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":`remove`,className:`inline-flex shrink-0 items-center text-muted transition-colors hover:text-danger ${t??``}`,children:(0,j.jsxDEV)(o,{size:13},void 0,!1,{fileName:U,lineNumber:23,columnNumber:7},this)},void 0,!1,{fileName:U,lineNumber:17,columnNumber:5},this)}function K({children:e,className:t,style:n,onRemove:r}){return(0,j.jsxDEV)(`span`,{className:`${H} ${t??``}`,style:n,children:[e,r?(0,j.jsxDEV)(G,{onClick:r},void 0,!1,{fileName:U,lineNumber:44,columnNumber:9},this):(0,j.jsxDEV)(`span`,{"aria-hidden":!0,className:`invisible inline-flex shrink-0 items-center`,children:(0,j.jsxDEV)(o,{size:13},void 0,!1,{fileName:U,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:U,lineNumber:41,columnNumber:5},this)}function q({children:e}){return(0,j.jsxDEV)(`div`,{className:`flex flex-wrap gap-1.5`,children:e},void 0,!1,{fileName:U,lineNumber:58,columnNumber:10},this)}function J({items:e,content:t,chipClassName:n,chipStyle:r,onRemove:i,editor:a,reserveEditor:o,emptyDash:s=!0}){return!e.length&&!a?s?(0,j.jsxDEV)(W,{},void 0,!1,{fileName:U,lineNumber:85,columnNumber:52},this):null:(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-2 ${a?`px-2`:``}`,children:[e.length>0&&(0,j.jsxDEV)(q,{children:e.map((e,a)=>(0,j.jsxDEV)(K,{className:n?.(e,a),style:r?.(e,a),onRemove:i?()=>i(a):void 0,children:t(e,a)},a,!1,{fileName:U,lineNumber:91,columnNumber:13},this))},void 0,!1,{fileName:U,lineNumber:89,columnNumber:9},this),a,!a&&o&&e.length>0&&(0,j.jsxDEV)(`div`,{"aria-hidden":!0,className:`invisible h-9`},void 0,!1,{fileName:U,lineNumber:98,columnNumber:56},this)]},void 0,!0,{fileName:U,lineNumber:87,columnNumber:5},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/shared.tsx`,X=e=>Array.isArray(e)?e:O(e,[]);function re({onRemove:e,className:t}){let{t:r}=n();return(0,j.jsxDEV)(T,{type:`button`,variant:`outline`,size:`iconSm`,onClick:e,title:r(`actions.delete`),"aria-hidden":!e||void 0,tabIndex:e?void 0:-1,className:`shrink-0 rounded-lg text-muted hover:border-danger hover:text-danger${e?``:` invisible`}${t?` ${t}`:``}`,children:(0,j.jsxDEV)(ee,{size:14},void 0,!1,{fileName:Y,lineNumber:42,columnNumber:7},this)},void 0,!1,{fileName:Y,lineNumber:32,columnNumber:5},this)}function ie({onClick:e,children:t,className:n}){return(0,j.jsxDEV)(T,{type:`button`,variant:`outline`,size:`sm`,onClick:e,className:`self-start border-accent/30 text-accent hover:border-accent/60 hover:text-accent2 ${n??``}`,children:[(0,j.jsxDEV)(D,{size:13},void 0,!1,{fileName:Y,lineNumber:65,columnNumber:7},this),` `,t]},void 0,!0,{fileName:Y,lineNumber:58,columnNumber:5},this)}function ae({accept:e,busy:t,error:r,progress:i,onPick:a,compact:o}){let{t:s}=n();return(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsxDEV)(`label`,{className:`inline-flex w-fit cursor-pointer items-center gap-1.5 rounded-lg border border-accent/30 text-xs font-medium text-accent hover:border-accent/60 ${o?`px-2.5 py-1`:`px-3 py-2`} ${t?`pointer-events-none opacity-60`:``}`,children:[t?(0,j.jsxDEV)(E,{size:13,className:`animate-spin`},void 0,!1,{fileName:Y,lineNumber:97,columnNumber:17},this):(0,j.jsxDEV)(ne,{size:13},void 0,!1,{fileName:Y,lineNumber:97,columnNumber:66},this),` `,s(`actions.upload`),(0,j.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>a(e.target.files?.[0]??null)},void 0,!1,{fileName:Y,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:92,columnNumber:7},this),t&&i!=null&&(0,j.jsxDEV)(Z,{progress:i},void 0,!1,{fileName:Y,lineNumber:106,columnNumber:36},this),r&&(0,j.jsxDEV)(`span`,{className:`text-xs text-danger`,children:s(r)},void 0,!1,{fileName:Y,lineNumber:107,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:91,columnNumber:5},this)}function Z({progress:e,label:t=`upload.progress`}){let{t:r}=n();return(0,j.jsxDEV)(`div`,{role:`progressbar`,"aria-label":r(t),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e,className:`h-1.5 w-full overflow-hidden rounded-full bg-border`,children:(0,j.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${Math.max(0,Math.min(100,e))}%`}},void 0,!1,{fileName:Y,lineNumber:123,columnNumber:7},this)},void 0,!1,{fileName:Y,lineNumber:115,columnNumber:5},this)}function oe(e,t){return e.map(e=>({value:e.value,title:t(e.title),subtitle:e.subtitle,icon:e.icon}))}function Q(e){return e>=0&&e<20?String.fromCodePoint(9312+e):String(e+1)}function se(e,t){let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n={}}let r=n&&typeof n==`object`?n:{};if(Array.isArray(r.checks)){let e=r.checks;return{text:String(r.text??``),checks:Array.from({length:t},(t,n)=>e[n]===!0)}}return{text:String(r.text??``),checks:Array.from({length:t},(e,t)=>r[`check${t}`]===!0)}}function ce(e){let t={text:e.text};return e.checks.forEach((e,n)=>{t[`check${n}`]=e}),t}function le({slots:e}){let{t}=n();if(e.length<=1||!e.some(e=>e))return null;let r=e.length>3;return(0,j.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs text-muted`,children:e.map((e,n)=>(0,j.jsxDEV)(A.Fragment,{children:[n>0&&(0,j.jsxDEV)(`span`,{className:`opacity-40`,children:`•`},void 0,!1,{fileName:Y,lineNumber:215,columnNumber:21},this),(0,j.jsxDEV)(`span`,{children:[r?`${Q(n)} `:``,e?t(e):`—`]},void 0,!0,{fileName:Y,lineNumber:216,columnNumber:11},this)]},n,!0,{fileName:Y,lineNumber:214,columnNumber:9},this))},void 0,!1,{fileName:Y,lineNumber:212,columnNumber:5},this)}var ue=e=>e>3;function de({value:e,onChange:t,renderInput:n,validate:r,serialize:i,display:a}){let[o,c]=(0,A.useState)(()=>X(e)),[d,f]=(0,A.useState)(``);(0,A.useEffect)(()=>{c(X(e))},[e]);function p(e){c(e),t(e.length>0?e:``)}function m(){let e=d.trim();if(!e||r&&!r(e))return;let t=i?i(e):e;t===null||o.includes(t)||(p([...o,t]),f(``))}return(0,j.jsxDEV)(J,{items:o,content:e=>a?a(String(e)):String(e),onRemove:e=>p(o.filter((t,n)=>n!==e)),editor:(0,j.jsxDEV)(u,{className:`[&>input]:h-auto [&>input]:rounded-none [&>input]:border-0 [&>input]:bg-transparent [&>input]:shadow-none [&>input]:focus-visible:ring-0 focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50`,children:[n(d,f,m),(0,j.jsxDEV)(s,{align:`inline-end`,children:(0,j.jsxDEV)(l,{size:`icon-xs`,"aria-label":`add`,onClick:m,children:(0,j.jsxDEV)(D,{},void 0,!1,{fileName:Y,lineNumber:286,columnNumber:15},this)},void 0,!1,{fileName:Y,lineNumber:285,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:284,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:282,columnNumber:9},this)},void 0,!1,{fileName:Y,lineNumber:277,columnNumber:5},this)}function $(e){return e!=null&&e!==``}function fe(e,t,n,r){return t.includes(n)?e.filter((e,t)=>t!==r).map(e=>String(e[n]??``)).filter(Boolean):[]}function pe(e){return e.slice(0,8)+`…`}var me=e=>e.length>60?e.slice(0,57)+`…`:e;function he(e,t,n){return e.hints.multiple===!0?(0,j.jsxDEV)(J,{items:O(t,[]),content:n,reserveEditor:!0},void 0,!1,{fileName:Y,lineNumber:335,columnNumber:12},this):$(t)?(0,j.jsxDEV)(j.Fragment,{children:n(t)},void 0,!1,{fileName:Y,lineNumber:336,columnNumber:28},this):(0,j.jsxDEV)(W,{},void 0,!1,{fileName:Y,lineNumber:336,columnNumber:52},this)}function ge(e,t,n=e=>!$(e)){return n(e)?(0,j.jsxDEV)(W,{},void 0,!1,{fileName:Y,lineNumber:345,columnNumber:27},this):(0,j.jsxDEV)(j.Fragment,{children:t(e)},void 0,!1,{fileName:Y,lineNumber:345,columnNumber:38},this)}function _e(e){return Object.keys(e).find(t=>e[t]?.kind===`cover`)}export{N as C,P as D,F as E,k as O,G as S,B as T,oe as _,ae as a,W as b,ce as c,_e as d,$ as f,pe as g,X as h,re as i,Q as l,ge as m,le as n,Z as o,he as p,de as r,ue as s,ie as t,se as u,me as v,R as w,J as x,fe as y};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{t as r}from"./react-vendor-BskHO5hY.js";import{n as i,r as a,t as o}from"./x-BFRg18Fi.js";import{n as s,o as c,r as l,t as u}from"./input-group-Bmvb-qBI.js";import{$ as d,G as f,H as p,J as m,K as h,Q as g,U as _,V as v,W as y,X as b,Y as x,Z as S,et as C,q as w}from"./ui-vendor-EU9CHLyR.js";import{n as ee}from"./Icon-DaSvVHpK.js";import{i as te,t as T}from"./button-D-Q6I5Ob.js";import{n as E,t as ne}from"./upload-Bp-ZANIb.js";import{n as D}from"./square-CiErsTOS.js";import{t as O}from"./json-CkyL3W27.js";var k=i(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),A=e(t(),1),j=r(),M=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/select.tsx`,N=v,P=d,F=A.forwardRef(({className:e,children:t,...n},r)=>(0,j.jsxDEV)(g,{ref:r,className:a(`flex h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background px-3 py-1 text-sm text-foreground transition-colors`,`data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,j.jsxDEV)(_,{asChild:!0,children:(0,j.jsxDEV)(c,{className:`h-4 w-4 opacity-60`},void 0,!1,{fileName:M,lineNumber:26,columnNumber:7},void 0)},void 0,!1,{fileName:M,lineNumber:25,columnNumber:5},void 0)]},void 0,!0,{fileName:M,lineNumber:14,columnNumber:3},void 0));F.displayName=g.displayName;var I=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(b,{ref:n,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,j.jsxDEV)(k,{className:`h-4 w-4`},void 0,!1,{fileName:M,lineNumber:41,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:36,columnNumber:3},void 0));I.displayName=b.displayName;var L=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(x,{ref:n,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,j.jsxDEV)(c,{className:`h-4 w-4`},void 0,!1,{fileName:M,lineNumber:55,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:50,columnNumber:3},void 0));L.displayName=x.displayName;var R=A.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,j.jsxDEV)(m,{children:(0,j.jsxDEV)(p,{ref:i,className:a(`relative z-50 max-h-96 min-w-32 overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,j.jsxDEV)(I,{},void 0,!1,{fileName:M,lineNumber:76,columnNumber:7},void 0),(0,j.jsxDEV)(C,{className:a(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t},void 0,!1,{fileName:M,lineNumber:77,columnNumber:7},void 0),(0,j.jsxDEV)(L,{},void 0,!1,{fileName:M,lineNumber:86,columnNumber:7},void 0)]},void 0,!0,{fileName:M,lineNumber:65,columnNumber:5},void 0)},void 0,!1,{fileName:M,lineNumber:64,columnNumber:3},void 0));R.displayName=p.displayName;var z=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(w,{ref:n,className:a(`px-2 py-1.5 text-xs font-semibold text-muted-foreground`,e),...t},void 0,!1,{fileName:M,lineNumber:96,columnNumber:3},void 0));z.displayName=w.displayName;var B=A.forwardRef(({className:e,children:t,...n},r)=>(0,j.jsxDEV)(y,{ref:r,className:a(`relative flex w-full cursor-pointer select-none items-center rounded-md py-1.5 pl-8 pr-2 text-sm outline-none`,`focus:bg-elevated focus:text-text data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,j.jsxDEV)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,j.jsxDEV)(f,{children:(0,j.jsxDEV)(te,{className:`h-4 w-4 text-accent`},void 0,!1,{fileName:M,lineNumber:119,columnNumber:9},void 0)},void 0,!1,{fileName:M,lineNumber:118,columnNumber:7},void 0)},void 0,!1,{fileName:M,lineNumber:117,columnNumber:5},void 0),(0,j.jsxDEV)(h,{children:t},void 0,!1,{fileName:M,lineNumber:122,columnNumber:5},void 0)]},void 0,!0,{fileName:M,lineNumber:108,columnNumber:3},void 0));B.displayName=y.displayName;var V=A.forwardRef(({className:e,...t},n)=>(0,j.jsxDEV)(S,{ref:n,className:a(`-mx-1 my-1 h-px bg-border`,e),...t},void 0,!1,{fileName:M,lineNumber:131,columnNumber:3},void 0));V.displayName=S.displayName;var H=`inline-flex items-center gap-1.5 bg-surface text-text border border-border rounded-full px-2.5 py-0.5 text-sm`,U=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/multiple-chips.tsx`,W=()=>(0,j.jsxDEV)(`span`,{className:`text-sm text-muted/50 select-none`,children:`—`},void 0,!1,{fileName:U,lineNumber:12,columnNumber:27},void 0);function G({onClick:e,className:t}){return(0,j.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":`remove`,className:`inline-flex shrink-0 items-center text-muted transition-colors hover:text-danger ${t??``}`,children:(0,j.jsxDEV)(o,{size:13},void 0,!1,{fileName:U,lineNumber:23,columnNumber:7},this)},void 0,!1,{fileName:U,lineNumber:17,columnNumber:5},this)}function K({children:e,className:t,style:n,onRemove:r}){return(0,j.jsxDEV)(`span`,{className:`${H} ${t??``}`,style:n,children:[e,r?(0,j.jsxDEV)(G,{onClick:r},void 0,!1,{fileName:U,lineNumber:44,columnNumber:9},this):(0,j.jsxDEV)(`span`,{"aria-hidden":!0,className:`invisible inline-flex shrink-0 items-center`,children:(0,j.jsxDEV)(o,{size:13},void 0,!1,{fileName:U,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:U,lineNumber:41,columnNumber:5},this)}function q({children:e}){return(0,j.jsxDEV)(`div`,{className:`flex flex-wrap gap-1.5`,children:e},void 0,!1,{fileName:U,lineNumber:58,columnNumber:10},this)}function J({items:e,content:t,chipClassName:n,chipStyle:r,onRemove:i,editor:a,reserveEditor:o,emptyDash:s=!0}){return!e.length&&!a?s?(0,j.jsxDEV)(W,{},void 0,!1,{fileName:U,lineNumber:85,columnNumber:52},this):null:(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-2 ${a?`px-2`:``}`,children:[e.length>0&&(0,j.jsxDEV)(q,{children:e.map((e,a)=>(0,j.jsxDEV)(K,{className:n?.(e,a),style:r?.(e,a),onRemove:i?()=>i(a):void 0,children:t(e,a)},a,!1,{fileName:U,lineNumber:91,columnNumber:13},this))},void 0,!1,{fileName:U,lineNumber:89,columnNumber:9},this),a,!a&&o&&e.length>0&&(0,j.jsxDEV)(`div`,{"aria-hidden":!0,className:`invisible h-9`},void 0,!1,{fileName:U,lineNumber:98,columnNumber:56},this)]},void 0,!0,{fileName:U,lineNumber:87,columnNumber:5},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/shared.tsx`,X=e=>Array.isArray(e)?e:O(e,[]);function re({onRemove:e,className:t}){let{t:r}=n();return(0,j.jsxDEV)(T,{type:`button`,variant:`outline`,size:`iconSm`,onClick:e,title:r(`actions.delete`),"aria-hidden":!e||void 0,tabIndex:e?void 0:-1,className:`shrink-0 rounded-lg text-muted hover:border-danger hover:text-danger${e?``:` invisible`}${t?` ${t}`:``}`,children:(0,j.jsxDEV)(ee,{size:14},void 0,!1,{fileName:Y,lineNumber:42,columnNumber:7},this)},void 0,!1,{fileName:Y,lineNumber:32,columnNumber:5},this)}function ie({onClick:e,children:t,className:n}){return(0,j.jsxDEV)(T,{type:`button`,variant:`outline`,size:`sm`,onClick:e,className:`self-start border-accent/30 text-accent hover:border-accent/60 hover:text-accent2 ${n??``}`,children:[(0,j.jsxDEV)(D,{size:13},void 0,!1,{fileName:Y,lineNumber:65,columnNumber:7},this),` `,t]},void 0,!0,{fileName:Y,lineNumber:58,columnNumber:5},this)}function ae({accept:e,busy:t,error:r,progress:i,onPick:a,compact:o}){let{t:s}=n();return(0,j.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsxDEV)(`label`,{className:`inline-flex w-fit cursor-pointer items-center gap-1.5 rounded-lg border border-accent/30 text-xs font-medium text-accent hover:border-accent/60 ${o?`px-2.5 py-1`:`px-3 py-2`} ${t?`pointer-events-none opacity-60`:``}`,children:[t?(0,j.jsxDEV)(E,{size:13,className:`animate-spin`},void 0,!1,{fileName:Y,lineNumber:97,columnNumber:17},this):(0,j.jsxDEV)(ne,{size:13},void 0,!1,{fileName:Y,lineNumber:97,columnNumber:66},this),` `,s(`actions.upload`),(0,j.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>a(e.target.files?.[0]??null)},void 0,!1,{fileName:Y,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:92,columnNumber:7},this),t&&i!=null&&(0,j.jsxDEV)(Z,{progress:i},void 0,!1,{fileName:Y,lineNumber:106,columnNumber:36},this),r&&(0,j.jsxDEV)(`span`,{className:`text-xs text-danger`,children:s(r)},void 0,!1,{fileName:Y,lineNumber:107,columnNumber:17},this)]},void 0,!0,{fileName:Y,lineNumber:91,columnNumber:5},this)}function Z({progress:e,label:t=`upload.progress`}){let{t:r}=n();return(0,j.jsxDEV)(`div`,{role:`progressbar`,"aria-label":r(t),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e,className:`h-1.5 w-full overflow-hidden rounded-full bg-border`,children:(0,j.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${Math.max(0,Math.min(100,e))}%`}},void 0,!1,{fileName:Y,lineNumber:123,columnNumber:7},this)},void 0,!1,{fileName:Y,lineNumber:115,columnNumber:5},this)}function oe(e,t){return e.map(e=>({value:e.value,title:t(e.title),subtitle:e.subtitle,icon:e.icon}))}function Q(e){return e>=0&&e<20?String.fromCodePoint(9312+e):String(e+1)}function se(e,t){let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n={}}let r=n&&typeof n==`object`?n:{};if(Array.isArray(r.checks)){let e=r.checks;return{text:String(r.text??``),checks:Array.from({length:t},(t,n)=>e[n]===!0)}}return{text:String(r.text??``),checks:Array.from({length:t},(e,t)=>r[`check${t}`]===!0)}}function ce(e){let t={text:e.text};return e.checks.forEach((e,n)=>{t[`check${n}`]=e}),t}function le({slots:e}){let{t}=n();if(e.length<=1||!e.some(e=>e))return null;let r=e.length>3;return(0,j.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs text-muted`,children:e.map((e,n)=>(0,j.jsxDEV)(A.Fragment,{children:[n>0&&(0,j.jsxDEV)(`span`,{className:`opacity-40`,children:`•`},void 0,!1,{fileName:Y,lineNumber:215,columnNumber:21},this),(0,j.jsxDEV)(`span`,{children:[r?`${Q(n)} `:``,e?t(e):`—`]},void 0,!0,{fileName:Y,lineNumber:216,columnNumber:11},this)]},n,!0,{fileName:Y,lineNumber:214,columnNumber:9},this))},void 0,!1,{fileName:Y,lineNumber:212,columnNumber:5},this)}var ue=e=>e>3;function de({value:e,onChange:t,renderInput:n,validate:r,serialize:i,display:a}){let[o,c]=(0,A.useState)(()=>X(e)),[d,f]=(0,A.useState)(``);(0,A.useEffect)(()=>{c(X(e))},[e]);function p(e){c(e),t(e.length>0?e:``)}function m(){let e=d.trim();if(!e||r&&!r(e))return;let t=i?i(e):e;t===null||o.includes(t)||(p([...o,t]),f(``))}return(0,j.jsxDEV)(J,{items:o,content:e=>a?a(String(e)):String(e),onRemove:e=>p(o.filter((t,n)=>n!==e)),editor:(0,j.jsxDEV)(u,{className:`[&>input]:h-auto [&>input]:rounded-none [&>input]:border-0 [&>input]:bg-transparent [&>input]:shadow-none [&>input]:focus-visible:ring-0 focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50`,children:[n(d,f,m),(0,j.jsxDEV)(s,{align:`inline-end`,children:(0,j.jsxDEV)(l,{size:`icon-xs`,"aria-label":`add`,onClick:m,children:(0,j.jsxDEV)(D,{},void 0,!1,{fileName:Y,lineNumber:286,columnNumber:15},this)},void 0,!1,{fileName:Y,lineNumber:285,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:284,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:282,columnNumber:9},this)},void 0,!1,{fileName:Y,lineNumber:277,columnNumber:5},this)}function $(e){return e!=null&&e!==``}function fe(e,t,n,r){return t.includes(n)?e.filter((e,t)=>t!==r).map(e=>String(e[n]??``)).filter(Boolean):[]}function pe(e){return e.slice(0,8)+`…`}var me=e=>e.length>60?e.slice(0,57)+`…`:e;function he(e,t,n){return e.hints.multiple===!0?(0,j.jsxDEV)(J,{items:O(t,[]),content:n,reserveEditor:!0},void 0,!1,{fileName:Y,lineNumber:335,columnNumber:12},this):$(t)?(0,j.jsxDEV)(j.Fragment,{children:n(t)},void 0,!1,{fileName:Y,lineNumber:336,columnNumber:28},this):(0,j.jsxDEV)(W,{},void 0,!1,{fileName:Y,lineNumber:336,columnNumber:52},this)}function ge(e,t,n=e=>!$(e)){return n(e)?(0,j.jsxDEV)(W,{},void 0,!1,{fileName:Y,lineNumber:345,columnNumber:27},this):(0,j.jsxDEV)(j.Fragment,{children:t(e)},void 0,!1,{fileName:Y,lineNumber:345,columnNumber:38},this)}function _e(e){return Object.keys(e).find(t=>e[t]?.kind===`cover`)}export{N as C,P as D,F as E,k as O,G as S,B as T,oe as _,ae as a,W as b,ce as c,_e as d,$ as f,pe as g,X as h,re as i,Q as l,ge as m,le as n,Z as o,he as p,de as r,ue as s,ie as t,se as u,me as v,R as w,J as x,fe as y};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NoMac-BarbbnIj.js","assets/react-vendor-BskHO5hY.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/ScanSummary-CtIkC51I.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t}from"./i18n-vendor-T6EnJ_TL.js";import{f as n,t as r}from"./react-vendor-BskHO5hY.js";import{c as i}from"./input-group-Bmvb-qBI.js";import{C as a,D as o,E as s,T as c,b as l,r as u,w as d,x as f}from"./shared-Bo5mxHya.js";import"./src-DKYT_mO5.js";import{n as p}from"./plugin-ui-CKd6q8ec.js";import{t as m}from"./json-CkyL3W27.js";import{t as h}from"./field-frame-BvHP_maQ.js";import{a as g,c as _,n as v,o as y,t as b}from"./data-size-Ki_AjEms.js";var x=e(t(),1);function S(e){let t=e.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let e=t.slice(1).map(Number);return e.every(e=>e>=0&&e<=255)?{v:4,a:e}:null}try{let t=e;if(e.includes(`::`)){let[n,r]=e.split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[],o=8-i.length-a.length;t=[...i,...Array(o).fill(`0`),...a].join(`:`)}let n=t.split(`:`);if(n.length!==8)return null;let r=n.map(e=>parseInt(e,16));return r.some(e=>isNaN(e)||e<0||e>65535)?null:{v:6,a:r}}catch{return null}}function C(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function w(e){let t=e.lastIndexOf(`/`);if(t===-1)return null;let n=e.slice(0,t),r=e.slice(t+1),i=parseInt(r,10),a=S(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function T(e){return`${C(e)}/${e.p}`}var E=r(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function O({value:e,onChange:t,parse:n,format:r,placeholder:a}){let o=(0,x.useMemo)(()=>{try{return JSON.parse(e)}catch{return null}},[e]),[s,c]=(0,x.useState)(o?r(o):e??``);(0,x.useEffect)(()=>{c(o?r(o):e||``)},[e,o]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,E.jsxDEV)(i,{value:s,placeholder:a,onChange:e=>c(e.target.value),onBlur:()=>l(s),onKeyDown:e=>{e.key===`Enter`&&l(s)}},void 0,!1,{fileName:D,lineNumber:51,columnNumber:5},this)}function k(e,t){return(0,E.jsxDEV)(f,{items:m(e,[]),content:e=>{let n=typeof e==`string`?m(e,null):e;return n&&typeof n==`object`?t(n):String(e)},reserveEditor:!0},void 0,!1,{fileName:D,lineNumber:68,columnNumber:5},this)}function A(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>C(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:C(e)},void 0,!1,{fileName:D,lineNumber:96,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:98,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:98,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>S(e.trim())!==null,serialize:e=>{let t=S(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return C(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.1`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:103,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:S,format:C,placeholder:`192.168.1.1`},void 0,!1,{fileName:D,lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:81,columnNumber:5},this)}function j({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:C(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:149,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:151,columnNumber:12},this)}}var M={kinds:[`ip`],Page:A,Inline:j};function N(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>T(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:T(e)},void 0,!1,{fileName:D,lineNumber:178,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:180,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:180,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>w(e.trim())!==null,serialize:e=>{let t=w(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return T(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.0/24`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:185,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:w,format:T,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:D,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:163,columnNumber:5},this)}function P({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:T(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:231,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:233,columnNumber:12},this)}}var F={kinds:[`cidr`],Page:N,Inline:P};function I({field:e,value:t,onChange:n}){let r=_(e),l=t===``?``:Number(t),[u,f]=(0,x.useState)(()=>l!==``&&Number(l)>0?v(Number(l),r)[0]:e.hints.unit??`GB`),p=g(r,u),m=l===``?``:Number((Number(l)/p).toFixed(4)),h=e=>Math.round(e*p);return(0,E.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,E.jsxDEV)(i,{type:`number`,className:`flex-1 min-w-0`,min:0,value:m,onChange:e=>n(e.target.value===``?``:String(h(Number(e.target.value))))},void 0,!1,{fileName:D,lineNumber:256,columnNumber:7},this),(0,E.jsxDEV)(a,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(s,{className:`w-24`,children:(0,E.jsxDEV)(o,{},void 0,!1,{fileName:D,lineNumber:265,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:264,columnNumber:9},this),(0,E.jsxDEV)(d,{children:b[r].map(([e])=>(0,E.jsxDEV)(c,{value:e,children:e},e,!1,{fileName:D,lineNumber:269,columnNumber:13},this))},void 0,!1,{fileName:D,lineNumber:267,columnNumber:9},this)]},void 0,!0,{fileName:D,lineNumber:263,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:255,columnNumber:5},this)}function L({value:e,system:t}){let n=y(e,t);return n?(0,E.jsxDEV)(`span`,{className:`tabular-nums`,children:n},void 0,!1,{fileName:D,lineNumber:281,columnNumber:14},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:281,columnNumber:58},this)}function R(e){let t=_(e.field);return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,E.jsxDEV)(L,{value:e,system:t},void 0,!1,{fileName:D,lineNumber:298,columnNumber:20},this),edit:(t,n)=>(0,E.jsxDEV)(I,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:D,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:D,lineNumber:287,columnNumber:5},this)}function z({field:e,value:t}){return(0,E.jsxDEV)(L,{value:t,system:_(e)},void 0,!1,{fileName:D,lineNumber:307,columnNumber:10},this)}var B=p({shelf:{library:`devices`,shelf:`network`},renderers:[M,F,{kinds:[`dataSize`],Page:R,Inline:z}],templates:{"devices.scan.noMac":()=>n(()=>import(`./NoMac-BarbbnIj.js`),__vite__mapDeps([0,1,2,3])),"devices.scan.summary":()=>n(()=>import(`./ScanSummary-CtIkC51I.js`),__vite__mapDeps([4,1,2,3]))}});export{B as default};
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t}from"./i18n-vendor-T6EnJ_TL.js";import{f as n,t as r}from"./react-vendor-BskHO5hY.js";import{c as i}from"./input-group-Bmvb-qBI.js";import{C as a,D as o,E as s,T as c,b as l,r as u,w as d,x as f}from"./shared-ndFHu4pt.js";import"./src-DKYT_mO5.js";import{n as p}from"./plugin-ui-CKd6q8ec.js";import{t as m}from"./json-CkyL3W27.js";import{t as h}from"./field-frame-Bkoto67V.js";import{a as g,c as _,n as v,o as y,t as b}from"./data-size-Ki_AjEms.js";var x=e(t(),1);function S(e){let t=e.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let e=t.slice(1).map(Number);return e.every(e=>e>=0&&e<=255)?{v:4,a:e}:null}try{let t=e;if(e.includes(`::`)){let[n,r]=e.split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[],o=8-i.length-a.length;t=[...i,...Array(o).fill(`0`),...a].join(`:`)}let n=t.split(`:`);if(n.length!==8)return null;let r=n.map(e=>parseInt(e,16));return r.some(e=>isNaN(e)||e<0||e>65535)?null:{v:6,a:r}}catch{return null}}function C(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function w(e){let t=e.lastIndexOf(`/`);if(t===-1)return null;let n=e.slice(0,t),r=e.slice(t+1),i=parseInt(r,10),a=S(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function T(e){return`${C(e)}/${e.p}`}var E=r(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function O({value:e,onChange:t,parse:n,format:r,placeholder:a}){let o=(0,x.useMemo)(()=>{try{return JSON.parse(e)}catch{return null}},[e]),[s,c]=(0,x.useState)(o?r(o):e??``);(0,x.useEffect)(()=>{c(o?r(o):e||``)},[e,o]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,E.jsxDEV)(i,{value:s,placeholder:a,onChange:e=>c(e.target.value),onBlur:()=>l(s),onKeyDown:e=>{e.key===`Enter`&&l(s)}},void 0,!1,{fileName:D,lineNumber:51,columnNumber:5},this)}function k(e,t){return(0,E.jsxDEV)(f,{items:m(e,[]),content:e=>{let n=typeof e==`string`?m(e,null):e;return n&&typeof n==`object`?t(n):String(e)},reserveEditor:!0},void 0,!1,{fileName:D,lineNumber:68,columnNumber:5},this)}function A(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>C(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:C(e)},void 0,!1,{fileName:D,lineNumber:96,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:98,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:98,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>S(e.trim())!==null,serialize:e=>{let t=S(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return C(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.1`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:103,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:S,format:C,placeholder:`192.168.1.1`},void 0,!1,{fileName:D,lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:81,columnNumber:5},this)}function j({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:C(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:149,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:151,columnNumber:12},this)}}var M={kinds:[`ip`],Page:A,Inline:j};function N(e){return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>T(e)):(()=>{let e=m(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:T(e)},void 0,!1,{fileName:D,lineNumber:178,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:180,columnNumber:28},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:180,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>w(e.trim())!==null,serialize:e=>{let t=w(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return T(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(i,{value:e,placeholder:`192.168.1.0/24`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:185,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:w,format:T,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:D,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:163,columnNumber:5},this)}function P({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:T(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:231,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:233,columnNumber:12},this)}}var F={kinds:[`cidr`],Page:N,Inline:P};function I({field:e,value:t,onChange:n}){let r=_(e),l=t===``?``:Number(t),[u,f]=(0,x.useState)(()=>l!==``&&Number(l)>0?v(Number(l),r)[0]:e.hints.unit??`GB`),p=g(r,u),m=l===``?``:Number((Number(l)/p).toFixed(4)),h=e=>Math.round(e*p);return(0,E.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,E.jsxDEV)(i,{type:`number`,className:`flex-1 min-w-0`,min:0,value:m,onChange:e=>n(e.target.value===``?``:String(h(Number(e.target.value))))},void 0,!1,{fileName:D,lineNumber:256,columnNumber:7},this),(0,E.jsxDEV)(a,{value:u,onValueChange:f,children:[(0,E.jsxDEV)(s,{className:`w-24`,children:(0,E.jsxDEV)(o,{},void 0,!1,{fileName:D,lineNumber:265,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:264,columnNumber:9},this),(0,E.jsxDEV)(d,{children:b[r].map(([e])=>(0,E.jsxDEV)(c,{value:e,children:e},e,!1,{fileName:D,lineNumber:269,columnNumber:13},this))},void 0,!1,{fileName:D,lineNumber:267,columnNumber:9},this)]},void 0,!0,{fileName:D,lineNumber:263,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:255,columnNumber:5},this)}function L({value:e,system:t}){let n=y(e,t);return n?(0,E.jsxDEV)(`span`,{className:`tabular-nums`,children:n},void 0,!1,{fileName:D,lineNumber:281,columnNumber:14},this):(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:281,columnNumber:58},this)}function R(e){let t=_(e.field);return(0,E.jsxDEV)(h,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,E.jsxDEV)(L,{value:e,system:t},void 0,!1,{fileName:D,lineNumber:298,columnNumber:20},this),edit:(t,n)=>(0,E.jsxDEV)(I,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:D,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:D,lineNumber:287,columnNumber:5},this)}function z({field:e,value:t}){return(0,E.jsxDEV)(L,{value:t,system:_(e)},void 0,!1,{fileName:D,lineNumber:307,columnNumber:10},this)}var B=p({shelf:{library:`devices`,shelf:`network`},renderers:[M,F,{kinds:[`dataSize`],Page:R,Inline:z}],templates:{"devices.scan.noMac":()=>n(()=>import(`./NoMac-BarbbnIj.js`),__vite__mapDeps([0,1,2,3])),"devices.scan.summary":()=>n(()=>import(`./ScanSummary-CtIkC51I.js`),__vite__mapDeps([4,1,2,3]))}});export{B as default};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/GeoMap-DOMXVIzU.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-BskHO5hY.js","assets/GeoMap-vh-t_kPv.css"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{f as r,l as i,r as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,t as c}from"./x-BFRg18Fi.js";import{c as l}from"./input-group-Bmvb-qBI.js";import{a as u,u as d}from"./Icon-CdBq17IP.js";import{t as f}from"./button-D-Q6I5Ob.js";import"./shared-Bo5mxHya.js";import{a as p,o as m}from"./chrome-DUkOYMaR.js";import{r as h,s as g}from"./shelf-BdJ77CWj.js";import"./src-DKYT_mO5.js";import{n as _}from"./plugin-ui-CKd6q8ec.js";import{t as v}from"./dispatch-Pl-o9vd6.js";var y=s(`locate-fixed`,[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`,key:`bvdh0s`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`,key:`1tbv5k`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`,key:`11lu5j`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}],[`circle`,{cx:`12`,cy:`12`,r:`7`,key:`fim9np`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),b=e(t(),1);function x(e,t){return Math.floor((e+180)/360*2**t)}function S(e,t){let n=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(n)+1/Math.cos(n))/Math.PI)/2*2**t)}function C(e,t,n=13){return`https://tile.openstreetmap.org/${n}/${x(t,n)}/${S(e,n)}.png`}var w=o(),T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/geo-field.tsx`,E=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`),__vite__mapDeps([0,1,2,3,4])));function D(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var O=e=>Number(e.toFixed(6)),k=e=>e.lat==null&&e.lng==null&&!e.label?``:e;function A({g:e,onOpen:t}){let{t:r}=n();return e.lat==null||e.lng==null?(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex h-24 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border text-sm text-muted hover:border-accent`,children:[(0,w.jsxDEV)(d,{size:16},void 0,!1,{fileName:T,lineNumber:35,columnNumber:9},this),` `,r(`geo.pick`)]},void 0,!0,{fileName:T,lineNumber:30,columnNumber:7},this):(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,title:e.label??`${e.lat}, ${e.lng}`,className:`relative block h-24 w-full overflow-hidden rounded-lg border border-border hover:border-accent`,children:[(0,w.jsxDEV)(`img`,{src:C(e.lat,e.lng),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:T,lineNumber:46,columnNumber:7},this),(0,w.jsxDEV)(d,{size:22,fill:`currentColor`,className:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-full text-danger drop-shadow`},void 0,!1,{fileName:T,lineNumber:47,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:40,columnNumber:5},this)}function j({value:e,onChange:t,editable:r,onClose:i}){let{t:a}=n(),[o,s]=(0,b.useState)(()=>D(e)),[d,p]=(0,b.useState)(``),[m,h]=(0,b.useState)(!1),g=e=>s(e),_=e=>e===``?void 0:Number(e),v=(0,b.useRef)(o);v.current=o;let x=(0,b.useCallback)(()=>i(),[i]),S=(0,b.useCallback)(()=>{t?.(k(v.current)),i()},[t,i]);(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&x()};return document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=``}},[x]);function C(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>g({...o,lat:O(e.coords.latitude),lng:O(e.coords.longitude)}),()=>{},{enableHighAccuracy:!0})}async function A(){if(d.trim()){h(!0);try{let e=await(await fetch(`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(d)}`)).json();Array.isArray(e)&&e[0]&&g({lat:O(+e[0].lat),lng:O(+e[0].lon),label:o.label||e[0].display_name})}catch{}h(!1)}}return(0,w.jsxDEV)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center bg-black/85 p-4 backdrop-blur-sm`,onClick:x,children:(0,w.jsxDEV)(`div`,{className:`flex max-h-[92dvh] w-full max-w-3xl flex-col gap-2 rounded-xl bg-bg p-3`,onClick:e=>e.stopPropagation(),children:[(0,w.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[r&&(0,w.jsxDEV)(w.Fragment,{children:[(0,w.jsxDEV)(l,{placeholder:a(`geo.searchPlaceholder`),value:d,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),A())},className:`flex-1`},void 0,!1,{fileName:T,lineNumber:133,columnNumber:15},this),(0,w.jsxDEV)(f,{type:`button`,variant:`secondary`,size:`icon`,disabled:m,onClick:A,title:a(`geo.search`),children:(0,w.jsxDEV)(u,{size:16},void 0,!1,{fileName:T,lineNumber:153,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:145,columnNumber:15},this),(0,w.jsxDEV)(f,{type:`button`,variant:`secondary`,size:`icon`,onClick:C,title:a(`geo.myLocation`),children:(0,w.jsxDEV)(y,{size:16},void 0,!1,{fileName:T,lineNumber:156,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:155,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:132,columnNumber:13},this),(0,w.jsxDEV)(f,{type:`button`,variant:`ghost`,size:`icon`,onClick:x,className:`ml-auto`,children:(0,w.jsxDEV)(c,{size:18},void 0,!1,{fileName:T,lineNumber:161,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:160,columnNumber:11},this)]},void 0,!0,{fileName:T,lineNumber:130,columnNumber:9},this),(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-[60dvh] rounded-lg border border-border bg-surface/40`},void 0,!1,{fileName:T,lineNumber:164,columnNumber:29},this),children:(0,w.jsxDEV)(`div`,{className:`[&>div]:h-[60dvh]`,children:(0,w.jsxDEV)(E,{lat:o.lat,lng:o.lng,interactive:r,onPick:r?(e,t)=>g({...o,lat:e,lng:t}):void 0},void 0,!1,{fileName:T,lineNumber:166,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:165,columnNumber:11},this)},void 0,!1,{fileName:T,lineNumber:164,columnNumber:9},this),r?(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,w.jsxDEV)(`div`,{className:`grid flex-1 grid-cols-1 gap-2 sm:grid-cols-[7rem_7rem_1fr]`,children:[(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lat`,value:o.lat??``,onChange:e=>g({...o,lat:_(e.target.value)})},void 0,!1,{fileName:T,lineNumber:178,columnNumber:15},this),(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lng`,value:o.lng??``,onChange:e=>g({...o,lng:_(e.target.value)})},void 0,!1,{fileName:T,lineNumber:185,columnNumber:15},this),(0,w.jsxDEV)(l,{placeholder:a(`geo.label`),value:o.label??``,onChange:e=>g({...o,label:e.target.value||void 0})},void 0,!1,{fileName:T,lineNumber:192,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:177,columnNumber:13},this),(0,w.jsxDEV)(f,{type:`button`,onClick:S,className:`sm:self-auto`,children:a(`actions.save`)},void 0,!1,{fileName:T,lineNumber:198,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:175,columnNumber:11},this):o.lat!=null&&o.lng!=null&&(0,w.jsxDEV)(`a`,{className:`text-sm text-accent hover:underline`,target:`_blank`,rel:`noreferrer`,href:`https://www.openstreetmap.org/?mlat=${o.lat}&mlon=${o.lng}#map=15/${o.lat}/${o.lng}`,children:o.label??`${o.lat.toFixed(5)}, ${o.lng?.toFixed(5)}`},void 0,!1,{fileName:T,lineNumber:205,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:126,columnNumber:7},this)},void 0,!1,{fileName:T,lineNumber:122,columnNumber:5},this)}function M({value:e,onChange:t,editable:n}){let r=(0,b.useMemo)(()=>D(e),[e]),[i,a]=(0,b.useState)(!1);return(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxDEV)(A,{g:r,onOpen:()=>a(!0)},void 0,!1,{fileName:T,lineNumber:225,columnNumber:7},this),r.label&&(0,w.jsxDEV)(`span`,{className:`truncate text-xs text-muted`,children:r.label},void 0,!1,{fileName:T,lineNumber:226,columnNumber:19},this),i&&(0,w.jsxDEV)(j,{value:e,onChange:t,editable:n,onClose:()=>a(!1)},void 0,!1,{fileName:T,lineNumber:227,columnNumber:16},this)]},void 0,!0,{fileName:T,lineNumber:224,columnNumber:5},this)}function N(e){let t=!!e.onChange&&!(e.field.hints.noEditControl===!0&&e.mode===`view`),n=(0,w.jsxDEV)(M,{value:e.value,onChange:t=>e.onChange?.(t),editable:t},void 0,!1,{fileName:T,lineNumber:234,columnNumber:16},this);return e.bare?n:(0,w.jsxDEV)(`div`,{className:`group/field w-56`,children:[e.label!==void 0&&(0,w.jsxDEV)(m,{label:e.label,required:e.required},void 0,!1,{fileName:T,lineNumber:238,columnNumber:33},this),n,(0,w.jsxDEV)(p,{error:e.error},void 0,!1,{fileName:T,lineNumber:240,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:237,columnNumber:5},this)}function P({value:e}){let t=D(e);return(0,w.jsxDEV)(`span`,{className:`truncate`,children:t.label??(t.lat==null?`—`:`${t.lat.toFixed(3)}, ${t.lng?.toFixed(3)}`)},void 0,!1,{fileName:T,lineNumber:248,columnNumber:5},this)}var F={kinds:[`geo`],Page:N,Inline:P};function I(e,t){let n=g(e.fields);return t.filter(e=>n[e]?.kind===`geo`)}function L(e,t){let n=I(e,t);return n.length===1?n[0]:null}function R(e,t){let n=g(e.fields),r=t[0];if(!r||!n[r])return`views.list.fields: shelf has no text field for its title (titleKey fell back to "id")`;let i=I(e,t);return i.length===0?`views.list.fields does not contain a kind:"geo" field`:i.length>1?`views.list.fields contains multiple geo fields: ${i.join(`, `)}`:null}var z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/map-view.tsx`,B=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`).then(e=>({default:e.MarkersMap})),__vite__mapDeps([0,1,2,3,4])));function V({rows:e,shelf:t,keys:r,hrefBase:o}){let{t:s}=n(),c=i(),[l,u]=(0,b.useState)(!1),d=g(t.fields),f=L(t,r),p=r[0],{points:m,without:_}=(0,b.useMemo)(()=>{let t=[],n=[];for(let r of e){let e=f?h(d[f],f,r):void 0;e&&typeof e.lat==`number`&&typeof e.lng==`number`?t.push({id:String(r.id),lat:e.lat,lng:e.lng,title:String(h(d[p],p,r)??r.id)}):n.push(r)}return{points:t,without:n}},[e,f,p,d]);return(0,w.jsxDEV)(`div`,{className:`p-4`,children:[(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-64 rounded-lg border border-border`},void 0,!1,{fileName:z,lineNumber:48,columnNumber:27},this),children:(0,w.jsxDEV)(B,{points:m,onPick:e=>c(`${o}/${e}`)},void 0,!1,{fileName:z,lineNumber:49,columnNumber:9},this)},void 0,!1,{fileName:z,lineNumber:48,columnNumber:7},this),_.length>0&&(0,w.jsxDEV)(`div`,{className:`mt-3`,children:[(0,w.jsxDEV)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`text-sm text-muted hover:text-text transition-colors`,children:s(`geo.withoutCoords`,{count:_.length})},void 0,!1,{fileName:z,lineNumber:53,columnNumber:11},this),l&&(0,w.jsxDEV)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:_.map(e=>(0,w.jsxDEV)(`li`,{children:(0,w.jsxDEV)(a,{to:`${o}/${e.id}`,className:`text-sm text-text hover:text-accent`,children:(0,w.jsxDEV)(v,{field:d[p],value:h(d[p],p,e)},void 0,!1,{fileName:z,lineNumber:65,columnNumber:21},this)},void 0,!1,{fileName:z,lineNumber:64,columnNumber:19},this)},String(e.id),!1,{fileName:z,lineNumber:63,columnNumber:17},this))},void 0,!1,{fileName:z,lineNumber:61,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:z,lineNumber:47,columnNumber:5},this)}var H=_({renderers:[F],listViews:[{kind:`map`,View:V,check:R}],translations:{uk:{geo:{searchPlaceholder:`Пошук адреси…`,search:`Знайти`,myLocation:`Моє місцеположення`,label:`Підпис`,pick:`Обрати місце`,withoutCoords:`Без координат: {{count}}`}},ru:{geo:{searchPlaceholder:`Поиск адреса…`,search:`Найти`,myLocation:`Моё местоположение`,label:`Подпись`,pick:`Выбрать место`,withoutCoords:`Без координат: {{count}}`}},en:{geo:{searchPlaceholder:`Search address…`,search:`Search`,myLocation:`My location`,label:`Label`,pick:`Pick location`,withoutCoords:`Without coordinates: {{count}}`}}}});export{H as default};
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{f as r,l as i,r as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,t as c}from"./x-BFRg18Fi.js";import{c as l}from"./input-group-Bmvb-qBI.js";import{a as u,u as d}from"./Icon-DaSvVHpK.js";import{t as f}from"./button-D-Q6I5Ob.js";import"./shared-ndFHu4pt.js";import{a as p,o as m}from"./chrome-sd97kYfl.js";import{r as h,s as g}from"./shelf-BdJ77CWj.js";import"./src-DKYT_mO5.js";import{n as _}from"./plugin-ui-CKd6q8ec.js";import{t as v}from"./dispatch-Pl-o9vd6.js";var y=s(`locate-fixed`,[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`,key:`bvdh0s`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`,key:`1tbv5k`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`,key:`11lu5j`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}],[`circle`,{cx:`12`,cy:`12`,r:`7`,key:`fim9np`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),b=e(t(),1);function x(e,t){return Math.floor((e+180)/360*2**t)}function S(e,t){let n=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(n)+1/Math.cos(n))/Math.PI)/2*2**t)}function C(e,t,n=13){return`https://tile.openstreetmap.org/${n}/${x(t,n)}/${S(e,n)}.png`}var w=o(),T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/geo-field.tsx`,E=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`),__vite__mapDeps([0,1,2,3,4])));function D(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var O=e=>Number(e.toFixed(6)),k=e=>e.lat==null&&e.lng==null&&!e.label?``:e;function A({g:e,onOpen:t}){let{t:r}=n();return e.lat==null||e.lng==null?(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex h-24 w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-border text-sm text-muted hover:border-accent`,children:[(0,w.jsxDEV)(d,{size:16},void 0,!1,{fileName:T,lineNumber:35,columnNumber:9},this),` `,r(`geo.pick`)]},void 0,!0,{fileName:T,lineNumber:30,columnNumber:7},this):(0,w.jsxDEV)(`button`,{type:`button`,onClick:t,title:e.label??`${e.lat}, ${e.lng}`,className:`relative block h-24 w-full overflow-hidden rounded-lg border border-border hover:border-accent`,children:[(0,w.jsxDEV)(`img`,{src:C(e.lat,e.lng),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:T,lineNumber:46,columnNumber:7},this),(0,w.jsxDEV)(d,{size:22,fill:`currentColor`,className:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-full text-danger drop-shadow`},void 0,!1,{fileName:T,lineNumber:47,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:40,columnNumber:5},this)}function j({value:e,onChange:t,editable:r,onClose:i}){let{t:a}=n(),[o,s]=(0,b.useState)(()=>D(e)),[d,p]=(0,b.useState)(``),[m,h]=(0,b.useState)(!1),g=e=>s(e),_=e=>e===``?void 0:Number(e),v=(0,b.useRef)(o);v.current=o;let x=(0,b.useCallback)(()=>i(),[i]),S=(0,b.useCallback)(()=>{t?.(k(v.current)),i()},[t,i]);(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&x()};return document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=``}},[x]);function C(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>g({...o,lat:O(e.coords.latitude),lng:O(e.coords.longitude)}),()=>{},{enableHighAccuracy:!0})}async function A(){if(d.trim()){h(!0);try{let e=await(await fetch(`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(d)}`)).json();Array.isArray(e)&&e[0]&&g({lat:O(+e[0].lat),lng:O(+e[0].lon),label:o.label||e[0].display_name})}catch{}h(!1)}}return(0,w.jsxDEV)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center bg-black/85 p-4 backdrop-blur-sm`,onClick:x,children:(0,w.jsxDEV)(`div`,{className:`flex max-h-[92dvh] w-full max-w-3xl flex-col gap-2 rounded-xl bg-bg p-3`,onClick:e=>e.stopPropagation(),children:[(0,w.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[r&&(0,w.jsxDEV)(w.Fragment,{children:[(0,w.jsxDEV)(l,{placeholder:a(`geo.searchPlaceholder`),value:d,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),A())},className:`flex-1`},void 0,!1,{fileName:T,lineNumber:133,columnNumber:15},this),(0,w.jsxDEV)(f,{type:`button`,variant:`secondary`,size:`icon`,disabled:m,onClick:A,title:a(`geo.search`),children:(0,w.jsxDEV)(u,{size:16},void 0,!1,{fileName:T,lineNumber:153,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:145,columnNumber:15},this),(0,w.jsxDEV)(f,{type:`button`,variant:`secondary`,size:`icon`,onClick:C,title:a(`geo.myLocation`),children:(0,w.jsxDEV)(y,{size:16},void 0,!1,{fileName:T,lineNumber:156,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:155,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:132,columnNumber:13},this),(0,w.jsxDEV)(f,{type:`button`,variant:`ghost`,size:`icon`,onClick:x,className:`ml-auto`,children:(0,w.jsxDEV)(c,{size:18},void 0,!1,{fileName:T,lineNumber:161,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:160,columnNumber:11},this)]},void 0,!0,{fileName:T,lineNumber:130,columnNumber:9},this),(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-[60dvh] rounded-lg border border-border bg-surface/40`},void 0,!1,{fileName:T,lineNumber:164,columnNumber:29},this),children:(0,w.jsxDEV)(`div`,{className:`[&>div]:h-[60dvh]`,children:(0,w.jsxDEV)(E,{lat:o.lat,lng:o.lng,interactive:r,onPick:r?(e,t)=>g({...o,lat:e,lng:t}):void 0},void 0,!1,{fileName:T,lineNumber:166,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:165,columnNumber:11},this)},void 0,!1,{fileName:T,lineNumber:164,columnNumber:9},this),r?(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,w.jsxDEV)(`div`,{className:`grid flex-1 grid-cols-1 gap-2 sm:grid-cols-[7rem_7rem_1fr]`,children:[(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lat`,value:o.lat??``,onChange:e=>g({...o,lat:_(e.target.value)})},void 0,!1,{fileName:T,lineNumber:178,columnNumber:15},this),(0,w.jsxDEV)(l,{type:`number`,step:`any`,placeholder:`lng`,value:o.lng??``,onChange:e=>g({...o,lng:_(e.target.value)})},void 0,!1,{fileName:T,lineNumber:185,columnNumber:15},this),(0,w.jsxDEV)(l,{placeholder:a(`geo.label`),value:o.label??``,onChange:e=>g({...o,label:e.target.value||void 0})},void 0,!1,{fileName:T,lineNumber:192,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:177,columnNumber:13},this),(0,w.jsxDEV)(f,{type:`button`,onClick:S,className:`sm:self-auto`,children:a(`actions.save`)},void 0,!1,{fileName:T,lineNumber:198,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:175,columnNumber:11},this):o.lat!=null&&o.lng!=null&&(0,w.jsxDEV)(`a`,{className:`text-sm text-accent hover:underline`,target:`_blank`,rel:`noreferrer`,href:`https://www.openstreetmap.org/?mlat=${o.lat}&mlon=${o.lng}#map=15/${o.lat}/${o.lng}`,children:o.label??`${o.lat.toFixed(5)}, ${o.lng?.toFixed(5)}`},void 0,!1,{fileName:T,lineNumber:205,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:126,columnNumber:7},this)},void 0,!1,{fileName:T,lineNumber:122,columnNumber:5},this)}function M({value:e,onChange:t,editable:n}){let r=(0,b.useMemo)(()=>D(e),[e]),[i,a]=(0,b.useState)(!1);return(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxDEV)(A,{g:r,onOpen:()=>a(!0)},void 0,!1,{fileName:T,lineNumber:225,columnNumber:7},this),r.label&&(0,w.jsxDEV)(`span`,{className:`truncate text-xs text-muted`,children:r.label},void 0,!1,{fileName:T,lineNumber:226,columnNumber:19},this),i&&(0,w.jsxDEV)(j,{value:e,onChange:t,editable:n,onClose:()=>a(!1)},void 0,!1,{fileName:T,lineNumber:227,columnNumber:16},this)]},void 0,!0,{fileName:T,lineNumber:224,columnNumber:5},this)}function N(e){let t=!!e.onChange&&!(e.field.hints.noEditControl===!0&&e.mode===`view`),n=(0,w.jsxDEV)(M,{value:e.value,onChange:t=>e.onChange?.(t),editable:t},void 0,!1,{fileName:T,lineNumber:234,columnNumber:16},this);return e.bare?n:(0,w.jsxDEV)(`div`,{className:`group/field w-56`,children:[e.label!==void 0&&(0,w.jsxDEV)(m,{label:e.label,required:e.required},void 0,!1,{fileName:T,lineNumber:238,columnNumber:33},this),n,(0,w.jsxDEV)(p,{error:e.error},void 0,!1,{fileName:T,lineNumber:240,columnNumber:7},this)]},void 0,!0,{fileName:T,lineNumber:237,columnNumber:5},this)}function P({value:e}){let t=D(e);return(0,w.jsxDEV)(`span`,{className:`truncate`,children:t.label??(t.lat==null?`—`:`${t.lat.toFixed(3)}, ${t.lng?.toFixed(3)}`)},void 0,!1,{fileName:T,lineNumber:248,columnNumber:5},this)}var F={kinds:[`geo`],Page:N,Inline:P};function I(e,t){let n=g(e.fields);return t.filter(e=>n[e]?.kind===`geo`)}function L(e,t){let n=I(e,t);return n.length===1?n[0]:null}function R(e,t){let n=g(e.fields),r=t[0];if(!r||!n[r])return`views.list.fields: shelf has no text field for its title (titleKey fell back to "id")`;let i=I(e,t);return i.length===0?`views.list.fields does not contain a kind:"geo" field`:i.length>1?`views.list.fields contains multiple geo fields: ${i.join(`, `)}`:null}var z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-geo/src/map-view.tsx`,B=(0,b.lazy)(()=>r(()=>import(`./GeoMap-DOMXVIzU.js`).then(e=>({default:e.MarkersMap})),__vite__mapDeps([0,1,2,3,4])));function V({rows:e,shelf:t,keys:r,hrefBase:o}){let{t:s}=n(),c=i(),[l,u]=(0,b.useState)(!1),d=g(t.fields),f=L(t,r),p=r[0],{points:m,without:_}=(0,b.useMemo)(()=>{let t=[],n=[];for(let r of e){let e=f?h(d[f],f,r):void 0;e&&typeof e.lat==`number`&&typeof e.lng==`number`?t.push({id:String(r.id),lat:e.lat,lng:e.lng,title:String(h(d[p],p,r)??r.id)}):n.push(r)}return{points:t,without:n}},[e,f,p,d]);return(0,w.jsxDEV)(`div`,{className:`p-4`,children:[(0,w.jsxDEV)(b.Suspense,{fallback:(0,w.jsxDEV)(`div`,{className:`h-64 rounded-lg border border-border`},void 0,!1,{fileName:z,lineNumber:48,columnNumber:27},this),children:(0,w.jsxDEV)(B,{points:m,onPick:e=>c(`${o}/${e}`)},void 0,!1,{fileName:z,lineNumber:49,columnNumber:9},this)},void 0,!1,{fileName:z,lineNumber:48,columnNumber:7},this),_.length>0&&(0,w.jsxDEV)(`div`,{className:`mt-3`,children:[(0,w.jsxDEV)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`text-sm text-muted hover:text-text transition-colors`,children:s(`geo.withoutCoords`,{count:_.length})},void 0,!1,{fileName:z,lineNumber:53,columnNumber:11},this),l&&(0,w.jsxDEV)(`ul`,{className:`mt-2 flex flex-col gap-1`,children:_.map(e=>(0,w.jsxDEV)(`li`,{children:(0,w.jsxDEV)(a,{to:`${o}/${e.id}`,className:`text-sm text-text hover:text-accent`,children:(0,w.jsxDEV)(v,{field:d[p],value:h(d[p],p,e)},void 0,!1,{fileName:z,lineNumber:65,columnNumber:21},this)},void 0,!1,{fileName:z,lineNumber:64,columnNumber:19},this)},String(e.id),!1,{fileName:z,lineNumber:63,columnNumber:17},this))},void 0,!1,{fileName:z,lineNumber:61,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:z,lineNumber:47,columnNumber:5},this)}var H=_({renderers:[F],listViews:[{kind:`map`,View:V,check:R}],translations:{uk:{geo:{searchPlaceholder:`Пошук адреси…`,search:`Знайти`,myLocation:`Моє місцеположення`,label:`Підпис`,pick:`Обрати місце`,withoutCoords:`Без координат: {{count}}`}},ru:{geo:{searchPlaceholder:`Поиск адреса…`,search:`Найти`,myLocation:`Моё местоположение`,label:`Подпись`,pick:`Выбрать место`,withoutCoords:`Без координат: {{count}}`}},en:{geo:{searchPlaceholder:`Search address…`,search:`Search`,myLocation:`My location`,label:`Label`,pick:`Pick location`,withoutCoords:`Without coordinates: {{count}}`}}}});export{H as default};
package/dist/index.html CHANGED
@@ -38,7 +38,7 @@
38
38
  }
39
39
  }
40
40
  </script>
41
- <script type="module" crossorigin src="/assets/index-BarQtGU4.js"></script>
41
+ <script type="module" crossorigin src="/assets/index-DcR103zg.js"></script>
42
42
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
43
43
  <link rel="modulepreload" crossorigin href="/assets/i18n-vendor-T6EnJ_TL.js">
44
44
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-BskHO5hY.js">
@@ -49,34 +49,34 @@
49
49
  <link rel="modulepreload" crossorigin href="/assets/ui-vendor-EU9CHLyR.js">
50
50
  <link rel="modulepreload" crossorigin href="/assets/button-D-Q6I5Ob.js">
51
51
  <link rel="modulepreload" crossorigin href="/assets/square-CiErsTOS.js">
52
- <link rel="modulepreload" crossorigin href="/assets/Icon-CdBq17IP.js">
52
+ <link rel="modulepreload" crossorigin href="/assets/Icon-DaSvVHpK.js">
53
53
  <link rel="modulepreload" crossorigin href="/assets/fields-CnmTcDr4.js">
54
54
  <link rel="modulepreload" crossorigin href="/assets/src-DKYT_mO5.js">
55
- <link rel="modulepreload" crossorigin href="/assets/chrome-DUkOYMaR.js">
55
+ <link rel="modulepreload" crossorigin href="/assets/chrome-sd97kYfl.js">
56
56
  <link rel="modulepreload" crossorigin href="/assets/shelf-BdJ77CWj.js">
57
- <link rel="modulepreload" crossorigin href="/assets/field-frame-BvHP_maQ.js">
57
+ <link rel="modulepreload" crossorigin href="/assets/field-frame-Bkoto67V.js">
58
58
  <link rel="modulepreload" crossorigin href="/assets/extend-lcgcPDs5.js">
59
59
  <link rel="modulepreload" crossorigin href="/assets/plugin-q1oOYqt7.js">
60
60
  <link rel="modulepreload" crossorigin href="/assets/development-olQNibq5.js">
61
61
  <link rel="modulepreload" crossorigin href="/assets/micromark-extension-gfm-BUw6_ZLT.js">
62
- <link rel="modulepreload" crossorigin href="/assets/Toolbar-DXfFoY9S.js">
62
+ <link rel="modulepreload" crossorigin href="/assets/Toolbar-BnOdDu6X.js">
63
63
  <link rel="modulepreload" crossorigin href="/assets/PageBody-Y-cpiRMh.js">
64
- <link rel="modulepreload" crossorigin href="/assets/SettingsForm-DdtiBGb3.js">
64
+ <link rel="modulepreload" crossorigin href="/assets/SettingsForm-Uo2Q5LpZ.js">
65
65
  <link rel="modulepreload" crossorigin href="/assets/input-group-Bmvb-qBI.js">
66
- <link rel="modulepreload" crossorigin href="/assets/ExtendReasonInfo-z28f5Xmg.js">
66
+ <link rel="modulepreload" crossorigin href="/assets/ExtendReasonInfo-CgKQ39nC.js">
67
+ <link rel="modulepreload" crossorigin href="/assets/api-8XMJe9yT.js">
68
+ <link rel="modulepreload" crossorigin href="/assets/dialog-DqWXrq6M.js">
69
+ <link rel="modulepreload" crossorigin href="/assets/ThemeSwitcher-ZT85TTNj.js">
67
70
  <link rel="modulepreload" crossorigin href="/assets/upload-Bp-ZANIb.js">
68
71
  <link rel="modulepreload" crossorigin href="/assets/json-CkyL3W27.js">
69
- <link rel="modulepreload" crossorigin href="/assets/shared-Bo5mxHya.js">
72
+ <link rel="modulepreload" crossorigin href="/assets/shared-ndFHu4pt.js">
70
73
  <link rel="modulepreload" crossorigin href="/assets/use-media-query-BED2JoBm.js">
71
74
  <link rel="modulepreload" crossorigin href="/assets/plugin-ui-CKd6q8ec.js">
72
75
  <link rel="modulepreload" crossorigin href="/assets/markdown-vendor-CtaBI5gJ.js">
73
76
  <link rel="modulepreload" crossorigin href="/assets/purify.es-sLXpNpJ5.js">
74
77
  <link rel="modulepreload" crossorigin href="/assets/combobox-DkZHekBD.js">
75
78
  <link rel="modulepreload" crossorigin href="/assets/countries-BlKrWFMP.js">
76
- <link rel="modulepreload" crossorigin href="/assets/api-8XMJe9yT.js">
77
79
  <link rel="modulepreload" crossorigin href="/assets/dispatch-Pl-o9vd6.js">
78
- <link rel="modulepreload" crossorigin href="/assets/dialog-DqWXrq6M.js">
79
- <link rel="modulepreload" crossorigin href="/assets/auth-context-B8vB6FP0.js">
80
80
  <link rel="modulepreload" crossorigin href="/assets/space-separated-tokens-IJiqTQpk.js">
81
81
  <link rel="modulepreload" crossorigin href="/assets/lib-BJGpevNH.js">
82
82
  <link rel="stylesheet" crossorigin href="/assets/index-DMyAtZ9J.css">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coffer-org/web",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=24"
@@ -1,3 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{r,t as i}from"./react-vendor-BskHO5hY.js";import{r as a}from"./x-BFRg18Fi.js";import{n as o,t as s}from"./ui-vendor-EU9CHLyR.js";import{t as c}from"./Icon-CdBq17IP.js";import{r as l,t as u}from"./button-D-Q6I5Ob.js";import{A as d,D as f,E as p,O as m,h,p as g}from"./api-8XMJe9yT.js";import{a as _,n as v,r as y}from"./auth-context-B8vB6FP0.js";import{t as b}from"./PageBody-Y-cpiRMh.js";var x=e(t(),1),S=i(),C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/switch.tsx`,w=x.forwardRef(({className:e,...t},n)=>(0,S.jsxDEV)(s,{ref:n,className:a(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,`disabled:cursor-not-allowed disabled:opacity-50`,`data-[state=checked]:bg-primary data-[state=unchecked]:bg-border`,e),...t,children:(0,S.jsxDEV)(o,{className:a(`pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform`,`data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)},void 0,!1,{fileName:C,lineNumber:20,columnNumber:5},void 0)},void 0,!1,{fileName:C,lineNumber:9,columnNumber:3},void 0));w.displayName=s.displayName;var T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/badge.tsx`,E=l(`inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-semibold transition-colors`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground`,secondary:`border-transparent bg-secondary text-secondary-foreground`,destructive:`border-transparent bg-destructive text-destructive-foreground`,outline:`border-border text-text`,accent:`border-accent/30 bg-accent/15 text-accent`}},defaultVariants:{variant:`default`}});function D({className:e,variant:t,...n}){return(0,S.jsxDEV)(`div`,{className:a(E({variant:t}),e),...n},void 0,!1,{fileName:T,lineNumber:24,columnNumber:10},this)}var O=/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;function k(e){let t=O.exec(e.trim());if(!t)return null;let n=t[4]?.split(`.`)??[];return n.some(e=>/^\d+$/.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),prerelease:n}}function A(e,t){let n=/^\d+$/.test(e),r=/^\d+$/.test(t);return n&&r?e.length===t.length?e===t?0:e>t?1:-1:e.length>t.length?1:-1:n===r?e===t?0:e>t?1:-1:n?-1:1}function j(e,t){let n=k(e),r=k(t);if(!n||!r)return!1;for(let e of[`major`,`minor`,`patch`])if(n[e]!==r[e])return n[e]>r[e];if(n.prerelease.length===0||r.prerelease.length===0)return n.prerelease.length===0&&r.prerelease.length>0;let i=Math.max(n.prerelease.length,r.prerelease.length);for(let e=0;e<i;e++){let t=n.prerelease[e],i=r.prerelease[e];if(t===void 0)return!1;if(i===void 0)return!0;let a=A(t,i);if(a!==0)return a>0}return!1}var M=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsPage.tsx`;async function N(){let e=Date.now();for(;Date.now()-e<3e4;){await new Promise(e=>setTimeout(e,1e3));try{if((await fetch(`/health`)).ok)return!0}catch{}}return!1}function P(){let{t:e}=n(),{role:t}=v(),i=t===`admin`,[a,o]=(0,x.useState)([]),[s,l]=(0,x.useState)(!0),[C,T]=(0,x.useState)(null),[E,O]=(0,x.useState)(!1),k=e=>C===e||C===`*`,[A,P]=(0,x.useState)(null),I=a.filter(e=>e.latestVersion&&j(e.latestVersion,e.installedVersion)),L=!!(A?.latestVersion&&A.installedVersion&&j(A.latestVersion,A.installedVersion)),R=I.length+ +!!L,[z,B]=(0,x.useState)(null),[V,H]=(0,x.useState)(!1),U=t=>e(`${t}.plugin.label`,{defaultValue:t}),W=t=>e(`${t}.plugin.description`,{defaultValue:``}),G=t=>e(`${t}.library.label`,{defaultValue:t}),K=(t,n)=>e(`${t}.${n}.label`,{defaultValue:n}),q={core_required:()=>e(`plugins.errors.core_required`),has_dependents:t=>e(`plugins.errors.has_dependents`,{list:t.dependents.join(`, `)}),missing_deps:t=>e(`plugins.errors.missing_deps`,{list:t.deps.join(`, `)}),unknown_plugin:()=>e(`plugins.errors.unknown_plugin`)},J=(e=!1)=>Promise.all([h(e?{refresh:!0}:void 0),g(e?{refresh:!0}:void 0)]).then(([e,t])=>{o(e),P(t),l(!1)});(0,x.useEffect)(()=>{J()},[]);async function Y(){O(!0),B(null);try{await J(!0)}catch{B(e(`plugins.updateCheckError`))}finally{O(!1)}}async function X(t){if(!await _({title:e(`plugins.purgeTitle`),description:e(`plugins.confirmPurge`,{id:t.id}),confirmLabel:e(`plugins.purgeButton`),variant:`destructive`}))return;T(t.id),B(null);let n=await fetch(`/api/plugins/${t.id}/data`,{method:`DELETE`}),r=await n.json().catch(()=>({}));if(T(null),!n.ok){B(q[r.error]?.(r)??e(`plugins.genericError`,{code:r.error??n.status}));return}H(!0),await J()}async function Z(t){T(t.id),B(null);let n=await p(t.id,!t.enabled);if(!n.ok){T(null),B(q[n.error]?.(n.data??{})??e(`plugins.genericError`,{code:n.error}));return}window.location.reload()}async function ee(t){if(!t.latestVersion||!await _({title:e(`plugins.updateTitle`,{from:t.installedVersion,to:t.latestVersion}),description:e(`plugins.confirmUpdate`,{id:t.id,from:t.installedVersion,to:t.latestVersion}),confirmLabel:e(`plugins.updateButton`)}))return;T(t.id),B(null);let n=await m(t.id);if(!n.ok){T(null),B(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}H(!0),await N()&&window.location.reload()}async function te(){if(R===0)return;let t=I.map(e=>`${U(e.id)}: v${e.installedVersion} → v${e.latestVersion}`);L&&t.push(`${e(`plugins.runtimeLabel`)}: v${A.installedVersion} → v${A.latestVersion}`);let n=t.join(`
2
- `);if(!await _({title:e(`plugins.updateAllButton`,{count:R}),description:e(`plugins.confirmUpdateAll`,{count:R,list:n}),confirmLabel:e(`plugins.updateButton`)}))return;T(`*`),B(null);let r=await f();if(!r.ok){T(null),B(r.stderr?`${e(`plugins.updateError`)}: ${r.stderr}`:e(`plugins.genericError`,{code:r.error}));return}H(!0),await N()&&window.location.reload()}let Q=a.find(e=>e.id===`core`),$=!!(Q?.latestVersion&&j(Q.latestVersion,Q.installedVersion)),ne=$||L;async function re(){let t=[];if(Q&&$&&t.push(`${e(`core.settings.label`)}: v${Q.installedVersion} → v${Q.latestVersion}`),L&&t.push(`${e(`plugins.runtimeLabel`)}: v${A.installedVersion} → v${A.latestVersion}`),t.length===0||!await _({title:e(`plugins.updateAllButton`,{count:t.length}),description:e(`plugins.confirmUpdateAll`,{count:t.length,list:t.join(`
3
- `)}),confirmLabel:e(`plugins.updateButton`)}))return;T(`*`),B(null);let n=await d();if(!n.ok){T(null),B(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}H(!0),await N()&&window.location.reload()}return(0,S.jsxDEV)(b,{children:[(0,S.jsxDEV)(`h1`,{className:`mb-6 text-[28px] font-bold text-text`,children:e(`settings.title`)},void 0,!1,{fileName:M,lineNumber:220,columnNumber:7},this),(0,S.jsxDEV)(`section`,{className:`mb-6`,children:[(0,S.jsxDEV)(`h2`,{className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.personalTitle`)},void 0,!1,{fileName:M,lineNumber:224,columnNumber:9},this),(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`auth.accountTitle`)},void 0,!1,{fileName:M,lineNumber:227,columnNumber:13},this)},void 0,!1,{fileName:M,lineNumber:226,columnNumber:11},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/account`,title:e(`auth.accountTitle`),"aria-label":e(`auth.accountTitle`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:231,columnNumber:15},this)},void 0,!1,{fileName:M,lineNumber:230,columnNumber:13},this)},void 0,!1,{fileName:M,lineNumber:229,columnNumber:11},this)]},void 0,!0,{fileName:M,lineNumber:225,columnNumber:9},this)]},void 0,!0,{fileName:M,lineNumber:223,columnNumber:7},this),i&&(0,S.jsxDEV)(S.Fragment,{children:[(0,S.jsxDEV)(`section`,{className:`mb-6`,children:[(0,S.jsxDEV)(`h2`,{className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:M,lineNumber:241,columnNumber:13},this),(0,S.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.usersDescription`)},void 0,!1,{fileName:M,lineNumber:242,columnNumber:13},this),(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:M,lineNumber:245,columnNumber:17},this)},void 0,!1,{fileName:M,lineNumber:244,columnNumber:15},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/users`,title:e(`settings.usersTitle`),"aria-label":e(`settings.usersTitle`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:249,columnNumber:19},this)},void 0,!1,{fileName:M,lineNumber:248,columnNumber:17},this)},void 0,!1,{fileName:M,lineNumber:247,columnNumber:15},this)]},void 0,!0,{fileName:M,lineNumber:243,columnNumber:13},this)]},void 0,!0,{fileName:M,lineNumber:240,columnNumber:11},this),(0,S.jsxDEV)(`section`,{children:[(0,S.jsxDEV)(`div`,{className:`mb-1 flex items-center gap-3`,children:[(0,S.jsxDEV)(`h2`,{className:`text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.componentsTitle`)},void 0,!1,{fileName:M,lineNumber:258,columnNumber:15},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null||E,onClick:Y,title:e(`plugins.checkUpdates`),className:`shrink-0 border border-border`,children:[(0,S.jsxDEV)(c,{name:`lucide:refresh-cw`,size:14,className:E?`animate-spin`:void 0},void 0,!1,{fileName:M,lineNumber:268,columnNumber:17},this),e(E?`plugins.checkingUpdates`:`plugins.checkUpdates`)]},void 0,!0,{fileName:M,lineNumber:259,columnNumber:15},this),R>0&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null,onClick:te,className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:e(`plugins.updateAllButton`,{count:R})},void 0,!1,{fileName:M,lineNumber:272,columnNumber:17},this)]},void 0,!0,{fileName:M,lineNumber:257,columnNumber:13},this),(0,S.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.componentsDescription`)},void 0,!1,{fileName:M,lineNumber:284,columnNumber:13},this),s?(0,S.jsxDEV)(`p`,{className:`text-muted`,children:e(`plugins.loading`)},void 0,!1,{fileName:M,lineNumber:287,columnNumber:15},this):(0,S.jsxDEV)(S.Fragment,{children:[V&&(0,S.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-accent/40 bg-accent/10 px-4 py-3 text-sm text-accent`,children:[e(`plugins.restartBannerBefore`),(0,S.jsxDEV)(`b`,{children:e(`plugins.restartBannerBold`)},void 0,!1,{fileName:M,lineNumber:293,columnNumber:21},this),e(`plugins.restartBannerAfter`)]},void 0,!0,{fileName:M,lineNumber:291,columnNumber:19},this),z&&(0,S.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:z},void 0,!1,{fileName:M,lineNumber:298,columnNumber:19},this),(0,S.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`core.settings.label`)},void 0,!1,{fileName:M,lineNumber:308,columnNumber:25},this),Q&&(0,S.jsxDEV)(D,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,Q.installedVersion]},void 0,!0,{fileName:M,lineNumber:310,columnNumber:27},this),ne&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null,onClick:re,title:e(`settings.systemUpdateTitle`),className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:e(`plugins.updateButton`)},void 0,!1,{fileName:M,lineNumber:315,columnNumber:27},this)]},void 0,!0,{fileName:M,lineNumber:307,columnNumber:23},this),(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:e(`settings.systemDescription`)},void 0,!1,{fileName:M,lineNumber:328,columnNumber:23},this)]},void 0,!0,{fileName:M,lineNumber:306,columnNumber:21},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/core`,title:e(`core.settings.label`),"aria-label":e(`core.settings.label`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:332,columnNumber:25},this)},void 0,!1,{fileName:M,lineNumber:331,columnNumber:23},this)},void 0,!1,{fileName:M,lineNumber:330,columnNumber:21},this)]},void 0,!0,{fileName:M,lineNumber:305,columnNumber:19},this),a.filter(e=>e.id!==`core`).map(t=>{let n=W(t.id),i=t.enabled?a.filter(e=>e.enabled&&e.id!==t.id&&e.dependsOn.includes(t.id)):[],o=i.length>0,s=o?e(`plugins.blockedByDependents`,{list:i.map(e=>U(e.id)).join(`, `)}):t.enabled?e(`plugins.switchDisable`):e(`plugins.switchEnable`),l=[t.dependsOn.length>0&&`${e(`plugins.metaDepends`)} ${t.dependsOn.map(U).join(`, `)}`,t.libraries.length>0&&`${e(`plugins.metaLibraries`)} ${t.libraries.map(G).join(`, `)}`,t.extends.length>0&&`${e(`plugins.metaExtends`)} ${t.extends.map(e=>K(t.id,e)).join(`, `)}`].filter(Boolean).join(` · `)||`—`;return(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:U(t.id)},void 0,!1,{fileName:M,lineNumber:367,columnNumber:31},this),(0,S.jsxDEV)(F,{plugin:t,busy:k(t.id),onUpdate:()=>ee(t)},void 0,!1,{fileName:M,lineNumber:368,columnNumber:31},this)]},void 0,!0,{fileName:M,lineNumber:366,columnNumber:29},this),n&&(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:n},void 0,!1,{fileName:M,lineNumber:370,columnNumber:45},this),(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:l},void 0,!1,{fileName:M,lineNumber:371,columnNumber:29},this)]},void 0,!0,{fileName:M,lineNumber:365,columnNumber:27},this),t.hasSettings&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/${t.id}`,title:e(`plugins.settingsTitle`,{defaultValue:`Settings`}),"aria-label":e(`plugins.settingsTitle`,{defaultValue:`Settings`}),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:386,columnNumber:33},this)},void 0,!1,{fileName:M,lineNumber:381,columnNumber:31},this)},void 0,!1,{fileName:M,lineNumber:374,columnNumber:29},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:k(t.id),onClick:()=>X(t),title:e(`plugins.purgeTitle`),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:e(`plugins.purgeButton`)},void 0,!1,{fileName:M,lineNumber:390,columnNumber:27},this),(0,S.jsxDEV)(`span`,{title:s,className:`shrink-0`,children:(0,S.jsxDEV)(w,{checked:t.enabled,disabled:k(t.id)||o,onCheckedChange:()=>Z(t),title:s},void 0,!1,{fileName:M,lineNumber:404,columnNumber:29},this)},void 0,!1,{fileName:M,lineNumber:403,columnNumber:27},this)]},t.id,!0,{fileName:M,lineNumber:364,columnNumber:25},this)})]},void 0,!0,{fileName:M,lineNumber:303,columnNumber:17},this)]},void 0,!0,{fileName:M,lineNumber:289,columnNumber:15},this)]},void 0,!0,{fileName:M,lineNumber:256,columnNumber:11},this)]},void 0,!0,{fileName:M,lineNumber:238,columnNumber:9},this)]},void 0,!0,{fileName:M,lineNumber:219,columnNumber:5},this)}function F({plugin:e,busy:t,onUpdate:r}){let{t:i}=n(),a=!!(e.latestVersion&&j(e.latestVersion,e.installedVersion));return(0,S.jsxDEV)(S.Fragment,{children:[(0,S.jsxDEV)(D,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,e.installedVersion]},void 0,!0,{fileName:M,lineNumber:437,columnNumber:7},this),a&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:t,onClick:r,title:i(`plugins.updateTitle`,{from:e.installedVersion,to:e.latestVersion}),className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:i(`plugins.updateButton`)},void 0,!1,{fileName:M,lineNumber:441,columnNumber:9},this)]},void 0,!0,{fileName:M,lineNumber:436,columnNumber:5},this)}export{P as SettingsPage};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{a as r,c as i,t as a}from"./react-vendor-BskHO5hY.js";import{r as o}from"./x-BFRg18Fi.js";import{t as s}from"./button-D-Q6I5Ob.js";import{a as c,r as l}from"./api-8XMJe9yT.js";import{a as u,i as d,n as f,r as p,t as m}from"./dialog-DqWXrq6M.js";var h=e(t(),1),g=a(),_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/confirm.tsx`,v=null;function y(e){let t=typeof e==`string`?{title:e}:e;return v?new Promise(e=>v({...t,resolve:e})):Promise.resolve(!1)}function b(){let{t:e}=n(),t=h.useRef(null),[r,i]=h.useState(null);h.useEffect(()=>(v=e=>{t.current?.resolve(!1),t.current=e,i(e)},()=>{v=null}),[]);function a(e){let n=t.current;t.current=null,i(null),n?.resolve(e)}return(0,g.jsxDEV)(m,{open:r!==null,onOpenChange:e=>{e||a(!1)},children:r&&(0,g.jsxDEV)(f,{className:`md:max-w-md`,hideClose:!0,children:[(0,g.jsxDEV)(d,{children:[(0,g.jsxDEV)(u,{children:r.title},void 0,!1,{fileName:_,lineNumber:69,columnNumber:13},this),r.description&&(0,g.jsxDEV)(p,{className:`whitespace-pre-line`,children:r.description},void 0,!1,{fileName:_,lineNumber:71,columnNumber:15},this)]},void 0,!0,{fileName:_,lineNumber:68,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`flex justify-end gap-2 px-5 pb-5 pt-2`,children:[(0,g.jsxDEV)(s,{variant:`outline`,onClick:()=>a(!1),children:r.cancelLabel??e(`actions.cancel`)},void 0,!1,{fileName:_,lineNumber:75,columnNumber:13},this),(0,g.jsxDEV)(s,{autoFocus:!0,variant:r.variant??`default`,onClick:()=>a(!0),children:r.confirmLabel??e(`actions.confirm`)},void 0,!1,{fileName:_,lineNumber:78,columnNumber:13},this)]},void 0,!0,{fileName:_,lineNumber:74,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:67,columnNumber:9},this)},void 0,!1,{fileName:_,lineNumber:60,columnNumber:5},this)}var x=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/card.tsx`,S=h.forwardRef(({className:e,...t},n)=>(0,g.jsxDEV)(`div`,{ref:n,className:o(`rounded-xl border border-border bg-card text-card-foreground`,e),...t},void 0,!1,{fileName:x,lineNumber:5,columnNumber:3},void 0));S.displayName=`Card`;var C=h.forwardRef(({className:e,...t},n)=>(0,g.jsxDEV)(`div`,{ref:n,className:o(`flex flex-col gap-1.5 p-5`,e),...t},void 0,!1,{fileName:x,lineNumber:10,columnNumber:37},void 0));C.displayName=`CardHeader`;var w=h.forwardRef(({className:e,...t},n)=>(0,g.jsxDEV)(`div`,{ref:n,className:o(`font-semibold leading-none text-text`,e),...t},void 0,!1,{fileName:x,lineNumber:16,columnNumber:5},void 0));w.displayName=`CardTitle`;var T=h.forwardRef(({className:e,...t},n)=>(0,g.jsxDEV)(`div`,{ref:n,className:o(`text-sm text-muted-foreground`,e),...t},void 0,!1,{fileName:x,lineNumber:23,columnNumber:5},void 0));T.displayName=`CardDescription`;var E=h.forwardRef(({className:e,...t},n)=>(0,g.jsxDEV)(`div`,{ref:n,className:o(`p-5 pt-0`,e),...t},void 0,!1,{fileName:x,lineNumber:29,columnNumber:37},void 0));E.displayName=`CardContent`;var D=h.forwardRef(({className:e,...t},n)=>(0,g.jsxDEV)(`div`,{ref:n,className:o(`flex items-center p-5 pt-0`,e),...t},void 0,!1,{fileName:x,lineNumber:35,columnNumber:5},void 0));D.displayName=`CardFooter`;var O=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/auth-context.tsx`,k=(0,h.createContext)(null);function A(){let e=(0,h.useContext)(k);if(!e)throw Error(`useAuth() called outside <AuthGate>`);return e}function j({children:e}){let[t,n]=(0,h.useState)({kind:`loading`});return(0,h.useEffect)(()=>{if(t.kind===`ready`)return;let e=!1;return(async()=>{try{let t=await c();if(e)return;if(t.needsSetup)return n({kind:`needsSetup`});let r=await l();if(e)return;n(r?{kind:`ready`,user:r}:{kind:`needsLogin`})}catch{e||n({kind:`error`})}})(),()=>{e=!0}},[i().pathname,t.kind]),(0,h.useEffect)(()=>{if(t.kind!==`ready`)return;let e=()=>{document.visibilityState===`visible`&&l().then(e=>{e||n({kind:`needsLogin`})}).catch(()=>{})};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[t.kind]),t.kind===`loading`?null:t.kind===`needsSetup`?(0,g.jsxDEV)(r,{to:`/setup`,replace:!0},void 0,!1,{fileName:O,lineNumber:61,columnNumber:44},this):t.kind===`needsLogin`?(0,g.jsxDEV)(r,{to:`/login`,replace:!0},void 0,!1,{fileName:O,lineNumber:62,columnNumber:44},this):t.kind===`error`?(0,g.jsxDEV)(`div`,{style:{display:`flex`,minHeight:`100dvh`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:`1rem`},children:[(0,g.jsxDEV)(`p`,{children:`Could not check your session.`},void 0,!1,{fileName:O,lineNumber:66,columnNumber:9},this),(0,g.jsxDEV)(`button`,{onClick:()=>window.location.reload(),children:`Reload`},void 0,!1,{fileName:O,lineNumber:67,columnNumber:9},this)]},void 0,!0,{fileName:O,lineNumber:65,columnNumber:7},this):(0,g.jsxDEV)(k.Provider,{value:t.user,children:e},void 0,!1,{fileName:O,lineNumber:71,columnNumber:10},this)}export{y as a,b as i,A as n,S as r,j as t};