@coffer-org/web 2.2.3 → 2.2.5
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-BAYVUMAk.js → ChatWidget-Bi8jdXG0.js} +4 -4
- package/dist/assets/{NewRecordView-BRzx8WmB.js → NewRecordView-FtHW1LXm.js} +1 -1
- package/dist/assets/{PluginSettingsPage-DPSzTBjm.js → PluginSettingsPage-CtxU42JJ.js} +1 -1
- package/dist/assets/{SettingsForm-DWJJQMcy.js → SettingsForm-DWlZ_8O7.js} +1 -1
- package/dist/assets/{SettingsPage-B4WsLRHO.js → SettingsPage-CL5dqNH-.js} +1 -1
- package/dist/assets/{Toolbar-BaMlEpmz.js → Toolbar-DIAEzA8V.js} +1 -1
- package/dist/assets/api-kzoAEkkj.js +1 -0
- package/dist/assets/{auth-context-CqB3NLgO.js → auth-context-BIok7QiQ.js} +1 -1
- package/dist/assets/{index-CTikLilu.js → index-B3hQ4Gnb.js} +11 -11
- package/dist/assets/index-DEsVsYV1.css +2 -0
- package/dist/assets/shared-CkiqAq-9.js +1 -0
- package/dist/assets/src-CaN2oqQE.js +1 -0
- package/dist/assets/src-DEBwxHUA.js +1 -0
- package/dist/assets/{ui-CY3Pz2vJ.js → ui-6lqRRu0W.js} +1 -1
- package/dist/assets/{ui-DG_85pTU.js → ui-Ca2Ae8Fv.js} +2 -2
- package/dist/assets/{ui-Cd3oemsa.js → ui-CfrF5wz5.js} +1 -1
- package/dist/index.html +7 -7
- package/package.json +2 -2
- package/dist/assets/api-C2Azkedd.js +0 -1
- package/dist/assets/index-CSnStPnZ.css +0 -2
- package/dist/assets/shared-B-9cBvyI.js +0 -1
- package/dist/assets/src-CgiQ8TBX.js +0 -1
- package/dist/assets/src-n92cxA2m.js +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
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,r as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,t as c}from"./x-BFRg18Fi.js";import{s as l}from"./icons-DBHj1PyA.js";import{n as u,o as d,r as f,t as p}from"./use-media-query-BED2JoBm.js";import{n as m,t as h}from"./upload-Bp-ZANIb.js";import{n as g,t as _}from"./square-CiErsTOS.js";import"./src-DKYT_mO5.js";import{i as v}from"./plugin-ui-CKd6q8ec.js";import{k as y}from"./api-
|
|
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,r as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,t as c}from"./x-BFRg18Fi.js";import{s as l}from"./icons-DBHj1PyA.js";import{n as u,o as d,r as f,t as p}from"./use-media-query-BED2JoBm.js";import{n as m,t as h}from"./upload-Bp-ZANIb.js";import{n as g,t as _}from"./square-CiErsTOS.js";import"./src-DKYT_mO5.js";import{i as v}from"./plugin-ui-CKd6q8ec.js";import{k as y}from"./api-kzoAEkkj.js";import{n as b,t as ee}from"./dialog-DqWXrq6M.js";import{n as x,t as S}from"./development-olQNibq5.js";import{c as C}from"./micromark-extension-gfm-BUw6_ZLT.js";import{a as w,i as T,n as te,o as E,s as D}from"./space-separated-tokens-IJiqTQpk.js";import{a as ne,c as O,s as k,t as A}from"./lib-Du7RHLba.js";import{t as re}from"./lib-sYoE14fC.js";import{c as ie,t as ae}from"./lib-B13BbhLB.js";var oe=s(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),se=s(`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`}]]),ce=s(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),le=s(`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`}]]),ue=s(`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`}]]),de=s(`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`}]]),fe={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`},j=e(n(),1);async function*pe(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(`
|
|
5
5
|
`)})}}}var M=`/api/plugins/webchat/user`;async function me(){let e=await fetch(`${M}/threads`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`});if(!e.ok)throw Error(`threads`);return(await e.json()).threads}async function he(e){let t=await fetch(`${M}/history`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({convId:e})});if(!t.ok)throw Error(`history`);return await t.json()}async function ge(e){let t=await fetch(`${M}/send/stream`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({convId:e.convId,text:e.text,replyTo:e.replyTo,context:e.context,...e.attachments?.length?{attachments:e.attachments}:{}}),signal:e.signal});if(!t.ok||!t.body){e.onError(`http ${t.status}`);return}for await(let n of pe(t.body))try{let t=JSON.parse(n.data);n.event===`reasoning`?e.onReasoning?.(String(t.text??``)):n.event===`delta`||n.event===`message`?e.onDelta(String(t.text??``)):n.event===`done`?e.onDone({msgId:t.msgId??null,parentMsgId:String(t.parentMsgId??``)}):n.event===`error`&&e.onError(String(t.message??`error`))}catch(t){e.onError(`malformed frame: ${String(t)}`)}}function N(){return crypto.randomUUID()}function _e(){let[e,t]=(0,j.useState)([]),[n,r]=(0,j.useState)(null),[i,a]=(0,j.useState)([]),[o,s]=(0,j.useState)(null),[c,l]=(0,j.useState)(null),[u,d]=(0,j.useState)(null),f=(0,j.useRef)(null),p=(0,j.useRef)(null),m=(0,j.useRef)(!1),h=(0,j.useRef)(0),g=(0,j.useRef)(!0);(0,j.useEffect)(()=>(g.current=!0,()=>{g.current=!1,p.current?.abort(),h.current++}),[]);let _=(0,j.useCallback)(()=>{me().then(e=>{g.current&&t(e)}).catch(()=>{})},[]),v=(0,j.useCallback)(()=>{p.current?.abort(),p.current=null,h.current++,f.current=null,r(N()),a([]),s(null),l(null),d(null)},[]),y=(0,j.useCallback)(async e=>{p.current?.abort(),p.current=null,h.current++;let t=h.current;r(e),a([]),f.current=null,s(null),l(null),d(null);try{let n=await he(e);if(h.current!==t)return;f.current=n.headMsgId,a(n.messages)}catch(e){if(h.current!==t)return;d(e.message)}},[]),b=(0,j.useCallback)(()=>{p.current?.abort(),p.current=null,s(null),l(null)},[]);return{threads:e,convId:n,messages:i,pending:o,pendingReasoning:c,error:u,send:(0,j.useCallback)((e,t,i=[])=>{if(!e.trim()||m.current)return!1;m.current=!0;let o=h.current,c=n??N();n===null&&r(c),d(null),a(t=>[...t,{msgId:`local-${N()}`,role:`user`,text:e,ts:Math.floor(Date.now()/1e3),...i.length?{attachments:i}:{}}]),s(``);let u=new AbortController;p.current=u;let g=``,v=``;return(async()=>{try{await ge({convId:c,text:e,replyTo:f.current,context:t,attachments:i,signal:u.signal,onDelta:e=>{h.current===o&&(g=e,s(e))},onReasoning:e=>{h.current===o&&(v=e,l(e))},onDone:({msgId:e,parentMsgId:t})=>{h.current===o&&(f.current=e??t,g&&a(t=>[...t,{msgId:e??`local-${N()}`,role:`assistant`,text:g,ts:Math.floor(Date.now()/1e3),...v?{reasoning:v}:{}}]),s(null),l(null))},onError:e=>{h.current===o&&(d(e),s(null),l(null))}})}catch(e){h.current===o&&(e.name!==`AbortError`&&d(e.message),s(null),l(null))}finally{m.current=!1,h.current===o&&(p.current=null,_())}})(),!0},[n,_]),open:y,newConversation:v,loadThreads:_,stop:b}}function ve(){let{pathname:e}=i(),t=e.split(`/`).filter(Boolean),n=new Set([`settings`,`browse`,`plugins`,`login`,`setup`]);if(t.length<2||n.has(t[0]))return{path:e};let[r,a,o]=t;return{path:e,library:r,type:a,...o&&o!==`new`?{id:o}:{}}}var ye=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,be=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,xe={};function Se(e,t){return((t||xe).jsx?be:ye).test(e)}var Ce=t(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(`
|
|
6
|
-
`);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(!(e.charAt(0)!=`/`||e.charAt(1)!=`*`)){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function ee(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),ee()}function d(e){return e?e.replace(l,``):``}t.exports=u})),we=t((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var n=t(Ce());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),Te=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),Ee=t(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(we()),r=Te();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),De=Oe(`end`),P=Oe(`start`);function Oe(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function ke(e){let t=P(e),n=De(e);if(t&&n)return{start:t,end:n}}var Ae=e(Ee(),1),F={}.hasOwnProperty,je=new Map,Me=/[A-Z]/g,Ne=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),Pe=new Set([`td`,`th`]);function Fe(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=Ge(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=We(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?
|
|
6
|
+
`);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(!(e.charAt(0)!=`/`||e.charAt(1)!=`*`)){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function ee(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),ee()}function d(e){return e?e.replace(l,``):``}t.exports=u})),we=t((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var n=t(Ce());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),Te=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),Ee=t(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(we()),r=Te();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),De=Oe(`end`),P=Oe(`start`);function Oe(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function ke(e){let t=P(e),n=De(e);if(t&&n)return{start:t,end:n}}var Ae=e(Ee(),1),F={}.hasOwnProperty,je=new Map,Me=/[A-Z]/g,Ne=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),Pe=new Set([`td`,`th`]);function Fe(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=Ge(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=We(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?E:w,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=Ie(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function Ie(e,t,n){if(t.type===`element`)return Le(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return Re(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return Be(e,t,n);if(t.type===`mdxjsEsm`)return ze(e,t);if(t.type===`root`)return Ve(e,t,n);if(t.type===`text`)return He(e,t)}function Le(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=E,e.schema=i),e.ancestors.push(t);let a=Xe(e,t.tagName,!1),o=Ke(e,t),s=L(e,t);return Ne.has(t.tagName)&&(s=s.filter(function(e){return typeof e!=`string`||!re(e)})),Ue(e,o,a,t),I(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Re(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return S(n.type===`ExpressionStatement`),e.evaluater.evaluateExpression(n.expression)}R(e,t.position)}function ze(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);R(e,t.position)}function Be(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=E,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:Xe(e,t.name,!0),o=qe(e,t),s=L(e,t);return Ue(e,o,a,t),I(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Ve(e,t,n){let r={};return I(r,L(e,t)),e.create(t,e.Fragment,r,n)}function He(e,t){return t.value}function Ue(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function I(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function We(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function Ge(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=P(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function Ke(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&F.call(t.properties,i)){let a=Je(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&Pe.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function qe(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];S(t.type===`ExpressionStatement`);let i=t.expression;S(i.type===`ObjectExpression`);let a=i.properties[0];S(a.type===`SpreadElement`),Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else R(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];S(t.type===`ExpressionStatement`),a=e.evaluater.evaluateExpression(t.expression)}else R(e,t.position);else a=r.value===null||r.value;n[i]=a}return n}function L(e,t){let n=[],r=-1,i=e.passKeys?new Map:je;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=Ie(e,a,o);s!==void 0&&n.push(s)}return n}function Je(e,t,n){let r=D(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?T(n):te(n)),r.property===`style`){let t=typeof n==`object`?n:Ye(e,String(n));return e.stylePropertyNameCase===`css`&&(t=Ze(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?fe[r.property]||r.property:r.attribute,n]}}function Ye(e,t){try{return(0,Ae.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new O("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=`https://github.com/syntax-tree/hast-util-to-jsx-runtime#cannot-parse-style-attribute`,r}}function Xe(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=Se(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}S(i,`always a result`),r=i}else r=Se(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return F.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);R(e)}function R(e,t){let n=new O("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:`mdx-estree`,source:`hast-util-to-jsx-runtime`});throw n.file=e.filePath||void 0,n.url=`https://github.com/syntax-tree/hast-util-to-jsx-runtime#cannot-handle-mdx-estrees-without-createevaluater`,n}function Ze(e){let t={},n;for(n in e)F.call(e,n)&&(t[Qe(n)]=e[n]);return t}function Qe(e){let t=e.replace(Me,$e);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function $e(e){return`-`+e.toLowerCase()}var z={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]};function et(e,t){let n={type:`element`,tagName:`blockquote`,properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function tt(e,t){let n={type:`element`,tagName:`br`,properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:`text`,value:`
|
|
7
7
|
`}]}function nt(e,t){let n=t.value?t.value+`
|
|
8
8
|
`:``,r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=[`language-`+i[0]]);let a={type:`element`,tagName:`code`,properties:r,children:[{type:`text`,value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:`element`,tagName:`pre`,properties:{},children:[a]},e.patch(t,a),a}function rt(e,t){let n={type:`element`,tagName:`del`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function it(e,t){let n={type:`element`,tagName:`em`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function at(e,t){let n=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,r=String(t.identifier).toUpperCase(),i=C(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let c={type:`element`,tagName:`a`,properties:{href:`#`+n+`fn-`+i,id:n+`fnref-`+i+(s>1?`-`+s:``),dataFootnoteRef:!0,ariaDescribedBy:[`footnote-label`]},children:[{type:`text`,value:String(o)}]};e.patch(t,c);let l={type:`element`,tagName:`sup`,properties:{},children:[c]};return e.patch(t,l),e.applyData(t,l)}function ot(e,t){let n={type:`element`,tagName:`h`+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function st(e,t){if(e.options.allowDangerousHtml){let n={type:`raw`,value:t.value};return e.patch(t,n),e.applyData(t,n)}}function ct(e,t){let n=t.referenceType,r=`]`;if(n===`collapsed`?r+=`[]`:n===`full`&&(r+=`[`+(t.label||t.identifier)+`]`),t.type===`imageReference`)return[{type:`text`,value:`![`+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type===`text`?a.value=`[`+a.value:i.unshift({type:`text`,value:`[`});let o=i[i.length-1];return o&&o.type===`text`?o.value+=r:i.push({type:`text`,value:r}),i}function lt(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ct(e,t);let i={src:C(r.url||``),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`img`,properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function ut(e,t){let n={src:C(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`img`,properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function dt(e,t){let n={type:`text`,value:t.value.replace(/\r?\n|\r/g,` `)};e.patch(t,n);let r={type:`element`,tagName:`code`,properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function ft(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ct(e,t);let i={href:C(r.url||``)};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`a`,properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function pt(e,t){let n={href:C(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`a`,properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function mt(e,t,n){let r=e.all(t),i=n?ht(n):gt(t),a={},o=[];if(typeof t.checked==`boolean`){let e=r[0],n;e&&e.type===`element`&&e.tagName===`p`?n=e:(n={type:`element`,tagName:`p`,properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:`text`,value:` `}),n.children.unshift({type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:t.checked,disabled:!0},children:[]}),a.className=[`task-list-item`]}let s=-1;for(;++s<r.length;){let e=r[s];(i||s!==0||e.type!==`element`||e.tagName!==`p`)&&o.push({type:`text`,value:`
|
|
9
9
|
`}),e.type===`element`&&e.tagName===`p`&&!i?o.push(...e.children):o.push(e)}let c=r[r.length-1];c&&(i||c.type!==`element`||c.tagName!==`p`)&&o.push({type:`text`,value:`
|
|
10
10
|
`});let l={type:`element`,tagName:`li`,properties:a,children:o};return e.patch(t,l),e.applyData(t,l)}function ht(e){let t=!1;if(e.type===`list`){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=gt(n[r])}return t}function gt(e){return e.spread??e.children.length>1}function _t(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start==`number`&&t.start!==1&&(n.start=t.start);++i<r.length;){let e=r[i];if(e.type===`element`&&e.tagName===`li`&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(`task-list-item`)){n.className=[`contains-task-list`];break}}let a={type:`element`,tagName:t.ordered?`ol`:`ul`,properties:n,children:e.wrap(r,!0)};return e.patch(t,a),e.applyData(t,a)}function vt(e,t){let n={type:`element`,tagName:`p`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function yt(e,t){let n={type:`root`,children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function bt(e,t){let n={type:`element`,tagName:`strong`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function xt(e,t){let n=e.all(t),r=n.shift(),i=[];if(r){let n={type:`element`,tagName:`thead`,properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),i.push(n)}if(n.length>0){let r={type:`element`,tagName:`tbody`,properties:{},children:e.wrap(n,!0)},a=P(t.children[1]),o=De(t.children[t.children.length-1]);a&&o&&(r.position={start:a,end:o}),i.push(r)}let a={type:`element`,tagName:`table`,properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function St(e,t,n){let r=n?n.children:void 0,i=(r?r.indexOf(t):1)===0?`th`:`td`,a=n&&n.type===`table`?n.align:void 0,o=a?a.length:t.children.length,s=-1,c=[];for(;++s<o;){let n=t.children[s],r={},o=a?a[s]:void 0;o&&(r.align=o);let l={type:`element`,tagName:i,properties:r,children:[]};n&&(l.children=e.all(n),e.patch(n,l),l=e.applyData(n,l)),c.push(l)}let l={type:`element`,tagName:`tr`,properties:{},children:e.wrap(c,!0)};return e.patch(t,l),e.applyData(t,l)}function Ct(e,t){let n={type:`element`,tagName:`td`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}var wt=9,Tt=32;function Et(e){let t=String(e),n=/\r?\n|\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push(Dt(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(Dt(t.slice(i),i>0,!1)),a.join(``)}function Dt(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;t===wt||t===Tt;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;t===wt||t===Tt;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):``}function Ot(e,t){let n={type:`text`,value:Et(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function kt(e,t){let n={type:`element`,tagName:`hr`,properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var At={blockquote:et,break:tt,code:nt,delete:rt,emphasis:it,footnoteReference:at,heading:ot,html:st,imageReference:lt,image:ut,inlineCode:dt,linkReference:ft,link:pt,listItem:mt,list:_t,paragraph:vt,root:yt,strong:bt,table:xt,tableCell:Ct,tableRow:St,text:Ot,thematicBreak:kt,toml:B,yaml:B,definition:B,footnoteDefinition:B};function B(){}var jt=typeof self==`object`?self:globalThis,Mt=(e,t)=>{switch(e){case`Function`:case`SharedWorker`:case`Worker`:case`eval`:case`setInterval`:case`setTimeout`:throw TypeError(`unable to deserialize `+e)}return new jt[e](t)},Nt=(e,t)=>{let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(typeof jt[e]==`function`?Mt(e,t):Error(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(Mt(a,o),i)};return r},Pt=e=>Nt(new Map,e)(0),V=``,{toString:Ft}={},{keys:It}=Object,H=e=>{let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Ft.call(e).slice(8,-1);switch(n){case`Array`:return[1,V];case`Object`:return[2,V];case`Date`:return[3,V];case`RegExp`:return[4,V];case`Map`:return[5,V];case`Set`:return[6,V];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:e instanceof Error?[7,e.name||`Error`]:[2,n]},U=([e,t])=>e===0&&(t===`function`||t===`symbol`),Lt=(e,t,n,r)=>{let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=H(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize `+s);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of It(r))(e||!U(H(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,isNaN(r.getTime())?V:r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(U(H(n))||U(H(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!U(H(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a},Rt=(e,{json:t,lossy:n}={})=>{let r=[];return Lt(!(t||n),!!t,new Map,r)(e),r},W=typeof structuredClone==`function`?(e,t)=>t&&(`json`in t||`lossy`in t)?Pt(Rt(e,t)):structuredClone(e):(e,t)=>Pt(Rt(e,t));function zt(e,t){let n=[{type:`text`,value:`↩`}];return t>1&&n.push({type:`element`,tagName:`sup`,properties:{},children:[{type:`text`,value:String(t)}]}),n}function Bt(e,t){return`Back to reference `+(e+1)+(t>1?`-`+t:``)}function Vt(e){let t=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,n=e.options.footnoteBackContent||zt,r=e.options.footnoteBackLabel||Bt,i=e.options.footnoteLabel||`Footnotes`,a=e.options.footnoteLabelTagName||`h2`,o=e.options.footnoteLabelProperties||{className:[`sr-only`]},s=[],c=-1;for(;++c<e.footnoteOrder.length;){let i=e.footnoteById.get(e.footnoteOrder[c]);if(!i)continue;let a=e.all(i),o=String(i.identifier).toUpperCase(),l=C(o.toLowerCase()),u=0,d=[],f=e.footnoteCounts.get(o);for(;f!==void 0&&++u<=f;){d.length>0&&d.push({type:`text`,value:` `});let e=typeof n==`string`?n:n(c,u);typeof e==`string`&&(e={type:`text`,value:e}),d.push({type:`element`,tagName:`a`,properties:{href:`#`+t+`fnref-`+l+(u>1?`-`+u:``),dataFootnoteBackref:``,ariaLabel:typeof r==`string`?r:r(c,u),className:[`data-footnote-backref`]},children:Array.isArray(e)?e:[e]})}let p=a[a.length-1];if(p&&p.type===`element`&&p.tagName===`p`){let e=p.children[p.children.length-1];e&&e.type===`text`?e.value+=` `:p.children.push({type:`text`,value:` `}),p.children.push(...d)}else a.push(...d);let m={type:`element`,tagName:`li`,properties:{id:t+`fn-`+l},children:e.wrap(a,!0)};e.patch(i,m),s.push(m)}if(s.length!==0)return{type:`element`,tagName:`section`,properties:{dataFootnotes:!0,className:[`footnotes`]},children:[{type:`element`,tagName:a,properties:{...W(o),id:`footnote-label`},children:[{type:`text`,value:i}]},{type:`text`,value:`
|
|
11
11
|
`},{type:`element`,tagName:`ol`,properties:{},children:e.wrap(s,!0)},{type:`text`,value:`
|
|
12
|
-
`}]}}var G={}.hasOwnProperty,Ht={};function Ut(e,t){let n=t||Ht,r=new Map,i=new Map,a={all:s,applyData:Gt,definitionById:r,footnoteById:i,footnoteCounts:new Map,footnoteOrder:[],handlers:{...At,...n.handlers},one:o,options:n,patch:Wt,wrap:qt};return
|
|
12
|
+
`}]}}var G={}.hasOwnProperty,Ht={};function Ut(e,t){let n=t||Ht,r=new Map,i=new Map,a={all:s,applyData:Gt,definitionById:r,footnoteById:i,footnoteCounts:new Map,footnoteOrder:[],handlers:{...At,...n.handlers},one:o,options:n,patch:Wt,wrap:qt};return A(e,function(e){if(e.type===`definition`||e.type===`footnoteDefinition`){let t=e.type===`definition`?r:i,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a;function o(e,t){let n=e.type,r=a.handlers[n];if(G.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if(`children`in e){let{children:t,...n}=e,r=W(n);return r.children=a.all(e),r}return W(e)}return(a.options.unknownHandler||Kt)(a,e,t)}function s(e){let t=[];if(`children`in e){let n=e.children,r=-1;for(;++r<n.length;){let i=a.one(n[r],e);if(i){if(r&&n[r-1].type===`break`&&(!Array.isArray(i)&&i.type===`text`&&(i.value=Jt(i.value)),!Array.isArray(i)&&i.type===`element`)){let e=i.children[0];e&&e.type===`text`&&(e.value=Jt(e.value))}Array.isArray(i)?t.push(...i):t.push(i)}}}return t}}function Wt(e,t){e.position&&(t.position=ke(e))}function Gt(e,t){let n=t;if(e&&e.data){let t=e.data.hName,r=e.data.hChildren,i=e.data.hProperties;typeof t==`string`&&(n.type===`element`?n.tagName=t:n={type:`element`,tagName:t,properties:{},children:`children`in n?n.children:[n]}),n.type===`element`&&i&&Object.assign(n.properties,W(i)),`children`in n&&n.children&&r!=null&&(n.children=r)}return n}function Kt(e,t){let n=t.data||{},r=`value`in t&&!(G.call(n,`hProperties`)||G.call(n,`hChildren`))?{type:`text`,value:t.value}:{type:`element`,tagName:`div`,properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function qt(e,t){let n=[],r=-1;for(t&&n.push({type:`text`,value:`
|
|
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 Jt(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Yt(e,t){let n=Ut(e,t),r=n.one(e,void 0),i=Vt(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(S(`children`in a),a.children.push({type:`text`,value:`
|
|
16
|
-
`},i)),a}function Xt(e,t){return e&&`run`in e?async function(n,r){let i=Yt(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Yt(n,{file:r,...e||t})}}var K=l(),Zt=[],Qt={allowDangerousHtml:!0},$t=/^(https?|ircs?|mailto|xmpp)$/i,en=[{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 tn(e){let t=nn(e),n=rn(e);return an(t.runSync(t.parse(n),n),e)}function nn(e){let t=e.rehypePlugins||Zt,n=e.remarkPlugins||Zt,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Qt}:Qt;return k().use(ie).use(n).use(Xt,r).use(t)}function rn(e){let t=e.children||``,n=new te;return typeof t==`string`?n.value=t:x("Unexpected value `"+t+"` for `children` prop, expected `string`"),n}function an(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||on;for(let e of en)Object.hasOwn(t,e.from)&&x("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&&x("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other"),ne(e,l),Fe(e,{Fragment:K.Fragment,components:i,ignoreInvalidStyle:!0,jsx:K.jsx,jsxs:K.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 z)if(Object.hasOwn(z,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=z[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 on(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||$t.test(e.slice(0,t))?e:``}var sn=/^[A-Za-z0-9._~%-]+$/;function cn(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(!sn.test(a))return null;i[t.slice(1)]=a}else if(t!==a)return null}return n.length===r.length?i:null}function ln(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=cn(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 q=o(),un=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-nav.tsx`,dn=(0,j.createContext)(()=>{});function fn({onNavigate:e,children:t}){return(0,q.jsxDEV)(dn.Provider,{value:e,children:t},void 0,!1,{fileName:un,lineNumber:9,columnNumber:10},this)}function pn(){return(0,j.useContext)(dn)}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-markdown.tsx`;function mn({text:e,className:t}){return(0,q.jsxDEV)(`div`,{className:t,children:(0,q.jsxDEV)(tn,{remarkPlugins:[ae],components:{a:hn},children:e},void 0,!1,{fileName:J,lineNumber:18,columnNumber:7},this)},void 0,!1,{fileName:J,lineNumber:17,columnNumber:5},this)}function hn({href:e,children:t}){let n=pn(),r=[...u(),...v().map(e=>({pattern:`/${e.path}`}))],i=ln(e??``,window.location.origin,r,f());return i.kind===`internal`?(0,q.jsxDEV)(a,{to:i.to,onClick:n,children:t},void 0,!1,{fileName:J,lineNumber:33,columnNumber:7},this):i.kind===`external`?(0,q.jsxDEV)(`a`,{href:i.href,target:`_blank`,rel:`noopener noreferrer`,children:t},void 0,!1,{fileName:J,lineNumber:40,columnNumber:7},this):(0,q.jsxDEV)(q.Fragment,{children:t},void 0,!1,{fileName:J,lineNumber:45,columnNumber:10},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatMessages.tsx`;function gn({messages:e,pending:t,pendingReasoning:n}){let{t:i}=r(),a=(0,j.useRef)(null);return(0,j.useEffect)(()=>{let e=a.current;e&&(e.scrollTop=e.scrollHeight)},[e.length,t]),!e.length&&t===null&&n===null?(0,q.jsxDEV)(`div`,{className:`flex-1 grid place-items-center text-muted text-sm`,children:i(`webchat.empty`)},void 0,!1,{fileName:Y,lineNumber:20,columnNumber:12},this):(0,q.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,q.jsxDEV)(_n,{role:e.role,text:e.text,reasoning:e.reasoning,attachments:e.attachments},e.msgId,!1,{fileName:Y,lineNumber:27,columnNumber:9},this)),t!==null&&(0,q.jsxDEV)(_n,{role:`assistant`,text:t||i(`webchat.thinking`),reasoning:n},void 0,!1,{fileName:Y,lineNumber:29,columnNumber:28},this)]},void 0,!0,{fileName:Y,lineNumber:25,columnNumber:5},this)}var _n=(0,j.memo)(function({role:e,text:t,reasoning:n,attachments:i}){let{t:a}=r();return e===`user`?(0,q.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,q.jsxDEV)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:i.map(e=>(0,q.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:Y,lineNumber:47,columnNumber:37},this))},void 0,!1,{fileName:Y,lineNumber:46,columnNumber:11},this):null,t]},void 0,!0,{fileName:Y,lineNumber:44,columnNumber:7},this):(0,q.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,q.jsxDEV)(`details`,{className:`mb-2 rounded-lg border border-border px-2 py-1`,children:[(0,q.jsxDEV)(`summary`,{className:`cursor-pointer select-none text-xs text-muted`,children:a(`webchat.reasoning`)},void 0,!1,{fileName:Y,lineNumber:59,columnNumber:11},this),(0,q.jsxDEV)(mn,{text:n,className:`md-static mt-1 text-xs text-muted`},void 0,!1,{fileName:Y,lineNumber:60,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:58,columnNumber:9},this):null,(0,q.jsxDEV)(mn,{text:t,className:`md-static`},void 0,!1,{fileName:Y,lineNumber:63,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:55,columnNumber:5},this)}),X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatComposer.tsx`;function vn({streaming:e,onSend:t,onStop:n,attachments:i,uploading:a,uploadError:o,onPickFiles:s,onRemoveAttachment:l}){let{t:u}=r(),[f,p]=(0,j.useState)(``);function h(){!f.trim()||e||t(f.trim(),i)&&p(``)}return(0,q.jsxDEV)(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border p-2`,children:[(i.length>0||o)&&(0,q.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1`,"data-chat-attachments":!0,children:[i.map((e,t)=>(0,q.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,q.jsxDEV)(d,{size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:X,lineNumber:44,columnNumber:15},this),(0,q.jsxDEV)(`span`,{className:`max-w-48 truncate`,children:e.label??e.name},void 0,!1,{fileName:X,lineNumber:45,columnNumber:15},this),(0,q.jsxDEV)(`button`,{type:`button`,"aria-label":u(`webchat.removeAttachment`,{name:e.label??e.name}),className:`shrink-0 rounded p-0.5 text-muted hover:text-danger`,onClick:()=>l(t),children:(0,q.jsxDEV)(c,{size:13},void 0,!1,{fileName:X,lineNumber:52,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:46,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:X,lineNumber:43,columnNumber:13},this)),a&&(0,q.jsxDEV)(m,{size:14,className:`animate-spin text-muted`,"aria-label":u(`webchat.uploading`)},void 0,!1,{fileName:X,lineNumber:56,columnNumber:25},this),o&&(0,q.jsxDEV)(`span`,{className:`text-xs text-danger`,children:u(o)},void 0,!1,{fileName:X,lineNumber:57,columnNumber:27},this)]},void 0,!0,{fileName:X,lineNumber:41,columnNumber:9},this),(0,q.jsxDEV)(`div`,{className:`flex items-end gap-2`,children:[(0,q.jsxDEV)(`label`,{"aria-label":u(`webchat.attach`),className:`cursor-pointer rounded-lg p-2 text-muted hover:bg-elevated hover:text-accent ${a?`pointer-events-none opacity-60`:``}`,children:[(0,q.jsxDEV)(ue,{size:18},void 0,!1,{fileName:X,lineNumber:65,columnNumber:11},this),(0,q.jsxDEV)(`input`,{type:`file`,multiple:!0,className:`hidden`,disabled:a,onChange:e=>{e.target.files?.length&&s(e.target.files),e.currentTarget.value=``}},void 0,!1,{fileName:X,lineNumber:66,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:61,columnNumber:9},this),(0,q.jsxDEV)(`textarea`,{className:`flex-1 resize-none rounded-lg border border-border bg-bg px-3 py-2 text-sm max-h-32`,rows:1,value:f,placeholder:u(`webchat.placeholder`),onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),h())}},void 0,!1,{fileName:X,lineNumber:77,columnNumber:9},this),e?(0,q.jsxDEV)(`button`,{"aria-label":u(`webchat.stop`),className:`rounded-lg p-2 hover:bg-elevated`,onClick:n,children:(0,q.jsxDEV)(_,{size:18},void 0,!1,{fileName:X,lineNumber:93,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:92,columnNumber:11},this):(0,q.jsxDEV)(`button`,{"aria-label":u(`webchat.send`),className:`rounded-lg p-2 hover:bg-elevated`,onClick:h,children:(0,q.jsxDEV)(de,{size:18},void 0,!1,{fileName:X,lineNumber:97,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:96,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:60,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:39,columnNumber:5},this)}var Z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatThreadList.tsx`;function yn({threads:e,activeId:t,onOpen:n,onNew:i,className:a=`w-[220px] shrink-0`}){let{t:o}=r();return(0,q.jsxDEV)(`aside`,{"aria-label":o(`webchat.threads`),className:`${a} border-r border-border flex flex-col`,children:[(0,q.jsxDEV)(`button`,{className:`flex items-center gap-2 px-3 py-2 text-sm hover:bg-elevated`,onClick:i,children:[(0,q.jsxDEV)(g,{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,q.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:e.map(e=>(0,q.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`,bn=25*1024*1024;function $(e){return Array.from(e.dataTransfer.types).includes(`Files`)}function xn({children:e,onFiles:t,className:n}){let{t:i}=r(),[a,o]=(0,j.useState)(!1),s=(0,j.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,q.jsxDEV)(`div`,{className:n,onDragEnter:c,onDragLeave:l,onDragOver:e=>{$(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:u,children:[e,a&&(0,q.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,q.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,q.jsxDEV)(h,{size:34},void 0,!1,{fileName:Q,lineNumber:71,columnNumber:13},this),(0,q.jsxDEV)(`span`,{className:`mt-3 text-base font-medium`,children:i(`webchat.dropFiles`)},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this),(0,q.jsxDEV)(`span`,{className:`mt-1 text-xs text-muted`,children:i(`webchat.dropFilesHint`)},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:70,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:51,columnNumber:5},this)}function Sn(e){return e?`panel`:`bubble`}function Cn(){let{t:e}=r(),t=_e(),n=ve(),[i,a]=(0,j.useState)(`bubble`),[o,s]=(0,j.useState)(!1),[l,u]=(0,j.useState)([]),[d,f]=(0,j.useState)(!1),[m,h]=(0,j.useState)(null),_=p(`sm`,640),v=p(`nav`,768),x=(0,j.useCallback)(()=>{a(Sn(v))},[v]),S=(0,j.useRef)(null),C=(0,j.useRef)(`bubble`);(0,j.useEffect)(()=>{if(i!==`modal`)return;let e=e=>{e.key===`Escape`&&a(`panel`)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i]),(0,j.useEffect)(()=>{i===`panel`&&C.current===`modal`&&S.current?.focus(),i!==`modal`&&s(!1),C.current=i},[i]),(0,j.useEffect)(()=>{if(i!==`modal`)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[i]);let w=i!==`bubble`;(0,j.useEffect)(()=>{w&&t.loadThreads()},[w,t.loadThreads]);function T(){t.newConversation(),u([]),h(null),s(!1)}let E=(0,j.useCallback)(async e=>{if(!e.length)return;h(null),f(!0);let t=[],n=null;for(let r of e){if(r.size>bn){n??=`webchat.uploadTooLarge`;continue}try{let e=await y(r);e?t.push({...e,label:r.name}):n??=`webchat.uploadFailed`}catch{n??=`webchat.uploadFailed`}}t.length&&u(e=>[...e,...t]),f(!1),n&&h(n)},[]),D=t.messages.length>0||t.pending!==null,O=(0,q.jsxDEV)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border px-3 py-2`,children:[(0,q.jsxDEV)(`span`,{className:`text-sm font-medium`,children:e(`webchat.title`)},void 0,!1,{fileName:Q,lineNumber:187,columnNumber:7},this),(0,q.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[i===`modal`&&!_&&(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.threads`),"aria-expanded":o,className:`rounded p-1 hover:bg-elevated`,onClick:()=>s(e=>!e),children:(0,q.jsxDEV)(oe,{size:16},void 0,!1,{fileName:Q,lineNumber:198,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:192,columnNumber:11},this),D&&(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.newConversation`),className:`rounded p-1 hover:bg-elevated`,onClick:T,children:(0,q.jsxDEV)(g,{size:16},void 0,!1,{fileName:Q,lineNumber:207,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:206,columnNumber:11},this),(0,q.jsxDEV)(`button`,{ref:S,"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,q.jsxDEV)(le,{size:16},void 0,!1,{fileName:Q,lineNumber:216,columnNumber:31},this):(0,q.jsxDEV)(se,{size:16},void 0,!1,{fileName:Q,lineNumber:216,columnNumber:57},this)},void 0,!1,{fileName:Q,lineNumber:210,columnNumber:9},this),(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.close`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(`bubble`),children:(0,q.jsxDEV)(c,{size:16},void 0,!1,{fileName:Q,lineNumber:219,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:218,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:188,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:186,columnNumber:5},this),k=(0,q.jsxDEV)(fn,{onNavigate:x,children:(0,q.jsxDEV)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[t.error&&(0,q.jsxDEV)(`div`,{className:`px-3 py-2 text-sm text-danger`,children:e(`webchat.error`,{message:t.error})},void 0,!1,{fileName:Q,lineNumber:230,columnNumber:24},this),(0,q.jsxDEV)(gn,{messages:t.messages,pending:t.pending,pendingReasoning:t.pendingReasoning},void 0,!1,{fileName:Q,lineNumber:231,columnNumber:9},this),(0,q.jsxDEV)(vn,{streaming:t.pending!==null,attachments:l,uploading:d,uploadError:m,onPickFiles:e=>void E(Array.from(e)),onRemoveAttachment:e=>u(t=>t.filter((t,n)=>n!==e)),onSend:(e,r)=>{let i=r.length?t.send(e,n,r):t.send(e,n);return i&&(u([]),h(null)),i},onStop:t.stop},void 0,!1,{fileName:Q,lineNumber:232,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:229,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:226,columnNumber:5},this);if(i===`bubble`)return(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.open`),onClick:()=>a(`panel`),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,q.jsxDEV)(ce,{size:24},void 0,!1,{fileName:Q,lineNumber:263,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:255,columnNumber:7},this);if(i===`panel`)return(0,q.jsxDEV)(xn,{onFiles:E,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:[O,k]},void 0,!0,{fileName:Q,lineNumber:270,columnNumber:7},this);let A=_||o;return(0,q.jsxDEV)(ee,{open:!0,modal:!1,onOpenChange:e=>!e&&a(`panel`),children:[(0,q.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:290,columnNumber:7},this),(0,q.jsxDEV)(b,{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,q.jsxDEV)(xn,{onFiles:E,className:`h-full`,children:(0,q.jsxDEV)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[O,(0,q.jsxDEV)(`div`,{className:`flex min-h-0 flex-1`,children:[A&&(0,q.jsxDEV)(yn,{threads:t.threads,activeId:t.convId,onOpen:e=>{t.open(e),u([]),h(null),s(!1)},onNew:T,className:_?`w-[220px] shrink-0`:`w-full`},void 0,!1,{fileName:Q,lineNumber:305,columnNumber:17},this),(_||!o)&&k]},void 0,!0,{fileName:Q,lineNumber:303,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:301,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:296,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:287,columnNumber:5},this)}export{Cn as ChatWidget,Cn as default,Sn as nextModeAfterNav};
|
|
16
|
+
`},i)),a}function Xt(e,t){return e&&`run`in e?async function(n,r){let i=Yt(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Yt(n,{file:r,...e||t})}}var K=l(),Zt=[],Qt={allowDangerousHtml:!0},$t=/^(https?|ircs?|mailto|xmpp)$/i,en=[{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 tn(e){let t=nn(e),n=rn(e);return an(t.runSync(t.parse(n),n),e)}function nn(e){let t=e.rehypePlugins||Zt,n=e.remarkPlugins||Zt,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Qt}:Qt;return ne().use(ie).use(n).use(Xt,r).use(t)}function rn(e){let t=e.children||``,n=new k;return typeof t==`string`?n.value=t:x("Unexpected value `"+t+"` for `children` prop, expected `string`"),n}function an(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||on;for(let e of en)Object.hasOwn(t,e.from)&&x("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&&x("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other"),A(e,l),Fe(e,{Fragment:K.Fragment,components:i,ignoreInvalidStyle:!0,jsx:K.jsx,jsxs:K.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 z)if(Object.hasOwn(z,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=z[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 on(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||$t.test(e.slice(0,t))?e:``}var sn=/^[A-Za-z0-9._~%-]+$/;function cn(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(!sn.test(a))return null;i[t.slice(1)]=a}else if(t!==a)return null}return n.length===r.length?i:null}function ln(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=cn(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 q=o(),un=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-nav.tsx`,dn=(0,j.createContext)(()=>{});function fn({onNavigate:e,children:t}){return(0,q.jsxDEV)(dn.Provider,{value:e,children:t},void 0,!1,{fileName:un,lineNumber:9,columnNumber:10},this)}function pn(){return(0,j.useContext)(dn)}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-markdown.tsx`;function mn({text:e,className:t}){return(0,q.jsxDEV)(`div`,{className:t,children:(0,q.jsxDEV)(tn,{remarkPlugins:[ae],components:{a:hn},children:e},void 0,!1,{fileName:J,lineNumber:18,columnNumber:7},this)},void 0,!1,{fileName:J,lineNumber:17,columnNumber:5},this)}function hn({href:e,children:t}){let n=pn(),r=[...u(),...v().map(e=>({pattern:`/${e.path}`}))],i=ln(e??``,window.location.origin,r,f());return i.kind===`internal`?(0,q.jsxDEV)(a,{to:i.to,onClick:n,children:t},void 0,!1,{fileName:J,lineNumber:33,columnNumber:7},this):i.kind===`external`?(0,q.jsxDEV)(`a`,{href:i.href,target:`_blank`,rel:`noopener noreferrer`,children:t},void 0,!1,{fileName:J,lineNumber:40,columnNumber:7},this):(0,q.jsxDEV)(q.Fragment,{children:t},void 0,!1,{fileName:J,lineNumber:45,columnNumber:10},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatMessages.tsx`;function gn({messages:e,pending:t,pendingReasoning:n}){let{t:i}=r(),a=(0,j.useRef)(null);return(0,j.useEffect)(()=>{let e=a.current;e&&(e.scrollTop=e.scrollHeight)},[e.length,t]),!e.length&&t===null&&n===null?(0,q.jsxDEV)(`div`,{className:`flex-1 grid place-items-center text-muted text-sm`,children:i(`webchat.empty`)},void 0,!1,{fileName:Y,lineNumber:20,columnNumber:12},this):(0,q.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,q.jsxDEV)(_n,{role:e.role,text:e.text,reasoning:e.reasoning,attachments:e.attachments},e.msgId,!1,{fileName:Y,lineNumber:27,columnNumber:9},this)),t!==null&&(0,q.jsxDEV)(_n,{role:`assistant`,text:t||i(`webchat.thinking`),reasoning:n},void 0,!1,{fileName:Y,lineNumber:29,columnNumber:28},this)]},void 0,!0,{fileName:Y,lineNumber:25,columnNumber:5},this)}var _n=(0,j.memo)(function({role:e,text:t,reasoning:n,attachments:i}){let{t:a}=r();return e===`user`?(0,q.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,q.jsxDEV)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:i.map(e=>(0,q.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:Y,lineNumber:47,columnNumber:37},this))},void 0,!1,{fileName:Y,lineNumber:46,columnNumber:11},this):null,t]},void 0,!0,{fileName:Y,lineNumber:44,columnNumber:7},this):(0,q.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,q.jsxDEV)(`details`,{className:`mb-2 rounded-lg border border-border px-2 py-1`,children:[(0,q.jsxDEV)(`summary`,{className:`cursor-pointer select-none text-xs text-muted`,children:a(`webchat.reasoning`)},void 0,!1,{fileName:Y,lineNumber:59,columnNumber:11},this),(0,q.jsxDEV)(mn,{text:n,className:`md-static mt-1 text-xs text-muted`},void 0,!1,{fileName:Y,lineNumber:60,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:58,columnNumber:9},this):null,(0,q.jsxDEV)(mn,{text:t,className:`md-static`},void 0,!1,{fileName:Y,lineNumber:63,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:55,columnNumber:5},this)}),X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatComposer.tsx`;function vn({streaming:e,onSend:t,onStop:n,attachments:i,uploading:a,uploadError:o,uploadProgress:s,onPickFiles:l,onRemoveAttachment:u}){let{t:f}=r(),[p,h]=(0,j.useState)(``);function g(){!p.trim()||e||t(p.trim(),i)&&h(``)}return(0,q.jsxDEV)(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border p-2`,children:[(i.length>0||a||o)&&(0,q.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1`,"data-chat-attachments":!0,children:[i.map((e,t)=>(0,q.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,q.jsxDEV)(d,{size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:X,lineNumber:46,columnNumber:15},this),(0,q.jsxDEV)(`span`,{className:`max-w-48 truncate`,children:e.label??e.name},void 0,!1,{fileName:X,lineNumber:47,columnNumber:15},this),(0,q.jsxDEV)(`button`,{type:`button`,"aria-label":f(`webchat.removeAttachment`,{name:e.label??e.name}),className:`shrink-0 rounded p-0.5 text-muted hover:text-danger`,onClick:()=>u(t),children:(0,q.jsxDEV)(c,{size:13},void 0,!1,{fileName:X,lineNumber:54,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:48,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:X,lineNumber:45,columnNumber:13},this)),a&&(0,q.jsxDEV)(`div`,{className:`flex min-w-32 flex-1 items-center gap-2`,"aria-label":f(`webchat.uploading`),children:[(0,q.jsxDEV)(m,{size:14,className:`shrink-0 animate-spin text-muted`},void 0,!1,{fileName:X,lineNumber:60,columnNumber:15},this),(0,q.jsxDEV)(`div`,{role:`progressbar`,"aria-label":f(`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,q.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${s}%`}},void 0,!1,{fileName:X,lineNumber:62,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:61,columnNumber:15},this),(0,q.jsxDEV)(`span`,{className:`text-xs tabular-nums text-muted`,children:[s,`%`]},void 0,!0,{fileName:X,lineNumber:64,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:59,columnNumber:13},this),o&&(0,q.jsxDEV)(`span`,{className:`text-xs text-danger`,children:f(o)},void 0,!1,{fileName:X,lineNumber:67,columnNumber:27},this)]},void 0,!0,{fileName:X,lineNumber:43,columnNumber:9},this),(0,q.jsxDEV)(`div`,{className:`flex items-end gap-2`,children:[(0,q.jsxDEV)(`label`,{"aria-label":f(`webchat.attach`),className:`cursor-pointer rounded-lg p-2 text-muted hover:bg-elevated hover:text-accent ${a?`pointer-events-none opacity-60`:``}`,children:[(0,q.jsxDEV)(ue,{size:18},void 0,!1,{fileName:X,lineNumber:75,columnNumber:11},this),(0,q.jsxDEV)(`input`,{type:`file`,multiple:!0,className:`hidden`,disabled:a,onChange:e=>{e.target.files?.length&&l(e.target.files),e.currentTarget.value=``}},void 0,!1,{fileName:X,lineNumber:76,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:71,columnNumber:9},this),(0,q.jsxDEV)(`textarea`,{className:`flex-1 resize-none rounded-lg border border-border bg-bg px-3 py-2 text-sm max-h-32`,rows:1,value:p,placeholder:f(`webchat.placeholder`),onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),g())}},void 0,!1,{fileName:X,lineNumber:87,columnNumber:9},this),e?(0,q.jsxDEV)(`button`,{"aria-label":f(`webchat.stop`),className:`rounded-lg p-2 hover:bg-elevated`,onClick:n,children:(0,q.jsxDEV)(_,{size:18},void 0,!1,{fileName:X,lineNumber:103,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:102,columnNumber:11},this):(0,q.jsxDEV)(`button`,{"aria-label":f(`webchat.send`),className:`rounded-lg p-2 hover:bg-elevated`,onClick:g,children:(0,q.jsxDEV)(de,{size:18},void 0,!1,{fileName:X,lineNumber:107,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:106,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:70,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:41,columnNumber:5},this)}var Z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatThreadList.tsx`;function yn({threads:e,activeId:t,onOpen:n,onNew:i,className:a=`w-[220px] shrink-0`}){let{t:o}=r();return(0,q.jsxDEV)(`aside`,{"aria-label":o(`webchat.threads`),className:`${a} border-r border-border flex flex-col`,children:[(0,q.jsxDEV)(`button`,{className:`flex items-center gap-2 px-3 py-2 text-sm hover:bg-elevated`,onClick:i,children:[(0,q.jsxDEV)(g,{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,q.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:e.map(e=>(0,q.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`,bn=25*1024*1024;function $(e){return Array.from(e.dataTransfer.types).includes(`Files`)}function xn({children:e,onFiles:t,className:n}){let{t:i}=r(),[a,o]=(0,j.useState)(!1),s=(0,j.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,q.jsxDEV)(`div`,{className:n,onDragEnter:c,onDragLeave:l,onDragOver:e=>{$(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:u,children:[e,a&&(0,q.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,q.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,q.jsxDEV)(h,{size:34},void 0,!1,{fileName:Q,lineNumber:71,columnNumber:13},this),(0,q.jsxDEV)(`span`,{className:`mt-3 text-base font-medium`,children:i(`webchat.dropFiles`)},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this),(0,q.jsxDEV)(`span`,{className:`mt-1 text-xs text-muted`,children:i(`webchat.dropFilesHint`)},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:70,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:51,columnNumber:5},this)}function Sn(e){return e?`panel`:`bubble`}function Cn(){let{t:e}=r(),t=_e(),n=ve(),[i,a]=(0,j.useState)(`bubble`),[o,s]=(0,j.useState)(!1),[l,u]=(0,j.useState)([]),[d,f]=(0,j.useState)(!1),[m,h]=(0,j.useState)(0),[_,v]=(0,j.useState)(null),x=p(`sm`,640),S=p(`nav`,768),C=(0,j.useCallback)(()=>{a(Sn(S))},[S]),w=(0,j.useRef)(null),T=(0,j.useRef)(`bubble`);(0,j.useEffect)(()=>{if(i!==`modal`)return;let e=e=>{e.key===`Escape`&&a(`panel`)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i]),(0,j.useEffect)(()=>{i===`panel`&&T.current===`modal`&&w.current?.focus(),i!==`modal`&&s(!1),T.current=i},[i]),(0,j.useEffect)(()=>{if(i!==`modal`)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[i]);let te=i!==`bubble`;(0,j.useEffect)(()=>{te&&t.loadThreads()},[te,t.loadThreads]);function E(){t.newConversation(),u([]),v(null),s(!1)}let D=(0,j.useCallback)(async e=>{if(!e.length)return;v(null),f(!0),h(0);let t=[],n=null;for(let r of e){if(r.size>bn){n??=`webchat.uploadTooLarge`;continue}try{h(0);let e=await y(r,h);e?t.push({...e,label:r.name}):n??=`webchat.uploadFailed`}catch{n??=`webchat.uploadFailed`}}t.length&&u(e=>[...e,...t]),f(!1),h(0),n&&v(n)},[]),ne=t.messages.length>0||t.pending!==null,O=(0,q.jsxDEV)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border px-3 py-2`,children:[(0,q.jsxDEV)(`span`,{className:`text-sm font-medium`,children:e(`webchat.title`)},void 0,!1,{fileName:Q,lineNumber:191,columnNumber:7},this),(0,q.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[i===`modal`&&!x&&(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.threads`),"aria-expanded":o,className:`rounded p-1 hover:bg-elevated`,onClick:()=>s(e=>!e),children:(0,q.jsxDEV)(oe,{size:16},void 0,!1,{fileName:Q,lineNumber:202,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:196,columnNumber:11},this),ne&&(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.newConversation`),className:`rounded p-1 hover:bg-elevated`,onClick:E,children:(0,q.jsxDEV)(g,{size:16},void 0,!1,{fileName:Q,lineNumber:211,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:210,columnNumber:11},this),(0,q.jsxDEV)(`button`,{ref:w,"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,q.jsxDEV)(le,{size:16},void 0,!1,{fileName:Q,lineNumber:220,columnNumber:31},this):(0,q.jsxDEV)(se,{size:16},void 0,!1,{fileName:Q,lineNumber:220,columnNumber:57},this)},void 0,!1,{fileName:Q,lineNumber:214,columnNumber:9},this),(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.close`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(`bubble`),children:(0,q.jsxDEV)(c,{size:16},void 0,!1,{fileName:Q,lineNumber:223,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:222,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:192,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:190,columnNumber:5},this),k=(0,q.jsxDEV)(fn,{onNavigate:C,children:(0,q.jsxDEV)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[t.error&&(0,q.jsxDEV)(`div`,{className:`px-3 py-2 text-sm text-danger`,children:e(`webchat.error`,{message:t.error})},void 0,!1,{fileName:Q,lineNumber:234,columnNumber:24},this),(0,q.jsxDEV)(gn,{messages:t.messages,pending:t.pending,pendingReasoning:t.pendingReasoning},void 0,!1,{fileName:Q,lineNumber:235,columnNumber:9},this),(0,q.jsxDEV)(vn,{streaming:t.pending!==null,attachments:l,uploading:d,uploadProgress:m,uploadError:_,onPickFiles:e=>void D(Array.from(e)),onRemoveAttachment:e=>u(t=>t.filter((t,n)=>n!==e)),onSend:(e,r)=>{let i=r.length?t.send(e,n,r):t.send(e,n);return i&&(u([]),v(null)),i},onStop:t.stop},void 0,!1,{fileName:Q,lineNumber:236,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:233,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:230,columnNumber:5},this);if(i===`bubble`)return(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.open`),onClick:()=>a(`panel`),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,q.jsxDEV)(ce,{size:24},void 0,!1,{fileName:Q,lineNumber:268,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:260,columnNumber:7},this);if(i===`panel`)return(0,q.jsxDEV)(xn,{onFiles:D,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:[O,k]},void 0,!0,{fileName:Q,lineNumber:275,columnNumber:7},this);let A=x||o;return(0,q.jsxDEV)(ee,{open:!0,modal:!1,onOpenChange:e=>!e&&a(`panel`),children:[(0,q.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:295,columnNumber:7},this),(0,q.jsxDEV)(b,{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,q.jsxDEV)(xn,{onFiles:D,className:`h-full`,children:(0,q.jsxDEV)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[O,(0,q.jsxDEV)(`div`,{className:`flex min-h-0 flex-1`,children:[A&&(0,q.jsxDEV)(yn,{threads:t.threads,activeId:t.convId,onOpen:e=>{t.open(e),u([]),v(null),s(!1)},onNew:E,className:x?`w-[220px] shrink-0`:`w-full`},void 0,!1,{fileName:Q,lineNumber:310,columnNumber:17},this),(x||!o)&&k]},void 0,!0,{fileName:Q,lineNumber:308,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:306,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:305,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:301,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:292,columnNumber:5},this)}export{Cn as ChatWidget,Cn as default,Sn 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{l as r,t as i,u as a}from"./react-vendor-BskHO5hY.js";import{n as o,t as s}from"./ExtendReasonInfo-C7Lp4hCA.js";import{t as c}from"./Icon-CnFXN8LC.js";import{b as l,f as u,l as d,m as f,n as p,o as m,r as h,s as g,t as _,u as v}from"./Toolbar-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{l as r,t as i,u as a}from"./react-vendor-BskHO5hY.js";import{n as o,t as s}from"./ExtendReasonInfo-C7Lp4hCA.js";import{t as c}from"./Icon-CnFXN8LC.js";import{b as l,f as u,l as d,m as f,n as p,o as m,r as h,s as g,t as _,u as v}from"./Toolbar-DIAEzA8V.js";import{t as y}from"./button-D-Q6I5Ob.js";import{S as b,f as x,g as S,m as C}from"./fields-CnmTcDr4.js";import{_ as w,g as T,n as E,o as D,s as O,t as k}from"./shelf-CiTNv3-E.js";import{t as A}from"./json-CkyL3W27.js";import{E as j,s as M}from"./api-kzoAEkkj.js";import{n as N}from"./dispatch-Pl-o9vd6.js";var P=e(t(),1),F=i(),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:u,extraValidate:f}){let{t:m}=n(),_=d(m),v=!!t,x=(0,P.useMemo)(()=>O(e.fields),[e]),{values:S,errors:C,setErrors:w,setTouched:T,bridge:D}=p({fm:x,mode:v?`edit`:`create`,recordCtx:{library:e.library,shelf:e.shelf,recordId:t?String(t.id):null},initial:()=>z(e,t),hiddenFields:c}),[A,j]=(0,P.useState)(),[M,N]=(0,P.useState)(!1);(0,P.useEffect)(()=>{l?.(S)},[S,l]),(0,P.useEffect)(()=>{u?.({setErrors:w,setTouched:T})},[u,w,T]);async function L(t){t.preventDefault(),j(void 0);let n=Object.keys(x),i={};for(let e of n)e in S&&(i[e]=S[e]);let a=B(i),o=(v?E(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?.(S)??{}),Object.keys(s).length){w(s),T(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)(g.Provider,{value:e=>C[e.join(`.`)],children:(0,F.jsxDEV)(h,{items:e.fields,ctx:{bridge:D}},void 0,!1,{fileName:I,lineNumber:117,columnNumber:9},this)},void 0,!1,{fileName:I,lineNumber:116,columnNumber:7},this),s,A&&(0,F.jsxDEV)(`p`,{className:`text-sm text-danger`,children:A},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)(y,{type:`submit`,disabled:o||M,size:`lg`,className:`flex-1`,children:a??m(`actions.save`)},void 0,!1,{fileName:I,lineNumber:122,columnNumber:9},this),i&&(0,F.jsxDEV)(y,{type:`button`,variant:`secondary`,size:`lg`,onClick:i,className:`flex-1`,children:m(`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 D(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===``?``:A(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)(c,{name:e.icon,size:14,className:`shrink-0`},void 0,!1,{fileName:R,lineNumber:114,columnNumber:9},this),` `,o(e.label),(0,F.jsxDEV)(s,{ext:e,fieldLabel:a},void 0,!1,{fileName:R,lineNumber:115,columnNumber:9},this)]},void 0,!0,{fileName:R,lineNumber:113,columnNumber:7},this),(0,F.jsxDEV)(h,{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:100,columnNumber:9},this)}},void 0,!1,{fileName:R,lineNumber:117,columnNumber:7},this)]},void 0,!0,{fileName:R,lineNumber:112,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 D(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===``?``:A(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=d(s),l=!!t,f=(0,P.useMemo)(()=>O(e.fields),[e]),[p,m]=(0,P.useState)([]),[h,g]=(0,P.useState)(!1),[_,y]=(0,P.useState)(()=>z(e,t)),b=(0,P.useRef)(null),{extValues:x,setExtValue:S,activeExts:C,buildExtendPatch:w}=H((0,P.useMemo)(()=>u().filter(t=>t.attachTo.some(t=>t.library===e.library&&(!t.shelf||t.shelf===e.shelf))),[e]),t,_);function T(e){return l||String(e.name??``).trim()?{}:{name:s(`validation.required`)}}async function E(n){m([]),g(!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(g(!1),o.ok){a(o.row);return}let s=o.issues??[],u={},d=[];for(let e of s)e.field&&f[e.field]?u[e.field]=c(e.code,e.params):d.push(e);let p=v(s,c);(Object.keys(u).length||Object.keys(p).length)&&(b.current?.setErrors(e=>({...e,...u,...p})),b.current?.setTouched(e=>new Set([...e,...Object.keys(u)]))),m(d)}return(0,F.jsxDEV)(`div`,{children:(0,F.jsxDEV)(L,{shelf:e,record:t,onSubmit:E,onCancel:o,submitLabel:s(h?`common.saving`:l?`actions.save`:`actions.create`),busy:h,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=>f[e]?.label?s(f[e].label):e},e.id,!1,{fileName:R,lineNumber:316,columnNumber:11},this)),p.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:328,columnNumber:13},this),(0,F.jsxDEV)(`ul`,{className:`space-y-1 text-text/80`,children:p.map((e,t)=>{let n=f[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:339,columnNumber:31},this),i]},t,!0,{fileName:R,lineNumber:338,columnNumber:19},this)})},void 0,!1,{fileName:R,lineNumber:329,columnNumber:13},this)]},void 0,!0,{fileName:R,lineNumber:327,columnNumber:11},this)]},`${e.library}/${e.shelf}/${t?t.id:`new`}`,!0,{fileName:R,lineNumber:299,columnNumber:7},this)},void 0,!1,{fileName:R,lineNumber:291,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:i}=a(),s=r(),c=f().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===i);return!c||c.standalone===!1?(0,F.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:W,lineNumber:20,columnNumber:44},this):(0,F.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,F.jsxDEV)(_,{children:(0,F.jsxDEV)(y,{variant:`ghost`,size:`sm`,className:`px-2`,onClick:()=>s(`/${t}/${i}`),children:[(0,F.jsxDEV)(l,{size:18},void 0,!1,{fileName:W,lineNumber:26,columnNumber:11},this),(0,F.jsxDEV)(`span`,{className:`text-sm`,children:e(c.label)},void 0,!1,{fileName:W,lineNumber:27,columnNumber:11},this)]},void 0,!0,{fileName:W,lineNumber:25,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:24,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)(m,{library:c.library,shelf:c.shelf,children:(0,F.jsxDEV)(U,{shelf:c,onSuccess:e=>{o(`${c.library}/${c.shelf}`),e?.id?s(`/${t}/${i}/${e.id}`):s(`/${t}/${i}`)},onCancel:()=>s(`/${t}/${i}`)},void 0,!1,{fileName:W,lineNumber:33,columnNumber:13},this)},void 0,!1,{fileName:W,lineNumber:32,columnNumber:11},this)},void 0,!1,{fileName:W,lineNumber:31,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:30,columnNumber:7},this)]},void 0,!0,{fileName:W,lineNumber:23,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-DWlZ_8O7.js";import{g as i}from"./Toolbar-DIAEzA8V.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{b as o,n as s,r as c,t as l}from"./Toolbar-BaMlEpmz.js";import{i as u,t as d}from"./button-D-Q6I5Ob.js";import{o as f,s as p}from"./shelf-CiTNv3-E.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)(()=>p(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)(d,{onClick:te,disabled:h,children:[(0,H.jsxDEV)(u,{size:16},void 0,!1,{fileName:U,lineNumber:102,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`hidden sm:inline`,children:t(`actions.save`)},void 0,!1,{fileName:U,lineNumber:103,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:101,columnNumber:11},this),children:(0,H.jsxDEV)(d,{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)(o,{size:18},void 0,!1,{fileName:U,lineNumber:109,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`text-sm`,children:e.backLabel},void 0,!1,{fileName:U,lineNumber:110,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:108,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:107,columnNumber:9},this)},void 0,!1,{fileName:U,lineNumber:99,columnNumber:7},this),(0,H.jsxDEV)(ee,{children:[(0,H.jsxDEV)(`h1`,{className:`mb-6 text-[28px] font-bold text-text`,children:e.title},void 0,!1,{fileName:U,lineNumber:116,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:119,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:123,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:122,columnNumber:9},this),e.footer]},void 0,!0,{fileName:U,lineNumber:115,columnNumber:7},this)]},void 0,!0,{fileName:U,lineNumber:98,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{b as o,n as s,r as c,t as l}from"./Toolbar-DIAEzA8V.js";import{i as u,t as d}from"./button-D-Q6I5Ob.js";import{o as f,s as p}from"./shelf-CiTNv3-E.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)(()=>p(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)(d,{onClick:te,disabled:h,children:[(0,H.jsxDEV)(u,{size:16},void 0,!1,{fileName:U,lineNumber:102,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`hidden sm:inline`,children:t(`actions.save`)},void 0,!1,{fileName:U,lineNumber:103,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:101,columnNumber:11},this),children:(0,H.jsxDEV)(d,{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)(o,{size:18},void 0,!1,{fileName:U,lineNumber:109,columnNumber:13},this),(0,H.jsxDEV)(`span`,{className:`text-sm`,children:e.backLabel},void 0,!1,{fileName:U,lineNumber:110,columnNumber:13},this)]},void 0,!0,{fileName:U,lineNumber:108,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:107,columnNumber:9},this)},void 0,!1,{fileName:U,lineNumber:99,columnNumber:7},this),(0,H.jsxDEV)(ee,{children:[(0,H.jsxDEV)(`h1`,{className:`mb-6 text-[28px] font-bold text-text`,children:e.title},void 0,!1,{fileName:U,lineNumber:116,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:119,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:123,columnNumber:11},this)},void 0,!1,{fileName:U,lineNumber:122,columnNumber:9},this),e.footer]},void 0,!0,{fileName:U,lineNumber:115,columnNumber:7},this)]},void 0,!0,{fileName:U,lineNumber:98,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{r as a}from"./x-BFRg18Fi.js";import{n as o,t as s}from"./ui-vendor-EU9CHLyR.js";import{t as c}from"./Icon-CnFXN8LC.js";import{r as l,t as u}from"./button-D-Q6I5Ob.js";import{C as d,D as f,T as p,h as m,p as h,w as g}from"./api-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{r,t as i}from"./react-vendor-BskHO5hY.js";import{r as a}from"./x-BFRg18Fi.js";import{n as o,t as s}from"./ui-vendor-EU9CHLyR.js";import{t as c}from"./Icon-CnFXN8LC.js";import{r as l,t as u}from"./button-D-Q6I5Ob.js";import{C as d,D as f,T as p,h as m,p as h,w as g}from"./api-kzoAEkkj.js";import{a as _,n as v,r as y}from"./auth-context-BIok7QiQ.js";import{t as b}from"./PageBody-Y-cpiRMh.js";var x=e(t(),1),S=i(),C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/switch.tsx`,w=x.forwardRef(({className:e,...t},n)=>(0,S.jsxDEV)(s,{ref:n,className:a(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,`disabled:cursor-not-allowed disabled:opacity-50`,`data-[state=checked]:bg-primary data-[state=unchecked]:bg-border`,e),...t,children:(0,S.jsxDEV)(o,{className:a(`pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform`,`data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)},void 0,!1,{fileName:C,lineNumber:20,columnNumber:5},void 0)},void 0,!1,{fileName:C,lineNumber:9,columnNumber:3},void 0));w.displayName=s.displayName;var T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/badge.tsx`,E=l(`inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-semibold transition-colors`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground`,secondary:`border-transparent bg-secondary text-secondary-foreground`,destructive:`border-transparent bg-destructive text-destructive-foreground`,outline:`border-border text-text`,accent:`border-accent/30 bg-accent/15 text-accent`}},defaultVariants:{variant:`default`}});function D({className:e,variant:t,...n}){return(0,S.jsxDEV)(`div`,{className:a(E({variant:t}),e),...n},void 0,!1,{fileName:T,lineNumber:24,columnNumber:10},this)}var O=/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;function k(e){let t=O.exec(e.trim());if(!t)return null;let n=t[4]?.split(`.`)??[];return n.some(e=>/^\d+$/.test(e)&&e.length>1&&e.startsWith(`0`))?null:{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),prerelease:n}}function A(e,t){let n=/^\d+$/.test(e),r=/^\d+$/.test(t);return n&&r?e.length===t.length?e===t?0:e>t?1:-1:e.length>t.length?1:-1:n===r?e===t?0:e>t?1:-1:n?-1:1}function j(e,t){let n=k(e),r=k(t);if(!n||!r)return!1;for(let e of[`major`,`minor`,`patch`])if(n[e]!==r[e])return n[e]>r[e];if(n.prerelease.length===0||r.prerelease.length===0)return n.prerelease.length===0&&r.prerelease.length>0;let i=Math.max(n.prerelease.length,r.prerelease.length);for(let e=0;e<i;e++){let t=n.prerelease[e],i=r.prerelease[e];if(t===void 0)return!1;if(i===void 0)return!0;let a=A(t,i);if(a!==0)return a>0}return!1}var M=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsPage.tsx`;async function N(){let e=Date.now();for(;Date.now()-e<3e4;){await new Promise(e=>setTimeout(e,1e3));try{if((await fetch(`/health`)).ok)return!0}catch{}}return!1}function P(){let{t:e}=n(),{role:t}=v(),i=t===`admin`,[a,o]=(0,x.useState)([]),[s,l]=(0,x.useState)(!0),[C,T]=(0,x.useState)(null),[E,O]=(0,x.useState)(!1),k=e=>C===e||C===`*`,[A,P]=(0,x.useState)(null),I=a.filter(e=>e.latestVersion&&j(e.latestVersion,e.installedVersion)),L=!!(A?.latestVersion&&A.installedVersion&&j(A.latestVersion,A.installedVersion)),R=I.length+ +!!L,[z,B]=(0,x.useState)(null),[V,H]=(0,x.useState)(!1),U=t=>e(`${t}.plugin.label`,{defaultValue:t}),W=t=>e(`${t}.plugin.description`,{defaultValue:``}),G=t=>e(`${t}.library.label`,{defaultValue:t}),K=(t,n)=>e(`${t}.${n}.label`,{defaultValue:n}),q={core_required:()=>e(`plugins.errors.core_required`),has_dependents:t=>e(`plugins.errors.has_dependents`,{list:t.dependents.join(`, `)}),missing_deps:t=>e(`plugins.errors.missing_deps`,{list:t.deps.join(`, `)}),unknown_plugin:()=>e(`plugins.errors.unknown_plugin`)},J=(e=!1)=>Promise.all([m(e?{refresh:!0}:void 0),h(e?{refresh:!0}:void 0)]).then(([e,t])=>{o(e),P(t),l(!1)});(0,x.useEffect)(()=>{J()},[]);async function Y(){O(!0),B(null);try{await J(!0)}catch{B(e(`plugins.updateCheckError`))}finally{O(!1)}}async function X(t){if(!await _({title:e(`plugins.purgeTitle`),description:e(`plugins.confirmPurge`,{id:t.id}),confirmLabel:e(`plugins.purgeButton`),variant:`destructive`}))return;T(t.id),B(null);let n=await fetch(`/api/plugins/${t.id}/data`,{method:`DELETE`}),r=await n.json().catch(()=>({}));if(T(null),!n.ok){B(q[r.error]?.(r)??e(`plugins.genericError`,{code:r.error??n.status}));return}H(!0),await J()}async function Z(t){T(t.id),B(null);let n=await d(t.id,!t.enabled);if(!n.ok){T(null),B(q[n.error]?.(n.data??{})??e(`plugins.genericError`,{code:n.error}));return}window.location.reload()}async function ee(t){if(!t.latestVersion||!await _({title:e(`plugins.updateTitle`,{from:t.installedVersion,to:t.latestVersion}),description:e(`plugins.confirmUpdate`,{id:t.id,from:t.installedVersion,to:t.latestVersion}),confirmLabel:e(`plugins.updateButton`)}))return;T(t.id),B(null);let n=await p(t.id);if(!n.ok){T(null),B(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}H(!0),await N()&&window.location.reload()}async function te(){if(R===0)return;let t=I.map(e=>`${U(e.id)}: v${e.installedVersion} → v${e.latestVersion}`);L&&t.push(`${e(`plugins.runtimeLabel`)}: v${A.installedVersion} → v${A.latestVersion}`);let n=t.join(`
|
|
2
2
|
`);if(!await _({title:e(`plugins.updateAllButton`,{count:R}),description:e(`plugins.confirmUpdateAll`,{count:R,list:n}),confirmLabel:e(`plugins.updateButton`)}))return;T(`*`),B(null);let r=await g();if(!r.ok){T(null),B(r.stderr?`${e(`plugins.updateError`)}: ${r.stderr}`:e(`plugins.genericError`,{code:r.error}));return}H(!0),await N()&&window.location.reload()}let Q=a.find(e=>e.id===`core`),$=!!(Q?.latestVersion&&j(Q.latestVersion,Q.installedVersion)),ne=$||L;async function re(){let t=[];if(Q&&$&&t.push(`${e(`core.settings.label`)}: v${Q.installedVersion} → v${Q.latestVersion}`),L&&t.push(`${e(`plugins.runtimeLabel`)}: v${A.installedVersion} → v${A.latestVersion}`),t.length===0||!await _({title:e(`plugins.updateAllButton`,{count:t.length}),description:e(`plugins.confirmUpdateAll`,{count:t.length,list:t.join(`
|
|
3
3
|
`)}),confirmLabel:e(`plugins.updateButton`)}))return;T(`*`),B(null);let n=await f();if(!n.ok){T(null),B(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}H(!0),await N()&&window.location.reload()}return(0,S.jsxDEV)(b,{children:[(0,S.jsxDEV)(`h1`,{className:`mb-6 text-[28px] font-bold text-text`,children:e(`settings.title`)},void 0,!1,{fileName:M,lineNumber:220,columnNumber:7},this),(0,S.jsxDEV)(`section`,{className:`mb-6`,children:[(0,S.jsxDEV)(`h2`,{className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.personalTitle`)},void 0,!1,{fileName:M,lineNumber:224,columnNumber:9},this),(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`auth.accountTitle`)},void 0,!1,{fileName:M,lineNumber:227,columnNumber:13},this)},void 0,!1,{fileName:M,lineNumber:226,columnNumber:11},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/account`,title:e(`auth.accountTitle`),"aria-label":e(`auth.accountTitle`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:231,columnNumber:15},this)},void 0,!1,{fileName:M,lineNumber:230,columnNumber:13},this)},void 0,!1,{fileName:M,lineNumber:229,columnNumber:11},this)]},void 0,!0,{fileName:M,lineNumber:225,columnNumber:9},this)]},void 0,!0,{fileName:M,lineNumber:223,columnNumber:7},this),i&&(0,S.jsxDEV)(S.Fragment,{children:[(0,S.jsxDEV)(`section`,{className:`mb-6`,children:[(0,S.jsxDEV)(`h2`,{className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:M,lineNumber:241,columnNumber:13},this),(0,S.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.usersDescription`)},void 0,!1,{fileName:M,lineNumber:242,columnNumber:13},this),(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:M,lineNumber:245,columnNumber:17},this)},void 0,!1,{fileName:M,lineNumber:244,columnNumber:15},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/users`,title:e(`settings.usersTitle`),"aria-label":e(`settings.usersTitle`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:249,columnNumber:19},this)},void 0,!1,{fileName:M,lineNumber:248,columnNumber:17},this)},void 0,!1,{fileName:M,lineNumber:247,columnNumber:15},this)]},void 0,!0,{fileName:M,lineNumber:243,columnNumber:13},this)]},void 0,!0,{fileName:M,lineNumber:240,columnNumber:11},this),(0,S.jsxDEV)(`section`,{children:[(0,S.jsxDEV)(`div`,{className:`mb-1 flex items-center gap-3`,children:[(0,S.jsxDEV)(`h2`,{className:`text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`settings.componentsTitle`)},void 0,!1,{fileName:M,lineNumber:258,columnNumber:15},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null||E,onClick:Y,title:e(`plugins.checkUpdates`),className:`shrink-0 border border-border`,children:[(0,S.jsxDEV)(c,{name:`lucide:refresh-cw`,size:14,className:E?`animate-spin`:void 0},void 0,!1,{fileName:M,lineNumber:268,columnNumber:17},this),e(E?`plugins.checkingUpdates`:`plugins.checkUpdates`)]},void 0,!0,{fileName:M,lineNumber:259,columnNumber:15},this),R>0&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null,onClick:te,className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:e(`plugins.updateAllButton`,{count:R})},void 0,!1,{fileName:M,lineNumber:272,columnNumber:17},this)]},void 0,!0,{fileName:M,lineNumber:257,columnNumber:13},this),(0,S.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.componentsDescription`)},void 0,!1,{fileName:M,lineNumber:284,columnNumber:13},this),s?(0,S.jsxDEV)(`p`,{className:`text-muted`,children:e(`plugins.loading`)},void 0,!1,{fileName:M,lineNumber:287,columnNumber:15},this):(0,S.jsxDEV)(S.Fragment,{children:[V&&(0,S.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-accent/40 bg-accent/10 px-4 py-3 text-sm text-accent`,children:[e(`plugins.restartBannerBefore`),(0,S.jsxDEV)(`b`,{children:e(`plugins.restartBannerBold`)},void 0,!1,{fileName:M,lineNumber:293,columnNumber:21},this),e(`plugins.restartBannerAfter`)]},void 0,!0,{fileName:M,lineNumber:291,columnNumber:19},this),z&&(0,S.jsxDEV)(`div`,{className:`mb-5 rounded-xl border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:z},void 0,!1,{fileName:M,lineNumber:298,columnNumber:19},this),(0,S.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`core.settings.label`)},void 0,!1,{fileName:M,lineNumber:308,columnNumber:25},this),Q&&(0,S.jsxDEV)(D,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,Q.installedVersion]},void 0,!0,{fileName:M,lineNumber:310,columnNumber:27},this),ne&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:C!==null,onClick:re,title:e(`settings.systemUpdateTitle`),className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:e(`plugins.updateButton`)},void 0,!1,{fileName:M,lineNumber:315,columnNumber:27},this)]},void 0,!0,{fileName:M,lineNumber:307,columnNumber:23},this),(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:e(`settings.systemDescription`)},void 0,!1,{fileName:M,lineNumber:328,columnNumber:23},this)]},void 0,!0,{fileName:M,lineNumber:306,columnNumber:21},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/core`,title:e(`core.settings.label`),"aria-label":e(`core.settings.label`),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:332,columnNumber:25},this)},void 0,!1,{fileName:M,lineNumber:331,columnNumber:23},this)},void 0,!1,{fileName:M,lineNumber:330,columnNumber:21},this)]},void 0,!0,{fileName:M,lineNumber:305,columnNumber:19},this),a.filter(e=>e.id!==`core`).map(t=>{let n=W(t.id),i=t.enabled?a.filter(e=>e.enabled&&e.id!==t.id&&e.dependsOn.includes(t.id)):[],o=i.length>0,s=o?e(`plugins.blockedByDependents`,{list:i.map(e=>U(e.id)).join(`, `)}):t.enabled?e(`plugins.switchDisable`):e(`plugins.switchEnable`),l=[t.dependsOn.length>0&&`${e(`plugins.metaDepends`)} ${t.dependsOn.map(U).join(`, `)}`,t.libraries.length>0&&`${e(`plugins.metaLibraries`)} ${t.libraries.map(G).join(`, `)}`,t.extends.length>0&&`${e(`plugins.metaExtends`)} ${t.extends.map(e=>K(t.id,e)).join(`, `)}`].filter(Boolean).join(` · `)||`—`;return(0,S.jsxDEV)(y,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,S.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsxDEV)(`span`,{className:`font-semibold text-text`,children:U(t.id)},void 0,!1,{fileName:M,lineNumber:367,columnNumber:31},this),(0,S.jsxDEV)(F,{plugin:t,busy:k(t.id),onUpdate:()=>ee(t)},void 0,!1,{fileName:M,lineNumber:368,columnNumber:31},this)]},void 0,!0,{fileName:M,lineNumber:366,columnNumber:29},this),n&&(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:n},void 0,!1,{fileName:M,lineNumber:370,columnNumber:45},this),(0,S.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:l},void 0,!1,{fileName:M,lineNumber:371,columnNumber:29},this)]},void 0,!0,{fileName:M,lineNumber:365,columnNumber:27},this),t.hasSettings&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,S.jsxDEV)(r,{to:`/settings/${t.id}`,title:e(`plugins.settingsTitle`,{defaultValue:`Settings`}),"aria-label":e(`plugins.settingsTitle`,{defaultValue:`Settings`}),children:(0,S.jsxDEV)(c,{name:`lucide:settings`,size:16},void 0,!1,{fileName:M,lineNumber:386,columnNumber:33},this)},void 0,!1,{fileName:M,lineNumber:381,columnNumber:31},this)},void 0,!1,{fileName:M,lineNumber:374,columnNumber:29},this),(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:k(t.id),onClick:()=>X(t),title:e(`plugins.purgeTitle`),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:e(`plugins.purgeButton`)},void 0,!1,{fileName:M,lineNumber:390,columnNumber:27},this),(0,S.jsxDEV)(`span`,{title:s,className:`shrink-0`,children:(0,S.jsxDEV)(w,{checked:t.enabled,disabled:k(t.id)||o,onCheckedChange:()=>Z(t),title:s},void 0,!1,{fileName:M,lineNumber:404,columnNumber:29},this)},void 0,!1,{fileName:M,lineNumber:403,columnNumber:27},this)]},t.id,!0,{fileName:M,lineNumber:364,columnNumber:25},this)})]},void 0,!0,{fileName:M,lineNumber:303,columnNumber:17},this)]},void 0,!0,{fileName:M,lineNumber:289,columnNumber:15},this)]},void 0,!0,{fileName:M,lineNumber:256,columnNumber:11},this)]},void 0,!0,{fileName:M,lineNumber:238,columnNumber:9},this)]},void 0,!0,{fileName:M,lineNumber:219,columnNumber:5},this)}function F({plugin:e,busy:t,onUpdate:r}){let{t:i}=n(),a=!!(e.latestVersion&&j(e.latestVersion,e.installedVersion));return(0,S.jsxDEV)(S.Fragment,{children:[(0,S.jsxDEV)(D,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,e.installedVersion]},void 0,!0,{fileName:M,lineNumber:437,columnNumber:7},this),a&&(0,S.jsxDEV)(u,{variant:`ghost`,size:`sm`,type:`button`,disabled:t,onClick:r,title:i(`plugins.updateTitle`,{from:e.installedVersion,to:e.latestVersion}),className:`shrink-0 border border-accent/40 text-accent hover:bg-accent/10 hover:text-accent`,children:i(`plugins.updateButton`)},void 0,!1,{fileName:M,lineNumber:441,columnNumber:9},this)]},void 0,!0,{fileName:M,lineNumber:436,columnNumber:5},this)}export{P as SettingsPage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{t as r}from"./react-vendor-BskHO5hY.js";import{n as i}from"./x-BFRg18Fi.js";import{c as a,d as o,p as s,u as c}from"./chrome-Byteug4G.js";import{T as l,d as u,f as d,g as f,h as p,l as m,n as h,o as g,p as _,s as v}from"./fields-CnmTcDr4.js";import{_ as y,o as b}from"./shelf-CiTNv3-E.js";import{n as x,o as S,t as C}from"./src-DKYT_mO5.js";import{i as ee,n as te,r as ne}from"./field-frame-BtcRGL3k.js";import{n as re}from"./extend-C8fYaK9l.js";import{t as ie}from"./plugin-q1oOYqt7.js";import{r as ae,t as w}from"./development-olQNibq5.js";import{_ as T,a as E,b as D,g as oe,h as se,i as ce,l as O,m as le,n as ue,p as de,r as fe,t as pe,v as k,y as A}from"./micromark-extension-gfm-BUw6_ZLT.js";var me=i(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),j=e(t(),1);function he(e,t={}){let n=t.disabled??new Set,r=e.filter(e=>!n.has(e.id)),i=new Map;for(let e of r){for(let t of e.libraries??[])for(let n of t.shelves)i.set(`${n.library}/${n.shelf}`,e.id);for(let t of e.libraryShelves??[])i.set(`${t.library}/${t.shelf}`,e.id)}let a=(e,t)=>i.get(`${e}/${t}`);for(let e of r)for(let t of e.dependsOn)if(n.has(t))throw Error(`[plugin] '${e.id}' is enabled, but its dependency '${t}' is disabled`);let{order:o,libraries:s,shelves:c,extends_:l}=ie(r),u=new Map;for(let e of r)for(let t of e.fieldContribs??[]){let e=`${t.library}/${t.shelf}/${t.field}`,n=u.get(e)??{options:[],suggestions:[]};t.options&&n.options.push(...t.options),t.suggestions&&n.suggestions.push(...t.suggestions),u.set(e,n)}let d=new Map;for(let e of r)for(let t of e.optionLists??[])
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{t as r}from"./react-vendor-BskHO5hY.js";import{n as i}from"./x-BFRg18Fi.js";import{c as a,d as o,p as s,u as c}from"./chrome-Byteug4G.js";import{T as l,d as u,f as d,g as f,h as p,l as m,n as h,o as g,p as _,s as v}from"./fields-CnmTcDr4.js";import{_ as y,o as b}from"./shelf-CiTNv3-E.js";import{n as x,o as S,t as C}from"./src-DKYT_mO5.js";import{i as ee,n as te,r as ne}from"./field-frame-BtcRGL3k.js";import{n as re}from"./extend-C8fYaK9l.js";import{t as ie}from"./plugin-q1oOYqt7.js";import{r as ae,t as w}from"./development-olQNibq5.js";import{_ as T,a as E,b as D,g as oe,h as se,i as ce,l as O,m as le,n as ue,p as de,r as fe,t as pe,v as k,y as A}from"./micromark-extension-gfm-BUw6_ZLT.js";var me=i(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),j=e(t(),1);function he(e,t={}){let n=t.disabled??new Set,r=e.filter(e=>!n.has(e.id)),i=new Map;for(let e of r){for(let t of e.libraries??[])for(let n of t.shelves)i.set(`${n.library}/${n.shelf}`,e.id);for(let t of e.libraryShelves??[])i.set(`${t.library}/${t.shelf}`,e.id)}let a=(e,t)=>i.get(`${e}/${t}`);for(let e of r)for(let t of e.dependsOn)if(n.has(t))throw Error(`[plugin] '${e.id}' is enabled, but its dependency '${t}' is disabled`);let{order:o,libraries:s,shelves:c,extends_:l}=ie(r),u=new Map;for(let e of r)for(let t of e.fieldContribs??[]){let e=`${t.library}/${t.shelf}/${t.field}`,n=u.get(e)??{options:[],suggestions:[]};t.options&&n.options.push(...t.options),t.suggestions&&n.suggestions.push(...t.suggestions),u.set(e,n)}let d=(e,t)=>{if(t.options.length){let n=new Set((e.options??[]).map(e=>e.value));e.options=[...e.options??[],...t.options.filter(e=>!n.has(e.value))]}if(t.suggestions.length){let n=e.hints.suggestions??[],r=new Set(n);e.hints.suggestions=[...n,...t.suggestions.filter(e=>!r.has(e))]}},f=new Map;for(let e of r)for(let t of e.optionLists??[])f.set(t.name,t.options);let p=e=>f.get(e)??[];for(let e of c)for(let[t,n]of b(e.fields)){let r=u.get(`${e.library}/${e.shelf}/${t}`);r&&d(n,r)}for(let e of r)for(let[t,n]of e.settings?b(e.settings.fields):[]){let r=u.get(`_settings/${e.id}/${t}`);r&&(d(n,r),n.prim===`select`&&n.options?.length&&h(n,n.options.map(e=>e.value)))}let m=new Map;for(let e of c)for(let[t,n]of b(e.fields)){let r=n.hints.source,i=n.options??[],a=r?f.get(r)??[]:[],o=new Set(i.map(e=>e.value)),s=[...i,...a.filter(e=>!o.has(e.value))];n.prim===`select`&&s.length&&h(n,s.map(e=>e.value)),s.length&&(n.options=s,m.set(`${e.library}/${e.shelf}/${t}`,s))}return{order:o,libraries:s,shelves:c,extends_:l,getShelf:(e,t)=>c.find(n=>n.library===e&&n.shelf===t),getLibrary:e=>s.find(t=>t.meta.id===e),getExtendsFor:(e,t)=>l.filter(n=>re(n,e,t)),getFieldOptions:(e,t,n)=>m.get(`${e}/${t}/${n}`)??[],getOptionList:p,getShelfOwner:a}}var M=null;function N(e){M=he(e)}function P(){if(!M)throw Error(`[registry] not initialized — call initRegistry() in the boot loader`);return M}var ge=(e,t)=>P().getShelf(e,t),_e=(e,t)=>P().getExtendsFor(e,t),ve=e=>P().getOptionList(e),ye=(e,t)=>P().getShelfOwner(e,t),be=()=>P().libraries,xe=()=>P().shelves,Se=()=>P().extends_,Ce=()=>P().order,F=r(),I=(0,j.createContext)(()=>void 0),we=()=>(0,j.useContext)(I),Te=e=>e.join(`.`);function L(e){return(t,n)=>t===`pattern`&&n?.messageKey?e(String(n.messageKey)):e(`validation.${t}`,n)}function Ee(e,t){let n={};for(let r of e){let e=Te(r.path?.length?r.path:[r.field]);n[e]||(n[e]=t(r.code,r.params))}return n}function De(e,t){let n={};for(let[r,i]of Object.entries(e))r===t||r.startsWith(t+`.`)||(n[r]=i);return n}var Oe=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/computed-ctx.tsx`,R={settings:{},global:{}},z=(0,j.createContext)(R),ke=()=>(0,j.useContext)(z);function Ae(e,t){return{record:e.values??{},settings:t.settings,global:t.global,meta:{library:e.recordCtx.library,shelf:e.recordCtx.shelf}}}async function B(e){let t=await fetch(`/api/plugins/${e}/settings`);return t.ok?await t.json():{}}function je({library:e,shelf:t,children:n}){let[r,i]=(0,j.useState)(R),a=ye(e,t);return(0,j.useEffect)(()=>{let e=!0;return Promise.all([a?B(a):Promise.resolve({}),B(`core`)]).then(([t,n])=>{e&&i({settings:t,global:n})}),()=>{e=!1}},[a]),(0,F.jsxDEV)(z.Provider,{value:r,children:n},void 0,!1,{fileName:Oe,lineNumber:57,columnNumber:10},this)}var Me={}.hasOwnProperty,Ne=/^(https?|ircs?|mailto|xmpp)$/i,Pe=/^https?$/i;function V(e){let t=e||{},n=!0,r={},i=[[]],a=[],o=[],s=oe([{enter:{blockQuote:ce,codeFenced:me,codeFencedFenceInfo:h,codeFencedFenceMeta:h,codeIndented:M,codeText:J,content:Oe,definition:I,definitionDestinationString:Te,definitionLabelString:h,definitionTitleString:h,emphasis:K,htmlFlow:U,htmlText:G,image:P,label:h,link:ge,listItemMarker:ne,listItemValue:te,listOrdered:C,listUnordered:ee,paragraph:fe,reference:h,resource:be,resourceDestinationString:xe,resourceTitleString:h,setextHeading:z,strong:q},exit:{atxHeading:Ae,atxHeadingSequence:R,autolinkEmail:Be,autolinkProtocol:ze,blockQuote:ue,characterEscapeValue:V,characterReferenceMarkerHexadecimal:Z,characterReferenceMarkerNumeric:Z,characterReferenceValue:Q,codeFenced:N,codeFencedFence:he,codeFencedFenceInfo:j,codeFencedFenceMeta:S,codeFlowValue:Ie,codeIndented:N,codeText:Y,codeTextData:V,data:V,definition:De,definitionDestinationString:L,definitionLabelString:we,definitionTitleString:Ee,emphasis:X,hardBreakEscape:H,hardBreakTrailing:H,htmlFlow:W,htmlFlowData:V,htmlText:W,htmlTextData:V,image:F,label:ve,labelText:_e,lineEnding:Fe,link:F,listOrdered:re,listUnordered:ie,paragraph:pe,reference:S,referenceString:ye,resource:S,resourceDestinationString:Se,resourceTitleString:Ce,setextHeading:je,setextHeadingLineSequence:B,setextHeadingText:ke,strong:Le,thematicBreak:Re}},...t.htmlExtensions||[]]),c={definitions:r,tightStack:o},l={buffer:h,encode:x,getData:m,lineEndingIfNeeded:b,options:t,raw:v,resume:g,setData:p,tag:_},u=t.defaultLineEnding;return d;function d(e){let t=-1,n=0,r=[],a=[],o=[];for(;++t<e.length;)!u&&(e[t][1].type===k.lineEnding||e[t][1].type===k.lineEndingBlank)&&(u=e[t][2].sliceSerialize(e[t][1])),(e[t][1].type===k.listOrdered||e[t][1].type===k.listUnordered)&&(e[t][0]===`enter`?r.push(t):f(e.slice(r.pop(),t))),e[t][1].type===k.definition&&(e[t][0]===`enter`?(o=T(o,e.slice(n,t)),n=t):(a=T(a,e.slice(n,t+1)),n=t+1));a=T(a,o),a=T(a,e.slice(n)),t=-1;let c=a;for(s.enter.null&&s.enter.null.call(l);++t<e.length;){let e=s[c[t][0]],n=c[t][1].type,r=e[n];Me.call(e,n)&&r&&r.call({sliceSerialize:c[t][2].sliceSerialize,...l},c[t][1])}return s.exit.null&&s.exit.null.call(l),i[0].join(``)}function f(e){let t=e.length,n=0,r=0,i=!1,a;for(;++n<t;){let t=e[n];if(t[1]._container)a=void 0,t[0]===`enter`?r++:r--;else switch(t[1].type){case k.listItemPrefix:t[0]===`exit`&&(a=!0);break;case k.linePrefix:break;case k.lineEndingBlank:t[0]===`enter`&&!r&&(a?a=void 0:i=!0);break;default:a=void 0}}e[0][1]._loose=i}function p(e,t){c[e]=t}function m(e){return c[e]}function h(){i.push([])}function g(){let e=i.pop();return w(e!==void 0,`Cannot resume w/o buffer`),e.join(``)}function _(e){n&&(p(`lastWasTag`,!0),i[i.length-1].push(e))}function v(e){p(`lastWasTag`),i[i.length-1].push(e)}function y(){v(u||`
|
|
2
2
|
`)}function b(){let e=i[i.length-1],t=e[e.length-1],n=t?t.charCodeAt(t.length-1):D.eof;n===D.lf||n===D.cr||n===D.eof||y()}function x(e){return m(`ignoreEncode`)?e:le(e)}function S(){g()}function C(e){o.push(!e._loose),b(),_(`<ol`),p(`expectFirstItem`,!0)}function ee(e){o.push(!e._loose),b(),_(`<ul`),p(`expectFirstItem`,!0)}function te(e){if(m(`expectFirstItem`)){let t=Number.parseInt(this.sliceSerialize(e),A.numericBaseDecimal);t!==1&&_(` start="`+x(String(t))+`"`)}}function ne(){m(`expectFirstItem`)?_(`>`):E(),b(),_(`<li>`),p(`expectFirstItem`),p(`lastWasTag`)}function re(){E(),o.pop(),y(),_(`</ol>`)}function ie(){E(),o.pop(),y(),_(`</ul>`)}function E(){m(`lastWasTag`)&&!m(`slurpAllLineEndings`)&&b(),_(`</li>`),p(`slurpAllLineEndings`)}function ce(){o.push(!1),b(),_(`<blockquote>`)}function ue(){o.pop(),b(),_(`</blockquote>`),p(`slurpAllLineEndings`)}function fe(){o[o.length-1]||(b(),_(`<p>`)),p(`slurpAllLineEndings`)}function pe(){o[o.length-1]?p(`slurpAllLineEndings`,!0):_(`</p>`)}function me(){b(),_(`<pre><code`),p(`fencesCount`,0)}function j(){_(` class="language-`+g()+`"`)}function he(){let e=m(`fencesCount`)||0;e||(_(`>`),p(`slurpOneLineEnding`,!0)),p(`fencesCount`,e+1)}function M(){b(),_(`<pre><code>`)}function N(){let e=m(`fencesCount`);e!==void 0&&e<2&&c.tightStack.length>0&&!m(`lastWasTag`)&&y(),m(`flowCodeSeenData`)&&b(),_(`</code></pre>`),e!==void 0&&e<2&&b(),p(`flowCodeSeenData`),p(`fencesCount`),p(`slurpOneLineEnding`)}function P(){a.push({image:!0}),n=void 0}function ge(){a.push({})}function _e(e){a[a.length-1].labelId=this.sliceSerialize(e)}function ve(){a[a.length-1].label=g()}function ye(e){a[a.length-1].referenceId=this.sliceSerialize(e)}function be(){h(),a[a.length-1].destination=``}function xe(){h(),p(`ignoreEncode`,!0)}function Se(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function Ce(){a[a.length-1].title=g()}function F(){let e=a.length-1,i=a[e],o=i.referenceId||i.labelId;w(o!==void 0,"media should have `referenceId` or `labelId`"),w(i.label!==void 0,"media should have `label`");let s=i.destination===void 0?r[de(o)]:i;for(n=!0;e--;)if(a[e].image){n=void 0;break}i.image?(_(`<img src="`+O(s.destination,t.allowDangerousProtocol?void 0:Pe)+`" alt="`),v(i.label),_(`"`)):_(`<a href="`+O(s.destination,t.allowDangerousProtocol?void 0:Ne)+`"`),_(s.title?` title="`+s.title+`"`:``),i.image?_(` />`):(_(`>`),v(i.label),_(`</a>`)),a.pop()}function I(){h(),a.push({})}function we(e){g(),a[a.length-1].labelId=this.sliceSerialize(e)}function Te(){h(),p(`ignoreEncode`,!0)}function L(){a[a.length-1].destination=g(),p(`ignoreEncode`)}function Ee(){a[a.length-1].title=g()}function De(){let e=a[a.length-1];w(e.labelId!==void 0,"media should have `labelId`");let t=de(e.labelId);g(),Me.call(r,t)||(r[t]=a[a.length-1]),a.pop()}function Oe(){p(`slurpAllLineEndings`,!0)}function R(e){m(`headingRank`)||(p(`headingRank`,this.sliceSerialize(e).length),b(),_(`<h`+m(`headingRank`)+`>`))}function z(){h(),p(`slurpAllLineEndings`)}function ke(){p(`slurpAllLineEndings`,!0)}function Ae(){_(`</h`+m(`headingRank`)+`>`),p(`headingRank`)}function B(e){p(`headingRank`,this.sliceSerialize(e).charCodeAt(0)===D.equalsTo?1:2)}function je(){let e=g();b(),_(`<h`+m(`headingRank`)+`>`),v(e),_(`</h`+m(`headingRank`)+`>`),p(`slurpAllLineEndings`),p(`headingRank`)}function V(e){v(x(this.sliceSerialize(e)))}function Fe(e){if(!m(`slurpAllLineEndings`)){if(m(`slurpOneLineEnding`)){p(`slurpOneLineEnding`);return}if(m(`inCodeText`)){v(` `);return}v(x(this.sliceSerialize(e)))}}function Ie(e){v(x(this.sliceSerialize(e))),p(`flowCodeSeenData`,!0)}function H(){_(`<br />`)}function U(){b(),G()}function W(){p(`ignoreEncode`)}function G(){t.allowDangerousHtml&&p(`ignoreEncode`,!0)}function K(){_(`<em>`)}function q(){_(`<strong>`)}function J(){p(`inCodeText`,!0),_(`<code>`)}function Y(){p(`inCodeText`),_(`</code>`)}function X(){_(`</em>`)}function Le(){_(`</strong>`)}function Re(){b(),_(`<hr />`)}function Z(e){p(`characterReferenceType`,e.type)}function Q(e){let t=this.sliceSerialize(e);v(x(m(`characterReferenceType`)?se(t,m(`characterReferenceType`)===k.characterReferenceMarkerNumeric?A.numericBaseDecimal:A.numericBaseHexadecimal):ae(t))),p(`characterReferenceType`)}function ze(e){let n=this.sliceSerialize(e);_(`<a href="`+O(n,t.allowDangerousProtocol?void 0:Ne)+`">`),v(x(n)),_(`</a>`)}function Be(e){let t=this.sliceSerialize(e);_(`<a href="`+O(`mailto:`+t)+`">`),v(x(t)),_(`</a>`)}}function Fe(e,t,n){return typeof t!=`string`&&(n=t,t=void 0),V(n)(ce(E(n).document().write(fe()(e,t,!0))))}var Ie=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/Markdown.tsx`;function H(e){return Fe(e,{allowDangerousHtml:!0,extensions:[pe()],htmlExtensions:[ue()]})}function U({value:e}){return(0,F.jsxDEV)(`div`,{className:`md-static`,dangerouslySetInnerHTML:{__html:H(e)}},void 0,!1,{fileName:Ie,lineNumber:19,columnNumber:10},this)}var W=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/layout.tsx`;function G({text:e}){return(0,F.jsxDEV)(U,{value:e},void 0,!1,{fileName:W,lineNumber:29,columnNumber:10},this)}function K(e,{bridge:t,t:n,computed:r}){if(u(e)){let r=e.key;if(t.isHidden(r))return null;let i=S({kind:C(e)});if(!i)return console.warn(`[LayoutRenderer] no renderer for kind '${C(e)}'`),null;let a=e.type;return{node:(0,F.jsxDEV)(`div`,{onBlur:e=>{te(e.relatedTarget)||t.touch(r)},children:(0,F.jsxDEV)(i.Page,{el:e,field:a,fieldKey:r,value:t.getValue(r),onChange:e=>t.setValue(r,e),error:t.error(r),mode:t.mode,label:a.label?n(a.label):void 0,required:t.requiredOf(r),recordCtx:t.recordCtx},void 0,!1,{fileName:W,lineNumber:82,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:81,columnNumber:7},this),layout:x(a)}}if(p(e)){let i=S({kind:C(e)});if(!i)return console.warn(`[LayoutRenderer] no renderer for static kind '${C(e)}'`),null;let a=e.type,o=e.value;if(typeof e.value==`function`)try{o=e.value(Ae(t,r))}catch(e){console.warn(`[computed] value function threw`,e),o=void 0}return{node:(0,F.jsxDEV)(i.Page,{el:e,field:a,value:o,mode:`view`,label:a.label?n(a.label):void 0,recordCtx:t.recordCtx},void 0,!1,{fileName:W,lineNumber:116,columnNumber:7},this),layout:x(a)}}if(m(e)||_(e))return null;if(v(e)){let n=S({kind:`button`});return n?{node:(0,F.jsxDEV)(n.Page,{el:e,value:void 0,mode:t.mode,recordCtx:t.recordCtx},void 0,!1,{fileName:W,lineNumber:139,columnNumber:18},this),layout:`scalar`}:null}return null}function q(e,t,n,r=`wrap`){let i=[],a=[],o=0,s=()=>{a.length&&(i.push({kind:`flow`,items:a,scroll:r===`scroll`}),a=[])};for(let r of e){if(n){if(m(r)){s(),i.push({kind:`divider`});continue}if(_(r)){s(),i.push({kind:`block`,node:(0,F.jsxDEV)(J,{textKey:r.text},void 0,!1,{fileName:W,lineNumber:173,columnNumber:41},this)});continue}if(g(r)){s();continue}if(u(r)||p(r)||v(r)){let e=K(r,n);if(e==null)continue;if(e.layout===`block`)s(),i.push({kind:`block`,node:e.node});else{let t=u(r)?r.key:`static-${o++}`;a.push({key:t,node:(0,F.jsxDEV)(j.Fragment,{children:e.node},t,!1,{fileName:W,lineNumber:190,columnNumber:19},this)})}continue}continue}if(u(r)){let e=t.renderField(r.key,r.type);if(e==null)continue;x(r.type)===`block`?(s(),i.push({kind:`block`,node:e})):a.push({key:r.key,node:(0,F.jsxDEV)(j.Fragment,{children:e},r.key,!1,{fileName:W,lineNumber:206,columnNumber:47},this)})}else m(r)?(s(),i.push({kind:`divider`})):_(r)?(s(),i.push({kind:`block`,node:(0,F.jsxDEV)(J,{textKey:r.text},void 0,!1,{fileName:W,lineNumber:212,columnNumber:39},this)})):g(r)&&s()}return s(),i}function J({textKey:e}){let{t}=n();return(0,F.jsxDEV)(G,{text:t(e)},void 0,!1,{fileName:W,lineNumber:224,columnNumber:10},this)}function Y(e){let t=[];for(let n of e)n.kind===`divider`&&(!t.length||t[t.length-1].kind===`divider`)||t.push(n);for(;t.length&&t[t.length-1].kind===`divider`;)t.pop();return t}function X({label:e,icon:t,labelAfter:n,children:r,rail:i=!0,tone:s=`group`}){let l=(0,F.jsxDEV)(`div`,{className:`flex flex-col min-w-0 ${o}`,children:r},void 0,!1,{fileName:W,lineNumber:276,columnNumber:16},this);return(0,F.jsxDEV)(`section`,{className:`flex flex-col min-w-0 ${o}`,children:[e&&(0,F.jsxDEV)(a,{label:e,icon:t,actions:n,tone:s},void 0,!1,{fileName:W,lineNumber:281,columnNumber:17},this),i&&e?(0,F.jsxDEV)(c,{children:l},void 0,!1,{fileName:W,lineNumber:282,columnNumber:24},this):l]},void 0,!0,{fileName:W,lineNumber:278,columnNumber:5},this)}function Le({group:e,children:t}){let{t:r}=n();return(0,F.jsxDEV)(X,{label:e.label?r(e.label):void 0,icon:s(e),children:t},void 0,!1,{fileName:W,lineNumber:295,columnNumber:5},this)}function Re({group:e,children:t}){let{t:r}=n();return(0,F.jsxDEV)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[e.label&&(0,F.jsxDEV)(`span`,{className:`text-xs text-muted`,children:r(e.label)},void 0,!1,{fileName:W,lineNumber:306,columnNumber:23},this),t]},void 0,!0,{fileName:W,lineNumber:305,columnNumber:5},this)}function Z({group:e,renderCell:t}){let{t:r}=n(),i=[[]];for(let t of e.fields)g(t)?i.push([]):i[i.length-1].push(t);let a=Math.max(1,...i.map(e=>e.length)),o=!1,c=[];return i.forEach((e,n)=>{for(let r=0;r<a;r++){let i=e[r],a=i?t(i):null;a&&(o=!0),c.push((0,F.jsxDEV)(`div`,{className:`min-w-0`,children:a},`${n}-${r}`,!1,{fileName:W,lineNumber:342,columnNumber:9},this))}}),o?(0,F.jsxDEV)(ne.Provider,{value:!0,children:(0,F.jsxDEV)(X,{label:e.label?r(e.label):void 0,icon:s(e),children:(0,F.jsxDEV)(`div`,{className:`overflow-x-auto`,children:(0,F.jsxDEV)(`div`,{className:`grid gap-x-4 gap-y-2 items-start`,style:{gridTemplateColumns:`repeat(${a}, max-content)`},children:c},void 0,!1,{fileName:W,lineNumber:353,columnNumber:11},this)},void 0,!1,{fileName:W,lineNumber:352,columnNumber:9},this)},void 0,!1,{fileName:W,lineNumber:351,columnNumber:7},this)},void 0,!1,{fileName:W,lineNumber:350,columnNumber:5},this):null}function Q(e,t){return e.filter(e=>e.kind!==`divider`).length?e.map((e,n)=>{let r=`${t}-${n}`;switch(e.kind){case`flow`:return(0,F.jsxDEV)(ee,{items:e.items,scroll:e.scroll},r,!1,{fileName:W,lineNumber:373,columnNumber:16},this);case`block`:return(0,F.jsxDEV)(j.Fragment,{children:e.node},r,!1,{fileName:W,lineNumber:375,columnNumber:16},this);case`group`:return(0,F.jsxDEV)(j.Fragment,{children:e.node},r,!1,{fileName:W,lineNumber:377,columnNumber:16},this);case`divider`:return(0,F.jsxDEV)(`hr`,{className:`border-border`},r,!1,{fileName:W,lineNumber:379,columnNumber:16},this)}}):null}function ze({items:e,ctx:t}){let{t:r}=n(),i=ke(),a=t.bridge?{bridge:t.bridge,t:r,computed:i}:void 0,s=[],c=[],l=()=>{c.length&&(s.push(...q(c,t,a)),c=[])};for(let n of e)if(d(n))if(l(),a)if(f(n)){let e=n.key,t=a.bridge.getValue(e);if(!a.bridge.isHidden(e)){let r=S({kind:C(n)});if(r){let i=(0,F.jsxDEV)(r.Page,{el:n,value:t,onChange:t=>a.bridge.setValue(e,t),error:a.bridge.error(e),mode:a.bridge.mode,recordCtx:a.bridge.recordCtx},void 0,!1,{fileName:W,lineNumber:418,columnNumber:17},this);s.push({kind:`group`,node:i})}else console.warn(`[LayoutRenderer] no renderer for storage group kind '${C(n)}'`)}}else if(n.display===`sheet`)s.push({kind:`group`,node:(0,F.jsxDEV)(Z,{group:n,renderCell:e=>d(e)?null:K(e,a)?.node??null},void 0,!1,{fileName:W,lineNumber:437,columnNumber:15},this)});else{let e=Q(Y(q(n.fields,t,a,n.display===`scroll`?`scroll`:`wrap`)),`g`);if(e)if(n.display===`scroll`)s.push({kind:`group`,node:(0,F.jsxDEV)(Re,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:451,columnNumber:49},this)});else{let t=S({kind:`group`});t?s.push({kind:`group`,node:(0,F.jsxDEV)(t.Page,{el:n,value:void 0,mode:a.bridge.mode,recordCtx:a.bridge.recordCtx,children:e},void 0,!1,{fileName:W,lineNumber:458,columnNumber:21},this)}):s.push({kind:`group`,node:(0,F.jsxDEV)(Le,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:464,columnNumber:51},this)})}}else if(f(n)){let e=t.renderGroup?.(n.key,n);e&&s.push({kind:`group`,node:e})}else if(n.display===`sheet`)s.push({kind:`group`,node:(0,F.jsxDEV)(Z,{group:n,renderCell:e=>u(e)?t.renderField(e.key,e.type):null},void 0,!1,{fileName:W,lineNumber:479,columnNumber:13},this)});else{let e=Q(Y(q(n.fields,t,void 0,n.display===`scroll`?`scroll`:`wrap`)),`g`);e&&s.push({kind:`group`,node:n.display===`scroll`?(0,F.jsxDEV)(Re,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:496,columnNumber:17},this):(0,F.jsxDEV)(Le,{group:n,children:e},void 0,!1,{fileName:W,lineNumber:497,columnNumber:17},this)})}else c.push(n);l();let p=Q(Y(s),`l`);return p==null?null:(0,F.jsxDEV)(`div`,{className:`@container flex flex-col min-w-0 ${o}`,children:p},void 0,!1,{fileName:W,lineNumber:510,columnNumber:10},this)}function Be(e){let{fm:t,mode:r,recordCtx:i}=e,{t:a}=n(),o=L(a),[s]=(0,j.useState)(e.initial),[c,u]=(0,j.useState)(s),[d,f]=(0,j.useState)({}),[p,m]=(0,j.useState)(()=>new Set),h=(0,j.useMemo)(()=>new Set(e.hiddenFields??[]),[e.hiddenFields]);return{values:c,setValues:u,initial:s,errors:d,setErrors:f,touched:p,setTouched:m,bridge:(0,j.useMemo)(()=>({mode:r,recordCtx:i,values:c,getValue:e=>c[e],setValue:(e,n)=>{if(u(t=>({...t,[e]:n})),p.has(e)){let r=t[e],i=r?l(r,n):null;f(t=>{let n={...t};return i?n[e]=o(i.code,i.params):delete n[e],n})}},touch:e=>{m(t=>t.has(e)?t:new Set(t).add(e));let n=t[e],r=n?l(n,c[e]):null;f(t=>{let n={...t};return r?n[e]=o(r.code,r.params):delete n[e],n})},isHidden:e=>{let n=t[e];return!!n?.virtual||h.has(e)||y(n?.hidden,c)},requiredOf:e=>y(t[e]?.required,c),error:e=>d[e]}),[c,d,p,h,t,r,i,o])}}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/Toolbar.tsx`;function Ve({children:e,actions:t}){return(0,F.jsxDEV)(`div`,{className:`eink-solid sticky top-0 z-20 flex h-[52px] items-center justify-between gap-3 bg-bg/85 px-4 backdrop-blur md:px-6 border-b border-border2 shrink-0`,children:[(0,F.jsxDEV)(`div`,{className:`flex items-center gap-2.5 min-w-0`,children:e},void 0,!1,{fileName:$,lineNumber:10,columnNumber:7},this),t&&(0,F.jsxDEV)(`div`,{className:`flex items-center gap-2 shrink-0`,children:t},void 0,!1,{fileName:$,lineNumber:11,columnNumber:19},this)]},void 0,!0,{fileName:$,lineNumber:9,columnNumber:5},this)}export{ge as _,U as a,me as b,De as c,we as d,Se as f,Ce as g,ve as h,X as i,L as l,be as m,Be as n,je as o,_e as p,ze as r,I as s,Ve as t,Ee as u,xe as v,N as y};
|