@coffer-org/web 3.1.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ChatWidget-DucdkqsL.js → ChatWidget-nNf5Rw0a.js} +2 -2
- package/dist/assets/{DiagnosticsPage-BmXQ2wx_.js → DiagnosticsPage-BWHlPR6q.js} +1 -1
- package/dist/assets/{ExtendReasonInfo-nosoadn6.js → ExtendReasonInfo-CJ67X4F6.js} +1 -1
- package/dist/assets/Icon-BumJSRVW.js +2 -0
- package/dist/assets/NewRecordView-BdpK6Egr.js +1 -0
- package/dist/assets/{PluginSettingsPage-YthgPItj.js → PluginSettingsPage-Cdb8beej.js} +1 -1
- package/dist/assets/{SettingsForm-P7AveuRL.js → SettingsForm-CveAr_ig.js} +1 -1
- package/dist/assets/{SettingsPage-F7vhUaoM.js → SettingsPage-CQKhHrWm.js} +1 -1
- package/dist/assets/{ThemeSwitcher-CidwMjS9.js → ThemeSwitcher-CfRsyjzE.js} +1 -1
- package/dist/assets/Toolbar-BFVsURKo.js +2 -0
- package/dist/assets/{chrome-DX8F_v18.js → chrome-Drri9yIC.js} +1 -1
- package/dist/assets/{data-size-D-gMRpFc.js → data-size-Byck_i1v.js} +1 -1
- package/dist/assets/{dispatch-Z_UJ7sOs.js → dispatch-Dn_1ZBIw.js} +1 -1
- package/dist/assets/extend-Dz66ZOVA.js +1 -0
- package/dist/assets/{field-frame-Co_Y1euk.js → field-frame-p-0aFlK2.js} +1 -1
- package/dist/assets/fields-CdNaYlSV.js +64 -0
- package/dist/assets/index-BhD27QjD.js +36 -0
- package/dist/assets/index-CbYvPAob.css +2 -0
- package/dist/assets/{shared-CybDb-Q0.js → shared-53AEUTK1.js} +1 -1
- package/dist/assets/shelf-CYFZoY4Y.js +1 -0
- package/dist/assets/{showcase-g9KGsIJf.js → showcase-BEd8Qi9n.js} +1 -1
- package/dist/assets/{src-oxroY989.js → src-6BvwolRe.js} +1 -1
- package/dist/assets/{src-CIbjpG2X.js → src-6wNB8mAI.js} +1 -1
- package/dist/assets/{src-DFYZEu1M.js → src-B3EKJbtB.js} +1 -1
- package/dist/assets/{src-C4Lw6UC7.js → src-B5_A2mYY.js} +1 -1
- package/dist/assets/{src-I0D69wPd.js → src-BEO9VDg0.js} +2 -2
- package/dist/assets/{src-6EFD6CpO.js → src-BEPkH-ct.js} +1 -1
- package/dist/assets/{src-HtNjG36u.js → src-BGRdBpoy.js} +1 -1
- package/dist/assets/{src-DyJctdPe.js → src-BVH5k75w.js} +1 -1
- package/dist/assets/{src-CalRvEpR.js → src-CCmXjawq.js} +1 -1
- package/dist/assets/{src-Df0q1za7.js → src-COeSlgp5.js} +1 -1
- package/dist/assets/src-CfaMs77p.js +1 -0
- package/dist/assets/{src-DZhdHqwF.js → src-CtOhjDAR.js} +1 -1
- package/dist/assets/src-CukyJanI.js +1 -0
- package/dist/assets/{src-Db-cqkZV.js → src-D3d5pZiz.js} +1 -1
- package/dist/assets/src-DBlnH-G8.js +1 -0
- package/dist/assets/{src-BpgLWVlc.js → src-DGkgvDff.js} +1 -1
- package/dist/assets/{src-CDzj7gs1.js → src-DYI3zRw6.js} +1 -1
- package/dist/assets/{src-RuMLw9Df.js → src-DrMNxEnS.js} +1 -1
- package/dist/assets/{src-COMSWH4j.js → src-SgNQDm_8.js} +1 -1
- package/dist/assets/{src-COfhPliI.js → src-a39U8IWk.js} +1 -1
- package/dist/assets/src-i9wl96A-.js +1 -0
- package/dist/assets/{src-migt9nqy.js → src-klR9zexB.js} +1 -1
- package/dist/assets/{src-BR6hbGmU.js → src-mXu3EbjH.js} +1 -1
- package/dist/assets/src-qh6HJOzS.js +1 -0
- package/dist/assets/src-skK-v7r6.js +7 -0
- package/dist/assets/ui-CElwsbzS.js +2 -0
- package/dist/assets/{ui-CGwjZwt9.js → ui-DGTH-Sdo.js} +1 -1
- package/dist/assets/{ui-Df14rQUE.js → ui-pNaus2uP.js} +2 -2
- package/dist/index.html +16 -16
- package/dist-vendor/web-sdk.js +1609 -1485
- package/package.json +2 -2
- package/dist/assets/Icon-DyZrCblq.js +0 -2
- package/dist/assets/NewRecordView-B_kv9qD_.js +0 -1
- package/dist/assets/Toolbar-kvM_SekW.js +0 -2
- package/dist/assets/extend-C60kAlp4.js +0 -1
- package/dist/assets/fields-DA2uwuWg.js +0 -64
- package/dist/assets/index-BNqGpvsY.css +0 -2
- package/dist/assets/index-Bdz1ZPcL.js +0 -36
- package/dist/assets/shelf-CdaVoMG2.js +0 -1
- package/dist/assets/src-BZxKxK4W.js +0 -1
- package/dist/assets/src-Cns9vFlU.js +0 -1
- package/dist/assets/src-KsFUvYvh.js +0 -7
- package/dist/assets/src-Wss-Pefj.js +0 -1
- package/dist/assets/src-Yyqpiun8.js +0 -1
- package/dist/assets/src-tePV5CBX.js +0 -1
- package/dist/assets/ui-Iht7bdzK.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,t as r}from"./i18n-vendor-T6EnJ_TL.js";import{c as i,l as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,r as c,t as l}from"./x-CzSVfh-E.js";import{s as u}from"./icons-DBHj1PyA.js";import{t as d}from"./chevron-down-DgMjlPLK.js";import{a as f,i as p,n as m,o as h,r as g,s as _,t as v}from"./upload-C6w8x5TC.js";import{n as y,o as b,r as x,t as S}from"./use-media-query-D1fYNz6w.js";import{n as C,t as w}from"./rotate-ccw-97xLsgYt.js";import"./src-
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,t as r}from"./i18n-vendor-T6EnJ_TL.js";import{c as i,l as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,r as c,t as l}from"./x-CzSVfh-E.js";import{s as u}from"./icons-DBHj1PyA.js";import{t as d}from"./chevron-down-DgMjlPLK.js";import{a as f,i as p,n as m,o as h,r as g,s as _,t as v}from"./upload-C6w8x5TC.js";import{n as y,o as b,r as x,t as S}from"./use-media-query-D1fYNz6w.js";import{n as C,t as w}from"./rotate-ccw-97xLsgYt.js";import"./src-BGRdBpoy.js";import{i as T}from"./plugin-ui-CKd6q8ec.js";import{P as ee}from"./api-DsJ6cAbe.js";import{n as te,t as ne}from"./dialog-BKC2UrX0.js";import{n as E,t as D}from"./development-olQNibq5.js";import{c as O}from"./micromark-extension-gfm-BUw6_ZLT.js";import{a as re,i as ie,n as k,o as A,s as ae}from"./space-separated-tokens-IJiqTQpk.js";import{a as oe,c as j,s as M,t as se}from"./lib-Du7RHLba.js";import{t as ce}from"./lib-sYoE14fC.js";import{c as le,t as ue}from"./lib-B13BbhLB.js";var de=c(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),fe=c(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),pe=c(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),me=c(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),he={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},N=e(n(),1);async function*ge(e){let t=e.getReader(),n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a;for(;(a=r.indexOf(`
|
|
2
2
|
|
|
3
3
|
`))!==-1;){let e=r.slice(0,a);r=r.slice(a+2);let t=`message`,n=[];for(let r of e.split(`
|
|
4
4
|
`))!r||r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trim():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));n.length&&(yield{event:t,data:n.join(`
|
|
@@ -13,4 +13,4 @@ import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,t as r}from".
|
|
|
13
13
|
`});++r<e.length;)r&&n.push({type:`text`,value:`
|
|
14
14
|
`}),n.push(e[r]);return t&&e.length>0&&n.push({type:`text`,value:`
|
|
15
15
|
`}),n}function nn(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function rn(e,t){let n=Zt(e,t),r=n.one(e,void 0),i=Jt(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(D(`children`in a),a.children.push({type:`text`,value:`
|
|
16
|
-
`},i)),a}function an(e,t){return e&&`run`in e?async function(n,r){let i=rn(n,{file:r,...t});await e.run(i,r)}:function(n,r){return rn(n,{file:r,...e||t})}}var on=u(),sn=[],cn={allowDangerousHtml:!0},ln=/^(https?|ircs?|mailto|xmpp)$/i,un=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function dn(e){let t=fn(e),n=pn(e);return mn(t.runSync(t.parse(n),n),e)}function fn(e){let t=e.rehypePlugins||sn,n=e.remarkPlugins||sn,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...cn}:cn;return oe().use(le).use(n).use(an,r).use(t)}function pn(e){let t=e.children||``,n=new M;return typeof t==`string`?n.value=t:E("Unexpected value `"+t+"` for `children` prop, expected `string`"),n}function mn(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||hn;for(let e of un)Object.hasOwn(t,e.from)&&E("Unexpected `"+e.from+"` prop, "+(e.to?"use `"+e.to+"` instead":`remove it`)+` (see <https://github.com/remarkjs/react-markdown/blob/main/changelog.md#`+e.id+`> for more info)`);return n&&a&&E("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other"),se(e,l),He(e,{Fragment:on.Fragment,components:i,ignoreInvalidStyle:!0,jsx:on.jsx,jsxs:on.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in B)if(Object.hasOwn(B,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=B[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function hn(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||ln.test(e.slice(0,t))?e:``}var gn=/^[A-Za-z0-9._~%-]+$/;function _n(e,t){let n=e.split(`/`).filter(Boolean),r=t.split(`/`).filter(Boolean),i={};for(let e=0;e<r.length;e++){let t=r[e];if(t===`*`)return n.length>=e?i:null;let a=n[e];if(a===void 0)return null;if(t.startsWith(`:`)){if(!gn.test(a))return null;i[t.slice(1)]=a}else if(t!==a)return null}return n.length===r.length?i:null}function vn(e,t,n,r=[]){let i=e.trim();if(!i||i.startsWith(`//`)||!i.startsWith(`/`)&&!/^https?:\/\//i.test(i))return{kind:`text`};let a;try{a=new URL(i,t)}catch{return{kind:`text`}}if(a.origin!==t)return{kind:`external`,href:a.href};for(let e of n){let t=_n(a.pathname,e.pattern);if(t)return r.length&&t.library!==void 0&&t.shelf!==void 0&&!r.some(e=>e.library===t.library&&e.shelf===t.shelf)?{kind:`text`}:{kind:`internal`,to:`${a.pathname}${a.search}${a.hash}`}}return{kind:`text`}}var K=o(),yn=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-nav.tsx`,bn=(0,N.createContext)(()=>{});function xn({onNavigate:e,children:t}){return(0,K.jsxDEV)(bn.Provider,{value:e,children:t},void 0,!1,{fileName:yn,lineNumber:9,columnNumber:10},this)}function Sn(){return(0,N.useContext)(bn)}var q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-markdown.tsx`;function Cn({text:e,className:t}){return(0,K.jsxDEV)(`div`,{className:t,children:(0,K.jsxDEV)(dn,{remarkPlugins:[ue],components:{a:wn},children:e},void 0,!1,{fileName:q,lineNumber:18,columnNumber:7},this)},void 0,!1,{fileName:q,lineNumber:17,columnNumber:5},this)}function wn({href:e,children:t}){let n=Sn(),r=a(),i=[...y(),...T().map(e=>({pattern:`/${e.path}`}))],o=vn(e??``,window.location.origin,i,x());return o.kind===`internal`?(0,K.jsxDEV)(`a`,{href:o.to,onClick:e=>{e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),n(),r(o.to))},children:t},void 0,!1,{fileName:q,lineNumber:33,columnNumber:7},this):o.kind===`external`?(0,K.jsxDEV)(`a`,{href:o.href,target:`_blank`,rel:`noopener noreferrer`,children:t},void 0,!1,{fileName:q,lineNumber:50,columnNumber:7},this):(0,K.jsxDEV)(K.Fragment,{children:t},void 0,!1,{fileName:q,lineNumber:55,columnNumber:10},this)}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatMessages.tsx`;function Tn({messages:e,pending:t,pendingReasoning:n}){let{t:i}=r(),a=(0,N.useRef)(null);return(0,N.useEffect)(()=>{let e=a.current;e&&(e.scrollTop=e.scrollHeight)},[e.length,t]),!e.length&&t===null&&n===null?(0,K.jsxDEV)(`div`,{className:`flex-1 grid place-items-center text-muted text-sm`,children:i(`webchat.empty`)},void 0,!1,{fileName:J,lineNumber:28,columnNumber:12},this):(0,K.jsxDEV)(`div`,{ref:a,"data-chat-list":!0,className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-3`,children:[e.map(e=>(0,K.jsxDEV)(En,{role:e.role,text:e.text,reasoning:e.reasoning,attachments:e.attachments},e.msgId,!1,{fileName:J,lineNumber:35,columnNumber:9},this)),t!==null&&(0,K.jsxDEV)(En,{role:`assistant`,text:t||i(`webchat.thinking`),reasoning:n},void 0,!1,{fileName:J,lineNumber:38,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:33,columnNumber:5},this)}var En=(0,N.memo)(function({role:e,text:t,reasoning:n,attachments:i}){let{t:a}=r();return e===`user`?(0,K.jsxDEV)(`div`,{className:`self-end max-w-[85%] rounded-2xl rounded-br-sm bg-accent/15 px-3 py-2 text-sm whitespace-pre-wrap break-words`,children:[i?.length?(0,K.jsxDEV)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:i.map(e=>(0,K.jsxDEV)(`span`,{className:`inline-flex max-w-full items-center rounded-md bg-bg/60 px-1.5 py-0.5 text-xs`,title:e.name,children:e.label??e.name},e.name,!1,{fileName:J,lineNumber:68,columnNumber:15},this))},void 0,!1,{fileName:J,lineNumber:66,columnNumber:11},this):null,t]},void 0,!0,{fileName:J,lineNumber:64,columnNumber:7},this):(0,K.jsxDEV)(`div`,{className:`self-start max-w-[95%] min-w-0 rounded-2xl rounded-bl-sm bg-elevated px-3 py-2 text-sm break-words`,children:[n?(0,K.jsxDEV)(`details`,{className:`mb-2 rounded-lg border border-border px-2 py-1`,children:[(0,K.jsxDEV)(`summary`,{className:`cursor-pointer select-none text-xs text-muted`,children:a(`webchat.reasoning`)},void 0,!1,{fileName:J,lineNumber:87,columnNumber:11},this),(0,K.jsxDEV)(Cn,{text:n,className:`md-static mt-1 text-xs text-muted`},void 0,!1,{fileName:J,lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:86,columnNumber:9},this):null,(0,K.jsxDEV)(Cn,{text:t,className:`md-static`},void 0,!1,{fileName:J,lineNumber:91,columnNumber:7},this)]},void 0,!0,{fileName:J,lineNumber:83,columnNumber:5},this)}),Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/AgentPicker.tsx`;function Dn({quality:e,time:t,hint:n}){let{t:i}=r();return e===void 0||t===void 0?n?(0,K.jsxDEV)(`span`,{className:`shrink-0 text-muted`,children:n},void 0,!1,{fileName:Y,lineNumber:12,columnNumber:19},this):null:(0,K.jsxDEV)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-muted tabular-nums`,children:[(0,K.jsxDEV)(`span`,{className:`flex items-center gap-0.5`,title:i(`webchat.quality`,{value:e}),children:[e,(0,K.jsxDEV)(m,{size:11,"aria-hidden":!0,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:18,columnNumber:9},this),(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.quality`,{value:e})},void 0,!1,{fileName:Y,lineNumber:19,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:16,columnNumber:7},this),(0,K.jsxDEV)(`span`,{className:`flex items-center gap-0.5`,title:i(`webchat.time`,{value:t}),children:[t,(0,K.jsxDEV)(_,{size:11,"aria-hidden":!0,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:23,columnNumber:9},this),(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.time`,{value:t})},void 0,!1,{fileName:Y,lineNumber:24,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:21,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:15,columnNumber:5},this)}function On({agents:e,defaultAgentId:t,selection:n,onChange:i}){let{t:a}=r(),[o,c]=(0,N.useState)(!1),l=(0,N.useRef)(null),u=(0,N.useRef)(null);(0,N.useEffect)(()=>{if(!o)return;function e(e){l.current&&!l.current.contains(e.target)&&c(!1)}function t(e){e.key===`Escape`&&(c(!1),u.current?.focus())}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[o]);let f=e.length>1,p=e.flatMap(e=>e.presets.map(t=>({agentId:e.id,presetId:t.id,label:f?`${e.title} · ${t.title}`:t.title,hint:t.hint,quality:t.quality,time:t.time,isDefault:t.default===!0})));if(p.length===0)return null;let m=p.find(e=>e.agentId===n.agentId&&e.presetId===n.presetId)??p.find(e=>e.agentId===t&&e.isDefault)??p.find(e=>e.isDefault)??p[0];return(0,K.jsxDEV)(`div`,{className:`relative`,ref:l,children:[(0,K.jsxDEV)(`button`,{ref:u,type:`button`,"aria-haspopup":`menu`,"aria-expanded":o,className:`flex items-center gap-1 rounded-md px-2 py-1 text-xs text-muted hover:text-text focus-visible:outline-2 focus-visible:outline-accent`,onClick:()=>c(e=>!e),children:[(0,K.jsxDEV)(`span`,{className:`max-w-40 truncate`,children:m.label},void 0,!1,{fileName:Y,lineNumber:105,columnNumber:9},this),(0,K.jsxDEV)(d,{size:12,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:106,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:97,columnNumber:7},this),o&&(0,K.jsxDEV)(`ul`,{"aria-label":a(`webchat.agentPicker`),className:`absolute bottom-full left-0 z-10 mb-1 max-h-64 w-64 max-w-[calc(100vw-2rem)] overflow-y-auto rounded-md border border-border bg-elevated py-1 shadow-lg`,children:p.map(e=>{let t=e===m;return(0,K.jsxDEV)(`li`,{children:(0,K.jsxDEV)(`button`,{type:`button`,...t?{"aria-current":!0}:{},className:`flex w-full items-center gap-2 px-2 py-1.5 text-left text-xs hover:bg-surface focus-visible:outline-2 focus-visible:outline-accent`,onClick:()=>{c(!1),i({agentId:e.agentId,presetId:e.presetId})},children:[(0,K.jsxDEV)(s,{size:12,className:t?`shrink-0 text-accent`:`shrink-0 opacity-0`},void 0,!1,{fileName:Y,lineNumber:137,columnNumber:19},this),(0,K.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label},void 0,!1,{fileName:Y,lineNumber:138,columnNumber:19},this),(0,K.jsxDEV)(Dn,{quality:e.quality,time:e.time,hint:e.hint},void 0,!1,{fileName:Y,lineNumber:139,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:125,columnNumber:17},this)},`${e.agentId}/${e.presetId}`,!1,{fileName:Y,lineNumber:124,columnNumber:15},this)})},void 0,!1,{fileName:Y,lineNumber:114,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:96,columnNumber:5},this)}var X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatComposer.tsx`;function kn({streaming:e,onSend:t,onStop:n,attachments:i,uploading:a,uploadError:o,uploadProgress:s,canRetryUpload:c,onRetryUpload:u,onPickFiles:d,onRemoveAttachment:f,agents:p,defaultAgentId:m,selection:h,onChooseAgent:_,attachmentsAllowed:v}){let{t:y}=r(),[x,S]=(0,N.useState)(``);function T(){!x.trim()||e||t(x.trim(),i)&&S(``)}return(0,K.jsxDEV)(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border p-2`,children:[(i.length>0||a||o)&&(0,K.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1`,"data-chat-attachments":!0,children:[i.map((e,t)=>(0,K.jsxDEV)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded-md bg-elevated px-2 py-1 text-xs`,children:[(0,K.jsxDEV)(b,{size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:X,lineNumber:65,columnNumber:15},this),(0,K.jsxDEV)(`span`,{className:`max-w-48 truncate`,children:e.label??e.name},void 0,!1,{fileName:X,lineNumber:66,columnNumber:15},this),(0,K.jsxDEV)(`button`,{type:`button`,"aria-label":y(`webchat.removeAttachment`,{name:e.label??e.name}),className:`shrink-0 rounded p-0.5 text-muted hover:text-danger`,onClick:()=>f(t),children:(0,K.jsxDEV)(l,{size:13},void 0,!1,{fileName:X,lineNumber:73,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:67,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:X,lineNumber:61,columnNumber:13},this)),a&&(0,K.jsxDEV)(`div`,{className:`flex min-w-32 flex-1 items-center gap-2`,"aria-label":y(`webchat.uploading`),children:[(0,K.jsxDEV)(C,{size:14,className:`shrink-0 animate-spin text-muted`},void 0,!1,{fileName:X,lineNumber:79,columnNumber:15},this),(0,K.jsxDEV)(`div`,{role:`progressbar`,"aria-label":y(`webchat.uploadProgress`),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":s,className:`h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-border`,children:(0,K.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${s}%`}},void 0,!1,{fileName:X,lineNumber:88,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:80,columnNumber:15},this),(0,K.jsxDEV)(`span`,{className:`text-xs tabular-nums text-muted`,children:[s,`%`]},void 0,!0,{fileName:X,lineNumber:93,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:78,columnNumber:13},this),o&&(0,K.jsxDEV)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2 text-xs text-danger`,children:[(0,K.jsxDEV)(`span`,{className:`min-w-0 flex-1`,children:y(o)},void 0,!1,{fileName:X,lineNumber:98,columnNumber:15},this),c&&(0,K.jsxDEV)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1 rounded px-1.5 py-0.5 font-medium text-accent hover:bg-elevated`,onClick:u,children:[(0,K.jsxDEV)(w,{size:12},void 0,!1,{fileName:X,lineNumber:105,columnNumber:19},this),` `,y(`webchat.retryUpload`)]},void 0,!0,{fileName:X,lineNumber:100,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:97,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:59,columnNumber:9},this),(0,K.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,K.jsxDEV)(`textarea`,{className:`w-full resize-none rounded-lg border border-border bg-bg px-3 py-2 text-sm max-h-32`,rows:1,value:x,placeholder:y(`webchat.placeholder`),onChange:e=>S(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),T())}},void 0,!1,{fileName:X,lineNumber:115,columnNumber:9},this),(0,K.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[v&&(0,K.jsxDEV)(`label`,{"aria-label":y(`webchat.attach`),className:`shrink-0 cursor-pointer rounded-lg p-1.5 text-muted hover:bg-elevated hover:text-accent ${a?`pointer-events-none opacity-60`:``}`,children:[(0,K.jsxDEV)(pe,{size:18},void 0,!1,{fileName:X,lineNumber:135,columnNumber:15},this),(0,K.jsxDEV)(`input`,{type:`file`,multiple:!0,className:`hidden`,disabled:a,onChange:e=>{e.target.files?.length&&d(e.target.files),e.currentTarget.value=``}},void 0,!1,{fileName:X,lineNumber:136,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:131,columnNumber:13},this),(0,K.jsxDEV)(On,{agents:p,defaultAgentId:m,selection:h,onChange:_},void 0,!1,{fileName:X,lineNumber:148,columnNumber:11},this),(0,K.jsxDEV)(`div`,{className:`flex-1`},void 0,!1,{fileName:X,lineNumber:149,columnNumber:11},this),e?(0,K.jsxDEV)(`button`,{"aria-label":y(`webchat.stop`),className:`shrink-0 rounded-lg p-1.5 hover:bg-elevated`,onClick:n,children:(0,K.jsxDEV)(g,{size:18},void 0,!1,{fileName:X,lineNumber:156,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:151,columnNumber:13},this):(0,K.jsxDEV)(`button`,{"aria-label":y(`webchat.send`),className:`shrink-0 rounded-lg p-1.5 hover:bg-elevated`,onClick:T,children:(0,K.jsxDEV)(me,{size:18},void 0,!1,{fileName:X,lineNumber:164,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:159,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:129,columnNumber:9},this)]},void 0,!0,{fileName:X,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:57,columnNumber:5},this)}var Z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatThreadList.tsx`;function An({threads:e,activeId:t,onOpen:n,onNew:i,className:a=`w-[220px] shrink-0`}){let{t:o}=r();return(0,K.jsxDEV)(`aside`,{"aria-label":o(`webchat.threads`),className:`${a} border-r border-border flex flex-col`,children:[(0,K.jsxDEV)(`button`,{className:`flex items-center gap-2 px-3 py-2 text-sm hover:bg-elevated`,onClick:i,children:[(0,K.jsxDEV)(p,{size:16},void 0,!1,{fileName:Z,lineNumber:23,columnNumber:9},this),` `,o(`webchat.newConversation`)]},void 0,!0,{fileName:Z,lineNumber:22,columnNumber:7},this),(0,K.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:e.map(e=>(0,K.jsxDEV)(`button`,{onClick:()=>n(e.convId),className:`block w-full truncate px-3 py-2 text-left text-sm hover:bg-elevated ${e.convId===t?`bg-elevated font-medium`:``}`,children:e.title||o(`webchat.newConversation`)},e.convId,!1,{fileName:Z,lineNumber:27,columnNumber:11},this))},void 0,!1,{fileName:Z,lineNumber:25,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:21,columnNumber:5},this)}var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatWidget.tsx`,jn=25*1024*1024;function $(e){return Array.from(e.dataTransfer.types).includes(`Files`)}function Mn({children:e,onFiles:t,className:n}){let{t:i}=r(),[a,o]=(0,N.useState)(!1),s=(0,N.useRef)(0);function c(e){$(e)&&(e.preventDefault(),s.current+=1,o(!0))}function l(e){$(e)&&(e.preventDefault(),s.current=Math.max(0,s.current-1),s.current===0&&o(!1))}function u(e){$(e)&&(e.preventDefault(),s.current=0,o(!1),t(Array.from(e.dataTransfer.files)))}return(0,K.jsxDEV)(`div`,{className:n,onDragEnter:c,onDragLeave:l,onDragOver:e=>{$(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:u,children:[e,a&&(0,K.jsxDEV)(`div`,{"data-chat-drop-overlay":!0,"data-testid":`chat-drop-overlay`,className:`pointer-events-none absolute inset-0 z-50 grid place-items-center bg-surface/95 p-6 text-center backdrop-blur-sm`,children:(0,K.jsxDEV)(`div`,{className:`flex h-full w-full flex-col items-center justify-center rounded-2xl border-2 border-dashed border-accent bg-accent/10 text-accent`,children:[(0,K.jsxDEV)(v,{size:34},void 0,!1,{fileName:Q,lineNumber:83,columnNumber:13},this),(0,K.jsxDEV)(`span`,{className:`mt-3 text-base font-medium`,children:i(`webchat.dropFiles`)},void 0,!1,{fileName:Q,lineNumber:84,columnNumber:13},this),(0,K.jsxDEV)(`span`,{className:`mt-1 text-xs text-muted`,children:i(`webchat.dropFilesHint`)},void 0,!1,{fileName:Q,lineNumber:85,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:59,columnNumber:5},this)}function Nn(e){return e?`panel`:`modal`}function Pn(){let{t:e}=r(),t=Ce(),n=we(),[i,a]=(0,N.useState)(`bubble`),[o,s]=(0,N.useState)(!1),[c,u]=(0,N.useState)([]),[d,m]=(0,N.useState)(!1),[g,_]=(0,N.useState)(0),[v,y]=(0,N.useState)(null),[b,x]=(0,N.useState)([]),C=S(`sm`,640),w=S(`nav`,768),T=(0,N.useCallback)(()=>{a(Nn(w))},[w]),E=(0,N.useRef)(null),D=(0,N.useRef)(`bubble`);(0,N.useEffect)(()=>{if(i!==`modal`)return;let e=e=>{e.key===`Escape`&&a(`panel`)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i]),(0,N.useEffect)(()=>{i===`panel`&&D.current===`modal`&&E.current?.focus(),i!==`modal`&&s(!1),D.current=i},[i]),(0,N.useEffect)(()=>{if(i!==`modal`)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[i]);let O=i!==`bubble`;(0,N.useEffect)(()=>{O&&t.loadThreads()},[O,t.loadThreads]);let{convId:re,newConversation:ie}=t;(0,N.useEffect)(()=>{O&&re===null&&ie()},[O,re,ie]);function k(){t.newConversation(),u([]),y(null),x([]),s(!1)}let A=(0,N.useCallback)(async e=>{if(!e.length)return;y(null),x([]),m(!0),_(0);let t=[],n=[],r=null;for(let i of e){if(i.size>jn){r??=`webchat.uploadTooLarge`;continue}try{_(0);let e=await ee(i,_);e?t.push({...e,label:i.name}):(n.push(i),r??=`webchat.uploadFailed`)}catch{n.push(i),r??=`webchat.uploadFailed`}}t.length&&u(e=>[...e,...t]),m(!1),_(0),x(n),r&&y(r)},[]),ae=(0,N.useCallback)(()=>{b.length&&A(b)},[A,b]),oe=t.messages.length>0||t.pending!==null,j=(0,K.jsxDEV)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border px-3 py-2`,children:[(0,K.jsxDEV)(`span`,{className:`text-sm font-medium`,children:e(`webchat.title`)},void 0,!1,{fileName:Q,lineNumber:231,columnNumber:7},this),(0,K.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[i===`modal`&&!C&&(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.threads`),"aria-expanded":o,className:`rounded p-1 hover:bg-elevated`,onClick:()=>s(e=>!e),children:(0,K.jsxDEV)(h,{size:16},void 0,!1,{fileName:Q,lineNumber:242,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:236,columnNumber:11},this),oe&&(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.newConversation`),className:`rounded p-1 hover:bg-elevated`,onClick:k,children:(0,K.jsxDEV)(p,{size:16},void 0,!1,{fileName:Q,lineNumber:255,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:250,columnNumber:11},this),(0,K.jsxDEV)(`button`,{ref:E,"aria-label":e(i===`modal`?`webchat.collapse`:`webchat.expand`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(i===`modal`?`panel`:`modal`),children:i===`modal`?(0,K.jsxDEV)(fe,{size:16},void 0,!1,{fileName:Q,lineNumber:264,columnNumber:31},this):(0,K.jsxDEV)(de,{size:16},void 0,!1,{fileName:Q,lineNumber:264,columnNumber:57},this)},void 0,!1,{fileName:Q,lineNumber:258,columnNumber:9},this),(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.close`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(`bubble`),children:(0,K.jsxDEV)(l,{size:16},void 0,!1,{fileName:Q,lineNumber:271,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:266,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:232,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:230,columnNumber:5},this),M=(0,K.jsxDEV)(xn,{onNavigate:T,children:(0,K.jsxDEV)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[t.error&&(0,K.jsxDEV)(`div`,{className:`px-3 py-2 text-sm text-danger`,children:e(`webchat.error`,{message:t.error})},void 0,!1,{fileName:Q,lineNumber:283,columnNumber:11},this),(0,K.jsxDEV)(Tn,{messages:t.messages,pending:t.pending,pendingReasoning:t.pendingReasoning},void 0,!1,{fileName:Q,lineNumber:285,columnNumber:9},this),(0,K.jsxDEV)(kn,{streaming:t.pending!==null,attachments:c,uploading:d,uploadProgress:g,uploadError:v,canRetryUpload:b.length>0&&!d,onRetryUpload:ae,onPickFiles:e=>void A(Array.from(e)),onRemoveAttachment:e=>u(t=>t.filter((t,n)=>n!==e)),agents:t.agents,defaultAgentId:t.defaultAgentId,selection:t.selection,onChooseAgent:t.chooseAgent,attachmentsAllowed:t.attachmentsAllowed,onSend:(e,r)=>{let i=r.length?t.send(e,n,r):t.send(e,n);return i&&(u([]),y(null),x([])),i},onStop:t.stop},void 0,!1,{fileName:Q,lineNumber:286,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:281,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:278,columnNumber:5},this);if(i===`bubble`)return(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.open`),onClick:()=>a(C?`panel`:`modal`),className:`fixed bottom-20 right-4 z-40 grid h-14 w-14 place-items-center rounded-full bg-accent text-white shadow-lg nav:bottom-4`,children:(0,K.jsxDEV)(f,{size:24},void 0,!1,{fileName:Q,lineNumber:326,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:318,columnNumber:7},this);if(i===`panel`)return(0,K.jsxDEV)(Mn,{onFiles:A,className:`fixed bottom-20 right-4 z-40 flex h-[560px] max-h-[80dvh] w-[380px] max-w-[calc(100vw-2rem)] flex-col overflow-hidden rounded-2xl border border-border bg-surface shadow-xl nav:bottom-4`,children:[j,M]},void 0,!0,{fileName:Q,lineNumber:333,columnNumber:7},this);let se=C||o;return(0,K.jsxDEV)(ne,{open:!0,modal:!1,onOpenChange:e=>!e&&a(`panel`),children:[(0,K.jsxDEV)(`div`,{"data-chat-backdrop":!0,"aria-hidden":`true`,className:`fixed inset-0 z-[45] bg-black/50 backdrop-blur-sm`},void 0,!1,{fileName:Q,lineNumber:356,columnNumber:7},this),(0,K.jsxDEV)(te,{hideClose:!0,className:`h-[85dvh] w-full p-0 md:h-[85dvh] md:w-[80vw] md:max-w-[1040px] md:overflow-y-hidden`,children:(0,K.jsxDEV)(Mn,{onFiles:A,className:`h-full`,children:(0,K.jsxDEV)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[j,(0,K.jsxDEV)(`div`,{className:`flex min-h-0 flex-1`,children:[se&&(0,K.jsxDEV)(An,{threads:t.threads,activeId:t.convId,onOpen:e=>{t.open(e),u([]),y(null),x([]),s(!1)},onNew:k,className:C?`w-[220px] shrink-0`:`w-full`},void 0,!1,{fileName:Q,lineNumber:371,columnNumber:17},this),(C||!o)&&M]},void 0,!0,{fileName:Q,lineNumber:369,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:367,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:366,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:362,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:353,columnNumber:5},this)}export{Pn as ChatWidget,Pn as default,Nn as nextModeAfterNav};
|
|
16
|
+
`},i)),a}function an(e,t){return e&&`run`in e?async function(n,r){let i=rn(n,{file:r,...t});await e.run(i,r)}:function(n,r){return rn(n,{file:r,...e||t})}}var on=u(),sn=[],cn={allowDangerousHtml:!0},ln=/^(https?|ircs?|mailto|xmpp)$/i,un=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function dn(e){let t=fn(e),n=pn(e);return mn(t.runSync(t.parse(n),n),e)}function fn(e){let t=e.rehypePlugins||sn,n=e.remarkPlugins||sn,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...cn}:cn;return oe().use(le).use(n).use(an,r).use(t)}function pn(e){let t=e.children||``,n=new M;return typeof t==`string`?n.value=t:E("Unexpected value `"+t+"` for `children` prop, expected `string`"),n}function mn(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||hn;for(let e of un)Object.hasOwn(t,e.from)&&E("Unexpected `"+e.from+"` prop, "+(e.to?"use `"+e.to+"` instead":`remove it`)+` (see <https://github.com/remarkjs/react-markdown/blob/main/changelog.md#`+e.id+`> for more info)`);return n&&a&&E("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other"),se(e,l),He(e,{Fragment:on.Fragment,components:i,ignoreInvalidStyle:!0,jsx:on.jsx,jsxs:on.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in B)if(Object.hasOwn(B,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=B[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function hn(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||ln.test(e.slice(0,t))?e:``}var gn=/^[A-Za-z0-9._~%-]+$/;function _n(e,t){let n=e.split(`/`).filter(Boolean),r=t.split(`/`).filter(Boolean),i={};for(let e=0;e<r.length;e++){let t=r[e];if(t===`*`)return n.length>=e?i:null;let a=n[e];if(a===void 0)return null;if(t.startsWith(`:`)){if(!gn.test(a))return null;i[t.slice(1)]=a}else if(t!==a)return null}return n.length===r.length?i:null}function vn(e,t,n,r=[]){let i=e.trim();if(!i||i.startsWith(`//`)||!i.startsWith(`/`)&&!/^https?:\/\//i.test(i))return{kind:`text`};let a;try{a=new URL(i,t)}catch{return{kind:`text`}}if(a.origin!==t)return{kind:`external`,href:a.href};for(let e of n){let t=_n(a.pathname,e.pattern);if(t)return r.length&&t.library!==void 0&&t.shelf!==void 0&&!r.some(e=>e.library===t.library&&e.shelf===t.shelf)?{kind:`text`}:{kind:`internal`,to:`${a.pathname}${a.search}${a.hash}`}}return{kind:`text`}}var K=o(),yn=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-nav.tsx`,bn=(0,N.createContext)(()=>{});function xn({onNavigate:e,children:t}){return(0,K.jsxDEV)(bn.Provider,{value:e,children:t},void 0,!1,{fileName:yn,lineNumber:9,columnNumber:10},this)}function Sn(){return(0,N.useContext)(bn)}var q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-markdown.tsx`;function Cn({text:e,className:t}){return(0,K.jsxDEV)(`div`,{className:t,children:(0,K.jsxDEV)(dn,{remarkPlugins:[ue],components:{a:wn},children:e},void 0,!1,{fileName:q,lineNumber:18,columnNumber:7},this)},void 0,!1,{fileName:q,lineNumber:17,columnNumber:5},this)}function wn({href:e,children:t}){let n=Sn(),r=a(),i=[...y(),...T().map(e=>({pattern:`/${e.path}`}))],o=vn(e??``,window.location.origin,i,x());return o.kind===`internal`?(0,K.jsxDEV)(`a`,{href:o.to,onClick:e=>{e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),n(),r(o.to))},children:t},void 0,!1,{fileName:q,lineNumber:33,columnNumber:7},this):o.kind===`external`?(0,K.jsxDEV)(`a`,{href:o.href,target:`_blank`,rel:`noopener noreferrer`,children:t},void 0,!1,{fileName:q,lineNumber:50,columnNumber:7},this):(0,K.jsxDEV)(K.Fragment,{children:t},void 0,!1,{fileName:q,lineNumber:55,columnNumber:10},this)}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatMessages.tsx`;function Tn({messages:e,pending:t,pendingReasoning:n}){let{t:i}=r(),a=(0,N.useRef)(null);return(0,N.useEffect)(()=>{let e=a.current;e&&(e.scrollTop=e.scrollHeight)},[e.length,t]),!e.length&&t===null&&n===null?(0,K.jsxDEV)(`div`,{className:`flex-1 grid place-items-center text-muted text-sm`,children:i(`webchat.empty`)},void 0,!1,{fileName:J,lineNumber:28,columnNumber:12},this):(0,K.jsxDEV)(`div`,{ref:a,"data-chat-list":!0,className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-3`,children:[e.map(e=>(0,K.jsxDEV)(En,{role:e.role,text:e.text,reasoning:e.reasoning,attachments:e.attachments},e.msgId,!1,{fileName:J,lineNumber:35,columnNumber:9},this)),t!==null&&(0,K.jsxDEV)(En,{role:`assistant`,text:t||i(`webchat.thinking`),reasoning:n},void 0,!1,{fileName:J,lineNumber:38,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:33,columnNumber:5},this)}var En=(0,N.memo)(function({role:e,text:t,reasoning:n,attachments:i}){let{t:a}=r();return e===`user`?(0,K.jsxDEV)(`div`,{className:`self-end max-w-[85%] rounded-2xl rounded-br-sm bg-accent/15 px-3 py-2 text-sm whitespace-pre-wrap break-words`,children:[i?.length?(0,K.jsxDEV)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:i.map(e=>(0,K.jsxDEV)(`span`,{className:`inline-flex max-w-full items-center rounded-md bg-bg/60 px-1.5 py-0.5 text-xs`,title:e.name,children:e.label??e.name},e.name,!1,{fileName:J,lineNumber:68,columnNumber:15},this))},void 0,!1,{fileName:J,lineNumber:66,columnNumber:11},this):null,t]},void 0,!0,{fileName:J,lineNumber:64,columnNumber:7},this):(0,K.jsxDEV)(`div`,{className:`self-start max-w-[95%] min-w-0 rounded-2xl rounded-bl-sm bg-elevated px-3 py-2 text-sm break-words`,children:[n?(0,K.jsxDEV)(`details`,{className:`mb-2 rounded-lg border border-border px-2 py-1`,children:[(0,K.jsxDEV)(`summary`,{className:`cursor-pointer select-none text-xs text-muted`,children:a(`webchat.reasoning`)},void 0,!1,{fileName:J,lineNumber:87,columnNumber:11},this),(0,K.jsxDEV)(Cn,{text:n,className:`md-static mt-1 text-xs text-muted`},void 0,!1,{fileName:J,lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:86,columnNumber:9},this):null,(0,K.jsxDEV)(Cn,{text:t,className:`md-static`},void 0,!1,{fileName:J,lineNumber:91,columnNumber:7},this)]},void 0,!0,{fileName:J,lineNumber:83,columnNumber:5},this)}),Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/AgentPicker.tsx`;function Dn({quality:e,time:t,hint:n}){let{t:i}=r();if(e===void 0||t===void 0)return n?(0,K.jsxDEV)(`span`,{className:`shrink-0 text-muted`,children:n},void 0,!1,{fileName:Y,lineNumber:14,columnNumber:19},this):null;let a=e!==t;return(0,K.jsxDEV)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-muted tabular-nums`,children:[(0,K.jsxDEV)(`span`,{className:`flex items-center gap-0.5`,title:i(`webchat.quality`,{value:e}),children:[e,(0,K.jsxDEV)(m,{size:11,"aria-hidden":!0,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:24,columnNumber:9},this),(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.quality`,{value:e})},void 0,!1,{fileName:Y,lineNumber:25,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:22,columnNumber:7},this),a?(0,K.jsxDEV)(`span`,{className:`flex items-center gap-0.5`,title:i(`webchat.time`,{value:t}),children:[t,(0,K.jsxDEV)(_,{size:11,"aria-hidden":!0,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:30,columnNumber:11},this),(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.time`,{value:t})},void 0,!1,{fileName:Y,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:28,columnNumber:9},this):(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.time`,{value:t})},void 0,!1,{fileName:Y,lineNumber:34,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:21,columnNumber:5},this)}function On({agents:e,defaultAgentId:t,selection:n,onChange:i}){let{t:a}=r(),[o,c]=(0,N.useState)(!1),l=(0,N.useRef)(null),u=(0,N.useRef)(null);(0,N.useEffect)(()=>{if(!o)return;function e(e){l.current&&!l.current.contains(e.target)&&c(!1)}function t(e){e.key===`Escape`&&(c(!1),u.current?.focus())}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[o]);let f=e.length>1,p=e.flatMap(e=>e.presets.map(t=>({agentId:e.id,presetId:t.id,label:f?`${e.title} · ${t.title}`:t.title,hint:t.hint,quality:t.quality,time:t.time,isDefault:t.default===!0})));if(p.length===0)return null;let m=p.find(e=>e.agentId===n.agentId&&e.presetId===n.presetId)??p.find(e=>e.agentId===t&&e.isDefault)??p.find(e=>e.isDefault)??p[0];return(0,K.jsxDEV)(`div`,{className:`relative`,ref:l,children:[(0,K.jsxDEV)(`button`,{ref:u,type:`button`,"aria-haspopup":`menu`,"aria-expanded":o,className:`flex items-center gap-1 rounded-md px-2 py-1 text-xs text-muted hover:text-text focus-visible:outline-2 focus-visible:outline-accent`,onClick:()=>c(e=>!e),children:[(0,K.jsxDEV)(`span`,{className:`max-w-40 truncate`,children:m.label},void 0,!1,{fileName:Y,lineNumber:115,columnNumber:9},this),(0,K.jsxDEV)(d,{size:12,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:116,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:107,columnNumber:7},this),o&&(0,K.jsxDEV)(`ul`,{"aria-label":a(`webchat.agentPicker`),className:`absolute bottom-full left-0 z-10 mb-1 max-h-64 w-64 max-w-[calc(100vw-2rem)] overflow-y-auto rounded-md border border-border bg-elevated py-1 shadow-lg`,children:p.map(e=>{let t=e===m;return(0,K.jsxDEV)(`li`,{children:(0,K.jsxDEV)(`button`,{type:`button`,...t?{"aria-current":!0}:{},className:`flex w-full items-center gap-2 px-2 py-1.5 text-left text-xs hover:bg-surface focus-visible:outline-2 focus-visible:outline-accent`,onClick:()=>{c(!1),i({agentId:e.agentId,presetId:e.presetId})},children:[(0,K.jsxDEV)(s,{size:12,className:t?`shrink-0 text-accent`:`shrink-0 opacity-0`},void 0,!1,{fileName:Y,lineNumber:147,columnNumber:19},this),(0,K.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label},void 0,!1,{fileName:Y,lineNumber:148,columnNumber:19},this),(0,K.jsxDEV)(Dn,{quality:e.quality,time:e.time,hint:e.hint},void 0,!1,{fileName:Y,lineNumber:149,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:135,columnNumber:17},this)},`${e.agentId}/${e.presetId}`,!1,{fileName:Y,lineNumber:134,columnNumber:15},this)})},void 0,!1,{fileName:Y,lineNumber:124,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:106,columnNumber:5},this)}var X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatComposer.tsx`;function kn({streaming:e,onSend:t,onStop:n,attachments:i,uploading:a,uploadError:o,uploadProgress:s,canRetryUpload:c,onRetryUpload:u,onPickFiles:d,onRemoveAttachment:f,agents:p,defaultAgentId:m,selection:h,onChooseAgent:_,attachmentsAllowed:v}){let{t:y}=r(),[x,S]=(0,N.useState)(``);function T(){!x.trim()||e||t(x.trim(),i)&&S(``)}return(0,K.jsxDEV)(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border p-2`,children:[(i.length>0||a||o)&&(0,K.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1`,"data-chat-attachments":!0,children:[i.map((e,t)=>(0,K.jsxDEV)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded-md bg-elevated px-2 py-1 text-xs`,children:[(0,K.jsxDEV)(b,{size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:X,lineNumber:65,columnNumber:15},this),(0,K.jsxDEV)(`span`,{className:`max-w-48 truncate`,children:e.label??e.name},void 0,!1,{fileName:X,lineNumber:66,columnNumber:15},this),(0,K.jsxDEV)(`button`,{type:`button`,"aria-label":y(`webchat.removeAttachment`,{name:e.label??e.name}),className:`shrink-0 rounded p-0.5 text-muted hover:text-danger`,onClick:()=>f(t),children:(0,K.jsxDEV)(l,{size:13},void 0,!1,{fileName:X,lineNumber:73,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:67,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:X,lineNumber:61,columnNumber:13},this)),a&&(0,K.jsxDEV)(`div`,{className:`flex min-w-32 flex-1 items-center gap-2`,"aria-label":y(`webchat.uploading`),children:[(0,K.jsxDEV)(C,{size:14,className:`shrink-0 animate-spin text-muted`},void 0,!1,{fileName:X,lineNumber:79,columnNumber:15},this),(0,K.jsxDEV)(`div`,{role:`progressbar`,"aria-label":y(`webchat.uploadProgress`),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":s,className:`h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-border`,children:(0,K.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${s}%`}},void 0,!1,{fileName:X,lineNumber:88,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:80,columnNumber:15},this),(0,K.jsxDEV)(`span`,{className:`text-xs tabular-nums text-muted`,children:[s,`%`]},void 0,!0,{fileName:X,lineNumber:93,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:78,columnNumber:13},this),o&&(0,K.jsxDEV)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2 text-xs text-danger`,children:[(0,K.jsxDEV)(`span`,{className:`min-w-0 flex-1`,children:y(o)},void 0,!1,{fileName:X,lineNumber:98,columnNumber:15},this),c&&(0,K.jsxDEV)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1 rounded px-1.5 py-0.5 font-medium text-accent hover:bg-elevated`,onClick:u,children:[(0,K.jsxDEV)(w,{size:12},void 0,!1,{fileName:X,lineNumber:105,columnNumber:19},this),` `,y(`webchat.retryUpload`)]},void 0,!0,{fileName:X,lineNumber:100,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:97,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:59,columnNumber:9},this),(0,K.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,K.jsxDEV)(`textarea`,{className:`w-full resize-none rounded-lg border border-border bg-bg px-3 py-2 text-sm max-h-32`,rows:1,value:x,placeholder:y(`webchat.placeholder`),onChange:e=>S(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),T())}},void 0,!1,{fileName:X,lineNumber:115,columnNumber:9},this),(0,K.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[v&&(0,K.jsxDEV)(`label`,{"aria-label":y(`webchat.attach`),className:`shrink-0 cursor-pointer rounded-lg p-1.5 text-muted hover:bg-elevated hover:text-accent ${a?`pointer-events-none opacity-60`:``}`,children:[(0,K.jsxDEV)(pe,{size:18},void 0,!1,{fileName:X,lineNumber:135,columnNumber:15},this),(0,K.jsxDEV)(`input`,{type:`file`,multiple:!0,className:`hidden`,disabled:a,onChange:e=>{e.target.files?.length&&d(e.target.files),e.currentTarget.value=``}},void 0,!1,{fileName:X,lineNumber:136,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:131,columnNumber:13},this),(0,K.jsxDEV)(On,{agents:p,defaultAgentId:m,selection:h,onChange:_},void 0,!1,{fileName:X,lineNumber:148,columnNumber:11},this),(0,K.jsxDEV)(`div`,{className:`flex-1`},void 0,!1,{fileName:X,lineNumber:149,columnNumber:11},this),e?(0,K.jsxDEV)(`button`,{"aria-label":y(`webchat.stop`),className:`shrink-0 rounded-lg p-1.5 hover:bg-elevated`,onClick:n,children:(0,K.jsxDEV)(g,{size:18},void 0,!1,{fileName:X,lineNumber:156,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:151,columnNumber:13},this):(0,K.jsxDEV)(`button`,{"aria-label":y(`webchat.send`),className:`shrink-0 rounded-lg p-1.5 hover:bg-elevated`,onClick:T,children:(0,K.jsxDEV)(me,{size:18},void 0,!1,{fileName:X,lineNumber:164,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:159,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:129,columnNumber:9},this)]},void 0,!0,{fileName:X,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:57,columnNumber:5},this)}var Z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatThreadList.tsx`;function An({threads:e,activeId:t,onOpen:n,onNew:i,className:a=`w-[220px] shrink-0`}){let{t:o}=r();return(0,K.jsxDEV)(`aside`,{"aria-label":o(`webchat.threads`),className:`${a} border-r border-border flex flex-col`,children:[(0,K.jsxDEV)(`button`,{className:`flex items-center gap-2 px-3 py-2 text-sm hover:bg-elevated`,onClick:i,children:[(0,K.jsxDEV)(p,{size:16},void 0,!1,{fileName:Z,lineNumber:23,columnNumber:9},this),` `,o(`webchat.newConversation`)]},void 0,!0,{fileName:Z,lineNumber:22,columnNumber:7},this),(0,K.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:e.map(e=>(0,K.jsxDEV)(`button`,{onClick:()=>n(e.convId),className:`block w-full truncate px-3 py-2 text-left text-sm hover:bg-elevated ${e.convId===t?`bg-elevated font-medium`:``}`,children:e.title||o(`webchat.newConversation`)},e.convId,!1,{fileName:Z,lineNumber:27,columnNumber:11},this))},void 0,!1,{fileName:Z,lineNumber:25,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:21,columnNumber:5},this)}var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatWidget.tsx`,jn=25*1024*1024;function $(e){return Array.from(e.dataTransfer.types).includes(`Files`)}function Mn({children:e,onFiles:t,className:n}){let{t:i}=r(),[a,o]=(0,N.useState)(!1),s=(0,N.useRef)(0);function c(e){$(e)&&(e.preventDefault(),s.current+=1,o(!0))}function l(e){$(e)&&(e.preventDefault(),s.current=Math.max(0,s.current-1),s.current===0&&o(!1))}function u(e){$(e)&&(e.preventDefault(),s.current=0,o(!1),t(Array.from(e.dataTransfer.files)))}return(0,K.jsxDEV)(`div`,{className:n,onDragEnter:c,onDragLeave:l,onDragOver:e=>{$(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:u,children:[e,a&&(0,K.jsxDEV)(`div`,{"data-chat-drop-overlay":!0,"data-testid":`chat-drop-overlay`,className:`pointer-events-none absolute inset-0 z-50 grid place-items-center bg-surface/95 p-6 text-center backdrop-blur-sm`,children:(0,K.jsxDEV)(`div`,{className:`flex h-full w-full flex-col items-center justify-center rounded-2xl border-2 border-dashed border-accent bg-accent/10 text-accent`,children:[(0,K.jsxDEV)(v,{size:34},void 0,!1,{fileName:Q,lineNumber:83,columnNumber:13},this),(0,K.jsxDEV)(`span`,{className:`mt-3 text-base font-medium`,children:i(`webchat.dropFiles`)},void 0,!1,{fileName:Q,lineNumber:84,columnNumber:13},this),(0,K.jsxDEV)(`span`,{className:`mt-1 text-xs text-muted`,children:i(`webchat.dropFilesHint`)},void 0,!1,{fileName:Q,lineNumber:85,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:59,columnNumber:5},this)}function Nn(e){return e?`panel`:`modal`}function Pn(){let{t:e}=r(),t=Ce(),n=we(),[i,a]=(0,N.useState)(`bubble`),[o,s]=(0,N.useState)(!1),[c,u]=(0,N.useState)([]),[d,m]=(0,N.useState)(!1),[g,_]=(0,N.useState)(0),[v,y]=(0,N.useState)(null),[b,x]=(0,N.useState)([]),C=S(`sm`,640),w=S(`nav`,768),T=(0,N.useCallback)(()=>{a(Nn(w))},[w]),E=(0,N.useRef)(null),D=(0,N.useRef)(`bubble`);(0,N.useEffect)(()=>{if(i!==`modal`)return;let e=e=>{e.key===`Escape`&&a(`panel`)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i]),(0,N.useEffect)(()=>{i===`panel`&&D.current===`modal`&&E.current?.focus(),i!==`modal`&&s(!1),D.current=i},[i]),(0,N.useEffect)(()=>{if(i!==`modal`)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[i]);let O=i!==`bubble`;(0,N.useEffect)(()=>{O&&t.loadThreads()},[O,t.loadThreads]);let{convId:re,newConversation:ie}=t;(0,N.useEffect)(()=>{O&&re===null&&ie()},[O,re,ie]);function k(){t.newConversation(),u([]),y(null),x([]),s(!1)}let A=(0,N.useCallback)(async e=>{if(!e.length)return;y(null),x([]),m(!0),_(0);let t=[],n=[],r=null;for(let i of e){if(i.size>jn){r??=`webchat.uploadTooLarge`;continue}try{_(0);let e=await ee(i,_);e?t.push({...e,label:i.name}):(n.push(i),r??=`webchat.uploadFailed`)}catch{n.push(i),r??=`webchat.uploadFailed`}}t.length&&u(e=>[...e,...t]),m(!1),_(0),x(n),r&&y(r)},[]),ae=(0,N.useCallback)(()=>{b.length&&A(b)},[A,b]),oe=t.messages.length>0||t.pending!==null,j=(0,K.jsxDEV)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border px-3 py-2`,children:[(0,K.jsxDEV)(`span`,{className:`text-sm font-medium`,children:e(`webchat.title`)},void 0,!1,{fileName:Q,lineNumber:231,columnNumber:7},this),(0,K.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[i===`modal`&&!C&&(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.threads`),"aria-expanded":o,className:`rounded p-1 hover:bg-elevated`,onClick:()=>s(e=>!e),children:(0,K.jsxDEV)(h,{size:16},void 0,!1,{fileName:Q,lineNumber:242,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:236,columnNumber:11},this),oe&&(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.newConversation`),className:`rounded p-1 hover:bg-elevated`,onClick:k,children:(0,K.jsxDEV)(p,{size:16},void 0,!1,{fileName:Q,lineNumber:255,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:250,columnNumber:11},this),(0,K.jsxDEV)(`button`,{ref:E,"aria-label":e(i===`modal`?`webchat.collapse`:`webchat.expand`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(i===`modal`?`panel`:`modal`),children:i===`modal`?(0,K.jsxDEV)(fe,{size:16},void 0,!1,{fileName:Q,lineNumber:264,columnNumber:31},this):(0,K.jsxDEV)(de,{size:16},void 0,!1,{fileName:Q,lineNumber:264,columnNumber:57},this)},void 0,!1,{fileName:Q,lineNumber:258,columnNumber:9},this),(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.close`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(`bubble`),children:(0,K.jsxDEV)(l,{size:16},void 0,!1,{fileName:Q,lineNumber:271,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:266,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:232,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:230,columnNumber:5},this),M=(0,K.jsxDEV)(xn,{onNavigate:T,children:(0,K.jsxDEV)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[t.error&&(0,K.jsxDEV)(`div`,{className:`px-3 py-2 text-sm text-danger`,children:e(`webchat.error`,{message:t.error})},void 0,!1,{fileName:Q,lineNumber:283,columnNumber:11},this),(0,K.jsxDEV)(Tn,{messages:t.messages,pending:t.pending,pendingReasoning:t.pendingReasoning},void 0,!1,{fileName:Q,lineNumber:285,columnNumber:9},this),(0,K.jsxDEV)(kn,{streaming:t.pending!==null,attachments:c,uploading:d,uploadProgress:g,uploadError:v,canRetryUpload:b.length>0&&!d,onRetryUpload:ae,onPickFiles:e=>void A(Array.from(e)),onRemoveAttachment:e=>u(t=>t.filter((t,n)=>n!==e)),agents:t.agents,defaultAgentId:t.defaultAgentId,selection:t.selection,onChooseAgent:t.chooseAgent,attachmentsAllowed:t.attachmentsAllowed,onSend:(e,r)=>{let i=r.length?t.send(e,n,r):t.send(e,n);return i&&(u([]),y(null),x([])),i},onStop:t.stop},void 0,!1,{fileName:Q,lineNumber:286,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:281,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:278,columnNumber:5},this);if(i===`bubble`)return(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.open`),onClick:()=>a(C?`panel`:`modal`),className:`fixed bottom-20 right-4 z-40 grid h-14 w-14 place-items-center rounded-full bg-accent text-white shadow-lg nav:bottom-4`,children:(0,K.jsxDEV)(f,{size:24},void 0,!1,{fileName:Q,lineNumber:326,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:318,columnNumber:7},this);if(i===`panel`)return(0,K.jsxDEV)(Mn,{onFiles:A,className:`fixed bottom-20 right-4 z-40 flex h-[560px] max-h-[80dvh] w-[380px] max-w-[calc(100vw-2rem)] flex-col overflow-hidden rounded-2xl border border-border bg-surface shadow-xl nav:bottom-4`,children:[j,M]},void 0,!0,{fileName:Q,lineNumber:333,columnNumber:7},this);let se=C||o;return(0,K.jsxDEV)(ne,{open:!0,modal:!1,onOpenChange:e=>!e&&a(`panel`),children:[(0,K.jsxDEV)(`div`,{"data-chat-backdrop":!0,"aria-hidden":`true`,className:`fixed inset-0 z-[45] bg-black/50 backdrop-blur-sm`},void 0,!1,{fileName:Q,lineNumber:356,columnNumber:7},this),(0,K.jsxDEV)(te,{hideClose:!0,className:`h-[85dvh] w-full p-0 md:h-[85dvh] md:w-[80vw] md:max-w-[1040px] md:overflow-y-hidden`,children:(0,K.jsxDEV)(Mn,{onFiles:A,className:`h-full`,children:(0,K.jsxDEV)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[j,(0,K.jsxDEV)(`div`,{className:`flex min-h-0 flex-1`,children:[se&&(0,K.jsxDEV)(An,{threads:t.threads,activeId:t.convId,onOpen:e=>{t.open(e),u([]),y(null),x([]),s(!1)},onNew:k,className:C?`w-[220px] shrink-0`:`w-full`},void 0,!1,{fileName:Q,lineNumber:371,columnNumber:17},this),(C||!o)&&M]},void 0,!0,{fileName:Q,lineNumber:369,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:367,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:366,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:362,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:353,columnNumber:5},this)}export{Pn as ChatWidget,Pn as default,Nn as nextModeAfterNav};
|
|
@@ -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{r,t as i}from"./react-vendor-BskHO5hY.js";import{t as a}from"./Icon-DyZrCblq.js";import{t as o}from"./button-DaYjtbcx.js";import{g as s,m as c,p as l}from"./api-DsJ6cAbe.js";import{n as u,r as d}from"./auth-context-C1voH8bU.js";import{t as f}from"./PageBody-Y-cpiRMh.js";import{n as p,t as m}from"./version-DHVNWcte.js";var h=e(t(),1),g=i(),_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/DiagnosticsPage.tsx`;function v(){let{t:e}=n(),{role:t}=u(),[i,v]=(0,h.useState)(null),[b,x]=(0,h.useState)([]),[S,C]=(0,h.useState)(null),[w,T]=(0,h.useState)(`loading`),[E,D]=(0,h.useState)(!0),[O,k]=(0,h.useState)(!1),A=(0,h.useCallback)(async()=>{D(!0),k(!1),T(`loading`);let e=fetch(`/health`).then(e=>T(e.ok?`ok`:`error`)).catch(()=>T(`error`));try{let[e,t,n]=await Promise.all([l(),s(),c()]);v(e),x(t),C(n)}catch{k(!0)}finally{await e,D(!1)}},[]);if((0,h.useEffect)(()=>{t===`admin`&&A()},[A,t]),t!==`admin`)return(0,g.jsxDEV)(f,{children:[(0,g.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:_,lineNumber:63,columnNumber:9},this),(0,g.jsxDEV)(`h1`,{className:`mt-4 text-2xl font-bold tracking-tight text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:_,lineNumber:66,columnNumber:9},this),(0,g.jsxDEV)(`p`,{className:`mt-3 text-sm text-danger`,children:e(`diagnostics.adminOnly`)},void 0,!1,{fileName:_,lineNumber:67,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:62,columnNumber:7},this);let j=b.filter(e=>e.latestVersion&&m(e.latestVersion,e.installedVersion));return(0,g.jsxDEV)(f,{children:[(0,g.jsxDEV)(`div`,{className:`mb-6 flex items-start justify-between gap-4`,children:[(0,g.jsxDEV)(`div`,{children:[(0,g.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:_,lineNumber:78,columnNumber:11},this),(0,g.jsxDEV)(`h1`,{className:`mt-2 text-2xl font-bold tracking-tight text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:_,lineNumber:81,columnNumber:11},this),(0,g.jsxDEV)(`p`,{className:`mt-1 text-sm text-muted`,children:e(`diagnostics.description`)},void 0,!1,{fileName:_,lineNumber:82,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:77,columnNumber:9},this),(0,g.jsxDEV)(o,{type:`button`,variant:`ghost`,size:`sm`,className:`shrink-0 border border-border`,disabled:E,onClick:()=>void A(),children:[(0,g.jsxDEV)(a,{name:`lucide:refresh-cw`,size:15,className:E?`animate-spin`:void 0},void 0,!1,{fileName:_,lineNumber:92,columnNumber:11},this),e(E?`diagnostics.refreshing`:`diagnostics.refresh`)]},void 0,!0,{fileName:_,lineNumber:84,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:76,columnNumber:7},this),O&&(0,g.jsxDEV)(`div`,{className:`mb-5 rounded-lg border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:e(`diagnostics.loadFailed`)},void 0,!1,{fileName:_,lineNumber:98,columnNumber:9},this),(0,g.jsxDEV)(`div`,{className:`grid gap-4 sm:grid-cols-3`,children:[(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.server`)},void 0,!1,{fileName:_,lineNumber:105,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex items-center gap-2 font-semibold text-text`,children:[(0,g.jsxDEV)(`span`,{className:`h-2.5 w-2.5 rounded-full ${w===`ok`?`bg-accent`:w===`error`?`bg-danger`:`bg-muted`}`},void 0,!1,{fileName:_,lineNumber:107,columnNumber:13},this),e(w===`ok`?`diagnostics.healthy`:w===`error`?`diagnostics.unavailable`:`common.loading`)]},void 0,!0,{fileName:_,lineNumber:106,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:104,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.agents`)},void 0,!1,{fileName:_,lineNumber:118,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.agents.map(e=>(0,g.jsxDEV)(p,{variant:`secondary`,children:e},e,!1,{fileName:_,lineNumber:121,columnNumber:15},this))??(0,g.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:_,lineNumber:124,columnNumber:19},this)},void 0,!1,{fileName:_,lineNumber:119,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:117,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.connectors`)},void 0,!1,{fileName:_,lineNumber:128,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.connectors.map(e=>(0,g.jsxDEV)(p,{variant:`secondary`,children:e},e,!1,{fileName:_,lineNumber:131,columnNumber:15},this))??(0,g.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:_,lineNumber:134,columnNumber:19},this)},void 0,!1,{fileName:_,lineNumber:129,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:103,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.versions`)},void 0,!1,{fileName:_,lineNumber:140,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-hidden`,children:[(0,g.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2 text-xs font-medium text-muted`,children:[(0,g.jsxDEV)(`span`,{children:e(`diagnostics.component`)},void 0,!1,{fileName:_,lineNumber:143,columnNumber:13},this),(0,g.jsxDEV)(`span`,{children:e(`diagnostics.installed`)},void 0,!1,{fileName:_,lineNumber:144,columnNumber:13},this),(0,g.jsxDEV)(`span`,{children:e(`diagnostics.latest`)},void 0,!1,{fileName:_,lineNumber:145,columnNumber:13},this)]},void 0,!0,{fileName:_,lineNumber:142,columnNumber:11},this),S?.installedVersion&&(0,g.jsxDEV)(y,{name:e(`settings.runtimeLabel`),installed:S.installedVersion,latest:S.latestVersion},void 0,!1,{fileName:_,lineNumber:148,columnNumber:13},this),b.filter(e=>e.id!==`core`).map(e=>(0,g.jsxDEV)(y,{name:e.id,installed:e.installedVersion,latest:e.latestVersion},e.id,!1,{fileName:_,lineNumber:157,columnNumber:15},this)),!S?.installedVersion&&b.length===0&&(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noData`)},void 0,!1,{fileName:_,lineNumber:160,columnNumber:13},this),j.length>0&&(0,g.jsxDEV)(`div`,{className:`border-t border-border px-4 py-2 text-xs text-accent`,children:e(`diagnostics.outdated`,{count:j.length})},void 0,!1,{fileName:_,lineNumber:163,columnNumber:13},this)]},void 0,!0,{fileName:_,lineNumber:141,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:139,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentMessages`)},void 0,!1,{fileName:_,lineNumber:171,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-x-auto`,children:i?.recentMessages.length?(0,g.jsxDEV)(`table`,{className:`w-full min-w-[34rem] text-left text-xs`,children:[(0,g.jsxDEV)(`thead`,{className:`border-b border-border text-muted`,children:(0,g.jsxDEV)(`tr`,{children:[(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.time`)},void 0,!1,{fileName:_,lineNumber:177,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.connector`)},void 0,!1,{fileName:_,lineNumber:178,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.role`)},void 0,!1,{fileName:_,lineNumber:179,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.duration`)},void 0,!1,{fileName:_,lineNumber:180,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.tokens`)},void 0,!1,{fileName:_,lineNumber:181,columnNumber:19},this)]},void 0,!0,{fileName:_,lineNumber:176,columnNumber:17},this)},void 0,!1,{fileName:_,lineNumber:175,columnNumber:15},this),(0,g.jsxDEV)(`tbody`,{children:i.recentMessages.map(e=>(0,g.jsxDEV)(`tr`,{className:`border-b border-border last:border-0`,children:[(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:_,lineNumber:187,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.connector},void 0,!1,{fileName:_,lineNumber:188,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.role},void 0,!1,{fileName:_,lineNumber:189,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.ms==null?`—`:`${e.ms} ms`},void 0,!1,{fileName:_,lineNumber:190,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.tokensIn==null&&e.tokensOut==null?`—`:`${e.tokensIn??0} / ${e.tokensOut??0}`},void 0,!1,{fileName:_,lineNumber:191,columnNumber:21},this)]},e.id,!0,{fileName:_,lineNumber:186,columnNumber:19},this))},void 0,!1,{fileName:_,lineNumber:184,columnNumber:15},this)]},void 0,!0,{fileName:_,lineNumber:174,columnNumber:13},this):(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noMessages`)},void 0,!1,{fileName:_,lineNumber:201,columnNumber:13},this)},void 0,!1,{fileName:_,lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:170,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentErrors`)},void 0,!1,{fileName:_,lineNumber:207,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-hidden`,children:i?.recentErrors.length?i.recentErrors.map((e,t)=>(0,g.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3 last:border-0`,children:[(0,g.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs`,children:[(0,g.jsxDEV)(p,{variant:`destructive`,children:e.level},void 0,!1,{fileName:_,lineNumber:213,columnNumber:19},this),(0,g.jsxDEV)(`span`,{className:`font-medium text-text`,children:e.source},void 0,!1,{fileName:_,lineNumber:214,columnNumber:19},this),(0,g.jsxDEV)(`span`,{className:`text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:_,lineNumber:215,columnNumber:19},this)]},void 0,!0,{fileName:_,lineNumber:212,columnNumber:17},this),(0,g.jsxDEV)(`div`,{className:`mt-1 break-words text-sm text-danger`,children:e.message},void 0,!1,{fileName:_,lineNumber:217,columnNumber:17},this)]},`${e.ts}-${t}`,!0,{fileName:_,lineNumber:211,columnNumber:15},this)):(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noErrors`)},void 0,!1,{fileName:_,lineNumber:221,columnNumber:13},this)},void 0,!1,{fileName:_,lineNumber:208,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:206,columnNumber:7},this)]},void 0,!0,{fileName:_,lineNumber:75,columnNumber:5},this)}function y({name:e,installed:t,latest:n}){return(0,g.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2.5 text-sm last:border-0`,children:[(0,g.jsxDEV)(`span`,{className:`min-w-0 truncate text-text`,children:e},void 0,!1,{fileName:_,lineNumber:232,columnNumber:7},this),(0,g.jsxDEV)(`span`,{className:`text-muted`,children:[`v`,t]},void 0,!0,{fileName:_,lineNumber:233,columnNumber:7},this),(0,g.jsxDEV)(`span`,{className:n&&m(n,t)?`text-accent`:`text-muted`,children:n?`v${n}`:`—`},void 0,!1,{fileName:_,lineNumber:234,columnNumber:7},this)]},void 0,!0,{fileName:_,lineNumber:231,columnNumber:5},this)}export{v as DiagnosticsPage};
|
|
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{t as a}from"./Icon-BumJSRVW.js";import{t as o}from"./button-DaYjtbcx.js";import{g as s,m as c,p as l}from"./api-DsJ6cAbe.js";import{n as u,r as d}from"./auth-context-C1voH8bU.js";import{t as f}from"./PageBody-Y-cpiRMh.js";import{n as p,t as m}from"./version-DHVNWcte.js";var h=e(t(),1),g=i(),_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/DiagnosticsPage.tsx`;function v(){let{t:e}=n(),{role:t}=u(),[i,v]=(0,h.useState)(null),[b,x]=(0,h.useState)([]),[S,C]=(0,h.useState)(null),[w,T]=(0,h.useState)(`loading`),[E,D]=(0,h.useState)(!0),[O,k]=(0,h.useState)(!1),A=(0,h.useCallback)(async()=>{D(!0),k(!1),T(`loading`);let e=fetch(`/health`).then(e=>T(e.ok?`ok`:`error`)).catch(()=>T(`error`));try{let[e,t,n]=await Promise.all([l(),s(),c()]);v(e),x(t),C(n)}catch{k(!0)}finally{await e,D(!1)}},[]);if((0,h.useEffect)(()=>{t===`admin`&&A()},[A,t]),t!==`admin`)return(0,g.jsxDEV)(f,{children:[(0,g.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:_,lineNumber:63,columnNumber:9},this),(0,g.jsxDEV)(`h1`,{className:`mt-4 text-2xl font-bold tracking-tight text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:_,lineNumber:66,columnNumber:9},this),(0,g.jsxDEV)(`p`,{className:`mt-3 text-sm text-danger`,children:e(`diagnostics.adminOnly`)},void 0,!1,{fileName:_,lineNumber:67,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:62,columnNumber:7},this);let j=b.filter(e=>e.latestVersion&&m(e.latestVersion,e.installedVersion));return(0,g.jsxDEV)(f,{children:[(0,g.jsxDEV)(`div`,{className:`mb-6 flex items-start justify-between gap-4`,children:[(0,g.jsxDEV)(`div`,{children:[(0,g.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:_,lineNumber:78,columnNumber:11},this),(0,g.jsxDEV)(`h1`,{className:`mt-2 text-2xl font-bold tracking-tight text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:_,lineNumber:81,columnNumber:11},this),(0,g.jsxDEV)(`p`,{className:`mt-1 text-sm text-muted`,children:e(`diagnostics.description`)},void 0,!1,{fileName:_,lineNumber:82,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:77,columnNumber:9},this),(0,g.jsxDEV)(o,{type:`button`,variant:`ghost`,size:`sm`,className:`shrink-0 border border-border`,disabled:E,onClick:()=>void A(),children:[(0,g.jsxDEV)(a,{name:`lucide:refresh-cw`,size:15,className:E?`animate-spin`:void 0},void 0,!1,{fileName:_,lineNumber:92,columnNumber:11},this),e(E?`diagnostics.refreshing`:`diagnostics.refresh`)]},void 0,!0,{fileName:_,lineNumber:84,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:76,columnNumber:7},this),O&&(0,g.jsxDEV)(`div`,{className:`mb-5 rounded-lg border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:e(`diagnostics.loadFailed`)},void 0,!1,{fileName:_,lineNumber:98,columnNumber:9},this),(0,g.jsxDEV)(`div`,{className:`grid gap-4 sm:grid-cols-3`,children:[(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.server`)},void 0,!1,{fileName:_,lineNumber:105,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex items-center gap-2 font-semibold text-text`,children:[(0,g.jsxDEV)(`span`,{className:`h-2.5 w-2.5 rounded-full ${w===`ok`?`bg-accent`:w===`error`?`bg-danger`:`bg-muted`}`},void 0,!1,{fileName:_,lineNumber:107,columnNumber:13},this),e(w===`ok`?`diagnostics.healthy`:w===`error`?`diagnostics.unavailable`:`common.loading`)]},void 0,!0,{fileName:_,lineNumber:106,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:104,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.agents`)},void 0,!1,{fileName:_,lineNumber:118,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.agents.map(e=>(0,g.jsxDEV)(p,{variant:`secondary`,children:e},e,!1,{fileName:_,lineNumber:121,columnNumber:15},this))??(0,g.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:_,lineNumber:124,columnNumber:19},this)},void 0,!1,{fileName:_,lineNumber:119,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:117,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.connectors`)},void 0,!1,{fileName:_,lineNumber:128,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.connectors.map(e=>(0,g.jsxDEV)(p,{variant:`secondary`,children:e},e,!1,{fileName:_,lineNumber:131,columnNumber:15},this))??(0,g.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:_,lineNumber:134,columnNumber:19},this)},void 0,!1,{fileName:_,lineNumber:129,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:103,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.versions`)},void 0,!1,{fileName:_,lineNumber:140,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-hidden`,children:[(0,g.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2 text-xs font-medium text-muted`,children:[(0,g.jsxDEV)(`span`,{children:e(`diagnostics.component`)},void 0,!1,{fileName:_,lineNumber:143,columnNumber:13},this),(0,g.jsxDEV)(`span`,{children:e(`diagnostics.installed`)},void 0,!1,{fileName:_,lineNumber:144,columnNumber:13},this),(0,g.jsxDEV)(`span`,{children:e(`diagnostics.latest`)},void 0,!1,{fileName:_,lineNumber:145,columnNumber:13},this)]},void 0,!0,{fileName:_,lineNumber:142,columnNumber:11},this),S?.installedVersion&&(0,g.jsxDEV)(y,{name:e(`settings.runtimeLabel`),installed:S.installedVersion,latest:S.latestVersion},void 0,!1,{fileName:_,lineNumber:148,columnNumber:13},this),b.filter(e=>e.id!==`core`).map(e=>(0,g.jsxDEV)(y,{name:e.id,installed:e.installedVersion,latest:e.latestVersion},e.id,!1,{fileName:_,lineNumber:157,columnNumber:15},this)),!S?.installedVersion&&b.length===0&&(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noData`)},void 0,!1,{fileName:_,lineNumber:160,columnNumber:13},this),j.length>0&&(0,g.jsxDEV)(`div`,{className:`border-t border-border px-4 py-2 text-xs text-accent`,children:e(`diagnostics.outdated`,{count:j.length})},void 0,!1,{fileName:_,lineNumber:163,columnNumber:13},this)]},void 0,!0,{fileName:_,lineNumber:141,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:139,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentMessages`)},void 0,!1,{fileName:_,lineNumber:171,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-x-auto`,children:i?.recentMessages.length?(0,g.jsxDEV)(`table`,{className:`w-full min-w-[34rem] text-left text-xs`,children:[(0,g.jsxDEV)(`thead`,{className:`border-b border-border text-muted`,children:(0,g.jsxDEV)(`tr`,{children:[(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.time`)},void 0,!1,{fileName:_,lineNumber:177,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.connector`)},void 0,!1,{fileName:_,lineNumber:178,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.role`)},void 0,!1,{fileName:_,lineNumber:179,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.duration`)},void 0,!1,{fileName:_,lineNumber:180,columnNumber:19},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.tokens`)},void 0,!1,{fileName:_,lineNumber:181,columnNumber:19},this)]},void 0,!0,{fileName:_,lineNumber:176,columnNumber:17},this)},void 0,!1,{fileName:_,lineNumber:175,columnNumber:15},this),(0,g.jsxDEV)(`tbody`,{children:i.recentMessages.map(e=>(0,g.jsxDEV)(`tr`,{className:`border-b border-border last:border-0`,children:[(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:_,lineNumber:187,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.connector},void 0,!1,{fileName:_,lineNumber:188,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.role},void 0,!1,{fileName:_,lineNumber:189,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.ms==null?`—`:`${e.ms} ms`},void 0,!1,{fileName:_,lineNumber:190,columnNumber:21},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.tokensIn==null&&e.tokensOut==null?`—`:`${e.tokensIn??0} / ${e.tokensOut??0}`},void 0,!1,{fileName:_,lineNumber:191,columnNumber:21},this)]},e.id,!0,{fileName:_,lineNumber:186,columnNumber:19},this))},void 0,!1,{fileName:_,lineNumber:184,columnNumber:15},this)]},void 0,!0,{fileName:_,lineNumber:174,columnNumber:13},this):(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noMessages`)},void 0,!1,{fileName:_,lineNumber:201,columnNumber:13},this)},void 0,!1,{fileName:_,lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:170,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentErrors`)},void 0,!1,{fileName:_,lineNumber:207,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-hidden`,children:i?.recentErrors.length?i.recentErrors.map((e,t)=>(0,g.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3 last:border-0`,children:[(0,g.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs`,children:[(0,g.jsxDEV)(p,{variant:`destructive`,children:e.level},void 0,!1,{fileName:_,lineNumber:213,columnNumber:19},this),(0,g.jsxDEV)(`span`,{className:`font-medium text-text`,children:e.source},void 0,!1,{fileName:_,lineNumber:214,columnNumber:19},this),(0,g.jsxDEV)(`span`,{className:`text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:_,lineNumber:215,columnNumber:19},this)]},void 0,!0,{fileName:_,lineNumber:212,columnNumber:17},this),(0,g.jsxDEV)(`div`,{className:`mt-1 break-words text-sm text-danger`,children:e.message},void 0,!1,{fileName:_,lineNumber:217,columnNumber:17},this)]},`${e.ts}-${t}`,!0,{fileName:_,lineNumber:211,columnNumber:15},this)):(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noErrors`)},void 0,!1,{fileName:_,lineNumber:221,columnNumber:13},this)},void 0,!1,{fileName:_,lineNumber:208,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:206,columnNumber:7},this)]},void 0,!0,{fileName:_,lineNumber:75,columnNumber:5},this)}function y({name:e,installed:t,latest:n}){return(0,g.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2.5 text-sm last:border-0`,children:[(0,g.jsxDEV)(`span`,{className:`min-w-0 truncate text-text`,children:e},void 0,!1,{fileName:_,lineNumber:232,columnNumber:7},this),(0,g.jsxDEV)(`span`,{className:`text-muted`,children:[`v`,t]},void 0,!0,{fileName:_,lineNumber:233,columnNumber:7},this),(0,g.jsxDEV)(`span`,{className:n&&m(n,t)?`text-accent`:`text-muted`,children:n?`v${n}`:`—`},void 0,!1,{fileName:_,lineNumber:234,columnNumber:7},this)]},void 0,!0,{fileName:_,lineNumber:231,columnNumber:5},this)}export{v as DiagnosticsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{a as e,t}from"./i18n-vendor-T6EnJ_TL.js";import{t as n}from"./react-vendor-BskHO5hY.js";import{i as r}from"./x-CzSVfh-E.js";import{at as i,it as a,nt as o,ot as s,rt as c}from"./ui-vendor-EU9CHLyR.js";import{t as l}from"./Icon-
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{a as e,t}from"./i18n-vendor-T6EnJ_TL.js";import{t as n}from"./react-vendor-BskHO5hY.js";import{i as r}from"./x-CzSVfh-E.js";import{at as i,it as a,nt as o,ot as s,rt as c}from"./ui-vendor-EU9CHLyR.js";import{t as l}from"./Icon-BumJSRVW.js";import{w as u}from"./shelf-CYFZoY4Y.js";e();var d=n(),f=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/popover.tsx`;function p({...e}){return(0,d.jsxDEV)(i,{"data-slot":`popover`,...e},void 0,!1,{fileName:f,lineNumber:7,columnNumber:10},this)}function m({...e}){return(0,d.jsxDEV)(s,{"data-slot":`popover-trigger`,...e},void 0,!1,{fileName:f,lineNumber:11,columnNumber:10},this)}function h({className:e,align:t=`center`,sideOffset:n=4,...i}){return(0,d.jsxDEV)(a,{children:(0,d.jsxDEV)(c,{"data-slot":`popover-content`,align:t,sideOffset:n,className:r(`z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-xl border border-border bg-popover p-4 text-popover-foreground shadow-xl outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...i},void 0,!1,{fileName:f,lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:f,lineNumber:21,columnNumber:5},this)}function g({...e}){return(0,d.jsxDEV)(o,{"data-slot":`popover-anchor`,...e},void 0,!1,{fileName:f,lineNumber:37,columnNumber:10},this)}var _=20,v=new Map;function y(e){let t=v.get(e);if(t)return v.delete(e),v.set(e,t),t}function b(e,t){for(v.delete(e),v.set(e,{rows:t,ts:Date.now()});v.size>_;){let e=v.keys().next();if(e.done)break;v.delete(e.value)}}function x(e){for(let t of[...v.keys()])(t===e||t.startsWith(`${e}?`))&&v.delete(t)}function S(e,t){let n=String(t.id??``);if(n)for(let[r,i]of v){if(r!==e&&!r.startsWith(`${e}?`))continue;let a=!1,o=i.rows.map(e=>{if(String(e.id)!==n)return e;a=!0;let r={...e};for(let n of Object.keys(e))n in t&&(r[n]=t[n]);return r});a&&v.set(r,{rows:o,ts:i.ts})}}var C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ExtendReasonInfo.tsx`;function w({ext:e,fieldLabel:n,valueLabel:r}){let{t:i}=t(),a=u(e.showWhen,n,r);return a.length===0?null:(0,d.jsxDEV)(p,{children:[(0,d.jsxDEV)(m,{type:`button`,"aria-label":i(`extend.shownWhen`),className:`inline-flex items-center text-muted hover:text-text`,children:(0,d.jsxDEV)(l,{name:`lucide:info`,size:14},void 0,!1,{fileName:C,lineNumber:30,columnNumber:9},this)},void 0,!1,{fileName:C,lineNumber:25,columnNumber:7},this),(0,d.jsxDEV)(h,{align:`start`,className:`w-auto max-w-xs text-sm`,children:[(0,d.jsxDEV)(`p`,{className:`text-muted mb-1`,children:i(`extend.shownWhen`)},void 0,!1,{fileName:C,lineNumber:33,columnNumber:9},this),(0,d.jsxDEV)(`p`,{children:a.join(`; `)},void 0,!1,{fileName:C,lineNumber:34,columnNumber:9},this)]},void 0,!0,{fileName:C,lineNumber:32,columnNumber:7},this)]},void 0,!0,{fileName:C,lineNumber:24,columnNumber:5},this)}export{b as a,h as c,y as i,m as l,x as n,p as o,S as r,g as s,w as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/flag-icons-CTDpPZQq.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{f as e,t}from"./react-vendor-BskHO5hY.js";import{t as n}from"./color-names-CKKZbleV.js";import{n as r,r as i,t as a}from"./x-CzSVfh-E.js";import{a as o,i as s,n as ee,o as te,r as ne,t as re}from"./icons-DBHj1PyA.js";import{a as ie,i as ae,n as oe,o as se,r as ce,s as le,t as ue}from"./upload-C6w8x5TC.js";var de=i(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),c=i(`antenna`,[[`path`,{d:`M2 12 7 2`,key:`117k30`}],[`path`,{d:`m7 12 5-10`,key:`1tvx22`}],[`path`,{d:`m12 12 5-10`,key:`ev1o1a`}],[`path`,{d:`m17 12 5-10`,key:`1e4ti3`}],[`path`,{d:`M4.5 7h15`,key:`vlsxkz`}],[`path`,{d:`M12 16v6`,key:`c8a4gj`}]]),l=i(`arrow-left-right`,[[`path`,{d:`M8 3 4 7l4 4`,key:`9rb6wj`}],[`path`,{d:`M4 7h16`,key:`6tx8e3`}],[`path`,{d:`m16 21 4-4-4-4`,key:`siv7j2`}],[`path`,{d:`M20 17H4`,key:`h6l3hr`}]]),u=i(`battery-full`,[[`path`,{d:`M10 10v4`,key:`1mb2ec`}],[`path`,{d:`M14 10v4`,key:`1nt88p`}],[`path`,{d:`M22 14v-4`,key:`14q9d5`}],[`path`,{d:`M6 10v4`,key:`1n77qd`}],[`rect`,{x:`2`,y:`6`,width:`16`,height:`12`,rx:`2`,key:`13zb55`}]]),d=i(`beaker`,[[`path`,{d:`M4.5 3h15`,key:`c7n0jr`}],[`path`,{d:`M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3`,key:`m1uhx7`}],[`path`,{d:`M6 14h12`,key:`4cwo0f`}]]),f=i(`bed`,[[`path`,{d:`M2 4v16`,key:`vw9hq8`}],[`path`,{d:`M2 8h18a2 2 0 0 1 2 2v10`,key:`1dgv2r`}],[`path`,{d:`M2 17h20`,key:`18nfp3`}],[`path`,{d:`M6 8v9`,key:`1yriud`}]]),p=i(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),m=i(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),h=i(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),g=i(`bus`,[[`path`,{d:`M8 6v6`,key:`18i7km`}],[`path`,{d:`M15 6v6`,key:`1sg6z9`}],[`path`,{d:`M2 12h19.6`,key:`de5uta`}],[`path`,{d:`M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3`,key:`1wwztk`}],[`circle`,{cx:`7`,cy:`18`,r:`2`,key:`19iecd`}],[`path`,{d:`M9 18h5`,key:`lrx6i`}],[`circle`,{cx:`16`,cy:`18`,r:`2`,key:`1v4tcr`}]]),_=i(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),v=i(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),y=i(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),b=i(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),x=i(`carrot`,[[`path`,{d:`M15 16a1 1 0 0 0-7-7q-4 4-5.987 12.385a.5.5 0 0 0 .602.602Q11 20 15 16l-3-3`,key:`1ta62j`}],[`path`,{d:`M15 9q4 4 7 0-3-4-7 0 4-4 0-7-4 3 0 7`,key:`1svf7i`}],[`path`,{d:`m8 15-2.58-2.58`,key:`7t238r`}]]),S=i(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),C=i(`clapperboard`,[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]),w=i(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),T=i(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),E=i(`cooking-pot`,[[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`,key:`u0tga0`}],[`path`,{d:`m4 8 16-4`,key:`16g0ng`}],[`path`,{d:`m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8`,key:`12cejc`}]]),D=i(`credit-card`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}]]),O=i(`door-open`,[[`path`,{d:`M11 20H2`,key:`nlcfvz`}],[`path`,{d:`M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z`,key:`au4z13`}],[`path`,{d:`M11 4H8a2 2 0 0 0-2 2v14`,key:`74r1mk`}],[`path`,{d:`M14 12h.01`,key:`1jfl7z`}],[`path`,{d:`M22 20h-3`,key:`vhrsz`}]]),k=i(`droplet`,[[`path`,{d:`M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z`,key:`c7niix`}]]),A=i(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),j=i(`folder-output`,[[`path`,{d:`M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5`,key:`1yk7aj`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m5 10-3 3 3 3`,key:`1r8ie0`}]]),M=i(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),N=i(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),P=i(`ghost`,[[`path`,{d:`M9 10h.01`,key:`qbtxuw`}],[`path`,{d:`M15 10h.01`,key:`1qmjsl`}],[`path`,{d:`M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z`,key:`uwwb07`}]]),F=i(`glasses`,[[`circle`,{cx:`6`,cy:`15`,r:`4`,key:`vux9w4`}],[`circle`,{cx:`18`,cy:`15`,r:`4`,key:`18o8ve`}],[`path`,{d:`M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2`,key:`1ag4bs`}],[`path`,{d:`M2.5 13 5 7c.7-1.3 1.4-2 3-2`,key:`1hm1gs`}],[`path`,{d:`M21.5 13 19 7c-.7-1.3-1.5-2-3-2`,key:`1r31ai`}]]),I=i(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),L=i(`hand`,[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1fvzgz`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`,key:`1kc0my`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`,key:`10h0bg`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`1s1gnw`}]]),R=i(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]),z=i(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),B=i(`hospital`,[[`path`,{d:`M12 7v4`,key:`xawao1`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M14 9h-4`,key:`1w2s2s`}],[`path`,{d:`M18 11h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2`,key:`1tthqt`}],[`path`,{d:`M18 21V5a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16`,key:`dw4p4i`}]]),V=i(`hotel`,[[`path`,{d:`M10 22v-6.57`,key:`1wmca3`}],[`path`,{d:`M12 11h.01`,key:`z322tv`}],[`path`,{d:`M12 7h.01`,key:`1ivr5q`}],[`path`,{d:`M14 15.43V22`,key:`1q2vjd`}],[`path`,{d:`M15 16a5 5 0 0 0-6 0`,key:`o9wqvi`}],[`path`,{d:`M16 11h.01`,key:`xkw8gn`}],[`path`,{d:`M16 7h.01`,key:`1kdx03`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 7h.01`,key:`1vti4s`}],[`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`,key:`1uxh74`}]]),H=i(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),fe=i(`id-card`,[[`path`,{d:`M16 10h2`,key:`8sgtl7`}],[`path`,{d:`M16 14h2`,key:`epxaof`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`,key:`n6f512`}],[`circle`,{cx:`9`,cy:`11`,r:`2`,key:`yxgjnd`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`,key:`qneu4z`}]]),pe=i(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),me=i(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),he=i(`key`,[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`,key:`g0fldk`}],[`path`,{d:`m21 2-9.6 9.6`,key:`1j0ho8`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`,key:`yqb3hr`}]]),ge=i(`landmark`,[[`path`,{d:`M10 18v-7`,key:`wt116b`}],[`path`,{d:`M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z`,key:`yxxwt6`}],[`path`,{d:`M14 18v-7`,key:`vav6t3`}],[`path`,{d:`M18 18v-7`,key:`aexdmj`}],[`path`,{d:`M3 22h18`,key:`8prr45`}],[`path`,{d:`M6 18v-7`,key:`1ivflk`}]]),_e=i(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),ve=i(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),ye=i(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),be=i(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),xe=i(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),U=i(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),W=i(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),G=i(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),Se=i(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),Ce=i(`notebook-pen`,[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`,key:`re6nr2`}],[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`pqwjuv`}]]),we=i(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),Te=i(`paint-roller`,[[`rect`,{width:`16`,height:`6`,x:`2`,y:`2`,rx:`2`,key:`jcyz7m`}],[`path`,{d:`M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2`,key:`1b9h7c`}],[`rect`,{width:`4`,height:`6`,x:`8`,y:`16`,rx:`1`,key:`d6e7yl`}]]),K=i(`pill`,[[`path`,{d:`m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z`,key:`wa1lgi`}],[`path`,{d:`m8.5 8.5 7 7`,key:`rvfmvr`}]]),Ee=i(`plane-takeoff`,[[`path`,{d:`M2 22h20`,key:`272qi7`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`,key:`fkigj9`}]]),De=i(`plane`,[[`path`,{d:`M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z`,key:`1v9wt8`}]]),q=i(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Oe=i(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),ke=i(`radar`,[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`,key:`z3du51`}],[`path`,{d:`M4 6h.01`,key:`oypzma`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`,key:`qzzz0`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`,key:`1yjesh`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`,key:`1u2y91`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`m13.41 10.59 5.66-5.66`,key:`mhq4k0`}]]),Ae=i(`radio-tower`,[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`,key:`s0qx1y`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`,key:`1idnkw`}],[`circle`,{cx:`12`,cy:`9`,r:`2`,key:`1092wv`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`,key:`ojru2q`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`,key:`rhi7fg`}],[`path`,{d:`M9.5 18h5`,key:`mfy3pd`}],[`path`,{d:`m8 22 4-11 4 11`,key:`25yftu`}]]),je=i(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Me=i(`receipt`,[[`path`,{d:`M12 17V7`,key:`pyj7ub`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`,key:`1elt7d`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`,key:`ycz6yz`}]]),J=i(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),Ne=i(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),Pe=i(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),Fe=i(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]),Ie=i(`ruler`,[[`path`,{d:`M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z`,key:`icamh8`}],[`path`,{d:`m14.5 12.5 2-2`,key:`inckbg`}],[`path`,{d:`m11.5 9.5 2-2`,key:`fmmyf7`}],[`path`,{d:`m8.5 6.5 2-2`,key:`vc6u1g`}],[`path`,{d:`m17.5 15.5 2-2`,key:`wo5hmg`}]]),Le=i(`satellite`,[[`path`,{d:`m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5`,key:`dzhfyz`}],[`path`,{d:`M16.5 7.5 19 5`,key:`1ltcjm`}],[`path`,{d:`m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5`,key:`nfoymv`}],[`path`,{d:`M9 21a6 6 0 0 0-6-6`,key:`1iajcf`}],[`path`,{d:`M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z`,key:`nv9zqy`}]]),Y=i(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Re=i(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),X=i(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),ze=i(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Be=i(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),Ve=i(`shopping-cart`,[[`circle`,{cx:`8`,cy:`21`,r:`1`,key:`jimo8o`}],[`circle`,{cx:`19`,cy:`21`,r:`1`,key:`13723u`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`,key:`9zh506`}]]),He=i(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),Ue=i(`soup`,[[`path`,{d:`M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z`,key:`4rw317`}],[`path`,{d:`M7 21h10`,key:`1b0cd5`}],[`path`,{d:`M19.5 12 22 6`,key:`shfsr5`}],[`path`,{d:`M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62`,key:`rpc6vp`}],[`path`,{d:`M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62`,key:`1lf63m`}],[`path`,{d:`M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62`,key:`97tijn`}]]),We=i(`sprout`,[[`path`,{d:`M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3`,key:`139s4v`}],[`path`,{d:`M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4`,key:`1dlkgp`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),Ge=i(`stethoscope`,[[`path`,{d:`M11 2v2`,key:`1539x4`}],[`path`,{d:`M5 2v2`,key:`1yf1q8`}],[`path`,{d:`M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1`,key:`rb5t3r`}],[`path`,{d:`M8 15a6 6 0 0 0 12 0v-3`,key:`x18d4x`}],[`circle`,{cx:`20`,cy:`10`,r:`2`,key:`ts1r5v`}]]),Ke=i(`store`,[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`,key:`slp6dd`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`,key:`o0xfot`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`,key:`wn3emo`}]]),qe=i(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]),Je=i(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Ye=i(`ticket`,[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`,key:`qn84l0`}],[`path`,{d:`M13 5v2`,key:`dyzc3o`}],[`path`,{d:`M13 17v2`,key:`1ont0d`}],[`path`,{d:`M13 11v2`,key:`1wjjxi`}]]),Z=i(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Xe=i(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ze=i(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),Qe=i(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),$e=i(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),et=i(`wallet`,[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`,key:`18etb6`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`,key:`xoc0q4`}]]),tt=i(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]),nt=i(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),Q=t(),rt=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/lucide.tsx`,it={"id-card":fe,antenna:c,plane:De,plus:ae,globe:I,sprout:We,"cooking-pot":E,"sliders-horizontal":He,ticket:Ye,hospital:B,hotel:V,user:Qe,users:$e,pill:K,"clipboard-list":w,radio:je,"radio-tower":Ae,camera:b,package:we,"battery-full":u,link:ye,monitor:G,rocket:Ne,bus:g,shield:Be,"plane-takeoff":Ee,satellite:Le,"flask-conical":A,stethoscope:Ge,soup:Ue,glasses:F,puzzle:Oe,settings:X,"alert-triangle":Xe,hand:L,"map-pin":U,gauge:N,"door-open":O,"paint-roller":Te,zap:nt,calendar:y,clock:le,"calendar-clock":_,"arrow-left-right":l,bug:h,check:r,droplet:k,folder:M,"folder-output":j,ghost:P,house:H,info:me,landmark:ge,layers:ve,play:q,radar:ke,receipt:Me,"refresh-cw":J,ruler:Ie,square:ce,wallet:et,wifi:tt,x:a,star:oe,minus:W,activity:de,bot:p,search:Y,"log-out":xe,"trash-2":Z,beaker:d,bed:f,box:m,"calendar-days":v,carrot:x,clapperboard:C,code:T,"credit-card":D,"hard-drive":R,hash:z,image:pe,key:he,languages:_e,list:se,"list-checks":be,"message-circle":ie,network:Se,"notebook-pen":Ce,route:Pe,"rows-3":Fe,server:Re,"shield-check":ze,"shopping-cart":Ve,store:Ke,tag:qe,terminal:Je,type:Ze,upload:ue};function at(e,t,n,r){let i=it[e];return i?(0,Q.jsxDEV)(i,{size:t,className:n,strokeWidth:r},void 0,!1,{fileName:rt,lineNumber:209,columnNumber:10},this):null}var ot=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/flag.tsx`;e(()=>Promise.resolve({}),__vite__mapDeps([0]));function st(e,t,n){return(0,Q.jsxDEV)(`span`,{className:`fi fi-${e.toLowerCase()} ${n??``}`,style:{width:t,height:t*.75,display:`inline-block`,borderRadius:2}},void 0,!1,{fileName:ot,lineNumber:17,columnNumber:5},this)}var ct=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/tabler.tsx`,lt={drone:te};function ut(e,t,n,r){let i=lt[e];return i?(0,Q.jsxDEV)(i,{size:t,className:n,stroke:r??2},void 0,!1,{fileName:ct,lineNumber:12,columnNumber:10},this):null}var dt=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/simple.tsx`,ft={github:s,syncthing:re,docker:o,"home-assistant":ne,nextcloud:ee};function pt(e,t,n){let r=ft[e];return r?(0,Q.jsxDEV)(r,{size:t,className:n,color:`currentColor`},void 0,!1,{fileName:dt,lineNumber:23,columnNumber:10},this):null}var mt=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/icons/color.tsx`,ht=new Map(n.map(e=>[e.name,e.hex])),gt=/^#[0-9a-fA-F]{6}$/;function _t(e,t,n){let r=gt.test(e)?e:ht.get(e);return r?(0,Q.jsxDEV)(`span`,{className:`shrink-0 inline-block rounded-full border border-border/60 ${n??``}`,style:{width:t,height:t,backgroundColor:r}},void 0,!1,{fileName:mt,lineNumber:13,columnNumber:5},this):null}var vt={lucide:at,flag:st,tb:ut,si:pt,color:_t};function yt(e,t,n,r){let i=e.indexOf(`:`);if(i===-1)return;let a=vt[e.slice(0,i)];if(a)return a(e.slice(i+1),t,n,r)??void 0}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/Icon.tsx`;function bt({name:e,size:t=16,className:n,strokeWidth:r}){if(!e)return null;let i=yt(e,t,n,r);return i===void 0?(console.warn(`[Icon] unknown icon: ${e}`),(0,Q.jsxDEV)(S,{size:t,className:n,strokeWidth:r},void 0,!1,{fileName:$,lineNumber:24,columnNumber:10},this)):(0,Q.jsxDEV)(Q.Fragment,{children:i},void 0,!1,{fileName:$,lineNumber:22,columnNumber:34},this)}export{J as a,W as c,M as d,Y as i,U as l,Z as n,q as o,X as r,G as s,bt as t,H as u};
|
|
@@ -0,0 +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{a as r,l as i,t as a,u as o}from"./react-vendor-BskHO5hY.js";import{n as s,t as c}from"./ExtendReasonInfo-CJ67X4F6.js";import{t as l}from"./Icon-BumJSRVW.js";import{c as u,d,l as f,n as p,o as m,p as h,r as g,t as _,x as v}from"./Toolbar-BFVsURKo.js";import{g as y}from"./chrome-Drri9yIC.js";import{E as b,f as x,g as S,m as C}from"./fields-CdNaYlSV.js";import{E as w,T,c as E,n as D,s as O,t as k}from"./shelf-CYFZoY4Y.js";import{t as A}from"./button-DaYjtbcx.js";import{j,s as M}from"./api-DsJ6cAbe.js";import{n as N}from"./dispatch-Dn_1ZBIw.js";var P=e(t(),1),F=a(),I=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/fields-form.tsx`;function L({shelf:e,record:t,onSubmit:r,onCancel:i,submitLabel:a,busy:o,children:s,hiddenFields:c,onValuesChange:l,errorSink:d,extraValidate:f}){let{t:h}=n(),_=u(h),v=!!t,y=(0,P.useMemo)(()=>E(e.fields),[e]),{values:x,errors:S,setErrors:C,setTouched:w,bridge:T}=p({fm:y,mode:v?`edit`:`create`,recordCtx:{library:e.library,shelf:e.shelf,recordId:t?String(t.id):null},initial:()=>z(e,t),hiddenFields:c}),[O,j]=(0,P.useState)(),[M,N]=(0,P.useState)(!1);(0,P.useEffect)(()=>{l?.(x)},[x,l]),(0,P.useEffect)(()=>{d?.({setErrors:C,setTouched:w})},[d,C,w]);async function L(t){t.preventDefault(),j(void 0);let n=Object.keys(y),i={};for(let e of n)e in x&&(i[e]=x[e]);let a=B(i),o=(v?D(e):k(e)).safeParse(a),s={};if(!o.success)for(let e of o.error.issues){let t=String(e.path[0]??``);if(!n.includes(t)||s[t])continue;let{code:r,params:i}=b(e.message);s[t]=_(r,i)}if(Object.assign(s,f?.(x)??{}),Object.keys(s).length){C(s),w(new Set(Object.keys(s)));return}N(!0);let c=await r(a);N(!1),c&&j(c)}return(0,F.jsxDEV)(`form`,{onSubmit:L,noValidate:!0,className:`flex flex-col gap-5 min-w-0`,children:[(0,F.jsxDEV)(m.Provider,{value:e=>S[e.join(`.`)],children:(0,F.jsxDEV)(g,{items:e.fields,ctx:{bridge:T}},void 0,!1,{fileName:I,lineNumber:117,columnNumber:9},this)},void 0,!1,{fileName:I,lineNumber:116,columnNumber:7},this),s,O&&(0,F.jsxDEV)(`p`,{className:`text-sm text-danger`,children:O},void 0,!1,{fileName:I,lineNumber:120,columnNumber:21},this),(0,F.jsxDEV)(`div`,{className:`flex gap-3 pt-2 border-t border-border`,children:[(0,F.jsxDEV)(A,{type:`submit`,disabled:o||M,size:`lg`,className:`flex-1`,children:a??h(`actions.save`)},void 0,!1,{fileName:I,lineNumber:122,columnNumber:9},this),i&&(0,F.jsxDEV)(A,{type:`button`,variant:`secondary`,size:`lg`,onClick:i,className:`flex-1`,children:h(`actions.cancel`)},void 0,!1,{fileName:I,lineNumber:126,columnNumber:11},this)]},void 0,!0,{fileName:I,lineNumber:121,columnNumber:7},this)]},void 0,!0,{fileName:I,lineNumber:115,columnNumber:5},this)}var R=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/form.tsx`;function z(e,t){let n={};n.name=t?.name==null?``:String(t.name);for(let[r,i]of O(e.fields))if(!i.virtual)if(t){let e=t[r];e==null?n[r]=i.prim!==`checkbox`&&``:i.prim===`checkbox`?n[r]=e===1||e===!0||e===`1`:C(i)?n[r]=e===``?``:y(e,i.hints.multiple===!0?[]:{}):n[r]=e}else n[r]=i.prim===`checkbox`?!1:C(i)&&i.hints.multiple===!0?[]:``;for(let r of e.fields){if(!x(r)||!S(r))continue;let e=r.key;t?n[e]=t[e]??(r.multiple?[]:{}):n[e]=r.multiple?[]:{}}return n}function B(e){let t={};for(let[n,r]of Object.entries(e))r===``||r===void 0||Array.isArray(r)&&r.length===0||typeof r==`object`&&r&&!Array.isArray(r)&&Object.keys(r).length===0||(t[n]=r);return t}function V({ext:e,values:t,onChange:r,recordId:i,fieldLabel:a}){let{t:o}=n();return(0,F.jsxDEV)(`fieldset`,{className:`border border-accent/30 rounded-xl p-4 pt-2 flex flex-col min-w-0 gap-4`,children:[(0,F.jsxDEV)(`legend`,{className:`px-2 inline-flex items-center gap-1.5 text-sm font-semibold text-accent`,children:[(0,F.jsxDEV)(l,{name:e.icon,size:14,className:`shrink-0`},void 0,!1,{fileName:R,lineNumber:115,columnNumber:9},this),` `,o(e.label),(0,F.jsxDEV)(c,{ext:e,fieldLabel:a},void 0,!1,{fileName:R,lineNumber:116,columnNumber:9},this)]},void 0,!0,{fileName:R,lineNumber:114,columnNumber:7},this),(0,F.jsxDEV)(g,{items:e.fields,ctx:{renderField:(n,a)=>w(a.hidden,t)?null:(0,F.jsxDEV)(N,{mode:`create`,field:a,label:a.label?o(a.label):void 0,required:w(a.required,t),value:t[n]??``,recordCtx:{library:``,shelf:e.id,recordId:i},onChange:t=>r(e.id,n,t)},void 0,!1,{fileName:R,lineNumber:101,columnNumber:9},this)}},void 0,!1,{fileName:R,lineNumber:118,columnNumber:7},this)]},void 0,!0,{fileName:R,lineNumber:113,columnNumber:5},this)}function H(e,t,n){let[r]=(0,P.useState)(()=>{let n={};for(let r of e){let e=t?._extends?.[r.id];n[r.id]={};for(let[t,i]of O(r.fields)){let a=e?.[t];a==null?n[r.id][t]=i.prim===`checkbox`?!1:C(i)&&i.hints.multiple===!0?[]:``:i.prim===`checkbox`?n[r.id][t]=a===1||a===!0||a===`1`:C(i)?n[r.id][t]=a===``?``:y(a,i.hints.multiple===!0?[]:{}):n[r.id][t]=a}}return n}),[i,a]=(0,P.useState)(r),o=(0,P.useMemo)(()=>e.filter(e=>T(e.showWhen,n)),[e,n]);function s(e,t,n){a(r=>({...r,[e]:{...r[e],[t]:n}}))}function c(e){let t={};for(let n of o){let a=i[n.id]??{};if(e){let e=r[n.id]??{},i=Object.fromEntries(Object.entries(a).filter(([t,n])=>n!==e[t]));Object.keys(i).length>0&&(t[`_extend_${n.id}`]=i)}else{let e=Object.fromEntries(Object.entries(a).filter(([,e])=>e!==``&&e!==!1));t[`_extend_${n.id}`]=e}}return t}return{extValues:i,setExtValue:s,activeExts:o,buildExtendPatch:c}}function U({shelf:e,record:t,defaults:r,hiddenFields:i,onSuccess:a,onCancel:o}){let{t:s}=n(),c=u(s),l=!!t,p=(0,P.useMemo)(()=>E(e.fields),[e]),[m,h]=(0,P.useState)([]),[g,_]=(0,P.useState)(!1),[v,y]=(0,P.useState)(()=>z(e,t)),b=(0,P.useRef)(null),{extValues:x,setExtValue:S,activeExts:C,buildExtendPatch:w}=H((0,P.useMemo)(()=>d().filter(t=>t.attachTo.some(t=>t.library===e.library&&(!t.shelf||t.shelf===e.shelf))),[e]),t,v);function T(e){return l||String(e.name??``).trim()?{}:{name:s(`validation.required`)}}async function D(n){h([]),_(!0);let r={...n,...w()},i=String(t?.id??``),o=l?await j(e.library,e.shelf,i,r):await M(e.library,e.shelf,r);if(_(!1),o.ok){a(o.row);return}let s=o.issues??[],u={},d=[];for(let e of s)e.field&&p[e.field]?u[e.field]=c(e.code,e.params):d.push(e);let m=f(s,c);(Object.keys(u).length||Object.keys(m).length)&&(b.current?.setErrors(e=>({...e,...u,...m})),b.current?.setTouched(e=>new Set([...e,...Object.keys(u)]))),h(d)}return(0,F.jsxDEV)(`div`,{children:(0,F.jsxDEV)(L,{shelf:e,record:t,onSubmit:D,onCancel:o,submitLabel:s(g?`common.saving`:l?`actions.save`:`actions.create`),busy:g,hiddenFields:i,onValuesChange:y,errorSink:e=>{b.current=e},extraValidate:T,children:[C.map(e=>(0,F.jsxDEV)(V,{ext:e,values:x[e.id]??{},onChange:S,recordId:t?String(t.id):null,fieldLabel:e=>p[e]?.label?s(p[e].label):e},e.id,!1,{fileName:R,lineNumber:319,columnNumber:11},this)),m.length>0&&(0,F.jsxDEV)(`div`,{className:`bg-danger/10 border border-danger/30 rounded-xl p-3.5 text-sm`,children:[(0,F.jsxDEV)(`p`,{className:`font-semibold text-danger mb-2`,children:s(`form.serverRejected`)},void 0,!1,{fileName:R,lineNumber:331,columnNumber:13},this),(0,F.jsxDEV)(`ul`,{className:`space-y-1 text-text/80`,children:m.map((e,t)=>{let n=p[e.field],r=n?s(n.label):e.field,i=e.code===`pattern`&&e.params?.messageKey?s(String(e.params.messageKey)):s(`validation.${e.code}`,e.params);return(0,F.jsxDEV)(`li`,{className:`flex gap-1.5`,children:[r&&(0,F.jsxDEV)(`span`,{className:`text-muted font-medium`,children:[r,`:`]},void 0,!0,{fileName:R,lineNumber:342,columnNumber:31},this),i]},t,!0,{fileName:R,lineNumber:341,columnNumber:19},this)})},void 0,!1,{fileName:R,lineNumber:332,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:330,columnNumber:11},this)]},`${e.library}/${e.shelf}/${t?t.id:`new`}`,!0,{fileName:R,lineNumber:302,columnNumber:7},this)},void 0,!1,{fileName:R,lineNumber:294,columnNumber:5},this)}var W=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/record/NewRecordView.tsx`;function G(){let{t:e}=n(),{library:t,shelf:a}=o(),c=i(),l=h().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===a);return!l||l.standalone===!1?(0,F.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:W,lineNumber:19,columnNumber:44},this):l.single?(0,F.jsxDEV)(r,{to:`/${t}/${a}`,replace:!0},void 0,!1,{fileName:W,lineNumber:24,columnNumber:24},this):(0,F.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,F.jsxDEV)(_,{children:(0,F.jsxDEV)(A,{variant:`ghost`,size:`sm`,className:`px-2`,onClick:()=>c(`/${t}/${a}`),children:[(0,F.jsxDEV)(v,{size:18},void 0,!1,{fileName:W,lineNumber:30,columnNumber:11},this),(0,F.jsxDEV)(`span`,{className:`text-sm`,children:e(l.label)},void 0,!1,{fileName:W,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:W,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:28,columnNumber:7},this),(0,F.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,F.jsxDEV)(`div`,{className:`max-w-2xl mx-auto px-6 py-6`,children:(0,F.jsxDEV)(U,{shelf:l,onSuccess:e=>{s(`${l.library}/${l.shelf}`),e?.id?c(`/${t}/${a}/${e.id}`):c(`/${t}/${a}`)},onCancel:()=>c(`/${t}/${a}`)},void 0,!1,{fileName:W,lineNumber:36,columnNumber:11},this)},void 0,!1,{fileName:W,lineNumber:35,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:34,columnNumber:7},this)]},void 0,!0,{fileName:W,lineNumber:27,columnNumber:5},this)}export{G as NewRecordView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./i18n-vendor-T6EnJ_TL.js";import{t,u as n}from"./react-vendor-BskHO5hY.js";import{t as r}from"./SettingsForm-
|
|
1
|
+
import{t as e}from"./i18n-vendor-T6EnJ_TL.js";import{t,u as n}from"./react-vendor-BskHO5hY.js";import{t as r}from"./SettingsForm-CveAr_ig.js";import{h as i}from"./Toolbar-BFVsURKo.js";import{t as a}from"./PageBody-Y-cpiRMh.js";var o=t(),s=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/PluginSettingsPage.tsx`;function c(){let{pluginId:t}=n(),{t:c}=e(),l=i().find(e=>e.id===t);if(!l||!l.settings||l.settings.fields.length===0)return(0,o.jsxDEV)(a,{children:(0,o.jsxDEV)(`p`,{className:`text-muted`,children:c(`common.notFound`)},void 0,!1,{fileName:s,lineNumber:17,columnNumber:9},this)},void 0,!1,{fileName:s,lineNumber:16,columnNumber:7},this);async function u(){let e=await fetch(`/api/plugins/${t}/settings`);return e.ok?e.json():{}}async function d(e){let n=await fetch(`/api/plugins/${t}/settings`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)});return n.ok?{ok:!0,row:(await n.json()).row??{}}:n.status===422?{ok:!1,status:422,issues:(await n.json()).issues}:{ok:!1,status:n.status}}return(0,o.jsxDEV)(r,{fields:l.settings.fields,recordCtx:{library:``,shelf:t??``,recordId:`settings`},load:u,save:d,title:c(`${t}.plugin.label`,{defaultValue:t??``}),backTo:`/settings`,backLabel:c(`settings.title`)},void 0,!1,{fileName:s,lineNumber:45,columnNumber:5},this)}export{c as PluginSettingsPage};
|
|
@@ -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{m as r,r as i,t as a}from"./react-vendor-BskHO5hY.js";import{n as o}from"./x-CzSVfh-E.js";import{S as s,n as c,r as l,t as u}from"./Toolbar-kvM_SekW.js";import{o as d,s as f}from"./shelf-CdaVoMG2.js";import{t as p}from"./button-DaYjtbcx.js";import{t as ee}from"./PageBody-Y-cpiRMh.js";var m=e(t(),1),h=e(r(),1);function g(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var _=e=>{switch(e){case`success`:return b;case`info`:return S;case`warning`:return x;case`error`:return C;default:return null}},v=Array(12).fill(0),y=({visible:e,className:t})=>m.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},m.createElement(`div`,{className:`sonner-spinner`},v.map((e,t)=>m.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),b=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),x=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),S=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),C=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),w=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},m.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),m.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),te=()=>{let[e,t]=m.useState(document.hidden);return m.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},T=1,E=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:T++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0||e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],m.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(O(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||T++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},D=(e,t)=>{let n=t?.id||T++;return E.addToast({title:e,...t,id:n}),n},O=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,k=Object.assign(D,{success:E.success,info:E.info,warning:E.warning,error:E.error,custom:E.custom,message:E.message,promise:E.promise,dismiss:E.dismiss,loading:E.loading},{getHistory:()=>E.toasts,getToasts:()=>E.getActiveToasts()});g(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function A(e){return e.label!==void 0}var j=3,M=`24px`,N=`16px`,P=4e3,F=356,ne=14,I=45,re=200;function L(...e){return e.filter(Boolean).join(` `)}function R(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var z=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:ee,cancelButtonStyle:h,actionButtonStyle:g,className:v=``,descriptionClassName:b=``,duration:x,position:S,gap:C,expandByDefault:T,classNames:E,icons:D,closeButtonAriaLabel:O=`Close toast`}=e,[k,j]=m.useState(null),[M,N]=m.useState(null),[F,ne]=m.useState(!1),[z,B]=m.useState(!1),[ie,V]=m.useState(!1),[H,U]=m.useState(!1),[ae,oe]=m.useState(!1),[se,W]=m.useState(0),[ce,le]=m.useState(0),G=m.useRef(n.duration||x||P),ue=m.useRef(null),K=m.useRef(null),de=c===0,fe=c+1<=o,q=n.type,J=n.dismissible!==!1,pe=n.className||``,me=n.descriptionClassName||``,Y=m.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),he=m.useMemo(()=>n.closeButton??p,[n.closeButton,p]),ge=m.useMemo(()=>n.duration||x||P,[n.duration,x]),X=m.useRef(0),Z=m.useRef(0),_e=m.useRef(0),Q=m.useRef(null),[ve,ye]=S.split(`-`),be=m.useMemo(()=>s.reduce((e,t,n)=>n>=Y?e:e+t.height,0),[s,Y]),xe=te(),Se=n.invert||t,Ce=q===`loading`;Z.current=m.useMemo(()=>Y*C+be,[Y,be]),m.useEffect(()=>{G.current=ge},[ge]),m.useEffect(()=>{ne(!0)},[]),m.useEffect(()=>{let e=K.current;if(e){let t=e.getBoundingClientRect().height;return le(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),m.useLayoutEffect(()=>{if(!F)return;let e=K.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,le(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[F,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let $=m.useCallback(()=>{B(!0),W(Z.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},re)},[n,d,a,Z]);m.useEffect(()=>{if(n.promise&&q===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||xe?(()=>{if(_e.current<X.current){let e=new Date().getTime()-X.current;G.current-=e}_e.current=new Date().getTime()})():G.current!==1/0&&(X.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),$()},G.current)),()=>clearTimeout(e)},[u,i,n,q,xe,$]),m.useEffect(()=>{n.delete&&($(),n.onDismiss==null||n.onDismiss.call(n,n))},[$,n.delete]);function we(){return D?.loading?m.createElement(`div`,{className:L(E?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":q===`loading`},D.loading):m.createElement(y,{className:L(E?.loader,n?.classNames?.loader),visible:q===`loading`})}let Te=n.icon||D?.[q]||_(q);return m.createElement(`li`,{tabIndex:0,ref:K,className:L(v,pe,E?.toast,n?.classNames?.toast,E?.default,E?.[q],n?.classNames?.[q]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":F,"data-promise":!!n.promise,"data-swiped":ae,"data-removed":z,"data-visible":fe,"data-y-position":ve,"data-x-position":ye,"data-index":c,"data-front":de,"data-swiping":ie,"data-dismissible":J,"data-type":q,"data-invert":Se,"data-swipe-out":H,"data-swipe-direction":M,"data-expanded":!!(u||T&&F),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${z?se:Z.current}px`,"--initial-height":T?`auto`:`${ce}px`,...ee,...n.style},onDragEnd:()=>{V(!1),j(null),Q.current=null},onPointerDown:e=>{e.button!==2&&(Ce||!J||(ue.current=new Date,W(Z.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(V(!0),Q.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(H||!J)return;Q.current=null;let e=Number(K.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(K.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-ue.current?.getTime(),i=k===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=I||a>.11){W(Z.current),n.onDismiss==null||n.onDismiss.call(n,n),N(k===`x`?e>0?`right`:`left`:t>0?`down`:`up`),$(),U(!0);return}else{var o,s;(o=K.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=K.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}oe(!1),V(!1),j(null)},onPointerMove:t=>{var n,r;if(!Q.current||!J||window.getSelection()?.toString().length>0)return;let i=t.clientY-Q.current.y,a=t.clientX-Q.current.x,o=e.swipeDirections??R(S);!k&&(Math.abs(a)>1||Math.abs(i)>1)&&j(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(k===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(k===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&oe(!0),(n=K.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=K.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},he&&!n.jsx&&q!==`loading`?m.createElement(`button`,{"aria-label":O,"data-disabled":Ce,"data-close-button":!0,onClick:Ce||!J?()=>{}:()=>{$(),n.onDismiss==null||n.onDismiss.call(n,n)},className:L(E?.closeButton,n?.classNames?.closeButton)},D?.close??w):null,(q||n.icon||n.promise)&&n.icon!==null&&(D?.[q]!==null||n.icon)?m.createElement(`div`,{"data-icon":``,className:L(E?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||we():null,n.type===`loading`?null:Te):null,m.createElement(`div`,{"data-content":``,className:L(E?.content,n?.classNames?.content)},m.createElement(`div`,{"data-title":``,className:L(E?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?m.createElement(`div`,{"data-description":``,className:L(b,me,E?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),m.isValidElement(n.cancel)?n.cancel:n.cancel&&A(n.cancel)?m.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{A(n.cancel)&&J&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),$())},className:L(E?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,m.isValidElement(n.action)?n.action:n.action&&A(n.action)?m.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{A(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&$())},className:L(E?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function B(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function ie(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?N:M;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var V=m.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:ee,visibleToasts:g=j,toastOptions:_,dir:v=B(),gap:y=ne,icons:b,containerAriaLabel:x=`Notifications`}=e,[S,C]=m.useState([]),w=m.useMemo(()=>n?S.filter(e=>e.toasterId===n):S.filter(e=>!e.toasterId),[S,n]),te=m.useMemo(()=>Array.from(new Set([i].concat(w.filter(e=>e.position).map(e=>e.position)))),[w,i]),[T,D]=m.useState([]),[O,k]=m.useState(!1),[A,M]=m.useState(!1),[N,P]=m.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),I=m.useRef(null),re=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),L=m.useRef(null),R=m.useRef(!1),V=m.useCallback(e=>{C(t=>(t.find(t=>t.id===e.id)?.delete||E.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return m.useEffect(()=>E.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{C(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{h.flushSync(()=>{C(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[S]),m.useEffect(()=>{if(d!==`system`){P(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?P(`dark`):P(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{P(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{P(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),m.useEffect(()=>{S.length<=1&&k(!1)},[S]),m.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;k(!0),(t=I.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===I.current||I.current?.contains(document.activeElement))&&k(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),m.useEffect(()=>{if(I.current)return()=>{L.current&&(L.current.focus({preventScroll:!0}),L.current=null,R.current=!1)}},[I.current]),m.createElement(`section`,{ref:t,"aria-label":`${x} ${re}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},te.map((t,n)=>{let[i,a]=t.split(`-`);return w.length?m.createElement(`ol`,{key:t,dir:v===`auto`?B():v,tabIndex:-1,ref:I,className:c,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${T[0]?.height||0}px`,"--width":`${F}px`,"--gap":`${y}px`,...ee,...ie(l,u)},onBlur:e=>{R.current&&!e.currentTarget.contains(e.relatedTarget)&&(R.current=!1,L.current&&=(L.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||R.current||(R.current=!0,L.current=e.relatedTarget)},onMouseEnter:()=>k(!0),onMouseMove:()=>k(!0),onMouseLeave:()=>{A||k(!1)},onDragEnd:()=>k(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||M(!0)},onPointerUp:()=>M(!1)},w.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>m.createElement(z,{key:n.id,icons:b,index:i,toast:n,defaultRichColors:f,duration:_?.duration??p,className:_?.className,descriptionClassName:_?.descriptionClassName,invert:r,visibleToasts:g,closeButton:_?.closeButton??s,interacting:A,position:t,style:_?.style,unstyled:_?.unstyled,classNames:_?.classNames,cancelButtonStyle:_?.cancelButtonStyle,actionButtonStyle:_?.actionButtonStyle,closeButtonAriaLabel:_?.closeButtonAriaLabel,removeToast:V,toasts:w.filter(e=>e.position==n.position),heights:T.filter(e=>e.position==n.position),setHeights:D,expandByDefault:o,gap:y,expanded:O,swipeDirections:e.swipeDirections}))):null}))}),H=a(),U=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsForm.tsx`;function ae(e){let{t}=n(),r=(0,m.useMemo)(()=>d(e.fields),[e.fields]),a=(0,m.useMemo)(()=>f(e.fields),[e.fields]),[h,g]=(0,m.useState)(!1),[_,v]=(0,m.useState)(null),{values:y,setValues:b,errors:x,setErrors:S,bridge:C}=c({fm:a,mode:`edit`,recordCtx:e.recordCtx,initial:{}});function w(e){let t={};for(let[n,i]of r)t[n]=e[n]??i.default??(i.prim!==`checkbox`&&``);return t}(0,m.useEffect)(()=>{b({}),S({});let n=!0;return e.load().then(e=>n&&b(w(e))).catch(()=>n&&v(t(`common.loadError`,{defaultValue:`Помилка завантаження`}))),()=>{n=!1}},[`${e.recordCtx.library}/${e.recordCtx.shelf}/${e.recordCtx.recordId}`]);async function te(){g(!0),S({});let n=k.loading(t(`save.saving`)),r=await e.save(y);if(g(!1),r.ok){b(w(r.row)),k.success(t(`save.done`),{id:n});return}if(r.status===422&&r.issues){let e={};for(let n of r.issues)n.field&&(e[n.field]=t(`validation.${n.code}`,n.params));S(e)}k.error(t(`save.failed`),{id:n})}return(0,H.jsxDEV)(`div`,{className:`flex flex-col h-full`,children:[(0,H.jsxDEV)(u,{actions:(0,H.jsxDEV)(p,{onClick:te,disabled:h,children:[(0,H.jsxDEV)(o,{size:16},void 0,!1,{fileName:U,lineNumber:101,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`hidden sm:inline`,children:t(`actions.save`)},void 0,!1,{fileName:U,lineNumber:102,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:100,columnNumber:11},this),children:(0,H.jsxDEV)(p,{variant:`ghost`,size:`sm`,className:`px-2`,asChild:!0,children:(0,H.jsxDEV)(i,{to:e.backTo,"aria-label":e.backLabel,children:[(0,H.jsxDEV)(s,{size:18},void 0,!1,{fileName:U,lineNumber:108,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`text-sm`,children:e.backLabel},void 0,!1,{fileName:U,lineNumber:109,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:107,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:106,columnNumber:9},this)},void 0,!1,{fileName:U,lineNumber:98,columnNumber:7},this),(0,H.jsxDEV)(ee,{children:[(0,H.jsxDEV)(`h1`,{className:`mb-6 text-2xl font-bold tracking-tight text-text`,children:e.title},void 0,!1,{fileName:U,lineNumber:115,columnNumber:9},this),_&&(0,H.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:_},void 0,!1,{fileName:U,lineNumber:118,columnNumber:11},this),(0,H.jsxDEV)(`div`,{className:`flex flex-col gap-5`,children:(0,H.jsxDEV)(l,{items:e.fields,ctx:{bridge:C}},void 0,!1,{fileName:U,lineNumber:124,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:123,columnNumber:9},this),e.footer]},void 0,!0,{fileName:U,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:U,lineNumber:97,columnNumber:5},this)}export{V as n,k as r,ae as t};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{m as r,r as i,t as a}from"./react-vendor-BskHO5hY.js";import{n as o}from"./x-CzSVfh-E.js";import{n as s,r as c,t as l,x as u}from"./Toolbar-BFVsURKo.js";import{c as d,s as f}from"./shelf-CYFZoY4Y.js";import{t as p}from"./button-DaYjtbcx.js";import{t as ee}from"./PageBody-Y-cpiRMh.js";var m=e(t(),1),h=e(r(),1);function g(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var _=e=>{switch(e){case`success`:return b;case`info`:return S;case`warning`:return x;case`error`:return C;default:return null}},v=Array(12).fill(0),y=({visible:e,className:t})=>m.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},m.createElement(`div`,{className:`sonner-spinner`},v.map((e,t)=>m.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),b=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),x=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),S=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),C=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},m.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),w=m.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},m.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),m.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),te=()=>{let[e,t]=m.useState(document.hidden);return m.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},T=1,E=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:T++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0||e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],m.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(O(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||T++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},D=(e,t)=>{let n=t?.id||T++;return E.addToast({title:e,...t,id:n}),n},O=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,k=Object.assign(D,{success:E.success,info:E.info,warning:E.warning,error:E.error,custom:E.custom,message:E.message,promise:E.promise,dismiss:E.dismiss,loading:E.loading},{getHistory:()=>E.toasts,getToasts:()=>E.getActiveToasts()});g(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function A(e){return e.label!==void 0}var j=3,M=`24px`,N=`16px`,P=4e3,F=356,ne=14,I=45,re=200;function L(...e){return e.filter(Boolean).join(` `)}function R(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var z=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:ee,cancelButtonStyle:h,actionButtonStyle:g,className:v=``,descriptionClassName:b=``,duration:x,position:S,gap:C,expandByDefault:T,classNames:E,icons:D,closeButtonAriaLabel:O=`Close toast`}=e,[k,j]=m.useState(null),[M,N]=m.useState(null),[F,ne]=m.useState(!1),[z,B]=m.useState(!1),[ie,V]=m.useState(!1),[H,U]=m.useState(!1),[ae,oe]=m.useState(!1),[se,W]=m.useState(0),[ce,le]=m.useState(0),G=m.useRef(n.duration||x||P),ue=m.useRef(null),K=m.useRef(null),de=c===0,fe=c+1<=o,q=n.type,J=n.dismissible!==!1,pe=n.className||``,me=n.descriptionClassName||``,Y=m.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),he=m.useMemo(()=>n.closeButton??p,[n.closeButton,p]),ge=m.useMemo(()=>n.duration||x||P,[n.duration,x]),X=m.useRef(0),Z=m.useRef(0),_e=m.useRef(0),Q=m.useRef(null),[ve,ye]=S.split(`-`),be=m.useMemo(()=>s.reduce((e,t,n)=>n>=Y?e:e+t.height,0),[s,Y]),xe=te(),Se=n.invert||t,Ce=q===`loading`;Z.current=m.useMemo(()=>Y*C+be,[Y,be]),m.useEffect(()=>{G.current=ge},[ge]),m.useEffect(()=>{ne(!0)},[]),m.useEffect(()=>{let e=K.current;if(e){let t=e.getBoundingClientRect().height;return le(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),m.useLayoutEffect(()=>{if(!F)return;let e=K.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,le(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[F,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let $=m.useCallback(()=>{B(!0),W(Z.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},re)},[n,d,a,Z]);m.useEffect(()=>{if(n.promise&&q===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||xe?(()=>{if(_e.current<X.current){let e=new Date().getTime()-X.current;G.current-=e}_e.current=new Date().getTime()})():G.current!==1/0&&(X.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),$()},G.current)),()=>clearTimeout(e)},[u,i,n,q,xe,$]),m.useEffect(()=>{n.delete&&($(),n.onDismiss==null||n.onDismiss.call(n,n))},[$,n.delete]);function we(){return D?.loading?m.createElement(`div`,{className:L(E?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":q===`loading`},D.loading):m.createElement(y,{className:L(E?.loader,n?.classNames?.loader),visible:q===`loading`})}let Te=n.icon||D?.[q]||_(q);return m.createElement(`li`,{tabIndex:0,ref:K,className:L(v,pe,E?.toast,n?.classNames?.toast,E?.default,E?.[q],n?.classNames?.[q]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":F,"data-promise":!!n.promise,"data-swiped":ae,"data-removed":z,"data-visible":fe,"data-y-position":ve,"data-x-position":ye,"data-index":c,"data-front":de,"data-swiping":ie,"data-dismissible":J,"data-type":q,"data-invert":Se,"data-swipe-out":H,"data-swipe-direction":M,"data-expanded":!!(u||T&&F),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${z?se:Z.current}px`,"--initial-height":T?`auto`:`${ce}px`,...ee,...n.style},onDragEnd:()=>{V(!1),j(null),Q.current=null},onPointerDown:e=>{e.button!==2&&(Ce||!J||(ue.current=new Date,W(Z.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(V(!0),Q.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(H||!J)return;Q.current=null;let e=Number(K.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(K.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-ue.current?.getTime(),i=k===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=I||a>.11){W(Z.current),n.onDismiss==null||n.onDismiss.call(n,n),N(k===`x`?e>0?`right`:`left`:t>0?`down`:`up`),$(),U(!0);return}else{var o,s;(o=K.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=K.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}oe(!1),V(!1),j(null)},onPointerMove:t=>{var n,r;if(!Q.current||!J||window.getSelection()?.toString().length>0)return;let i=t.clientY-Q.current.y,a=t.clientX-Q.current.x,o=e.swipeDirections??R(S);!k&&(Math.abs(a)>1||Math.abs(i)>1)&&j(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(k===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(k===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&oe(!0),(n=K.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=K.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},he&&!n.jsx&&q!==`loading`?m.createElement(`button`,{"aria-label":O,"data-disabled":Ce,"data-close-button":!0,onClick:Ce||!J?()=>{}:()=>{$(),n.onDismiss==null||n.onDismiss.call(n,n)},className:L(E?.closeButton,n?.classNames?.closeButton)},D?.close??w):null,(q||n.icon||n.promise)&&n.icon!==null&&(D?.[q]!==null||n.icon)?m.createElement(`div`,{"data-icon":``,className:L(E?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||we():null,n.type===`loading`?null:Te):null,m.createElement(`div`,{"data-content":``,className:L(E?.content,n?.classNames?.content)},m.createElement(`div`,{"data-title":``,className:L(E?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?m.createElement(`div`,{"data-description":``,className:L(b,me,E?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),m.isValidElement(n.cancel)?n.cancel:n.cancel&&A(n.cancel)?m.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{A(n.cancel)&&J&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),$())},className:L(E?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,m.isValidElement(n.action)?n.action:n.action&&A(n.action)?m.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{A(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&$())},className:L(E?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function B(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function ie(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?N:M;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var V=m.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:ee,visibleToasts:g=j,toastOptions:_,dir:v=B(),gap:y=ne,icons:b,containerAriaLabel:x=`Notifications`}=e,[S,C]=m.useState([]),w=m.useMemo(()=>n?S.filter(e=>e.toasterId===n):S.filter(e=>!e.toasterId),[S,n]),te=m.useMemo(()=>Array.from(new Set([i].concat(w.filter(e=>e.position).map(e=>e.position)))),[w,i]),[T,D]=m.useState([]),[O,k]=m.useState(!1),[A,M]=m.useState(!1),[N,P]=m.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),I=m.useRef(null),re=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),L=m.useRef(null),R=m.useRef(!1),V=m.useCallback(e=>{C(t=>(t.find(t=>t.id===e.id)?.delete||E.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return m.useEffect(()=>E.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{C(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{h.flushSync(()=>{C(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[S]),m.useEffect(()=>{if(d!==`system`){P(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?P(`dark`):P(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{P(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{P(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),m.useEffect(()=>{S.length<=1&&k(!1)},[S]),m.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;k(!0),(t=I.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===I.current||I.current?.contains(document.activeElement))&&k(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),m.useEffect(()=>{if(I.current)return()=>{L.current&&(L.current.focus({preventScroll:!0}),L.current=null,R.current=!1)}},[I.current]),m.createElement(`section`,{ref:t,"aria-label":`${x} ${re}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},te.map((t,n)=>{let[i,a]=t.split(`-`);return w.length?m.createElement(`ol`,{key:t,dir:v===`auto`?B():v,tabIndex:-1,ref:I,className:c,"data-sonner-toaster":!0,"data-sonner-theme":N,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${T[0]?.height||0}px`,"--width":`${F}px`,"--gap":`${y}px`,...ee,...ie(l,u)},onBlur:e=>{R.current&&!e.currentTarget.contains(e.relatedTarget)&&(R.current=!1,L.current&&=(L.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||R.current||(R.current=!0,L.current=e.relatedTarget)},onMouseEnter:()=>k(!0),onMouseMove:()=>k(!0),onMouseLeave:()=>{A||k(!1)},onDragEnd:()=>k(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||M(!0)},onPointerUp:()=>M(!1)},w.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>m.createElement(z,{key:n.id,icons:b,index:i,toast:n,defaultRichColors:f,duration:_?.duration??p,className:_?.className,descriptionClassName:_?.descriptionClassName,invert:r,visibleToasts:g,closeButton:_?.closeButton??s,interacting:A,position:t,style:_?.style,unstyled:_?.unstyled,classNames:_?.classNames,cancelButtonStyle:_?.cancelButtonStyle,actionButtonStyle:_?.actionButtonStyle,closeButtonAriaLabel:_?.closeButtonAriaLabel,removeToast:V,toasts:w.filter(e=>e.position==n.position),heights:T.filter(e=>e.position==n.position),setHeights:D,expandByDefault:o,gap:y,expanded:O,swipeDirections:e.swipeDirections}))):null}))}),H=a(),U=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsForm.tsx`;function ae(e){let{t}=n(),r=(0,m.useMemo)(()=>f(e.fields),[e.fields]),a=(0,m.useMemo)(()=>d(e.fields),[e.fields]),[h,g]=(0,m.useState)(!1),[_,v]=(0,m.useState)(null),{values:y,setValues:b,errors:x,setErrors:S,bridge:C}=s({fm:a,mode:`edit`,recordCtx:e.recordCtx,initial:{}});function w(e){let t={};for(let[n,i]of r)t[n]=e[n]??i.default??(i.prim!==`checkbox`&&``);return t}(0,m.useEffect)(()=>{b({}),S({});let n=!0;return e.load().then(e=>n&&b(w(e))).catch(()=>n&&v(t(`common.loadError`,{defaultValue:`Помилка завантаження`}))),()=>{n=!1}},[`${e.recordCtx.library}/${e.recordCtx.shelf}/${e.recordCtx.recordId}`]);async function te(){g(!0),S({});let n=k.loading(t(`save.saving`)),r=await e.save(y);if(g(!1),r.ok){b(w(r.row)),k.success(t(`save.done`),{id:n});return}if(r.status===422&&r.issues){let e={};for(let n of r.issues)n.field&&(e[n.field]=t(`validation.${n.code}`,n.params));S(e)}k.error(t(`save.failed`),{id:n})}return(0,H.jsxDEV)(`div`,{className:`flex flex-col h-full`,children:[(0,H.jsxDEV)(l,{actions:(0,H.jsxDEV)(p,{onClick:te,disabled:h,children:[(0,H.jsxDEV)(o,{size:16},void 0,!1,{fileName:U,lineNumber:101,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`hidden sm:inline`,children:t(`actions.save`)},void 0,!1,{fileName:U,lineNumber:102,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:100,columnNumber:11},this),children:(0,H.jsxDEV)(p,{variant:`ghost`,size:`sm`,className:`px-2`,asChild:!0,children:(0,H.jsxDEV)(i,{to:e.backTo,"aria-label":e.backLabel,children:[(0,H.jsxDEV)(u,{size:18},void 0,!1,{fileName:U,lineNumber:108,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`text-sm`,children:e.backLabel},void 0,!1,{fileName:U,lineNumber:109,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:107,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:106,columnNumber:9},this)},void 0,!1,{fileName:U,lineNumber:98,columnNumber:7},this),(0,H.jsxDEV)(ee,{children:[(0,H.jsxDEV)(`h1`,{className:`mb-6 text-2xl font-bold tracking-tight text-text`,children:e.title},void 0,!1,{fileName:U,lineNumber:115,columnNumber:9},this),_&&(0,H.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:_},void 0,!1,{fileName:U,lineNumber:118,columnNumber:11},this),(0,H.jsxDEV)(`div`,{className:`flex flex-col gap-5`,children:(0,H.jsxDEV)(c,{items:e.fields,ctx:{bridge:C}},void 0,!1,{fileName:U,lineNumber:124,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:123,columnNumber:9},this),e.footer]},void 0,!0,{fileName:U,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:U,lineNumber:97,columnNumber:5},this)}export{V as n,k as r,ae as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
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{i as a}from"./x-CzSVfh-E.js";import{n as o,t as s}from"./ui-vendor-EU9CHLyR.js";import{t as c}from"./Icon-
|
|
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{i as a}from"./x-CzSVfh-E.js";import{n as o,t as s}from"./ui-vendor-EU9CHLyR.js";import{t as c}from"./Icon-BumJSRVW.js";import{r as l,t as u}from"./ThemeSwitcher-CfRsyjzE.js";import{t as d}from"./button-DaYjtbcx.js";import{A as f,D as p,M as m,g as h,k as g,m as _}from"./api-DsJ6cAbe.js";import{n as ee,r as v}from"./auth-context-C1voH8bU.js";import{t as y}from"./PageBody-Y-cpiRMh.js";import{n as b,t as x}from"./version-DHVNWcte.js";var S=e(t(),1),C=i(),w=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/switch.tsx`,T=S.forwardRef(({className:e,...t},n)=>(0,C.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,C.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:w,lineNumber:20,columnNumber:5},void 0)},void 0,!1,{fileName:w,lineNumber:9,columnNumber:3},void 0));T.displayName=s.displayName;var E=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsPage.tsx`,D=null,O=null;function te(e=!1){if(!e&&D)return Promise.resolve(D);if(!e&&O)return O;let t=Promise.all([h(e?{refresh:!0}:void 0),_(e?{refresh:!0}:void 0)]).then(([e,t])=>{let n={plugins:e,runtime:t,checkedAt:Date.now()};return D=n,n});return e||(O=t,t.then(()=>{O===t&&(O=null)},()=>{O===t&&(O=null)})),t}async function k(){let e=Date.now();for(;Date.now()-e<6e4;){await new Promise(e=>setTimeout(e,1e3));try{if((await fetch(`/health`)).ok)return!0}catch{}}return!1}function A(){let{t:e}=n(),{role:t}=ee(),i=t===`admin`,[a,o]=(0,S.useState)(()=>D?.plugins??[]),[s,h]=(0,S.useState)(()=>D===null),[_,w]=(0,S.useState)(()=>D?.checkedAt??null),[O,A]=(0,S.useState)(null),[M,N]=(0,S.useState)(!1),P=e=>O===e||O===`*`,[F,I]=(0,S.useState)(()=>D?.runtime??null),L=a.filter(e=>e.latestVersion&&x(e.latestVersion,e.installedVersion)),R=!!(F?.latestVersion&&F.installedVersion&&x(F.latestVersion,F.installedVersion)),z=L.length+ +!!R,[B,V]=(0,S.useState)(null),[H,U]=(0,S.useState)(!1),W=t=>e(`${t}.plugin.label`,{defaultValue:t}),G=t=>e(`${t}.plugin.description`,{defaultValue:``}),K=t=>e(`${t}.library.label`,{defaultValue:t}),q=(t,n)=>e(`${t}.${n}.label`,{defaultValue:n}),J={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`)},Y=(e=!1)=>te(e).then(({plugins:e,runtime:t,checkedAt:n})=>{o(e),I(t),w(n),h(!1)});(0,S.useEffect)(()=>{Y()},[]);async function X(){N(!0),V(null);try{await Y(!0)}catch{V(e(`plugins.updateCheckError`))}finally{N(!1)}}async function Z(t){if(!await l({title:e(`plugins.purgeTitle`),description:e(`plugins.confirmPurge`,{id:t.id}),confirmLabel:e(`plugins.purgeButton`),variant:`destructive`}))return;A(t.id),V(null);let n=await fetch(`/api/plugins/${t.id}/data`,{method:`DELETE`}),r=await n.json().catch(()=>({}));if(A(null),!n.ok){V(J[r.error]?.(r)??e(`plugins.genericError`,{code:r.error??n.status}));return}U(!0),await Y()}async function ne(t){A(t.id),V(null);let n=await p(t.id,!t.enabled);if(!n.ok){A(null),V(J[n.error]?.(n.data??{})??e(`plugins.genericError`,{code:n.error}));return}window.location.reload()}async function re(t){if(!t.latestVersion||!await l({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;A(t.id),V(null);let n=await f(t.id);if(!n.ok){A(null),V(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}U(!0),await k()?(D=null,window.location.reload()):(A(null),V(e(`plugins.restartTimeout`)))}async function ie(){if(z===0)return;let t=L.map(e=>`${W(e.id)}: v${e.installedVersion} → v${e.latestVersion}`);R&&t.push(`${e(`plugins.runtimeLabel`)}: v${F.installedVersion} → v${F.latestVersion}`);let n=t.join(`
|
|
2
2
|
`);if(!await l({title:e(`plugins.updateAllButton`,{count:z}),description:e(`plugins.confirmUpdateAll`,{count:z,list:n}),confirmLabel:e(`plugins.updateButton`)}))return;A(`*`),V(null);let r=await g();if(!r.ok){A(null),V(r.stderr?`${e(`plugins.updateError`)}: ${r.stderr}`:e(`plugins.genericError`,{code:r.error}));return}U(!0),await k()?(D=null,window.location.reload()):(A(null),V(e(`plugins.restartTimeout`)))}let Q=a.find(e=>e.id===`core`),$=!!(Q?.latestVersion&&x(Q.latestVersion,Q.installedVersion)),ae=$||R;async function oe(){let t=[];if(Q&&$&&t.push(`${e(`core.settings.label`)}: v${Q.installedVersion} → v${Q.latestVersion}`),R&&t.push(`${e(`plugins.runtimeLabel`)}: v${F.installedVersion} → v${F.latestVersion}`),t.length===0||!await l({title:e(`plugins.updateAllButton`,{count:t.length}),description:e(`plugins.confirmUpdateAll`,{count:t.length,list:t.join(`
|
|
3
3
|
`)}),confirmLabel:e(`plugins.updateButton`)}))return;A(`*`),V(null);let n=await m();if(!n.ok){A(null),V(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}U(!0),await k()?(D=null,window.location.reload()):(A(null),V(e(`plugins.restartTimeout`)))}return(0,C.jsxDEV)(y,{children:[(0,C.jsxDEV)(`h1`,{className:`mb-6 text-2xl font-bold tracking-tight text-text`,children:e(`settings.title`)},void 0,!1,{fileName:E,lineNumber:286,columnNumber:7},this),(0,C.jsxDEV)(`section`,{className:`mb-6`,children:[(0,C.jsxDEV)(`h2`,{className:`mb-1 text-xs font-semibold tracking-wide text-muted`,children:e(`settings.appearance`)},void 0,!1,{fileName:E,lineNumber:289,columnNumber:9},this),(0,C.jsxDEV)(v,{className:`flex items-center gap-4 px-4 py-2`,children:[(0,C.jsxDEV)(`span`,{className:`min-w-0 flex-1 font-semibold text-text`,children:e(`theme.label`)},void 0,!1,{fileName:E,lineNumber:291,columnNumber:11},this),(0,C.jsxDEV)(`div`,{className:`w-40 max-w-[45vw] shrink-0`,children:(0,C.jsxDEV)(u,{direction:`down`},void 0,!1,{fileName:E,lineNumber:293,columnNumber:13},this)},void 0,!1,{fileName:E,lineNumber:292,columnNumber:11},this)]},void 0,!0,{fileName:E,lineNumber:290,columnNumber:9},this)]},void 0,!0,{fileName:E,lineNumber:288,columnNumber:7},this),(0,C.jsxDEV)(`section`,{className:`mb-6`,children:[(0,C.jsxDEV)(`h2`,{className:`mb-1 text-xs font-semibold tracking-wide text-muted`,children:e(`settings.personalTitle`)},void 0,!1,{fileName:E,lineNumber:300,columnNumber:9},this),(0,C.jsxDEV)(v,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,C.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,C.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`auth.accountTitle`)},void 0,!1,{fileName:E,lineNumber:303,columnNumber:13},this)},void 0,!1,{fileName:E,lineNumber:302,columnNumber:11},this),(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,C.jsxDEV)(r,{to:`/settings/account`,title:e(`auth.accountTitle`),"aria-label":e(`auth.accountTitle`),children:(0,C.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:E,lineNumber:307,columnNumber:15},this)},void 0,!1,{fileName:E,lineNumber:306,columnNumber:13},this)},void 0,!1,{fileName:E,lineNumber:305,columnNumber:11},this)]},void 0,!0,{fileName:E,lineNumber:301,columnNumber:9},this)]},void 0,!0,{fileName:E,lineNumber:299,columnNumber:7},this),i&&(0,C.jsxDEV)(C.Fragment,{children:[(0,C.jsxDEV)(`section`,{className:`mb-6`,children:[(0,C.jsxDEV)(`h2`,{className:`mb-1 text-xs font-semibold tracking-wide text-muted`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:E,lineNumber:317,columnNumber:13},this),(0,C.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.usersDescription`)},void 0,!1,{fileName:E,lineNumber:318,columnNumber:13},this),(0,C.jsxDEV)(v,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,C.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,C.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:E,lineNumber:321,columnNumber:17},this)},void 0,!1,{fileName:E,lineNumber:320,columnNumber:15},this),(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,C.jsxDEV)(r,{to:`/settings/users`,title:e(`settings.usersTitle`),"aria-label":e(`settings.usersTitle`),children:(0,C.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:E,lineNumber:325,columnNumber:19},this)},void 0,!1,{fileName:E,lineNumber:324,columnNumber:17},this)},void 0,!1,{fileName:E,lineNumber:323,columnNumber:15},this)]},void 0,!0,{fileName:E,lineNumber:319,columnNumber:13},this)]},void 0,!0,{fileName:E,lineNumber:316,columnNumber:11},this),(0,C.jsxDEV)(`section`,{className:`mb-6`,children:[(0,C.jsxDEV)(`h2`,{className:`mb-1 text-xs font-semibold tracking-wide text-muted`,children:e(`settings.diagnosticsTitle`)},void 0,!1,{fileName:E,lineNumber:332,columnNumber:13},this),(0,C.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.diagnosticsDescription`)},void 0,!1,{fileName:E,lineNumber:333,columnNumber:13},this),(0,C.jsxDEV)(v,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,C.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,C.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:E,lineNumber:336,columnNumber:17},this)},void 0,!1,{fileName:E,lineNumber:335,columnNumber:15},this),(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,C.jsxDEV)(r,{to:`/settings/diagnostics`,title:e(`diagnostics.title`),"aria-label":e(`diagnostics.title`),children:(0,C.jsxDEV)(c,{name:`lucide:activity`,size:16},void 0,!1,{fileName:E,lineNumber:340,columnNumber:19},this)},void 0,!1,{fileName:E,lineNumber:339,columnNumber:17},this)},void 0,!1,{fileName:E,lineNumber:338,columnNumber:15},this)]},void 0,!0,{fileName:E,lineNumber:334,columnNumber:13},this)]},void 0,!0,{fileName:E,lineNumber:331,columnNumber:11},this),(0,C.jsxDEV)(`section`,{children:[(0,C.jsxDEV)(`div`,{className:`mb-1 flex items-center gap-3`,children:[(0,C.jsxDEV)(`h2`,{className:`text-xs font-semibold tracking-wide text-muted`,children:e(`settings.componentsTitle`)},void 0,!1,{fileName:E,lineNumber:349,columnNumber:15},this),(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,disabled:O!==null||M,onClick:X,title:e(`plugins.checkUpdates`),className:`shrink-0 border border-border`,children:[(0,C.jsxDEV)(c,{name:`lucide:refresh-cw`,size:14,className:M?`animate-spin`:void 0},void 0,!1,{fileName:E,lineNumber:359,columnNumber:17},this),e(M?`plugins.checkingUpdates`:`plugins.checkUpdates`)]},void 0,!0,{fileName:E,lineNumber:350,columnNumber:15},this),z>0&&(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,disabled:O!==null,onClick:ie,className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:e(`plugins.updateAllButton`,{count:z})},void 0,!1,{fileName:E,lineNumber:363,columnNumber:17},this)]},void 0,!0,{fileName:E,lineNumber:348,columnNumber:13},this),(0,C.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.componentsDescription`)},void 0,!1,{fileName:E,lineNumber:375,columnNumber:13},this),!s&&_!==null&&(0,C.jsxDEV)(`p`,{className:`mb-3 text-xs text-muted`,"aria-live":`polite`,children:[z>0?e(`plugins.updatesAvailable`,{count:z}):e(`plugins.noUpdates`),` `,e(`plugins.lastChecked`,{time:new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`}).format(_)})]},void 0,!0,{fileName:E,lineNumber:377,columnNumber:15},this),s?(0,C.jsxDEV)(`p`,{className:`text-muted`,children:e(`plugins.loading`)},void 0,!1,{fileName:E,lineNumber:388,columnNumber:15},this):(0,C.jsxDEV)(C.Fragment,{children:[H&&(0,C.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,C.jsxDEV)(`b`,{children:e(`plugins.restartBannerBold`)},void 0,!1,{fileName:E,lineNumber:394,columnNumber:21},this),e(`plugins.restartBannerAfter`)]},void 0,!0,{fileName:E,lineNumber:392,columnNumber:19},this),B&&(0,C.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:B},void 0,!1,{fileName:E,lineNumber:399,columnNumber:19},this),(0,C.jsxDEV)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-card`,children:[(0,C.jsxDEV)(`div`,{className:`flex flex-col gap-3 border-b border-border px-4 py-3 sm:flex-row sm:items-center sm:gap-4`,children:[(0,C.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,C.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,C.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`core.settings.label`)},void 0,!1,{fileName:E,lineNumber:409,columnNumber:25},this),Q&&(0,C.jsxDEV)(b,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,Q.installedVersion]},void 0,!0,{fileName:E,lineNumber:411,columnNumber:27},this),ae&&(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,disabled:O!==null,onClick:oe,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:E,lineNumber:416,columnNumber:27},this)]},void 0,!0,{fileName:E,lineNumber:408,columnNumber:23},this),(0,C.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:e(`settings.systemDescription`)},void 0,!1,{fileName:E,lineNumber:429,columnNumber:23},this)]},void 0,!0,{fileName:E,lineNumber:407,columnNumber:21},this),(0,C.jsxDEV)(`div`,{className:`flex w-full shrink-0 justify-end border-t border-border pt-3 sm:w-auto sm:border-t-0 sm:pt-0`,children:(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,className:`border border-border`,asChild:!0,children:(0,C.jsxDEV)(r,{to:`/settings/core`,title:e(`core.settings.label`),"aria-label":e(`core.settings.label`),children:(0,C.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:E,lineNumber:438,columnNumber:27},this)},void 0,!1,{fileName:E,lineNumber:433,columnNumber:25},this)},void 0,!1,{fileName:E,lineNumber:432,columnNumber:23},this)},void 0,!1,{fileName:E,lineNumber:431,columnNumber:21},this)]},void 0,!0,{fileName:E,lineNumber:406,columnNumber:19},this),a.filter(e=>e.id!==`core`).map(t=>{let n=G(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=>W(e.id)).join(`, `)}):t.enabled?e(`plugins.switchDisable`):e(`plugins.switchEnable`),l=[t.dependsOn.length>0&&`${e(`plugins.metaDepends`)} ${t.dependsOn.map(W).join(`, `)}`,t.libraries.length>0&&`${e(`plugins.metaLibraries`)} ${t.libraries.map(K).join(`, `)}`,t.extends.length>0&&`${e(`plugins.metaExtends`)} ${t.extends.map(e=>q(t.id,e)).join(`, `)}`].filter(Boolean).join(` · `)||`—`;return(0,C.jsxDEV)(`div`,{className:`flex flex-col gap-3 border-b border-border px-4 py-3 last:border-b-0 sm:flex-row sm:items-center sm:gap-4`,children:[(0,C.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,C.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,C.jsxDEV)(`span`,{className:`font-semibold text-text`,children:W(t.id)},void 0,!1,{fileName:E,lineNumber:478,columnNumber:31},this),(0,C.jsxDEV)(j,{plugin:t,busy:P(t.id),onUpdate:()=>re(t)},void 0,!1,{fileName:E,lineNumber:479,columnNumber:31},this)]},void 0,!0,{fileName:E,lineNumber:477,columnNumber:29},this),n&&(0,C.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:n},void 0,!1,{fileName:E,lineNumber:481,columnNumber:45},this),(0,C.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:l},void 0,!1,{fileName:E,lineNumber:482,columnNumber:29},this)]},void 0,!0,{fileName:E,lineNumber:476,columnNumber:27},this),(0,C.jsxDEV)(`div`,{className:`flex w-full shrink-0 items-center justify-end gap-2 border-t border-border pt-3 sm:w-auto sm:border-t-0 sm:pt-0`,children:[t.hasSettings&&(0,C.jsxDEV)(d,{variant:`ghost`,size:`sm`,type:`button`,className:`border border-border`,asChild:!0,children:(0,C.jsxDEV)(r,{to:`/settings/${t.id}`,title:e(`plugins.settingsTitle`,{defaultValue:`Settings`}),"aria-label":e(`plugins.settingsTitle`,{defaultValue:`Settings`}),children:(0,C.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:E,lineNumber:492,columnNumber:35},this)},void 0,!1,{fileName:E,lineNumber:487,columnNumber:33},this)},void 0,!1,{fileName:E,lineNumber:486,columnNumber:31},this),(0,C.jsxDEV)(d,{variant:`ghost`,size:`iconSm`,type:`button`,disabled:P(t.id),onClick:()=>Z(t),title:e(`plugins.purgeTitle`),"aria-label":e(`plugins.purgeTitle`),className:`border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:(0,C.jsxDEV)(c,{name:`lucide:trash-2`,size:16},void 0,!1,{fileName:E,lineNumber:506,columnNumber:31},this)},void 0,!1,{fileName:E,lineNumber:496,columnNumber:29},this),(0,C.jsxDEV)(`span`,{title:s,children:(0,C.jsxDEV)(T,{checked:t.enabled,disabled:P(t.id)||o,onCheckedChange:()=>ne(t),title:s},void 0,!1,{fileName:E,lineNumber:511,columnNumber:31},this)},void 0,!1,{fileName:E,lineNumber:510,columnNumber:29},this)]},void 0,!0,{fileName:E,lineNumber:484,columnNumber:27},this)]},t.id,!0,{fileName:E,lineNumber:472,columnNumber:25},this)})]},void 0,!0,{fileName:E,lineNumber:404,columnNumber:17},this)]},void 0,!0,{fileName:E,lineNumber:390,columnNumber:15},this)]},void 0,!0,{fileName:E,lineNumber:347,columnNumber:11},this)]},void 0,!0,{fileName:E,lineNumber:314,columnNumber:9},this)]},void 0,!0,{fileName:E,lineNumber:285,columnNumber:5},this)}function j({plugin:e,busy:t,onUpdate:r}){let{t:i}=n(),a=!!(e.latestVersion&&x(e.latestVersion,e.installedVersion));return(0,C.jsxDEV)(C.Fragment,{children:[(0,C.jsxDEV)(b,{variant:`secondary`,className:`text-[11px] font-medium`,children:[`v`,e.installedVersion]},void 0,!0,{fileName:E,lineNumber:537,columnNumber:7},this),a&&(0,C.jsxDEV)(d,{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:E,lineNumber:541,columnNumber:9},this)]},void 0,!0,{fileName:E,lineNumber:536,columnNumber:5},this)}export{A as SettingsPage};
|