@coffer-org/web 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,17 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownEditor-CxlMpjDc.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-BskHO5hY.js","assets/clsx-CjueKrWZ.js","assets/ui-vendor-EU9CHLyR.js","assets/icons-DBHj1PyA.js","assets/purify.es-sLXpNpJ5.js","assets/development-olQNibq5.js","assets/micromark-extension-gfm-BUw6_ZLT.js","assets/dist-BKBBNg6L.js","assets/dist-CJsxDt1W.js","assets/lib-Du7RHLba.js","assets/zwitch-656t1L3N.js","assets/lib-B13BbhLB.js","assets/MarkdownEditor-BMHuPElP.css","assets/esm-Dfm1ivm4.js","assets/space-separated-tokens-IJiqTQpk.js","assets/lib-BJGpevNH.js","assets/lib-sYoE14fC.js","assets/esm-YFvMvTG9.css","assets/esm-C5Scej0H.js","assets/dist-COeDLrWj.js","assets/phone-input-DLmP9Sfd.js","assets/x-BFRg18Fi.js","assets/input-group-Bmvb-qBI.js","assets/button-D-Q6I5Ob.js","assets/combobox-DkZHekBD.js","assets/src-Dwv_uJvi.js","assets/fields-CFyhFHW7.js","assets/plugin-q1oOYqt7.js","assets/settings-Dfvzj6n2.js","assets/src-CkyeS9DG.js","assets/src-B1VIJtHj.js","assets/color-names-CKKZbleV.js","assets/countries-BlKrWFMP.js","assets/src-82xH6mzL.js","assets/data-size-BKFevwmi.js","assets/src-DK2Y5zSQ.js","assets/shelf-BqwX4Wzq.js","assets/extend-BEGrSWug.js","assets/src-NjjI6BoS.js","assets/src-DGTYbs6s.js","assets/src-DK_szrYh.js","assets/src-C78Tm4dQ.js","assets/src-DWuhltOv.js","assets/src-DNRPYtVW.js","assets/src-DY4zcFBV.js","assets/src-MK8RohgP.js","assets/src-C0UxSUeR.js","assets/src-RuPVoIKg.js","assets/src-DdDc6tQm.js","assets/src-7UE-kCDq.js","assets/src-2jGaQ-C3.js","assets/src-BqABh1uZ.js","assets/src-DlMQDr49.js","assets/src-B03lewBR.js","assets/src-Bw_s3Ntp.js","assets/src-7w_NUAGr.js","assets/src-BKtjLdxS.js","assets/src-zgHG-QuP.js","assets/ui-BEX45PFz.js","assets/shared-BTj2W-Q0.js","assets/square-CiErsTOS.js","assets/json-CkyL3W27.js","assets/src-DtS4bMoK.js","assets/plugin-ui-CKd6q8ec.js","assets/field-frame-EKhJDwdZ.js","assets/chrome-MwLBTqD2.js","assets/Icon-C9qjs0w3.js","assets/ui-vRzXBV4g.js","assets/search-BEMyuT71.js","assets/dispatch-TTtoo72r.js","assets/ui-DzUTPbkP.js","assets/SettingsPage-DyjVRLju.js","assets/api-1ZNfndlh.js","assets/auth-context-CJTSRD17.js","assets/dialog-DqWXrq6M.js","assets/PageBody-Y-cpiRMh.js","assets/PluginSettingsPage-DDzwZkMD.js","assets/SettingsForm-BZYFOB8u.js","assets/Toolbar-B85dEL1S.js","assets/NewRecordView-Bgi-_hTE.js","assets/ExtendReasonInfo-Cwq8bOZH.js"])))=>i.map(i=>d[i]);
2
- import{n as e,r as t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,i as r,r as i,t as a}from"./i18n-vendor-T6EnJ_TL.js";import{a as o,d as s,f as c,i as l,l as u,n as d,o as f,p,r as m,s as h,t as g,u as _}from"./react-vendor-BskHO5hY.js";import{n as v,r as y,t as b}from"./SettingsForm-BZYFOB8u.js";import{n as x}from"./color-names-CKKZbleV.js";import{n as S,r as C,t as w}from"./x-BFRg18Fi.js";import{a as T,c as E,i as D,n as O,o as k,s as A,t as ee}from"./input-group-Bmvb-qBI.js";import{A as te,F as ne,M as j,N as M,P as re,a as N,c as ie,ft as ae,i as oe,j as se,l as ce,o as le,r as P,s as ue,tt as de}from"./ui-vendor-EU9CHLyR.js";import{a as fe,c as pe,i as me,l as he,n as ge,o as _e,r as ve,s as ye,t as be}from"./ExtendReasonInfo-Cwq8bOZH.js";import{a as xe,d as Se,f as Ce,i as we,l as Te,n as Ee,o as De,r as Oe,s as ke,t as Ae,u as je}from"./Icon-C9qjs0w3.js";import{_ as Me,a as Ne,b as Pe,c as Fe,d as Ie,h as Le,i as Re,l as ze,m as Be,n as Ve,o as He,p as Ue,r as We,s as Ge,t as Ke,u as qe,v as Je,y as Ye}from"./Toolbar-B85dEL1S.js";import{i as Xe,n as Ze,t as F}from"./button-D-Q6I5Ob.js";import{A as Qe,C as $e,D as et,E as tt,O as nt,S as rt,T as it,_ as at,a as ot,b as st,c as ct,d as lt,f as ut,g as dt,h as ft,i as pt,k as mt,l as ht,m as gt,n as _t,o as vt,p as yt,r as bt,s as xt,t as St,u as Ct,v as wt,w as Tt,x as Et,y as Dt}from"./shared-BTj2W-Q0.js";import{a as Ot,c as kt,d as At,g as jt,h as Mt,l as Nt,m as Pt,n as Ft,o as It,p as Lt,s as Rt,u as zt}from"./chrome-MwLBTqD2.js";import{n as Bt}from"./square-CiErsTOS.js";import{t as Vt}from"./search-BEMyuT71.js";import{A as Ht,D as Ut,c as Wt,d as Gt,f as Kt,i as qt,k as Jt,o as Yt,r as Xt,u as Zt}from"./fields-CFyhFHW7.js";import{_ as Qt,a as $t,b as en,c as tn,d as nn,f as rn,g as an,i as on,l as sn,m as cn,o as ln,p as un,r as dn,s as fn,u as pn,v as mn,y as hn}from"./shelf-BqwX4Wzq.js";import{a as gn,i as I,n as _n,o as vn,r as yn,s as bn,t as xn}from"./src-DtS4bMoK.js";import{a as Sn,i as Cn,r as wn,t as Tn}from"./plugin-ui-CKd6q8ec.js";import{a as En,i as Dn,t as On}from"./use-media-query-DWcBtoAU.js";import{t as kn}from"./json-CkyL3W27.js";import{i as An,o as jn,r as Mn,s as Nn,t as Pn}from"./field-frame-EKhJDwdZ.js";import{t as Fn}from"./markdown-vendor-CtaBI5gJ.js";import{t as In}from"./purify.es-sLXpNpJ5.js";import{a as Ln,c as Rn,i as zn,l as Bn,n as Vn,o as Hn,r as Un,t as Wn,u as Gn}from"./combobox-DkZHekBD.js";import"./countries-BlKrWFMP.js";import{D as Kn,O as qn,T as Jn,_ as Yn,a as Xn,b as Zn,c as Qn,d as $n,g as er,h as tr,l as nr,n as rr,p as ir,r as ar,s as or,t as sr,u as cr,v as lr,x as ur,y as dr}from"./api-1ZNfndlh.js";import{n as fr,r as pr,t as mr}from"./dispatch-TTtoo72r.js";import{a as hr,i as gr,n as _r,r as vr,t as yr}from"./dialog-DqWXrq6M.js";import{a as br,i as xr,r as Sr,t as Cr}from"./auth-context-CJTSRD17.js";import{r as wr,t as Tr}from"./lib-BJGpevNH.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var L=t(n(),1),Er=p(),Dr={common:{loading:`Завантаження…`,saving:`Збереження…`,error:`Помилка`,back:`Назад`,yes:`Так`,no:`Ні`,notFound:`Тип не знайдено`,daysUnit:`дн.`,peopleUnit:`ос.`,empty:`Немає записів`},actions:{new:`Новий`,addFirst:`Додати перший запис`,edit:`Редагувати`,editAll:`Редагувати все`,save:`Зберегти`,create:`Створити`,cancel:`Скасувати`,confirm:`Підтвердити`,confirmDelete:`Видалити цей запис?`,delete:`Видалити`,upload:`Завантажити`,replace:`Замінити`,confirmDeletePhoto:`Видалити фото?`,add:`Додати`,actionSuccess:`Готово`,actionError:`Помилка`,actionNotFound:`Дію не зареєстровано`,notice:`Повідомлення`},save:{saving:`Збереження…`,done:`Збережено`,failed:`Не вдалося зберегти`},upload:{tooLarge:`Файл завеликий (макс. 25 МБ)`,failed:`Не вдалося завантажити`},embed:{open:`Відкрити`,pastePlaceholder:`Вставте URL…`,resolveFailed:`Не вдалося завантажити прев'ю`},reminder:{today:`сьогодні`,inDays:`через {{days}} дн`,overdue:`прострочено {{days}} дн`},nav:{selectType:`Оберіть тип у меню`,plugins:`Плагіни`,home:`Головна`,search:`Пошук`,browse:`Огляд`,settings:`Налаштування`},dashboard:{title:`Головна`,empty:`Немає активних полиць`},settings:{title:`Налаштування`,appearance:`Вигляд`,theme:`Тема`,language:`Мова`,systemDescription:`Налаштування всієї системи та базові пакети.`,systemUpdateTitle:`Оновити базові пакети (core + рантайм)`,componentsTitle:`Компоненти`,componentsDescription:`Системні пакети та плагіни: оновлення, увімкнення, видалення даних.`,personalTitle:`Особисте`,usersTitle:`Користувачі`,usersDescription:`Керування всіма акаунтами інстансу.`},theme:{label:`Тема`,auto:`Авто`,light:`Світла`,dark:`Темна`,eink:`E-ink`},group:{title:`Групування`,field:`Поле`,all:`Всі записи`,noValue:`Без значення`,yes:`Так`,no:`Ні`},plugins:{loading:`Завантаження…`,restartBannerBefore:`Зміни застосуються після `,restartBannerBold:`рестарту сервера`,restartBannerAfter:` (набір активних плагінів читається на старті).`,confirmPurge:`Видалити ВСІ дані плагіна «{{id}}»? Таблиці буде дропнуто безповоротно.`,genericError:`Помилка: {{code}}`,purgeButton:`Видалити дані`,purgeTitle:`Видалити всі дані плагіна (безповоротно)`,switchDisable:`Вимкнути`,switchEnable:`Увімкнути`,blockedByDependents:`Не можна вимкнути: від нього залежать увімкнені плагіни — {{list}}`,metaDepends:`залежить:`,metaLibraries:`бібліотеки:`,metaExtends:`розширення:`,updateButton:`Оновити`,updateTitle:`Оновити з v{{from}} до v{{to}}`,confirmUpdate:`Оновити плагін «{{id}}» з v{{from}} до v{{to}}? Сервер перезапуститься одразу після встановлення — переконайтесь, що він працює під process-manager'ом (systemd/pm2/docker), який автоматично його підніме. Рекомендовано зробити резервну копію бази даних заздалегідь.`,updateError:`Оновлення не вдалося`,updateAllButton:`Оновити все ({{count}})`,runtimeLabel:`Рантайм (server/web/cli)`,confirmUpdateAll:`Оновити {{count}} компонент(ів)?
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownEditor-CxlMpjDc.js","assets/rolldown-runtime-QTnfLwEv.js","assets/i18n-vendor-T6EnJ_TL.js","assets/react-vendor-BskHO5hY.js","assets/clsx-CjueKrWZ.js","assets/ui-vendor-EU9CHLyR.js","assets/icons-DBHj1PyA.js","assets/purify.es-sLXpNpJ5.js","assets/development-olQNibq5.js","assets/micromark-extension-gfm-BUw6_ZLT.js","assets/dist-BKBBNg6L.js","assets/dist-CJsxDt1W.js","assets/lib-Du7RHLba.js","assets/zwitch-656t1L3N.js","assets/lib-B13BbhLB.js","assets/MarkdownEditor-BMHuPElP.css","assets/esm-Dfm1ivm4.js","assets/space-separated-tokens-IJiqTQpk.js","assets/lib-BJGpevNH.js","assets/lib-sYoE14fC.js","assets/esm-YFvMvTG9.css","assets/esm-C5Scej0H.js","assets/dist-COeDLrWj.js","assets/phone-input-DLmP9Sfd.js","assets/x-BFRg18Fi.js","assets/input-group-Bmvb-qBI.js","assets/button-D-Q6I5Ob.js","assets/combobox-DkZHekBD.js","assets/src-HABGxsRV.js","assets/fields-CFyhFHW7.js","assets/plugin-q1oOYqt7.js","assets/settings-Dfvzj6n2.js","assets/src-CkyeS9DG.js","assets/src-B1VIJtHj.js","assets/color-names-CKKZbleV.js","assets/countries-BlKrWFMP.js","assets/src-82xH6mzL.js","assets/data-size-BKFevwmi.js","assets/src-DK2Y5zSQ.js","assets/shelf-BqwX4Wzq.js","assets/extend-BEGrSWug.js","assets/src-NjjI6BoS.js","assets/src-DGTYbs6s.js","assets/src-DK_szrYh.js","assets/src-C78Tm4dQ.js","assets/src-DWuhltOv.js","assets/src-DNRPYtVW.js","assets/src-DY4zcFBV.js","assets/src-MK8RohgP.js","assets/src-C0UxSUeR.js","assets/src-RuPVoIKg.js","assets/src-DdDc6tQm.js","assets/src-7UE-kCDq.js","assets/src-2jGaQ-C3.js","assets/src-BqABh1uZ.js","assets/src-DlMQDr49.js","assets/src-B03lewBR.js","assets/src-Bw_s3Ntp.js","assets/src-7w_NUAGr.js","assets/src-BKtjLdxS.js","assets/src-zgHG-QuP.js","assets/ui-CqAR7iK_.js","assets/shared-BTj2W-Q0.js","assets/square-CiErsTOS.js","assets/json-CkyL3W27.js","assets/src-DtS4bMoK.js","assets/plugin-ui-CKd6q8ec.js","assets/field-frame-BoLGR-Rm.js","assets/chrome-BWlqqMIt.js","assets/Icon-BOpumJtD.js","assets/ui-B3pPuRs1.js","assets/dispatch-TTtoo72r.js","assets/ui-DzUTPbkP.js","assets/SettingsPage-CVFkzyOu.js","assets/api-1ZNfndlh.js","assets/auth-context-CJTSRD17.js","assets/dialog-DqWXrq6M.js","assets/PageBody-Y-cpiRMh.js","assets/PluginSettingsPage-T_qvClIU.js","assets/SettingsForm-BHlzjvhR.js","assets/Toolbar-C1CC_tBj.js","assets/NewRecordView-CEU4tihb.js","assets/ExtendReasonInfo-BeDIuYIi.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,r as t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,i as r,r as i,t as a}from"./i18n-vendor-T6EnJ_TL.js";import{a as o,d as s,f as c,i as l,l as u,n as d,o as f,p,r as m,s as h,t as g,u as _}from"./react-vendor-BskHO5hY.js";import{n as v,r as y,t as b}from"./SettingsForm-BHlzjvhR.js";import{n as x}from"./color-names-CKKZbleV.js";import{n as S,r as C,t as w}from"./x-BFRg18Fi.js";import{a as T,c as E,i as D,n as O,o as k,s as A,t as ee}from"./input-group-Bmvb-qBI.js";import{A as te,F as ne,M as j,N as M,P as re,a as N,c as ie,ft as ae,i as oe,j as se,l as ce,o as le,r as P,s as ue,tt as de}from"./ui-vendor-EU9CHLyR.js";import{a as fe,c as pe,i as me,l as he,n as ge,o as _e,r as ve,s as ye,t as be}from"./ExtendReasonInfo-BeDIuYIi.js";import{a as xe,c as Se,d as Ce,f as we,i as Te,n as Ee,o as De,p as Oe,r as ke,s as Ae,t as je,u as Me}from"./Icon-BOpumJtD.js";import{_ as Ne,a as Pe,b as Fe,c as Ie,d as Le,h as Re,i as ze,l as Be,m as Ve,n as He,o as Ue,p as We,r as Ge,s as Ke,t as qe,u as Je,v as Ye,y as Xe}from"./Toolbar-C1CC_tBj.js";import{i as Ze,n as Qe,t as F}from"./button-D-Q6I5Ob.js";import{A as $e,C as et,D as tt,E as nt,O as rt,S as it,T as at,_ as ot,a as st,b as ct,c as lt,d as ut,f as dt,g as ft,h as pt,i as mt,k as ht,l as gt,m as _t,n as vt,o as yt,p as bt,r as xt,s as St,t as Ct,u as wt,v as Tt,w as Et,x as Dt,y as Ot}from"./shared-BTj2W-Q0.js";import{a as kt,c as At,d as jt,g as Mt,h as Nt,l as Pt,m as Ft,n as It,o as Lt,p as Rt,s as zt,u as Bt}from"./chrome-BWlqqMIt.js";import{n as Vt}from"./square-CiErsTOS.js";import{A as Ht,D as Ut,c as Wt,d as Gt,f as Kt,i as qt,k as Jt,o as Yt,r as Xt,u as Zt}from"./fields-CFyhFHW7.js";import{_ as Qt,a as $t,b as en,c as tn,d as nn,f as rn,g as an,i as on,l as sn,m as cn,o as ln,p as un,r as dn,s as fn,u as pn,v as mn,y as hn}from"./shelf-BqwX4Wzq.js";import{a as gn,i as I,n as _n,o as vn,r as yn,s as bn,t as xn}from"./src-DtS4bMoK.js";import{a as Sn,i as Cn,r as wn,t as Tn}from"./plugin-ui-CKd6q8ec.js";import{a as En,i as Dn,t as On}from"./use-media-query-DWcBtoAU.js";import{t as kn}from"./json-CkyL3W27.js";import{i as An,o as jn,r as Mn,s as Nn,t as Pn}from"./field-frame-BoLGR-Rm.js";import{t as Fn}from"./markdown-vendor-CtaBI5gJ.js";import{t as In}from"./purify.es-sLXpNpJ5.js";import{a as Ln,c as Rn,i as zn,l as Bn,n as Vn,o as Hn,r as Un,t as Wn,u as Gn}from"./combobox-DkZHekBD.js";import"./countries-BlKrWFMP.js";import{D as Kn,O as qn,T as Jn,_ as Yn,a as Xn,b as Zn,c as Qn,d as $n,g as er,h as tr,l as nr,n as rr,p as ir,r as ar,s as or,t as sr,u as cr,v as lr,x as ur,y as dr}from"./api-1ZNfndlh.js";import{n as fr,r as pr,t as mr}from"./dispatch-TTtoo72r.js";import{a as hr,i as gr,n as _r,r as vr,t as yr}from"./dialog-DqWXrq6M.js";import{a as br,i as xr,r as Sr,t as Cr}from"./auth-context-CJTSRD17.js";import{r as wr,t as Tr}from"./lib-BJGpevNH.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var L=t(n(),1),Er=p(),Dr={common:{loading:`Завантаження…`,saving:`Збереження…`,error:`Помилка`,back:`Назад`,yes:`Так`,no:`Ні`,notFound:`Тип не знайдено`,daysUnit:`дн.`,peopleUnit:`ос.`,empty:`Немає записів`},actions:{new:`Новий`,addFirst:`Додати перший запис`,edit:`Редагувати`,editAll:`Редагувати все`,save:`Зберегти`,create:`Створити`,cancel:`Скасувати`,confirm:`Підтвердити`,confirmDelete:`Видалити цей запис?`,delete:`Видалити`,upload:`Завантажити`,replace:`Замінити`,confirmDeletePhoto:`Видалити фото?`,add:`Додати`,actionSuccess:`Готово`,actionError:`Помилка`,actionNotFound:`Дію не зареєстровано`,notice:`Повідомлення`},save:{saving:`Збереження…`,done:`Збережено`,failed:`Не вдалося зберегти`},upload:{tooLarge:`Файл завеликий (макс. 25 МБ)`,failed:`Не вдалося завантажити`},embed:{open:`Відкрити`,pastePlaceholder:`Вставте URL…`,resolveFailed:`Не вдалося завантажити прев'ю`},reminder:{today:`сьогодні`,inDays:`через {{days}} дн`,overdue:`прострочено {{days}} дн`},nav:{selectType:`Оберіть тип у меню`,plugins:`Плагіни`,home:`Головна`,search:`Пошук`,browse:`Огляд`,settings:`Налаштування`},dashboard:{title:`Головна`,empty:`Немає активних полиць`},settings:{title:`Налаштування`,appearance:`Вигляд`,theme:`Тема`,language:`Мова`,systemDescription:`Налаштування всієї системи та базові пакети.`,systemUpdateTitle:`Оновити базові пакети (core + рантайм)`,componentsTitle:`Компоненти`,componentsDescription:`Системні пакети та плагіни: оновлення, увімкнення, видалення даних.`,personalTitle:`Особисте`,usersTitle:`Користувачі`,usersDescription:`Керування всіма акаунтами інстансу.`},theme:{label:`Тема`,auto:`Авто`,light:`Світла`,dark:`Темна`,eink:`E-ink`},group:{title:`Групування`,field:`Поле`,all:`Всі записи`,noValue:`Без значення`,yes:`Так`,no:`Ні`},plugins:{loading:`Завантаження…`,restartBannerBefore:`Зміни застосуються після `,restartBannerBold:`рестарту сервера`,restartBannerAfter:` (набір активних плагінів читається на старті).`,confirmPurge:`Видалити ВСІ дані плагіна «{{id}}»? Таблиці буде дропнуто безповоротно.`,genericError:`Помилка: {{code}}`,purgeButton:`Видалити дані`,purgeTitle:`Видалити всі дані плагіна (безповоротно)`,switchDisable:`Вимкнути`,switchEnable:`Увімкнути`,blockedByDependents:`Не можна вимкнути: від нього залежать увімкнені плагіни — {{list}}`,metaDepends:`залежить:`,metaLibraries:`бібліотеки:`,metaExtends:`розширення:`,updateButton:`Оновити`,updateTitle:`Оновити з v{{from}} до v{{to}}`,confirmUpdate:`Оновити плагін «{{id}}» з v{{from}} до v{{to}}? Сервер перезапуститься одразу після встановлення — переконайтесь, що він працює під process-manager'ом (systemd/pm2/docker), який автоматично його підніме. Рекомендовано зробити резервну копію бази даних заздалегідь.`,updateError:`Оновлення не вдалося`,updateAllButton:`Оновити все ({{count}})`,runtimeLabel:`Рантайм (server/web/cli)`,confirmUpdateAll:`Оновити {{count}} компонент(ів)?
3
3
 
4
4
  {{list}}
5
5
 
6
- Сервер перезапуститься одразу після встановлення — переконайтесь, що він працює під process-manager'ом (systemd/pm2/docker), який автоматично його підніме. Рекомендовано зробити резервну копію бази даних заздалегідь.`,errors:{core_required:`Плагін core вимкнути не можна.`,has_dependents:`Від нього залежать увімкнені: {{list}}.`,missing_deps:`Спершу увімкни залежності: {{list}}.`,unknown_plugin:`Невідомий плагін.`}},auth:{loginTitle:`Вхід`,setupTitle:`Створити першого адміністратора`,login:`Логін`,password:`Пароль`,displayName:`Ім'я`,signIn:`Увійти`,createAccount:`Створити акаунт`,invalidCredentials:`Невірний логін або пароль.`,genericError:`Щось пішло не так.`,accountTitle:`Мій акаунт`,fieldDisplayName:`Ім'я`,fieldLogin:`Логін`,fieldPasswordOptional:`Новий пароль (лишіть порожнім, щоб не міняти)`,tokensTitle:`API-токени`,tokenNamePlaceholder:`Назва токена (напр. "agent")`,tokenCreate:`Створити токен`,tokenCreatedOnce:`Скопіюйте токен зараз — більше він не покажеться:`,tokenRevoke:`Відкликати`,tokenConfirmRevoke:`Відкликати цей токен? Усе, що його використовує, перестане працювати.`,grantsTitle:`Підключені застосунки`,grantsEmpty:`Жоден застосунок ще не авторизовано. Вони зʼявляться тут після підтвердження на екрані згоди Coffer.`,grantConfirmRevoke:`Відключити цей застосунок? Його токени доступу перестануть працювати одразу.`,usersTitle:`Користувачі`,addUser:`Додати користувача`,roleAdmin:`Адмін`,roleMember:`Учасник`,fieldRole:`Роль`,fieldDisabled:`Вимкнено`,userCreateTitle:`Новий користувач`,lastAdminError:`Не можна прибрати останнього адміна.`},form:{serverRejected:`Сервер відхилив:`,createTitle:`Новий — {{label}}`,editTitle:`Редагувати — {{label}}`,mdPlaceholder:`Текст у форматі Markdown…`,photo:`+ Фото`,properties:`Властивості`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значення`,addProperty:`Властивість`,days:`дн`,hours:`год`,minutes:`хв`,seconds:`с`,addTag:`Додати тег…`,addRow:`+ Додати рядок`,search:`Пошук…`,loading:`Завантаження…`,loadError:`Помилка завантаження`,noRecords:`Немає записів`,addRecord:`+ Додати…`,addItem:`+ Додати пункт`},list:{empty:`Поки порожньо`,searchPlaceholder:`Пошук…`,sortBy:`Сортувати за`,sortNone:`Без сортування`,asc:`За зростанням`,desc:`За спаданням`,peopleCount_one:`{{count}} ос.`,peopleCount_few:`{{count}} ос.`,peopleCount_many:`{{count}} ос.`,peopleCount_other:`{{count}} ос.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пари`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальний пошук`,placeholder:`Пошук полиць і записів…`,allShelves:`Усі полиці`,results:`Результати`,noResults:`Нічого не знайдено`},record:{count_one:`{{count}} запис`,count_few:`{{count}} записи`,count_many:`{{count}} записів`,count_other:`{{count}} записів`,hide:`Сховати`,show:`Показати`},extend:{shownWhen:`Показується коли:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Нд`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обов'язкове поле`,invalid_type:`неприпустимий тип значення`,min_length:`мінімум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`неприпустимий формат`,email:`некоректна email-адреса`,min:`не менше {{min}}`,max:`не більше {{max}}`,int:`має бути цілим`,date_format:`формат YYYY-MM-DD`,date_min:`не раніше {{min}}`,date_max:`не пізніше {{max}}`,enum:`оберіть зі списку`,json:`невалідний JSON`,structure:`невалідна структура`,int_list:`невалідні посилання на записи`,kv_single:`дозволено лише одну пару`,links_structure:`невалідна структура підключень`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`очікується масив тегів`,slotted_length:`невірна кількість елементів`,check_structure:`невалідна структура відмітки`,measured_structure:`очікується {value, unit}`,measured_unit:`невідома одиниця`,money_structure:`некоректна сума`,geo_structure:`очікується {lat, lng}`,money_currency:`невідома валюта`,color_format:`формат #RRGGBB`,row_structure:`невалідна структура рядків`,row_duplicate:`значення «{{key}}» повторюється між рядками`,array:`очікується масив`,array_item:`невалідне значення у масиві`,ip_structure:`невалідна IP-адреса`,cidr_structure:`невалідний CIDR`,per_weekday:`масив із 7 чисел`,period_order:`початок не може бути після кінця`,range_structure:`очікується {from, to}`,last_admin:`Не можна прибрати останнього адміна.`,range_order:`from має бути ≤ to`,file_structure:`некоректний файл`,file_remote_url:`file-поле тримає завантажений файл, а не віддалений URL`,file_unknown_key:`у файлі можуть бути лише name, mime і size`,file_name:`очікується голе ім’я файлу, без шляху`,file_not_uploaded:`такого завантаженого файлу немає — спершу завантажте його`,code_structure:`очікується {code, lang}`,url:`некоректний URL`,embed_structure:`некоректне вкладення`,colorname:`невідома назва кольору`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публічна адреса`,publicUrlHint:`Лише origin, без кінцевого слеша — напр. https://coffer.example`,language:`Мова`},fields:{type:`Тип`,name:`Назва`,weekday:`День тижня`,value:`Значення`,text:`Текст`,check:`Позначка`},presets:{slug:`лише малі латинські літери, цифри й дефіс`,imei:`IMEI — рівно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 літери, 2 цифри, далі літери й цифри (без пробілів)`,hostname:`імʼя хоста / FQDN (мітки через крапку: літери, цифри, дефіс)`,tel:`номер телефону`,link:`URL (scheme:// або домен із крапкою)`},lookup:{enough:`Досить`,partial:`Частково`,missing:`Немає`,noData:`немає даних`},period:{from:`З`,until:`По`},sex:{M:`Чоловіча`,F:`Жіноча`,other:`Інша`},weekdays:{mon:`Понеділок`,tue:`Вівторок`,wed:`Середа`,thu:`Четвер`,fri:`П'ятниця`,sat:`Субота`,sun:`Неділя`},colors:x.uk,countries:{AF:`Афганістан`,AL:`Албанія`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа і Барбуда`,AR:`Аргентина`,AM:`Вірменія`,AU:`Австралія`,AT:`Австрія`,AZ:`Азербайджан`,BS:`Багамські Острови`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Білорусь`,BE:`Бельгія`,BZ:`Беліз`,BJ:`Бенін`,BT:`Бутан`,BO:`Болівія`,BA:`Боснія і Герцеговина`,BW:`Ботсвана`,BR:`Бразилія`,BN:`Бруней`,BG:`Болгарія`,BF:`Буркіна-Фасо`,BI:`Бурунді`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`ЦАР`,TD:`Чад`,CL:`Чилі`,CN:`Китай`,CO:`Колумбія`,KM:`Комори`,CG:`Конго`,CD:`ДР Конго`,CR:`Коста-Рика`,CI:`Кот-д'Івуар`,HR:`Хорватія`,CU:`Куба`,CY:`Кіпр`,CZ:`Чехія`,DK:`Данія`,DJ:`Джибуті`,DM:`Домініка`,DO:`Домініканська Республіка`,EC:`Еквадор`,EG:`Єгипет`,SV:`Сальвадор`,GQ:`Екваторіальна Гвінея`,ER:`Еритрея`,EE:`Естонія`,SZ:`Есватіні`,ET:`Ефіопія`,FJ:`Фіджі`,FI:`Фінляндія`,FR:`Франція`,GA:`Габон`,GM:`Гамбія`,GE:`Грузія`,DE:`Німеччина`,GH:`Гана`,GR:`Греція`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвінея`,GW:`Гвінея-Бісау`,GY:`Гаяна`,HT:`Гаїті`,HN:`Гондурас`,HU:`Угорщина`,IS:`Ісландія`,IN:`Індія`,ID:`Індонезія`,IR:`Іран`,IQ:`Ірак`,IE:`Ірландія`,IL:`Ізраїль`,IT:`Італія`,JM:`Ямайка`,JP:`Японія`,JO:`Йорданія`,KZ:`Казахстан`,KE:`Кенія`,KI:`Кірибаті`,KP:`КНДР`,KR:`Південна Корея`,KW:`Кувейт`,KG:`Киргизстан`,LA:`Лаос`,LV:`Латвія`,LB:`Ліван`,LS:`Лесото`,LR:`Ліберія`,LY:`Лівія`,LI:`Ліхтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малаві`,MY:`Малайзія`,MV:`Мальдіви`,ML:`Малі`,MT:`Мальта`,MH:`Маршаллові Острови`,MR:`Мавританія`,MU:`Маврикій`,MX:`Мексика`,FM:`Мікронезія`,MD:`Молдова`,MC:`Монако`,MN:`Монголія`,ME:`Чорногорія`,MA:`Марокко`,MZ:`Мозамбік`,MM:`М'янма`,NA:`Намібія`,NR:`Науру`,NP:`Непал`,NL:`Нідерланди`,NZ:`Нова Зеландія`,NI:`Нікарагуа`,NE:`Нігер`,NG:`Нігерія`,MK:`Північна Македонія`,NO:`Норвегія`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа Нова Гвінея`,PY:`Парагвай`,PE:`Перу`,PH:`Філіппіни`,PL:`Польща`,PT:`Португалія`,QA:`Катар`,RO:`Румунія`,RU:`Росія`,RW:`Руанда`,KN:`Сент-Кітс і Невіс`,LC:`Сент-Люсія`,VC:`Сент-Вінсент і Гренадіни`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе і Принсіпі`,SA:`Саудівська Аравія`,SN:`Сенегал`,RS:`Сербія`,SC:`Сейшели`,SL:`Сьєрра-Леоне`,SG:`Сінгапур`,SK:`Словаччина`,SI:`Словенія`,SB:`Соломонові Острови`,SO:`Сомалі`,ZA:`ПАР`,SS:`Південний Судан`,ES:`Іспанія`,LK:`Шрі-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеція`,CH:`Швейцарія`,SY:`Сирія`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзанія`,TH:`Таїланд`,TL:`Тімор-Лесте`,TG:`Того`,TO:`Тонга`,TT:`Тринідад і Тобаго`,TN:`Туніс`,TR:`Туреччина`,TM:`Туркменістан`,TV:`Тувалу`,UG:`Уганда`,UA:`Україна`,AE:`ОАЕ`,GB:`Велика Британія`,US:`США`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуела`,VN:`В'єтнам`,YE:`Ємен`,ZM:`Замбія`,ZW:`Зімбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набір`,pack:`пачка`,s:`сек`,min:`хв`,h:`год`,d:`день`,w:`тиждень`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морська миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАг`,Ah:`Аг`,Wh:`Вт·год`,kWh:`кВт·год`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/год`,mph:`mph`,kn:`вузол`,"%":`%`,ppm:`ppm`}}},Or={common:{loading:`Загрузка…`,saving:`Сохранение…`,error:`Ошибка`,back:`Назад`,yes:`Да`,no:`Нет`,notFound:`Тип не найден`,daysUnit:`дн.`,peopleUnit:`чел.`,empty:`Нет записей`},actions:{new:`Новый`,addFirst:`Добавить первую запись`,edit:`Редактировать`,editAll:`Редактировать всё`,save:`Сохранить`,create:`Создать`,cancel:`Отмена`,confirm:`Подтвердить`,confirmDelete:`Удалить эту запись?`,delete:`Удалить`,upload:`Загрузить`,replace:`Заменить`,confirmDeletePhoto:`Удалить фото?`,add:`Добавить`,actionSuccess:`Готово`,actionError:`Ошибка`,actionNotFound:`Действие не зарегистрировано`,notice:`Уведомление`},save:{saving:`Сохранение…`,done:`Сохранено`,failed:`Не удалось сохранить`},upload:{tooLarge:`Файл слишком большой (макс. 25 МБ)`,failed:`Не удалось загрузить`},embed:{open:`Открыть`,pastePlaceholder:`Вставьте URL…`,resolveFailed:`Не удалось загрузить превью`},reminder:{today:`сегодня`,inDays:`через {{days}} дн`,overdue:`просрочено {{days}} дн`},nav:{selectType:`Выберите тип в меню`,plugins:`Плагины`,home:`Главная`,search:`Поиск`,browse:`Обзор`,settings:`Настройки`},dashboard:{title:`Главная`,empty:`Нет активных полок`},settings:{title:`Настройки`,appearance:`Вид`,theme:`Тема`,language:`Язык`,systemDescription:`Настройки всей системы и базовые пакеты.`,systemUpdateTitle:`Обновить базовые пакеты (core + рантайм)`,componentsTitle:`Компоненты`,componentsDescription:`Системные пакеты и плагины: обновление, включение, удаление данных.`,personalTitle:`Личное`,usersTitle:`Пользователи`,usersDescription:`Управление всеми аккаунтами инстанса.`},theme:{label:`Тема`,auto:`Авто`,light:`Светлая`,dark:`Тёмная`,eink:`E-ink`},folders:{title:`Папки`,all:`Все`,noFolder:`Без папки`,newFolder:`+ Новая папка`,namePlaceholder:`Название папки…`,confirmDelete:`Удалить папку? Записи останутся.`,collapse:`Свернуть`,expand:`Развернуть`,newSubfolder:`Новая подпапка`,rename:`Переименовать`,delete:`Удалить`},plugins:{loading:`Загрузка…`,restartBannerBefore:`Изменения применятся после `,restartBannerBold:`перезапуска сервера`,restartBannerAfter:` (набор активных плагинов читается при старте).`,confirmPurge:`Удалить ВСЕ данные плагина «{{id}}»? Таблицы будут удалены безвозвратно.`,genericError:`Ошибка: {{code}}`,purgeButton:`Удалить данные`,purgeTitle:`Удалить все данные плагина (безвозвратно)`,switchDisable:`Выключить`,switchEnable:`Включить`,blockedByDependents:`Нельзя выключить: от него зависят включённые плагины — {{list}}`,metaDepends:`зависит:`,metaLibraries:`библиотеки:`,metaExtends:`расширения:`,updateButton:`Обновить`,updateTitle:`Обновить с v{{from}} до v{{to}}`,confirmUpdate:`Обновить плагин «{{id}}» с v{{from}} до v{{to}}? Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,updateError:`Обновление не удалось`,updateAllButton:`Обновить все ({{count}})`,runtimeLabel:`Рантайм (server/web/cli)`,confirmUpdateAll:`Обновить {{count}} компонент(ов)?
6
+ Сервер перезапуститься одразу після встановлення — переконайтесь, що він працює під process-manager'ом (systemd/pm2/docker), який автоматично його підніме. Рекомендовано зробити резервну копію бази даних заздалегідь.`,errors:{core_required:`Плагін core вимкнути не можна.`,has_dependents:`Від нього залежать увімкнені: {{list}}.`,missing_deps:`Спершу увімкни залежності: {{list}}.`,unknown_plugin:`Невідомий плагін.`}},auth:{loginTitle:`Вхід`,welcomeEyebrow:`Особистий простір`,welcomeTitle:`Ваші дані. Під вашим контролем.`,welcomeText:`Увійдіть, щоб продовжити роботу з Coffer.`,secureConnection:`Захищене з’єднання`,setupTitle:`Створити першого адміністратора`,login:`Логін`,password:`Пароль`,displayName:`Ім'я`,signIn:`Увійти`,createAccount:`Створити акаунт`,invalidCredentials:`Невірний логін або пароль.`,genericError:`Щось пішло не так.`,accountTitle:`Мій акаунт`,fieldDisplayName:`Ім'я`,fieldLogin:`Логін`,fieldPasswordOptional:`Новий пароль (лишіть порожнім, щоб не міняти)`,tokensTitle:`API-токени`,tokenNamePlaceholder:`Назва токена (напр. "agent")`,tokenCreate:`Створити токен`,tokenCreatedOnce:`Скопіюйте токен зараз — більше він не покажеться:`,tokenRevoke:`Відкликати`,tokenConfirmRevoke:`Відкликати цей токен? Усе, що його використовує, перестане працювати.`,grantsTitle:`Підключені застосунки`,grantsEmpty:`Жоден застосунок ще не авторизовано. Вони зʼявляться тут після підтвердження на екрані згоди Coffer.`,grantConfirmRevoke:`Відключити цей застосунок? Його токени доступу перестануть працювати одразу.`,usersTitle:`Користувачі`,addUser:`Додати користувача`,roleAdmin:`Адмін`,roleMember:`Учасник`,fieldRole:`Роль`,fieldDisabled:`Вимкнено`,userCreateTitle:`Новий користувач`,lastAdminError:`Не можна прибрати останнього адміна.`},form:{serverRejected:`Сервер відхилив:`,createTitle:`Новий — {{label}}`,editTitle:`Редагувати — {{label}}`,mdPlaceholder:`Текст у форматі Markdown…`,photo:`+ Фото`,properties:`Властивості`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значення`,addProperty:`Властивість`,days:`дн`,hours:`год`,minutes:`хв`,seconds:`с`,addTag:`Додати тег…`,addRow:`+ Додати рядок`,search:`Пошук…`,loading:`Завантаження…`,loadError:`Помилка завантаження`,noRecords:`Немає записів`,addRecord:`+ Додати…`,addItem:`+ Додати пункт`},list:{empty:`Поки порожньо`,searchPlaceholder:`Пошук…`,sortBy:`Сортувати за`,sortNone:`Без сортування`,asc:`За зростанням`,desc:`За спаданням`,peopleCount_one:`{{count}} ос.`,peopleCount_few:`{{count}} ос.`,peopleCount_many:`{{count}} ос.`,peopleCount_other:`{{count}} ос.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пари`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальний пошук`,placeholder:`Пошук полиць і записів…`,allShelves:`Усі полиці`,results:`Результати`,noResults:`Нічого не знайдено`},record:{count_one:`{{count}} запис`,count_few:`{{count}} записи`,count_many:`{{count}} записів`,count_other:`{{count}} записів`,hide:`Сховати`,show:`Показати`},extend:{shownWhen:`Показується коли:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Нд`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обов'язкове поле`,invalid_type:`неприпустимий тип значення`,min_length:`мінімум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`неприпустимий формат`,email:`некоректна email-адреса`,min:`не менше {{min}}`,max:`не більше {{max}}`,int:`має бути цілим`,date_format:`формат YYYY-MM-DD`,date_min:`не раніше {{min}}`,date_max:`не пізніше {{max}}`,enum:`оберіть зі списку`,json:`невалідний JSON`,structure:`невалідна структура`,int_list:`невалідні посилання на записи`,kv_single:`дозволено лише одну пару`,links_structure:`невалідна структура підключень`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`очікується масив тегів`,slotted_length:`невірна кількість елементів`,check_structure:`невалідна структура відмітки`,measured_structure:`очікується {value, unit}`,measured_unit:`невідома одиниця`,money_structure:`некоректна сума`,geo_structure:`очікується {lat, lng}`,money_currency:`невідома валюта`,color_format:`формат #RRGGBB`,row_structure:`невалідна структура рядків`,row_duplicate:`значення «{{key}}» повторюється між рядками`,array:`очікується масив`,array_item:`невалідне значення у масиві`,ip_structure:`невалідна IP-адреса`,cidr_structure:`невалідний CIDR`,per_weekday:`масив із 7 чисел`,period_order:`початок не може бути після кінця`,range_structure:`очікується {from, to}`,last_admin:`Не можна прибрати останнього адміна.`,range_order:`from має бути ≤ to`,file_structure:`некоректний файл`,file_remote_url:`file-поле тримає завантажений файл, а не віддалений URL`,file_unknown_key:`у файлі можуть бути лише name, mime і size`,file_name:`очікується голе ім’я файлу, без шляху`,file_not_uploaded:`такого завантаженого файлу немає — спершу завантажте його`,code_structure:`очікується {code, lang}`,url:`некоректний URL`,embed_structure:`некоректне вкладення`,colorname:`невідома назва кольору`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публічна адреса`,publicUrlHint:`Лише origin, без кінцевого слеша — напр. https://coffer.example`,language:`Мова`},fields:{type:`Тип`,name:`Назва`,weekday:`День тижня`,value:`Значення`,text:`Текст`,check:`Позначка`},presets:{slug:`лише малі латинські літери, цифри й дефіс`,imei:`IMEI — рівно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 літери, 2 цифри, далі літери й цифри (без пробілів)`,hostname:`імʼя хоста / FQDN (мітки через крапку: літери, цифри, дефіс)`,tel:`номер телефону`,link:`URL (scheme:// або домен із крапкою)`},lookup:{enough:`Досить`,partial:`Частково`,missing:`Немає`,noData:`немає даних`},period:{from:`З`,until:`По`},sex:{M:`Чоловіча`,F:`Жіноча`,other:`Інша`},weekdays:{mon:`Понеділок`,tue:`Вівторок`,wed:`Середа`,thu:`Четвер`,fri:`П'ятниця`,sat:`Субота`,sun:`Неділя`},colors:x.uk,countries:{AF:`Афганістан`,AL:`Албанія`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа і Барбуда`,AR:`Аргентина`,AM:`Вірменія`,AU:`Австралія`,AT:`Австрія`,AZ:`Азербайджан`,BS:`Багамські Острови`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Білорусь`,BE:`Бельгія`,BZ:`Беліз`,BJ:`Бенін`,BT:`Бутан`,BO:`Болівія`,BA:`Боснія і Герцеговина`,BW:`Ботсвана`,BR:`Бразилія`,BN:`Бруней`,BG:`Болгарія`,BF:`Буркіна-Фасо`,BI:`Бурунді`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`ЦАР`,TD:`Чад`,CL:`Чилі`,CN:`Китай`,CO:`Колумбія`,KM:`Комори`,CG:`Конго`,CD:`ДР Конго`,CR:`Коста-Рика`,CI:`Кот-д'Івуар`,HR:`Хорватія`,CU:`Куба`,CY:`Кіпр`,CZ:`Чехія`,DK:`Данія`,DJ:`Джибуті`,DM:`Домініка`,DO:`Домініканська Республіка`,EC:`Еквадор`,EG:`Єгипет`,SV:`Сальвадор`,GQ:`Екваторіальна Гвінея`,ER:`Еритрея`,EE:`Естонія`,SZ:`Есватіні`,ET:`Ефіопія`,FJ:`Фіджі`,FI:`Фінляндія`,FR:`Франція`,GA:`Габон`,GM:`Гамбія`,GE:`Грузія`,DE:`Німеччина`,GH:`Гана`,GR:`Греція`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвінея`,GW:`Гвінея-Бісау`,GY:`Гаяна`,HT:`Гаїті`,HN:`Гондурас`,HU:`Угорщина`,IS:`Ісландія`,IN:`Індія`,ID:`Індонезія`,IR:`Іран`,IQ:`Ірак`,IE:`Ірландія`,IL:`Ізраїль`,IT:`Італія`,JM:`Ямайка`,JP:`Японія`,JO:`Йорданія`,KZ:`Казахстан`,KE:`Кенія`,KI:`Кірибаті`,KP:`КНДР`,KR:`Південна Корея`,KW:`Кувейт`,KG:`Киргизстан`,LA:`Лаос`,LV:`Латвія`,LB:`Ліван`,LS:`Лесото`,LR:`Ліберія`,LY:`Лівія`,LI:`Ліхтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малаві`,MY:`Малайзія`,MV:`Мальдіви`,ML:`Малі`,MT:`Мальта`,MH:`Маршаллові Острови`,MR:`Мавританія`,MU:`Маврикій`,MX:`Мексика`,FM:`Мікронезія`,MD:`Молдова`,MC:`Монако`,MN:`Монголія`,ME:`Чорногорія`,MA:`Марокко`,MZ:`Мозамбік`,MM:`М'янма`,NA:`Намібія`,NR:`Науру`,NP:`Непал`,NL:`Нідерланди`,NZ:`Нова Зеландія`,NI:`Нікарагуа`,NE:`Нігер`,NG:`Нігерія`,MK:`Північна Македонія`,NO:`Норвегія`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа Нова Гвінея`,PY:`Парагвай`,PE:`Перу`,PH:`Філіппіни`,PL:`Польща`,PT:`Португалія`,QA:`Катар`,RO:`Румунія`,RU:`Росія`,RW:`Руанда`,KN:`Сент-Кітс і Невіс`,LC:`Сент-Люсія`,VC:`Сент-Вінсент і Гренадіни`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе і Принсіпі`,SA:`Саудівська Аравія`,SN:`Сенегал`,RS:`Сербія`,SC:`Сейшели`,SL:`Сьєрра-Леоне`,SG:`Сінгапур`,SK:`Словаччина`,SI:`Словенія`,SB:`Соломонові Острови`,SO:`Сомалі`,ZA:`ПАР`,SS:`Південний Судан`,ES:`Іспанія`,LK:`Шрі-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеція`,CH:`Швейцарія`,SY:`Сирія`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзанія`,TH:`Таїланд`,TL:`Тімор-Лесте`,TG:`Того`,TO:`Тонга`,TT:`Тринідад і Тобаго`,TN:`Туніс`,TR:`Туреччина`,TM:`Туркменістан`,TV:`Тувалу`,UG:`Уганда`,UA:`Україна`,AE:`ОАЕ`,GB:`Велика Британія`,US:`США`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуела`,VN:`В'єтнам`,YE:`Ємен`,ZM:`Замбія`,ZW:`Зімбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набір`,pack:`пачка`,s:`сек`,min:`хв`,h:`год`,d:`день`,w:`тиждень`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морська миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАг`,Ah:`Аг`,Wh:`Вт·год`,kWh:`кВт·год`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/год`,mph:`mph`,kn:`вузол`,"%":`%`,ppm:`ppm`}}},Or={common:{loading:`Загрузка…`,saving:`Сохранение…`,error:`Ошибка`,back:`Назад`,yes:`Да`,no:`Нет`,notFound:`Тип не найден`,daysUnit:`дн.`,peopleUnit:`чел.`,empty:`Нет записей`},actions:{new:`Новый`,addFirst:`Добавить первую запись`,edit:`Редактировать`,editAll:`Редактировать всё`,save:`Сохранить`,create:`Создать`,cancel:`Отмена`,confirm:`Подтвердить`,confirmDelete:`Удалить эту запись?`,delete:`Удалить`,upload:`Загрузить`,replace:`Заменить`,confirmDeletePhoto:`Удалить фото?`,add:`Добавить`,actionSuccess:`Готово`,actionError:`Ошибка`,actionNotFound:`Действие не зарегистрировано`,notice:`Уведомление`},save:{saving:`Сохранение…`,done:`Сохранено`,failed:`Не удалось сохранить`},upload:{tooLarge:`Файл слишком большой (макс. 25 МБ)`,failed:`Не удалось загрузить`},embed:{open:`Открыть`,pastePlaceholder:`Вставьте URL…`,resolveFailed:`Не удалось загрузить превью`},reminder:{today:`сегодня`,inDays:`через {{days}} дн`,overdue:`просрочено {{days}} дн`},nav:{selectType:`Выберите тип в меню`,plugins:`Плагины`,home:`Главная`,search:`Поиск`,browse:`Обзор`,settings:`Настройки`},dashboard:{title:`Главная`,empty:`Нет активных полок`},settings:{title:`Настройки`,appearance:`Вид`,theme:`Тема`,language:`Язык`,systemDescription:`Настройки всей системы и базовые пакеты.`,systemUpdateTitle:`Обновить базовые пакеты (core + рантайм)`,componentsTitle:`Компоненты`,componentsDescription:`Системные пакеты и плагины: обновление, включение, удаление данных.`,personalTitle:`Личное`,usersTitle:`Пользователи`,usersDescription:`Управление всеми аккаунтами инстанса.`},theme:{label:`Тема`,auto:`Авто`,light:`Светлая`,dark:`Тёмная`,eink:`E-ink`},folders:{title:`Папки`,all:`Все`,noFolder:`Без папки`,newFolder:`+ Новая папка`,namePlaceholder:`Название папки…`,confirmDelete:`Удалить папку? Записи останутся.`,collapse:`Свернуть`,expand:`Развернуть`,newSubfolder:`Новая подпапка`,rename:`Переименовать`,delete:`Удалить`},plugins:{loading:`Загрузка…`,restartBannerBefore:`Изменения применятся после `,restartBannerBold:`перезапуска сервера`,restartBannerAfter:` (набор активных плагинов читается при старте).`,confirmPurge:`Удалить ВСЕ данные плагина «{{id}}»? Таблицы будут удалены безвозвратно.`,genericError:`Ошибка: {{code}}`,purgeButton:`Удалить данные`,purgeTitle:`Удалить все данные плагина (безвозвратно)`,switchDisable:`Выключить`,switchEnable:`Включить`,blockedByDependents:`Нельзя выключить: от него зависят включённые плагины — {{list}}`,metaDepends:`зависит:`,metaLibraries:`библиотеки:`,metaExtends:`расширения:`,updateButton:`Обновить`,updateTitle:`Обновить с v{{from}} до v{{to}}`,confirmUpdate:`Обновить плагин «{{id}}» с v{{from}} до v{{to}}? Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,updateError:`Обновление не удалось`,updateAllButton:`Обновить все ({{count}})`,runtimeLabel:`Рантайм (server/web/cli)`,confirmUpdateAll:`Обновить {{count}} компонент(ов)?
7
7
 
8
8
  {{list}}
9
9
 
10
- Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,errors:{core_required:`Плагин core нельзя выключить.`,has_dependents:`От него зависят включённые: {{list}}.`,missing_deps:`Сначала включи зависимости: {{list}}.`,unknown_plugin:`Неизвестный плагин.`}},auth:{loginTitle:`Вход`,setupTitle:`Создать первого администратора`,login:`Логин`,password:`Пароль`,displayName:`Имя`,signIn:`Войти`,createAccount:`Создать аккаунт`,invalidCredentials:`Неверный логин или пароль.`,genericError:`Что-то пошло не так.`,accountTitle:`Мой аккаунт`,fieldDisplayName:`Имя`,fieldLogin:`Логин`,fieldPasswordOptional:`Новый пароль (оставьте пустым, чтобы не менять)`,tokensTitle:`API-токены`,tokenNamePlaceholder:`Название токена (напр. "agent")`,tokenCreate:`Создать токен`,tokenCreatedOnce:`Скопируйте токен сейчас — он больше не будет показан:`,tokenRevoke:`Отозвать`,tokenConfirmRevoke:`Отозвать этот токен? Всё, что его использует, перестанет работать.`,grantsTitle:`Подключённые приложения`,grantsEmpty:`Ни одно приложение ещё не авторизовано. Они появятся здесь после подтверждения на экране согласия Coffer.`,grantConfirmRevoke:`Отключить это приложение? Его токены доступа перестанут работать сразу.`,usersTitle:`Пользователи`,addUser:`Добавить пользователя`,roleAdmin:`Админ`,roleMember:`Участник`,fieldRole:`Роль`,fieldDisabled:`Отключён`,userCreateTitle:`Новый пользователь`,lastAdminError:`Нельзя убрать последнего админа.`},form:{serverRejected:`Сервер отклонил:`,createTitle:`Новый — {{label}}`,editTitle:`Редактировать — {{label}}`,mdPlaceholder:`Текст в формате Markdown…`,photo:`+ Фото`,properties:`Свойства`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значение`,addProperty:`Свойство`,days:`дн`,hours:`ч`,minutes:`мин`,seconds:`с`,addTag:`Добавить тег…`,addRow:`+ Добавить строку`,search:`Поиск…`,loading:`Загрузка…`,loadError:`Ошибка загрузки`,noRecords:`Нет записей`,addRecord:`+ Добавить…`,addItem:`+ Добавить пункт`},list:{empty:`Пока пусто`,searchPlaceholder:`Поиск…`,sortBy:`Сортировать по`,sortNone:`Без сортировки`,asc:`По возрастанию`,desc:`По убыванию`,peopleCount_one:`{{count}} чел.`,peopleCount_few:`{{count}} чел.`,peopleCount_many:`{{count}} чел.`,peopleCount_other:`{{count}} чел.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пары`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальный поиск`,placeholder:`Поиск полок и записей…`,allShelves:`Все полки`,results:`Результаты`,noResults:`Ничего не найдено`},record:{count_one:`{{count}} запись`,count_few:`{{count}} записи`,count_many:`{{count}} записей`,count_other:`{{count}} записей`,hide:`Скрыть`,show:`Показать`},extend:{shownWhen:`Показывается когда:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обязательное поле`,invalid_type:`недопустимый тип значения`,min_length:`минимум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`недопустимый формат`,email:`некорректный email-адрес`,min:`не меньше {{min}}`,max:`не больше {{max}}`,int:`должно быть целым`,date_format:`формат YYYY-MM-DD`,date_min:`не раньше {{min}}`,date_max:`не позже {{max}}`,enum:`выберите из списка`,json:`невалидный JSON`,structure:`недопустимая структура`,int_list:`недопустимые ссылки на записи`,kv_single:`допустима только одна пара`,links_structure:`недопустимая структура подключений`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`ожидается массив тегов`,slotted_length:`неверное количество элементов`,check_structure:`неверная структура отметки`,measured_structure:`ожидается {value, unit}`,measured_unit:`неизвестная единица`,money_structure:`некорректная сумма`,geo_structure:`ожидается {lat, lng}`,money_currency:`неизвестная валюта`,color_format:`формат #RRGGBB`,row_structure:`недопустимая структура строк`,row_duplicate:`значение «{{key}}» повторяется между строками`,array:`ожидается массив`,array_item:`недопустимое значение в массиве`,ip_structure:`недопустимый IP-адрес`,cidr_structure:`недопустимый CIDR`,per_weekday:`массив из 7 чисел`,period_order:`начало не должно быть позже конца`,range_structure:`ожидается {from, to}`,last_admin:`Нельзя убрать последнего админа.`,range_order:`from должно быть ≤ to`,file_structure:`некорректный файл`,file_remote_url:`file-поле хранит загруженный файл, а не удалённый URL`,file_unknown_key:`у файла могут быть только name, mime и size`,file_name:`ожидается голое имя файла, без пути`,file_not_uploaded:`такого загруженного файла нет — сначала загрузите его`,code_structure:`ожидается {code, lang}`,url:`некорректный URL`,embed_structure:`некорректное вложение`,colorname:`неизвестное название цвета`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публичный адрес`,publicUrlHint:`Только origin, без завершающего слеша — напр. https://coffer.example`,language:`Язык`},fields:{type:`Тип`,name:`Название`,weekday:`День недели`,value:`Значение`,text:`Текст`,check:`Отметка`},presets:{slug:`только строчные латинские буквы, цифры и дефис`,imei:`IMEI — ровно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 буквы, 2 цифры, далее буквы и цифры (без пробелов)`,hostname:`имя хоста / FQDN (метки через точку: буквы, цифры, дефис)`,tel:`номер телефона`,link:`URL (scheme:// или домен с точкой)`},lookup:{enough:`Достаточно`,partial:`Частично`,missing:`Нет`,noData:`нет данных`},period:{from:`С`,until:`По`},sex:{M:`Мужской`,F:`Женский`,other:`Другой`},weekdays:{mon:`Понедельник`,tue:`Вторник`,wed:`Среда`,thu:`Четверг`,fri:`Пятница`,sat:`Суббота`,sun:`Воскресенье`},colors:x.ru,countries:{AF:`Афганистан`,AL:`Албания`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа и Барбуда`,AR:`Аргентина`,AM:`Армения`,AU:`Австралия`,AT:`Австрия`,AZ:`Азербайджан`,BS:`Багамы`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Беларусь`,BE:`Бельгия`,BZ:`Белиз`,BJ:`Бенин`,BT:`Бутан`,BO:`Боливия`,BA:`Босния и Герцеговина`,BW:`Ботсвана`,BR:`Бразилия`,BN:`Бруней`,BG:`Болгария`,BF:`Буркина-Фасо`,BI:`Бурунди`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`Центрально-Африканская Республика`,TD:`Чад`,CL:`Чили`,CN:`Китай`,CO:`Колумбия`,KM:`Коморы`,CG:`Конго - Браззавиль`,CD:`Конго - Киншаса`,CR:`Коста-Рика`,CI:`Кот-д’Ивуар`,HR:`Хорватия`,CU:`Куба`,CY:`Кипр`,CZ:`Чехия`,DK:`Дания`,DJ:`Джибути`,DM:`Доминика`,DO:`Доминиканская Республика`,EC:`Эквадор`,EG:`Египет`,SV:`Сальвадор`,GQ:`Экваториальная Гвинея`,ER:`Эритрея`,EE:`Эстония`,SZ:`Эсватини`,ET:`Эфиопия`,FJ:`Фиджи`,FI:`Финляндия`,FR:`Франция`,GA:`Габон`,GM:`Гамбия`,GE:`Грузия`,DE:`Германия`,GH:`Гана`,GR:`Греция`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвинея`,GW:`Гвинея-Бисау`,GY:`Гайана`,HT:`Гаити`,HN:`Гондурас`,HU:`Венгрия`,IS:`Исландия`,IN:`Индия`,ID:`Индонезия`,IR:`Иран`,IQ:`Ирак`,IE:`Ирландия`,IL:`Израиль`,IT:`Италия`,JM:`Ямайка`,JP:`Япония`,JO:`Иордания`,KZ:`Казахстан`,KE:`Кения`,KI:`Кирибати`,KP:`КНДР`,KR:`Республика Корея`,KW:`Кувейт`,KG:`Киргизия`,LA:`Лаос`,LV:`Латвия`,LB:`Ливан`,LS:`Лесото`,LR:`Либерия`,LY:`Ливия`,LI:`Лихтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малави`,MY:`Малайзия`,MV:`Мальдивы`,ML:`Мали`,MT:`Мальта`,MH:`Маршалловы о-ва`,MR:`Мавритания`,MU:`Маврикий`,MX:`Мексика`,FM:`Федеративные Штаты Микронезии`,MD:`Молдова`,MC:`Монако`,MN:`Монголия`,ME:`Черногория`,MA:`Марокко`,MZ:`Мозамбик`,MM:`Мьянма (Бирма)`,NA:`Намибия`,NR:`Науру`,NP:`Непал`,NL:`Нидерланды`,NZ:`Новая Зеландия`,NI:`Никарагуа`,NE:`Нигер`,NG:`Нигерия`,MK:`Северная Македония`,NO:`Норвегия`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа — Новая Гвинея`,PY:`Парагвай`,PE:`Перу`,PH:`Филиппины`,PL:`Польша`,PT:`Португалия`,QA:`Катар`,RO:`Румыния`,RU:`Россия`,RW:`Руанда`,KN:`Сент-Китс и Невис`,LC:`Сент-Люсия`,VC:`Сент-Винсент и Гренадины`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе и Принсипи`,SA:`Саудовская Аравия`,SN:`Сенегал`,RS:`Сербия`,SC:`Сейшельские о-ва`,SL:`Сьерра-Леоне`,SG:`Сингапур`,SK:`Словакия`,SI:`Словения`,SB:`Соломоновы о-ва`,SO:`Сомали`,ZA:`Южно-Африканская Республика`,SS:`Южный Судан`,ES:`Испания`,LK:`Шри-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеция`,CH:`Швейцария`,SY:`Сирия`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзания`,TH:`Таиланд`,TL:`Восточный Тимор`,TG:`Того`,TO:`Тонга`,TT:`Тринидад и Тобаго`,TN:`Тунис`,TR:`Турция`,TM:`Туркменистан`,TV:`Тувалу`,UG:`Уганда`,UA:`Украина`,AE:`ОАЭ`,GB:`Великобритания`,US:`Соединенные Штаты`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуэла`,VN:`Вьетнам`,YE:`Йемен`,ZM:`Замбия`,ZW:`Зимбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набор`,pack:`пачка`,s:`сек`,min:`мин`,h:`ч`,d:`день`,w:`неделя`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морская миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАч`,Ah:`Ач`,Wh:`Вт·ч`,kWh:`кВт·ч`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/ч`,mph:`mph`,kn:`узел`,"%":`%`,ppm:`ppm`}}},kr={common:{loading:`Loading…`,saving:`Saving…`,error:`Error`,back:`Back`,yes:`Yes`,no:`No`,notFound:`Type not found`,daysUnit:`d`,peopleUnit:`ppl`,empty:`No records`},actions:{new:`New`,addFirst:`Add first record`,edit:`Edit`,editAll:`Edit all`,save:`Save`,create:`Create`,cancel:`Cancel`,confirm:`Confirm`,confirmDelete:`Delete this record?`,delete:`Delete`,upload:`Upload`,replace:`Replace`,confirmDeletePhoto:`Delete photo?`,add:`Add`,actionSuccess:`Done`,actionError:`Error`,actionNotFound:`Action not registered`,notice:`Notice`},save:{saving:`Saving…`,done:`Saved`,failed:`Save failed`},upload:{tooLarge:`File too large (max 25 MB)`,failed:`Upload failed`},embed:{open:`Open`,pastePlaceholder:`Paste a URL…`,resolveFailed:`Could not load preview`},reminder:{today:`today`,inDays:`in {{days}}d`,overdue:`overdue {{days}}d`},nav:{selectType:`Select a type from the menu`,plugins:`Plugins`,home:`Home`,search:`Search`,browse:`Browse`,settings:`Settings`},dashboard:{title:`Home`,empty:`No active shelves`},settings:{title:`Settings`,appearance:`Appearance`,theme:`Theme`,language:`Language`,systemDescription:`App-wide settings and base packages.`,systemUpdateTitle:`Update the base packages (core + runtime)`,componentsTitle:`Components`,componentsDescription:`System packages and plugins: updates, enable/disable, purge data.`,personalTitle:`Personal`,usersTitle:`Users`,usersDescription:`Manage every account on this instance.`},theme:{label:`Theme`,auto:`Auto`,light:`Light`,dark:`Dark`,eink:`E-ink`},group:{title:`Grouping`,field:`Field`,all:`All records`,noValue:`No value`,yes:`Yes`,no:`No`},plugins:{loading:`Loading…`,restartBannerBefore:`Changes will take effect after `,restartBannerBold:`server restart`,restartBannerAfter:` (the active plugin set is read at startup).`,confirmPurge:`Delete ALL data for plugin "{{id}}"? Tables will be dropped permanently.`,genericError:`Error: {{code}}`,purgeButton:`Delete data`,purgeTitle:`Delete all plugin data (permanently)`,switchDisable:`Disable`,switchEnable:`Enable`,blockedByDependents:`Can't disable: enabled plugins depend on it — {{list}}`,metaDepends:`depends on:`,metaLibraries:`libraries:`,metaExtends:`extends:`,updateButton:`Update`,updateTitle:`Update from v{{from}} to v{{to}}`,confirmUpdate:`Update plugin "{{id}}" from v{{from}} to v{{to}}? The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,updateError:`Update failed`,updateAllButton:`Update all ({{count}})`,runtimeLabel:`Runtime (server/web/cli)`,confirmUpdateAll:`Update {{count}} component(s)?
10
+ Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,errors:{core_required:`Плагин core нельзя выключить.`,has_dependents:`От него зависят включённые: {{list}}.`,missing_deps:`Сначала включи зависимости: {{list}}.`,unknown_plugin:`Неизвестный плагин.`}},auth:{loginTitle:`Вход`,welcomeEyebrow:`Личное пространство`,welcomeTitle:`Ваши данные. Под вашим контролем.`,welcomeText:`Войдите, чтобы продолжить работу с Coffer.`,secureConnection:`Защищённое соединение`,setupTitle:`Создать первого администратора`,login:`Логин`,password:`Пароль`,displayName:`Имя`,signIn:`Войти`,createAccount:`Создать аккаунт`,invalidCredentials:`Неверный логин или пароль.`,genericError:`Что-то пошло не так.`,accountTitle:`Мой аккаунт`,fieldDisplayName:`Имя`,fieldLogin:`Логин`,fieldPasswordOptional:`Новый пароль (оставьте пустым, чтобы не менять)`,tokensTitle:`API-токены`,tokenNamePlaceholder:`Название токена (напр. "agent")`,tokenCreate:`Создать токен`,tokenCreatedOnce:`Скопируйте токен сейчас — он больше не будет показан:`,tokenRevoke:`Отозвать`,tokenConfirmRevoke:`Отозвать этот токен? Всё, что его использует, перестанет работать.`,grantsTitle:`Подключённые приложения`,grantsEmpty:`Ни одно приложение ещё не авторизовано. Они появятся здесь после подтверждения на экране согласия Coffer.`,grantConfirmRevoke:`Отключить это приложение? Его токены доступа перестанут работать сразу.`,usersTitle:`Пользователи`,addUser:`Добавить пользователя`,roleAdmin:`Админ`,roleMember:`Участник`,fieldRole:`Роль`,fieldDisabled:`Отключён`,userCreateTitle:`Новый пользователь`,lastAdminError:`Нельзя убрать последнего админа.`},form:{serverRejected:`Сервер отклонил:`,createTitle:`Новый — {{label}}`,editTitle:`Редактировать — {{label}}`,mdPlaceholder:`Текст в формате Markdown…`,photo:`+ Фото`,properties:`Свойства`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значение`,addProperty:`Свойство`,days:`дн`,hours:`ч`,minutes:`мин`,seconds:`с`,addTag:`Добавить тег…`,addRow:`+ Добавить строку`,search:`Поиск…`,loading:`Загрузка…`,loadError:`Ошибка загрузки`,noRecords:`Нет записей`,addRecord:`+ Добавить…`,addItem:`+ Добавить пункт`},list:{empty:`Пока пусто`,searchPlaceholder:`Поиск…`,sortBy:`Сортировать по`,sortNone:`Без сортировки`,asc:`По возрастанию`,desc:`По убыванию`,peopleCount_one:`{{count}} чел.`,peopleCount_few:`{{count}} чел.`,peopleCount_many:`{{count}} чел.`,peopleCount_other:`{{count}} чел.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пары`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальный поиск`,placeholder:`Поиск полок и записей…`,allShelves:`Все полки`,results:`Результаты`,noResults:`Ничего не найдено`},record:{count_one:`{{count}} запись`,count_few:`{{count}} записи`,count_many:`{{count}} записей`,count_other:`{{count}} записей`,hide:`Скрыть`,show:`Показать`},extend:{shownWhen:`Показывается когда:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обязательное поле`,invalid_type:`недопустимый тип значения`,min_length:`минимум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`недопустимый формат`,email:`некорректный email-адрес`,min:`не меньше {{min}}`,max:`не больше {{max}}`,int:`должно быть целым`,date_format:`формат YYYY-MM-DD`,date_min:`не раньше {{min}}`,date_max:`не позже {{max}}`,enum:`выберите из списка`,json:`невалидный JSON`,structure:`недопустимая структура`,int_list:`недопустимые ссылки на записи`,kv_single:`допустима только одна пара`,links_structure:`недопустимая структура подключений`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`ожидается массив тегов`,slotted_length:`неверное количество элементов`,check_structure:`неверная структура отметки`,measured_structure:`ожидается {value, unit}`,measured_unit:`неизвестная единица`,money_structure:`некорректная сумма`,geo_structure:`ожидается {lat, lng}`,money_currency:`неизвестная валюта`,color_format:`формат #RRGGBB`,row_structure:`недопустимая структура строк`,row_duplicate:`значение «{{key}}» повторяется между строками`,array:`ожидается массив`,array_item:`недопустимое значение в массиве`,ip_structure:`недопустимый IP-адрес`,cidr_structure:`недопустимый CIDR`,per_weekday:`массив из 7 чисел`,period_order:`начало не должно быть позже конца`,range_structure:`ожидается {from, to}`,last_admin:`Нельзя убрать последнего админа.`,range_order:`from должно быть ≤ to`,file_structure:`некорректный файл`,file_remote_url:`file-поле хранит загруженный файл, а не удалённый URL`,file_unknown_key:`у файла могут быть только name, mime и size`,file_name:`ожидается голое имя файла, без пути`,file_not_uploaded:`такого загруженного файла нет — сначала загрузите его`,code_structure:`ожидается {code, lang}`,url:`некорректный URL`,embed_structure:`некорректное вложение`,colorname:`неизвестное название цвета`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публичный адрес`,publicUrlHint:`Только origin, без завершающего слеша — напр. https://coffer.example`,language:`Язык`},fields:{type:`Тип`,name:`Название`,weekday:`День недели`,value:`Значение`,text:`Текст`,check:`Отметка`},presets:{slug:`только строчные латинские буквы, цифры и дефис`,imei:`IMEI — ровно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 буквы, 2 цифры, далее буквы и цифры (без пробелов)`,hostname:`имя хоста / FQDN (метки через точку: буквы, цифры, дефис)`,tel:`номер телефона`,link:`URL (scheme:// или домен с точкой)`},lookup:{enough:`Достаточно`,partial:`Частично`,missing:`Нет`,noData:`нет данных`},period:{from:`С`,until:`По`},sex:{M:`Мужской`,F:`Женский`,other:`Другой`},weekdays:{mon:`Понедельник`,tue:`Вторник`,wed:`Среда`,thu:`Четверг`,fri:`Пятница`,sat:`Суббота`,sun:`Воскресенье`},colors:x.ru,countries:{AF:`Афганистан`,AL:`Албания`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа и Барбуда`,AR:`Аргентина`,AM:`Армения`,AU:`Австралия`,AT:`Австрия`,AZ:`Азербайджан`,BS:`Багамы`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Беларусь`,BE:`Бельгия`,BZ:`Белиз`,BJ:`Бенин`,BT:`Бутан`,BO:`Боливия`,BA:`Босния и Герцеговина`,BW:`Ботсвана`,BR:`Бразилия`,BN:`Бруней`,BG:`Болгария`,BF:`Буркина-Фасо`,BI:`Бурунди`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`Центрально-Африканская Республика`,TD:`Чад`,CL:`Чили`,CN:`Китай`,CO:`Колумбия`,KM:`Коморы`,CG:`Конго - Браззавиль`,CD:`Конго - Киншаса`,CR:`Коста-Рика`,CI:`Кот-д’Ивуар`,HR:`Хорватия`,CU:`Куба`,CY:`Кипр`,CZ:`Чехия`,DK:`Дания`,DJ:`Джибути`,DM:`Доминика`,DO:`Доминиканская Республика`,EC:`Эквадор`,EG:`Египет`,SV:`Сальвадор`,GQ:`Экваториальная Гвинея`,ER:`Эритрея`,EE:`Эстония`,SZ:`Эсватини`,ET:`Эфиопия`,FJ:`Фиджи`,FI:`Финляндия`,FR:`Франция`,GA:`Габон`,GM:`Гамбия`,GE:`Грузия`,DE:`Германия`,GH:`Гана`,GR:`Греция`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвинея`,GW:`Гвинея-Бисау`,GY:`Гайана`,HT:`Гаити`,HN:`Гондурас`,HU:`Венгрия`,IS:`Исландия`,IN:`Индия`,ID:`Индонезия`,IR:`Иран`,IQ:`Ирак`,IE:`Ирландия`,IL:`Израиль`,IT:`Италия`,JM:`Ямайка`,JP:`Япония`,JO:`Иордания`,KZ:`Казахстан`,KE:`Кения`,KI:`Кирибати`,KP:`КНДР`,KR:`Республика Корея`,KW:`Кувейт`,KG:`Киргизия`,LA:`Лаос`,LV:`Латвия`,LB:`Ливан`,LS:`Лесото`,LR:`Либерия`,LY:`Ливия`,LI:`Лихтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малави`,MY:`Малайзия`,MV:`Мальдивы`,ML:`Мали`,MT:`Мальта`,MH:`Маршалловы о-ва`,MR:`Мавритания`,MU:`Маврикий`,MX:`Мексика`,FM:`Федеративные Штаты Микронезии`,MD:`Молдова`,MC:`Монако`,MN:`Монголия`,ME:`Черногория`,MA:`Марокко`,MZ:`Мозамбик`,MM:`Мьянма (Бирма)`,NA:`Намибия`,NR:`Науру`,NP:`Непал`,NL:`Нидерланды`,NZ:`Новая Зеландия`,NI:`Никарагуа`,NE:`Нигер`,NG:`Нигерия`,MK:`Северная Македония`,NO:`Норвегия`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа — Новая Гвинея`,PY:`Парагвай`,PE:`Перу`,PH:`Филиппины`,PL:`Польша`,PT:`Португалия`,QA:`Катар`,RO:`Румыния`,RU:`Россия`,RW:`Руанда`,KN:`Сент-Китс и Невис`,LC:`Сент-Люсия`,VC:`Сент-Винсент и Гренадины`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе и Принсипи`,SA:`Саудовская Аравия`,SN:`Сенегал`,RS:`Сербия`,SC:`Сейшельские о-ва`,SL:`Сьерра-Леоне`,SG:`Сингапур`,SK:`Словакия`,SI:`Словения`,SB:`Соломоновы о-ва`,SO:`Сомали`,ZA:`Южно-Африканская Республика`,SS:`Южный Судан`,ES:`Испания`,LK:`Шри-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеция`,CH:`Швейцария`,SY:`Сирия`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзания`,TH:`Таиланд`,TL:`Восточный Тимор`,TG:`Того`,TO:`Тонга`,TT:`Тринидад и Тобаго`,TN:`Тунис`,TR:`Турция`,TM:`Туркменистан`,TV:`Тувалу`,UG:`Уганда`,UA:`Украина`,AE:`ОАЭ`,GB:`Великобритания`,US:`Соединенные Штаты`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуэла`,VN:`Вьетнам`,YE:`Йемен`,ZM:`Замбия`,ZW:`Зимбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набор`,pack:`пачка`,s:`сек`,min:`мин`,h:`ч`,d:`день`,w:`неделя`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морская миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАч`,Ah:`Ач`,Wh:`Вт·ч`,kWh:`кВт·ч`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/ч`,mph:`mph`,kn:`узел`,"%":`%`,ppm:`ppm`}}},kr={common:{loading:`Loading…`,saving:`Saving…`,error:`Error`,back:`Back`,yes:`Yes`,no:`No`,notFound:`Type not found`,daysUnit:`d`,peopleUnit:`ppl`,empty:`No records`},actions:{new:`New`,addFirst:`Add first record`,edit:`Edit`,editAll:`Edit all`,save:`Save`,create:`Create`,cancel:`Cancel`,confirm:`Confirm`,confirmDelete:`Delete this record?`,delete:`Delete`,upload:`Upload`,replace:`Replace`,confirmDeletePhoto:`Delete photo?`,add:`Add`,actionSuccess:`Done`,actionError:`Error`,actionNotFound:`Action not registered`,notice:`Notice`},save:{saving:`Saving…`,done:`Saved`,failed:`Save failed`},upload:{tooLarge:`File too large (max 25 MB)`,failed:`Upload failed`},embed:{open:`Open`,pastePlaceholder:`Paste a URL…`,resolveFailed:`Could not load preview`},reminder:{today:`today`,inDays:`in {{days}}d`,overdue:`overdue {{days}}d`},nav:{selectType:`Select a type from the menu`,plugins:`Plugins`,home:`Home`,search:`Search`,browse:`Browse`,settings:`Settings`},dashboard:{title:`Home`,empty:`No active shelves`},settings:{title:`Settings`,appearance:`Appearance`,theme:`Theme`,language:`Language`,systemDescription:`App-wide settings and base packages.`,systemUpdateTitle:`Update the base packages (core + runtime)`,componentsTitle:`Components`,componentsDescription:`System packages and plugins: updates, enable/disable, purge data.`,personalTitle:`Personal`,usersTitle:`Users`,usersDescription:`Manage every account on this instance.`},theme:{label:`Theme`,auto:`Auto`,light:`Light`,dark:`Dark`,eink:`E-ink`},group:{title:`Grouping`,field:`Field`,all:`All records`,noValue:`No value`,yes:`Yes`,no:`No`},plugins:{loading:`Loading…`,restartBannerBefore:`Changes will take effect after `,restartBannerBold:`server restart`,restartBannerAfter:` (the active plugin set is read at startup).`,confirmPurge:`Delete ALL data for plugin "{{id}}"? Tables will be dropped permanently.`,genericError:`Error: {{code}}`,purgeButton:`Delete data`,purgeTitle:`Delete all plugin data (permanently)`,switchDisable:`Disable`,switchEnable:`Enable`,blockedByDependents:`Can't disable: enabled plugins depend on it — {{list}}`,metaDepends:`depends on:`,metaLibraries:`libraries:`,metaExtends:`extends:`,updateButton:`Update`,updateTitle:`Update from v{{from}} to v{{to}}`,confirmUpdate:`Update plugin "{{id}}" from v{{from}} to v{{to}}? The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,updateError:`Update failed`,updateAllButton:`Update all ({{count}})`,runtimeLabel:`Runtime (server/web/cli)`,confirmUpdateAll:`Update {{count}} component(s)?
11
11
 
12
12
  {{list}}
13
13
 
14
- The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,errors:{core_required:`The core plugin cannot be disabled.`,has_dependents:`Enabled plugins depend on it: {{list}}.`,missing_deps:`Enable dependencies first: {{list}}.`,unknown_plugin:`Unknown plugin.`}},auth:{loginTitle:`Sign in`,setupTitle:`Create the first admin account`,login:`Login`,password:`Password`,displayName:`Display name`,signIn:`Sign in`,createAccount:`Create account`,invalidCredentials:`Wrong login or password.`,genericError:`Something went wrong.`,accountTitle:`My account`,fieldDisplayName:`Display name`,fieldLogin:`Login`,fieldPasswordOptional:`New password (leave blank to keep unchanged)`,tokensTitle:`API tokens`,tokenNamePlaceholder:`Token name (e.g. "agent")`,tokenCreate:`Create token`,tokenCreatedOnce:`Copy this token now — it will not be shown again:`,tokenRevoke:`Revoke`,tokenConfirmRevoke:`Revoke this token? Anything using it will stop working.`,grantsTitle:`Connected apps`,grantsEmpty:`No app has been authorized yet. Apps appear here after you approve them on the Coffer consent screen.`,grantConfirmRevoke:`Disconnect this app? Its access tokens stop working immediately.`,usersTitle:`Users`,addUser:`Add user`,roleAdmin:`Admin`,roleMember:`Member`,fieldRole:`Role`,fieldDisabled:`Disabled`,userCreateTitle:`New user`,lastAdminError:`Cannot remove the last admin.`},form:{serverRejected:`Server rejected:`,createTitle:`New — {{label}}`,editTitle:`Edit — {{label}}`,mdPlaceholder:`Markdown text…`,photo:`+ Photo`,properties:`Properties`,keyPlaceholder:`key`,valuePlaceholderShort:`value`,addProperty:`Property`,days:`d`,hours:`h`,minutes:`min`,seconds:`s`,addTag:`Add tag…`,addRow:`+ Add row`,search:`Search…`,loading:`Loading…`,loadError:`Load error`,noRecords:`No records`,addRecord:`+ Add…`,addItem:`+ Add item`},list:{empty:`Nothing here yet`,searchPlaceholder:`Search…`,sortBy:`Sort by`,sortNone:`No sorting`,asc:`Ascending`,desc:`Descending`,peopleCount_one:`{{count}} person`,peopleCount_other:`{{count}} ppl`,pairsCount_one:`{{count}} pair`,pairsCount_other:`{{count}} pairs`},search:{title:`Global Search`,placeholder:`Search shelves and records…`,allShelves:`All shelves`,results:`Results`,noResults:`Nothing found`},record:{count_one:`{{count}} record`,count_other:`{{count}} records`,hide:`Hide`,show:`Show`},extend:{shownWhen:`Shown when:`},weekdaysShort:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`required field`,invalid_type:`invalid value type`,min_length:`minimum {{min}} chars`,max_length:`maximum {{max}} chars`,pattern:`invalid format`,email:`invalid email address`,min:`at least {{min}}`,max:`at most {{max}}`,int:`must be an integer`,date_format:`format YYYY-MM-DD`,date_min:`not earlier than {{min}}`,date_max:`not later than {{max}}`,enum:`choose from the list`,json:`invalid JSON`,structure:`invalid structure`,int_list:`invalid record references`,kv_single:`only one pair allowed`,links_structure:`invalid connections structure`,time_format:`format HH:MM:SS`,datetime_format:`format YYYY-MM-DDTHH:MM`,tags_list:`expected array of tags`,slotted_length:`wrong number of items`,check_structure:`invalid check structure`,measured_structure:`expected {value, unit}`,measured_unit:`unknown unit`,money_structure:`invalid amount`,geo_structure:`expected {lat, lng}`,money_currency:`unknown currency`,color_format:`format #RRGGBB`,row_structure:`invalid row structure`,row_duplicate:`value "{{key}}" is duplicated across rows`,array:`expected an array`,array_item:`invalid value in array`,ip_structure:`invalid IP address`,cidr_structure:`invalid CIDR`,per_weekday:`array of 7 numbers`,period_order:`start must not be after end`,range_structure:`expected {from, to}`,last_admin:`Cannot remove the last admin.`,range_order:`from must be ≤ to`,file_structure:`invalid file`,file_remote_url:`file fields hold an uploaded file, not a remote URL`,file_unknown_key:`a file may only carry name, mime and size`,file_name:`expected a bare filename, without a path`,file_not_uploaded:`no such uploaded file — upload it first`,code_structure:`expected {code, lang}`,url:`invalid URL`,embed_structure:`invalid embed`,colorname:`unknown color name`},core:{plugin:{label:`System`},settings:{label:`System`,publicUrl:`Public URL`,publicUrlHint:`Origin only, no trailing slash — e.g. https://coffer.example`,language:`Language`},fields:{type:`Type`,name:`Name`,weekday:`Weekday`,value:`Value`,text:`Text`,check:`Check`},presets:{slug:`lowercase latin letters, digits and hyphen only`,imei:`IMEI — exactly 15 digits`,mac:`MAC — format XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 letters, 2 digits, then letters and digits (no spaces)`,hostname:`hostname / FQDN (dot-separated labels: letters, digits, hyphen)`,tel:`phone number`,link:`URL (scheme:// or a domain with a dot)`},lookup:{enough:`Enough`,partial:`Partial`,missing:`Missing`,noData:`no data`},period:{from:`From`,until:`Until`},sex:{M:`Male`,F:`Female`,other:`Other`},weekdays:{mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`,sun:`Sunday`},colors:x.en,countries:{AF:`Afghanistan`,AL:`Albania`,DZ:`Algeria`,AD:`Andorra`,AO:`Angola`,AG:`Antigua & Barbuda`,AR:`Argentina`,AM:`Armenia`,AU:`Australia`,AT:`Austria`,AZ:`Azerbaijan`,BS:`Bahamas`,BH:`Bahrain`,BD:`Bangladesh`,BY:`Belarus`,BE:`Belgium`,BZ:`Belize`,BJ:`Benin`,BT:`Bhutan`,BO:`Bolivia`,BA:`Bosnia & Herzegovina`,BW:`Botswana`,BR:`Brazil`,BN:`Brunei`,BG:`Bulgaria`,BF:`Burkina Faso`,BI:`Burundi`,CV:`Cape Verde`,KH:`Cambodia`,CM:`Cameroon`,CA:`Canada`,CF:`Central African Republic`,TD:`Chad`,CL:`Chile`,CN:`China`,CO:`Colombia`,KM:`Comoros`,CG:`Congo - Brazzaville`,CD:`Congo - Kinshasa`,CR:`Costa Rica`,CI:`Côte d’Ivoire`,HR:`Croatia`,CU:`Cuba`,CY:`Cyprus`,CZ:`Czechia`,DK:`Denmark`,DJ:`Djibouti`,DM:`Dominica`,DO:`Dominican Republic`,EC:`Ecuador`,EG:`Egypt`,SV:`El Salvador`,GQ:`Equatorial Guinea`,ER:`Eritrea`,EE:`Estonia`,SZ:`Eswatini`,ET:`Ethiopia`,FJ:`Fiji`,FI:`Finland`,FR:`France`,GA:`Gabon`,GM:`Gambia`,GE:`Georgia`,DE:`Germany`,GH:`Ghana`,GR:`Greece`,GD:`Grenada`,GT:`Guatemala`,GN:`Guinea`,GW:`Guinea-Bissau`,GY:`Guyana`,HT:`Haiti`,HN:`Honduras`,HU:`Hungary`,IS:`Iceland`,IN:`India`,ID:`Indonesia`,IR:`Iran`,IQ:`Iraq`,IE:`Ireland`,IL:`Israel`,IT:`Italy`,JM:`Jamaica`,JP:`Japan`,JO:`Jordan`,KZ:`Kazakhstan`,KE:`Kenya`,KI:`Kiribati`,KP:`North Korea`,KR:`South Korea`,KW:`Kuwait`,KG:`Kyrgyzstan`,LA:`Laos`,LV:`Latvia`,LB:`Lebanon`,LS:`Lesotho`,LR:`Liberia`,LY:`Libya`,LI:`Liechtenstein`,LT:`Lithuania`,LU:`Luxembourg`,MG:`Madagascar`,MW:`Malawi`,MY:`Malaysia`,MV:`Maldives`,ML:`Mali`,MT:`Malta`,MH:`Marshall Islands`,MR:`Mauritania`,MU:`Mauritius`,MX:`Mexico`,FM:`Micronesia`,MD:`Moldova`,MC:`Monaco`,MN:`Mongolia`,ME:`Montenegro`,MA:`Morocco`,MZ:`Mozambique`,MM:`Myanmar (Burma)`,NA:`Namibia`,NR:`Nauru`,NP:`Nepal`,NL:`Netherlands`,NZ:`New Zealand`,NI:`Nicaragua`,NE:`Niger`,NG:`Nigeria`,MK:`North Macedonia`,NO:`Norway`,OM:`Oman`,PK:`Pakistan`,PW:`Palau`,PA:`Panama`,PG:`Papua New Guinea`,PY:`Paraguay`,PE:`Peru`,PH:`Philippines`,PL:`Poland`,PT:`Portugal`,QA:`Qatar`,RO:`Romania`,RU:`Russia`,RW:`Rwanda`,KN:`St. Kitts & Nevis`,LC:`St. Lucia`,VC:`St. Vincent & Grenadines`,WS:`Samoa`,SM:`San Marino`,ST:`São Tomé & Príncipe`,SA:`Saudi Arabia`,SN:`Senegal`,RS:`Serbia`,SC:`Seychelles`,SL:`Sierra Leone`,SG:`Singapore`,SK:`Slovakia`,SI:`Slovenia`,SB:`Solomon Islands`,SO:`Somalia`,ZA:`South Africa`,SS:`South Sudan`,ES:`Spain`,LK:`Sri Lanka`,SD:`Sudan`,SR:`Suriname`,SE:`Sweden`,CH:`Switzerland`,SY:`Syria`,TW:`Taiwan`,TJ:`Tajikistan`,TZ:`Tanzania`,TH:`Thailand`,TL:`Timor-Leste`,TG:`Togo`,TO:`Tonga`,TT:`Trinidad & Tobago`,TN:`Tunisia`,TR:`Türkiye`,TM:`Turkmenistan`,TV:`Tuvalu`,UG:`Uganda`,UA:`Ukraine`,AE:`United Arab Emirates`,GB:`United Kingdom`,US:`United States`,UY:`Uruguay`,UZ:`Uzbekistan`,VU:`Vanuatu`,VE:`Venezuela`,VN:`Vietnam`,YE:`Yemen`,ZM:`Zambia`,ZW:`Zimbabwe`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`mg`,g:`g`,kg:`kg`,t:`t`,oz:`oz`,lb:`lb`,ml:`ml`,cl:`cl`,dl:`dl`,l:`l`,tsp:`tsp`,tbsp:`tbsp`,cup:`cup`,fl_oz:`fl oz`,pcs:`pcs`,pair:`pair`,set:`set`,pack:`pack`,s:`s`,min:`min`,h:`h`,d:`day`,w:`week`,C:`°C`,F:`°F`,K:`K`,mm:`mm`,cm:`cm`,m:`m`,km:`km`,in:`in`,ft:`ft`,mi:`mi`,nm:`nmi`,cm2:`cm²`,m2:`m²`,ha:`ha`,km2:`km²`,ft2:`ft²`,ac:`ac`,B:`B`,KB:`KB`,MB:`MB`,GB:`GB`,TB:`TB`,mAh:`mAh`,Ah:`Ah`,Wh:`Wh`,kWh:`kWh`,mW:`mW`,W:`W`,kW:`kW`,mV:`mV`,V:`V`,ms:`m/s`,kmh:`km/h`,mph:`mph`,kn:`kn`,"%":`%`,ppm:`ppm`}}},Ar=typeof localStorage<`u`?localStorage.getItem(`lang`)??`uk`:`uk`;r.use(i).init({resources:{uk:{translation:Dr},ru:{translation:Or},en:{translation:kr}},lng:Ar,fallbackLng:`uk`,interpolation:{escapeValue:!1},parseMissingKeyHandler:e=>(console.warn(`[i18n] відсутній ключ:`,e),e)}),fetch(`/api/plugins/core/settings`).then(e=>e.ok?e.json():null).then(e=>{let t=e?.language;if(t&&t!==r.language){r.changeLanguage(t);try{localStorage.setItem(`lang`,t)}catch{}}}).catch(e=>console.warn(`[i18n] language reconcile failed:`,e));var jr=r,Mr=e({default:()=>Nr}),Nr={"claude-agent":{plugin:{label:`AI agent`,description:`In-process Claude Agent SDK runtime with optional RAG.`},settings:{label:`Agent settings`,auth_mode:`Billing mode`,auth_mode_subscription:`Subscription (session from system)`,auth_mode_api_key:`API key (pay per token)`,anthropic_api_key:`Anthropic API key`,claude_model:`Claude model`,skip_permissions:`Skip permissions check`,response_timeout:`Response timeout (s)`,rag_enabled:`Enable RAG`,rag_top_k:`RAG results (top-k)`,openai_api_key:`OpenAI API key (embeddings, optional — default from OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Enable Langfuse tracing`,thinking_enabled:`Extended thinking (opus/sonnet/fable only)`}}},Pr=e({default:()=>Fr}),Fr={"claude-agent":{plugin:{label:`AI-агент`,description:`Рантайм Claude Agent SDK в процессе с опциональным RAG.`},settings:{label:`Настройки агента`,auth_mode:`Способ оплаты`,auth_mode_subscription:`Подписка (сессия из системы)`,auth_mode_api_key:`API-ключ (оплата за токены)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустить проверку прав`,response_timeout:`Тайм-аут ответа (с)`,rag_enabled:`Включить RAG`,rag_top_k:`Результаты RAG (top-k)`,openai_api_key:`Ключ OpenAI (эмбеддинги, опц. — по умолчанию из OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Включить трейсинг Langfuse`,thinking_enabled:`Extended thinking (только opus/sonnet/fable)`}}},Ir=e({default:()=>Lr}),Lr={"claude-agent":{plugin:{label:`AI-агент`,description:`Рантайм Claude Agent SDK у процесі з опційним RAG.`},settings:{label:`Налаштування агента`,auth_mode:`Спосіб оплати`,auth_mode_subscription:`Підписка (сесія з системи)`,auth_mode_api_key:`API-ключ (оплата за токени)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустити перевірку прав`,response_timeout:`Тайм-аут відповіді (с)`,rag_enabled:`Увімкнути RAG`,rag_top_k:`Результати RAG (top-k)`,openai_api_key:`Ключ OpenAI (ембединги, опц. — типово з OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Увімкнути трейсинг Langfuse`,thinking_enabled:`Extended thinking (лише opus/sonnet/fable)`}}},Rr=e({console:()=>zr,default:()=>Br}),zr={plugin:{label:`Console access`,description:`Drive Coffer from a terminal AI (Claude Code / Codex) via the coffer MCP.`},settings:{label:`Console access`,intro:"## Use Coffer from the console\n\nThe Coffer server itself exposes your libraries to a terminal AI as MCP tools (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, plus the tools of any installed plugin). It is schema-driven: any plugin or library you enable shows up after a server restart — no client changes.\n\nThe transport is **Streamable HTTP** on `POST /mcp` of that same server (default `http://localhost:7023/mcp`); there is no separate process — `npx @coffer-org/mcp` starts nothing. You need an API token: **Settings → API tokens**. The token's role decides the tool set (`member` — data, `admin` — plus plugin admin tools).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nThen in any session the tools appear as `mcp__coffer__*`. Ask e.g. _"list my libraries"_ or _"add a record to …"_ and the agent calls them directly.',codex:'### Codex CLI\n\nAdd to `~/.codex/config.toml` (keep the token in the `COFFER_TOKEN` environment variable):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Skills\n\nFor repeatable flows, drop a `SKILL.md` (Claude Code) or a prompt file that chains the `coffer` tools — e.g. a weekly review that reads a library and writes a summary record. The MCP tools are the only building blocks you need; no Coffer-specific SDK is required on the client side."}},Br={console:zr},Vr=e({console:()=>Hr,default:()=>Ur}),Hr={plugin:{label:`Консольный доступ`,description:`Управляй Coffer из терминального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольный доступ`,intro:"## Coffer из консоли\n\nСам сервер Coffer отдаёт твои библиотеки терминальному AI как MCP-инструменты (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс инструменты установленных плагинов). Управляется схемой: любой включённый плагин или библиотека появляется после перезапуска сервера — без изменений на клиенте.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того же сервера (по умолчанию `http://localhost:7023/mcp`); отдельного процесса нет, `npx @coffer-org/mcp` ничего не запускает. Нужен API-токен: **Настройки → API-токены**. Роль токена определяет набор инструментов (`member` — данные, `admin` — плюс админские инструменты плагинов).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nЗатем в любой сессии инструменты появляются как `mcp__coffer__*`. Спроси напр. _«покажи мои библиотеки»_ или _«добавь запись в …»_ — агент вызовет их напрямую.',codex:'### Codex CLI\n\nДобавь в `~/.codex/config.toml` (токен — в переменной окружения `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навыки (skills)\n\nДля повторяющихся сценариев положи `SKILL.md` (Claude Code) или промпт-файл, который цепочкой вызывает инструменты `coffer` — напр. еженедельный обзор, читающий библиотеку и пишущий запись-итог. MCP-инструментов достаточно; отдельный Coffer SDK на клиенте не нужен."}},Ur={console:Hr},Wr=e({console:()=>Gr,default:()=>Kr}),Gr={plugin:{label:`Консольний доступ`,description:`Керуй Coffer з термінального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольний доступ`,intro:"## Coffer з консолі\n\nСам сервер Coffer віддає твої бібліотеки термінальному AI як MCP-інструменти (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс інструменти встановлених плагінів). Керується схемою: будь-який увімкнений плагін чи бібліотека зʼявляється після перезапуску сервера — без змін на клієнті.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того самого сервера (типово `http://localhost:7023/mcp`); окремого процесу немає, `npx @coffer-org/mcp` нічого не запускає. Потрібен API-токен: **Налаштування → API-токени**. Роль токена вирішує набір інструментів (`member` — дані, `admin` — ще й адмінські інструменти плагінів).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nПотім у будь-якій сесії інструменти зʼявляються як `mcp__coffer__*`. Спитай напр. _«покажи мої бібліотеки»_ або _«додай запис до …»_ — агент викличе їх напряму.',codex:'### Codex CLI\n\nДодай у `~/.codex/config.toml` (токен — у змінній оточення `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навички (skills)\n\nДля повторюваних сценаріїв поклади `SKILL.md` (Claude Code) або промпт-файл, що ланцюжком викликає інструменти `coffer` — напр. щотижневий огляд, який читає бібліотеку й пише запис-підсумок. MCP-інструментів достатньо; окремий Coffer SDK на клієнті не потрібен."}},Kr={console:Gr},qr=e({default:()=>Yr,devices:()=>Jr}),Jr={plugin:{label:`Devices & network`,description:`Networks, devices and their settings.`},settings:{label:`Network scan`,scan_info:`LAN scan runs automatically twice a day. Press the button to run a scan now.`,scan_button:`Scan now`,secrets_help:"<details>\n<summary>How to fill service secrets</summary>\n\nAdd plaintext secrets to `~/.profile` as `export PREFIX_FIELD=value`. The LAN scan reads them and fills the matching secret slots on each service card. Hashed values (bcrypt/argon2/…) are skipped. Empty slots are always created so you can fill them manually.\n\n| Service | Variables |\n| --- | --- |\n| Home Assistant | `HOME_ASSISTANT_LOGIN`, `HOME_ASSISTANT_PASSWORD`, `HOME_ASSISTANT_TOKEN` |\n| Nextcloud | `NEXTCLOUD_LOGIN`, `NEXTCLOUD_PASSWORD`, `NEXTCLOUD_TOKEN` |\n| Syncthing | `SYNCTHING_TOKEN`, `SYNCTHING_LOGIN`, `SYNCTHING_PASSWORD` |\n| Transmission | `TRANSMISSION_LOGIN`, `TRANSMISSION_PASSWORD` |\n| Firefly III | `FIREFLY_TOKEN`, `FIREFLY_PASSWORD`, `FIREFLY_CRON_TOKEN` |\n| MariaDB | `MARIADB_ROOT_PASSWORD`, `MARIADB_USER`, `MARIADB_PASSWORD` |\n| Pi-hole | `PIHOLE_PASSWORD`, `PIHOLE_TOKEN` |\n| Kodi | `KODI_LOGIN`, `KODI_PASSWORD` |\n| Gitea | `GITEA_API_KEY`, `GITEA_PASSWORD` |\n| Grafana | `GRAFANA_LOGIN`, `GRAFANA_PASSWORD`, `GRAFANA_TOKEN` |\n| Vaultwarden | `VAULTWARDEN_ADMIN_TOKEN` |\n| Portainer | `PORTAINER_LOGIN`, `PORTAINER_PASSWORD` |\n| Proxmox | `PROXMOX_ROOT_PASSWORD`, `PROXMOX_TOKEN` |\n| AdGuard Home | `ADGUARD_LOGIN`, `ADGUARD_PASSWORD` |\n| Uptime Kuma | `UPTIME_KUMA_LOGIN`, `UPTIME_KUMA_PASSWORD` |\n| Node-RED | `NODE_RED_PASSWORD`, `NODE_RED_TOKEN` |\n| qBittorrent | `QBITTORRENT_LOGIN`, `QBITTORRENT_PASSWORD` |\n| Radarr | `RADARR_API_KEY` |\n| Sonarr | `SONARR_API_KEY` |\n| Prowlarr | `PROWLARR_API_KEY` |\n| Jellyfin | `JELLYFIN_TOKEN` |\n| Plex | `PLEX_TOKEN` |\n| Redis | `REDIS_PASSWORD` |\n| PostgreSQL | `POSTGRES_USER`, `POSTGRES_PASSWORD` |\n| Mosquitto | `MOSQUITTO_USER`, `MOSQUITTO_PASSWORD` |\n\n</details>",sync_targets_info:`### Where device data is written
14
+ The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,errors:{core_required:`The core plugin cannot be disabled.`,has_dependents:`Enabled plugins depend on it: {{list}}.`,missing_deps:`Enable dependencies first: {{list}}.`,unknown_plugin:`Unknown plugin.`}},auth:{loginTitle:`Sign in`,welcomeEyebrow:`Personal workspace`,welcomeTitle:`Your data. In your hands.`,welcomeText:`Sign in to continue working with Coffer.`,secureConnection:`Secure connection`,setupTitle:`Create the first admin account`,login:`Login`,password:`Password`,displayName:`Display name`,signIn:`Sign in`,createAccount:`Create account`,invalidCredentials:`Wrong login or password.`,genericError:`Something went wrong.`,accountTitle:`My account`,fieldDisplayName:`Display name`,fieldLogin:`Login`,fieldPasswordOptional:`New password (leave blank to keep unchanged)`,tokensTitle:`API tokens`,tokenNamePlaceholder:`Token name (e.g. "agent")`,tokenCreate:`Create token`,tokenCreatedOnce:`Copy this token now — it will not be shown again:`,tokenRevoke:`Revoke`,tokenConfirmRevoke:`Revoke this token? Anything using it will stop working.`,grantsTitle:`Connected apps`,grantsEmpty:`No app has been authorized yet. Apps appear here after you approve them on the Coffer consent screen.`,grantConfirmRevoke:`Disconnect this app? Its access tokens stop working immediately.`,usersTitle:`Users`,addUser:`Add user`,roleAdmin:`Admin`,roleMember:`Member`,fieldRole:`Role`,fieldDisabled:`Disabled`,userCreateTitle:`New user`,lastAdminError:`Cannot remove the last admin.`},form:{serverRejected:`Server rejected:`,createTitle:`New — {{label}}`,editTitle:`Edit — {{label}}`,mdPlaceholder:`Markdown text…`,photo:`+ Photo`,properties:`Properties`,keyPlaceholder:`key`,valuePlaceholderShort:`value`,addProperty:`Property`,days:`d`,hours:`h`,minutes:`min`,seconds:`s`,addTag:`Add tag…`,addRow:`+ Add row`,search:`Search…`,loading:`Loading…`,loadError:`Load error`,noRecords:`No records`,addRecord:`+ Add…`,addItem:`+ Add item`},list:{empty:`Nothing here yet`,searchPlaceholder:`Search…`,sortBy:`Sort by`,sortNone:`No sorting`,asc:`Ascending`,desc:`Descending`,peopleCount_one:`{{count}} person`,peopleCount_other:`{{count}} ppl`,pairsCount_one:`{{count}} pair`,pairsCount_other:`{{count}} pairs`},search:{title:`Global Search`,placeholder:`Search shelves and records…`,allShelves:`All shelves`,results:`Results`,noResults:`Nothing found`},record:{count_one:`{{count}} record`,count_other:`{{count}} records`,hide:`Hide`,show:`Show`},extend:{shownWhen:`Shown when:`},weekdaysShort:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`required field`,invalid_type:`invalid value type`,min_length:`minimum {{min}} chars`,max_length:`maximum {{max}} chars`,pattern:`invalid format`,email:`invalid email address`,min:`at least {{min}}`,max:`at most {{max}}`,int:`must be an integer`,date_format:`format YYYY-MM-DD`,date_min:`not earlier than {{min}}`,date_max:`not later than {{max}}`,enum:`choose from the list`,json:`invalid JSON`,structure:`invalid structure`,int_list:`invalid record references`,kv_single:`only one pair allowed`,links_structure:`invalid connections structure`,time_format:`format HH:MM:SS`,datetime_format:`format YYYY-MM-DDTHH:MM`,tags_list:`expected array of tags`,slotted_length:`wrong number of items`,check_structure:`invalid check structure`,measured_structure:`expected {value, unit}`,measured_unit:`unknown unit`,money_structure:`invalid amount`,geo_structure:`expected {lat, lng}`,money_currency:`unknown currency`,color_format:`format #RRGGBB`,row_structure:`invalid row structure`,row_duplicate:`value "{{key}}" is duplicated across rows`,array:`expected an array`,array_item:`invalid value in array`,ip_structure:`invalid IP address`,cidr_structure:`invalid CIDR`,per_weekday:`array of 7 numbers`,period_order:`start must not be after end`,range_structure:`expected {from, to}`,last_admin:`Cannot remove the last admin.`,range_order:`from must be ≤ to`,file_structure:`invalid file`,file_remote_url:`file fields hold an uploaded file, not a remote URL`,file_unknown_key:`a file may only carry name, mime and size`,file_name:`expected a bare filename, without a path`,file_not_uploaded:`no such uploaded file — upload it first`,code_structure:`expected {code, lang}`,url:`invalid URL`,embed_structure:`invalid embed`,colorname:`unknown color name`},core:{plugin:{label:`System`},settings:{label:`System`,publicUrl:`Public URL`,publicUrlHint:`Origin only, no trailing slash — e.g. https://coffer.example`,language:`Language`},fields:{type:`Type`,name:`Name`,weekday:`Weekday`,value:`Value`,text:`Text`,check:`Check`},presets:{slug:`lowercase latin letters, digits and hyphen only`,imei:`IMEI — exactly 15 digits`,mac:`MAC — format XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 letters, 2 digits, then letters and digits (no spaces)`,hostname:`hostname / FQDN (dot-separated labels: letters, digits, hyphen)`,tel:`phone number`,link:`URL (scheme:// or a domain with a dot)`},lookup:{enough:`Enough`,partial:`Partial`,missing:`Missing`,noData:`no data`},period:{from:`From`,until:`Until`},sex:{M:`Male`,F:`Female`,other:`Other`},weekdays:{mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`,sun:`Sunday`},colors:x.en,countries:{AF:`Afghanistan`,AL:`Albania`,DZ:`Algeria`,AD:`Andorra`,AO:`Angola`,AG:`Antigua & Barbuda`,AR:`Argentina`,AM:`Armenia`,AU:`Australia`,AT:`Austria`,AZ:`Azerbaijan`,BS:`Bahamas`,BH:`Bahrain`,BD:`Bangladesh`,BY:`Belarus`,BE:`Belgium`,BZ:`Belize`,BJ:`Benin`,BT:`Bhutan`,BO:`Bolivia`,BA:`Bosnia & Herzegovina`,BW:`Botswana`,BR:`Brazil`,BN:`Brunei`,BG:`Bulgaria`,BF:`Burkina Faso`,BI:`Burundi`,CV:`Cape Verde`,KH:`Cambodia`,CM:`Cameroon`,CA:`Canada`,CF:`Central African Republic`,TD:`Chad`,CL:`Chile`,CN:`China`,CO:`Colombia`,KM:`Comoros`,CG:`Congo - Brazzaville`,CD:`Congo - Kinshasa`,CR:`Costa Rica`,CI:`Côte d’Ivoire`,HR:`Croatia`,CU:`Cuba`,CY:`Cyprus`,CZ:`Czechia`,DK:`Denmark`,DJ:`Djibouti`,DM:`Dominica`,DO:`Dominican Republic`,EC:`Ecuador`,EG:`Egypt`,SV:`El Salvador`,GQ:`Equatorial Guinea`,ER:`Eritrea`,EE:`Estonia`,SZ:`Eswatini`,ET:`Ethiopia`,FJ:`Fiji`,FI:`Finland`,FR:`France`,GA:`Gabon`,GM:`Gambia`,GE:`Georgia`,DE:`Germany`,GH:`Ghana`,GR:`Greece`,GD:`Grenada`,GT:`Guatemala`,GN:`Guinea`,GW:`Guinea-Bissau`,GY:`Guyana`,HT:`Haiti`,HN:`Honduras`,HU:`Hungary`,IS:`Iceland`,IN:`India`,ID:`Indonesia`,IR:`Iran`,IQ:`Iraq`,IE:`Ireland`,IL:`Israel`,IT:`Italy`,JM:`Jamaica`,JP:`Japan`,JO:`Jordan`,KZ:`Kazakhstan`,KE:`Kenya`,KI:`Kiribati`,KP:`North Korea`,KR:`South Korea`,KW:`Kuwait`,KG:`Kyrgyzstan`,LA:`Laos`,LV:`Latvia`,LB:`Lebanon`,LS:`Lesotho`,LR:`Liberia`,LY:`Libya`,LI:`Liechtenstein`,LT:`Lithuania`,LU:`Luxembourg`,MG:`Madagascar`,MW:`Malawi`,MY:`Malaysia`,MV:`Maldives`,ML:`Mali`,MT:`Malta`,MH:`Marshall Islands`,MR:`Mauritania`,MU:`Mauritius`,MX:`Mexico`,FM:`Micronesia`,MD:`Moldova`,MC:`Monaco`,MN:`Mongolia`,ME:`Montenegro`,MA:`Morocco`,MZ:`Mozambique`,MM:`Myanmar (Burma)`,NA:`Namibia`,NR:`Nauru`,NP:`Nepal`,NL:`Netherlands`,NZ:`New Zealand`,NI:`Nicaragua`,NE:`Niger`,NG:`Nigeria`,MK:`North Macedonia`,NO:`Norway`,OM:`Oman`,PK:`Pakistan`,PW:`Palau`,PA:`Panama`,PG:`Papua New Guinea`,PY:`Paraguay`,PE:`Peru`,PH:`Philippines`,PL:`Poland`,PT:`Portugal`,QA:`Qatar`,RO:`Romania`,RU:`Russia`,RW:`Rwanda`,KN:`St. Kitts & Nevis`,LC:`St. Lucia`,VC:`St. Vincent & Grenadines`,WS:`Samoa`,SM:`San Marino`,ST:`São Tomé & Príncipe`,SA:`Saudi Arabia`,SN:`Senegal`,RS:`Serbia`,SC:`Seychelles`,SL:`Sierra Leone`,SG:`Singapore`,SK:`Slovakia`,SI:`Slovenia`,SB:`Solomon Islands`,SO:`Somalia`,ZA:`South Africa`,SS:`South Sudan`,ES:`Spain`,LK:`Sri Lanka`,SD:`Sudan`,SR:`Suriname`,SE:`Sweden`,CH:`Switzerland`,SY:`Syria`,TW:`Taiwan`,TJ:`Tajikistan`,TZ:`Tanzania`,TH:`Thailand`,TL:`Timor-Leste`,TG:`Togo`,TO:`Tonga`,TT:`Trinidad & Tobago`,TN:`Tunisia`,TR:`Türkiye`,TM:`Turkmenistan`,TV:`Tuvalu`,UG:`Uganda`,UA:`Ukraine`,AE:`United Arab Emirates`,GB:`United Kingdom`,US:`United States`,UY:`Uruguay`,UZ:`Uzbekistan`,VU:`Vanuatu`,VE:`Venezuela`,VN:`Vietnam`,YE:`Yemen`,ZM:`Zambia`,ZW:`Zimbabwe`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`mg`,g:`g`,kg:`kg`,t:`t`,oz:`oz`,lb:`lb`,ml:`ml`,cl:`cl`,dl:`dl`,l:`l`,tsp:`tsp`,tbsp:`tbsp`,cup:`cup`,fl_oz:`fl oz`,pcs:`pcs`,pair:`pair`,set:`set`,pack:`pack`,s:`s`,min:`min`,h:`h`,d:`day`,w:`week`,C:`°C`,F:`°F`,K:`K`,mm:`mm`,cm:`cm`,m:`m`,km:`km`,in:`in`,ft:`ft`,mi:`mi`,nm:`nmi`,cm2:`cm²`,m2:`m²`,ha:`ha`,km2:`km²`,ft2:`ft²`,ac:`ac`,B:`B`,KB:`KB`,MB:`MB`,GB:`GB`,TB:`TB`,mAh:`mAh`,Ah:`Ah`,Wh:`Wh`,kWh:`kWh`,mW:`mW`,W:`W`,kW:`kW`,mV:`mV`,V:`V`,ms:`m/s`,kmh:`km/h`,mph:`mph`,kn:`kn`,"%":`%`,ppm:`ppm`}}},Ar=typeof localStorage<`u`?localStorage.getItem(`lang`)??`uk`:`uk`;r.use(i).init({resources:{uk:{translation:Dr},ru:{translation:Or},en:{translation:kr}},lng:Ar,fallbackLng:`uk`,interpolation:{escapeValue:!1},parseMissingKeyHandler:e=>(console.warn(`[i18n] відсутній ключ:`,e),e)}),fetch(`/api/plugins/core/settings`).then(e=>e.ok?e.json():null).then(e=>{let t=e?.language;if(t&&t!==r.language){r.changeLanguage(t);try{localStorage.setItem(`lang`,t)}catch{}}}).catch(e=>console.warn(`[i18n] language reconcile failed:`,e));var jr=r,Mr=e({default:()=>Nr}),Nr={"claude-agent":{plugin:{label:`AI agent`,description:`In-process Claude Agent SDK runtime with optional RAG.`},settings:{label:`Agent settings`,groups:{runtime:`Model & runtime`,rag:`RAG search`,langfuse:`Langfuse tracing`},auth_mode:`Billing mode`,auth_mode_subscription:`Subscription (session from system)`,auth_mode_api_key:`API key (pay per token)`,anthropic_api_key:`Anthropic API key`,claude_model:`Claude model`,skip_permissions:`Skip permissions check`,response_timeout:`Response timeout (s)`,rag_enabled:`Enable RAG`,rag_top_k:`RAG results (top-k)`,openai_api_key:`OpenAI API key (embeddings, optional — default from OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Enable Langfuse tracing`,thinking_enabled:`Extended thinking (opus/sonnet/fable only)`}}},Pr=e({default:()=>Fr}),Fr={"claude-agent":{plugin:{label:`AI-агент`,description:`Рантайм Claude Agent SDK в процессе с опциональным RAG.`},settings:{label:`Настройки агента`,groups:{runtime:`Модель и выполнение`,rag:`Поиск RAG`,langfuse:`Трейсинг Langfuse`},auth_mode:`Способ оплаты`,auth_mode_subscription:`Подписка (сессия из системы)`,auth_mode_api_key:`API-ключ (оплата за токены)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустить проверку прав`,response_timeout:`Тайм-аут ответа (с)`,rag_enabled:`Включить RAG`,rag_top_k:`Результаты RAG (top-k)`,openai_api_key:`Ключ OpenAI (эмбеддинги, опц. — по умолчанию из OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Включить трейсинг Langfuse`,thinking_enabled:`Extended thinking (только opus/sonnet/fable)`}}},Ir=e({default:()=>Lr}),Lr={"claude-agent":{plugin:{label:`AI-агент`,description:`Рантайм Claude Agent SDK у процесі з опційним RAG.`},settings:{label:`Налаштування агента`,groups:{runtime:`Модель і виконання`,rag:`Пошук RAG`,langfuse:`Трейсинг Langfuse`},auth_mode:`Спосіб оплати`,auth_mode_subscription:`Підписка (сесія з системи)`,auth_mode_api_key:`API-ключ (оплата за токени)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустити перевірку прав`,response_timeout:`Тайм-аут відповіді (с)`,rag_enabled:`Увімкнути RAG`,rag_top_k:`Результати RAG (top-k)`,openai_api_key:`Ключ OpenAI (ембединги, опц. — типово з OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Увімкнути трейсинг Langfuse`,thinking_enabled:`Extended thinking (лише opus/sonnet/fable)`}}},Rr=e({console:()=>zr,default:()=>Br}),zr={plugin:{label:`Console access`,description:`Drive Coffer from a terminal AI (Claude Code / Codex) via the coffer MCP.`},settings:{label:`Console access`,intro:"## Use Coffer from the console\n\nThe Coffer server itself exposes your libraries to a terminal AI as MCP tools (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, plus the tools of any installed plugin). It is schema-driven: any plugin or library you enable shows up after a server restart — no client changes.\n\nThe transport is **Streamable HTTP** on `POST /mcp` of that same server (default `http://localhost:7023/mcp`); there is no separate process — `npx @coffer-org/mcp` starts nothing. You need an API token: **Settings → API tokens**. The token's role decides the tool set (`member` — data, `admin` — plus plugin admin tools).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nThen in any session the tools appear as `mcp__coffer__*`. Ask e.g. _"list my libraries"_ or _"add a record to …"_ and the agent calls them directly.',codex:'### Codex CLI\n\nAdd to `~/.codex/config.toml` (keep the token in the `COFFER_TOKEN` environment variable):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Skills\n\nFor repeatable flows, drop a `SKILL.md` (Claude Code) or a prompt file that chains the `coffer` tools — e.g. a weekly review that reads a library and writes a summary record. The MCP tools are the only building blocks you need; no Coffer-specific SDK is required on the client side."}},Br={console:zr},Vr=e({console:()=>Hr,default:()=>Ur}),Hr={plugin:{label:`Консольный доступ`,description:`Управляй Coffer из терминального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольный доступ`,intro:"## Coffer из консоли\n\nСам сервер Coffer отдаёт твои библиотеки терминальному AI как MCP-инструменты (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс инструменты установленных плагинов). Управляется схемой: любой включённый плагин или библиотека появляется после перезапуска сервера — без изменений на клиенте.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того же сервера (по умолчанию `http://localhost:7023/mcp`); отдельного процесса нет, `npx @coffer-org/mcp` ничего не запускает. Нужен API-токен: **Настройки → API-токены**. Роль токена определяет набор инструментов (`member` — данные, `admin` — плюс админские инструменты плагинов).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nЗатем в любой сессии инструменты появляются как `mcp__coffer__*`. Спроси напр. _«покажи мои библиотеки»_ или _«добавь запись в …»_ — агент вызовет их напрямую.',codex:'### Codex CLI\n\nДобавь в `~/.codex/config.toml` (токен — в переменной окружения `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навыки (skills)\n\nДля повторяющихся сценариев положи `SKILL.md` (Claude Code) или промпт-файл, который цепочкой вызывает инструменты `coffer` — напр. еженедельный обзор, читающий библиотеку и пишущий запись-итог. MCP-инструментов достаточно; отдельный Coffer SDK на клиенте не нужен."}},Ur={console:Hr},Wr=e({console:()=>Gr,default:()=>Kr}),Gr={plugin:{label:`Консольний доступ`,description:`Керуй Coffer з термінального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольний доступ`,intro:"## Coffer з консолі\n\nСам сервер Coffer віддає твої бібліотеки термінальному AI як MCP-інструменти (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс інструменти встановлених плагінів). Керується схемою: будь-який увімкнений плагін чи бібліотека зʼявляється після перезапуску сервера — без змін на клієнті.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того самого сервера (типово `http://localhost:7023/mcp`); окремого процесу немає, `npx @coffer-org/mcp` нічого не запускає. Потрібен API-токен: **Налаштування → API-токени**. Роль токена вирішує набір інструментів (`member` — дані, `admin` — ще й адмінські інструменти плагінів).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nПотім у будь-якій сесії інструменти зʼявляються як `mcp__coffer__*`. Спитай напр. _«покажи мої бібліотеки»_ або _«додай запис до …»_ — агент викличе їх напряму.',codex:'### Codex CLI\n\nДодай у `~/.codex/config.toml` (токен — у змінній оточення `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навички (skills)\n\nДля повторюваних сценаріїв поклади `SKILL.md` (Claude Code) або промпт-файл, що ланцюжком викликає інструменти `coffer` — напр. щотижневий огляд, який читає бібліотеку й пише запис-підсумок. MCP-інструментів достатньо; окремий Coffer SDK на клієнті не потрібен."}},Kr={console:Gr},qr=e({default:()=>Yr,devices:()=>Jr}),Jr={plugin:{label:`Devices & network`,description:`Networks, devices and their settings.`},settings:{label:`Network scan`,scan_info:`LAN scan runs automatically twice a day. Press the button to run a scan now.`,scan_button:`Scan now`,secrets_help:"<details>\n<summary>How to fill service secrets</summary>\n\nAdd plaintext secrets to `~/.profile` as `export PREFIX_FIELD=value`. The LAN scan reads them and fills the matching secret slots on each service card. Hashed values (bcrypt/argon2/…) are skipped. Empty slots are always created so you can fill them manually.\n\n| Service | Variables |\n| --- | --- |\n| Home Assistant | `HOME_ASSISTANT_LOGIN`, `HOME_ASSISTANT_PASSWORD`, `HOME_ASSISTANT_TOKEN` |\n| Nextcloud | `NEXTCLOUD_LOGIN`, `NEXTCLOUD_PASSWORD`, `NEXTCLOUD_TOKEN` |\n| Syncthing | `SYNCTHING_TOKEN`, `SYNCTHING_LOGIN`, `SYNCTHING_PASSWORD` |\n| Transmission | `TRANSMISSION_LOGIN`, `TRANSMISSION_PASSWORD` |\n| Firefly III | `FIREFLY_TOKEN`, `FIREFLY_PASSWORD`, `FIREFLY_CRON_TOKEN` |\n| MariaDB | `MARIADB_ROOT_PASSWORD`, `MARIADB_USER`, `MARIADB_PASSWORD` |\n| Pi-hole | `PIHOLE_PASSWORD`, `PIHOLE_TOKEN` |\n| Kodi | `KODI_LOGIN`, `KODI_PASSWORD` |\n| Gitea | `GITEA_API_KEY`, `GITEA_PASSWORD` |\n| Grafana | `GRAFANA_LOGIN`, `GRAFANA_PASSWORD`, `GRAFANA_TOKEN` |\n| Vaultwarden | `VAULTWARDEN_ADMIN_TOKEN` |\n| Portainer | `PORTAINER_LOGIN`, `PORTAINER_PASSWORD` |\n| Proxmox | `PROXMOX_ROOT_PASSWORD`, `PROXMOX_TOKEN` |\n| AdGuard Home | `ADGUARD_LOGIN`, `ADGUARD_PASSWORD` |\n| Uptime Kuma | `UPTIME_KUMA_LOGIN`, `UPTIME_KUMA_PASSWORD` |\n| Node-RED | `NODE_RED_PASSWORD`, `NODE_RED_TOKEN` |\n| qBittorrent | `QBITTORRENT_LOGIN`, `QBITTORRENT_PASSWORD` |\n| Radarr | `RADARR_API_KEY` |\n| Sonarr | `SONARR_API_KEY` |\n| Prowlarr | `PROWLARR_API_KEY` |\n| Jellyfin | `JELLYFIN_TOKEN` |\n| Plex | `PLEX_TOKEN` |\n| Redis | `REDIS_PASSWORD` |\n| PostgreSQL | `POSTGRES_USER`, `POSTGRES_PASSWORD` |\n| Mosquitto | `MOSQUITTO_USER`, `MOSQUITTO_PASSWORD` |\n\n</details>",sync_targets_info:`### Where device data is written
15
15
 
16
16
  After a scan, cards sync into local app configs. Only empty/missing entries are written — manual edits are preserved.
17
17
 
@@ -46,7 +46,7 @@ Buttons below trigger registered actions. The first succeeds after a short delay
46
46
 
47
47
  Ця сторінка — приклад сторінки налаштувань плагіна. Значення нижче зберігаються як **єдиний** запис налаштувань. Зміни поле, збережи — і воно лишиться.`,fields:{greeting:`Текст привітання`,enabled:`Функцію ввімкнено`,mode:`Режим`,retries:`Кількість повторів (0–10)`},modes:{fast:`Швидкий`,safe:`Безпечний`,debug:`Налагодження`},actions_info:`### Дії
48
48
 
49
- Кнопки нижче запускають зареєстровані дії. Перша завершується успіхом після короткої затримки; друга навмисно падає, щоб показати обробку помилок.`,run_button:`Запустити демо-дію`,fail_button:`Запустити дію з помилкою`,variants:{default:`Основна`,secondary:`Другорядна`,ghost:`Привид`,link:`Посилання`}},field_demo:{label:`Демо полів`,fields:{image:`Image — одне фото`,avatar:`Аватар — одне (велике коло)`,cover:`Обкладинка — hero (одне)`,text_plain:`Text — звичайний`,text_minmax:`Text — min/max + в таблиці`,text_pattern:`Text — pattern (лише літери)`,text_multiline:`Text — multiline`,text_email:`Text — format: email`,text_emails:`Text — format: email + multiple`,text_url:`Text — format: url`,text_tel:`Text — format: tel`,text_password:`Text — format: password`,imei:`IMEI — pattern (15 цифр)`,mac:`MAC — pattern (XX:XX:XX:XX:XX:XX)`,iban:`IBAN — pattern (рахунок)`,textarea:`Textarea`,small_text:`Малий текст (scalar textarea)`,markdown:`Markdown (WYSIWYG)`,code:`Code — моноширинний редактор (yaml)`,number_int:`Number — ціле (int)`,number_decimal:`Number — дробове`,integer:`Integer (min/max)`,rating_5:`Rating — 5 зірок`,rating_10:`Rating — 10 зірок`,date:`Date`,date_future:`Date — лише майбутнє`,time_field:`Time (HH:MM)`,datetime:`Datetime`,datetimes_multi:`Datetime — multiple`,boolean:`Boolean (checkbox)`,select:`Select`,select_multi:`Select — multiple`,day_period:`Day-period (час прийому)`,day_period_multi:`Day-period — multiple`,country:`Country (з прапором)`,country_multi:`Country — multiple`,tags_field:`Tags (з підказками)`,demo_check:`Check (один)`,demo_check_multi:`Check (кілька)`,demo_check_stages:`Доставка (етапи)`,stage_ordered:`Замовлено`,stage_paid:`Оплачено`,stage_shipped:`Доставлено`,color_hex:`Color — hex (#RRGGBB)`,color_multi:`Color — multiple`,color_name:`ColorName (CSS-назва)`,duration_short:`Duration (хв, крок 5)`,measured_currency:`Measured — валюта`,measured_weight:`Measured — вага`,measured_custom:`Measured — custom одиниці`,demo_reminder:`Нагадування`,demo_weight:`Вага`,demo_dimensions:`Габарити`,demo_datasize:`Обсяг даних`,demo_ram:`Оперативна пам'ять`,demo_disk:`Обсяг диску`,demo_weekday:`День тижня`,demo_weekdays:`Дні тижня — multiple`,ip_addr:`IP-адреса`,ip_addrs:`IP-адреси — multiple`,cidr_subnet:`CIDR (підмережа)`,numbers_multi:`Number — multiple`,dates_multi:`Date — multiple`,row_single:`Row — один рядок`,variants:`Per-row — language (ім'я/прізвище мовами)`,row_ingredients:`Row — інгредієнти (relation+measured+lookup)`,relation_single:`Relation — один запис`,relation_multi:`Relation — кілька записів`,coll_text:`Колекція — text`,coll_integer:`Колекція — integer`,coll_select:`Колекція — select`,pp_person:`Особа`,pp_value:`Значення`,per_weekday:`Per-weekday (7 слотів)`,per_weekday_per_person:`Per-weekday + per-record (по людях)`,image_gallery:`Image — галерея (multiple)`,avatar_row:`Аватар — ряд (кілька)`,cover_carousel:`Обкладинка — карусель (кілька)`,json:`JSON`,key_value:`Key-value — кілька пар`,key_value_secret:`Key-value — секрет (одна пара)`,services_bylist:`Services (колекція над статичним списком)`,type:`Type (класифікатор → extends)`,periods:`Periods (діапазони дат)`,button_demo:`Button — demo дія (lab.demoAction)`,price:`Ціна`,ageRange:`Діапазон віку`,tempRange:`Діапазон температури`,agree:`Згода`,origin:`Країна походження`,birthYear:`Рік народження`,attachment:`Вкладення`,doc:`Документ`,voice:`Голосова нотатка`,clip:`Відеокліп`,gallery:`Медіагалерея`,place:`Місцезнаходження`,compact_note:`Компактна нотатка (без кнопок)`,snippet_struct:`Код (з мовою)`,embed_wide:`Embed — широкий (multiple)`,embed_narrow:`Embed — вузький (multiple)`,perkey_fixed:`Fixed perKey — кількість на розмір`},options:{select:{red:`Червоний`,green:`Зелений`,blue:`Синій`},pp_select:{s:`S`,m:`M`,l:`L`},type:{basic:`Базовий`,advanced:`Розширений`},env:{dev:`Розробка`,prod:`Продакшн`},size:{s:`S`,m:`M`,l:`L`}},per_row:{name:`Ім'я`,surname:`Прізвище`,url:`URL`,token:`Токен`,env:`Середовище`,lang:`Мова`,product:`Продукт`,amount:`Кількість`,stock:`Наявність`,size:`Розмір`,qty:`Кількість`},units:{shot:`шот`,scoop:`мірна ложка`},groups:{demo:`Текстові поля`},validation:{letters_only:`Лише літери`},info:{intro:`Демонстраційна полиця усіх типів полів платформи. Заповніть поля нижче, щоб побачити їх у дії.`},actions:{scan_done:`Знайдено {{count}} пристроїв`,fail_title:`Дію не виконано`,fail_body:`Сервер повернув помилку (код {{code}})`}},field_demo_child:{label:`Дочірній запис`,fields:{demo_id:`UUID батьківського демо`,note:`Нотатка`}},demo_extra:{label:`Розширені поля (extend)`,fields:{extra_text:`Додатковий текст`,extra_number:`Додаткове число`,extra_flag:`Додатковий прапорець`}}},Oa={lab:Da},ka=e({default:()=>ja,media:()=>Aa}),Aa={plugin:{label:`Media`,description:`Movies & series watchlist, synced from Jellyfin.`},library:{label:`Media`},settings:{label:`Media settings`,tmdb_key:`TMDB API key`,omdb_key:`OMDb API key`,jellyfin_url:`Jellyfin URL`,jellyfin_token:`Jellyfin API token`,jellyfin_user_id:`Jellyfin user id`,test_button:`Test Jellyfin`,sync_button:`Sync Jellyfin`},title:{label:`Title`,fields:{kind:`Kind`,poster:`Poster`,year:`Year`,overview:`Overview`,genres:`Genres`,runtime:`Runtime`,tmdb_id:`TMDB ID`,imdb_id:`IMDb ID`,tmdb_rating:`TMDB rating`,imdb_rating:`IMDb rating`,status:`Status`,watched_date:`Watched on`,seasons:`Seasons`,episodes:`Episodes`,in_library:`In library`,jellyfin_id:`Jellyfin ID`,source:`Source`,link:`Link`},options:{kind:{movie:`Movie`,series:`Series`},status:{want:`Want to watch`,unwatched:`Unwatched`,watching:`Watching`,watched:`Watched`,dropped:`Dropped`},source:{manual:`Manual`,jellyfin:`Jellyfin`,agent:`Agent`}}}},ja={media:Aa},Ma=e({default:()=>Pa,media:()=>Na}),Na={plugin:{label:`Медиа`,description:`Список фильмов и сериалов, синхронизируется с Jellyfin.`},library:{label:`Медиа`},settings:{label:`Настройки Медиа`,tmdb_key:`TMDB API ключ`,omdb_key:`OMDb API ключ`,jellyfin_url:`Jellyfin URL`,jellyfin_token:`Jellyfin API токен`,jellyfin_user_id:`Jellyfin user id`,test_button:`Проверить Jellyfin`,sync_button:`Синхронизировать Jellyfin`},title:{label:`Тайтл`,fields:{kind:`Тип`,poster:`Постер`,year:`Год`,overview:`Описание`,genres:`Жанры`,runtime:`Длительность`,tmdb_id:`TMDB ID`,imdb_id:`IMDb ID`,tmdb_rating:`Рейтинг TMDB`,imdb_rating:`Рейтинг IMDb`,status:`Статус`,watched_date:`Просмотрено`,seasons:`Сезоны`,episodes:`Эпизоды`,in_library:`В библиотеке`,jellyfin_id:`Jellyfin ID`,source:`Источник`,link:`Ссылка`},options:{kind:{movie:`Фильм`,series:`Сериал`},status:{want:`Хочу посмотреть`,unwatched:`Не просмотрено`,watching:`Смотрю`,watched:`Просмотрел`,dropped:`Брошено`},source:{manual:`Вручную`,jellyfin:`Jellyfin`,agent:`Агент`}}}},Pa={media:Na},Fa=e({default:()=>La,media:()=>Ia}),Ia={plugin:{label:`Медіа`,description:`Список фільмів і серіалів, синхронізований з Jellyfin.`},library:{label:`Медіа`},settings:{label:`Налаштування Медіа`,tmdb_key:`TMDB API ключ`,omdb_key:`OMDb API ключ`,jellyfin_url:`Jellyfin URL`,jellyfin_token:`Jellyfin API токен`,jellyfin_user_id:`Jellyfin user id`,test_button:`Перевірити Jellyfin`,sync_button:`Синхронізувати Jellyfin`},title:{label:`Тайтл`,fields:{kind:`Тип`,poster:`Постер`,year:`Рік`,overview:`Опис`,genres:`Жанри`,runtime:`Тривалість`,tmdb_id:`TMDB ID`,imdb_id:`IMDb ID`,tmdb_rating:`Рейтинг TMDB`,imdb_rating:`Рейтинг IMDb`,status:`Статус`,watched_date:`Переглянуто`,seasons:`Сезони`,episodes:`Епізоди`,in_library:`У бібліотеці`,jellyfin_id:`Jellyfin ID`,source:`Джерело`,link:`Посилання`},options:{kind:{movie:`Фільм`,series:`Серіал`},status:{want:`Хочу подивитись`,unwatched:`Не переглянуто`,watching:`Дивлюсь`,watched:`Переглянув`,dropped:`Закинув`},source:{manual:`Вручну`,jellyfin:`Jellyfin`,agent:`Агент`}}}},La={media:Ia},Ra=e({default:()=>Ba,orchestrator:()=>za}),za={plugin:{label:`Orchestrator`,description:`Capability-driven agent orchestrator. Routes connector messages to the agent runtime.`},settings:{label:`Orchestrator settings`,access_password:`Access password`,trigger_prefix:`Trigger prefix`,reply_window:`Reply window (s)`}},Ba={orchestrator:za},Va=e({default:()=>Ua,orchestrator:()=>Ha}),Ha={plugin:{label:`Оркестратор`,description:`Оркестратор агента на основе возможностей. Маршрутизирует сообщения коннекторов в рантайм агента.`},settings:{label:`Настройки оркестратора`,access_password:`Пароль доступа`,trigger_prefix:`Префикс триггера`,reply_window:`Окно ответа (с)`}},Ua={orchestrator:Ha},Wa=e({default:()=>Ka,orchestrator:()=>Ga}),Ga={plugin:{label:`Оркестратор`,description:`Оркестратор агента на основі можливостей. Маршрутизує повідомлення конекторів у рантайм агента.`},settings:{label:`Налаштування оркестратора`,access_password:`Пароль доступу`,trigger_prefix:`Префікс тригера`,reply_window:`Вікно відповіді (с)`}},Ka={orchestrator:Ga},qa=e({default:()=>Ya,people:()=>Ja}),Ja={plugin:{label:`People`,description:`Contacts and personal data about people.`},library:{label:`People`},person:{label:`Person`,fields:{logo:`Photo`,fullName:`Name`,birthDate:`Date of birth`,sex:`Sex`,phone:`Phone`,email:`Email`,address:`Address`,occupation:`Occupation`,notes:`Notes`,description:`Comment`,tags:`Tags`}}},Ya={people:Ja},Xa=e({default:()=>Qa,people:()=>Za}),Za={plugin:{label:`Люди`,description:`Контакты и личные данные людей.`},library:{label:`Люди`},person:{label:`Человек`,fields:{logo:`Фото`,fullName:`Имя`,birthDate:`Дата рождения`,sex:`Пол`,phone:`Телефон`,email:`Email`,address:`Адрес`,occupation:`Род занятий`,notes:`Заметки`,description:`Комментарий`,tags:`Теги`}}},Qa={people:Za},$a=e({default:()=>to,people:()=>eo}),eo={plugin:{label:`Люди`,description:`Контакти та особисті дані людей.`},library:{label:`Люди`},person:{label:`Людина`,fields:{logo:`Фото`,fullName:`Ім'я`,birthDate:`Дата народження`,sex:`Стать`,phone:`Телефон`,email:`Email`,address:`Адреса`,occupation:`Рід занять`,notes:`Нотатки`,description:`Коментар`,tags:`Теги`}}},to={people:eo},no=e({default:()=>io,telegram:()=>ro}),ro={plugin:{label:`Telegram bot`,description:`Connects Telegram to the orchestrator via GramJS.`},settings:{label:`Bot settings`,api_id:`API ID`,api_hash:`API Hash`,bot_token:`Bot token`,phone:`Phone number`,reasoning_display:`Reasoning display`,reasoning_display_off:`Hidden`,reasoning_display_collapsible:`Collapsible block`,reasoning_display_separate:`Separate messages`}},io={telegram:ro},ao=e({default:()=>so,telegram:()=>oo}),oo={plugin:{label:`Telegram-бот`,description:`Подключает Telegram к оркестратору через GramJS.`},settings:{label:`Настройки бота`,api_id:`API ID`,api_hash:`API Hash`,bot_token:`Токен бота`,phone:`Номер телефона`,reasoning_display:`Показ рассуждений`,reasoning_display_off:`Не показывать`,reasoning_display_collapsible:`Свёрнутым блоком`,reasoning_display_separate:`Отдельными сообщениями`}},so={telegram:oo},co=e({default:()=>uo,telegram:()=>lo}),lo={plugin:{label:`Telegram-бот`,description:`Підключає Telegram до оркестратора через GramJS.`},settings:{label:`Налаштування бота`,api_id:`API ID`,api_hash:`API Hash`,bot_token:`Токен бота`,phone:`Номер телефону`,reasoning_display:`Показ міркувань`,reasoning_display_off:`Не показувати`,reasoning_display_collapsible:`Згорнутим блоком`,reasoning_display_separate:`Окремими повідомленнями`}},uo={telegram:lo},fo=e({default:()=>mo,things:()=>po}),po={plugin:{label:`Things`,description:`Personal belongings and storage locations.`},library:{label:`Things`},item:{label:`Item`,fields:{logo:`Photo`,description:`Description`,brand:`Brand`,model:`Model`,location:`Storage location`,quantity:`Quantity`,owner:`Owner`,color:`Color`,material:`Material`,madeIn:`Country of origin`,weight:`Weight`,dimensions:`Dimensions`,serialNumber:`Serial number`,purchaseDate:`Purchase date`,purchasePrice:`Purchase price`,condition:`Condition`,warrantyExpires:`Warranty expires`,link:`Link`,photos:`Gallery`,tags:`Tags`,paymentStatus:`Payment`,receipt:`Receipt`,orderNumber:`Order number`,manual:`Manual`,store:`Store`},options:{type:{clothing:`Clothing`,bag:`Bag / backpack`,cable:`Cable / adapter`,tool:`Tool`,furniture:`Furniture`,appliance:`Appliance`,household:`Household`,consumable:`Consumable`,personal_care:`Personal care`,sports:`Sports`,hobby:`Hobby / craft`,hardware:`Hardware / parts`,decor:`Decor / lighting`,stationery:`Stationery`,document:`Document`,other:`Other`},condition:{new:`New`,good:`Good`,fair:`Fair`,poor:`Poor`},paymentStatus:{bought:`Bought`,installment:`Installment`,credit:`Credit`}},groups:{purchase:`Purchase`}},storage_location:{label:`Storage location`,fields:{path:`Hierarchy (levels)`}}},mo={things:po},ho=e({default:()=>_o,things:()=>go}),go={plugin:{label:`Вещи`,description:`Учёт личных вещей и мест хранения.`},library:{label:`Вещи`},item:{label:`Вещь`,fields:{logo:`Фото`,description:`Описание`,brand:`Бренд`,model:`Модель`,location:`Место хранения`,quantity:`Количество`,owner:`Владелец`,color:`Цвет`,material:`Материал`,madeIn:`Страна производства`,weight:`Вес`,dimensions:`Размеры`,serialNumber:`Серийный номер`,purchaseDate:`Дата приобретения`,purchasePrice:`Цена покупки`,condition:`Состояние`,warrantyExpires:`Гарантия до`,link:`Ссылка`,photos:`Галерея`,tags:`Теги`,paymentStatus:`Способ оплаты`,receipt:`Чек / гарантийник`,orderNumber:`Номер заказа`,manual:`Инструкция`,store:`Магазин`},options:{type:{clothing:`Одежда`,bag:`Сумка / рюкзак`,cable:`Кабель / адаптер`,tool:`Инструмент`,furniture:`Мебель`,appliance:`Бытовая техника`,household:`Хозтовары / дом`,consumable:`Расходники`,personal_care:`Гигиена / уход`,sports:`Спорт`,hobby:`Хобби / крафт`,hardware:`Крепёж / детали`,decor:`Декор / освещение`,stationery:`Канцелярия`,document:`Документ`,other:`Другое`},condition:{new:`Новый`,good:`Хороший`,fair:`Удовлетворительный`,poor:`Плохой`},paymentStatus:{bought:`Куплено`,installment:`Рассрочка`,credit:`Кредит`}},groups:{purchase:`Покупка`}},storage_location:{label:`Место хранения`,fields:{path:`Иерархия (уровни)`}}},_o={things:go},vo=e({default:()=>bo,things:()=>yo}),yo={plugin:{label:`Речі`,description:`Облік особистих речей і місць зберігання.`},library:{label:`Речі`},item:{label:`Річ`,fields:{logo:`Фото`,description:`Опис`,brand:`Бренд`,model:`Модель`,location:`Місце зберігання`,quantity:`Кількість`,owner:`Власник`,color:`Колір`,material:`Матеріал`,madeIn:`Країна виробництва`,weight:`Вага`,dimensions:`Розміри`,serialNumber:`Серійний номер`,purchaseDate:`Дата придбання`,purchasePrice:`Ціна покупки`,condition:`Стан`,warrantyExpires:`Гарантія до`,link:`Посилання`,photos:`Галерея`,tags:`Теги`,paymentStatus:`Спосіб оплати`,receipt:`Чек / гарантійник`,orderNumber:`Номер замовлення`,manual:`Інструкція`,store:`Магазин`},options:{type:{clothing:`Одяг`,bag:`Сумка / рюкзак`,cable:`Кабель / адаптер`,tool:`Інструмент`,furniture:`Меблі`,appliance:`Побутова техніка`,household:`Побутове / дім`,consumable:`Розхідники`,personal_care:`Гігієна / догляд`,sports:`Спорт`,hobby:`Хобі / крафт`,hardware:`Кріплення / деталі`,decor:`Декор / освітлення`,stationery:`Канцелярія`,document:`Документ`,other:`Інше`},condition:{new:`Новий`,good:`Добрий`,fair:`Задовільний`,poor:`Поганий`},paymentStatus:{bought:`Куплено`,installment:`Розстрочка`,credit:`Кредит`}},groups:{purchase:`Купівля`}},storage_location:{label:`Місце зберігання`,fields:{path:`Ієрархія (рівні)`}}},bo={things:yo},xo=e({default:()=>Co,transit:()=>So}),So={plugin:{label:`Transit`,description:`Public transport routes and schedules.`},library:{label:`Transit`},settings:{label:`Sync settings`,caldav_calendar:`Calendar URL`,caldav_url:`CalDAV server URL`,caldav_username:`Username`,caldav_password:`Password`},bus_route:{label:`Route`,fields:{route_number:`Route No.`,from:`From`,to:`To`,stop:`Stop`,weekday_times:`Weekdays`,saturday_times:`Saturday`,sunday_times:`Sunday`,notes:`Notes`,tags:`Tags`}}},Co={transit:So},wo=e({default:()=>Eo,transit:()=>To}),To={plugin:{label:`Транспорт`,description:`Маршруты общественного транспорта и расписания.`},library:{label:`Транспорт`},settings:{label:`Настройки синхронизации`,caldav_calendar:`URL календаря`,caldav_url:`URL CalDAV-сервера`,caldav_username:`Имя пользователя`,caldav_password:`Пароль`},bus_route:{label:`Маршрут`,fields:{route_number:`Маршрут №`,from:`Откуда`,to:`Куда`,stop:`Остановка`,weekday_times:`Будни`,saturday_times:`Суббота`,sunday_times:`Воскресенье`,notes:`Заметки`,tags:`Теги`}}},Eo={transit:To},Do=e({default:()=>ko,transit:()=>Oo}),Oo={plugin:{label:`Транспорт`,description:`Маршрути громадського транспорту та розклади.`},library:{label:`Транспорт`},settings:{label:`Налаштування синхронізації`,caldav_calendar:`URL календаря`,caldav_url:`URL CalDAV-сервера`,caldav_username:`Ім'я користувача`,caldav_password:`Пароль`},bus_route:{label:`Маршрут`,fields:{route_number:`Маршрут №`,from:`Звідки`,to:`Куди`,stop:`Зупинка`,weekday_times:`Будні`,saturday_times:`Субота`,sunday_times:`Неділя`,notes:`Нотатки`,tags:`Теги`}}},ko={transit:Oo},Ao=e({default:()=>Mo,travel:()=>jo}),jo={plugin:{label:`Travel`,description:`Trips, flights and bookings.`},library:{label:`Travel`},trip:{label:`Trip`,fields:{description:`Notes`,destination:`Destination`,date_from:`Departure date`,date_to:`Return date`,status:`Status`,participants:`Participants`,budget:`Budget`,notes:`Notes`,photos:`Photos`,packing_list:`Packing list`,legs:`Legs`,accommodations:`Accommodations`,insurances:`Insurances`,activities:`Activities`,tags:`Tags`},options:{status:{planned:`Planned`,active:`In progress`,completed:`Completed`,cancelled:`Cancelled`}},packing:{prepared:`Prepared`,packed:`Packed`,packed_back:`Packed back`,item:`Item`},leg:{date:`Date`,leg_type:`Type`,operator:`Carrier`,number:`Flight / trip number`,seat:`Seat`,class:`Class`,booking_ref:`Booking ref`,terminal:`Terminal`,gate:`Gate`,origin_city:`Origin city`,origin_code:`Airport / station code`,departure_time:`Departure time`,destination_city:`Destination city`,destination_code:`Destination airport / station code`,arrival_time:`Arrival time`,duration:`Duration`,checked_in:`Checked in`,notes:`Notes`},leg_opt:{leg_type:{flight:`Flight`,train:`Train`,bus:`Bus`,car:`Car`,ferry:`Ferry`,other:`Other`},class:{economy:`Economy`,business:`Business`,first:`First`}},accom:{accom_type:`Type`,location:`Address`,address:`Address`,rating:`Stars`,breakfast:`Breakfast included`,check_in:`Check-in`,check_out:`Check-out`,booking_ref:`Booking reference`,cost:`Cost`,notes:`Notes`},accom_opt:{accom_type:{hotel:`Hotel`,apartment:`Apartment`,hostel:`Hostel`,other:`Other`},rating:{1:`★`,2:`★★`,3:`★★★`,4:`★★★★`,5:`★★★★★`}},insur:{insurer:`Insurer`,policy_number:`Policy number`,coverage:`Coverage`,cost:`Cost`,valid_from:`Valid from`,valid_until:`Valid until`,emergency_phone:`Emergency phone`,notes:`Notes`},act:{activity_type:`Type`,date:`Date`,time_start:`Start time`,time_end:`End time`,location:`Location`,booking_ref:`Booking ref`,cost:`Cost`,notes:`Notes`},act_opt:{activity_type:{sightseeing:`Sightseeing`,museum:`Museum`,beach:`Beach`,nature:`Nature`,restaurant:`Restaurant`,tour:`Tour`,shopping:`Shopping`,entertainment:`Entertainment`,other:`Other`}}}},Mo={travel:jo},No=e({default:()=>Fo,travel:()=>Po}),Po={plugin:{label:`Путешествия`,description:`Поездки, перелёты и бронирования.`},library:{label:`Путешествия`},trip:{label:`Поездка`,fields:{description:`Заметки`,destination:`Направление`,date_from:`Дата вылета`,date_to:`Дата возвращения`,status:`Статус`,participants:`Участники`,budget:`Бюджет`,notes:`Заметки`,photos:`Фото`,packing_list:`Список вещей`,legs:`Перевозки`,accommodations:`Проживание`,insurances:`Страховки`,activities:`Активности`,tags:`Теги`},options:{status:{planned:`Запланировано`,active:`В пути`,completed:`Завершено`,cancelled:`Отменено`}},packing:{prepared:`Подготовлено`,packed:`Сложено в сумки`,packed_back:`Собрано обратно`,item:`Вещь`},leg:{date:`Дата`,leg_type:`Тип`,operator:`Перевозчик`,number:`Номер рейса`,seat:`Место`,class:`Класс`,booking_ref:`Код бронирования`,terminal:`Терминал`,gate:`Выход`,origin_city:`Город отправления`,origin_code:`Код аэропорта/вокзала`,departure_time:`Время отправления`,destination_city:`Город прибытия`,destination_code:`Код аэропорта/вокзала назначения`,arrival_time:`Время прибытия`,duration:`Продолжительность`,checked_in:`Зарегистрировано`,notes:`Заметки`},leg_opt:{leg_type:{flight:`Рейс`,train:`Поезд`,bus:`Автобус`,car:`Авто`,ferry:`Паром`,other:`Другое`},class:{economy:`Эконом`,business:`Бизнес`,first:`Первый`}},accom:{accom_type:`Тип`,location:`Адрес`,address:`Адрес`,rating:`Звёзды`,breakfast:`Завтрак включён`,check_in:`Заезд`,check_out:`Выезд`,booking_ref:`Номер бронирования`,cost:`Стоимость`,notes:`Заметки`},accom_opt:{accom_type:{hotel:`Отель`,apartment:`Апартаменты`,hostel:`Хостел`,other:`Другое`},rating:{1:`★`,2:`★★`,3:`★★★`,4:`★★★★`,5:`★★★★★`}},insur:{insurer:`Страховщик`,policy_number:`Номер полиса`,coverage:`Покрытие`,cost:`Стоимость`,valid_from:`Действительна с`,valid_until:`Действительна до`,emergency_phone:`Телефон экстренной помощи`,notes:`Заметки`},act:{activity_type:`Тип`,date:`Дата`,time_start:`Время начала`,time_end:`Время завершения`,location:`Локация`,booking_ref:`Код бронирования`,cost:`Стоимость`,notes:`Заметки`},act_opt:{activity_type:{sightseeing:`Осмотр города`,museum:`Музей`,beach:`Пляж`,nature:`Природа`,restaurant:`Ресторан`,tour:`Экскурсия`,shopping:`Шопинг`,entertainment:`Развлечения`,other:`Другое`}}}},Fo={travel:Po},Io=e({default:()=>Ro,travel:()=>Lo}),Lo={plugin:{label:`Подорожі`,description:`Поїздки, перельоти та бронювання.`},library:{label:`Подорожі`},trip:{label:`Поїздка`,fields:{description:`Нотатки`,destination:`Напрямок`,date_from:`Дата вильоту`,date_to:`Дата повернення`,status:`Статус`,participants:`Учасники`,budget:`Бюджет`,notes:`Нотатки`,photos:`Фото`,packing_list:`Список речей`,legs:`Перевезення`,accommodations:`Проживання`,insurances:`Страховки`,activities:`Активності`,tags:`Теги`},options:{status:{planned:`Заплановано`,active:`В дорозі`,completed:`Завершено`,cancelled:`Скасовано`}},packing:{prepared:`Підготовлено`,packed:`Спаковано`,packed_back:`Зібрано назад`,item:`Річ`},leg:{date:`Дата`,leg_type:`Тип`,operator:`Перевізник`,number:`Номер рейсу`,seat:`Місце`,class:`Клас`,booking_ref:`Підтвердження`,terminal:`Термінал`,gate:`Гейт`,origin_city:`Місто відправлення`,origin_code:`Код аеропорту/вокзалу`,departure_time:`Час відправлення`,destination_city:`Місто прибуття`,destination_code:`Код аеропорту/вокзалу призначення`,arrival_time:`Час прибуття`,duration:`Тривалість`,checked_in:`Зареєстровано`,notes:`Нотатки`},leg_opt:{leg_type:{flight:`Рейс`,train:`Потяг`,bus:`Автобус`,car:`Авто`,ferry:`Паром`,other:`Інше`},class:{economy:`Економ`,business:`Бізнес`,first:`Перший`}},accom:{accom_type:`Тип`,location:`Адреса`,address:`Адреса`,rating:`Зірки`,breakfast:`Сніданок включено`,check_in:`Заїзд`,check_out:`Виїзд`,booking_ref:`Номер бронювання`,cost:`Вартість`,notes:`Нотатки`},accom_opt:{accom_type:{hotel:`Готель`,apartment:`Апартаменти`,hostel:`Хостел`,other:`Інше`},rating:{1:`★`,2:`★★`,3:`★★★`,4:`★★★★`,5:`★★★★★`}},insur:{insurer:`Страховик`,policy_number:`Номер полісу`,coverage:`Покриття`,cost:`Вартість`,valid_from:`Дійсна з`,valid_until:`Дійсна до`,emergency_phone:`Телефон екстреної допомоги`,notes:`Нотатки`},act:{activity_type:`Тип`,date:`Дата`,time_start:`Час початку`,time_end:`Час завершення`,location:`Локація`,booking_ref:`Підтвердження`,cost:`Вартість`,notes:`Нотатки`},act_opt:{activity_type:{sightseeing:`Огляд міста`,museum:`Музей`,beach:`Пляж`,nature:`Природа`,restaurant:`Ресторан`,tour:`Екскурсія`,shopping:`Шопінг`,entertainment:`Розваги`,other:`Інше`}}}},Ro={travel:Lo},zo=e({default:()=>Vo,webchat:()=>Bo}),Bo={title:`Agent`,open:`Open chat`,close:`Close`,expand:`Expand`,collapse:`Collapse`,newConversation:`New conversation`,threads:`Conversations`,empty:`No messages yet`,placeholder:`Ask about your data…`,send:`Send`,stop:`Stop`,thinking:`Thinking…`,error:`Error: {{message}}`,reasoning:`Reasoning`,settings:{label:`Web chat`,reasoning_display:`Reasoning display`,reasoning_display_live:`Live block`,reasoning_display_off:`Hidden`}},Vo={webchat:Bo},Ho=e({default:()=>Wo,webchat:()=>Uo}),Uo={title:`Агент`,open:`Открыть чат`,close:`Закрыть`,expand:`Развернуть`,collapse:`Свернуть`,newConversation:`Новый разговор`,threads:`Разговоры`,empty:`Пока нет сообщений`,placeholder:`Спроси о своих данных…`,send:`Отправить`,stop:`Стоп`,thinking:`Думает…`,error:`Ошибка: {{message}}`,reasoning:`Рассуждения`,settings:{label:`Чат на сайте`,reasoning_display:`Показ рассуждений`,reasoning_display_live:`Живым блоком`,reasoning_display_off:`Не показывать`}},Wo={webchat:Uo},Go=e({default:()=>qo,webchat:()=>Ko}),Ko={title:`Агент`,open:`Відкрити чат`,close:`Закрити`,expand:`Розгорнути`,collapse:`Згорнути`,newConversation:`Нова розмова`,threads:`Розмови`,empty:`Ще немає повідомлень`,placeholder:`Запитай про свої дані…`,send:`Надіслати`,stop:`Стоп`,thinking:`Думає…`,error:`Помилка: {{message}}`,reasoning:`Міркування`,settings:{label:`Чат на сайті`,reasoning_display:`Показ міркувань`,reasoning_display_live:`Живим блоком`,reasoning_display_off:`Не показувати`}},qo={webchat:Ko},Jo=e({default:()=>Xo,webexport:()=>Yo}),Yo={plugin:{label:`Web export`,description:`Static HTML export host: shared output dir and common css/js assets.`},settings:{label:`Web export settings`,output_dir:`Output directory`}},Xo={webexport:Yo},Zo=e({default:()=>$o,webexport:()=>Qo}),Qo={plugin:{label:`Веб-экспорт`,description:`Хост статического HTML-экспорта: общая папка вывода и общие css/js.`},settings:{label:`Настройки веб-экспорта`,output_dir:`Папка вывода`}},$o={webexport:Qo},es=e({default:()=>ns,webexport:()=>ts}),ts={plugin:{label:`Веб-експорт`,description:`Хост статичного HTML-експорту: спільна тека виводу та спільні css/js.`},settings:{label:`Налаштування веб-експорту`,output_dir:`Тека виводу`}},ns={webexport:ts},rs=Object.assign({"../plugin-claude-agent/locales/en.json":Mr,"../plugin-claude-agent/locales/ru.json":Pr,"../plugin-claude-agent/locales/uk.json":Ir,"../plugin-console/locales/en.json":Rr,"../plugin-console/locales/ru.json":Vr,"../plugin-console/locales/uk.json":Wr,"../plugin-devices/locales/en.json":qr,"../plugin-devices/locales/ru.json":Xr,"../plugin-devices/locales/uk.json":$r,"../plugin-documents/locales/en.json":ni,"../plugin-documents/locales/ru.json":ai,"../plugin-documents/locales/uk.json":ci,"../plugin-drone/locales/en.json":di,"../plugin-drone/locales/ru.json":mi,"../plugin-drone/locales/uk.json":_i,"../plugin-finance/locales/en.json":bi,"../plugin-finance/locales/ru.json":Ci,"../plugin-finance/locales/uk.json":Ei,"../plugin-garden/locales/en.json":ki,"../plugin-garden/locales/ru.json":Mi,"../plugin-garden/locales/uk.json":Fi,"../plugin-health/locales/en.json":Ri,"../plugin-health/locales/ru.json":Vi,"../plugin-health/locales/uk.json":Wi,"../plugin-home/locales/en.json":qi,"../plugin-home/locales/ru.json":Xi,"../plugin-home/locales/uk.json":$i,"../plugin-http/locales/en.json":na,"../plugin-http/locales/ru.json":aa,"../plugin-http/locales/uk.json":ca,"../plugin-kitchen/locales/en.json":da,"../plugin-kitchen/locales/ru.json":ma,"../plugin-kitchen/locales/uk.json":_a,"../plugin-lab/locales/en.json":ba,"../plugin-lab/locales/ru.json":Ca,"../plugin-lab/locales/uk.json":Ea,"../plugin-media/locales/en.json":ka,"../plugin-media/locales/ru.json":Ma,"../plugin-media/locales/uk.json":Fa,"../plugin-orchestrator/locales/en.json":Ra,"../plugin-orchestrator/locales/ru.json":Va,"../plugin-orchestrator/locales/uk.json":Wa,"../plugin-people/locales/en.json":qa,"../plugin-people/locales/ru.json":Xa,"../plugin-people/locales/uk.json":$a,"../plugin-telegram/locales/en.json":no,"../plugin-telegram/locales/ru.json":ao,"../plugin-telegram/locales/uk.json":co,"../plugin-things/locales/en.json":fo,"../plugin-things/locales/ru.json":ho,"../plugin-things/locales/uk.json":vo,"../plugin-transit/locales/en.json":xo,"../plugin-transit/locales/ru.json":wo,"../plugin-transit/locales/uk.json":Do,"../plugin-travel/locales/en.json":Ao,"../plugin-travel/locales/ru.json":No,"../plugin-travel/locales/uk.json":Io,"../plugin-webchat/locales/en.json":zo,"../plugin-webchat/locales/ru.json":Ho,"../plugin-webchat/locales/uk.json":Go,"../plugin-webexport/locales/en.json":Jo,"../plugin-webexport/locales/ru.json":Zo,"../plugin-webexport/locales/uk.json":es});for(let[e,t]of Object.entries(rs)){let n=e.match(/\/([a-z]{2})\.json$/)?.[1];n&&t.default&&jr.addResourceBundle(n,`translation`,t.default,!0,!0)}var is=new Map;function as(e,t){if(is.has(e))throw Error(`[actions] '${e}' already registered`);is.set(e,t)}function os(e){return is.get(e)}var ss=e({});as(`devices.runScan`,async e=>{let t=await fetch(`/api/plugins/devices/scan`,{method:`POST`});if(!t.ok){let e=await t.json(),n=Error(e.error??`Server error ${t.status}`);throw n.ui={kind:`popup`,variant:`error`,title:`devices.scan.failTitle`,message:e.error??`Server error ${t.status}`},n}let{result:n}=await t.json();return n.noMac.length>0?{kind:`popup`,variant:`error`,component:{name:`devices.scan.noMac`,data:{count:n.noMac.length,noMac:n.noMac}}}:{kind:`popup`,variant:`success`,component:{name:`devices.scan.summary`,data:{active:n.active,created:n.created,macChanged:n.macChanged,skipped:n.skipped,hostnameChanged:n.hostnameChanged}}}});var cs=e({});as(`finance.testConnection`,async e=>{let t=await fetch(`/api/plugins/finance/test`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error??`Server error ${t.status}`)}}),as(`finance.sync`,async e=>{let t=await fetch(`/api/plugins/finance/sync`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error??`Server error ${t.status}`)}}),as(`finance.importWise`,async e=>{let t=await fetch(`/api/plugins/finance/import-wise`,{method:`POST`}),n=await t.json();if(!t.ok)throw Error(n.error??`Server error ${t.status}`);if(n.errors?.length)throw Error(`Імпортовано ${n.imported}, пропущено ${n.skipped}, помилок ${n.errors.length}: ${n.errors[0]}`)});var ls=e({}),us=()=>new Date().toISOString().slice(0,10),ds=(e,t)=>{let n=new Date(e);return n.setDate(n.getDate()+t),n.toISOString().slice(0,10)};async function fs(e,t,n,r){let i=await(await fetch(`/api/${e.library}/${e.shelf}/${e.recordId}`)).json(),a=Number(i[n])||0,o=us(),s={[t]:o,[r]:a?ds(o,a):null};if(!(await fetch(`/api/${e.library}/${e.shelf}/${e.recordId}`,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify(s)})).ok){let e=Error(`update failed`);throw e.ui={kind:`toast`,variant:`error`,message:`garden.plant.actions.failed`},e}return{kind:`toast`,variant:`success`,message:`garden.plant.actions.done`}}as(`garden.watered`,e=>fs(e,`lastWatered`,`wateringDays`,`nextWatering`)),as(`garden.fertilized`,e=>fs(e,`lastFertilized`,`fertilizerDays`,`nextFertilizing`));var ps=e({});as(`lab.demoAction`,async e=>(await new Promise(e=>setTimeout(e,800)),{kind:`toast`,variant:`success`,message:`lab.field_demo.actions.scan_done`,params:{count:Math.floor(Math.random()*9)+1}})),as(`lab.demoFail`,async()=>{await new Promise(e=>setTimeout(e,400));let e=Error(`Demo error`);throw e.ui={kind:`popup`,variant:`error`,title:`lab.field_demo.actions.fail_title`,message:`lab.field_demo.actions.fail_body`,params:{code:500}},e});var ms=e({});as(`media.testJellyfin`,async e=>{let t=await fetch(`/api/plugins/media/test`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error??`Server error ${t.status}`)}}),as(`media.syncJellyfin`,async e=>{let t=await fetch(`/api/plugins/media/sync`,{method:`POST`}),n=await t.json();if(!t.ok)throw Error(n.error??`Server error ${t.status}`)}),Object.keys(Object.assign({"../plugin-devices/src/actions.ts":ss,"../plugin-finance/src/actions.ts":cs,"../plugin-garden/src/actions.ts":ls,"../plugin-lab/src/field_demo/actions.ts":ps,"../plugin-media/src/actions.ts":ms}));var hs=S(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),gs=S(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),_s=S(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),vs=S(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),ys=S(`corner-left-up`,[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]),bs=S(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),xs=S(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ss=S(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Cs=S(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),ws=S(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Ts=S(`film`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]),Es=S(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Ds=S(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Os=S(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),ks=S(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),As=S(`music`,[[`path`,{d:`M9 18V5l12-2v13`,key:`1jmyc2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`circle`,{cx:`18`,cy:`16`,r:`3`,key:`1hluhg`}]]),js=S(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Ms={"--w-rjv-font-family":`monospace`,"--w-rjv-color":`#0184a6`,"--w-rjv-key-string":`#0184a6`,"--w-rjv-background-color":`#202020`,"--w-rjv-line-color":`#323232`,"--w-rjv-arrow-color":`var(--w-rjv-color)`,"--w-rjv-edit-color":`var(--w-rjv-color)`,"--w-rjv-info-color":`#656565`,"--w-rjv-update-color":`#ebcb8b`,"--w-rjv-copied-color":`#0184a6`,"--w-rjv-copied-success-color":`#28a745`,"--w-rjv-curlybraces-color":`#1896b6`,"--w-rjv-brackets-color":`#1896b6`,"--w-rjv-quotes-color":`var(--w-rjv-key-string)`,"--w-rjv-quotes-string-color":`var(--w-rjv-type-string-color)`,"--w-rjv-type-string-color":`#cb4b16`,"--w-rjv-type-int-color":`#268bd2`,"--w-rjv-type-float-color":`#859900`,"--w-rjv-type-bigint-color":`#268bd2`,"--w-rjv-type-boolean-color":`#2aa198`,"--w-rjv-type-date-color":`#586e75`,"--w-rjv-type-url-color":`#649bd8`,"--w-rjv-type-null-color":`#d33682`,"--w-rjv-type-nan-color":`#076678`,"--w-rjv-type-undefined-color":`#586e75`};function Ns(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Ps(...e){return t=>{let n=!1,r=e.map(e=>{let r=Ns(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Ns(e[t],null)}}}}function Fs(...e){return L.useCallback(Ps(...e),e)}var R=g(),Is=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/mask-input.tsx`,Ls=120,Rs=10,zs=`USD`,Bs=`en-US`,Vs=/^(phone|zipCode|zipCodeExtended|ssn|ein|time|date|creditCard|creditCardExpiry)$/,Hs=/[€$%]/,Us=new Map,Ws=new Map,Gs=new Map,Ks=[31,28,31,30,31,30,31,31,30,31,30,31],z={digitsOnly:/^\d+$/,nonDigits:/\D/g,nonAlphaNumeric:/[^A-Z0-9]/gi,nonNumericDot:/[^0-9.]/g,nonCurrencyChars:/[^\d.,]/g,hashPattern:/#/g,currencyAtEnd:/\d\s*[^\d\s]+$/,percentageChars:/[^\d.]/g,phone:/^\d{10}$/,ssn:/^\d{9}$/,zipCode:/^\d{5}$/,zipCodeExtended:/^\d{9}$/,isbn:/^\d{13}$/,ein:/^\d{9}$/,time:/^\d{4}$/,creditCard:/^\d{13,19}$/,creditCardExpiry:/^\d{4}$/,licensePlate:/^[A-Z0-9]{6}$/,macAddress:/^[A-F0-9]{12}$/,currencyValidation:/^\d+(\.\d{1,2})?$/,ipv4Segment:/^\d{1,3}$/};function qs(e,t){let{currency:n,minimumFractionDigits:r=0,maximumFractionDigits:i=2}=t,a=`${e}|${n}|${r}|${i}`;if(!Us.has(a))try{Us.set(a,new Intl.NumberFormat(e,{style:`currency`,currency:n,...t}))}catch{Us.set(a,new Intl.NumberFormat(Bs,{style:`currency`,currency:zs,...t}))}let o=Us.get(a);if(!o)throw Error(`Failed to create formatter for ${a}`);return o}function Js(e){let{locale:t,currency:n}=e,r=`${t}|${n}`,i=Gs.get(r);if(i)return i;let a=`$`,o=`.`,s=`,`;try{let e=qs(t,{currency:n,minimumFractionDigits:0,maximumFractionDigits:2}).formatToParts(1234.5),r=e.find(e=>e.type===`currency`),i=e.find(e=>e.type===`decimal`),c=e.find(e=>e.type===`group`);r&&(a=r.value),i&&(o=i.value),c&&(s=c.value)}catch{}let c={currency:a,decimal:o,group:s};return Gs.set(r,c),c}function Ys(e){let{locale:t,currency:n}=e,r=`${t}|${n}`,i=Ws.get(r);if(i!==void 0)return i;try{let e=qs(t,{currency:n,minimumFractionDigits:0,maximumFractionDigits:0}).format(123),i=z.currencyAtEnd.test(e);return Ws.set(r,i),i}catch{return Ws.set(r,!1),!1}}function Xs(e){let{mask:t,pattern:n}=e;return t===`currency`||!!(n&&(n.includes(`$`)||n.includes(`€`)))}var Zs={phone:{pattern:`(###) ###-####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.phone.test(e.replace(z.nonDigits,``))},ssn:{pattern:`###-##-####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.ssn.test(e.replace(z.nonDigits,``))},date:{pattern:`##/##/####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(t.length!==8)return!1;let n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10),i=parseInt(t.substring(4,8),10),a=new Date().getFullYear(),o=a-Ls,s=a+Rs;return n<1||n>12||r<1||i<o||i>s?!1:r<=(n===2&&(i%4==0&&i%100!=0||i%400==0)?29:Ks[n-1]??31)}},time:{pattern:`##:##`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(!z.time.test(t))return!1;let n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10);return n<=23&&r<=59}},creditCard:{pattern:`#### #### #### ####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(!z.creditCard.test(t))return!1;let n=0,r=!1;for(let e=t.length-1;e>=0;e--){let i=t[e];if(!i)continue;let a=parseInt(i,10);r&&(a*=2,a>9&&(a-=9)),n+=a,r=!r}return n%10==0}},creditCardExpiry:{pattern:`##/##`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(!z.creditCardExpiry.test(t))return!1;let n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10);if(n<1||n>12)return!1;let i=new Date,a=i.getFullYear(),o=i.getMonth()+1,s=r<=75?2e3+r:1900+r;return!(s<a||s===a&&n<o||s>a+50)}},zipCode:{pattern:`#####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.zipCode.test(e.replace(z.nonDigits,``))},zipCodeExtended:{pattern:`#####-####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.zipCodeExtended.test(e.replace(z.nonDigits,``))},currency:{pattern:`$###,###.##`,transform:(e,{currency:t=zs,locale:n=Bs}={})=>{let r=`.`;try{let e=qs(n,{currency:t,minimumFractionDigits:0,maximumFractionDigits:2}).formatToParts(1234.5).find(e=>e.type===`decimal`);e&&(r=e.value)}catch{}let i=e.replace(z.nonCurrencyChars,``),a=i.indexOf(`.`),o=i.indexOf(`,`),s=!1,c=-1;if(r===`,`){let e=i.lastIndexOf(`,`);if(e!==-1){let t=i.substring(e+1);t.length<=2&&/^\d*$/.test(t)&&(s=!0,c=e)}if(!s&&a!==-1){let e=i.substring(a+1);e.length<=2&&/^\d*$/.test(e)&&(s=!0,c=a)}if(!s&&i.length>=4){let e=i.match(/^(\d+)\.(\d{3})(\d{1,2})$/);if(e){let[,t,n,r]=e;return`${(t??``)+(n??``)}.${r}`}}}else{let e=i.lastIndexOf(`.`);if(e!==-1){let t=i.substring(e+1);t.length<=2&&/^\d*$/.test(t)&&(s=!0,c=e)}if(!s&&o!==-1){let e=i.substring(o+1);!(o<=3&&e.length>=3)&&e.length<=2&&/^\d*$/.test(e)&&(s=!0,c=o)}}if(s&&c!==-1){let e=i.substring(0,c).replace(/[.,]/g,``),t=i.substring(c+1).replace(/[.,]/g,``);return t===``?`${e}.`:`${e}.${t.substring(0,2)}`}return i.replace(/[.,]/g,``)},validate:e=>{if(!z.currencyValidation.test(e))return!1;let t=parseFloat(e);return!Number.isNaN(t)&&t>=0}},percentage:{pattern:`##.##%`,transform:e=>{let t=e.replace(z.percentageChars,``),n=t.split(`.`);return n.length>2?`${n[0]}.${n.slice(1).join(``)}`:n[1]&&n[1].length>2?`${n[0]}.${n[1].substring(0,2)}`:t},validate:(e,t={})=>{let n=parseFloat(e),r=t.min??0,i=t.max??100;return!Number.isNaN(n)&&n>=r&&n<=i}},licensePlate:{pattern:`###-###`,transform:e=>e.replace(z.nonAlphaNumeric,``).toUpperCase(),validate:e=>z.licensePlate.test(e)},ipv4:{pattern:`###.###.###.###`,transform:e=>e.replace(z.nonNumericDot,``),validate:e=>{if(e.includes(`.`)){let t=e.split(`.`);return t.length>4?!1:t.every(e=>e===``?!0:z.ipv4Segment.test(e)?parseInt(e,10)<=255:!1)}else{if(!z.digitsOnly.test(e)||e.length>12)return!1;let t=[];for(let n=0;n<e.length;n+=3)t.push(e.substring(n,n+3));return t.length>4?!1:t.every(e=>{let t=parseInt(e,10);return t>=0&&t<=255})}}},macAddress:{pattern:`##:##:##:##:##:##`,transform:e=>e.replace(z.nonAlphaNumeric,``).toUpperCase(),validate:e=>z.macAddress.test(e)},isbn:{pattern:`###-#-###-#####-#`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.isbn.test(e.replace(z.nonDigits,``))},ein:{pattern:`##-#######`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.ein.test(e.replace(z.nonDigits,``))}};function Qs(e){let{value:t,pattern:n,currency:r,locale:i,mask:a}=e,o=t;if(n.includes(`$`)||n.includes(`€`)||a===`currency`)return $s({value:o,currency:r??zs,locale:i??Bs});if(n.includes(`%`))return ec(o);if(a===`ipv4`)return o;let s=[],c=0;for(let e=0;e<n.length&&c<o.length;e++){let t=n[e],r=o[c];t===`#`&&r?(s.push(r),c++):t&&s.push(t)}return s.join(``)}function $s(e){let{value:t,currency:n=zs,locale:r=Bs}=e;if(!t)return``;let{currency:i,decimal:a,group:o}=Js({locale:r,currency:n}),s=t.replace(RegExp(`\\${o.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}`,`g`),``).replace(a,`.`).split(`.`),c=s[0]??``,l=s[1]??``;if(!c&&!l)return``;let u=c??`0`,d=l.slice(0,2),f=Number(`${u}.${d??``}`);if(Number.isNaN(f)){let e=t.replace(/[^\d]/g,``);return e?`${i}${e}`:``}let p=t.includes(`.`)||t.includes(a);try{let e=qs(r,{currency:n,minimumFractionDigits:d?d.length:0,maximumFractionDigits:2}).format(f);return p&&!d?e.match(/^[^\d\s]+/)?e.replace(/(\d)$/,`$1${a}`):e.replace(/(\d)(\s*)([^\d\s]+)$/,`$1${a}$2$3`):e}catch{let e=`${i}${u.replace(/\B(?=(\d{3})+(?!\d))/g,o)}`;return p&&(e+=`${a}${d}`),e}}function ec(e){if(!e)return``;let t=e.split(`.`),n=t[0]??`0`;return e.includes(`.`)&&(n+=`.${(t[1]??``).substring(0,2)}`),`${n}%`}function tc(e){let{value:t,transform:n,currency:r,locale:i}=e;return n?n(t,{currency:r,locale:i}):t.replace(z.nonDigits,``)}function nc(e){let{masked:t,pattern:n,caret:r}=e,i=0;for(let e=0;e<r&&e<t.length&&e<n.length;e++)n[e]===`#`&&i++;return i}function rc(e){let{masked:t,pattern:n,unmaskedIndex:r}=e,i=0;for(let e=0;e<t.length&&e<n.length;e++)if(n[e]===`#`&&(i++,i===r))return e+1;return t.length}function ic(e){let{newValue:t,mask:n,transformOpts:r,oldCursorPosition:i,oldValue:a,previousUnmasked:o}=e;if(i!==void 0&&a&&o!==void 0&&i<a.length){let e=a.substring(0,i).replace(/\D/g,``).length,n=0;for(let r=0;r<t.length;r++)if(/\d/.test(t[r]??``)&&(n++,n===e))return r+1}if(n===`currency`)if(Ys(r)){let e=t.match(/(\d)\s*([^\d\s]+)$/);return e?.[1]?t.lastIndexOf(e[1])+1:t.length}else return t.length;else return t.length}function ac(e){let{newValue:t,maskPattern:n,currentUnmasked:r,oldCursorPosition:i,oldValue:a,previousUnmasked:o}=e,s=0,c=0;if(i!==void 0&&a&&o!==void 0){let e=nc({masked:a,pattern:n.pattern,caret:i});if(i<a.length){let i=Math.min(e,r.length);for(let e=0;e<n.pattern.length&&e<t.length;e++)n.pattern[e]===`#`&&(c++,c<=i&&(s=e+1));return s}}for(let e=0;e<n.pattern.length&&e<t.length;e++)n.pattern[e]===`#`&&(c++,c<=r.length&&(s=e+1));return s}function oc(e){let{value:t,defaultValue:n,onValueChange:r,onValidate:i,onBlur:a,onFocus:o,onKeyDown:s,onPaste:c,onCompositionStart:l,onCompositionEnd:u,validationMode:d=`onChange`,mask:f,maskPlaceholder:p,currency:m=zs,locale:h=Bs,placeholder:g,inputMode:_,min:v,max:y,maxLength:b,asChild:x=!1,disabled:S=!1,invalid:w=!1,readOnly:T=!1,required:E=!1,withoutMask:D=!1,className:O,ref:k,...A}=e,[ee,te]=L.useState(n??``),[ne,j]=L.useState(!1),[M,re]=L.useState(!1),[N,ie]=L.useState(!1),oe=L.useRef(null),se=Fs(k,oe),ce=t!==void 0,le=ce?t:ee,P=L.useMemo(()=>typeof f==`string`?Zs[f]:f,[f]),ue=L.useMemo(()=>({currency:m,locale:h}),[m,h]),de=L.useMemo(()=>D?g:g&&p?ne?p:g:p?ne?p:void 0:g,[g,p,ne,D]),fe=L.useMemo(()=>D||!P||!le?le??``:Qs({value:tc({value:le,transform:P.transform,...ue}),pattern:P.pattern,...ue,mask:f}),[le,P,D,ue,f]),pe=L.useMemo(()=>{if(!(!P||Hs.test(P.pattern)))return P.pattern.match(z.hashPattern)?.length??0},[P])?P?.pattern.length:b,me=L.useMemo(()=>{if(_)return _;if(P){if(f===`currency`||f===`percentage`||f===`ipv4`)return`decimal`;if(typeof f==`string`&&Vs.test(f))return`numeric`}},[P,f,_]),he=L.useCallback(e=>{if(!i||!P?.validate)return!1;switch(d){case`onChange`:return e===`change`;case`onBlur`:return e===`blur`;case`onSubmit`:return!1;case`onTouched`:return N?e===`change`:e===`blur`;case`all`:return!0;default:return e===`change`}},[i,P,d,N]),ge=L.useMemo(()=>({min:typeof v==`string`?parseFloat(v):v,max:typeof y==`string`?parseFloat(y):y}),[v,y]),_e=L.useCallback(e=>{if(i&&P?.validate){let t=P.validate(e,ge);i(t,e)}},[i,P?.validate,ge]),ve=L.useCallback(e=>{let t=e.target.value,n=t,a=t;if(M){ce||te(t);return}if(D||!P){ce||te(t),he(`change`)&&i?.(!0,t),r?.(t,t);return}if(P&&(a=tc({value:t,transform:P.transform,...ue}),n=Qs({value:a,pattern:P.pattern,...ue,mask:f}),oe.current&&n!==t)){let e=oe.current;if(!(e instanceof HTMLInputElement))return;let r=e.selectionStart??0;e.value=n;let i=tc({value:n,transform:P.transform,...ue}),a,o=tc({value:le,transform:P.transform,...ue});a=Hs.test(P.pattern)?ic({newValue:n,mask:f,transformOpts:ue,oldCursorPosition:r,oldValue:t,previousUnmasked:o}):ac({newValue:n,maskPattern:P,currentUnmasked:i,oldCursorPosition:r,oldValue:t,previousUnmasked:o}),Xs({mask:f,pattern:P.pattern})?f===`currency`&&Ys(ue)||(a=Math.max(1,a)):P.pattern.includes(`%`)&&(a=Math.min(n.length-1,a)),a=Math.min(a,n.length),e.setSelectionRange(a,a)}ce||te(n),he(`change`)&&_e(a),r?.(n,a)},[P,ce,r,i,_e,M,he,D,ue,f,le]),ye=L.useCallback(e=>{o?.(e),!e.defaultPrevented&&j(!0)},[o]),be=L.useCallback(e=>{if(a?.(e),!e.defaultPrevented&&(j(!1),N||ie(!0),he(`blur`))){let t=e.target.value,n=P?tc({value:t,transform:P.transform,...ue}):t;_e(n)}},[a,N,he,_e,P,ue]),xe=L.useCallback(e=>{l?.(e),!e.defaultPrevented&&re(!0)},[l]),Se=L.useCallback(e=>{if(u?.(e),e.defaultPrevented)return;re(!1);let t=oe.current;if(!t||!(t instanceof HTMLInputElement))return;let n=t.value;if(!P||D){ce||te(n),he(`change`)&&i?.(!0,n),r?.(n,n);return}let a=tc({value:n,transform:P.transform,...ue}),o=Qs({value:a,pattern:P.pattern,...ue,mask:f});ce||te(o),he(`change`)&&_e(a),r?.(o,a)},[u,P,D,ce,he,i,r,ue,f,_e]),Ce=L.useCallback(e=>{if(c?.(e),e.defaultPrevented||D||!P||f===`ipv4`)return;let t=e.target;if(!(t instanceof HTMLInputElement))return;let n=e.clipboardData.getData(`text`);if(!n)return;e.preventDefault();let i=t.value,a=t.selectionStart??0,o=t.selectionEnd??0,s=i.slice(0,a),l=i.slice(o),u=tc({value:s+n+l,transform:P.transform,...ue}),d=Qs({value:u,pattern:P.pattern,...ue,mask:f});if(t.value=d,Xs({mask:f,pattern:P.pattern})){let e=Ys(ue)?d.search(/\s*[^\d\s]+$/):d.length;t.setSelectionRange(e,e);return}if(P.pattern.includes(`%`)){t.setSelectionRange(d.length-1,d.length-1);return}let p=d.length;try{let e=u.length,t=0,n=0;for(let r=0;r<P.pattern.length&&r<d.length;r++)P.pattern[r]===`#`&&(n++,n<=e&&(t=r+1));p=t}catch{}t.setSelectionRange(p,p),ce||te(d),he(`change`)&&_e(u),r?.(d,u)},[c,D,P,f,ue,ce,he,_e,r]),we=L.useCallback(e=>{if(s?.(e),!e.defaultPrevented&&!(D||!P)&&f!==`ipv4`){if(e.key===`Backspace`){let t=e.target;if(!(t instanceof HTMLInputElement))return;let n=t.selectionStart??0,i=t.selectionEnd??0,a=t.value;if(f===`currency`||f===`percentage`||P.pattern.includes(`$`)||P.pattern.includes(`€`)||P.pattern.includes(`%`)||n!==i)return;if(n>0&&a[n-1]){e.preventDefault();let i=nc({masked:a,pattern:P.pattern,caret:n});if(i>0){let e=tc({value:a,transform:P.transform,...ue}),n=e.slice(0,i-1)+e.slice(i),o=Qs({value:n,pattern:P.pattern,...ue,mask:f});t.value=o;let s=rc({masked:o,pattern:P.pattern,unmaskedIndex:i-1});t.setSelectionRange(s,s),r?.(o,n)}return}}if(e.key===`Delete`){let t=e.target;if(!(t instanceof HTMLInputElement))return;let n=t.selectionStart??0,i=t.selectionEnd??0,a=t.value;if(f===`currency`||f===`percentage`||P.pattern.includes(`$`)||P.pattern.includes(`€`)||P.pattern.includes(`%`)||n!==i)return;if(n<a.length&&a[n]){e.preventDefault();let i=nc({masked:a,pattern:P.pattern,caret:n}),o=tc({value:a,transform:P.transform,...ue});if(i<o.length){let e=o.slice(0,i)+o.slice(i+1),n=Qs({value:e,pattern:P.pattern,...ue,mask:f});t.value=n;let a=rc({masked:n,pattern:P.pattern,unmaskedIndex:i});t.setSelectionRange(a,a),r?.(n,e)}return}}}},[P,s,r,ue,f,D]);return(0,R.jsxDEV)(x?ae:`input`,{"aria-invalid":w,"data-disabled":S?``:void 0,"data-invalid":w?``:void 0,"data-readonly":T?``:void 0,"data-required":E?``:void 0,"data-slot":`mask-input`,...A,className:C(`flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40`,O),placeholder:de,ref:se,value:fe,disabled:S,maxLength:pe,readOnly:T,required:E,inputMode:me,min:v,max:y,onFocus:ye,onBlur:be,onKeyDown:we,onPaste:Ce,onChange:ve,onCompositionStart:xe,onCompositionEnd:Se},void 0,!1,{fileName:Is,lineNumber:1468,columnNumber:5},this)}var sc=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/option-icon.tsx`,cc={xs:14,sm:16,md:20,lg:28};function lc({icon:e,size:t=`sm`,framed:n=!1,className:r}){let i=cc[t];if(n){let t={width:i,height:i};return e.kind===`image`?(0,R.jsxDEV)(`img`,{src:e.value,alt:``,loading:`lazy`,className:`shrink-0 rounded-full border border-border object-cover ${r??``}`,style:t},void 0,!1,{fileName:sc,lineNumber:28,columnNumber:9},this):e.kind===`swatch`?(0,R.jsxDEV)(`span`,{className:`shrink-0 rounded-full border border-border ${r??``}`,style:{...t,backgroundColor:e.value}},void 0,!1,{fileName:sc,lineNumber:38,columnNumber:9},this):(0,R.jsxDEV)(`span`,{className:`shrink-0 grid place-items-center rounded-full border border-border bg-elevated text-muted ${r??``}`,style:t,children:(0,R.jsxDEV)(Ae,{name:e.value,size:Math.round(i*.55)},void 0,!1,{fileName:sc,lineNumber:48,columnNumber:9},this)},void 0,!1,{fileName:sc,lineNumber:44,columnNumber:7},this)}return e.kind===`swatch`?(0,R.jsxDEV)(`span`,{className:`shrink-0 inline-block rounded-full border border-border/60 ${r??``}`,style:{width:i,height:i,backgroundColor:e.value}},void 0,!1,{fileName:sc,lineNumber:54,columnNumber:7},this):e.kind===`image`?(0,R.jsxDEV)(`img`,{src:e.value,alt:``,loading:`lazy`,className:`shrink-0 rounded-full border border-border object-cover ${r??``}`,style:{width:i,height:i}},void 0,!1,{fileName:sc,lineNumber:61,columnNumber:7},this):(0,R.jsxDEV)(Ae,{name:e.value,size:i,className:`shrink-0 ${r??``}`},void 0,!1,{fileName:sc,lineNumber:69,columnNumber:10},this)}var uc={};function dc(e){if(!e.kind)throw Error(`[list-view] view without kind`);if(uc[e.kind])throw Error(`[list-view] kind '${e.kind}' already registered`);uc[e.kind]=e}function fc(e){return uc[e]}function pc(e){return(e??``).replace(/```[\s\S]*?```/g,` `).replace(/`([^`]+)`/g,`$1`).replace(/!\[[^\]]*\]\([^)]*\)/g,` `).replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`).replace(/^#{1,6}\s+/gm,``).replace(/[*_~>#-]+/g,` `).replace(/\s+/g,` `).trim()}var mc=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/markdown-view.tsx`;In.addHook(`afterSanitizeAttributes`,e=>{e.tagName===`A`&&(e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer`))});function hc(e){let t=Fn.parse(e,{async:!1});return In.sanitize(t)}function gc({value:e}){return(0,R.jsxDEV)(`div`,{className:`md-static`,dangerouslySetInnerHTML:{__html:hc(e)}},void 0,!1,{fileName:mc,lineNumber:32,columnNumber:10},this)}var B=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/text.tsx`,_c=(0,L.lazy)(()=>c(()=>import(`./MarkdownEditor-CxlMpjDc.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),vc=(0,L.lazy)(()=>c(()=>import(`./esm-Dfm1ivm4.js`),__vite__mapDeps([16,1,2,6,8,17,18,12,13,19,20]))),yc=(0,L.lazy)(()=>c(()=>import(`./esm-C5Scej0H.js`),__vite__mapDeps([21,1,2,6]))),bc=(0,L.lazy)(()=>c(()=>import(`./dist-COeDLrWj.js`).then(e=>({default:e.HexColorPicker})),__vite__mapDeps([22,1,2]))),xc=(0,L.lazy)(()=>c(()=>import(`./phone-input-DLmP9Sfd.js`).then(e=>({default:e.PhoneInput})),__vite__mapDeps([23,1,2,3,24,4,25,26,5,6,27]))),Sc={iban:{pattern:`#### #### #### #### #### #### #### ##`,transform:e=>e.replace(/[^a-z0-9]/gi,``).toUpperCase()}};function Cc({name:e,field:t,value:n,onChange:r}){let i=t.hints,a=i.inputType??`text`;if(i.multiple===!0)return(0,R.jsxDEV)(bt,{value:n,onChange:r,renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:a,value:e,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:B,lineNumber:78,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:74,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);if(typeof i.mask==`string`){let t=Sc[i.mask]??i.mask,n=i.maskStore===`unmasked`;return(0,R.jsxDEV)(oc,{id:e,mask:t,value:o,onValueChange:(e,t)=>r(n?t:e)},void 0,!1,{fileName:B,lineNumber:105,columnNumber:7},this)}return(0,R.jsxDEV)(E,{id:e,type:a,value:o,onChange:e=>r(e.target.value),minLength:i.minLength,maxLength:i.maxLength},void 0,!1,{fileName:B,lineNumber:114,columnNumber:5},this)}function wc({field:e,value:t}){return ut(e,t,e=>(0,R.jsxDEV)(`span`,{children:String(e)},void 0,!1,{fileName:B,lineNumber:126,columnNumber:41},this))}function Tc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(wc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:141,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Cc,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:B,lineNumber:143,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:131,columnNumber:5},this)}function Ec({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(String(e??``))},void 0,!1,{fileName:B,lineNumber:155,columnNumber:10},this)}I({kinds:[`text`,`email`,`slug`],Page:Tc,Inline:Ec});function Dc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>lt(e)?(0,R.jsxDEV)(`span`,{children:String(e)},void 0,!1,{fileName:B,lineNumber:179,columnNumber:35},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:B,lineNumber:179,columnNumber:62},this),edit:(e,t)=>(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:181,columnNumber:29},this),children:(0,R.jsxDEV)(xc,{value:String(e),onChange:e=>t(e??``)},void 0,!1,{fileName:B,lineNumber:182,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:181,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:168,columnNumber:5},this)}function Oc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(String(e??``))},void 0,!1,{fileName:B,lineNumber:193,columnNumber:10},this)}I({kinds:[`tel`],Page:Dc,Inline:Oc});var kc=e=>/^[a-z][a-z0-9+.-]*:\/\//i.test(e)?e:`https://${e}`;function Ac({value:e}){let t=String(e??``);return t?(0,R.jsxDEV)(`a`,{href:kc(t),target:`_blank`,rel:`noopener noreferrer`,className:`text-primary underline truncate`,children:t},void 0,!1,{fileName:B,lineNumber:210,columnNumber:5},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:B,lineNumber:208,columnNumber:18},this)}function jc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:e=>(0,R.jsxDEV)(Ac,{value:e},void 0,!1,{fileName:B,lineNumber:228,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(E,{type:`url`,value:String(e),onChange:e=>t(e.target.value)},void 0,!1,{fileName:B,lineNumber:230,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:218,columnNumber:5},this)}I({kinds:[`link`],Page:jc,Inline:({value:e})=>(0,R.jsxDEV)(Ac,{value:e},void 0,!1,{fileName:B,lineNumber:243,columnNumber:44},void 0)});function Mc({name:e,field:t,value:n,onChange:r}){return t.hints.multiple===!0?(0,R.jsxDEV)(bt,{value:n,onChange:r,display:()=>`•••`,renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`password`,value:e,autoComplete:`new-password`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:B,lineNumber:256,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:251,columnNumber:7},this):(0,R.jsxDEV)(E,{id:e,type:`password`,value:n,autoComplete:`current-password`,onChange:e=>r(e.target.value)},void 0,!1,{fileName:B,lineNumber:274,columnNumber:5},this)}function Nc({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(st,{items:kn(t,[]),content:()=>`•••`,reserveEditor:!0},void 0,!1,{fileName:B,lineNumber:286,columnNumber:12},this):(0,R.jsxDEV)(`span`,{className:`text-muted text-sm select-none`,children:`•••`},void 0,!1,{fileName:B,lineNumber:288,columnNumber:10},this)}function Pc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(Nc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:303,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Mc,{name:`field-${e.field.label}`,field:e.field,value:String(t),onChange:n},void 0,!1,{fileName:B,lineNumber:305,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:293,columnNumber:5},this)}function Fc(){return(0,R.jsxDEV)(`span`,{children:`•••`},void 0,!1,{fileName:B,lineNumber:317,columnNumber:10},this)}I({kinds:[`password`],Page:Pc,Inline:Fc});function Ic(e){let t=e.field.hints.maxLength;return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`textarea`,width:`w-full`,bare:e.bare,view:e=>lt(e)?(0,R.jsxDEV)(`p`,{className:`text-[15px] text-text/90 leading-relaxed whitespace-pre-wrap`,children:String(e)},void 0,!1,{fileName:B,lineNumber:344,columnNumber:16},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:B,lineNumber:343,columnNumber:34},this),edit:(n,r)=>(0,R.jsxDEV)(A,{id:`field-${e.field.label}`,value:String(n),maxLength:t,onChange:e=>r(e.target.value)},void 0,!1,{fileName:B,lineNumber:347,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:331,columnNumber:5},this)}function Lc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(String(e??``))},void 0,!1,{fileName:B,lineNumber:359,columnNumber:10},this)}I({kinds:[`textarea`],layout:`block`,box:`textarea`,Page:Ic,Inline:Lc}),I({kinds:[`smalltext`],Page:Ic,Inline:Lc});function Rc(e){let{t}=a(),n=e.field.hints.maxLength;return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`textarea`,width:`w-full`,bare:e.bare,view:e=>{if(!lt(e))return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:B,lineNumber:394,columnNumber:34},this);let n=String(e);return(0,R.jsxDEV)(`p`,{className:`text-[15px] text-text/90 leading-relaxed whitespace-pre-wrap`,children:t(n,{defaultValue:n})},void 0,!1,{fileName:B,lineNumber:396,columnNumber:16},this)},edit:(t,r)=>(0,R.jsxDEV)(A,{id:`field-${e.field.label}`,value:String(t),maxLength:n,onChange:e=>r(e.target.value)},void 0,!1,{fileName:B,lineNumber:399,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:382,columnNumber:5},this)}function zc({value:e}){let{t}=a(),n=String(e??``);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(t(n,{defaultValue:n}))},void 0,!1,{fileName:B,lineNumber:413,columnNumber:10},this)}I({kinds:[`i18n`],layout:`block`,box:`textarea`,Page:Rc,Inline:zc});function Bc({value:e,onChange:t}){let{t:n}=a();return(0,R.jsxDEV)(`div`,{className:`crepe-wrap`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:430,columnNumber:27},this),children:(0,R.jsxDEV)(_c,{value:e,onChange:t,placeholder:n(`form.mdPlaceholder`)},void 0,!1,{fileName:B,lineNumber:431,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:430,columnNumber:7},this)},void 0,!1,{fileName:B,lineNumber:429,columnNumber:5},this)}function Vc({value:e}){return yt(e,e=>(0,R.jsxDEV)(gc,{value:String(e)},void 0,!1,{fileName:B,lineNumber:438,columnNumber:31},this))}function Hc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:t=>(0,R.jsxDEV)(Vc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:454,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Bc,{name:`field-${e.field.label}`,field:e.field,value:String(t),onChange:n},void 0,!1,{fileName:B,lineNumber:456,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:443,columnNumber:5},this)}function Uc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(pc(String(e??``)))||`—`},void 0,!1,{fileName:B,lineNumber:469,columnNumber:10},this)}I({kinds:[`markdown`],layout:`block`,Page:Hc,Inline:Uc});function Wc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:e=>(0,R.jsxDEV)(`pre`,{className:`min-w-0 min-h-32 text-[13px] leading-normal font-mono border border-transparent rounded-lg p-3 overflow-x-auto whitespace-pre-wrap text-text/90`,children:lt(e)?String(e):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:B,lineNumber:496,columnNumber:38},this)},void 0,!1,{fileName:B,lineNumber:495,columnNumber:9},this),edit:(t,n)=>(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,className:`json-editor-wrap min-w-0`,children:(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border border-border min-w-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:502,columnNumber:33},this),children:(0,R.jsxDEV)(vc,{value:String(t),language:e.field.hints.language??`text`,onChange:e=>n(e.target.value),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:B,lineNumber:503,columnNumber:15},this)},void 0,!1,{fileName:B,lineNumber:502,columnNumber:13},this)},void 0,!1,{fileName:B,lineNumber:501,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:500,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:483,columnNumber:5},this)}function Gc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(String(e??``))},void 0,!1,{fileName:B,lineNumber:524,columnNumber:10},this)}I({kinds:[`snippet`],layout:`block`,Page:Wc,Inline:Gc});function Kc(e){return typeof e==`string`?e:e==null?``:JSON.stringify(e,null,2)}function qc({value:e,onChange:t}){let n=!0;if(e.trim())try{JSON.parse(e)}catch{n=!1}return(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,className:`json-editor-wrap min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border min-w-0 ${n?`border-border`:`border-danger/60`}`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:562,columnNumber:29},this),children:(0,R.jsxDEV)(vc,{value:e,language:`json`,placeholder:`{ }`,onChange:e=>t(e.target.value),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:B,lineNumber:563,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:562,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:561,columnNumber:7},this),!n&&(0,R.jsxDEV)(`p`,{className:`text-xs text-danger mt-1 flex items-center gap-1`,children:[(0,R.jsxDEV)(Ae,{name:`lucide:alert-triangle`,size:12,className:`shrink-0`},void 0,!1,{fileName:B,lineNumber:575,columnNumber:11},this),` JSON`]},void 0,!0,{fileName:B,lineNumber:574,columnNumber:9},this)]},void 0,!0,{fileName:B,lineNumber:560,columnNumber:5},this)}function Jc({value:e}){let t;try{t=typeof e==`object`?e:JSON.parse(String(e))}catch{t=void 0}return typeof t!=`object`||!t?(0,R.jsxDEV)(`pre`,{className:`min-w-0 text-xs bg-bg border border-border rounded-lg p-3 overflow-x-auto text-muted`,children:String(e)},void 0,!1,{fileName:B,lineNumber:591,columnNumber:7},this):(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,className:`min-w-0 bg-bg border border-border rounded-lg p-3 overflow-x-auto`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:598,columnNumber:27},this),children:(0,R.jsxDEV)(yc,{value:t,style:{...Ms,"--w-rjv-background-color":`transparent`},displayDataTypes:!1,enableClipboard:!0,collapsed:2},void 0,!1,{fileName:B,lineNumber:599,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:598,columnNumber:7},this)},void 0,!1,{fileName:B,lineNumber:597,columnNumber:5},this)}function Yc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:t=>(0,R.jsxDEV)(Jc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:624,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(qc,{name:`field-${e.field.label}`,field:e.field,value:Kc(t),onChange:n},void 0,!1,{fileName:B,lineNumber:626,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:613,columnNumber:5},this)}I({kinds:[`json`],layout:`block`,Page:Yc});function Xc(e){let t=String(e);return(0,R.jsxDEV)(R.Fragment,{children:[/^#[0-9a-fA-F]{6}$/.test(t)&&(0,R.jsxDEV)(lc,{icon:{kind:`swatch`,value:t},size:`xs`},void 0,!1,{fileName:B,lineNumber:646,columnNumber:17},this),(0,R.jsxDEV)(`span`,{className:`font-mono`,children:t},void 0,!1,{fileName:B,lineNumber:647,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:645,columnNumber:5},this)}function Zc({value:e,onChange:t,field:n}){if(n.hints.multiple===!0)return(0,R.jsxDEV)(bt,{value:e,onChange:t,validate:e=>/^#[0-9a-fA-F]{6}$/.test(e),display:Xc,renderInput:(e,t,n)=>(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(`input`,{type:`color`,value:e||`#000000`,onChange:e=>t(e.target.value),className:`w-10 h-9 rounded cursor-pointer border border-border bg-transparent p-0.5`},void 0,!1,{fileName:B,lineNumber:662,columnNumber:13},this),(0,R.jsxDEV)(E,{value:e,onChange:e=>t(e.target.value),maxLength:7,className:`w-28 font-mono`,placeholder:`#000000`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:B,lineNumber:668,columnNumber:13},this)]},void 0,!0,{fileName:B,lineNumber:661,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:655,columnNumber:7},this);let r=typeof e==`string`&&/^#[0-9a-fA-F]{6}$/.test(e)?e:`#000000`;return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 pl-2 min-h-9`,children:[(0,R.jsxDEV)(_e,{children:[(0,R.jsxDEV)(he,{asChild:!0,children:(0,R.jsxDEV)(`button`,{type:`button`,"aria-label":`pick color`,className:`w-5 h-5 shrink-0 rounded-full border border-border cursor-pointer`,style:{background:r}},void 0,!1,{fileName:B,lineNumber:691,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:690,columnNumber:9},this),(0,R.jsxDEV)(pe,{className:`w-auto p-2`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`w-[200px] h-[200px] text-sm text-muted flex items-center justify-center`,children:`…`},void 0,!1,{fileName:B,lineNumber:699,columnNumber:31},this),children:(0,R.jsxDEV)(bc,{color:r,onChange:t},void 0,!1,{fileName:B,lineNumber:700,columnNumber:13},this)},void 0,!1,{fileName:B,lineNumber:699,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:698,columnNumber:9},this)]},void 0,!0,{fileName:B,lineNumber:689,columnNumber:7},this),(0,R.jsxDEV)(E,{value:e,onChange:e=>t(e.target.value),pattern:`#[0-9a-fA-F]{6}`,maxLength:7,className:`w-28 h-auto border-0 bg-transparent p-0 shadow-none font-mono text-sm focus-visible:ring-0`,placeholder:`#000000`},void 0,!1,{fileName:B,lineNumber:704,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:688,columnNumber:5},this)}function Qc({field:e,value:t}){if(e.hints.multiple===!0)return(0,R.jsxDEV)(st,{items:kn(t,[]),content:Xc,reserveEditor:!0},void 0,!1,{fileName:B,lineNumber:718,columnNumber:12},this);let n=String(t);return!n||!/^#[0-9a-fA-F]{6}$/.test(n)?(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:B,lineNumber:721,columnNumber:54},this):(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsxDEV)(lc,{icon:{kind:`swatch`,value:n},size:`md`},void 0,!1,{fileName:B,lineNumber:724,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:n},void 0,!1,{fileName:B,lineNumber:725,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:723,columnNumber:5},this)}function $c(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:t=>(0,R.jsxDEV)(Qc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:743,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Zc,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:B,lineNumber:745,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:732,columnNumber:5},this)}I({kinds:[`color`],Page:$c});function el({value:e,onChange:t,field:n}){let{t:r}=a(),i=n.hints.suggestions,o=L.useId(),s=e=>i&&i.length>0?(0,R.jsxDEV)(`datalist`,{id:o,children:i.filter(t=>!e.includes(t)).map(e=>(0,R.jsxDEV)(`option`,{value:e},e,!1,{fileName:B,lineNumber:770,columnNumber:13},this))},void 0,!1,{fileName:B,lineNumber:766,columnNumber:7},this):null;if(n.hints.multiple===!0){let n=gt(e);return(0,R.jsxDEV)(bt,{value:e,onChange:t,renderInput:(e,t,a)=>(0,R.jsxDEV)(R.Fragment,{children:[s(n),(0,R.jsxDEV)(E,{value:e,list:i?.length?o:void 0,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a())},placeholder:r(`form.addTag`),className:`flex-1`},void 0,!1,{fileName:B,lineNumber:784,columnNumber:13},this)]},void 0,!0,{fileName:B,lineNumber:782,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:778,columnNumber:7},this)}let c=typeof e==`string`?e:String(e??``);return(0,R.jsxDEV)(R.Fragment,{children:[s(c?[c]:[]),(0,R.jsxDEV)(E,{value:c,list:i?.length?o:void 0,onChange:e=>t(e.target.value)},void 0,!1,{fileName:B,lineNumber:809,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:807,columnNumber:5},this)}function tl({field:e,value:t}){return(0,R.jsxDEV)(st,{items:e.hints.multiple===!0?kn(t,[]):t?[String(t)]:[],content:e=>String(e),reserveEditor:e.hints.multiple===!0},void 0,!1,{fileName:B,lineNumber:820,columnNumber:10},this)}function nl(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(tl,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:835,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(el,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:B,lineNumber:837,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:825,columnNumber:5},this)}function rl({field:e,value:t}){if(e.hints.multiple===!0){let e=gt(String(t??``));return(0,R.jsxDEV)(`span`,{className:`truncate`,children:e.length?String(e.length):`—`},void 0,!1,{fileName:B,lineNumber:851,columnNumber:12},this)}return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(String(t??``))},void 0,!1,{fileName:B,lineNumber:853,columnNumber:10},this)}I({kinds:[`tag`],Page:nl,Inline:rl});function il(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`title`,bare:e.bare,view:e=>lt(e)?(0,R.jsxDEV)(`span`,{className:`text-[28px] font-bold text-text leading-tight`,children:String(e)},void 0,!1,{fileName:B,lineNumber:877,columnNumber:23},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:B,lineNumber:877,columnNumber:108},this),edit:(t,n)=>(0,R.jsxDEV)(`input`,{id:`field-${e.field.label}`,value:String(t),onChange:e=>n(e.target.value),style:{fontSize:`28px`,padding:`4px 12px`},className:`w-full rounded-lg border border-input bg-background font-bold text-text leading-tight outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring placeholder:text-muted/40`,placeholder:`…`},void 0,!1,{fileName:B,lineNumber:880,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:866,columnNumber:5},this)}function al({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:at(String(e??``))},void 0,!1,{fileName:B,lineNumber:894,columnNumber:10},this)}I({kinds:[`title`],Page:il,Inline:al});var V=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/localpath.tsx`;function ol(e){let t=e.lastIndexOf(`/`);return t<0?{dirPrefix:``,partial:e}:{dirPrefix:e.slice(0,t),partial:e.slice(t+1)}}function sl(e,t){return`${e.replace(/\/+$/,``)}/${t}`}function cl(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n<0?`~`:t.slice(0,n)||`/`}function ll({dirsOnly:e,exts:t,initialDir:n,onPick:r}){let[i,a]=(0,L.useState)(n||`~`),[o,s]=(0,L.useState)([]),[c,l]=(0,L.useState)(!1);(0,L.useEffect)(()=>{let n=!1,r=new URLSearchParams({path:i});return!e&&t?.length&&r.set(`exts`,t.join(`,`)),fetch(`/api/fs/list?${r.toString()}`).then(e=>e.ok?e.json():{entries:[]}).then(e=>{n||s(e.entries??[])}).catch(()=>{}),()=>{n=!0}},[i,e,t]);let u=o.filter(t=>(!e||t.isDir)&&(c||!t.name.startsWith(`.`)));return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex items-center gap-1.5`,children:[(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,onClick:()=>a(cl(i)),"aria-label":`up`,disabled:i===`~`||i===`/`,children:(0,R.jsxDEV)(ys,{size:15},void 0,!1,{fileName:V,lineNumber:78,columnNumber:11},this)},void 0,!1,{fileName:V,lineNumber:77,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate font-mono text-xs text-muted`,title:i,children:i},void 0,!1,{fileName:V,lineNumber:80,columnNumber:9},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,onClick:()=>l(e=>!e),"aria-label":`hidden`,title:c?`Hide dotfiles`:`Show dotfiles`,children:c?(0,R.jsxDEV)(Cs,{size:15},void 0,!1,{fileName:V,lineNumber:84,columnNumber:25},this):(0,R.jsxDEV)(Ss,{size:15},void 0,!1,{fileName:V,lineNumber:84,columnNumber:45},this)},void 0,!1,{fileName:V,lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:V,lineNumber:76,columnNumber:7},this),(0,R.jsxDEV)(Gn,{className:`h-56 -mx-1 px-1`,children:(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[u.length===0&&(0,R.jsxDEV)(`span`,{className:`px-2 py-3 text-xs text-muted`,children:`—`},void 0,!1,{fileName:V,lineNumber:90,columnNumber:36},this),u.map(t=>(0,R.jsxDEV)(`div`,{className:`group flex items-center rounded-md hover:bg-elevated`,children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 text-left text-sm`,onClick:()=>t.isDir?a(sl(i,t.name)):r(sl(i,t.name),!1),children:[t.isDir?(0,R.jsxDEV)(Se,{size:15,className:`shrink-0 text-muted`},void 0,!1,{fileName:V,lineNumber:98,columnNumber:28},this):(0,R.jsxDEV)(ws,{size:15,className:`shrink-0 text-muted`},void 0,!1,{fileName:V,lineNumber:98,columnNumber:83},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.name},void 0,!1,{fileName:V,lineNumber:99,columnNumber:17},this),t.isDir&&(0,R.jsxDEV)(_s,{size:14,className:`ml-auto shrink-0 text-muted opacity-0 group-hover:opacity-100`},void 0,!1,{fileName:V,lineNumber:100,columnNumber:29},this)]},void 0,!0,{fileName:V,lineNumber:93,columnNumber:15},this),e&&t.isDir&&(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,className:`mr-1`,onClick:()=>r(sl(i,t.name),!0),"aria-label":`select`,title:`Select folder`,children:(0,R.jsxDEV)(Xe,{size:15},void 0,!1,{fileName:V,lineNumber:105,columnNumber:19},this)},void 0,!1,{fileName:V,lineNumber:104,columnNumber:17},this)]},t.name,!0,{fileName:V,lineNumber:92,columnNumber:13},this))]},void 0,!0,{fileName:V,lineNumber:89,columnNumber:9},this)},void 0,!1,{fileName:V,lineNumber:88,columnNumber:7},this),e&&(0,R.jsxDEV)(F,{variant:`outline`,size:`sm`,onClick:()=>r(i,!0),children:[(0,R.jsxDEV)(Xe,{size:14},void 0,!1,{fileName:V,lineNumber:116,columnNumber:11},this),` Вибрати цю теку`]},void 0,!0,{fileName:V,lineNumber:115,columnNumber:9},this)]},void 0,!0,{fileName:V,lineNumber:74,columnNumber:5},this)}function ul({name:e,field:t,value:n,onChange:r}){let i=t.kind===`localDir`,a=t.hints.exts,[o,s]=(0,L.useState)(!1);return(0,R.jsxDEV)(`div`,{className:`flex items-stretch gap-1.5`,children:[(0,R.jsxDEV)(E,{id:e,value:n,onChange:e=>r(e.target.value),placeholder:`~/…`,spellCheck:!1,autoComplete:`off`},void 0,!1,{fileName:V,lineNumber:140,columnNumber:7},this),(0,R.jsxDEV)(_e,{open:o,onOpenChange:s,children:[(0,R.jsxDEV)(he,{asChild:!0,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`icon`,"aria-label":`browse`,children:(0,R.jsxDEV)(Se,{size:16},void 0,!1,{fileName:V,lineNumber:151,columnNumber:13},this)},void 0,!1,{fileName:V,lineNumber:150,columnNumber:11},this)},void 0,!1,{fileName:V,lineNumber:149,columnNumber:9},this),(0,R.jsxDEV)(pe,{align:`end`,className:`w-80 p-3`,children:o&&(0,R.jsxDEV)(ll,{dirsOnly:i,exts:a,initialDir:ol(n).dirPrefix||`~`,onPick:(e,t)=>{r(t?`${e.replace(/\/+$/,``)}/`:e),t||s(!1)}},void 0,!1,{fileName:V,lineNumber:156,columnNumber:13},this)},void 0,!1,{fileName:V,lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:V,lineNumber:148,columnNumber:7},this)]},void 0,!0,{fileName:V,lineNumber:139,columnNumber:5},this)}function dl(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:e=>lt(e)?(0,R.jsxDEV)(`span`,{className:`font-mono text-sm break-all`,children:String(e)},void 0,!1,{fileName:V,lineNumber:184,columnNumber:35},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:V,lineNumber:184,columnNumber:102},this),edit:(t,n)=>(0,R.jsxDEV)(ul,{name:`field-${e.field.label}`,field:e.field,value:String(t),onChange:n},void 0,!1,{fileName:V,lineNumber:186,columnNumber:9},this)},void 0,!1,{fileName:V,lineNumber:174,columnNumber:5},this)}function fl({value:e}){return(0,R.jsxDEV)(`span`,{className:`font-mono truncate`,children:at(String(e??``))},void 0,!1,{fileName:V,lineNumber:198,columnNumber:10},this)}I({kinds:[`localDir`,`localFile`],Page:dl,Inline:fl});function pl(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}var ml;(function(e){e.event=`event`,e.props=`prop`})(ml||={});function hl(){}function gl(e){var t,n=void 0;return function(){for(var r=[],i=arguments.length;i--;)r[i]=arguments[i];return t&&r.length===t.length&&r.every(function(e,n){return e===t[n]})?n:(t=r,n=e.apply(void 0,r),n)}}function _l(e){return!!(e||``).match(/\d/)}function vl(e){return e==null}function yl(e){return typeof e==`number`&&isNaN(e)}function bl(e){return vl(e)||yl(e)||typeof e==`number`&&!isFinite(e)}function xl(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,`\\$&`)}function Sl(e){switch(e){case`lakh`:return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case`wan`:return/(\d)(?=(\d{4})+(?!\d))/g;default:return/(\d)(?=(\d{3})+(?!\d))/g}}function Cl(e,t,n){var r=Sl(n),i=e.search(/[1-9]/);return i=i===-1?e.length:i,e.substring(0,i)+e.substring(i,e.length).replace(r,`$1`+t)}function wl(e){var t=(0,L.useRef)(e);return t.current=e,(0,L.useRef)(function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];return t.current.apply(t,e)}).current}function Tl(e,t){t===void 0&&(t=!0);var n=e[0]===`-`,r=n&&t;e=e.replace(`-`,``);var i=e.split(`.`);return{beforeDecimal:i[0],afterDecimal:i[1]||``,hasNegation:n,addNegation:r}}function El(e){if(!e)return e;var t=e[0]===`-`;t&&(e=e.substring(1,e.length));var n=e.split(`.`),r=n[0].replace(/^0+/,``)||`0`,i=n[1]||``;return(t?`-`:``)+r+(i?`.`+i:``)}function Dl(e,t,n){for(var r=``,i=n?`0`:``,a=0;a<=t-1;a++)r+=e[a]||i;return r}function Ol(e,t){return Array(t+1).join(e)}function kl(e){var t=e+``,n=t[0]===`-`?`-`:``;n&&(t=t.substring(1));var r=t.split(/[eE]/g),i=r[0],a=r[1];if(a=Number(a),!a)return n+i;i=i.replace(`.`,``);var o=1+a,s=i.length;return o<0?i=`0.`+Ol(`0`,Math.abs(o))+i:o>=s?i+=Ol(`0`,o-s):i=(i.substring(0,o)||`0`)+`.`+i.substring(o),n+i}function Al(e,t,n){if([``,`-`].indexOf(e)!==-1)return e;var r=(e.indexOf(`.`)!==-1||n)&&t,i=Tl(e),a=i.beforeDecimal,o=i.afterDecimal,s=i.hasNegation,c=parseFloat(`0.`+(o||`0`)),l=(o.length<=t?`0.`+o:c.toFixed(t)).split(`.`),u=a;a&&Number(l[0])&&(u=a.split(``).reverse().reduce(function(e,t,n){return e.length>n?(Number(e[0])+Number(t)).toString()+e.substring(1,e.length):t+e},l[0]));var d=Dl(l[1]||``,t,n),f=s?`-`:``,p=r?`.`:``;return``+f+u+p+d}function jl(e,t){if(e.value=e.value,e!==null){if(e.createTextRange){var n=e.createTextRange();return n.move(`character`,t),n.select(),!0}return e.selectionStart||e.selectionStart===0?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}var Ml=gl(function(e,t){for(var n=0,r=0,i=e.length,a=t.length;e[n]===t[n]&&n<i;)n++;for(;e[i-1-r]===t[a-1-r]&&a-r>n&&i-r>n;)r++;return{from:{start:n,end:i-r},to:{start:n,end:a-r}}}),Nl=function(e,t){var n=Math.min(e.selectionStart,t);return{from:{start:n,end:e.selectionEnd},to:{start:n,end:t}}};function Pl(e,t,n){return Math.min(Math.max(e,t),n)}function Fl(e){return Math.max(e.selectionStart,e.selectionEnd)}function Il(){return typeof navigator<`u`&&!(navigator.platform&&/iPhone|iPod/.test(navigator.platform))}function Ll(e){return{from:{start:0,end:0},to:{start:0,end:e.length},lastValue:``}}function Rl(e){var t=e.currentValue,n=e.formattedValue,r=e.currentValueIndex,i=e.formattedValueIndex;return t[r]===n[i]}function zl(e,t,n,r,i,a,o){o===void 0&&(o=Rl);var s=i.findIndex(function(e){return e}),c=e.slice(0,s);!t&&!n.startsWith(c)&&(t=c,n=c+n,r+=c.length);for(var l=n.length,u=e.length,d={},f=Array(l),p=0;p<l;p++){f[p]=-1;for(var m=0,h=u;m<h;m++)if(o({currentValue:n,lastValue:t,formattedValue:e,currentValueIndex:p,formattedValueIndex:m})&&d[m]!==!0){f[p]=m,d[m]=!0;break}}for(var g=r;g<l&&(f[g]===-1||!a(n[g]));)g++;var _=g===l||f[g]===-1?u:f[g];for(g=r-1;g>0&&f[g]===-1;)g--;var v=g===-1||f[g]===-1?0:f[g]+1;return v>_?_:r-v<_-r?v:_}function Bl(e,t,n,r){var i=e.length;if(t=Pl(t,0,i),r===`left`){for(;t>=0&&!n[t];)t--;t===-1&&(t=n.indexOf(!0))}else{for(;t<=i&&!n[t];)t++;t>i&&(t=n.lastIndexOf(!0))}return t===-1&&(t=i),t}function Vl(e){for(var t=Array.from({length:e.length+1}).map(function(){return!0}),n=0,r=t.length;n<r;n++)t[n]=!!(_l(e[n])||_l(e[n-1]));return t}function Hl(e,t,n,r,i,a){a===void 0&&(a=hl);var o=wl(function(e,t){var n,a;return bl(e)?(a=``,n=``):typeof e==`number`||t?(a=typeof e==`number`?kl(e):e,n=r(a)):(a=i(e,void 0),n=r(a)),{formattedValue:n,numAsString:a}}),s=(0,L.useState)(function(){return o(vl(e)?t:e,n)}),c=s[0],l=s[1],u=wl(function(e,t){e.formattedValue!==c.formattedValue&&l({formattedValue:e.formattedValue,numAsString:e.value}),a(e,t)}),d=e,f=n;vl(e)&&(d=c.numAsString,f=!0);var p=o(d,f);return(0,L.useMemo)(function(){l(p)},[p.formattedValue]),(0,L.useEffect)(function(){if(!vl(t)&&vl(e)&&c.formattedValue!==``){var n=parseFloat(c.numAsString);u({formattedValue:c.formattedValue,value:c.numAsString,floatValue:isNaN(n)?void 0:n},{event:void 0,source:ml.props})}},[]),[c,u]}function Ul(e){return e.replace(/[^0-9]/g,``)}function Wl(e){return e}function Gl(e){var t=e.type;t===void 0&&(t=`text`);var n=e.displayType;n===void 0&&(n=`input`);var r=e.customInput,i=e.renderText,a=e.getInputRef,o=e.format;o===void 0&&(o=Wl);var s=e.removeFormatting;s===void 0&&(s=Ul);var c=e.defaultValue,l=e.valueIsNumericString,u=e.onValueChange,d=e.isAllowed,f=e.onChange;f===void 0&&(f=hl);var p=e.onKeyDown;p===void 0&&(p=hl);var m=e.onMouseUp;m===void 0&&(m=hl);var h=e.onFocus;h===void 0&&(h=hl);var g=e.onBlur;g===void 0&&(g=hl);var _=e.value,v=e.getCaretBoundary;v===void 0&&(v=Vl);var y=e.isValidInputCharacter;y===void 0&&(y=_l);var b=e.isCharacterSame,x=pl(e,[`type`,`displayType`,`customInput`,`renderText`,`getInputRef`,`format`,`removeFormatting`,`defaultValue`,`valueIsNumericString`,`onValueChange`,`isAllowed`,`onChange`,`onKeyDown`,`onMouseUp`,`onFocus`,`onBlur`,`value`,`getCaretBoundary`,`isValidInputCharacter`,`isCharacterSame`]),S=Hl(_,c,!!l,o,s,u),C=S[0],w=C.formattedValue,T=C.numAsString,E=S[1],D=(0,L.useRef)(),O=(0,L.useRef)({formattedValue:w,numAsString:T}),k=function(e,t){O.current={formattedValue:e.formattedValue,numAsString:e.value},E(e,t)},A=(0,L.useState)(!1),ee=A[0],te=A[1],ne=(0,L.useRef)(null),j=(0,L.useRef)({setCaretTimeout:null,focusTimeout:null});(0,L.useEffect)(function(){return te(!0),function(){clearTimeout(j.current.setCaretTimeout),clearTimeout(j.current.focusTimeout)}},[]);var M=o,re=function(e,t){var n=parseFloat(t);return{formattedValue:e,value:t,floatValue:isNaN(n)?void 0:n}},N=function(e,t,n){e.selectionStart===0&&e.selectionEnd===e.value.length||(jl(e,t),j.current.setCaretTimeout=setTimeout(function(){e.value===n&&e.selectionStart!==t&&jl(e,t)},0))},ie=function(e,t,n){return Bl(e,t,v(e),n)},ae=function(e,t,n){var r=v(t),i=zl(t,w,e,n,r,y,b);return i=Bl(t,i,r),i},oe=function(e){var t=e.formattedValue;t===void 0&&(t=``);var n=e.input,r=e.source,i=e.event,a=e.numAsString,o;if(n){var s=e.inputValue||n.value,c=Fl(n);n.value=t,o=ae(s,t,c),o!==void 0&&N(n,o,t)}t!==w&&k(re(t,a),{event:i,source:r})};(0,L.useEffect)(function(){var e=O.current,t=e.formattedValue,n=e.numAsString;(w!==t||T!==n)&&k(re(w,T),{event:void 0,source:ml.props})},[w,T]);var se=ne.current?Fl(ne.current):void 0;(typeof window<`u`?L.useLayoutEffect:L.useEffect)(function(){var e=ne.current;if(w!==O.current.formattedValue&&e){var t=ae(O.current.formattedValue,w,se);e.value=w,N(e,t,w)}},[w]);var ce=function(e,t,n){var r=t.target,i=D.current?Nl(D.current,r.selectionEnd):Ml(w,e),a=Object.assign(Object.assign({},i),{lastValue:w}),o=s(e,a),c=M(o);if(o=s(c,void 0),d&&!d(re(c,o))){var l=t.target,u=ae(e,w,Fl(l));return l.value=w,N(l,u,w),!1}return oe({formattedValue:c,numAsString:o,inputValue:e,event:t,source:n,input:t.target}),!0},le=function(e,t){t===void 0&&(t=0),D.current={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd+t}},P=function(e){var t=e.target.value;ce(t,e,ml.event)&&f(e),D.current=void 0},ue=function(e){var t=e.target,n=e.key,r=t.selectionStart,i=t.selectionEnd,a=t.value;a===void 0&&(a=``);var o;n===`ArrowLeft`||n===`Backspace`?o=Math.max(r-1,0):n===`ArrowRight`?o=Math.min(r+1,a.length):n===`Delete`&&(o=r);var s=0;n===`Delete`&&r===i&&(s=1);var c=n===`ArrowLeft`||n===`ArrowRight`;if(o===void 0||r!==i&&!c){p(e),le(t,s);return}var l=o;c?(l=ie(a,o,n===`ArrowLeft`?`left`:`right`),l!==o&&e.preventDefault()):n===`Delete`&&!y(a[o])?l=ie(a,o,`right`):n===`Backspace`&&!y(a[o])&&(l=ie(a,o,`left`)),l!==o&&N(t,l,a),p(e),le(t,s)},de=function(e){var t=e.target,n=function(){var e=t.selectionStart,n=t.selectionEnd,r=t.value;if(r===void 0&&(r=``),e===n){var i=ie(r,e);i!==e&&N(t,i,r)}};n(),requestAnimationFrame(function(){n()}),m(e),le(t)},fe=function(e){e.persist&&e.persist();var t=e.target,n=e.currentTarget;ne.current=t,j.current.focusTimeout=setTimeout(function(){var r=t.selectionStart,i=t.selectionEnd,a=t.value;a===void 0&&(a=``);var o=ie(a,r);o!==r&&!(r===0&&i===a.length)&&N(t,o,a),h(Object.assign(Object.assign({},e),{currentTarget:n}))},0)},pe=function(e){ne.current=null,clearTimeout(j.current.focusTimeout),clearTimeout(j.current.setCaretTimeout),g(e)},me=ee&&Il()?`numeric`:void 0,he=Object.assign({inputMode:me},x,{type:t,value:w,onChange:P,onKeyDown:ue,onMouseUp:de,onFocus:fe,onBlur:pe});if(n===`text`)return i?L.createElement(L.Fragment,null,i(w,x)||null):L.createElement(`span`,Object.assign({},x,{ref:a}),w);if(r){var ge=r;return L.createElement(ge,Object.assign({},he,{ref:a}))}return L.createElement(`input`,Object.assign({},he,{ref:a}))}function Kl(e,t){var n=t.decimalScale,r=t.fixedDecimalScale,i=t.prefix;i===void 0&&(i=``);var a=t.suffix;a===void 0&&(a=``);var o=t.allowNegative,s=t.thousandsGroupStyle;if(s===void 0&&(s=`thousand`),e===``||e===`-`)return e;var c=ql(t),l=c.thousandSeparator,u=c.decimalSeparator,d=n!==0&&e.indexOf(`.`)!==-1||n&&r,f=Tl(e,o),p=f.beforeDecimal,m=f.afterDecimal,h=f.addNegation;return n!==void 0&&(m=Dl(m,n,!!r)),l&&(p=Cl(p,l,s)),i&&(p=i+p),a&&(m+=a),h&&(p=`-`+p),e=p+(d&&u||``)+m,e}function ql(e){var t=e.decimalSeparator;t===void 0&&(t=`.`);var n=e.thousandSeparator,r=e.allowedDecimalSeparators;return n===!0&&(n=`,`),r||=[t,`.`],{decimalSeparator:t,thousandSeparator:n,allowedDecimalSeparators:r}}function Jl(e,t){e===void 0&&(e=``);var n=RegExp(`(-)`),r=RegExp(`(-)(.)*(-)`),i=n.test(e),a=r.test(e);return e=e.replace(/-/g,``),i&&!a&&t&&(e=`-`+e),e}function Yl(e,t){return RegExp(`(^-)|[0-9]|`+xl(e),t?`g`:void 0)}function Xl(e,t,n){return e===``||!t?.match(/\d/)&&!n?.match(/\d/)&&typeof e==`string`&&!isNaN(Number(e))}function Zl(e,t,n){var r;t===void 0&&(t=Ll(e));var i=n.allowNegative,a=n.prefix;a===void 0&&(a=``);var o=n.suffix;o===void 0&&(o=``);var s=n.decimalScale,c=t.from,l=t.to,u=l.start,d=l.end,f=ql(n),p=f.allowedDecimalSeparators,m=f.decimalSeparator,h=e[d]===m;if(_l(e)&&(e===a||e===o)&&t.lastValue===``)return e;if(d-u===1&&p.indexOf(e[u])!==-1){var g=s===0?``:m;e=e.substring(0,u)+g+e.substring(u+1,e.length)}var _=function(e,t,n){var r=!1,i=!1;a.startsWith(`-`)?r=!1:e.startsWith(`--`)?(r=!1,i=!0):o.startsWith(`-`)&&e.length===o.length?r=!1:e[0]===`-`&&(r=!0);var s=+!!r;return i&&(s=2),s&&(e=e.substring(s),t-=s,n-=s),{value:e,start:t,end:n,hasNegation:r}},v=_(e,u,d),y=v.hasNegation;r=v,e=r.value,u=r.start,d=r.end;var b=_(t.lastValue,c.start,c.end),x=b.start,S=b.end,C=b.value,w=e.substring(u,d);e.length&&C.length&&(x>C.length-o.length||S<a.length)&&!(w&&o.startsWith(w))&&(e=C);var T=0;e.startsWith(a)?T+=a.length:u<a.length&&(T=u),e=e.substring(T),d-=T;var E=e.length,D=e.length-o.length;e.endsWith(o)?E=D:(d>D||d>e.length-o.length)&&(E=d),e=e.substring(0,E),e=Jl(y?`-`+e:e,i),e=(e.match(Yl(m,!0))||[]).join(``);var O=e.indexOf(m);e=e.replace(new RegExp(xl(m),`g`),function(e,t){return t===O?`.`:``});var k=Tl(e,i),A=k.beforeDecimal,ee=k.afterDecimal,te=k.addNegation;return l.end-l.start<c.end-c.start&&A===``&&h&&!parseFloat(ee)&&(e=te?`-`:``),e}function Ql(e,t){var n=t.prefix;n===void 0&&(n=``);var r=t.suffix;r===void 0&&(r=``);var i=Array.from({length:e.length+1}).map(function(){return!0}),a=e[0]===`-`;i.fill(!1,0,Math.min(n.length+ +!!a,e.length));var o=e.length;return i.fill(!1,o-r.length+1,o+1),i}function $l(e){var t=ql(e),n=t.thousandSeparator,r=t.decimalSeparator,i=e.prefix;i===void 0&&(i=``);var a=e.allowNegative;if(a===void 0&&(a=!0),n===r)throw Error(`
49
+ Кнопки нижче запускають зареєстровані дії. Перша завершується успіхом після короткої затримки; друга навмисно падає, щоб показати обробку помилок.`,run_button:`Запустити демо-дію`,fail_button:`Запустити дію з помилкою`,variants:{default:`Основна`,secondary:`Другорядна`,ghost:`Привид`,link:`Посилання`}},field_demo:{label:`Демо полів`,fields:{image:`Image — одне фото`,avatar:`Аватар — одне (велике коло)`,cover:`Обкладинка — hero (одне)`,text_plain:`Text — звичайний`,text_minmax:`Text — min/max + в таблиці`,text_pattern:`Text — pattern (лише літери)`,text_multiline:`Text — multiline`,text_email:`Text — format: email`,text_emails:`Text — format: email + multiple`,text_url:`Text — format: url`,text_tel:`Text — format: tel`,text_password:`Text — format: password`,imei:`IMEI — pattern (15 цифр)`,mac:`MAC — pattern (XX:XX:XX:XX:XX:XX)`,iban:`IBAN — pattern (рахунок)`,textarea:`Textarea`,small_text:`Малий текст (scalar textarea)`,markdown:`Markdown (WYSIWYG)`,code:`Code — моноширинний редактор (yaml)`,number_int:`Number — ціле (int)`,number_decimal:`Number — дробове`,integer:`Integer (min/max)`,rating_5:`Rating — 5 зірок`,rating_10:`Rating — 10 зірок`,date:`Date`,date_future:`Date — лише майбутнє`,time_field:`Time (HH:MM)`,datetime:`Datetime`,datetimes_multi:`Datetime — multiple`,boolean:`Boolean (checkbox)`,select:`Select`,select_multi:`Select — multiple`,day_period:`Day-period (час прийому)`,day_period_multi:`Day-period — multiple`,country:`Country (з прапором)`,country_multi:`Country — multiple`,tags_field:`Tags (з підказками)`,demo_check:`Check (один)`,demo_check_multi:`Check (кілька)`,demo_check_stages:`Доставка (етапи)`,stage_ordered:`Замовлено`,stage_paid:`Оплачено`,stage_shipped:`Доставлено`,color_hex:`Color — hex (#RRGGBB)`,color_multi:`Color — multiple`,color_name:`ColorName (CSS-назва)`,duration_short:`Duration (хв, крок 5)`,measured_currency:`Measured — валюта`,measured_weight:`Measured — вага`,measured_custom:`Measured — custom одиниці`,demo_reminder:`Нагадування`,demo_weight:`Вага`,demo_dimensions:`Габарити`,demo_datasize:`Обсяг даних`,demo_ram:`Оперативна пам'ять`,demo_disk:`Обсяг диску`,demo_weekday:`День тижня`,demo_weekdays:`Дні тижня — multiple`,ip_addr:`IP-адреса`,ip_addrs:`IP-адреси — multiple`,cidr_subnet:`CIDR (підмережа)`,numbers_multi:`Number — multiple`,dates_multi:`Date — multiple`,row_single:`Row — один рядок`,variants:`Per-row — language (ім'я/прізвище мовами)`,row_ingredients:`Row — інгредієнти (relation+measured+lookup)`,relation_single:`Relation — один запис`,relation_multi:`Relation — кілька записів`,coll_text:`Колекція — text`,coll_integer:`Колекція — integer`,coll_select:`Колекція — select`,pp_person:`Особа`,pp_value:`Значення`,per_weekday:`Per-weekday (7 слотів)`,per_weekday_per_person:`Per-weekday + per-record (по людях)`,image_gallery:`Image — галерея (multiple)`,avatar_row:`Аватар — ряд (кілька)`,cover_carousel:`Обкладинка — карусель (кілька)`,json:`JSON`,key_value:`Key-value — кілька пар`,key_value_secret:`Key-value — секрет (одна пара)`,services_bylist:`Services (колекція над статичним списком)`,type:`Type (класифікатор → extends)`,periods:`Periods (діапазони дат)`,button_demo:`Button — demo дія (lab.demoAction)`,price:`Ціна`,ageRange:`Діапазон віку`,tempRange:`Діапазон температури`,agree:`Згода`,origin:`Країна походження`,birthYear:`Рік народження`,attachment:`Вкладення`,doc:`Документ`,voice:`Голосова нотатка`,clip:`Відеокліп`,gallery:`Медіагалерея`,place:`Місцезнаходження`,compact_note:`Компактна нотатка (без кнопок)`,snippet_struct:`Код (з мовою)`,embed_wide:`Embed — широкий (multiple)`,embed_narrow:`Embed — вузький (multiple)`,perkey_fixed:`Fixed perKey — кількість на розмір`},options:{select:{red:`Червоний`,green:`Зелений`,blue:`Синій`},pp_select:{s:`S`,m:`M`,l:`L`},type:{basic:`Базовий`,advanced:`Розширений`},env:{dev:`Розробка`,prod:`Продакшн`},size:{s:`S`,m:`M`,l:`L`}},per_row:{name:`Ім'я`,surname:`Прізвище`,url:`URL`,token:`Токен`,env:`Середовище`,lang:`Мова`,product:`Продукт`,amount:`Кількість`,stock:`Наявність`,size:`Розмір`,qty:`Кількість`},units:{shot:`шот`,scoop:`мірна ложка`},groups:{demo:`Текстові поля`},validation:{letters_only:`Лише літери`},info:{intro:`Демонстраційна полиця усіх типів полів платформи. Заповніть поля нижче, щоб побачити їх у дії.`},actions:{scan_done:`Знайдено {{count}} пристроїв`,fail_title:`Дію не виконано`,fail_body:`Сервер повернув помилку (код {{code}})`}},field_demo_child:{label:`Дочірній запис`,fields:{demo_id:`UUID батьківського демо`,note:`Нотатка`}},demo_extra:{label:`Розширені поля (extend)`,fields:{extra_text:`Додатковий текст`,extra_number:`Додаткове число`,extra_flag:`Додатковий прапорець`}}},Oa={lab:Da},ka=e({default:()=>ja,media:()=>Aa}),Aa={plugin:{label:`Media`,description:`Movies & series watchlist, synced from Jellyfin.`},library:{label:`Media`},settings:{label:`Media settings`,tmdb_key:`TMDB API key`,omdb_key:`OMDb API key`,jellyfin_url:`Jellyfin URL`,jellyfin_token:`Jellyfin API token`,jellyfin_user_id:`Jellyfin user id`,test_button:`Test Jellyfin`,sync_button:`Sync Jellyfin`},title:{label:`Title`,fields:{kind:`Kind`,poster:`Poster`,year:`Year`,overview:`Overview`,genres:`Genres`,runtime:`Runtime`,tmdb_id:`TMDB ID`,imdb_id:`IMDb ID`,tmdb_rating:`TMDB rating`,imdb_rating:`IMDb rating`,status:`Status`,watched_date:`Watched on`,seasons:`Seasons`,episodes:`Episodes`,in_library:`In library`,jellyfin_id:`Jellyfin ID`,source:`Source`,link:`Link`},options:{kind:{movie:`Movie`,series:`Series`},status:{want:`Want to watch`,unwatched:`Unwatched`,watching:`Watching`,watched:`Watched`,dropped:`Dropped`},source:{manual:`Manual`,jellyfin:`Jellyfin`,agent:`Agent`}}}},ja={media:Aa},Ma=e({default:()=>Pa,media:()=>Na}),Na={plugin:{label:`Медиа`,description:`Список фильмов и сериалов, синхронизируется с Jellyfin.`},library:{label:`Медиа`},settings:{label:`Настройки Медиа`,tmdb_key:`TMDB API ключ`,omdb_key:`OMDb API ключ`,jellyfin_url:`Jellyfin URL`,jellyfin_token:`Jellyfin API токен`,jellyfin_user_id:`Jellyfin user id`,test_button:`Проверить Jellyfin`,sync_button:`Синхронизировать Jellyfin`},title:{label:`Тайтл`,fields:{kind:`Тип`,poster:`Постер`,year:`Год`,overview:`Описание`,genres:`Жанры`,runtime:`Длительность`,tmdb_id:`TMDB ID`,imdb_id:`IMDb ID`,tmdb_rating:`Рейтинг TMDB`,imdb_rating:`Рейтинг IMDb`,status:`Статус`,watched_date:`Просмотрено`,seasons:`Сезоны`,episodes:`Эпизоды`,in_library:`В библиотеке`,jellyfin_id:`Jellyfin ID`,source:`Источник`,link:`Ссылка`},options:{kind:{movie:`Фильм`,series:`Сериал`},status:{want:`Хочу посмотреть`,unwatched:`Не просмотрено`,watching:`Смотрю`,watched:`Просмотрел`,dropped:`Брошено`},source:{manual:`Вручную`,jellyfin:`Jellyfin`,agent:`Агент`}}}},Pa={media:Na},Fa=e({default:()=>La,media:()=>Ia}),Ia={plugin:{label:`Медіа`,description:`Список фільмів і серіалів, синхронізований з Jellyfin.`},library:{label:`Медіа`},settings:{label:`Налаштування Медіа`,tmdb_key:`TMDB API ключ`,omdb_key:`OMDb API ключ`,jellyfin_url:`Jellyfin URL`,jellyfin_token:`Jellyfin API токен`,jellyfin_user_id:`Jellyfin user id`,test_button:`Перевірити Jellyfin`,sync_button:`Синхронізувати Jellyfin`},title:{label:`Тайтл`,fields:{kind:`Тип`,poster:`Постер`,year:`Рік`,overview:`Опис`,genres:`Жанри`,runtime:`Тривалість`,tmdb_id:`TMDB ID`,imdb_id:`IMDb ID`,tmdb_rating:`Рейтинг TMDB`,imdb_rating:`Рейтинг IMDb`,status:`Статус`,watched_date:`Переглянуто`,seasons:`Сезони`,episodes:`Епізоди`,in_library:`У бібліотеці`,jellyfin_id:`Jellyfin ID`,source:`Джерело`,link:`Посилання`},options:{kind:{movie:`Фільм`,series:`Серіал`},status:{want:`Хочу подивитись`,unwatched:`Не переглянуто`,watching:`Дивлюсь`,watched:`Переглянув`,dropped:`Закинув`},source:{manual:`Вручну`,jellyfin:`Jellyfin`,agent:`Агент`}}}},La={media:Ia},Ra=e({default:()=>Ba,orchestrator:()=>za}),za={plugin:{label:`Orchestrator`,description:`Capability-driven agent orchestrator. Routes connector messages to the agent runtime.`},settings:{label:`Orchestrator settings`,access_password:`Access password`,trigger_prefix:`Trigger prefix`,reply_window:`Reply window (s)`}},Ba={orchestrator:za},Va=e({default:()=>Ua,orchestrator:()=>Ha}),Ha={plugin:{label:`Оркестратор`,description:`Оркестратор агента на основе возможностей. Маршрутизирует сообщения коннекторов в рантайм агента.`},settings:{label:`Настройки оркестратора`,access_password:`Пароль доступа`,trigger_prefix:`Префикс триггера`,reply_window:`Окно ответа (с)`}},Ua={orchestrator:Ha},Wa=e({default:()=>Ka,orchestrator:()=>Ga}),Ga={plugin:{label:`Оркестратор`,description:`Оркестратор агента на основі можливостей. Маршрутизує повідомлення конекторів у рантайм агента.`},settings:{label:`Налаштування оркестратора`,access_password:`Пароль доступу`,trigger_prefix:`Префікс тригера`,reply_window:`Вікно відповіді (с)`}},Ka={orchestrator:Ga},qa=e({default:()=>Ya,people:()=>Ja}),Ja={plugin:{label:`People`,description:`Contacts and personal data about people.`},library:{label:`People`},person:{label:`Person`,fields:{logo:`Photo`,fullName:`Name`,birthDate:`Date of birth`,sex:`Sex`,phone:`Phone`,email:`Email`,address:`Address`,occupation:`Occupation`,notes:`Notes`,description:`Comment`,tags:`Tags`}}},Ya={people:Ja},Xa=e({default:()=>Qa,people:()=>Za}),Za={plugin:{label:`Люди`,description:`Контакты и личные данные людей.`},library:{label:`Люди`},person:{label:`Человек`,fields:{logo:`Фото`,fullName:`Имя`,birthDate:`Дата рождения`,sex:`Пол`,phone:`Телефон`,email:`Email`,address:`Адрес`,occupation:`Род занятий`,notes:`Заметки`,description:`Комментарий`,tags:`Теги`}}},Qa={people:Za},$a=e({default:()=>to,people:()=>eo}),eo={plugin:{label:`Люди`,description:`Контакти та особисті дані людей.`},library:{label:`Люди`},person:{label:`Людина`,fields:{logo:`Фото`,fullName:`Ім'я`,birthDate:`Дата народження`,sex:`Стать`,phone:`Телефон`,email:`Email`,address:`Адреса`,occupation:`Рід занять`,notes:`Нотатки`,description:`Коментар`,tags:`Теги`}}},to={people:eo},no=e({default:()=>io,telegram:()=>ro}),ro={plugin:{label:`Telegram bot`,description:`Connects Telegram to the orchestrator via GramJS.`},settings:{label:`Bot settings`,api_id:`API ID`,api_hash:`API Hash`,bot_token:`Bot token`,phone:`Phone number`,reasoning_display:`Reasoning display`,reasoning_display_off:`Hidden`,reasoning_display_collapsible:`Collapsible block`,reasoning_display_separate:`Separate messages`}},io={telegram:ro},ao=e({default:()=>so,telegram:()=>oo}),oo={plugin:{label:`Telegram-бот`,description:`Подключает Telegram к оркестратору через GramJS.`},settings:{label:`Настройки бота`,api_id:`API ID`,api_hash:`API Hash`,bot_token:`Токен бота`,phone:`Номер телефона`,reasoning_display:`Показ рассуждений`,reasoning_display_off:`Не показывать`,reasoning_display_collapsible:`Свёрнутым блоком`,reasoning_display_separate:`Отдельными сообщениями`}},so={telegram:oo},co=e({default:()=>uo,telegram:()=>lo}),lo={plugin:{label:`Telegram-бот`,description:`Підключає Telegram до оркестратора через GramJS.`},settings:{label:`Налаштування бота`,api_id:`API ID`,api_hash:`API Hash`,bot_token:`Токен бота`,phone:`Номер телефону`,reasoning_display:`Показ міркувань`,reasoning_display_off:`Не показувати`,reasoning_display_collapsible:`Згорнутим блоком`,reasoning_display_separate:`Окремими повідомленнями`}},uo={telegram:lo},fo=e({default:()=>mo,things:()=>po}),po={plugin:{label:`Things`,description:`Personal belongings and storage locations.`},library:{label:`Things`},item:{label:`Item`,fields:{logo:`Photo`,description:`Description`,brand:`Brand`,model:`Model`,location:`Storage location`,quantity:`Quantity`,owner:`Owner`,color:`Color`,material:`Material`,madeIn:`Country of origin`,weight:`Weight`,dimensions:`Dimensions`,serialNumber:`Serial number`,purchaseDate:`Purchase date`,purchasePrice:`Purchase price`,condition:`Condition`,warrantyExpires:`Warranty expires`,link:`Link`,photos:`Gallery`,tags:`Tags`,paymentStatus:`Payment`,receipt:`Receipt`,orderNumber:`Order number`,manual:`Manual`,store:`Store`},options:{type:{clothing:`Clothing`,bag:`Bag / backpack`,cable:`Cable / adapter`,tool:`Tool`,furniture:`Furniture`,appliance:`Appliance`,household:`Household`,consumable:`Consumable`,personal_care:`Personal care`,sports:`Sports`,hobby:`Hobby / craft`,hardware:`Hardware / parts`,decor:`Decor / lighting`,stationery:`Stationery`,document:`Document`,other:`Other`},condition:{new:`New`,good:`Good`,fair:`Fair`,poor:`Poor`},paymentStatus:{bought:`Bought`,installment:`Installment`,credit:`Credit`}},groups:{purchase:`Purchase`}},storage_location:{label:`Storage location`,fields:{path:`Hierarchy (levels)`}}},mo={things:po},ho=e({default:()=>_o,things:()=>go}),go={plugin:{label:`Вещи`,description:`Учёт личных вещей и мест хранения.`},library:{label:`Вещи`},item:{label:`Вещь`,fields:{logo:`Фото`,description:`Описание`,brand:`Бренд`,model:`Модель`,location:`Место хранения`,quantity:`Количество`,owner:`Владелец`,color:`Цвет`,material:`Материал`,madeIn:`Страна производства`,weight:`Вес`,dimensions:`Размеры`,serialNumber:`Серийный номер`,purchaseDate:`Дата приобретения`,purchasePrice:`Цена покупки`,condition:`Состояние`,warrantyExpires:`Гарантия до`,link:`Ссылка`,photos:`Галерея`,tags:`Теги`,paymentStatus:`Способ оплаты`,receipt:`Чек / гарантийник`,orderNumber:`Номер заказа`,manual:`Инструкция`,store:`Магазин`},options:{type:{clothing:`Одежда`,bag:`Сумка / рюкзак`,cable:`Кабель / адаптер`,tool:`Инструмент`,furniture:`Мебель`,appliance:`Бытовая техника`,household:`Хозтовары / дом`,consumable:`Расходники`,personal_care:`Гигиена / уход`,sports:`Спорт`,hobby:`Хобби / крафт`,hardware:`Крепёж / детали`,decor:`Декор / освещение`,stationery:`Канцелярия`,document:`Документ`,other:`Другое`},condition:{new:`Новый`,good:`Хороший`,fair:`Удовлетворительный`,poor:`Плохой`},paymentStatus:{bought:`Куплено`,installment:`Рассрочка`,credit:`Кредит`}},groups:{purchase:`Покупка`}},storage_location:{label:`Место хранения`,fields:{path:`Иерархия (уровни)`}}},_o={things:go},vo=e({default:()=>bo,things:()=>yo}),yo={plugin:{label:`Речі`,description:`Облік особистих речей і місць зберігання.`},library:{label:`Речі`},item:{label:`Річ`,fields:{logo:`Фото`,description:`Опис`,brand:`Бренд`,model:`Модель`,location:`Місце зберігання`,quantity:`Кількість`,owner:`Власник`,color:`Колір`,material:`Матеріал`,madeIn:`Країна виробництва`,weight:`Вага`,dimensions:`Розміри`,serialNumber:`Серійний номер`,purchaseDate:`Дата придбання`,purchasePrice:`Ціна покупки`,condition:`Стан`,warrantyExpires:`Гарантія до`,link:`Посилання`,photos:`Галерея`,tags:`Теги`,paymentStatus:`Спосіб оплати`,receipt:`Чек / гарантійник`,orderNumber:`Номер замовлення`,manual:`Інструкція`,store:`Магазин`},options:{type:{clothing:`Одяг`,bag:`Сумка / рюкзак`,cable:`Кабель / адаптер`,tool:`Інструмент`,furniture:`Меблі`,appliance:`Побутова техніка`,household:`Побутове / дім`,consumable:`Розхідники`,personal_care:`Гігієна / догляд`,sports:`Спорт`,hobby:`Хобі / крафт`,hardware:`Кріплення / деталі`,decor:`Декор / освітлення`,stationery:`Канцелярія`,document:`Документ`,other:`Інше`},condition:{new:`Новий`,good:`Добрий`,fair:`Задовільний`,poor:`Поганий`},paymentStatus:{bought:`Куплено`,installment:`Розстрочка`,credit:`Кредит`}},groups:{purchase:`Купівля`}},storage_location:{label:`Місце зберігання`,fields:{path:`Ієрархія (рівні)`}}},bo={things:yo},xo=e({default:()=>Co,transit:()=>So}),So={plugin:{label:`Transit`,description:`Public transport routes and schedules.`},library:{label:`Transit`},settings:{label:`Sync settings`,caldav_calendar:`Calendar URL`,caldav_url:`CalDAV server URL`,caldav_username:`Username`,caldav_password:`Password`},bus_route:{label:`Route`,fields:{route_number:`Route No.`,from:`From`,to:`To`,stop:`Stop`,weekday_times:`Weekdays`,saturday_times:`Saturday`,sunday_times:`Sunday`,notes:`Notes`,tags:`Tags`}}},Co={transit:So},wo=e({default:()=>Eo,transit:()=>To}),To={plugin:{label:`Транспорт`,description:`Маршруты общественного транспорта и расписания.`},library:{label:`Транспорт`},settings:{label:`Настройки синхронизации`,caldav_calendar:`URL календаря`,caldav_url:`URL CalDAV-сервера`,caldav_username:`Имя пользователя`,caldav_password:`Пароль`},bus_route:{label:`Маршрут`,fields:{route_number:`Маршрут №`,from:`Откуда`,to:`Куда`,stop:`Остановка`,weekday_times:`Будни`,saturday_times:`Суббота`,sunday_times:`Воскресенье`,notes:`Заметки`,tags:`Теги`}}},Eo={transit:To},Do=e({default:()=>ko,transit:()=>Oo}),Oo={plugin:{label:`Транспорт`,description:`Маршрути громадського транспорту та розклади.`},library:{label:`Транспорт`},settings:{label:`Налаштування синхронізації`,caldav_calendar:`URL календаря`,caldav_url:`URL CalDAV-сервера`,caldav_username:`Ім'я користувача`,caldav_password:`Пароль`},bus_route:{label:`Маршрут`,fields:{route_number:`Маршрут №`,from:`Звідки`,to:`Куди`,stop:`Зупинка`,weekday_times:`Будні`,saturday_times:`Субота`,sunday_times:`Неділя`,notes:`Нотатки`,tags:`Теги`}}},ko={transit:Oo},Ao=e({default:()=>Mo,travel:()=>jo}),jo={plugin:{label:`Travel`,description:`Trips, flights and bookings.`},library:{label:`Travel`},trip:{label:`Trip`,fields:{description:`Notes`,destination:`Destination`,date_from:`Departure date`,date_to:`Return date`,status:`Status`,participants:`Participants`,budget:`Budget`,notes:`Notes`,photos:`Photos`,packing_list:`Packing list`,legs:`Legs`,accommodations:`Accommodations`,insurances:`Insurances`,activities:`Activities`,tags:`Tags`},options:{status:{planned:`Planned`,active:`In progress`,completed:`Completed`,cancelled:`Cancelled`}},packing:{prepared:`Prepared`,packed:`Packed`,packed_back:`Packed back`,item:`Item`},leg:{date:`Date`,leg_type:`Type`,operator:`Carrier`,number:`Flight / trip number`,seat:`Seat`,class:`Class`,booking_ref:`Booking ref`,terminal:`Terminal`,gate:`Gate`,origin_city:`Origin city`,origin_code:`Airport / station code`,departure_time:`Departure time`,destination_city:`Destination city`,destination_code:`Destination airport / station code`,arrival_time:`Arrival time`,duration:`Duration`,checked_in:`Checked in`,notes:`Notes`},leg_opt:{leg_type:{flight:`Flight`,train:`Train`,bus:`Bus`,car:`Car`,ferry:`Ferry`,other:`Other`},class:{economy:`Economy`,business:`Business`,first:`First`}},accom:{accom_type:`Type`,location:`Address`,address:`Address`,rating:`Stars`,breakfast:`Breakfast included`,check_in:`Check-in`,check_out:`Check-out`,booking_ref:`Booking reference`,cost:`Cost`,notes:`Notes`},accom_opt:{accom_type:{hotel:`Hotel`,apartment:`Apartment`,hostel:`Hostel`,other:`Other`},rating:{1:`★`,2:`★★`,3:`★★★`,4:`★★★★`,5:`★★★★★`}},insur:{insurer:`Insurer`,policy_number:`Policy number`,coverage:`Coverage`,cost:`Cost`,valid_from:`Valid from`,valid_until:`Valid until`,emergency_phone:`Emergency phone`,notes:`Notes`},act:{activity_type:`Type`,date:`Date`,time_start:`Start time`,time_end:`End time`,location:`Location`,booking_ref:`Booking ref`,cost:`Cost`,notes:`Notes`},act_opt:{activity_type:{sightseeing:`Sightseeing`,museum:`Museum`,beach:`Beach`,nature:`Nature`,restaurant:`Restaurant`,tour:`Tour`,shopping:`Shopping`,entertainment:`Entertainment`,other:`Other`}}}},Mo={travel:jo},No=e({default:()=>Fo,travel:()=>Po}),Po={plugin:{label:`Путешествия`,description:`Поездки, перелёты и бронирования.`},library:{label:`Путешествия`},trip:{label:`Поездка`,fields:{description:`Заметки`,destination:`Направление`,date_from:`Дата вылета`,date_to:`Дата возвращения`,status:`Статус`,participants:`Участники`,budget:`Бюджет`,notes:`Заметки`,photos:`Фото`,packing_list:`Список вещей`,legs:`Перевозки`,accommodations:`Проживание`,insurances:`Страховки`,activities:`Активности`,tags:`Теги`},options:{status:{planned:`Запланировано`,active:`В пути`,completed:`Завершено`,cancelled:`Отменено`}},packing:{prepared:`Подготовлено`,packed:`Сложено в сумки`,packed_back:`Собрано обратно`,item:`Вещь`},leg:{date:`Дата`,leg_type:`Тип`,operator:`Перевозчик`,number:`Номер рейса`,seat:`Место`,class:`Класс`,booking_ref:`Код бронирования`,terminal:`Терминал`,gate:`Выход`,origin_city:`Город отправления`,origin_code:`Код аэропорта/вокзала`,departure_time:`Время отправления`,destination_city:`Город прибытия`,destination_code:`Код аэропорта/вокзала назначения`,arrival_time:`Время прибытия`,duration:`Продолжительность`,checked_in:`Зарегистрировано`,notes:`Заметки`},leg_opt:{leg_type:{flight:`Рейс`,train:`Поезд`,bus:`Автобус`,car:`Авто`,ferry:`Паром`,other:`Другое`},class:{economy:`Эконом`,business:`Бизнес`,first:`Первый`}},accom:{accom_type:`Тип`,location:`Адрес`,address:`Адрес`,rating:`Звёзды`,breakfast:`Завтрак включён`,check_in:`Заезд`,check_out:`Выезд`,booking_ref:`Номер бронирования`,cost:`Стоимость`,notes:`Заметки`},accom_opt:{accom_type:{hotel:`Отель`,apartment:`Апартаменты`,hostel:`Хостел`,other:`Другое`},rating:{1:`★`,2:`★★`,3:`★★★`,4:`★★★★`,5:`★★★★★`}},insur:{insurer:`Страховщик`,policy_number:`Номер полиса`,coverage:`Покрытие`,cost:`Стоимость`,valid_from:`Действительна с`,valid_until:`Действительна до`,emergency_phone:`Телефон экстренной помощи`,notes:`Заметки`},act:{activity_type:`Тип`,date:`Дата`,time_start:`Время начала`,time_end:`Время завершения`,location:`Локация`,booking_ref:`Код бронирования`,cost:`Стоимость`,notes:`Заметки`},act_opt:{activity_type:{sightseeing:`Осмотр города`,museum:`Музей`,beach:`Пляж`,nature:`Природа`,restaurant:`Ресторан`,tour:`Экскурсия`,shopping:`Шопинг`,entertainment:`Развлечения`,other:`Другое`}}}},Fo={travel:Po},Io=e({default:()=>Ro,travel:()=>Lo}),Lo={plugin:{label:`Подорожі`,description:`Поїздки, перельоти та бронювання.`},library:{label:`Подорожі`},trip:{label:`Поїздка`,fields:{description:`Нотатки`,destination:`Напрямок`,date_from:`Дата вильоту`,date_to:`Дата повернення`,status:`Статус`,participants:`Учасники`,budget:`Бюджет`,notes:`Нотатки`,photos:`Фото`,packing_list:`Список речей`,legs:`Перевезення`,accommodations:`Проживання`,insurances:`Страховки`,activities:`Активності`,tags:`Теги`},options:{status:{planned:`Заплановано`,active:`В дорозі`,completed:`Завершено`,cancelled:`Скасовано`}},packing:{prepared:`Підготовлено`,packed:`Спаковано`,packed_back:`Зібрано назад`,item:`Річ`},leg:{date:`Дата`,leg_type:`Тип`,operator:`Перевізник`,number:`Номер рейсу`,seat:`Місце`,class:`Клас`,booking_ref:`Підтвердження`,terminal:`Термінал`,gate:`Гейт`,origin_city:`Місто відправлення`,origin_code:`Код аеропорту/вокзалу`,departure_time:`Час відправлення`,destination_city:`Місто прибуття`,destination_code:`Код аеропорту/вокзалу призначення`,arrival_time:`Час прибуття`,duration:`Тривалість`,checked_in:`Зареєстровано`,notes:`Нотатки`},leg_opt:{leg_type:{flight:`Рейс`,train:`Потяг`,bus:`Автобус`,car:`Авто`,ferry:`Паром`,other:`Інше`},class:{economy:`Економ`,business:`Бізнес`,first:`Перший`}},accom:{accom_type:`Тип`,location:`Адреса`,address:`Адреса`,rating:`Зірки`,breakfast:`Сніданок включено`,check_in:`Заїзд`,check_out:`Виїзд`,booking_ref:`Номер бронювання`,cost:`Вартість`,notes:`Нотатки`},accom_opt:{accom_type:{hotel:`Готель`,apartment:`Апартаменти`,hostel:`Хостел`,other:`Інше`},rating:{1:`★`,2:`★★`,3:`★★★`,4:`★★★★`,5:`★★★★★`}},insur:{insurer:`Страховик`,policy_number:`Номер полісу`,coverage:`Покриття`,cost:`Вартість`,valid_from:`Дійсна з`,valid_until:`Дійсна до`,emergency_phone:`Телефон екстреної допомоги`,notes:`Нотатки`},act:{activity_type:`Тип`,date:`Дата`,time_start:`Час початку`,time_end:`Час завершення`,location:`Локація`,booking_ref:`Підтвердження`,cost:`Вартість`,notes:`Нотатки`},act_opt:{activity_type:{sightseeing:`Огляд міста`,museum:`Музей`,beach:`Пляж`,nature:`Природа`,restaurant:`Ресторан`,tour:`Екскурсія`,shopping:`Шопінг`,entertainment:`Розваги`,other:`Інше`}}}},Ro={travel:Lo},zo=e({default:()=>Vo,webchat:()=>Bo}),Bo={title:`Agent`,open:`Open chat`,close:`Close`,expand:`Expand`,collapse:`Collapse`,newConversation:`New conversation`,threads:`Conversations`,empty:`No messages yet`,placeholder:`Ask about your data…`,send:`Send`,stop:`Stop`,thinking:`Thinking…`,error:`Error: {{message}}`,reasoning:`Reasoning`,settings:{label:`Web chat`,reasoning_display:`Reasoning display`,reasoning_display_live:`Live block`,reasoning_display_off:`Hidden`}},Vo={webchat:Bo},Ho=e({default:()=>Wo,webchat:()=>Uo}),Uo={title:`Агент`,open:`Открыть чат`,close:`Закрыть`,expand:`Развернуть`,collapse:`Свернуть`,newConversation:`Новый разговор`,threads:`Разговоры`,empty:`Пока нет сообщений`,placeholder:`Спроси о своих данных…`,send:`Отправить`,stop:`Стоп`,thinking:`Думает…`,error:`Ошибка: {{message}}`,reasoning:`Рассуждения`,settings:{label:`Чат на сайте`,reasoning_display:`Показ рассуждений`,reasoning_display_live:`Живым блоком`,reasoning_display_off:`Не показывать`}},Wo={webchat:Uo},Go=e({default:()=>qo,webchat:()=>Ko}),Ko={title:`Агент`,open:`Відкрити чат`,close:`Закрити`,expand:`Розгорнути`,collapse:`Згорнути`,newConversation:`Нова розмова`,threads:`Розмови`,empty:`Ще немає повідомлень`,placeholder:`Запитай про свої дані…`,send:`Надіслати`,stop:`Стоп`,thinking:`Думає…`,error:`Помилка: {{message}}`,reasoning:`Міркування`,settings:{label:`Чат на сайті`,reasoning_display:`Показ міркувань`,reasoning_display_live:`Живим блоком`,reasoning_display_off:`Не показувати`}},qo={webchat:Ko},Jo=e({default:()=>Xo,webexport:()=>Yo}),Yo={plugin:{label:`Web export`,description:`Static HTML export host: shared output dir and common css/js assets.`},settings:{label:`Web export settings`,output_dir:`Output directory`}},Xo={webexport:Yo},Zo=e({default:()=>$o,webexport:()=>Qo}),Qo={plugin:{label:`Веб-экспорт`,description:`Хост статического HTML-экспорта: общая папка вывода и общие css/js.`},settings:{label:`Настройки веб-экспорта`,output_dir:`Папка вывода`}},$o={webexport:Qo},es=e({default:()=>ns,webexport:()=>ts}),ts={plugin:{label:`Веб-експорт`,description:`Хост статичного HTML-експорту: спільна тека виводу та спільні css/js.`},settings:{label:`Налаштування веб-експорту`,output_dir:`Тека виводу`}},ns={webexport:ts},rs=Object.assign({"../plugin-claude-agent/locales/en.json":Mr,"../plugin-claude-agent/locales/ru.json":Pr,"../plugin-claude-agent/locales/uk.json":Ir,"../plugin-console/locales/en.json":Rr,"../plugin-console/locales/ru.json":Vr,"../plugin-console/locales/uk.json":Wr,"../plugin-devices/locales/en.json":qr,"../plugin-devices/locales/ru.json":Xr,"../plugin-devices/locales/uk.json":$r,"../plugin-documents/locales/en.json":ni,"../plugin-documents/locales/ru.json":ai,"../plugin-documents/locales/uk.json":ci,"../plugin-drone/locales/en.json":di,"../plugin-drone/locales/ru.json":mi,"../plugin-drone/locales/uk.json":_i,"../plugin-finance/locales/en.json":bi,"../plugin-finance/locales/ru.json":Ci,"../plugin-finance/locales/uk.json":Ei,"../plugin-garden/locales/en.json":ki,"../plugin-garden/locales/ru.json":Mi,"../plugin-garden/locales/uk.json":Fi,"../plugin-health/locales/en.json":Ri,"../plugin-health/locales/ru.json":Vi,"../plugin-health/locales/uk.json":Wi,"../plugin-home/locales/en.json":qi,"../plugin-home/locales/ru.json":Xi,"../plugin-home/locales/uk.json":$i,"../plugin-http/locales/en.json":na,"../plugin-http/locales/ru.json":aa,"../plugin-http/locales/uk.json":ca,"../plugin-kitchen/locales/en.json":da,"../plugin-kitchen/locales/ru.json":ma,"../plugin-kitchen/locales/uk.json":_a,"../plugin-lab/locales/en.json":ba,"../plugin-lab/locales/ru.json":Ca,"../plugin-lab/locales/uk.json":Ea,"../plugin-media/locales/en.json":ka,"../plugin-media/locales/ru.json":Ma,"../plugin-media/locales/uk.json":Fa,"../plugin-orchestrator/locales/en.json":Ra,"../plugin-orchestrator/locales/ru.json":Va,"../plugin-orchestrator/locales/uk.json":Wa,"../plugin-people/locales/en.json":qa,"../plugin-people/locales/ru.json":Xa,"../plugin-people/locales/uk.json":$a,"../plugin-telegram/locales/en.json":no,"../plugin-telegram/locales/ru.json":ao,"../plugin-telegram/locales/uk.json":co,"../plugin-things/locales/en.json":fo,"../plugin-things/locales/ru.json":ho,"../plugin-things/locales/uk.json":vo,"../plugin-transit/locales/en.json":xo,"../plugin-transit/locales/ru.json":wo,"../plugin-transit/locales/uk.json":Do,"../plugin-travel/locales/en.json":Ao,"../plugin-travel/locales/ru.json":No,"../plugin-travel/locales/uk.json":Io,"../plugin-webchat/locales/en.json":zo,"../plugin-webchat/locales/ru.json":Ho,"../plugin-webchat/locales/uk.json":Go,"../plugin-webexport/locales/en.json":Jo,"../plugin-webexport/locales/ru.json":Zo,"../plugin-webexport/locales/uk.json":es});for(let[e,t]of Object.entries(rs)){let n=e.match(/\/([a-z]{2})\.json$/)?.[1];n&&t.default&&jr.addResourceBundle(n,`translation`,t.default,!0,!0)}var is=new Map;function as(e,t){if(is.has(e))throw Error(`[actions] '${e}' already registered`);is.set(e,t)}function os(e){return is.get(e)}var ss=e({});as(`devices.runScan`,async e=>{let t=await fetch(`/api/plugins/devices/scan`,{method:`POST`});if(!t.ok){let e=await t.json(),n=Error(e.error??`Server error ${t.status}`);throw n.ui={kind:`popup`,variant:`error`,title:`devices.scan.failTitle`,message:e.error??`Server error ${t.status}`},n}let{result:n}=await t.json();return n.noMac.length>0?{kind:`popup`,variant:`error`,component:{name:`devices.scan.noMac`,data:{count:n.noMac.length,noMac:n.noMac}}}:{kind:`popup`,variant:`success`,component:{name:`devices.scan.summary`,data:{active:n.active,created:n.created,macChanged:n.macChanged,skipped:n.skipped,hostnameChanged:n.hostnameChanged}}}});var cs=e({});as(`finance.testConnection`,async e=>{let t=await fetch(`/api/plugins/finance/test`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error??`Server error ${t.status}`)}}),as(`finance.sync`,async e=>{let t=await fetch(`/api/plugins/finance/sync`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error??`Server error ${t.status}`)}}),as(`finance.importWise`,async e=>{let t=await fetch(`/api/plugins/finance/import-wise`,{method:`POST`}),n=await t.json();if(!t.ok)throw Error(n.error??`Server error ${t.status}`);if(n.errors?.length)throw Error(`Імпортовано ${n.imported}, пропущено ${n.skipped}, помилок ${n.errors.length}: ${n.errors[0]}`)});var ls=e({}),us=()=>new Date().toISOString().slice(0,10),ds=(e,t)=>{let n=new Date(e);return n.setDate(n.getDate()+t),n.toISOString().slice(0,10)};async function fs(e,t,n,r){let i=await(await fetch(`/api/${e.library}/${e.shelf}/${e.recordId}`)).json(),a=Number(i[n])||0,o=us(),s={[t]:o,[r]:a?ds(o,a):null};if(!(await fetch(`/api/${e.library}/${e.shelf}/${e.recordId}`,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify(s)})).ok){let e=Error(`update failed`);throw e.ui={kind:`toast`,variant:`error`,message:`garden.plant.actions.failed`},e}return{kind:`toast`,variant:`success`,message:`garden.plant.actions.done`}}as(`garden.watered`,e=>fs(e,`lastWatered`,`wateringDays`,`nextWatering`)),as(`garden.fertilized`,e=>fs(e,`lastFertilized`,`fertilizerDays`,`nextFertilizing`));var ps=e({});as(`lab.demoAction`,async e=>(await new Promise(e=>setTimeout(e,800)),{kind:`toast`,variant:`success`,message:`lab.field_demo.actions.scan_done`,params:{count:Math.floor(Math.random()*9)+1}})),as(`lab.demoFail`,async()=>{await new Promise(e=>setTimeout(e,400));let e=Error(`Demo error`);throw e.ui={kind:`popup`,variant:`error`,title:`lab.field_demo.actions.fail_title`,message:`lab.field_demo.actions.fail_body`,params:{code:500}},e});var ms=e({});as(`media.testJellyfin`,async e=>{let t=await fetch(`/api/plugins/media/test`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error??`Server error ${t.status}`)}}),as(`media.syncJellyfin`,async e=>{let t=await fetch(`/api/plugins/media/sync`,{method:`POST`}),n=await t.json();if(!t.ok)throw Error(n.error??`Server error ${t.status}`)}),Object.keys(Object.assign({"../plugin-devices/src/actions.ts":ss,"../plugin-finance/src/actions.ts":cs,"../plugin-garden/src/actions.ts":ls,"../plugin-lab/src/field_demo/actions.ts":ps,"../plugin-media/src/actions.ts":ms}));var hs=S(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),gs=S(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),_s=S(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),vs=S(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),ys=S(`corner-left-up`,[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]),bs=S(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),xs=S(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ss=S(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Cs=S(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),ws=S(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Ts=S(`film`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]),Es=S(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Ds=S(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Os=S(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),ks=S(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),As=S(`music`,[[`path`,{d:`M9 18V5l12-2v13`,key:`1jmyc2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`circle`,{cx:`18`,cy:`16`,r:`3`,key:`1hluhg`}]]),js=S(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Ms={"--w-rjv-font-family":`monospace`,"--w-rjv-color":`#0184a6`,"--w-rjv-key-string":`#0184a6`,"--w-rjv-background-color":`#202020`,"--w-rjv-line-color":`#323232`,"--w-rjv-arrow-color":`var(--w-rjv-color)`,"--w-rjv-edit-color":`var(--w-rjv-color)`,"--w-rjv-info-color":`#656565`,"--w-rjv-update-color":`#ebcb8b`,"--w-rjv-copied-color":`#0184a6`,"--w-rjv-copied-success-color":`#28a745`,"--w-rjv-curlybraces-color":`#1896b6`,"--w-rjv-brackets-color":`#1896b6`,"--w-rjv-quotes-color":`var(--w-rjv-key-string)`,"--w-rjv-quotes-string-color":`var(--w-rjv-type-string-color)`,"--w-rjv-type-string-color":`#cb4b16`,"--w-rjv-type-int-color":`#268bd2`,"--w-rjv-type-float-color":`#859900`,"--w-rjv-type-bigint-color":`#268bd2`,"--w-rjv-type-boolean-color":`#2aa198`,"--w-rjv-type-date-color":`#586e75`,"--w-rjv-type-url-color":`#649bd8`,"--w-rjv-type-null-color":`#d33682`,"--w-rjv-type-nan-color":`#076678`,"--w-rjv-type-undefined-color":`#586e75`};function Ns(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Ps(...e){return t=>{let n=!1,r=e.map(e=>{let r=Ns(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Ns(e[t],null)}}}}function Fs(...e){return L.useCallback(Ps(...e),e)}var R=g(),Is=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/mask-input.tsx`,Ls=120,Rs=10,zs=`USD`,Bs=`en-US`,Vs=/^(phone|zipCode|zipCodeExtended|ssn|ein|time|date|creditCard|creditCardExpiry)$/,Hs=/[€$%]/,Us=new Map,Ws=new Map,Gs=new Map,Ks=[31,28,31,30,31,30,31,31,30,31,30,31],z={digitsOnly:/^\d+$/,nonDigits:/\D/g,nonAlphaNumeric:/[^A-Z0-9]/gi,nonNumericDot:/[^0-9.]/g,nonCurrencyChars:/[^\d.,]/g,hashPattern:/#/g,currencyAtEnd:/\d\s*[^\d\s]+$/,percentageChars:/[^\d.]/g,phone:/^\d{10}$/,ssn:/^\d{9}$/,zipCode:/^\d{5}$/,zipCodeExtended:/^\d{9}$/,isbn:/^\d{13}$/,ein:/^\d{9}$/,time:/^\d{4}$/,creditCard:/^\d{13,19}$/,creditCardExpiry:/^\d{4}$/,licensePlate:/^[A-Z0-9]{6}$/,macAddress:/^[A-F0-9]{12}$/,currencyValidation:/^\d+(\.\d{1,2})?$/,ipv4Segment:/^\d{1,3}$/};function qs(e,t){let{currency:n,minimumFractionDigits:r=0,maximumFractionDigits:i=2}=t,a=`${e}|${n}|${r}|${i}`;if(!Us.has(a))try{Us.set(a,new Intl.NumberFormat(e,{style:`currency`,currency:n,...t}))}catch{Us.set(a,new Intl.NumberFormat(Bs,{style:`currency`,currency:zs,...t}))}let o=Us.get(a);if(!o)throw Error(`Failed to create formatter for ${a}`);return o}function Js(e){let{locale:t,currency:n}=e,r=`${t}|${n}`,i=Gs.get(r);if(i)return i;let a=`$`,o=`.`,s=`,`;try{let e=qs(t,{currency:n,minimumFractionDigits:0,maximumFractionDigits:2}).formatToParts(1234.5),r=e.find(e=>e.type===`currency`),i=e.find(e=>e.type===`decimal`),c=e.find(e=>e.type===`group`);r&&(a=r.value),i&&(o=i.value),c&&(s=c.value)}catch{}let c={currency:a,decimal:o,group:s};return Gs.set(r,c),c}function Ys(e){let{locale:t,currency:n}=e,r=`${t}|${n}`,i=Ws.get(r);if(i!==void 0)return i;try{let e=qs(t,{currency:n,minimumFractionDigits:0,maximumFractionDigits:0}).format(123),i=z.currencyAtEnd.test(e);return Ws.set(r,i),i}catch{return Ws.set(r,!1),!1}}function Xs(e){let{mask:t,pattern:n}=e;return t===`currency`||!!(n&&(n.includes(`$`)||n.includes(`€`)))}var Zs={phone:{pattern:`(###) ###-####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.phone.test(e.replace(z.nonDigits,``))},ssn:{pattern:`###-##-####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.ssn.test(e.replace(z.nonDigits,``))},date:{pattern:`##/##/####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(t.length!==8)return!1;let n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10),i=parseInt(t.substring(4,8),10),a=new Date().getFullYear(),o=a-Ls,s=a+Rs;return n<1||n>12||r<1||i<o||i>s?!1:r<=(n===2&&(i%4==0&&i%100!=0||i%400==0)?29:Ks[n-1]??31)}},time:{pattern:`##:##`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(!z.time.test(t))return!1;let n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10);return n<=23&&r<=59}},creditCard:{pattern:`#### #### #### ####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(!z.creditCard.test(t))return!1;let n=0,r=!1;for(let e=t.length-1;e>=0;e--){let i=t[e];if(!i)continue;let a=parseInt(i,10);r&&(a*=2,a>9&&(a-=9)),n+=a,r=!r}return n%10==0}},creditCardExpiry:{pattern:`##/##`,transform:e=>e.replace(z.nonDigits,``),validate:e=>{let t=e.replace(z.nonDigits,``);if(!z.creditCardExpiry.test(t))return!1;let n=parseInt(t.substring(0,2),10),r=parseInt(t.substring(2,4),10);if(n<1||n>12)return!1;let i=new Date,a=i.getFullYear(),o=i.getMonth()+1,s=r<=75?2e3+r:1900+r;return!(s<a||s===a&&n<o||s>a+50)}},zipCode:{pattern:`#####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.zipCode.test(e.replace(z.nonDigits,``))},zipCodeExtended:{pattern:`#####-####`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.zipCodeExtended.test(e.replace(z.nonDigits,``))},currency:{pattern:`$###,###.##`,transform:(e,{currency:t=zs,locale:n=Bs}={})=>{let r=`.`;try{let e=qs(n,{currency:t,minimumFractionDigits:0,maximumFractionDigits:2}).formatToParts(1234.5).find(e=>e.type===`decimal`);e&&(r=e.value)}catch{}let i=e.replace(z.nonCurrencyChars,``),a=i.indexOf(`.`),o=i.indexOf(`,`),s=!1,c=-1;if(r===`,`){let e=i.lastIndexOf(`,`);if(e!==-1){let t=i.substring(e+1);t.length<=2&&/^\d*$/.test(t)&&(s=!0,c=e)}if(!s&&a!==-1){let e=i.substring(a+1);e.length<=2&&/^\d*$/.test(e)&&(s=!0,c=a)}if(!s&&i.length>=4){let e=i.match(/^(\d+)\.(\d{3})(\d{1,2})$/);if(e){let[,t,n,r]=e;return`${(t??``)+(n??``)}.${r}`}}}else{let e=i.lastIndexOf(`.`);if(e!==-1){let t=i.substring(e+1);t.length<=2&&/^\d*$/.test(t)&&(s=!0,c=e)}if(!s&&o!==-1){let e=i.substring(o+1);!(o<=3&&e.length>=3)&&e.length<=2&&/^\d*$/.test(e)&&(s=!0,c=o)}}if(s&&c!==-1){let e=i.substring(0,c).replace(/[.,]/g,``),t=i.substring(c+1).replace(/[.,]/g,``);return t===``?`${e}.`:`${e}.${t.substring(0,2)}`}return i.replace(/[.,]/g,``)},validate:e=>{if(!z.currencyValidation.test(e))return!1;let t=parseFloat(e);return!Number.isNaN(t)&&t>=0}},percentage:{pattern:`##.##%`,transform:e=>{let t=e.replace(z.percentageChars,``),n=t.split(`.`);return n.length>2?`${n[0]}.${n.slice(1).join(``)}`:n[1]&&n[1].length>2?`${n[0]}.${n[1].substring(0,2)}`:t},validate:(e,t={})=>{let n=parseFloat(e),r=t.min??0,i=t.max??100;return!Number.isNaN(n)&&n>=r&&n<=i}},licensePlate:{pattern:`###-###`,transform:e=>e.replace(z.nonAlphaNumeric,``).toUpperCase(),validate:e=>z.licensePlate.test(e)},ipv4:{pattern:`###.###.###.###`,transform:e=>e.replace(z.nonNumericDot,``),validate:e=>{if(e.includes(`.`)){let t=e.split(`.`);return t.length>4?!1:t.every(e=>e===``?!0:z.ipv4Segment.test(e)?parseInt(e,10)<=255:!1)}else{if(!z.digitsOnly.test(e)||e.length>12)return!1;let t=[];for(let n=0;n<e.length;n+=3)t.push(e.substring(n,n+3));return t.length>4?!1:t.every(e=>{let t=parseInt(e,10);return t>=0&&t<=255})}}},macAddress:{pattern:`##:##:##:##:##:##`,transform:e=>e.replace(z.nonAlphaNumeric,``).toUpperCase(),validate:e=>z.macAddress.test(e)},isbn:{pattern:`###-#-###-#####-#`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.isbn.test(e.replace(z.nonDigits,``))},ein:{pattern:`##-#######`,transform:e=>e.replace(z.nonDigits,``),validate:e=>z.ein.test(e.replace(z.nonDigits,``))}};function Qs(e){let{value:t,pattern:n,currency:r,locale:i,mask:a}=e,o=t;if(n.includes(`$`)||n.includes(`€`)||a===`currency`)return $s({value:o,currency:r??zs,locale:i??Bs});if(n.includes(`%`))return ec(o);if(a===`ipv4`)return o;let s=[],c=0;for(let e=0;e<n.length&&c<o.length;e++){let t=n[e],r=o[c];t===`#`&&r?(s.push(r),c++):t&&s.push(t)}return s.join(``)}function $s(e){let{value:t,currency:n=zs,locale:r=Bs}=e;if(!t)return``;let{currency:i,decimal:a,group:o}=Js({locale:r,currency:n}),s=t.replace(RegExp(`\\${o.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}`,`g`),``).replace(a,`.`).split(`.`),c=s[0]??``,l=s[1]??``;if(!c&&!l)return``;let u=c??`0`,d=l.slice(0,2),f=Number(`${u}.${d??``}`);if(Number.isNaN(f)){let e=t.replace(/[^\d]/g,``);return e?`${i}${e}`:``}let p=t.includes(`.`)||t.includes(a);try{let e=qs(r,{currency:n,minimumFractionDigits:d?d.length:0,maximumFractionDigits:2}).format(f);return p&&!d?e.match(/^[^\d\s]+/)?e.replace(/(\d)$/,`$1${a}`):e.replace(/(\d)(\s*)([^\d\s]+)$/,`$1${a}$2$3`):e}catch{let e=`${i}${u.replace(/\B(?=(\d{3})+(?!\d))/g,o)}`;return p&&(e+=`${a}${d}`),e}}function ec(e){if(!e)return``;let t=e.split(`.`),n=t[0]??`0`;return e.includes(`.`)&&(n+=`.${(t[1]??``).substring(0,2)}`),`${n}%`}function tc(e){let{value:t,transform:n,currency:r,locale:i}=e;return n?n(t,{currency:r,locale:i}):t.replace(z.nonDigits,``)}function nc(e){let{masked:t,pattern:n,caret:r}=e,i=0;for(let e=0;e<r&&e<t.length&&e<n.length;e++)n[e]===`#`&&i++;return i}function rc(e){let{masked:t,pattern:n,unmaskedIndex:r}=e,i=0;for(let e=0;e<t.length&&e<n.length;e++)if(n[e]===`#`&&(i++,i===r))return e+1;return t.length}function ic(e){let{newValue:t,mask:n,transformOpts:r,oldCursorPosition:i,oldValue:a,previousUnmasked:o}=e;if(i!==void 0&&a&&o!==void 0&&i<a.length){let e=a.substring(0,i).replace(/\D/g,``).length,n=0;for(let r=0;r<t.length;r++)if(/\d/.test(t[r]??``)&&(n++,n===e))return r+1}if(n===`currency`)if(Ys(r)){let e=t.match(/(\d)\s*([^\d\s]+)$/);return e?.[1]?t.lastIndexOf(e[1])+1:t.length}else return t.length;else return t.length}function ac(e){let{newValue:t,maskPattern:n,currentUnmasked:r,oldCursorPosition:i,oldValue:a,previousUnmasked:o}=e,s=0,c=0;if(i!==void 0&&a&&o!==void 0){let e=nc({masked:a,pattern:n.pattern,caret:i});if(i<a.length){let i=Math.min(e,r.length);for(let e=0;e<n.pattern.length&&e<t.length;e++)n.pattern[e]===`#`&&(c++,c<=i&&(s=e+1));return s}}for(let e=0;e<n.pattern.length&&e<t.length;e++)n.pattern[e]===`#`&&(c++,c<=r.length&&(s=e+1));return s}function oc(e){let{value:t,defaultValue:n,onValueChange:r,onValidate:i,onBlur:a,onFocus:o,onKeyDown:s,onPaste:c,onCompositionStart:l,onCompositionEnd:u,validationMode:d=`onChange`,mask:f,maskPlaceholder:p,currency:m=zs,locale:h=Bs,placeholder:g,inputMode:_,min:v,max:y,maxLength:b,asChild:x=!1,disabled:S=!1,invalid:w=!1,readOnly:T=!1,required:E=!1,withoutMask:D=!1,className:O,ref:k,...A}=e,[ee,te]=L.useState(n??``),[ne,j]=L.useState(!1),[M,re]=L.useState(!1),[N,ie]=L.useState(!1),oe=L.useRef(null),se=Fs(k,oe),ce=t!==void 0,le=ce?t:ee,P=L.useMemo(()=>typeof f==`string`?Zs[f]:f,[f]),ue=L.useMemo(()=>({currency:m,locale:h}),[m,h]),de=L.useMemo(()=>D?g:g&&p?ne?p:g:p?ne?p:void 0:g,[g,p,ne,D]),fe=L.useMemo(()=>D||!P||!le?le??``:Qs({value:tc({value:le,transform:P.transform,...ue}),pattern:P.pattern,...ue,mask:f}),[le,P,D,ue,f]),pe=L.useMemo(()=>{if(!(!P||Hs.test(P.pattern)))return P.pattern.match(z.hashPattern)?.length??0},[P])?P?.pattern.length:b,me=L.useMemo(()=>{if(_)return _;if(P){if(f===`currency`||f===`percentage`||f===`ipv4`)return`decimal`;if(typeof f==`string`&&Vs.test(f))return`numeric`}},[P,f,_]),he=L.useCallback(e=>{if(!i||!P?.validate)return!1;switch(d){case`onChange`:return e===`change`;case`onBlur`:return e===`blur`;case`onSubmit`:return!1;case`onTouched`:return N?e===`change`:e===`blur`;case`all`:return!0;default:return e===`change`}},[i,P,d,N]),ge=L.useMemo(()=>({min:typeof v==`string`?parseFloat(v):v,max:typeof y==`string`?parseFloat(y):y}),[v,y]),_e=L.useCallback(e=>{if(i&&P?.validate){let t=P.validate(e,ge);i(t,e)}},[i,P?.validate,ge]),ve=L.useCallback(e=>{let t=e.target.value,n=t,a=t;if(M){ce||te(t);return}if(D||!P){ce||te(t),he(`change`)&&i?.(!0,t),r?.(t,t);return}if(P&&(a=tc({value:t,transform:P.transform,...ue}),n=Qs({value:a,pattern:P.pattern,...ue,mask:f}),oe.current&&n!==t)){let e=oe.current;if(!(e instanceof HTMLInputElement))return;let r=e.selectionStart??0;e.value=n;let i=tc({value:n,transform:P.transform,...ue}),a,o=tc({value:le,transform:P.transform,...ue});a=Hs.test(P.pattern)?ic({newValue:n,mask:f,transformOpts:ue,oldCursorPosition:r,oldValue:t,previousUnmasked:o}):ac({newValue:n,maskPattern:P,currentUnmasked:i,oldCursorPosition:r,oldValue:t,previousUnmasked:o}),Xs({mask:f,pattern:P.pattern})?f===`currency`&&Ys(ue)||(a=Math.max(1,a)):P.pattern.includes(`%`)&&(a=Math.min(n.length-1,a)),a=Math.min(a,n.length),e.setSelectionRange(a,a)}ce||te(n),he(`change`)&&_e(a),r?.(n,a)},[P,ce,r,i,_e,M,he,D,ue,f,le]),ye=L.useCallback(e=>{o?.(e),!e.defaultPrevented&&j(!0)},[o]),be=L.useCallback(e=>{if(a?.(e),!e.defaultPrevented&&(j(!1),N||ie(!0),he(`blur`))){let t=e.target.value,n=P?tc({value:t,transform:P.transform,...ue}):t;_e(n)}},[a,N,he,_e,P,ue]),xe=L.useCallback(e=>{l?.(e),!e.defaultPrevented&&re(!0)},[l]),Se=L.useCallback(e=>{if(u?.(e),e.defaultPrevented)return;re(!1);let t=oe.current;if(!t||!(t instanceof HTMLInputElement))return;let n=t.value;if(!P||D){ce||te(n),he(`change`)&&i?.(!0,n),r?.(n,n);return}let a=tc({value:n,transform:P.transform,...ue}),o=Qs({value:a,pattern:P.pattern,...ue,mask:f});ce||te(o),he(`change`)&&_e(a),r?.(o,a)},[u,P,D,ce,he,i,r,ue,f,_e]),Ce=L.useCallback(e=>{if(c?.(e),e.defaultPrevented||D||!P||f===`ipv4`)return;let t=e.target;if(!(t instanceof HTMLInputElement))return;let n=e.clipboardData.getData(`text`);if(!n)return;e.preventDefault();let i=t.value,a=t.selectionStart??0,o=t.selectionEnd??0,s=i.slice(0,a),l=i.slice(o),u=tc({value:s+n+l,transform:P.transform,...ue}),d=Qs({value:u,pattern:P.pattern,...ue,mask:f});if(t.value=d,Xs({mask:f,pattern:P.pattern})){let e=Ys(ue)?d.search(/\s*[^\d\s]+$/):d.length;t.setSelectionRange(e,e);return}if(P.pattern.includes(`%`)){t.setSelectionRange(d.length-1,d.length-1);return}let p=d.length;try{let e=u.length,t=0,n=0;for(let r=0;r<P.pattern.length&&r<d.length;r++)P.pattern[r]===`#`&&(n++,n<=e&&(t=r+1));p=t}catch{}t.setSelectionRange(p,p),ce||te(d),he(`change`)&&_e(u),r?.(d,u)},[c,D,P,f,ue,ce,he,_e,r]),we=L.useCallback(e=>{if(s?.(e),!e.defaultPrevented&&!(D||!P)&&f!==`ipv4`){if(e.key===`Backspace`){let t=e.target;if(!(t instanceof HTMLInputElement))return;let n=t.selectionStart??0,i=t.selectionEnd??0,a=t.value;if(f===`currency`||f===`percentage`||P.pattern.includes(`$`)||P.pattern.includes(`€`)||P.pattern.includes(`%`)||n!==i)return;if(n>0&&a[n-1]){e.preventDefault();let i=nc({masked:a,pattern:P.pattern,caret:n});if(i>0){let e=tc({value:a,transform:P.transform,...ue}),n=e.slice(0,i-1)+e.slice(i),o=Qs({value:n,pattern:P.pattern,...ue,mask:f});t.value=o;let s=rc({masked:o,pattern:P.pattern,unmaskedIndex:i-1});t.setSelectionRange(s,s),r?.(o,n)}return}}if(e.key===`Delete`){let t=e.target;if(!(t instanceof HTMLInputElement))return;let n=t.selectionStart??0,i=t.selectionEnd??0,a=t.value;if(f===`currency`||f===`percentage`||P.pattern.includes(`$`)||P.pattern.includes(`€`)||P.pattern.includes(`%`)||n!==i)return;if(n<a.length&&a[n]){e.preventDefault();let i=nc({masked:a,pattern:P.pattern,caret:n}),o=tc({value:a,transform:P.transform,...ue});if(i<o.length){let e=o.slice(0,i)+o.slice(i+1),n=Qs({value:e,pattern:P.pattern,...ue,mask:f});t.value=n;let a=rc({masked:n,pattern:P.pattern,unmaskedIndex:i});t.setSelectionRange(a,a),r?.(n,e)}return}}}},[P,s,r,ue,f,D]);return(0,R.jsxDEV)(x?ae:`input`,{"aria-invalid":w,"data-disabled":S?``:void 0,"data-invalid":w?``:void 0,"data-readonly":T?``:void 0,"data-required":E?``:void 0,"data-slot":`mask-input`,...A,className:C(`flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40`,O),placeholder:de,ref:se,value:fe,disabled:S,maxLength:pe,readOnly:T,required:E,inputMode:me,min:v,max:y,onFocus:ye,onBlur:be,onKeyDown:we,onPaste:Ce,onChange:ve,onCompositionStart:xe,onCompositionEnd:Se},void 0,!1,{fileName:Is,lineNumber:1468,columnNumber:5},this)}var sc=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/option-icon.tsx`,cc={xs:14,sm:16,md:20,lg:28};function lc({icon:e,size:t=`sm`,framed:n=!1,className:r}){let i=cc[t];if(n){let t={width:i,height:i};return e.kind===`image`?(0,R.jsxDEV)(`img`,{src:e.value,alt:``,loading:`lazy`,className:`shrink-0 rounded-full border border-border object-cover ${r??``}`,style:t},void 0,!1,{fileName:sc,lineNumber:28,columnNumber:9},this):e.kind===`swatch`?(0,R.jsxDEV)(`span`,{className:`shrink-0 rounded-full border border-border ${r??``}`,style:{...t,backgroundColor:e.value}},void 0,!1,{fileName:sc,lineNumber:38,columnNumber:9},this):(0,R.jsxDEV)(`span`,{className:`shrink-0 grid place-items-center rounded-full border border-border bg-elevated text-muted ${r??``}`,style:t,children:(0,R.jsxDEV)(je,{name:e.value,size:Math.round(i*.55)},void 0,!1,{fileName:sc,lineNumber:48,columnNumber:9},this)},void 0,!1,{fileName:sc,lineNumber:44,columnNumber:7},this)}return e.kind===`swatch`?(0,R.jsxDEV)(`span`,{className:`shrink-0 inline-block rounded-full border border-border/60 ${r??``}`,style:{width:i,height:i,backgroundColor:e.value}},void 0,!1,{fileName:sc,lineNumber:54,columnNumber:7},this):e.kind===`image`?(0,R.jsxDEV)(`img`,{src:e.value,alt:``,loading:`lazy`,className:`shrink-0 rounded-full border border-border object-cover ${r??``}`,style:{width:i,height:i}},void 0,!1,{fileName:sc,lineNumber:61,columnNumber:7},this):(0,R.jsxDEV)(je,{name:e.value,size:i,className:`shrink-0 ${r??``}`},void 0,!1,{fileName:sc,lineNumber:69,columnNumber:10},this)}var uc={};function dc(e){if(!e.kind)throw Error(`[list-view] view without kind`);if(uc[e.kind])throw Error(`[list-view] kind '${e.kind}' already registered`);uc[e.kind]=e}function fc(e){return uc[e]}function pc(e){return(e??``).replace(/```[\s\S]*?```/g,` `).replace(/`([^`]+)`/g,`$1`).replace(/!\[[^\]]*\]\([^)]*\)/g,` `).replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`).replace(/^#{1,6}\s+/gm,``).replace(/[*_~>#-]+/g,` `).replace(/\s+/g,` `).trim()}var mc=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/markdown-view.tsx`;In.addHook(`afterSanitizeAttributes`,e=>{e.tagName===`A`&&(e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer`))});function hc(e){let t=Fn.parse(e,{async:!1});return In.sanitize(t)}function gc({value:e}){return(0,R.jsxDEV)(`div`,{className:`md-static`,dangerouslySetInnerHTML:{__html:hc(e)}},void 0,!1,{fileName:mc,lineNumber:32,columnNumber:10},this)}var B=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/text.tsx`,_c=(0,L.lazy)(()=>c(()=>import(`./MarkdownEditor-CxlMpjDc.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),vc=(0,L.lazy)(()=>c(()=>import(`./esm-Dfm1ivm4.js`),__vite__mapDeps([16,1,2,6,8,17,18,12,13,19,20]))),yc=(0,L.lazy)(()=>c(()=>import(`./esm-C5Scej0H.js`),__vite__mapDeps([21,1,2,6]))),bc=(0,L.lazy)(()=>c(()=>import(`./dist-COeDLrWj.js`).then(e=>({default:e.HexColorPicker})),__vite__mapDeps([22,1,2]))),xc=(0,L.lazy)(()=>c(()=>import(`./phone-input-DLmP9Sfd.js`).then(e=>({default:e.PhoneInput})),__vite__mapDeps([23,1,2,3,24,4,25,26,5,6,27]))),Sc={iban:{pattern:`#### #### #### #### #### #### #### ##`,transform:e=>e.replace(/[^a-z0-9]/gi,``).toUpperCase()}};function Cc({name:e,field:t,value:n,onChange:r}){let i=t.hints,a=i.inputType??`text`;if(i.multiple===!0)return(0,R.jsxDEV)(xt,{value:n,onChange:r,renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:a,value:e,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:B,lineNumber:78,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:74,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);if(typeof i.mask==`string`){let t=Sc[i.mask]??i.mask,n=i.maskStore===`unmasked`;return(0,R.jsxDEV)(oc,{id:e,mask:t,value:o,onValueChange:(e,t)=>r(n?t:e)},void 0,!1,{fileName:B,lineNumber:105,columnNumber:7},this)}return(0,R.jsxDEV)(E,{id:e,type:a,value:o,onChange:e=>r(e.target.value),minLength:i.minLength,maxLength:i.maxLength},void 0,!1,{fileName:B,lineNumber:114,columnNumber:5},this)}function wc({field:e,value:t}){return dt(e,t,e=>(0,R.jsxDEV)(`span`,{children:String(e)},void 0,!1,{fileName:B,lineNumber:126,columnNumber:41},this))}function Tc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(wc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:141,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Cc,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:B,lineNumber:143,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:131,columnNumber:5},this)}function Ec({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(String(e??``))},void 0,!1,{fileName:B,lineNumber:155,columnNumber:10},this)}I({kinds:[`text`,`email`,`slug`],Page:Tc,Inline:Ec});function Dc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>ut(e)?(0,R.jsxDEV)(`span`,{children:String(e)},void 0,!1,{fileName:B,lineNumber:179,columnNumber:35},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:B,lineNumber:179,columnNumber:62},this),edit:(e,t)=>(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:181,columnNumber:29},this),children:(0,R.jsxDEV)(xc,{value:String(e),onChange:e=>t(e??``)},void 0,!1,{fileName:B,lineNumber:182,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:181,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:168,columnNumber:5},this)}function Oc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(String(e??``))},void 0,!1,{fileName:B,lineNumber:193,columnNumber:10},this)}I({kinds:[`tel`],Page:Dc,Inline:Oc});var kc=e=>/^[a-z][a-z0-9+.-]*:\/\//i.test(e)?e:`https://${e}`;function Ac({value:e}){let t=String(e??``);return t?(0,R.jsxDEV)(`a`,{href:kc(t),target:`_blank`,rel:`noopener noreferrer`,className:`text-primary underline truncate`,children:t},void 0,!1,{fileName:B,lineNumber:210,columnNumber:5},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:B,lineNumber:208,columnNumber:18},this)}function jc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:e=>(0,R.jsxDEV)(Ac,{value:e},void 0,!1,{fileName:B,lineNumber:228,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(E,{type:`url`,value:String(e),onChange:e=>t(e.target.value)},void 0,!1,{fileName:B,lineNumber:230,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:218,columnNumber:5},this)}I({kinds:[`link`],Page:jc,Inline:({value:e})=>(0,R.jsxDEV)(Ac,{value:e},void 0,!1,{fileName:B,lineNumber:243,columnNumber:44},void 0)});function Mc({name:e,field:t,value:n,onChange:r}){return t.hints.multiple===!0?(0,R.jsxDEV)(xt,{value:n,onChange:r,display:()=>`•••`,renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`password`,value:e,autoComplete:`new-password`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:B,lineNumber:256,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:251,columnNumber:7},this):(0,R.jsxDEV)(E,{id:e,type:`password`,value:n,autoComplete:`current-password`,onChange:e=>r(e.target.value)},void 0,!1,{fileName:B,lineNumber:274,columnNumber:5},this)}function Nc({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(ct,{items:kn(t,[]),content:()=>`•••`,reserveEditor:!0},void 0,!1,{fileName:B,lineNumber:286,columnNumber:12},this):(0,R.jsxDEV)(`span`,{className:`text-muted text-sm select-none`,children:`•••`},void 0,!1,{fileName:B,lineNumber:288,columnNumber:10},this)}function Pc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(Nc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:303,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Mc,{name:`field-${e.field.label}`,field:e.field,value:String(t),onChange:n},void 0,!1,{fileName:B,lineNumber:305,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:293,columnNumber:5},this)}function Fc(){return(0,R.jsxDEV)(`span`,{children:`•••`},void 0,!1,{fileName:B,lineNumber:317,columnNumber:10},this)}I({kinds:[`password`],Page:Pc,Inline:Fc});function Ic(e){let t=e.field.hints.maxLength;return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`textarea`,width:`w-full`,bare:e.bare,view:e=>ut(e)?(0,R.jsxDEV)(`p`,{className:`text-[15px] text-text/90 leading-relaxed whitespace-pre-wrap`,children:String(e)},void 0,!1,{fileName:B,lineNumber:344,columnNumber:16},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:B,lineNumber:343,columnNumber:34},this),edit:(n,r)=>(0,R.jsxDEV)(A,{id:`field-${e.field.label}`,value:String(n),maxLength:t,onChange:e=>r(e.target.value)},void 0,!1,{fileName:B,lineNumber:347,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:331,columnNumber:5},this)}function Lc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(String(e??``))},void 0,!1,{fileName:B,lineNumber:359,columnNumber:10},this)}I({kinds:[`textarea`],layout:`block`,box:`textarea`,Page:Ic,Inline:Lc}),I({kinds:[`smalltext`],Page:Ic,Inline:Lc});function Rc(e){let{t}=a(),n=e.field.hints.maxLength;return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`textarea`,width:`w-full`,bare:e.bare,view:e=>{if(!ut(e))return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:B,lineNumber:394,columnNumber:34},this);let n=String(e);return(0,R.jsxDEV)(`p`,{className:`text-[15px] text-text/90 leading-relaxed whitespace-pre-wrap`,children:t(n,{defaultValue:n})},void 0,!1,{fileName:B,lineNumber:396,columnNumber:16},this)},edit:(t,r)=>(0,R.jsxDEV)(A,{id:`field-${e.field.label}`,value:String(t),maxLength:n,onChange:e=>r(e.target.value)},void 0,!1,{fileName:B,lineNumber:399,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:382,columnNumber:5},this)}function zc({value:e}){let{t}=a(),n=String(e??``);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(t(n,{defaultValue:n}))},void 0,!1,{fileName:B,lineNumber:413,columnNumber:10},this)}I({kinds:[`i18n`],layout:`block`,box:`textarea`,Page:Rc,Inline:zc});function Bc({value:e,onChange:t}){let{t:n}=a();return(0,R.jsxDEV)(`div`,{className:`crepe-wrap`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:430,columnNumber:27},this),children:(0,R.jsxDEV)(_c,{value:e,onChange:t,placeholder:n(`form.mdPlaceholder`)},void 0,!1,{fileName:B,lineNumber:431,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:430,columnNumber:7},this)},void 0,!1,{fileName:B,lineNumber:429,columnNumber:5},this)}function Vc({value:e}){return bt(e,e=>(0,R.jsxDEV)(gc,{value:String(e)},void 0,!1,{fileName:B,lineNumber:438,columnNumber:31},this))}function Hc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:t=>(0,R.jsxDEV)(Vc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:454,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Bc,{name:`field-${e.field.label}`,field:e.field,value:String(t),onChange:n},void 0,!1,{fileName:B,lineNumber:456,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:443,columnNumber:5},this)}function Uc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(pc(String(e??``)))||`—`},void 0,!1,{fileName:B,lineNumber:469,columnNumber:10},this)}I({kinds:[`markdown`],layout:`block`,Page:Hc,Inline:Uc});function Wc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:e=>(0,R.jsxDEV)(`pre`,{className:`min-w-0 min-h-32 text-[13px] leading-normal font-mono border border-transparent rounded-lg p-3 overflow-x-auto whitespace-pre-wrap text-text/90`,children:ut(e)?String(e):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:B,lineNumber:496,columnNumber:38},this)},void 0,!1,{fileName:B,lineNumber:495,columnNumber:9},this),edit:(t,n)=>(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,className:`json-editor-wrap min-w-0`,children:(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border border-border min-w-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:502,columnNumber:33},this),children:(0,R.jsxDEV)(vc,{value:String(t),language:e.field.hints.language??`text`,onChange:e=>n(e.target.value),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:B,lineNumber:503,columnNumber:15},this)},void 0,!1,{fileName:B,lineNumber:502,columnNumber:13},this)},void 0,!1,{fileName:B,lineNumber:501,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:500,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:483,columnNumber:5},this)}function Gc({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(String(e??``))},void 0,!1,{fileName:B,lineNumber:524,columnNumber:10},this)}I({kinds:[`snippet`],layout:`block`,Page:Wc,Inline:Gc});function Kc(e){return typeof e==`string`?e:e==null?``:JSON.stringify(e,null,2)}function qc({value:e,onChange:t}){let n=!0;if(e.trim())try{JSON.parse(e)}catch{n=!1}return(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,className:`json-editor-wrap min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border min-w-0 ${n?`border-border`:`border-danger/60`}`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:562,columnNumber:29},this),children:(0,R.jsxDEV)(vc,{value:e,language:`json`,placeholder:`{ }`,onChange:e=>t(e.target.value),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:B,lineNumber:563,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:562,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:561,columnNumber:7},this),!n&&(0,R.jsxDEV)(`p`,{className:`text-xs text-danger mt-1 flex items-center gap-1`,children:[(0,R.jsxDEV)(je,{name:`lucide:alert-triangle`,size:12,className:`shrink-0`},void 0,!1,{fileName:B,lineNumber:575,columnNumber:11},this),` JSON`]},void 0,!0,{fileName:B,lineNumber:574,columnNumber:9},this)]},void 0,!0,{fileName:B,lineNumber:560,columnNumber:5},this)}function Jc({value:e}){let t;try{t=typeof e==`object`?e:JSON.parse(String(e))}catch{t=void 0}return typeof t!=`object`||!t?(0,R.jsxDEV)(`pre`,{className:`min-w-0 text-xs bg-bg border border-border rounded-lg p-3 overflow-x-auto text-muted`,children:String(e)},void 0,!1,{fileName:B,lineNumber:591,columnNumber:7},this):(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,className:`min-w-0 bg-bg border border-border rounded-lg p-3 overflow-x-auto`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:B,lineNumber:598,columnNumber:27},this),children:(0,R.jsxDEV)(yc,{value:t,style:{...Ms,"--w-rjv-background-color":`transparent`},displayDataTypes:!1,enableClipboard:!0,collapsed:2},void 0,!1,{fileName:B,lineNumber:599,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:598,columnNumber:7},this)},void 0,!1,{fileName:B,lineNumber:597,columnNumber:5},this)}function Yc(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:t=>(0,R.jsxDEV)(Jc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:624,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(qc,{name:`field-${e.field.label}`,field:e.field,value:Kc(t),onChange:n},void 0,!1,{fileName:B,lineNumber:626,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:613,columnNumber:5},this)}I({kinds:[`json`],layout:`block`,Page:Yc});function Xc(e){let t=String(e);return(0,R.jsxDEV)(R.Fragment,{children:[/^#[0-9a-fA-F]{6}$/.test(t)&&(0,R.jsxDEV)(lc,{icon:{kind:`swatch`,value:t},size:`xs`},void 0,!1,{fileName:B,lineNumber:646,columnNumber:17},this),(0,R.jsxDEV)(`span`,{className:`font-mono`,children:t},void 0,!1,{fileName:B,lineNumber:647,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:645,columnNumber:5},this)}function Zc({value:e,onChange:t,field:n}){if(n.hints.multiple===!0)return(0,R.jsxDEV)(xt,{value:e,onChange:t,validate:e=>/^#[0-9a-fA-F]{6}$/.test(e),display:Xc,renderInput:(e,t,n)=>(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(`input`,{type:`color`,value:e||`#000000`,onChange:e=>t(e.target.value),className:`w-10 h-9 rounded cursor-pointer border border-border bg-transparent p-0.5`},void 0,!1,{fileName:B,lineNumber:662,columnNumber:13},this),(0,R.jsxDEV)(E,{value:e,onChange:e=>t(e.target.value),maxLength:7,className:`w-28 font-mono`,placeholder:`#000000`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:B,lineNumber:668,columnNumber:13},this)]},void 0,!0,{fileName:B,lineNumber:661,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:655,columnNumber:7},this);let r=typeof e==`string`&&/^#[0-9a-fA-F]{6}$/.test(e)?e:`#000000`;return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 pl-2 min-h-9`,children:[(0,R.jsxDEV)(_e,{children:[(0,R.jsxDEV)(he,{asChild:!0,children:(0,R.jsxDEV)(`button`,{type:`button`,"aria-label":`pick color`,className:`w-5 h-5 shrink-0 rounded-full border border-border cursor-pointer`,style:{background:r}},void 0,!1,{fileName:B,lineNumber:691,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:690,columnNumber:9},this),(0,R.jsxDEV)(pe,{className:`w-auto p-2`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`w-[200px] h-[200px] text-sm text-muted flex items-center justify-center`,children:`…`},void 0,!1,{fileName:B,lineNumber:699,columnNumber:31},this),children:(0,R.jsxDEV)(bc,{color:r,onChange:t},void 0,!1,{fileName:B,lineNumber:700,columnNumber:13},this)},void 0,!1,{fileName:B,lineNumber:699,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:698,columnNumber:9},this)]},void 0,!0,{fileName:B,lineNumber:689,columnNumber:7},this),(0,R.jsxDEV)(E,{value:e,onChange:e=>t(e.target.value),pattern:`#[0-9a-fA-F]{6}`,maxLength:7,className:`w-28 h-auto border-0 bg-transparent p-0 shadow-none font-mono text-sm focus-visible:ring-0`,placeholder:`#000000`},void 0,!1,{fileName:B,lineNumber:704,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:688,columnNumber:5},this)}function Qc({field:e,value:t}){if(e.hints.multiple===!0)return(0,R.jsxDEV)(ct,{items:kn(t,[]),content:Xc,reserveEditor:!0},void 0,!1,{fileName:B,lineNumber:718,columnNumber:12},this);let n=String(t);return!n||!/^#[0-9a-fA-F]{6}$/.test(n)?(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:B,lineNumber:721,columnNumber:54},this):(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsxDEV)(lc,{icon:{kind:`swatch`,value:n},size:`md`},void 0,!1,{fileName:B,lineNumber:724,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:n},void 0,!1,{fileName:B,lineNumber:725,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:723,columnNumber:5},this)}function $c(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:t=>(0,R.jsxDEV)(Qc,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:743,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Zc,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:B,lineNumber:745,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:732,columnNumber:5},this)}I({kinds:[`color`],Page:$c});function el({value:e,onChange:t,field:n}){let{t:r}=a(),i=n.hints.suggestions,o=L.useId(),s=e=>i&&i.length>0?(0,R.jsxDEV)(`datalist`,{id:o,children:i.filter(t=>!e.includes(t)).map(e=>(0,R.jsxDEV)(`option`,{value:e},e,!1,{fileName:B,lineNumber:770,columnNumber:13},this))},void 0,!1,{fileName:B,lineNumber:766,columnNumber:7},this):null;if(n.hints.multiple===!0){let n=_t(e);return(0,R.jsxDEV)(xt,{value:e,onChange:t,renderInput:(e,t,a)=>(0,R.jsxDEV)(R.Fragment,{children:[s(n),(0,R.jsxDEV)(E,{value:e,list:i?.length?o:void 0,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a())},placeholder:r(`form.addTag`),className:`flex-1`},void 0,!1,{fileName:B,lineNumber:784,columnNumber:13},this)]},void 0,!0,{fileName:B,lineNumber:782,columnNumber:11},this)},void 0,!1,{fileName:B,lineNumber:778,columnNumber:7},this)}let c=typeof e==`string`?e:String(e??``);return(0,R.jsxDEV)(R.Fragment,{children:[s(c?[c]:[]),(0,R.jsxDEV)(E,{value:c,list:i?.length?o:void 0,onChange:e=>t(e.target.value)},void 0,!1,{fileName:B,lineNumber:809,columnNumber:7},this)]},void 0,!0,{fileName:B,lineNumber:807,columnNumber:5},this)}function tl({field:e,value:t}){return(0,R.jsxDEV)(ct,{items:e.hints.multiple===!0?kn(t,[]):t?[String(t)]:[],content:e=>String(e),reserveEditor:e.hints.multiple===!0},void 0,!1,{fileName:B,lineNumber:820,columnNumber:10},this)}function nl(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(tl,{field:e.field,value:t},void 0,!1,{fileName:B,lineNumber:835,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(el,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:B,lineNumber:837,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:825,columnNumber:5},this)}function rl({field:e,value:t}){if(e.hints.multiple===!0){let e=_t(String(t??``));return(0,R.jsxDEV)(`span`,{className:`truncate`,children:e.length?String(e.length):`—`},void 0,!1,{fileName:B,lineNumber:851,columnNumber:12},this)}return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(String(t??``))},void 0,!1,{fileName:B,lineNumber:853,columnNumber:10},this)}I({kinds:[`tag`],Page:nl,Inline:rl});function il(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`title`,bare:e.bare,view:e=>ut(e)?(0,R.jsxDEV)(`span`,{className:`text-[28px] font-bold text-text leading-tight`,children:String(e)},void 0,!1,{fileName:B,lineNumber:877,columnNumber:23},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:B,lineNumber:877,columnNumber:108},this),edit:(t,n)=>(0,R.jsxDEV)(`input`,{id:`field-${e.field.label}`,value:String(t),onChange:e=>n(e.target.value),style:{fontSize:`28px`,padding:`4px 12px`},className:`w-full rounded-lg border border-input bg-background font-bold text-text leading-tight outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring placeholder:text-muted/40`,placeholder:`…`},void 0,!1,{fileName:B,lineNumber:880,columnNumber:9},this)},void 0,!1,{fileName:B,lineNumber:866,columnNumber:5},this)}function al({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:ot(String(e??``))},void 0,!1,{fileName:B,lineNumber:894,columnNumber:10},this)}I({kinds:[`title`],Page:il,Inline:al});var V=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/localpath.tsx`;function ol(e){let t=e.lastIndexOf(`/`);return t<0?{dirPrefix:``,partial:e}:{dirPrefix:e.slice(0,t),partial:e.slice(t+1)}}function sl(e,t){return`${e.replace(/\/+$/,``)}/${t}`}function cl(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n<0?`~`:t.slice(0,n)||`/`}function ll({dirsOnly:e,exts:t,initialDir:n,onPick:r}){let[i,a]=(0,L.useState)(n||`~`),[o,s]=(0,L.useState)([]),[c,l]=(0,L.useState)(!1);(0,L.useEffect)(()=>{let n=!1,r=new URLSearchParams({path:i});return!e&&t?.length&&r.set(`exts`,t.join(`,`)),fetch(`/api/fs/list?${r.toString()}`).then(e=>e.ok?e.json():{entries:[]}).then(e=>{n||s(e.entries??[])}).catch(()=>{}),()=>{n=!0}},[i,e,t]);let u=o.filter(t=>(!e||t.isDir)&&(c||!t.name.startsWith(`.`)));return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex items-center gap-1.5`,children:[(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,onClick:()=>a(cl(i)),"aria-label":`up`,disabled:i===`~`||i===`/`,children:(0,R.jsxDEV)(ys,{size:15},void 0,!1,{fileName:V,lineNumber:78,columnNumber:11},this)},void 0,!1,{fileName:V,lineNumber:77,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate font-mono text-xs text-muted`,title:i,children:i},void 0,!1,{fileName:V,lineNumber:80,columnNumber:9},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,onClick:()=>l(e=>!e),"aria-label":`hidden`,title:c?`Hide dotfiles`:`Show dotfiles`,children:c?(0,R.jsxDEV)(Cs,{size:15},void 0,!1,{fileName:V,lineNumber:84,columnNumber:25},this):(0,R.jsxDEV)(Ss,{size:15},void 0,!1,{fileName:V,lineNumber:84,columnNumber:45},this)},void 0,!1,{fileName:V,lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:V,lineNumber:76,columnNumber:7},this),(0,R.jsxDEV)(Gn,{className:`h-56 -mx-1 px-1`,children:(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[u.length===0&&(0,R.jsxDEV)(`span`,{className:`px-2 py-3 text-xs text-muted`,children:`—`},void 0,!1,{fileName:V,lineNumber:90,columnNumber:36},this),u.map(t=>(0,R.jsxDEV)(`div`,{className:`group flex items-center rounded-md hover:bg-elevated`,children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 text-left text-sm`,onClick:()=>t.isDir?a(sl(i,t.name)):r(sl(i,t.name),!1),children:[t.isDir?(0,R.jsxDEV)(we,{size:15,className:`shrink-0 text-muted`},void 0,!1,{fileName:V,lineNumber:98,columnNumber:28},this):(0,R.jsxDEV)(ws,{size:15,className:`shrink-0 text-muted`},void 0,!1,{fileName:V,lineNumber:98,columnNumber:83},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.name},void 0,!1,{fileName:V,lineNumber:99,columnNumber:17},this),t.isDir&&(0,R.jsxDEV)(_s,{size:14,className:`ml-auto shrink-0 text-muted opacity-0 group-hover:opacity-100`},void 0,!1,{fileName:V,lineNumber:100,columnNumber:29},this)]},void 0,!0,{fileName:V,lineNumber:93,columnNumber:15},this),e&&t.isDir&&(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,className:`mr-1`,onClick:()=>r(sl(i,t.name),!0),"aria-label":`select`,title:`Select folder`,children:(0,R.jsxDEV)(Ze,{size:15},void 0,!1,{fileName:V,lineNumber:105,columnNumber:19},this)},void 0,!1,{fileName:V,lineNumber:104,columnNumber:17},this)]},t.name,!0,{fileName:V,lineNumber:92,columnNumber:13},this))]},void 0,!0,{fileName:V,lineNumber:89,columnNumber:9},this)},void 0,!1,{fileName:V,lineNumber:88,columnNumber:7},this),e&&(0,R.jsxDEV)(F,{variant:`outline`,size:`sm`,onClick:()=>r(i,!0),children:[(0,R.jsxDEV)(Ze,{size:14},void 0,!1,{fileName:V,lineNumber:116,columnNumber:11},this),` Вибрати цю теку`]},void 0,!0,{fileName:V,lineNumber:115,columnNumber:9},this)]},void 0,!0,{fileName:V,lineNumber:74,columnNumber:5},this)}function ul({name:e,field:t,value:n,onChange:r}){let i=t.kind===`localDir`,a=t.hints.exts,[o,s]=(0,L.useState)(!1);return(0,R.jsxDEV)(`div`,{className:`flex items-stretch gap-1.5`,children:[(0,R.jsxDEV)(E,{id:e,value:n,onChange:e=>r(e.target.value),placeholder:`~/…`,spellCheck:!1,autoComplete:`off`},void 0,!1,{fileName:V,lineNumber:140,columnNumber:7},this),(0,R.jsxDEV)(_e,{open:o,onOpenChange:s,children:[(0,R.jsxDEV)(he,{asChild:!0,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`icon`,"aria-label":`browse`,children:(0,R.jsxDEV)(we,{size:16},void 0,!1,{fileName:V,lineNumber:151,columnNumber:13},this)},void 0,!1,{fileName:V,lineNumber:150,columnNumber:11},this)},void 0,!1,{fileName:V,lineNumber:149,columnNumber:9},this),(0,R.jsxDEV)(pe,{align:`end`,className:`w-80 p-3`,children:o&&(0,R.jsxDEV)(ll,{dirsOnly:i,exts:a,initialDir:ol(n).dirPrefix||`~`,onPick:(e,t)=>{r(t?`${e.replace(/\/+$/,``)}/`:e),t||s(!1)}},void 0,!1,{fileName:V,lineNumber:156,columnNumber:13},this)},void 0,!1,{fileName:V,lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:V,lineNumber:148,columnNumber:7},this)]},void 0,!0,{fileName:V,lineNumber:139,columnNumber:5},this)}function dl(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:e=>ut(e)?(0,R.jsxDEV)(`span`,{className:`font-mono text-sm break-all`,children:String(e)},void 0,!1,{fileName:V,lineNumber:184,columnNumber:35},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:V,lineNumber:184,columnNumber:102},this),edit:(t,n)=>(0,R.jsxDEV)(ul,{name:`field-${e.field.label}`,field:e.field,value:String(t),onChange:n},void 0,!1,{fileName:V,lineNumber:186,columnNumber:9},this)},void 0,!1,{fileName:V,lineNumber:174,columnNumber:5},this)}function fl({value:e}){return(0,R.jsxDEV)(`span`,{className:`font-mono truncate`,children:ot(String(e??``))},void 0,!1,{fileName:V,lineNumber:198,columnNumber:10},this)}I({kinds:[`localDir`,`localFile`],Page:dl,Inline:fl});function pl(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}var ml;(function(e){e.event=`event`,e.props=`prop`})(ml||={});function hl(){}function gl(e){var t,n=void 0;return function(){for(var r=[],i=arguments.length;i--;)r[i]=arguments[i];return t&&r.length===t.length&&r.every(function(e,n){return e===t[n]})?n:(t=r,n=e.apply(void 0,r),n)}}function _l(e){return!!(e||``).match(/\d/)}function vl(e){return e==null}function yl(e){return typeof e==`number`&&isNaN(e)}function bl(e){return vl(e)||yl(e)||typeof e==`number`&&!isFinite(e)}function xl(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,`\\$&`)}function Sl(e){switch(e){case`lakh`:return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case`wan`:return/(\d)(?=(\d{4})+(?!\d))/g;default:return/(\d)(?=(\d{3})+(?!\d))/g}}function Cl(e,t,n){var r=Sl(n),i=e.search(/[1-9]/);return i=i===-1?e.length:i,e.substring(0,i)+e.substring(i,e.length).replace(r,`$1`+t)}function wl(e){var t=(0,L.useRef)(e);return t.current=e,(0,L.useRef)(function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];return t.current.apply(t,e)}).current}function Tl(e,t){t===void 0&&(t=!0);var n=e[0]===`-`,r=n&&t;e=e.replace(`-`,``);var i=e.split(`.`);return{beforeDecimal:i[0],afterDecimal:i[1]||``,hasNegation:n,addNegation:r}}function El(e){if(!e)return e;var t=e[0]===`-`;t&&(e=e.substring(1,e.length));var n=e.split(`.`),r=n[0].replace(/^0+/,``)||`0`,i=n[1]||``;return(t?`-`:``)+r+(i?`.`+i:``)}function Dl(e,t,n){for(var r=``,i=n?`0`:``,a=0;a<=t-1;a++)r+=e[a]||i;return r}function Ol(e,t){return Array(t+1).join(e)}function kl(e){var t=e+``,n=t[0]===`-`?`-`:``;n&&(t=t.substring(1));var r=t.split(/[eE]/g),i=r[0],a=r[1];if(a=Number(a),!a)return n+i;i=i.replace(`.`,``);var o=1+a,s=i.length;return o<0?i=`0.`+Ol(`0`,Math.abs(o))+i:o>=s?i+=Ol(`0`,o-s):i=(i.substring(0,o)||`0`)+`.`+i.substring(o),n+i}function Al(e,t,n){if([``,`-`].indexOf(e)!==-1)return e;var r=(e.indexOf(`.`)!==-1||n)&&t,i=Tl(e),a=i.beforeDecimal,o=i.afterDecimal,s=i.hasNegation,c=parseFloat(`0.`+(o||`0`)),l=(o.length<=t?`0.`+o:c.toFixed(t)).split(`.`),u=a;a&&Number(l[0])&&(u=a.split(``).reverse().reduce(function(e,t,n){return e.length>n?(Number(e[0])+Number(t)).toString()+e.substring(1,e.length):t+e},l[0]));var d=Dl(l[1]||``,t,n),f=s?`-`:``,p=r?`.`:``;return``+f+u+p+d}function jl(e,t){if(e.value=e.value,e!==null){if(e.createTextRange){var n=e.createTextRange();return n.move(`character`,t),n.select(),!0}return e.selectionStart||e.selectionStart===0?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}var Ml=gl(function(e,t){for(var n=0,r=0,i=e.length,a=t.length;e[n]===t[n]&&n<i;)n++;for(;e[i-1-r]===t[a-1-r]&&a-r>n&&i-r>n;)r++;return{from:{start:n,end:i-r},to:{start:n,end:a-r}}}),Nl=function(e,t){var n=Math.min(e.selectionStart,t);return{from:{start:n,end:e.selectionEnd},to:{start:n,end:t}}};function Pl(e,t,n){return Math.min(Math.max(e,t),n)}function Fl(e){return Math.max(e.selectionStart,e.selectionEnd)}function Il(){return typeof navigator<`u`&&!(navigator.platform&&/iPhone|iPod/.test(navigator.platform))}function Ll(e){return{from:{start:0,end:0},to:{start:0,end:e.length},lastValue:``}}function Rl(e){var t=e.currentValue,n=e.formattedValue,r=e.currentValueIndex,i=e.formattedValueIndex;return t[r]===n[i]}function zl(e,t,n,r,i,a,o){o===void 0&&(o=Rl);var s=i.findIndex(function(e){return e}),c=e.slice(0,s);!t&&!n.startsWith(c)&&(t=c,n=c+n,r+=c.length);for(var l=n.length,u=e.length,d={},f=Array(l),p=0;p<l;p++){f[p]=-1;for(var m=0,h=u;m<h;m++)if(o({currentValue:n,lastValue:t,formattedValue:e,currentValueIndex:p,formattedValueIndex:m})&&d[m]!==!0){f[p]=m,d[m]=!0;break}}for(var g=r;g<l&&(f[g]===-1||!a(n[g]));)g++;var _=g===l||f[g]===-1?u:f[g];for(g=r-1;g>0&&f[g]===-1;)g--;var v=g===-1||f[g]===-1?0:f[g]+1;return v>_?_:r-v<_-r?v:_}function Bl(e,t,n,r){var i=e.length;if(t=Pl(t,0,i),r===`left`){for(;t>=0&&!n[t];)t--;t===-1&&(t=n.indexOf(!0))}else{for(;t<=i&&!n[t];)t++;t>i&&(t=n.lastIndexOf(!0))}return t===-1&&(t=i),t}function Vl(e){for(var t=Array.from({length:e.length+1}).map(function(){return!0}),n=0,r=t.length;n<r;n++)t[n]=!!(_l(e[n])||_l(e[n-1]));return t}function Hl(e,t,n,r,i,a){a===void 0&&(a=hl);var o=wl(function(e,t){var n,a;return bl(e)?(a=``,n=``):typeof e==`number`||t?(a=typeof e==`number`?kl(e):e,n=r(a)):(a=i(e,void 0),n=r(a)),{formattedValue:n,numAsString:a}}),s=(0,L.useState)(function(){return o(vl(e)?t:e,n)}),c=s[0],l=s[1],u=wl(function(e,t){e.formattedValue!==c.formattedValue&&l({formattedValue:e.formattedValue,numAsString:e.value}),a(e,t)}),d=e,f=n;vl(e)&&(d=c.numAsString,f=!0);var p=o(d,f);return(0,L.useMemo)(function(){l(p)},[p.formattedValue]),(0,L.useEffect)(function(){if(!vl(t)&&vl(e)&&c.formattedValue!==``){var n=parseFloat(c.numAsString);u({formattedValue:c.formattedValue,value:c.numAsString,floatValue:isNaN(n)?void 0:n},{event:void 0,source:ml.props})}},[]),[c,u]}function Ul(e){return e.replace(/[^0-9]/g,``)}function Wl(e){return e}function Gl(e){var t=e.type;t===void 0&&(t=`text`);var n=e.displayType;n===void 0&&(n=`input`);var r=e.customInput,i=e.renderText,a=e.getInputRef,o=e.format;o===void 0&&(o=Wl);var s=e.removeFormatting;s===void 0&&(s=Ul);var c=e.defaultValue,l=e.valueIsNumericString,u=e.onValueChange,d=e.isAllowed,f=e.onChange;f===void 0&&(f=hl);var p=e.onKeyDown;p===void 0&&(p=hl);var m=e.onMouseUp;m===void 0&&(m=hl);var h=e.onFocus;h===void 0&&(h=hl);var g=e.onBlur;g===void 0&&(g=hl);var _=e.value,v=e.getCaretBoundary;v===void 0&&(v=Vl);var y=e.isValidInputCharacter;y===void 0&&(y=_l);var b=e.isCharacterSame,x=pl(e,[`type`,`displayType`,`customInput`,`renderText`,`getInputRef`,`format`,`removeFormatting`,`defaultValue`,`valueIsNumericString`,`onValueChange`,`isAllowed`,`onChange`,`onKeyDown`,`onMouseUp`,`onFocus`,`onBlur`,`value`,`getCaretBoundary`,`isValidInputCharacter`,`isCharacterSame`]),S=Hl(_,c,!!l,o,s,u),C=S[0],w=C.formattedValue,T=C.numAsString,E=S[1],D=(0,L.useRef)(),O=(0,L.useRef)({formattedValue:w,numAsString:T}),k=function(e,t){O.current={formattedValue:e.formattedValue,numAsString:e.value},E(e,t)},A=(0,L.useState)(!1),ee=A[0],te=A[1],ne=(0,L.useRef)(null),j=(0,L.useRef)({setCaretTimeout:null,focusTimeout:null});(0,L.useEffect)(function(){return te(!0),function(){clearTimeout(j.current.setCaretTimeout),clearTimeout(j.current.focusTimeout)}},[]);var M=o,re=function(e,t){var n=parseFloat(t);return{formattedValue:e,value:t,floatValue:isNaN(n)?void 0:n}},N=function(e,t,n){e.selectionStart===0&&e.selectionEnd===e.value.length||(jl(e,t),j.current.setCaretTimeout=setTimeout(function(){e.value===n&&e.selectionStart!==t&&jl(e,t)},0))},ie=function(e,t,n){return Bl(e,t,v(e),n)},ae=function(e,t,n){var r=v(t),i=zl(t,w,e,n,r,y,b);return i=Bl(t,i,r),i},oe=function(e){var t=e.formattedValue;t===void 0&&(t=``);var n=e.input,r=e.source,i=e.event,a=e.numAsString,o;if(n){var s=e.inputValue||n.value,c=Fl(n);n.value=t,o=ae(s,t,c),o!==void 0&&N(n,o,t)}t!==w&&k(re(t,a),{event:i,source:r})};(0,L.useEffect)(function(){var e=O.current,t=e.formattedValue,n=e.numAsString;(w!==t||T!==n)&&k(re(w,T),{event:void 0,source:ml.props})},[w,T]);var se=ne.current?Fl(ne.current):void 0;(typeof window<`u`?L.useLayoutEffect:L.useEffect)(function(){var e=ne.current;if(w!==O.current.formattedValue&&e){var t=ae(O.current.formattedValue,w,se);e.value=w,N(e,t,w)}},[w]);var ce=function(e,t,n){var r=t.target,i=D.current?Nl(D.current,r.selectionEnd):Ml(w,e),a=Object.assign(Object.assign({},i),{lastValue:w}),o=s(e,a),c=M(o);if(o=s(c,void 0),d&&!d(re(c,o))){var l=t.target,u=ae(e,w,Fl(l));return l.value=w,N(l,u,w),!1}return oe({formattedValue:c,numAsString:o,inputValue:e,event:t,source:n,input:t.target}),!0},le=function(e,t){t===void 0&&(t=0),D.current={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd+t}},P=function(e){var t=e.target.value;ce(t,e,ml.event)&&f(e),D.current=void 0},ue=function(e){var t=e.target,n=e.key,r=t.selectionStart,i=t.selectionEnd,a=t.value;a===void 0&&(a=``);var o;n===`ArrowLeft`||n===`Backspace`?o=Math.max(r-1,0):n===`ArrowRight`?o=Math.min(r+1,a.length):n===`Delete`&&(o=r);var s=0;n===`Delete`&&r===i&&(s=1);var c=n===`ArrowLeft`||n===`ArrowRight`;if(o===void 0||r!==i&&!c){p(e),le(t,s);return}var l=o;c?(l=ie(a,o,n===`ArrowLeft`?`left`:`right`),l!==o&&e.preventDefault()):n===`Delete`&&!y(a[o])?l=ie(a,o,`right`):n===`Backspace`&&!y(a[o])&&(l=ie(a,o,`left`)),l!==o&&N(t,l,a),p(e),le(t,s)},de=function(e){var t=e.target,n=function(){var e=t.selectionStart,n=t.selectionEnd,r=t.value;if(r===void 0&&(r=``),e===n){var i=ie(r,e);i!==e&&N(t,i,r)}};n(),requestAnimationFrame(function(){n()}),m(e),le(t)},fe=function(e){e.persist&&e.persist();var t=e.target,n=e.currentTarget;ne.current=t,j.current.focusTimeout=setTimeout(function(){var r=t.selectionStart,i=t.selectionEnd,a=t.value;a===void 0&&(a=``);var o=ie(a,r);o!==r&&!(r===0&&i===a.length)&&N(t,o,a),h(Object.assign(Object.assign({},e),{currentTarget:n}))},0)},pe=function(e){ne.current=null,clearTimeout(j.current.focusTimeout),clearTimeout(j.current.setCaretTimeout),g(e)},me=ee&&Il()?`numeric`:void 0,he=Object.assign({inputMode:me},x,{type:t,value:w,onChange:P,onKeyDown:ue,onMouseUp:de,onFocus:fe,onBlur:pe});if(n===`text`)return i?L.createElement(L.Fragment,null,i(w,x)||null):L.createElement(`span`,Object.assign({},x,{ref:a}),w);if(r){var ge=r;return L.createElement(ge,Object.assign({},he,{ref:a}))}return L.createElement(`input`,Object.assign({},he,{ref:a}))}function Kl(e,t){var n=t.decimalScale,r=t.fixedDecimalScale,i=t.prefix;i===void 0&&(i=``);var a=t.suffix;a===void 0&&(a=``);var o=t.allowNegative,s=t.thousandsGroupStyle;if(s===void 0&&(s=`thousand`),e===``||e===`-`)return e;var c=ql(t),l=c.thousandSeparator,u=c.decimalSeparator,d=n!==0&&e.indexOf(`.`)!==-1||n&&r,f=Tl(e,o),p=f.beforeDecimal,m=f.afterDecimal,h=f.addNegation;return n!==void 0&&(m=Dl(m,n,!!r)),l&&(p=Cl(p,l,s)),i&&(p=i+p),a&&(m+=a),h&&(p=`-`+p),e=p+(d&&u||``)+m,e}function ql(e){var t=e.decimalSeparator;t===void 0&&(t=`.`);var n=e.thousandSeparator,r=e.allowedDecimalSeparators;return n===!0&&(n=`,`),r||=[t,`.`],{decimalSeparator:t,thousandSeparator:n,allowedDecimalSeparators:r}}function Jl(e,t){e===void 0&&(e=``);var n=RegExp(`(-)`),r=RegExp(`(-)(.)*(-)`),i=n.test(e),a=r.test(e);return e=e.replace(/-/g,``),i&&!a&&t&&(e=`-`+e),e}function Yl(e,t){return RegExp(`(^-)|[0-9]|`+xl(e),t?`g`:void 0)}function Xl(e,t,n){return e===``||!t?.match(/\d/)&&!n?.match(/\d/)&&typeof e==`string`&&!isNaN(Number(e))}function Zl(e,t,n){var r;t===void 0&&(t=Ll(e));var i=n.allowNegative,a=n.prefix;a===void 0&&(a=``);var o=n.suffix;o===void 0&&(o=``);var s=n.decimalScale,c=t.from,l=t.to,u=l.start,d=l.end,f=ql(n),p=f.allowedDecimalSeparators,m=f.decimalSeparator,h=e[d]===m;if(_l(e)&&(e===a||e===o)&&t.lastValue===``)return e;if(d-u===1&&p.indexOf(e[u])!==-1){var g=s===0?``:m;e=e.substring(0,u)+g+e.substring(u+1,e.length)}var _=function(e,t,n){var r=!1,i=!1;a.startsWith(`-`)?r=!1:e.startsWith(`--`)?(r=!1,i=!0):o.startsWith(`-`)&&e.length===o.length?r=!1:e[0]===`-`&&(r=!0);var s=+!!r;return i&&(s=2),s&&(e=e.substring(s),t-=s,n-=s),{value:e,start:t,end:n,hasNegation:r}},v=_(e,u,d),y=v.hasNegation;r=v,e=r.value,u=r.start,d=r.end;var b=_(t.lastValue,c.start,c.end),x=b.start,S=b.end,C=b.value,w=e.substring(u,d);e.length&&C.length&&(x>C.length-o.length||S<a.length)&&!(w&&o.startsWith(w))&&(e=C);var T=0;e.startsWith(a)?T+=a.length:u<a.length&&(T=u),e=e.substring(T),d-=T;var E=e.length,D=e.length-o.length;e.endsWith(o)?E=D:(d>D||d>e.length-o.length)&&(E=d),e=e.substring(0,E),e=Jl(y?`-`+e:e,i),e=(e.match(Yl(m,!0))||[]).join(``);var O=e.indexOf(m);e=e.replace(new RegExp(xl(m),`g`),function(e,t){return t===O?`.`:``});var k=Tl(e,i),A=k.beforeDecimal,ee=k.afterDecimal,te=k.addNegation;return l.end-l.start<c.end-c.start&&A===``&&h&&!parseFloat(ee)&&(e=te?`-`:``),e}function Ql(e,t){var n=t.prefix;n===void 0&&(n=``);var r=t.suffix;r===void 0&&(r=``);var i=Array.from({length:e.length+1}).map(function(){return!0}),a=e[0]===`-`;i.fill(!1,0,Math.min(n.length+ +!!a,e.length));var o=e.length;return i.fill(!1,o-r.length+1,o+1),i}function $l(e){var t=ql(e),n=t.thousandSeparator,r=t.decimalSeparator,i=e.prefix;i===void 0&&(i=``);var a=e.allowNegative;if(a===void 0&&(a=!0),n===r)throw Error(`
50
50
  Decimal separator can't be same as thousand separator.
51
51
  thousandSeparator: `+n+` (thousandSeparator = {true} is same as thousandSeparator = ",")
52
52
  decimalSeparator: `+r+` (default value for decimalSeparator is .)
@@ -54,6 +54,6 @@ Buttons below trigger registered actions. The first succeeds after a short delay
54
54
  Prefix can't start with '-' when allowNegative is true.
55
55
  prefix: `+i+`
56
56
  allowNegative: `+a+`
57
- `),a=!1),Object.assign(Object.assign({},e),{allowNegative:a})}function eu(e){e=$l(e),e.decimalSeparator,e.allowedDecimalSeparators,e.thousandsGroupStyle;var t=e.suffix,n=e.allowNegative,r=e.allowLeadingZeros,i=e.onKeyDown;i===void 0&&(i=hl);var a=e.onBlur;a===void 0&&(a=hl);var o=e.thousandSeparator,s=e.decimalScale,c=e.fixedDecimalScale,l=e.prefix;l===void 0&&(l=``);var u=e.defaultValue,d=e.value,f=e.valueIsNumericString,p=e.onValueChange,m=pl(e,[`decimalSeparator`,`allowedDecimalSeparators`,`thousandsGroupStyle`,`suffix`,`allowNegative`,`allowLeadingZeros`,`onKeyDown`,`onBlur`,`thousandSeparator`,`decimalScale`,`fixedDecimalScale`,`prefix`,`defaultValue`,`value`,`valueIsNumericString`,`onValueChange`]),h=ql(e),g=h.decimalSeparator,_=h.allowedDecimalSeparators,v=function(t){return Kl(t,e)},y=function(t,n){return Zl(t,n,e)},b=vl(d)?u:d,x=f??Xl(b,l,t);vl(d)?vl(u)||(x||=typeof u==`number`):x||=typeof d==`number`;var S=function(e){return bl(e)?e:(typeof e==`number`&&(e=kl(e)),x&&typeof s==`number`?Al(e,s,!!c):e)},C=Hl(S(d),S(u),!!x,v,y,p),w=C[0],T=w.numAsString,E=w.formattedValue,D=C[1];return Object.assign(Object.assign({},m),{value:E,valueIsNumericString:!1,isValidInputCharacter:function(e){return e===g||_l(e)},isCharacterSame:function(e){var t=e.currentValue,n=e.lastValue,r=e.formattedValue,i=e.currentValueIndex,a=e.formattedValueIndex,o=t[i],u=r[a],f=Ml(n,t).to,p=function(e){return y(e).indexOf(`.`)+l.length};return d===0&&c&&s&&t[f.start]===g&&p(t)<i&&p(r)>a?!1:i>=f.start&&i<f.end&&_&&_.includes(o)&&u===g?!0:o===u},onValueChange:D,format:v,removeFormatting:y,getCaretBoundary:function(t){return Ql(t,e)},onKeyDown:function(e){var t=e.target,r=e.key,a=t.selectionStart,u=t.selectionEnd,d=t.value;if(d===void 0&&(d=``),(r===`Backspace`||r===`Delete`)&&u<l.length&&d!==`-`){e.preventDefault();return}if(a!==u){i(e);return}r===`Backspace`&&d[0]===`-`&&a===l.length+1&&n&&jl(t,1),s&&c&&(r===`Backspace`&&d[a-1]===g?(jl(t,a-1),e.preventDefault()):r===`Delete`&&d[a]===g&&e.preventDefault()),_?.includes(r)&&d[a]===g&&jl(t,a+1);var f=o===!0?`,`:o;r===`Backspace`&&d[a-1]===f&&jl(t,a-1),r===`Delete`&&d[a]===f&&jl(t,a+1),i(e)},onBlur:function(t){var n=T;n.match(/\d/g)||(n=``),r||(n=El(n)),c&&s&&(n=Al(n,s,c)),n!==T&&D({formattedValue:Kl(n,e),value:n,floatValue:parseFloat(n)},{event:t,source:ml.event}),a(t)}})}function tu(e){var t=eu(e);return L.createElement(Gl,Object.assign({},t))}var nu=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/visually-hidden-input.tsx`;function ru(e){let{control:t,value:n,checked:r,bubbles:i=!0,type:a=`hidden`,style:o,...s}=e,c=L.useMemo(()=>a===`checkbox`||a===`radio`||a===`switch`,[a]),l=L.useRef(null),u=L.useRef({value:c?r:n,previous:c?r:n}),d=L.useMemo(()=>{let e=c?r:n;return u.current.value!==e&&(u.current.previous=u.current.value,u.current.value=e),u.current.previous},[c,n,r]),[f,p]=L.useState({});L.useLayoutEffect(()=>{if(!t){p({});return}if(p({width:t.offsetWidth,height:t.offsetHeight}),typeof window>`u`)return;let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let n=e[0];if(!n)return;let r,i;if(`borderBoxSize`in n){let e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,i=t.blockSize}else r=t.offsetWidth,i=t.offsetHeight;p({width:r,height:i})});return e.observe(t,{box:`border-box`}),()=>{e.disconnect()}},[t]),L.useEffect(()=>{let e=l.current;if(!e)return;let t=window.HTMLInputElement.prototype,a=c?`checked`:`value`,o=c?`click`:`input`,s=c?r:n,u=c?r:typeof n==`object`&&n?JSON.stringify(n):n,f=Object.getOwnPropertyDescriptor(t,a)?.set;if(d!==s&&f){let t=new Event(o,{bubbles:i});f.call(e,u),e.dispatchEvent(t)}},[d,n,r,i,c]);let m=L.useMemo(()=>({...o,...f.width!==void 0&&f.height!==void 0?f:{},border:0,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),[o,f]);return(0,R.jsxDEV)(`input`,{type:a,...s,ref:l,"aria-hidden":c,tabIndex:-1,defaultChecked:c?r:void 0,style:m},void 0,!1,{fileName:nu,lineNumber:148,columnNumber:5},this)}var iu=typeof window<`u`?L.useLayoutEffect:L.useEffect;function au(e){let t=L.useRef(e);return iu(()=>{t.current=e}),t}function ou(e){let t=L.useRef(null);return t.current===null&&(t.current=e()),t}var su=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/rating.tsx`,cu=`Rating`,lu=`RatingItem`,uu=`ratingFocusGroup.onEntryFocus`,du={bubbles:!1,cancelable:!0};function fu(e,t){return`${e}-item-${t}`}function pu(e,t){return`partial-fill-gradient-${e}-${t}`}var mu={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,Home:`first`,End:`last`};function hu(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function gu(e,t,n){let r=hu(e.key,t);if(!(n===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r))&&!(n===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r)))return mu[r]}function _u(e,t=!1){let n=document.activeElement;for(let r of e){let e=r.current;if(e&&(e===n||(e.focus({preventScroll:t}),document.activeElement!==n)))return}}var vu=L.createContext(null);function yu(e){let t=L.useContext(vu);if(!t)throw Error(`\`${e}\` must be used within \`${cu}\``);return t}function bu(e,t){let n=L.useContext(vu),r=t??n;if(!r)throw Error(`\`useStore\` must be used within \`${cu}\``);let i=L.useCallback(()=>e(r.getState()),[r,e]);return L.useSyncExternalStore(r.subscribe,i,i)}var xu=L.createContext(null);function Su(e){let t=L.useContext(xu);if(!t)throw Error(`\`${e}\` must be used within \`${cu}\``);return t}var Cu=L.createContext(null);function wu(e){let t=L.useContext(Cu);if(!t)throw Error(`\`${e}\` must be used within \`FocusProvider\``);return t}function Tu(e){let{value:t,defaultValue:n=0,onValueChange:r,onHover:i,onFocus:a,onMouseDown:o,dir:s,orientation:c=`horizontal`,activationMode:l=`automatic`,size:u=`default`,max:d=5,step:f=1,clearable:p=!1,asChild:m,disabled:h=!1,readOnly:g=!1,required:_=!1,className:v,id:y,name:b,ref:x,...S}=e,w=de(s),T=L.useId(),E=y??T,D=ou(()=>new Set),O=ou(()=>({value:t??n,hoveredValue:null})),k=au({onValueChange:r,onHover:i,onFocus:a,onMouseDown:o,step:f}),A=L.useMemo(()=>({subscribe:e=>(D.current.add(e),()=>D.current.delete(e)),getState:()=>O.current,setState:(e,t)=>{Object.is(O.current[e],t)||(e===`value`&&typeof t==`number`?(O.current.value=t,k.current.onValueChange?.(t)):e===`hoveredValue`?(O.current.hoveredValue=t,k.current.onHover?.(t)):O.current[e]=t,A.notify())},notify:()=>{for(let e of D.current)e()}}),[D,O,k]);iu(()=>{t!==void 0&&A.setState(`value`,t)},[t]);let ee=bu(e=>e.value,A),[te,ne]=L.useState(null),j=Fs(x,e=>ne(e)),M=!te||!!te.closest(`form`),[re,N]=L.useState(null),[ie,oe]=L.useState(!1),[se,ce]=L.useState(0),le=L.useRef(!1),P=L.useRef(new Map),ue=L.useRef(new Map),fe=L.useRef(0),pe=L.useCallback(e=>{let t=ue.current.get(e);if(t!==void 0)return t;let n=fe.current++;return ue.current.set(e,n),n},[]),me=L.useCallback(e=>{N(e)},[]),he=L.useCallback(()=>{oe(!0)},[]),ge=L.useCallback(()=>{ce(e=>e+1)},[]),_e=L.useCallback(()=>{ce(e=>e-1)},[]),ve=L.useCallback(e=>{P.current.set(e.id,e)},[]),ye=L.useCallback(e=>{P.current.delete(e)},[]),be=L.useCallback(()=>Array.from(P.current.values()).filter(e=>e.ref.current).sort((e,t)=>{let n=e.ref.current,r=t.ref.current;if(!n||!r)return 0;let i=n.compareDocumentPosition(r);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}),[]),xe=L.useCallback(e=>{S.onBlur?.(e),!e.defaultPrevented&&oe(!1)},[S.onBlur]),Se=L.useCallback(e=>{if(k.current.onFocus?.(e),e.defaultPrevented)return;let t=!le.current;if(e.target===e.currentTarget&&t&&!ie){let t=new CustomEvent(uu,du);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=Array.from(P.current.values()).filter(e=>!e.disabled);_u([k.current.step<1?e.find(e=>e.value===Math.ceil(ee)):e.find(e=>e.value===ee),e.find(e=>e.id===re),...e].filter(Boolean).map(e=>e.ref),!1)}}le.current=!1},[k,ie,ee,re]),Ce=L.useCallback(e=>{k.current.onMouseDown?.(e),!e.defaultPrevented&&(le.current=!0)},[k]),we=L.useMemo(()=>({rootId:E,dir:w,orientation:c,activationMode:l,disabled:h,readOnly:g,size:u,max:d,step:f,clearable:p,getAutoIndex:pe}),[E,w,c,l,h,g,u,d,f,p,pe]),Te=L.useMemo(()=>({tabStopId:re,onItemFocus:me,onItemShiftTab:he,onFocusableItemAdd:ge,onFocusableItemRemove:_e,onItemRegister:ve,onItemUnregister:ye,getItems:be}),[re,me,he,ge,_e,ve,ye,be]),Ee=m?ae:`div`;return(0,R.jsxDEV)(vu.Provider,{value:A,children:(0,R.jsxDEV)(xu.Provider,{value:we,children:(0,R.jsxDEV)(Cu.Provider,{value:Te,children:[(0,R.jsxDEV)(Ee,{id:E,role:`radiogroup`,"aria-orientation":c,"data-disabled":h?``:void 0,"data-readonly":g?``:void 0,"data-orientation":c,"data-slot":`rating`,dir:w,tabIndex:ie||se===0?-1:0,...S,ref:j,className:C(`flex gap-1 text-primary outline-none`,c===`horizontal`?`flex-row items-center`:`flex-col items-start`,v),onBlur:xe,onFocus:Se,onMouseDown:Ce},void 0,!1,{fileName:su,lineNumber:466,columnNumber:11},this),(0,R.jsxDEV)(`svg`,{width:`0`,height:`0`,style:{position:`absolute`},children:(0,R.jsxDEV)(`defs`,{children:(0,R.jsxDEV)(`linearGradient`,{id:pu(E,f),children:w===`rtl`?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`transparent`},void 0,!1,{fileName:su,lineNumber:494,columnNumber:21},this),(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`currentColor`},void 0,!1,{fileName:su,lineNumber:495,columnNumber:21},this)]},void 0,!0,{fileName:su,lineNumber:493,columnNumber:19},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`currentColor`},void 0,!1,{fileName:su,lineNumber:499,columnNumber:21},this),(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`transparent`},void 0,!1,{fileName:su,lineNumber:500,columnNumber:21},this)]},void 0,!0,{fileName:su,lineNumber:498,columnNumber:19},this)},void 0,!1,{fileName:su,lineNumber:491,columnNumber:15},this)},void 0,!1,{fileName:su,lineNumber:490,columnNumber:13},this)},void 0,!1,{fileName:su,lineNumber:489,columnNumber:11},this),M&&(0,R.jsxDEV)(ru,{type:`hidden`,control:te,name:b,value:ee,disabled:h,readOnly:g,required:_},void 0,!1,{fileName:su,lineNumber:507,columnNumber:13},this)]},void 0,!0,{fileName:su,lineNumber:465,columnNumber:9},this)},void 0,!1,{fileName:su,lineNumber:464,columnNumber:7},this)},void 0,!1,{fileName:su,lineNumber:463,columnNumber:5},this)}function Eu(e){let{index:t,asChild:n,onClick:r,onFocus:i,onKeyDown:a,onMouseDown:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,disabled:u,className:d,children:f,ref:p,...m}=e,h=L.useRef(null),g=Fs(p,h),_=Su(lu),v=L.useId(),y=L.useMemo(()=>t===void 0?_.getAutoIndex(v):t,[t,_,v])+1,b=yu(lu),x=wu(lu),S=bu(e=>e.value),w=bu(e=>e.hoveredValue),T=_.clearable,E=_.step,D=_.activationMode,O=fu(_.rootId,y),k=_.disabled||u,A=_.readOnly,ee=x.tabStopId===O,te=w??S,ne=te>=y,j=E<1&&te>=y-E&&te<y,M=w!==null&&w<y,re=L.useRef(!1),N=au({onClick:r,onFocus:i,onKeyDown:a,onMouseDown:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l});iu(()=>(x.onItemRegister({id:O,ref:h,value:y,disabled:!!k}),k||x.onFocusableItemAdd(),()=>{x.onItemUnregister(O),k||x.onFocusableItemRemove()}),[x,O,y,k]);let ie=L.useCallback(e=>{if(N.current.onClick?.(e),!e.defaultPrevented&&!k&&!A){let t=y;if(E<1){let n=e.currentTarget.getBoundingClientRect(),r=e.clientX-n.left<n.width/2;_.dir===`rtl`?r||(t=y-E):r&&(t=y-E)}T&&S===t&&(t=0),b.setState(`value`,t)}},[k,A,T,E,S,y,b,_.dir,N]),oe=L.useCallback(e=>{if(N.current.onFocus?.(e),e.defaultPrevented)return;x.onItemFocus(O);let t=!re.current;if(!k&&!A&&D!==`manual`&&t&&!(E<1&&S===y-E)){let e=T&&S===y?0:y;b.setState(`value`,e)}re.current=!1},[x,O,D,k,A,T,S,y,E,b,N]),se=L.useCallback(e=>{if(N.current.onKeyDown?.(e),e.defaultPrevented)return;if((e.key===`Enter`||e.key===` `)&&D===`manual`){e.preventDefault(),!k&&!A&&h.current&&h.current.click();return}if(e.key===`Tab`&&e.shiftKey){x.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=gu(e,_.dir,_.orientation);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;if(e.preventDefault(),E<1&&(t===`prev`||t===`next`)){if(!k&&!A){let e=S;e=t===`next`?Math.min(S+E,_.max):Math.max(S-E,0),b.setState(`value`,e);let n=x.getItems().filter(e=>!e.disabled).find(t=>t.value===Math.ceil(e));n?.ref.current&&queueMicrotask(()=>n.ref.current?.focus())}return}let n=x.getItems().filter(e=>!e.disabled).map(e=>e.ref);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.findIndex(t=>t.current===e.currentTarget);n=n.slice(r+1)}queueMicrotask(()=>_u(n))}},[x,_.dir,_.orientation,D,k,A,E,S,_.max,b,N]),ce=L.useCallback(e=>{N.current.onMouseDown?.(e),!e.defaultPrevented&&(re.current=!0,k?e.preventDefault():x.onItemFocus(O))},[x,O,k,N]),le=L.useCallback(e=>{if(N.current.onMouseEnter?.(e),!e.defaultPrevented&&!k&&!A){let t=y;if(E<1){let n=e.currentTarget.getBoundingClientRect(),r=e.clientX-n.left<n.width/2;_.dir===`rtl`?r||(t=y-E):r&&(t=y-E)}b.setState(`hoveredValue`,t)}},[k,A,E,y,b,_.dir,N]),P=L.useCallback(e=>{N.current.onMouseLeave?.(e),!e.defaultPrevented&&!k&&!A&&b.setState(`hoveredValue`,null)},[k,A,b,N]),ue=L.useCallback(e=>{if(N.current.onMouseMove?.(e),!e.defaultPrevented&&!k&&!A&&E<1){let t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left<t.width/2,r=y;r=_.dir===`rtl`?n?y:y-E:n?y-E:y,b.setState(`hoveredValue`,r)}},[k,A,E,y,b,_.dir,N]),de=ne?`full`:j?`partial`:`empty`;return(0,R.jsxDEV)(n?ae:`button`,{role:`radio`,type:`button`,id:O,"aria-checked":ne,"aria-posinset":y,"aria-setsize":_.max,"data-disabled":k?``:void 0,"data-readonly":A?``:void 0,"data-state":ne?`full`:j?`partial`:`empty`,"data-hovered":M?``:void 0,"data-slot":`rating-item`,disabled:k,tabIndex:ee?0:-1,...m,ref:g,style:{...m.style,...j&&{"--partial-fill":`url(#${pu(_.rootId,E)})`}},className:C(`inline-flex items-center justify-center rounded transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50`,`[&_svg:not([class*='size-'])]:size-full [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:transition-colors [&_svg]:duration-200 data-[state=empty]:[&_svg]:fill-transparent data-[state=full]:[&_svg]:fill-current data-[state=partial]:[&_svg]:fill-(--partial-fill)`,_.size===`sm`?`size-4`:_.size===`lg`?`size-6`:`size-5`,d),onClick:ie,onFocus:oe,onKeyDown:se,onMouseDown:ce,onMouseEnter:le,onMouseMove:ue,onMouseLeave:P,children:typeof f==`function`?f(de):f??(0,R.jsxDEV)(Ee,{},void 0,!1,{fileName:su,lineNumber:926,columnNumber:24},this)},void 0,!1,{fileName:su,lineNumber:884,columnNumber:5},this)}function Du(e,t){let n=Math.floor(e/86400),r=Math.floor(e%86400/3600),i=Math.floor(e%3600/60),a=e%60,o=[];return n&&o.push(`${n} ${t(`form.days`)}`),r&&o.push(`${r} ${t(`form.hours`)}`),i&&o.push(`${i} ${t(`form.minutes`)}`),a&&o.push(`${a} ${t(`form.seconds`)}`),o.length?o.join(` `):`0 ${t(`form.seconds`)}`}function Ou(e){return e===!0||e===1||e===`1`||e===`true`}function ku(e,t,n){let r=t.options?.find(e=>e.value===String(n))?.title;return r?e(r):String(n??``)}var H=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/number.tsx`;function Au(e){return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:String(e)},void 0,!1,{fileName:H,lineNumber:36,columnNumber:10},this)}function ju({name:e,field:t,value:n,onChange:r}){let i=t.hints;return t.hints.multiple===!0?(0,R.jsxDEV)(bt,{value:n,onChange:r,validate:e=>!isNaN(Number(e))&&e!==``,display:Au,renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`number`,value:e,onChange:e=>t(e.target.value),placeholder:`0`,className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:H,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:H,lineNumber:43,columnNumber:7},this):(0,R.jsxDEV)(tu,{customInput:E,id:e,value:n===``||n==null?``:String(n),thousandSeparator:!0,decimalScale:t.column===`integer`?0:void 0,min:i.min,max:i.max,step:i.step,onValueChange:e=>r(e.floatValue??``),placeholder:`0`},void 0,!1,{fileName:H,lineNumber:67,columnNumber:5},this)}function Mu({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(st,{items:kn(t,[]),content:Au,reserveEditor:!0},void 0,!1,{fileName:H,lineNumber:85,columnNumber:12},this):yt(t,e=>(0,R.jsxDEV)(`span`,{children:String(e)},void 0,!1,{fileName:H,lineNumber:87,columnNumber:31},this))}function Nu(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-32`,bare:e.bare,view:t=>(0,R.jsxDEV)(Mu,{field:e.field,value:t},void 0,!1,{fileName:H,lineNumber:103,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(ju,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:H,lineNumber:105,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:92,columnNumber:5},this)}I({kinds:[`number`],Page:Nu});var Pu=e=>Array.from({length:e},(e,t)=>(0,R.jsxDEV)(Eu,{className:`size-5 text-yellow-400 data-[state=empty]:text-border`},t,!1,{fileName:H,lineNumber:124,columnNumber:5},void 0));function Fu({value:e,onChange:t,field:n}){let r=Number(n.hints.max??5);return(0,R.jsxDEV)(`div`,{className:`flex items-center min-h-9`,children:(0,R.jsxDEV)(Tu,{value:e?Number(e):0,max:r,clearable:!0,readOnly:!t,onValueChange:e=>t?.(e===0?``:e),"aria-label":n.label,children:Pu(r)},void 0,!1,{fileName:H,lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:H,lineNumber:134,columnNumber:5},this)}function Iu(e){let t=(0,R.jsxDEV)(Fu,{field:e.field,value:e.value,onChange:e.onChange},void 0,!1,{fileName:H,lineNumber:152,columnNumber:15},this);return e.bare?t:(0,R.jsxDEV)(`div`,{className:`group/field w-fit`,children:[e.label!==void 0&&(0,R.jsxDEV)(It,{label:e.label,required:e.required},void 0,!1,{fileName:H,lineNumber:156,columnNumber:33},this),t,(0,R.jsxDEV)(Ot,{error:e.error},void 0,!1,{fileName:H,lineNumber:158,columnNumber:7},this)]},void 0,!0,{fileName:H,lineNumber:155,columnNumber:5},this)}function Lu({value:e}){let t=Number(e);return(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 truncate`,children:Number.isNaN(t)||!t?`—`:(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(Ae,{name:`lucide:star`,size:12,className:`fill-current text-yellow-400`},void 0,!1,{fileName:H,lineNumber:171,columnNumber:11},this),t]},void 0,!0,{fileName:H,lineNumber:170,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:166,columnNumber:5},this)}I({kinds:[`rating`],Page:Iu,Inline:Lu});function Ru({value:e,onChange:t,field:n}){let{t:r}=a(),i=Number(n.hints.step??60),o=e?Number(e):0,s=Math.floor(o/86400),c=Math.floor(o%86400/3600),l=Math.floor(o%3600/60),u=o%60,d=i<60;function f(e,n,r,i){let a=Math.max(0,e*86400+n*3600+r*60+i);t(a>0?a:``)}let p=({val:e,unit:t,...n})=>(0,R.jsxDEV)(ee,{className:`w-[5.25rem]`,children:[(0,R.jsxDEV)(D,{type:`number`,value:e||``,min:0,placeholder:`0`,...n},void 0,!1,{fileName:H,lineNumber:203,columnNumber:7},this),(0,R.jsxDEV)(O,{align:`inline-end`,children:(0,R.jsxDEV)(T,{children:t},void 0,!1,{fileName:H,lineNumber:205,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:204,columnNumber:7},this)]},void 0,!0,{fileName:H,lineNumber:202,columnNumber:5},this);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 flex-wrap ${Ft}`,children:[(0,R.jsxDEV)(p,{val:s,unit:r(`form.days`),onChange:e=>f(Number(e.target.value)||0,c,l,u)},void 0,!1,{fileName:H,lineNumber:211,columnNumber:7},this),(0,R.jsxDEV)(p,{val:c,unit:r(`form.hours`),max:23,onChange:e=>f(s,Number(e.target.value)||0,l,u)},void 0,!1,{fileName:H,lineNumber:212,columnNumber:7},this),(0,R.jsxDEV)(p,{val:l,unit:r(`form.minutes`),max:59,step:d?1:Math.max(1,Math.floor(i/60)),onChange:e=>f(s,c,Number(e.target.value)||0,u)},void 0,!1,{fileName:H,lineNumber:213,columnNumber:7},this),d&&(0,R.jsxDEV)(p,{val:u,unit:r(`form.seconds`),max:59,step:i,onChange:e=>f(s,c,l,Number(e.target.value)||0)},void 0,!1,{fileName:H,lineNumber:221,columnNumber:9},this)]},void 0,!0,{fileName:H,lineNumber:210,columnNumber:5},this)}function zu({value:e}){let{t}=a(),n=Number(e);return!n||Number.isNaN(n)?(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:H,lineNumber:236,columnNumber:43},this):(0,R.jsxDEV)(`span`,{className:`text-sm`,children:Du(n,t)},void 0,!1,{fileName:H,lineNumber:237,columnNumber:10},this)}function Bu(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:t=>(0,R.jsxDEV)(zu,{field:e.field,value:t},void 0,!1,{fileName:H,lineNumber:253,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Ru,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:H,lineNumber:255,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:242,columnNumber:5},this)}function Vu({value:e}){let{t}=a(),n=Number(e);return!n||Number.isNaN(n)?(0,R.jsxDEV)(`span`,{children:`—`},void 0,!1,{fileName:H,lineNumber:269,columnNumber:43},this):(0,R.jsxDEV)(`span`,{className:`truncate`,children:Du(n,t)},void 0,!1,{fileName:H,lineNumber:270,columnNumber:10},this)}I({kinds:[`duration`],Page:Bu,Inline:Vu});var Hu=365.2425,Uu=6048e5,Wu=864e5,Gu=6e4,Ku=36e5,qu=1e3,Ju=3600*24;Ju*7,Ju*Hu/12*3;var Yu=Symbol.for(`constructDateFrom`);function Xu(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&Yu in e?e[Yu](t):e instanceof Date?new e.constructor(t):new Date(t)}function U(e,t){return Xu(t||e,e)}function Zu(e,t,n){let r=U(e,n?.in);return isNaN(t)?Xu(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Qu(e,t,n){let r=U(e,n?.in);if(isNaN(t))return Xu(n?.in||e,NaN);if(!t)return r;let i=r.getDate(),a=Xu(n?.in||e,r.getTime());return a.setMonth(r.getMonth()+t+1,0),i>=a.getDate()?a:(r.setFullYear(a.getFullYear(),a.getMonth(),i),r)}var $u={};function ed(){return $u}function td(e,t){let n=ed(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=U(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function nd(e,t){return td(e,{...t,weekStartsOn:1})}function rd(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=Xu(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=nd(i),o=Xu(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=nd(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function id(e){let t=U(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function ad(e,...t){let n=Xu.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function od(e,t){let n=U(e,t?.in);return n.setHours(0,0,0,0),n}function sd(e,t,n){let[r,i]=ad(n?.in,e,t),a=od(r),o=od(i),s=+a-id(a),c=+o-id(o);return Math.round((s-c)/Wu)}function cd(e,t){let n=rd(e,t),r=Xu(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),nd(r)}function ld(e,t,n){return Zu(e,t*7,n)}function ud(e,t,n){return Qu(e,t*12,n)}function dd(e,t){let n,r=t?.in;return e.forEach(e=>{!r&&typeof e==`object`&&(r=Xu.bind(null,e));let t=U(e,r);(!n||n<t||isNaN(+t))&&(n=t)}),Xu(r,n||NaN)}function fd(e,t){let n,r=t?.in;return e.forEach(e=>{!r&&typeof e==`object`&&(r=Xu.bind(null,e));let t=U(e,r);(!n||n>t||isNaN(+t))&&(n=t)}),Xu(r,n||NaN)}function pd(e,t,n){let[r,i]=ad(n?.in,e,t);return+od(r)==+od(i)}function md(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function hd(e){return!(!md(e)&&typeof e!=`number`||isNaN(+U(e)))}function gd(e,t,n){let[r,i]=ad(n?.in,e,t),a=r.getFullYear()-i.getFullYear(),o=r.getMonth()-i.getMonth();return a*12+o}function _d(e,t){let n=U(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function vd(e,t){let[n,r]=ad(e,t.start,t.end);return{start:n,end:r}}function yd(e,t){let{start:n,end:r}=vd(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0),o.setDate(1);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(Xu(n,o)),o.setMonth(o.getMonth()+s);return i?c.reverse():c}function bd(e,t){let n=U(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function xd(e,t){let n=U(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Sd(e,t){let n=U(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Cd(e,t){let{start:n,end:r}=vd(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0),o.setMonth(0,1);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(Xu(n,o)),o.setFullYear(o.getFullYear()+s);return i?c.reverse():c}function wd(e,t){let n=ed(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=U(e,t?.in),a=i.getDay(),o=(a<r?-7:0)+6-(a-r);return i.setDate(i.getDate()+o),i.setHours(23,59,59,999),i}function Td(e,t){return wd(e,{...t,weekStartsOn:1})}var Ed={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},Dd=(e,t,n)=>{let r,i=Ed[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Od(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var kd={date:Od({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Od({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Od({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},Ad={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},jd=(e,t,n,r)=>Ad[e];function Md(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var Nd={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:Md({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:Md({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:Md({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:Md({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:Md({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function Pd(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?Id(s,e=>e.test(o)):Fd(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function Fd(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Id(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Ld(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var Rd={code:`en-US`,formatDistance:Dd,formatLong:kd,formatRelative:jd,localize:Nd,match:{ordinalNumber:Ld({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Pd({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:Pd({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:Pd({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:Pd({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:Pd({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function zd(e,t){let n=U(e,t?.in);return sd(n,Sd(n))+1}function Bd(e,t){let n=U(e,t?.in),r=nd(n)-+cd(n);return Math.round(r/Uu)+1}function Vd(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=ed(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Xu(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=td(o,t),c=Xu(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=td(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function Hd(e,t){let n=ed(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Vd(e,t),a=Xu(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),td(a,t)}function Ud(e,t){let n=U(e,t?.in),r=td(n,t)-+Hd(n,t);return Math.round(r/Uu)+1}function Wd(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var Gd={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Wd(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Wd(n+1,2)},d(e,t){return Wd(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return Wd(e.getHours()%12||12,t.length)},H(e,t){return Wd(e.getHours(),t.length)},m(e,t){return Wd(e.getMinutes(),t.length)},s(e,t){return Wd(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Wd(Math.trunc(r*10**(n-3)),t.length)}},Kd={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},qd={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return Gd.y(e,t)},Y:function(e,t,n,r){let i=Vd(e,r),a=i>0?i:1-i;return t===`YY`?Wd(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Wd(a,t.length)},R:function(e,t){return Wd(rd(e),t.length)},u:function(e,t){return Wd(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return Wd(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return Wd(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return Gd.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return Wd(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Ud(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Wd(i,t.length)},I:function(e,t,n){let r=Bd(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Wd(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):Gd.d(e,t)},D:function(e,t,n){let r=zd(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Wd(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return Wd(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return Wd(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return Wd(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?Kd.noon:r===0?Kd.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?Kd.evening:r>=12?Kd.afternoon:r>=4?Kd.morning:Kd.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return Gd.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):Gd.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Wd(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Wd(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):Gd.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):Gd.s(e,t)},S:function(e,t){return Gd.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return Yd(r);case`XXXX`:case`XX`:return Xd(r);default:return Xd(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return Yd(r);case`xxxx`:case`xx`:return Xd(r);default:return Xd(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+Jd(r,`:`);default:return`GMT`+Xd(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+Jd(r,`:`);default:return`GMT`+Xd(r,`:`)}},t:function(e,t,n){return Wd(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Wd(+e,t.length)}};function Jd(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+Wd(a,2)}function Yd(e,t){return e%60==0?(e>0?`-`:`+`)+Wd(Math.abs(e)/60,2):Xd(e,t)}function Xd(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Wd(Math.trunc(r/60),2),a=Wd(r%60,2);return n+i+t+a}var Zd=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},Qd=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},$d={p:Qd,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return Zd(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,Zd(r,t)).replace(`{{time}}`,Qd(i,t))}},ef=/^D+$/,tf=/^Y+$/,nf=[`D`,`DD`,`YY`,`YYYY`];function rf(e){return ef.test(e)}function af(e){return tf.test(e)}function of(e,t,n){let r=sf(e,t,n);if(console.warn(r),nf.includes(e))throw RangeError(r)}function sf(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var cf=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,lf=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,uf=/^'([^]*?)'?$/,df=/''/g,ff=/[a-zA-Z]/;function pf(e,t,n){let r=ed(),i=n?.locale??r.locale??Rd,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=U(e,n?.in);if(!hd(s))throw RangeError(`Invalid time value`);let c=t.match(lf).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=$d[t];return n(e,i.formatLong)}return e}).join(``).match(cf).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:mf(e)};if(qd[t])return{isToken:!0,value:e};if(t.match(ff))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&af(a)||!n?.useAdditionalDayOfYearTokens&&rf(a))&&of(a,t,String(e));let o=qd[a[0]];return o(s,a,i.localize,l)}).join(``)}function mf(e){let t=e.match(uf);return t?t[1].replace(df,`'`):e}function hf(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=n.getMonth(),a=Xu(n,0);return a.setFullYear(r,i+1,0),a.setHours(0,0,0,0),a.getDate()}function gf(){return Object.assign({},ed())}function _f(e,t){let n=U(e,t?.in).getDay();return n===0?7:n}function vf(e,t){return U(e,t?.in).getMonth()}function yf(e,t){return U(e,t?.in).getFullYear()}function bf(e,t){return+U(e)>+U(t)}function xf(e,t){return+U(e)<+U(t)}function Sf(e,t){let n=Cf(t)?new t(0):Xu(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function Cf(e){return typeof e==`function`&&e.prototype?.constructor===e}var wf=10,Tf=class{subPriority=0;validate(e,t){return!0}},Ef=class extends Tf{constructor(e,t,n,r,i){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=r,i&&(this.subPriority=i)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}},Df=class extends Tf{priority=wf;subPriority=-1;constructor(e,t){super(),this.context=e||(e=>Xu(t,e))}set(e,t){return t.timestampIsSet?e:Xu(e,Sf(e,this.context))}},Of=class{run(e,t,n,r){let i=this.parse(e,t,n,r);return i?{setter:new Ef(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(e,t,n){return!0}},kf=class extends Of{priority=140;parse(e,t,n){switch(t){case`G`:case`GG`:case`GGG`:return n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`});case`GGGGG`:return n.era(e,{width:`narrow`});default:return n.era(e,{width:`wide`})||n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`})}}set(e,t,n){return t.era=n,e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`R`,`u`,`t`,`T`]},Af={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},jf={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Mf(e,t){return e&&{value:t(e.value),rest:e.rest}}function Nf(e,t){let n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function Pf(e,t){let n=t.match(e);if(!n)return null;if(n[0]===`Z`)return{value:0,rest:t.slice(1)};let r=n[1]===`+`?1:-1,i=n[2]?parseInt(n[2],10):0,a=n[3]?parseInt(n[3],10):0,o=n[5]?parseInt(n[5],10):0;return{value:r*(i*Ku+a*Gu+o*qu),rest:t.slice(n[0].length)}}function Ff(e){return Nf(Af.anyDigitsSigned,e)}function If(e,t){switch(e){case 1:return Nf(Af.singleDigit,t);case 2:return Nf(Af.twoDigits,t);case 3:return Nf(Af.threeDigits,t);case 4:return Nf(Af.fourDigits,t);default:return Nf(RegExp(`^\\d{1,`+e+`}`),t)}}function Lf(e,t){switch(e){case 1:return Nf(Af.singleDigitSigned,t);case 2:return Nf(Af.twoDigitsSigned,t);case 3:return Nf(Af.threeDigitsSigned,t);case 4:return Nf(Af.fourDigitsSigned,t);default:return Nf(RegExp(`^-?\\d{1,`+e+`}`),t)}}function Rf(e){switch(e){case`morning`:return 4;case`evening`:return 17;case`pm`:case`noon`:case`afternoon`:return 12;default:return 0}}function zf(e,t){let n=t>0,r=n?t:1-t,i;if(r<=50)i=e||100;else{let t=r+50,n=Math.trunc(t/100)*100,a=e>=t%100;i=e+n-(a?100:0)}return n?i:1-i}function Bf(e){return e%400==0||e%4==0&&e%100!=0}var Vf=class extends Of{priority=130;incompatibleTokens=[`Y`,`R`,`u`,`w`,`I`,`i`,`e`,`c`,`t`,`T`];parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`yy`});switch(t){case`y`:return Mf(If(4,e),r);case`yo`:return Mf(n.ordinalNumber(e,{unit:`year`}),r);default:return Mf(If(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n){let r=e.getFullYear();if(n.isTwoDigitYear){let t=zf(n.year,r);return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}let i=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(i,0,1),e.setHours(0,0,0,0),e}},Hf=class extends Of{priority=130;parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`YY`});switch(t){case`Y`:return Mf(If(4,e),r);case`Yo`:return Mf(n.ordinalNumber(e,{unit:`year`}),r);default:return Mf(If(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n,r){let i=Vd(e,r);if(n.isTwoDigitYear){let t=zf(n.year,i);return e.setFullYear(t,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),td(e,r)}let a=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(a,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),td(e,r)}incompatibleTokens=[`y`,`R`,`u`,`Q`,`q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]},Uf=class extends Of{priority=130;parse(e,t){return Lf(t===`R`?4:t.length,e)}set(e,t,n){let r=Xu(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),nd(r)}incompatibleTokens=[`G`,`y`,`Y`,`u`,`Q`,`q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},Wf=class extends Of{priority=130;parse(e,t){return Lf(t===`u`?4:t.length,e)}set(e,t,n){return e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`G`,`y`,`Y`,`R`,`w`,`I`,`i`,`e`,`c`,`t`,`T`]},Gf=class extends Of{priority=120;parse(e,t,n){switch(t){case`Q`:case`QQ`:return If(t.length,e);case`Qo`:return n.ordinalNumber(e,{unit:`quarter`});case`QQQ`:return n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`});case`QQQQQ`:return n.quarter(e,{width:`narrow`,context:`formatting`});default:return n.quarter(e,{width:`wide`,context:`formatting`})||n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},Kf=class extends Of{priority=120;parse(e,t,n){switch(t){case`q`:case`qq`:return If(t.length,e);case`qo`:return n.ordinalNumber(e,{unit:`quarter`});case`qqq`:return n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`});case`qqqqq`:return n.quarter(e,{width:`narrow`,context:`standalone`});default:return n.quarter(e,{width:`wide`,context:`standalone`})||n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`Q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},qf=class extends Of{incompatibleTokens=[`Y`,`R`,`q`,`Q`,`L`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`];priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`M`:return Mf(Nf(Af.month,e),r);case`MM`:return Mf(If(2,e),r);case`Mo`:return Mf(n.ordinalNumber(e,{unit:`month`}),r);case`MMM`:return n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`});case`MMMMM`:return n.month(e,{width:`narrow`,context:`formatting`});default:return n.month(e,{width:`wide`,context:`formatting`})||n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}},Jf=class extends Of{priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`L`:return Mf(Nf(Af.month,e),r);case`LL`:return Mf(If(2,e),r);case`Lo`:return Mf(n.ordinalNumber(e,{unit:`month`}),r);case`LLL`:return n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`});case`LLLLL`:return n.month(e,{width:`narrow`,context:`standalone`});default:return n.month(e,{width:`wide`,context:`standalone`})||n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]};function Yf(e,t,n){let r=U(e,n?.in),i=Ud(r,n)-t;return r.setDate(r.getDate()-i*7),U(r,n?.in)}var Xf=class extends Of{priority=100;parse(e,t,n){switch(t){case`w`:return Nf(Af.week,e);case`wo`:return n.ordinalNumber(e,{unit:`week`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n,r){return td(Yf(e,n,r),r)}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]};function Zf(e,t,n){let r=U(e,n?.in),i=Bd(r,n)-t;return r.setDate(r.getDate()-i*7),r}var Qf=class extends Of{priority=100;parse(e,t,n){switch(t){case`I`:return Nf(Af.week,e);case`Io`:return n.ordinalNumber(e,{unit:`week`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n){return nd(Zf(e,n))}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},$f=[31,28,31,30,31,30,31,31,30,31,30,31],ep=[31,29,31,30,31,30,31,31,30,31,30,31],tp=class extends Of{priority=90;subPriority=1;parse(e,t,n){switch(t){case`d`:return Nf(Af.date,e);case`do`:return n.ordinalNumber(e,{unit:`date`});default:return If(t.length,e)}}validate(e,t){let n=Bf(e.getFullYear()),r=e.getMonth();return n?t>=1&&t<=ep[r]:t>=1&&t<=$f[r]}set(e,t,n){return e.setDate(n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]},np=class extends Of{priority=90;subpriority=1;parse(e,t,n){switch(t){case`D`:case`DD`:return Nf(Af.dayOfYear,e);case`Do`:return n.ordinalNumber(e,{unit:`date`});default:return If(t.length,e)}}validate(e,t){return Bf(e.getFullYear())?t>=1&&t<=366:t>=1&&t<=365}set(e,t,n){return e.setMonth(0,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`L`,`w`,`I`,`d`,`E`,`i`,`e`,`c`,`t`,`T`]};function rp(e,t,n){let r=ed(),i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=U(e,n?.in),o=a.getDay(),s=(t%7+7)%7,c=7-i;return Zu(a,t<0||t>6?t-(o+c)%7:(s+c)%7-(o+c)%7,n)}var ip=class extends Of{priority=90;parse(e,t,n){switch(t){case`E`:case`EE`:case`EEE`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`EEEEE`:return n.day(e,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=rp(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`D`,`i`,`e`,`c`,`t`,`T`]},ap=class extends Of{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`e`:case`ee`:return Mf(If(t.length,e),i);case`eo`:return Mf(n.ordinalNumber(e,{unit:`day`}),i);case`eee`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`eeeee`:return n.day(e,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=rp(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`c`,`t`,`T`]},op=class extends Of{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`c`:case`cc`:return Mf(If(t.length,e),i);case`co`:return Mf(n.ordinalNumber(e,{unit:`day`}),i);case`ccc`:return n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});case`ccccc`:return n.day(e,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});default:return n.day(e,{width:`wide`,context:`standalone`})||n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=rp(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`e`,`t`,`T`]};function sp(e,t,n){let r=U(e,n?.in);return Zu(r,t-_f(r,n),n)}var cp=class extends Of{priority=90;parse(e,t,n){let r=e=>e===0?7:e;switch(t){case`i`:case`ii`:return If(t.length,e);case`io`:return n.ordinalNumber(e,{unit:`day`});case`iii`:return Mf(n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiii`:return Mf(n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiiii`:return Mf(n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);default:return Mf(n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r)}}validate(e,t){return t>=1&&t<=7}set(e,t,n){return e=sp(e,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`E`,`e`,`c`,`t`,`T`]},lp=class extends Of{priority=80;parse(e,t,n){switch(t){case`a`:case`aa`:case`aaa`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`aaaaa`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Rf(n),0,0,0),e}incompatibleTokens=[`b`,`B`,`H`,`k`,`t`,`T`]},up=class extends Of{priority=80;parse(e,t,n){switch(t){case`b`:case`bb`:case`bbb`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`bbbbb`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Rf(n),0,0,0),e}incompatibleTokens=[`a`,`B`,`H`,`k`,`t`,`T`]},dp=class extends Of{priority=80;parse(e,t,n){switch(t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`BBBBB`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Rf(n),0,0,0),e}incompatibleTokens=[`a`,`b`,`t`,`T`]},fp=class extends Of{priority=70;parse(e,t,n){switch(t){case`h`:return Nf(Af.hour12h,e);case`ho`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,n){let r=e.getHours()>=12;return r&&n<12?e.setHours(n+12,0,0,0):!r&&n===12?e.setHours(0,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`H`,`K`,`k`,`t`,`T`]},pp=class extends Of{priority=70;parse(e,t,n){switch(t){case`H`:return Nf(Af.hour23h,e);case`Ho`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,n){return e.setHours(n,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`K`,`k`,`t`,`T`]},mp=class extends Of{priority=70;parse(e,t,n){switch(t){case`K`:return Nf(Af.hour11h,e);case`Ko`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.getHours()>=12&&n<12?e.setHours(n+12,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`h`,`H`,`k`,`t`,`T`]},hp=class extends Of{priority=70;parse(e,t,n){switch(t){case`k`:return Nf(Af.hour24h,e);case`ko`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,n){let r=n<=24?n%24:n;return e.setHours(r,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`H`,`K`,`t`,`T`]},gp=class extends Of{priority=60;parse(e,t,n){switch(t){case`m`:return Nf(Af.minute,e);case`mo`:return n.ordinalNumber(e,{unit:`minute`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setMinutes(n,0,0),e}incompatibleTokens=[`t`,`T`]},_p=class extends Of{priority=50;parse(e,t,n){switch(t){case`s`:return Nf(Af.second,e);case`so`:return n.ordinalNumber(e,{unit:`second`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setSeconds(n,0),e}incompatibleTokens=[`t`,`T`]},vp=class extends Of{priority=30;parse(e,t){return Mf(If(t.length,e),e=>Math.trunc(e*10**(-t.length+3)))}set(e,t,n){return e.setMilliseconds(n),e}incompatibleTokens=[`t`,`T`]},yp=class extends Of{priority=10;parse(e,t){switch(t){case`X`:return Pf(jf.basicOptionalMinutes,e);case`XX`:return Pf(jf.basic,e);case`XXXX`:return Pf(jf.basicOptionalSeconds,e);case`XXXXX`:return Pf(jf.extendedOptionalSeconds,e);default:return Pf(jf.extended,e)}}set(e,t,n){return t.timestampIsSet?e:Xu(e,e.getTime()-id(e)-n)}incompatibleTokens=[`t`,`T`,`x`]},bp=class extends Of{priority=10;parse(e,t){switch(t){case`x`:return Pf(jf.basicOptionalMinutes,e);case`xx`:return Pf(jf.basic,e);case`xxxx`:return Pf(jf.basicOptionalSeconds,e);case`xxxxx`:return Pf(jf.extendedOptionalSeconds,e);default:return Pf(jf.extended,e)}}set(e,t,n){return t.timestampIsSet?e:Xu(e,e.getTime()-id(e)-n)}incompatibleTokens=[`t`,`T`,`X`]},xp=class extends Of{priority=40;parse(e){return Ff(e)}set(e,t,n){return[Xu(e,n*1e3),{timestampIsSet:!0}]}incompatibleTokens=`*`},Sp=class extends Of{priority=20;parse(e){return Ff(e)}set(e,t,n){return[Xu(e,n),{timestampIsSet:!0}]}incompatibleTokens=`*`},Cp={G:new kf,y:new Vf,Y:new Hf,R:new Uf,u:new Wf,Q:new Gf,q:new Kf,M:new qf,L:new Jf,w:new Xf,I:new Qf,d:new tp,D:new np,E:new ip,e:new ap,c:new op,i:new cp,a:new lp,b:new up,B:new dp,h:new fp,H:new pp,K:new mp,k:new hp,m:new gp,s:new _p,S:new vp,X:new yp,x:new bp,t:new xp,T:new Sp},wp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Tp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Ep=/^'([^]*?)'?$/,Dp=/''/g,Op=/\S/,kp=/[a-zA-Z]/;function Ap(e,t,n,r){let i=()=>Xu(r?.in||n,NaN),a=gf(),o=r?.locale??a.locale??Rd,s=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,c=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0;if(!t)return e?i():U(n,r?.in);let l={firstWeekContainsDate:s,weekStartsOn:c,locale:o},u=[new Df(r?.in,n)],d=t.match(Tp).map(e=>{let t=e[0];if(t in $d){let n=$d[t];return n(e,o.formatLong)}return e}).join(``).match(wp),f=[];for(let n of d){!r?.useAdditionalWeekYearTokens&&af(n)&&of(n,t,e),!r?.useAdditionalDayOfYearTokens&&rf(n)&&of(n,t,e);let a=n[0],s=Cp[a];if(s){let{incompatibleTokens:t}=s;if(Array.isArray(t)){let e=f.find(e=>t.includes(e.token)||e.token===a);if(e)throw RangeError(`The format string mustn't contain \`${e.fullToken}\` and \`${n}\` at the same time`)}else if(s.incompatibleTokens===`*`&&f.length>0)throw RangeError(`The format string mustn't contain \`${n}\` and any other token at the same time`);f.push({token:a,fullToken:n});let r=s.run(e,n,o.match,l);if(!r)return i();u.push(r.setter),e=r.rest}else{if(a.match(kp))throw RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");if(n===`''`?n=`'`:a===`'`&&(n=jp(n)),e.indexOf(n)===0)e=e.slice(n.length);else return i()}}if(e.length>0&&Op.test(e))return i();let p=u.map(e=>e.priority).sort((e,t)=>t-e).filter((e,t,n)=>n.indexOf(e)===t).map(e=>u.filter(t=>t.priority===e).sort((e,t)=>t.subPriority-e.subPriority)).map(e=>e[0]),m=U(n,r?.in);if(isNaN(+m))return i();let h={};for(let e of p){if(!e.validate(m,l))return i();let t=e.set(m,h,l);Array.isArray(t)?(m=t[0],Object.assign(h,t[1])):m=t}return m}function jp(e){return e.match(Ep)[1].replace(Dp,`'`)}function Mp(e,t,n){let[r,i]=ad(n?.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function Np(e,t,n){let[r,i]=ad(n?.in,e,t);return r.getFullYear()===i.getFullYear()}function Pp(e,t,n){let r=U(e,n?.in),i=r.getFullYear(),a=r.getDate(),o=Xu(n?.in||e,0);o.setFullYear(i,t,15),o.setHours(0,0,0,0);let s=hf(o);return r.setMonth(t,Math.min(a,s)),r}function Fp(e,t,n){let r=U(e,n?.in);return isNaN(+r)?Xu(n?.in||e,NaN):(r.setFullYear(t),r)}function Ip(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var Lp={},Rp={};function zp(e,t){try{let n=(Lp[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in Rp?Rp[n]:Vp(n,n.split(`:`))}catch{if(e in Rp)return Rp[e];let t=e?.match(Bp);return t?Vp(e,t.slice(1)):NaN}}var Bp=/([+-]\d\d):?(\d\d)?/;function Vp(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return Rp[e]=n*60+r>0?n*60+r+i:n*60-r-i}var Hp=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(zp(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),Kp(this,e)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-zp(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),Wp(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},Up=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Up.test(e))return;let t=e.replace(Up,`$1UTC`);Hp.prototype[t]&&(e.startsWith(`get`)?Hp.prototype[e]=function(){return this.internal[t]()}:(Hp.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Gp(this),+this},Hp.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Wp(this),+this}))});function Wp(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-zp(e.timeZone,e)*60))}function Gp(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Kp(e)}function Kp(e,t){let n=Array.isArray(t)?qp(t):+e.internal,r=zp(e.timeZone,e),i=r>0?Math.floor(r):Math.ceil(r),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);let o=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),c=o-s,l=o;if(c&&o!==i&&Date.prototype.getHours.apply(e)!==(Array.isArray(t)?t[3]||0:e.internal.getUTCHours())){let t=new Date(+e),n=o-i;n&&t.setUTCMinutes(t.getUTCMinutes()+n);let r=zp(e.timeZone,t);(r>0?Math.floor(r):Math.ceil(r))===i&&(l=s)}let u=l-i;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);let d=new Date(+e);d.setUTCSeconds(0);let f=o>0?d.getSeconds():(d.getSeconds()-60)%60,p=Math.round(-(zp(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let m=zp(e.timeZone,e),h=m>0?Math.floor(m):Math.ceil(m),g=-new Date(+e).getTimezoneOffset()-h,_=h!==i,v=g-u,y=h-i,b=n-h*60*1e3,x=y>0&&Jp(e)-n===y*60*1e3&&Jp(e,b)!==n;if(_&&v&&!x){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);let t=zp(e.timeZone,e),n=h-(t>0?Math.floor(t):Math.ceil(t));n&&v<0&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n)}Wp(e);let S=(t?n:n+p*1e3)-+e.internal;S&&Math.abs(S)<1800*1e3&&(Date.prototype.setTime.call(e,+e+S),Wp(e))}function qp(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function Jp(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-zp(e.timeZone,n)*60)),+n}var Yp=class e extends Hp{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${Ip(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},Xp=5,Zp=4;function Qp(e,t){let n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,i=t.addDays(e,-r+1),a=t.addDays(i,Xp*7-1);return t.getMonth(e)===t.getMonth(a)?Xp:Zp}function $p(e,t){let n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function em(e,t){let n=$p(e,t),r=Qp(e,t);return t.addDays(n,r*7-1)}var tm={...Rd,labels:{labelDayButton:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>pf(e,t,{locale:Rd,...n});let a=i(e,`PPPP`);return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a},labelMonthDropdown:`Choose the Month`,labelNext:`Go to the Next Month`,labelPrevious:`Go to the Previous Month`,labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:`Choose the Year`,labelGrid:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>pf(e,n,{locale:Rd,...t}),r(e,`LLLL yyyy`)},labelGridcell:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>pf(e,t,{locale:Rd,...n});let a=i(e,`PPPP`);return t?.today&&(a=`Today, ${a}`),a},labelNav:`Navigation bar`,labelWeekNumberHeader:`Week Number`,labelWeekday:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>pf(e,n,{locale:Rd,...t}),r(e,`cccc`)}}},nm=class e{constructor(e,t){this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Yp.tz(this.options.timeZone):new(this.options.Date??Date),this.newDate=(e,t,n)=>this.overrides?.newDate?this.overrides.newDate(e,t,n):this.options.timeZone?new Yp(e,t,n,this.options.timeZone):new Date(e,t,n),this.addDays=(e,t)=>this.overrides?.addDays?this.overrides.addDays(e,t):Zu(e,t),this.addMonths=(e,t)=>this.overrides?.addMonths?this.overrides.addMonths(e,t):Qu(e,t),this.addWeeks=(e,t)=>this.overrides?.addWeeks?this.overrides.addWeeks(e,t):ld(e,t),this.addYears=(e,t)=>this.overrides?.addYears?this.overrides.addYears(e,t):ud(e,t),this.differenceInCalendarDays=(e,t)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(e,t):sd(e,t),this.differenceInCalendarMonths=(e,t)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(e,t):gd(e,t),this.eachMonthOfInterval=e=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(e):yd(e),this.eachYearOfInterval=e=>{let t=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(e):Cd(e),n=new Set(t.map(e=>this.getYear(e)));if(n.size===t.length)return t;let r=[];return n.forEach(e=>{r.push(new Date(e,0,1))}),r},this.endOfBroadcastWeek=e=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(e):em(e,this),this.endOfISOWeek=e=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(e):Td(e),this.endOfMonth=e=>this.overrides?.endOfMonth?this.overrides.endOfMonth(e):_d(e),this.endOfWeek=(e,t)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(e,t):wd(e,this.options),this.endOfYear=e=>this.overrides?.endOfYear?this.overrides.endOfYear(e):xd(e),this.format=(e,t,n)=>{let r=this.overrides?.format?this.overrides.format(e,t,this.options):pf(e,t,this.options);return this.options.numerals&&this.options.numerals!==`latn`?this.replaceDigits(r):r},this.getISOWeek=e=>this.overrides?.getISOWeek?this.overrides.getISOWeek(e):Bd(e),this.getMonth=(e,t)=>this.overrides?.getMonth?this.overrides.getMonth(e,this.options):vf(e,this.options),this.getYear=(e,t)=>this.overrides?.getYear?this.overrides.getYear(e,this.options):yf(e,this.options),this.getWeek=(e,t)=>this.overrides?.getWeek?this.overrides.getWeek(e,this.options):Ud(e,this.options),this.isAfter=(e,t)=>this.overrides?.isAfter?this.overrides.isAfter(e,t):bf(e,t),this.isBefore=(e,t)=>this.overrides?.isBefore?this.overrides.isBefore(e,t):xf(e,t),this.isDate=e=>this.overrides?.isDate?this.overrides.isDate(e):md(e),this.isSameDay=(e,t)=>this.overrides?.isSameDay?this.overrides.isSameDay(e,t):pd(e,t),this.isSameMonth=(e,t)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(e,t):Mp(e,t),this.isSameYear=(e,t)=>this.overrides?.isSameYear?this.overrides.isSameYear(e,t):Np(e,t),this.max=e=>this.overrides?.max?this.overrides.max(e):dd(e),this.min=e=>this.overrides?.min?this.overrides.min(e):fd(e),this.setMonth=(e,t)=>this.overrides?.setMonth?this.overrides.setMonth(e,t):Pp(e,t),this.setYear=(e,t)=>this.overrides?.setYear?this.overrides.setYear(e,t):Fp(e,t),this.startOfBroadcastWeek=(e,t)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(e,this):$p(e,this),this.startOfDay=e=>this.overrides?.startOfDay?this.overrides.startOfDay(e):od(e),this.startOfISOWeek=e=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(e):nd(e),this.startOfMonth=e=>this.overrides?.startOfMonth?this.overrides.startOfMonth(e):bd(e),this.startOfWeek=(e,t)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(e,this.options):td(e,this.options),this.startOfYear=e=>this.overrides?.startOfYear?this.overrides.startOfYear(e):Sd(e),this.options={locale:tm,...e},this.overrides=t}getDigitMap(){let{numerals:e=`latn`}=this.options,t=new Intl.NumberFormat(`en-US`,{numberingSystem:e}),n={};for(let e=0;e<10;e++)n[e.toString()]=t.format(e);return n}replaceDigits(e){let t=this.getDigitMap();return e.replace(/\d/g,e=>t[e]||e)}formatNumber(e){return this.replaceDigits(e.toString())}getMonthYearOrder(){let t=this.options.locale?.code;return t&&e.yearFirstLocales.has(t)?`year-first`:`month-first`}formatMonthYear(t){let{locale:n,timeZone:r,numerals:i}=this.options,a=n?.code;if(a&&e.yearFirstLocales.has(a))try{return new Intl.DateTimeFormat(a,{month:`long`,year:`numeric`,timeZone:r,numberingSystem:i}).format(t)}catch{}let o=this.getMonthYearOrder()===`year-first`?`y LLLL`:`LLLL y`;return this.format(t,o)}};nm.yearFirstLocales=new Set([`eu`,`hu`,`ja`,`ja-Hira`,`ja-JP`,`ko`,`ko-KR`,`lt`,`lt-LT`,`lv`,`lv-LV`,`mn`,`mn-MN`,`zh`,`zh-CN`,`zh-HK`,`zh-TW`]);var rm=new nm,im=class{constructor(e,t,n=rm){this.date=e,this.displayMonth=t,this.outside=!!(t&&!n.isSameMonth(e,t)),this.dateLib=n,this.isoDate=n.format(e,`yyyy-MM-dd`),this.displayMonthId=n.format(t,`yyyy-MM`),this.dateMonthId=n.format(e,`yyyy-MM`)}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}},am=class{constructor(e,t){this.date=e,this.weeks=t}},om=class{constructor(e,t){this.days=t,this.weekNumber=e}};function sm(e){return L.createElement(`span`,{...e})}function cm(e){let{size:t=24,orientation:n=`left`,className:r,style:i}=e;return L.createElement(`svg`,{className:r,style:i,width:t,height:t,viewBox:`0 0 24 24`},n===`up`&&L.createElement(`polygon`,{points:`6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28`}),n===`down`&&L.createElement(`polygon`,{points:`6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72`}),n===`left`&&L.createElement(`polygon`,{points:`16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20`}),n===`right`&&L.createElement(`polygon`,{points:`8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20`}))}function lm(e){let{day:t,modifiers:n,...r}=e;return L.createElement(`td`,{...r})}function um(e){let{day:t,modifiers:n,...r}=e,i=L.useRef(null);return L.useEffect(()=>{n.focused&&i.current?.focus()},[n.focused]),L.createElement(`button`,{ref:i,...r})}var W;(function(e){e.Root=`root`,e.Chevron=`chevron`,e.Day=`day`,e.DayButton=`day_button`,e.CaptionLabel=`caption_label`,e.Dropdowns=`dropdowns`,e.Dropdown=`dropdown`,e.DropdownRoot=`dropdown_root`,e.Footer=`footer`,e.MonthGrid=`month_grid`,e.MonthCaption=`month_caption`,e.MonthsDropdown=`months_dropdown`,e.Month=`month`,e.Months=`months`,e.Nav=`nav`,e.NextMonthButton=`button_next`,e.PreviousMonthButton=`button_previous`,e.Week=`week`,e.Weeks=`weeks`,e.Weekday=`weekday`,e.Weekdays=`weekdays`,e.WeekNumber=`week_number`,e.WeekNumberHeader=`week_number_header`,e.YearsDropdown=`years_dropdown`})(W||={});var dm;(function(e){e.disabled=`disabled`,e.hidden=`hidden`,e.outside=`outside`,e.focused=`focused`,e.today=`today`})(dm||={});var fm;(function(e){e.range_end=`range_end`,e.range_middle=`range_middle`,e.range_start=`range_start`,e.selected=`selected`})(fm||={});var pm;(function(e){e.weeks_before_enter=`weeks_before_enter`,e.weeks_before_exit=`weeks_before_exit`,e.weeks_after_enter=`weeks_after_enter`,e.weeks_after_exit=`weeks_after_exit`,e.caption_after_enter=`caption_after_enter`,e.caption_after_exit=`caption_after_exit`,e.caption_before_enter=`caption_before_enter`,e.caption_before_exit=`caption_before_exit`})(pm||={});var mm=(0,L.createContext)(void 0);function hm(){let e=(0,L.useContext)(mm);if(e===void 0)throw Error(`useDayPicker() must be used within a custom component.`);return e}function gm(e){let{options:t,className:n,...r}=e,{classNames:i,components:a,styles:o}=hm(),s=[i[W.Dropdown],n].join(` `),c=t?.find(({value:e})=>e===r.value);return L.createElement(`span`,{"data-disabled":r.disabled,className:i[W.DropdownRoot],style:o?.[W.DropdownRoot]},L.createElement(a.Select,{className:s,...r},t?.map(({value:e,label:t,disabled:n})=>L.createElement(a.Option,{key:e,value:e,disabled:n},t))),L.createElement(`span`,{className:i[W.CaptionLabel],style:o?.[W.CaptionLabel],"aria-hidden":!0},c?.label,L.createElement(a.Chevron,{orientation:`down`,size:18,className:i[W.Chevron],style:o?.[W.Chevron]})))}function _m(e){return L.createElement(`div`,{...e})}function vm(e){return L.createElement(`div`,{...e})}function ym(e){let{calendarMonth:t,displayIndex:n,...r}=e;return L.createElement(`div`,{...r},e.children)}function bm(e){let{calendarMonth:t,displayIndex:n,...r}=e;return L.createElement(`div`,{...r})}function xm(e){return L.createElement(`table`,{...e})}function Sm(e){return L.createElement(`div`,{...e})}function Cm(e){let{components:t}=hm();return L.createElement(t.Dropdown,{...e})}function wm(e){let{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:i,...a}=e,{components:o,classNames:s,styles:c,labels:{labelPrevious:l,labelNext:u}}=hm(),d=(0,L.useCallback)(e=>{i&&n?.(e)},[i,n]),f=(0,L.useCallback)(e=>{r&&t?.(e)},[r,t]);return L.createElement(`nav`,{...a},L.createElement(o.PreviousMonthButton,{type:`button`,className:s[W.PreviousMonthButton],style:c?.[W.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":!r||void 0,"aria-label":l(r),onClick:f},L.createElement(o.Chevron,{disabled:!r||void 0,className:s[W.Chevron],style:c?.[W.Chevron],orientation:`left`})),L.createElement(o.NextMonthButton,{type:`button`,className:s[W.NextMonthButton],style:c?.[W.NextMonthButton],tabIndex:i?void 0:-1,"aria-disabled":!i||void 0,"aria-label":u(i),onClick:d},L.createElement(o.Chevron,{disabled:!i||void 0,orientation:`right`,className:s[W.Chevron],style:c?.[W.Chevron]})))}function Tm(e){return L.createElement(`button`,{...e})}function Em(e){return L.createElement(`option`,{...e})}function Dm(e){return L.createElement(`button`,{...e})}function Om(e){let{rootRef:t,...n}=e;return L.createElement(`div`,{...n,ref:t})}function km(e){return L.createElement(`select`,{...e})}function Am(e){let{week:t,...n}=e;return L.createElement(`tr`,{...n})}function jm(e){return L.createElement(`th`,{...e})}function Mm(e){return L.createElement(`thead`,{"aria-hidden":!0},L.createElement(`tr`,{...e}))}function Nm(e){let{week:t,...n}=e;return L.createElement(`th`,{...n})}function Pm(e){return L.createElement(`th`,{...e})}function Fm(e){return L.createElement(`tbody`,{...e})}function Im(e){let{components:t}=hm();return L.createElement(t.Dropdown,{...e})}var Lm=e({CaptionLabel:()=>sm,Chevron:()=>cm,Day:()=>lm,DayButton:()=>um,Dropdown:()=>gm,DropdownNav:()=>_m,Footer:()=>vm,Month:()=>ym,MonthCaption:()=>bm,MonthGrid:()=>xm,Months:()=>Sm,MonthsDropdown:()=>Cm,Nav:()=>wm,NextMonthButton:()=>Tm,Option:()=>Em,PreviousMonthButton:()=>Dm,Root:()=>Om,Select:()=>km,Week:()=>Am,WeekNumber:()=>Nm,WeekNumberHeader:()=>Pm,Weekday:()=>jm,Weekdays:()=>Mm,Weeks:()=>Fm,YearsDropdown:()=>Im});function Rm(e,t,n=!1,r=rm){let{from:i,to:a}=e,{differenceInCalendarDays:o,isSameDay:s}=r;return i&&a?(o(a,i)<0&&([i,a]=[a,i]),o(t,i)>=+!!n&&o(a,t)>=+!!n):!n&&a?s(a,t):!n&&i?s(i,t):!1}function zm(e){return!!(e&&typeof e==`object`&&`before`in e&&`after`in e)}function Bm(e){return!!(e&&typeof e==`object`&&`from`in e)}function Vm(e){return!!(e&&typeof e==`object`&&`after`in e)}function Hm(e){return!!(e&&typeof e==`object`&&`before`in e)}function Um(e){return!!(e&&typeof e==`object`&&`dayOfWeek`in e)}function Wm(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Gm(e,t,n=rm){let r=Array.isArray(t)?t:[t],{isSameDay:i,differenceInCalendarDays:a,isAfter:o}=n;return r.some(t=>{if(typeof t==`boolean`)return t;if(n.isDate(t))return i(e,t);if(Wm(t,n))return t.some(t=>i(e,t));if(Bm(t))return Rm(t,e,!1,n);if(Um(t))return Array.isArray(t.dayOfWeek)?t.dayOfWeek.includes(e.getDay()):t.dayOfWeek===e.getDay();if(zm(t)){let n=a(t.before,e),r=a(t.after,e),i=n>0,s=r<0;return o(t.before,t.after)?s&&i:i||s}return Vm(t)?a(e,t.after)>0:Hm(t)?a(t.before,e)>0:typeof t==`function`&&t(e)})}function Km(e,t,n,r,i){let{disabled:a,hidden:o,modifiers:s,showOutsideDays:c,broadcastCalendar:l,today:u=i.today()}=t,{isSameDay:d,isSameMonth:f,startOfMonth:p,isBefore:m,endOfMonth:h,isAfter:g}=i,_=n&&p(n),v=r&&h(r),y={[dm.focused]:[],[dm.outside]:[],[dm.disabled]:[],[dm.hidden]:[],[dm.today]:[]},b={};for(let t of e){let{date:e,displayMonth:n}=t,r=!!(n&&!f(e,n)),p=!!(_&&m(e,_)),h=!!(v&&g(e,v)),x=!!(a&&Gm(e,a,i)),S=!!(o&&Gm(e,o,i))||p||h||!l&&!c&&r||l&&c===!1&&r,C=d(e,u);r&&y.outside.push(t),x&&y.disabled.push(t),S&&y.hidden.push(t),C&&y.today.push(t),s&&Object.keys(s).forEach(n=>{let r=s?.[n];r&&Gm(e,r,i)&&(b[n]?b[n].push(t):b[n]=[t])})}return e=>{let t={[dm.focused]:!1,[dm.disabled]:!1,[dm.hidden]:!1,[dm.outside]:!1,[dm.today]:!1},n={};for(let n in y)t[n]=y[n].some(t=>t===e);for(let t in b)n[t]=b[t].some(t=>t===e);return{...t,...n}}}function qm(e,t,n={}){return Object.entries(e).filter(([,e])=>e===!0).reduce((e,[r])=>(n[r]?e.push(n[r]):t[dm[r]]?e.push(t[dm[r]]):t[fm[r]]&&e.push(t[fm[r]]),e),[t[W.Day]])}function Jm(e){return{...Lm,...e}}function Ym(e){let t={"data-mode":e.mode??void 0,"data-required":`required`in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([e,n])=>{e.startsWith(`data-`)&&(t[e]=n)}),t}function Xm(){let e={};for(let t in W)e[W[t]]=`rdp-${W[t]}`;for(let t in dm)e[dm[t]]=`rdp-${dm[t]}`;for(let t in fm)e[fm[t]]=`rdp-${fm[t]}`;for(let t in pm)e[pm[t]]=`rdp-${pm[t]}`;return e}function Zm(e,t,n){return(n??new nm(t)).formatMonthYear(e)}function Qm(e,t,n){return(n??new nm(t)).format(e,`d`)}function $m(e,t=rm){return t.format(e,`LLLL`)}function eh(e,t,n){return(n??new nm(t)).format(e,`cccccc`)}function th(e,t=rm){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function nh(){return``}function rh(e,t=rm){return t.format(e,`yyyy`)}var ih=e({formatCaption:()=>Zm,formatDay:()=>Qm,formatMonthDropdown:()=>$m,formatWeekNumber:()=>th,formatWeekNumberHeader:()=>nh,formatWeekdayName:()=>eh,formatYearDropdown:()=>rh});function ah(e){return{...ih,...e}}function oh(e,t,n,r){let i=(r??new nm(n)).format(e,`PPPP`);return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i}function sh(e,t,n){return(n??new nm(t)).formatMonthYear(e)}function ch(e,t,n,r){let i=(r??new nm(n)).format(e,`PPPP`);return t?.today&&(i=`Today, ${i}`),i}function lh(e){return`Choose the Month`}function uh(){return``}var dh=`Go to the Next Month`;function fh(e,t){return dh}function ph(e){return`Go to the Previous Month`}function mh(e,t,n){return(n??new nm(t)).format(e,`cccc`)}function hh(e,t){return`Week ${e}`}function gh(e){return`Week Number`}function _h(e){return`Choose the Year`}var vh=e({labelDayButton:()=>oh,labelGrid:()=>sh,labelGridcell:()=>ch,labelMonthDropdown:()=>lh,labelNav:()=>uh,labelNext:()=>fh,labelPrevious:()=>ph,labelWeekNumber:()=>hh,labelWeekNumberHeader:()=>gh,labelWeekday:()=>mh,labelYearDropdown:()=>_h}),yh=(e,t,n)=>t||(n?typeof n==`function`?n:(...e)=>n:e);function bh(e,t){let n=t.locale?.labels??{};return{...vh,...e??{},labelDayButton:yh(oh,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:yh(lh,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:yh(fh,e?.labelNext,n.labelNext),labelPrevious:yh(ph,e?.labelPrevious,n.labelPrevious),labelWeekNumber:yh(hh,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:yh(_h,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:yh(sh,e?.labelGrid,n.labelGrid),labelGridcell:yh(ch,e?.labelGridcell,n.labelGridcell),labelNav:yh(uh,e?.labelNav,n.labelNav),labelWeekNumberHeader:yh(gh,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:yh(mh,e?.labelWeekday,n.labelWeekday)}}function xh(e,t,n,r,i){let{startOfMonth:a,startOfYear:o,endOfYear:s,eachMonthOfInterval:c,getMonth:l}=i;return c({start:o(e),end:s(e)}).map(e=>{let o=r.formatMonthDropdown(e,i);return{value:l(e),label:o,disabled:t&&e<a(t)||n&&e>a(n)||!1}})}function Sh(e,t={},n={}){let r={...t?.[W.Day]};return Object.entries(e).filter(([,e])=>e===!0).forEach(([e])=>{r={...r,...n?.[e]}}),r}function Ch(e,t,n,r){let i=r??e.today(),a=n?e.startOfBroadcastWeek(i,e):t?e.startOfISOWeek(i):e.startOfWeek(i),o=[];for(let t=0;t<7;t++){let n=e.addDays(a,t);o.push(n)}return o}function wh(e,t,n,r,i=!1){if(!e||!t)return;let{startOfYear:a,endOfYear:o,eachYearOfInterval:s,getYear:c}=r,l=s({start:a(e),end:o(t)});return i&&l.reverse(),l.map(e=>{let t=n.formatYearDropdown(e,r);return{value:c(e),label:t,disabled:!1}})}function Th(e,t={}){let{weekStartsOn:n,locale:r}=t,i=n??r?.options?.weekStartsOn??0,a=t=>{let n=typeof t==`number`||typeof t==`string`?new Date(t):t;return new Yp(n.getFullYear(),n.getMonth(),n.getDate(),12,0,0,e)},o=e=>{let t=a(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)};return{today:()=>a(Yp.tz(e)),newDate:(t,n,r)=>new Yp(t,n,r,12,0,0,e),startOfDay:e=>a(e),startOfWeek:(e,t)=>{let n=a(e),r=t?.weekStartsOn??i,o=(n.getDay()-r+7)%7;return n.setDate(n.getDate()-o),n},startOfISOWeek:e=>{let t=a(e),n=(t.getDay()-1+7)%7;return t.setDate(t.getDate()-n),t},startOfMonth:e=>{let t=a(e);return t.setDate(1),t},startOfYear:e=>{let t=a(e);return t.setMonth(0,1),t},endOfWeek:(e,t)=>{let n=a(e),r=(((t?.weekStartsOn??i)+6)%7-n.getDay()+7)%7;return n.setDate(n.getDate()+r),n},endOfISOWeek:e=>{let t=a(e),n=(7-t.getDay())%7;return t.setDate(t.getDate()+n),t},endOfMonth:e=>{let t=a(e);return t.setMonth(t.getMonth()+1,0),t},endOfYear:e=>{let t=a(e);return t.setMonth(11,31),t},eachMonthOfInterval:t=>{let n=a(t.start),r=a(t.end),i=[],o=new Yp(n.getFullYear(),n.getMonth(),1,12,0,0,e),s=r.getFullYear()*12+r.getMonth();for(;o.getFullYear()*12+o.getMonth()<=s;)i.push(new Yp(o,e)),o.setMonth(o.getMonth()+1,1);return i},addDays:(e,t)=>{let n=a(e);return n.setDate(n.getDate()+t),n},addWeeks:(e,t)=>{let n=a(e);return n.setDate(n.getDate()+t*7),n},addMonths:(e,t)=>{let n=a(e);return n.setMonth(n.getMonth()+t),n},addYears:(e,t)=>{let n=a(e);return n.setFullYear(n.getFullYear()+t),n},eachYearOfInterval:t=>{let n=a(t.start),r=a(t.end),i=[],o=new Yp(n.getFullYear(),0,1,12,0,0,e);for(;o.getFullYear()<=r.getFullYear();)i.push(new Yp(o,e)),o.setFullYear(o.getFullYear()+1,0,1);return i},getWeek:(e,t)=>Ud(o(e),{weekStartsOn:t?.weekStartsOn??i,firstWeekContainsDate:t?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1}),getISOWeek:e=>Bd(o(e)),differenceInCalendarDays:(e,t)=>sd(o(e),o(t)),differenceInCalendarMonths:(e,t)=>gd(o(e),o(t))}}var Eh=e=>e instanceof HTMLElement?e:null,Dh=e=>[...e.querySelectorAll(`[data-animated-month]`)??[]],Oh=e=>Eh(e.querySelector(`[data-animated-month]`)),kh=e=>Eh(e.querySelector(`[data-animated-caption]`)),Ah=e=>Eh(e.querySelector(`[data-animated-weeks]`)),jh=e=>Eh(e.querySelector(`[data-animated-nav]`)),Mh=e=>Eh(e.querySelector(`[data-animated-weekdays]`));function Nh(e,t,{classNames:n,months:r,focused:i,dateLib:a}){let o=(0,L.useRef)(null),s=(0,L.useRef)(r),c=(0,L.useRef)(!1);(0,L.useLayoutEffect)(()=>{let l=s.current;if(s.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||l.length===0||r.length!==l.length)return;let u=a.isSameMonth(r[0].date,l[0].date),d=a.isAfter(r[0].date,l[0].date),f=d?n[pm.caption_after_enter]:n[pm.caption_before_enter],p=d?n[pm.weeks_after_enter]:n[pm.weeks_before_enter],m=o.current,h=e.current.cloneNode(!0);if(h instanceof HTMLElement?(Dh(h).forEach(e=>{if(!(e instanceof HTMLElement))return;let t=Oh(e);t&&e.contains(t)&&e.removeChild(t);let n=kh(e);n&&n.classList.remove(f);let r=Ah(e);r&&r.classList.remove(p)}),o.current=h):o.current=null,c.current||u||i)return;let g=m instanceof HTMLElement?Dh(m):[],_=Dh(e.current);if(_?.every(e=>e instanceof HTMLElement)&&g?.every(e=>e instanceof HTMLElement)){c.current=!0;let t=[];e.current.style.isolation=`isolate`;let r=jh(e.current);r&&(r.style.zIndex=`1`),_.forEach((i,a)=>{let o=g[a];if(!o)return;i.style.position=`relative`,i.style.overflow=`hidden`;let s=kh(i);s&&s.classList.add(f);let l=Ah(i);l&&l.classList.add(p);let u=()=>{c.current=!1,e.current&&(e.current.style.isolation=``),r&&(r.style.zIndex=``),s&&s.classList.remove(f),l&&l.classList.remove(p),i.style.position=``,i.style.overflow=``,i.contains(o)&&i.removeChild(o)};t.push(u),o.style.pointerEvents=`none`,o.style.position=`absolute`,o.style.overflow=`hidden`,o.setAttribute(`aria-hidden`,`true`);let m=Mh(o);m&&(m.style.opacity=`0`);let h=kh(o);h&&(h.classList.add(d?n[pm.caption_before_exit]:n[pm.caption_after_exit]),h.addEventListener(`animationend`,u));let _=Ah(o);_&&_.classList.add(d?n[pm.weeks_before_exit]:n[pm.weeks_after_exit]),i.insertBefore(o,i.firstChild)})}})}function Ph(e,t,n,r){let i=e[0],a=e[e.length-1],{ISOWeek:o,fixedWeeks:s,broadcastCalendar:c}=n??{},{addDays:l,differenceInCalendarDays:u,differenceInCalendarMonths:d,endOfBroadcastWeek:f,endOfISOWeek:p,endOfMonth:m,endOfWeek:h,isAfter:g,startOfBroadcastWeek:_,startOfISOWeek:v,startOfWeek:y}=r,b=c?_(i,r):o?v(i):y(i),x=c?f(a):o?p(m(a)):h(m(a)),S=t&&(c?f(t):o?p(t):h(t)),C=u(S&&g(x,S)?S:x,b),w=d(a,i)+1,T=[];for(let e=0;e<=C;e++){let t=l(b,e);T.push(t)}let E=(c?35:42)*w;if(s&&T.length<E){let e=E-T.length;for(let t=0;t<e;t++){let e=l(T[T.length-1],1);T.push(e)}}return T}function Fh(e){let t=[];return e.reduce((e,n)=>{let r=n.weeks.reduce((e,t)=>e.concat(t.days.slice()),t.slice());return e.concat(r.slice())},t.slice())}function Ih(e,t,n,r){let{numberOfMonths:i=1}=n,a=[];for(let n=0;n<i;n++){let i=r.addMonths(e,n);if(t&&i>t)break;a.push(i)}return a}function Lh(e,t,n,r){let{month:i,defaultMonth:a,today:o=r.today(),numberOfMonths:s=1}=e,c=i||a||o,{differenceInCalendarMonths:l,addMonths:u,startOfMonth:d}=r;return n&&l(n,c)<s-1&&(c=u(n,-1*(s-1))),t&&l(c,t)<0&&(c=t),d(c)}function Rh(e,t,n,r){let{addDays:i,endOfBroadcastWeek:a,endOfISOWeek:o,endOfMonth:s,endOfWeek:c,getISOWeek:l,getWeek:u,startOfBroadcastWeek:d,startOfISOWeek:f,startOfWeek:p}=r,m=e.reduce((e,m)=>{let h=n.broadcastCalendar?d(m,r):n.ISOWeek?f(m):p(m),g=n.broadcastCalendar?a(m):n.ISOWeek?o(s(m)):c(s(m)),_=t.filter(e=>e>=h&&e<=g),v=n.broadcastCalendar?35:42;if(n.fixedWeeks&&_.length<v){let e=t.filter(e=>{let t=v-_.length;return e>g&&e<=i(g,t)});_.push(...e)}let y=new am(m,_.reduce((e,t)=>{let i=n.ISOWeek?l(t):u(t),a=e.find(e=>e.weekNumber===i),o=new im(t,m,r);return a?a.days.push(o):e.push(new om(i,[o])),e},[]));return e.push(y),e},[]);return n.reverseMonths?m.reverse():m}function zh(e,t){let{startMonth:n,endMonth:r}=e,{startOfYear:i,startOfDay:a,startOfMonth:o,endOfMonth:s,addYears:c,endOfYear:l,today:u}=t,d=e.captionLayout===`dropdown`||e.captionLayout===`dropdown-years`;return n?n=o(n):!n&&d&&(n=i(c(e.today??u(),-100))),r?r=s(r):!r&&d&&(r=l(e.today??u())),[n&&a(n),r&&a(r)]}function Bh(e,t,n,r){if(n.disableNavigation)return;let{pagedNavigation:i,numberOfMonths:a=1}=n,{startOfMonth:o,addMonths:s,differenceInCalendarMonths:c}=r,l=i?a:1,u=o(e);if(!t||!(c(t,e)<a))return s(u,l)}function Vh(e,t,n,r){if(n.disableNavigation)return;let{pagedNavigation:i,numberOfMonths:a}=n,{startOfMonth:o,addMonths:s,differenceInCalendarMonths:c}=r,l=i?a??1:1,u=o(e);if(!t||!(c(u,t)<=0))return s(u,-l)}function Hh(e){return e.reduce((e,t)=>e.concat(t.weeks.slice()),[].slice())}function Uh(e,t){let[n,r]=(0,L.useState)(e);return[t===void 0?n:t,r]}function Wh(e,t){let[n,r]=zh(e,t),{startOfMonth:i,endOfMonth:a}=t,o=Lh(e,n,r,t),[s,c]=Uh(o,e.month?o:void 0);(0,L.useEffect)(()=>{let i=Lh(e,n,r,t);c(i)},[e.timeZone]);let{months:l,weeks:u,days:d,previousMonth:f,nextMonth:p}=(0,L.useMemo)(()=>{let i=Ih(s,r,{numberOfMonths:e.numberOfMonths},t),o=Rh(i,Ph(i,e.endMonth?a(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t);return{months:o,weeks:Hh(o),days:Fh(o),previousMonth:Vh(s,n,e,t),nextMonth:Bh(s,r,e,t)}},[t,s.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:m,onMonthChange:h}=e,g=e=>u.some(t=>t.days.some(t=>t.isEqualTo(e))),_=e=>{if(m)return;let t=i(e);n&&t<i(n)&&(t=i(n)),r&&t>i(r)&&(t=i(r)),c(t),h?.(t)};return{months:l,weeks:u,days:d,navStart:n,navEnd:r,previousMonth:f,nextMonth:p,goToMonth:_,goToDay:e=>{g(e)||_(e.date)}}}var Gh;(function(e){e[e.Today=0]=`Today`,e[e.Selected=1]=`Selected`,e[e.LastFocused=2]=`LastFocused`,e[e.FocusedModifier=3]=`FocusedModifier`})(Gh||={});function Kh(e){return!e[dm.disabled]&&!e[dm.hidden]&&!e[dm.outside]}function qh(e,t,n,r){let i,a=-1;for(let o of e){let e=t(o);Kh(e)&&(e[dm.focused]&&a<Gh.FocusedModifier?(i=o,a=Gh.FocusedModifier):r?.isEqualTo(o)&&a<Gh.LastFocused?(i=o,a=Gh.LastFocused):n(o.date)&&a<Gh.Selected?(i=o,a=Gh.Selected):e[dm.today]&&a<Gh.Today&&(i=o,a=Gh.Today))}return i||=e.find(e=>Kh(t(e))),i}function Jh(e,t,n,r,i,a,o){let{ISOWeek:s,broadcastCalendar:c}=a,{addDays:l,addMonths:u,addWeeks:d,addYears:f,endOfBroadcastWeek:p,endOfISOWeek:m,endOfWeek:h,max:g,min:_,startOfBroadcastWeek:v,startOfISOWeek:y,startOfWeek:b}=o,x={day:l,week:d,month:u,year:f,startOfWeek:e=>c?v(e,o):s?y(e):b(e),endOfWeek:e=>c?p(e):s?m(e):h(e)}[e](n,t===`after`?1:-1);return t===`before`&&r?x=g([r,x]):t===`after`&&i&&(x=_([i,x])),x}function Yh(e,t,n,r,i,a,o,s=0){if(s>365)return;let c=Jh(e,t,n.date,r,i,a,o),l=!!(a.disabled&&Gm(c,a.disabled,o)),u=!!(a.hidden&&Gm(c,a.hidden,o)),d=new im(c,c,o);return!l&&!u?d:Yh(e,t,d,r,i,a,o,s+1)}function Xh(e,t,n,r,i){let{autoFocus:a}=e,[o,s]=(0,L.useState)(),c=qh(t.days,n,r||(()=>!1),o),[l,u]=(0,L.useState)(a?c:void 0);return{isFocusTarget:e=>!!c?.isEqualTo(e),setFocused:u,focused:l,blur:()=>{s(l),u(void 0)},moveFocus:(n,r)=>{if(!l)return;let a=Yh(n,r,l,t.navStart,t.navEnd,e,i);a&&(e.disableNavigation&&!t.days.some(e=>e.isEqualTo(a))||(t.goToDay(a),u(a)))}}}function Zh(e,t){let{selected:n,required:r,onSelect:i}=e,[a,o]=Uh(n,i?n:void 0),s=i?n:a,{isSameDay:c}=t,l=e=>s?.some(t=>c(t,e))??!1,{min:u,max:d}=e;return{selected:s,select:(e,t,n)=>{let a=[...s??[]];if(l(e)){if(s?.length===u||r&&s?.length===1)return;a=s?.filter(t=>!c(t,e))}else a=s?.length===d?[e]:[...a,e];return i||o(a),i?.(a,e,t,n),a},isSelected:l}}function Qh(e,t,n=0,r=0,i=!1,a=rm){let{from:o,to:s}=t||{},{isSameDay:c,isAfter:l,isBefore:u}=a,d;if(!o&&!s)d={from:e,to:n>0?void 0:e};else if(o&&!s)d=c(o,e)?n===0?{from:o,to:e}:i?{from:o,to:void 0}:void 0:u(e,o)?{from:e,to:o}:{from:o,to:e};else if(o&&s)if(c(o,e)&&c(s,e))d=i?{from:o,to:s}:void 0;else if(c(o,e))d={from:o,to:n>0?void 0:e};else if(c(s,e))d={from:e,to:n>0?void 0:e};else if(u(e,o))d={from:e,to:s};else if(l(e,o))d={from:o,to:e};else if(l(e,s))d={from:o,to:e};else throw Error(`Invalid range`);if(d?.from&&d?.to){let t=a.differenceInCalendarDays(d.to,d.from);(r>0&&t>r||n>1&&t<n)&&(d={from:e,to:void 0})}return d}function $h(e,t,n=rm){let r=Array.isArray(t)?t:[t],i=e.from,a=n.differenceInCalendarDays(e.to,e.from),o=Math.min(a,6);for(let e=0;e<=o;e++){if(r.includes(i.getDay()))return!0;i=n.addDays(i,1)}return!1}function eg(e,t,n=rm){return Rm(e,t.from,!1,n)||Rm(e,t.to,!1,n)||Rm(t,e.from,!1,n)||Rm(t,e.to,!1,n)}function tg(e,t,n=rm){let r=Array.isArray(t)?t:[t];if(r.filter(e=>typeof e!=`function`).some(t=>typeof t==`boolean`?t:n.isDate(t)?Rm(e,t,!1,n):Wm(t,n)?t.some(t=>Rm(e,t,!1,n)):Bm(t)?t.from&&t.to?eg(e,{from:t.from,to:t.to},n):!1:Um(t)?$h(e,t.dayOfWeek,n):zm(t)?n.isAfter(t.before,t.after)?eg(e,{from:n.addDays(t.after,1),to:n.addDays(t.before,-1)},n):Gm(e.from,t,n)||Gm(e.to,t,n):Vm(t)||Hm(t)?Gm(e.from,t,n)||Gm(e.to,t,n):!1))return!0;let i=r.filter(e=>typeof e==`function`);if(i.length){let t=e.from,r=n.differenceInCalendarDays(e.to,e.from);for(let e=0;e<=r;e++){if(i.some(e=>e(t)))return!0;t=n.addDays(t,1)}}return!1}function ng(e,t){let{disabled:n,excludeDisabled:r,resetOnSelect:i,selected:a,required:o,onSelect:s}=e,[c,l]=Uh(a,s?a:void 0),u=s?a:c;return{selected:u,select:(a,c,d)=>{let{min:f,max:p}=e,m;if(a){let e=u?.from,n=u?.to,r=!!e&&!!n,s=!!e&&!!n&&t.isSameDay(e,n)&&t.isSameDay(a,e);m=i&&(r||!u?.from)?!o&&s?void 0:{from:a,to:void 0}:Qh(a,u,f,p,o,t)}return r&&n&&m?.from&&m.to&&tg({from:m.from,to:m.to},n,t)&&(m.from=a,m.to=void 0),s||l(m),s?.(m,a,c,d),m},isSelected:e=>u&&Rm(u,e,!1,t)}}function rg(e,t){let{selected:n,required:r,onSelect:i}=e,[a,o]=Uh(n,i?n:void 0),s=i?n:a,{isSameDay:c}=t;return{selected:s,select:(e,t,n)=>{let a=e;return!r&&s&&s&&c(e,s)&&(a=void 0),i||o(a),i?.(a,e,t,n),a},isSelected:e=>s?c(s,e):!1}}function ig(e,t){let n=rg(e,t),r=Zh(e,t),i=ng(e,t);switch(e.mode){case`single`:return n;case`multiple`:return r;case`range`:return i;default:return}}function ag(e,t){return e instanceof Yp&&e.timeZone===t?e:new Yp(e,t)}function og(e,t,n){if(!n)return ag(e,t);let r=ag(e,t),i=new Yp(r.getFullYear(),r.getMonth(),r.getDate(),12,0,0,t);return new Date(i.getTime())}function sg(e,t,n){return typeof e==`boolean`||typeof e==`function`?e:e instanceof Date?og(e,t,n):Array.isArray(e)?e.map(e=>e instanceof Date?og(e,t,n):e):Bm(e)?{...e,from:e.from?ag(e.from,t):e.from,to:e.to?ag(e.to,t):e.to}:zm(e)?{before:og(e.before,t,n),after:og(e.after,t,n)}:Vm(e)?{after:og(e.after,t,n)}:Hm(e)?{before:og(e.before,t,n)}:e}function cg(e,t,n){return e&&(Array.isArray(e)?e.map(e=>sg(e,t,n)):sg(e,t,n))}function lg(e){let t=e,n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&=ag(t.today,n),t.month&&=ag(t.month,n),t.defaultMonth&&=ag(t.defaultMonth,n),t.startMonth&&=ag(t.startMonth,n),t.endMonth&&=ag(t.endMonth,n),t.mode===`single`&&t.selected?t.selected=ag(t.selected,n):t.mode===`multiple`&&t.selected?t.selected=t.selected?.map(e=>ag(e,n)):t.mode===`range`&&t.selected&&(t.selected={from:t.selected.from?ag(t.selected.from,n):t.selected.from,to:t.selected.to?ag(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=cg(t.disabled,n)),t.hidden!==void 0&&(t.hidden=cg(t.hidden,n)),t.modifiers)){let e={};Object.keys(t.modifiers).forEach(r=>{e[r]=cg(t.modifiers?.[r],n)}),t.modifiers=e}let{components:r,formatters:i,labels:a,dateLib:o,locale:s,classNames:c}=(0,L.useMemo)(()=>{let e={...tm,...t.locale},n=t.broadcastCalendar?1:t.weekStartsOn,r=t.noonSafe&&t.timeZone?Th(t.timeZone,{weekStartsOn:n,locale:e}):void 0,i=t.dateLib&&r?{...r,...t.dateLib}:t.dateLib??r,a=new nm({locale:e,weekStartsOn:n,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},i);return{dateLib:a,components:Jm(t.components),formatters:ah(t.formatters),labels:bh(t.labels,a.options),locale:e,classNames:{...Xm(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:o.today()});let{captionLayout:l,mode:u,navLayout:d,numberOfMonths:f=1,onDayBlur:p,onDayClick:m,onDayFocus:h,onDayKeyDown:g,onDayMouseEnter:_,onDayMouseLeave:v,onNextClick:y,onPrevClick:b,showWeekNumber:x,styles:S}=t,{formatCaption:C,formatDay:w,formatMonthDropdown:T,formatWeekNumber:E,formatWeekNumberHeader:D,formatWeekdayName:O,formatYearDropdown:k}=i,A=Wh(t,o),{days:ee,months:te,navStart:ne,navEnd:j,previousMonth:M,nextMonth:re,goToMonth:N}=A,ie=Km(ee,t,ne,j,o),{isSelected:ae,select:oe,selected:se}=ig(t,o)??{},{blur:ce,focused:le,isFocusTarget:P,moveFocus:ue,setFocused:de}=Xh(t,A,ie,ae??(()=>!1),o),{labelDayButton:fe,labelGridcell:pe,labelGrid:me,labelMonthDropdown:he,labelNav:ge,labelPrevious:_e,labelNext:ve,labelWeekday:ye,labelWeekNumber:be,labelWeekNumberHeader:xe,labelYearDropdown:Se}=a,Ce=(0,L.useMemo)(()=>Ch(o,t.ISOWeek,t.broadcastCalendar,t.today),[o,t.ISOWeek,t.broadcastCalendar,t.today]),we=u!==void 0||m!==void 0,Te=(0,L.useCallback)(()=>{M&&(N(M),b?.(M))},[M,N,b]),Ee=(0,L.useCallback)(()=>{re&&(N(re),y?.(re))},[N,re,y]),De=(0,L.useCallback)((e,t)=>n=>{n.preventDefault(),n.stopPropagation(),de(e),!t.disabled&&(oe?.(e.date,t,n),m?.(e.date,t,n))},[oe,m,de]),Oe=(0,L.useCallback)((e,t)=>n=>{de(e),h?.(e.date,t,n)},[h,de]),ke=(0,L.useCallback)((e,t)=>n=>{ce(),p?.(e.date,t,n)},[ce,p]),Ae=(0,L.useCallback)((e,n)=>r=>{let i={ArrowLeft:[r.shiftKey?`month`:`day`,t.dir===`rtl`?`after`:`before`],ArrowRight:[r.shiftKey?`month`:`day`,t.dir===`rtl`?`before`:`after`],ArrowDown:[r.shiftKey?`year`:`week`,`after`],ArrowUp:[r.shiftKey?`year`:`week`,`before`],PageUp:[r.shiftKey?`year`:`month`,`before`],PageDown:[r.shiftKey?`year`:`month`,`after`],Home:[`startOfWeek`,`before`],End:[`endOfWeek`,`after`]};if(i[r.key]){r.preventDefault(),r.stopPropagation();let[e,t]=i[r.key];ue(e,t)}g?.(e.date,n,r)},[ue,g,t.dir]),je=(0,L.useCallback)((e,t)=>n=>{_?.(e.date,t,n)},[_]),Me=(0,L.useCallback)((e,t)=>n=>{v?.(e.date,t,n)},[v]),Ne=(0,L.useCallback)((e,t)=>n=>{let r=Number(n.target.value),i=o.setMonth(o.startOfMonth(e),r);N(o.addMonths(i,-t))},[o,N]),Pe=(0,L.useCallback)((e,t)=>n=>{let r=Number(n.target.value),i=o.setYear(o.startOfMonth(e),r);N(o.addMonths(i,-t))},[o,N]),{className:Fe,style:Ie}=(0,L.useMemo)(()=>({className:[c[W.Root],t.className].filter(Boolean).join(` `),style:{...S?.[W.Root],...t.style}}),[c,t.className,t.style,S]),Le=Ym(t),Re=e=>{let t=S?.[W.Dropdown],n=S?.[e];if(!(!t&&!n))return{...t,...n}},ze=(0,L.useRef)(null);Nh(ze,!!t.animate,{classNames:c,months:te,focused:le,dateLib:o});let Be={dayPickerProps:t,selected:se,select:oe,isSelected:ae,months:te,nextMonth:re,previousMonth:M,goToMonth:N,getModifiers:ie,components:r,classNames:c,styles:S,labels:a,formatters:i};return L.createElement(mm.Provider,{value:Be},L.createElement(r.Root,{rootRef:t.animate?ze:void 0,className:Fe,style:Ie,dir:t.dir,id:t.id,lang:t.lang??s.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t[`aria-label`],"aria-labelledby":t[`aria-labelledby`],...Le},L.createElement(r.Months,{className:c[W.Months],style:S?.[W.Months]},!t.hideNavigation&&!d&&L.createElement(r.Nav,{"data-animated-nav":t.animate?`true`:void 0,className:c[W.Nav],style:S?.[W.Nav],"aria-label":ge(),onPreviousClick:Te,onNextClick:Ee,previousMonth:M,nextMonth:re}),te.map((e,n)=>{let a=t.reverseMonths?te.length-1-n:n;return L.createElement(r.Month,{"data-animated-month":t.animate?`true`:void 0,className:c[W.Month],style:S?.[W.Month],key:n,displayIndex:n,calendarMonth:e},d===`around`&&!t.hideNavigation&&n===0&&L.createElement(r.PreviousMonthButton,{type:`button`,className:c[W.PreviousMonthButton],style:S?.[W.PreviousMonthButton],tabIndex:M?void 0:-1,"aria-disabled":!M||void 0,"aria-label":_e(M),onClick:Te,"data-animated-button":t.animate?`true`:void 0},L.createElement(r.Chevron,{disabled:!M||void 0,className:c[W.Chevron],style:S?.[W.Chevron],orientation:t.dir===`rtl`?`right`:`left`})),L.createElement(r.MonthCaption,{"data-animated-caption":t.animate?`true`:void 0,className:c[W.MonthCaption],style:S?.[W.MonthCaption],calendarMonth:e,displayIndex:n},l?.startsWith(`dropdown`)?L.createElement(r.DropdownNav,{className:c[W.Dropdowns],style:S?.[W.Dropdowns]},(()=>{let n=l===`dropdown`||l===`dropdown-months`?L.createElement(r.MonthsDropdown,{key:`month`,className:c[W.MonthsDropdown],"aria-label":he(),disabled:!!t.disableNavigation,onChange:Ne(e.date,a),options:xh(e.date,ne,j,i,o),style:Re(W.MonthsDropdown),value:o.getMonth(e.date)}):L.createElement(`span`,{key:`month`},T(e.date,o)),s=l===`dropdown`||l===`dropdown-years`?L.createElement(r.YearsDropdown,{key:`year`,className:c[W.YearsDropdown],"aria-label":Se(o.options),disabled:!!t.disableNavigation,onChange:Pe(e.date,a),options:wh(ne,j,i,o,!!t.reverseYears),style:Re(W.YearsDropdown),value:o.getYear(e.date)}):L.createElement(`span`,{key:`year`},k(e.date,o));return o.getMonthYearOrder()===`year-first`?[s,n]:[n,s]})(),L.createElement(`span`,{role:`status`,"aria-live":`polite`,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`,wordWrap:`normal`}},C(e.date,o.options,o))):L.createElement(r.CaptionLabel,{className:c[W.CaptionLabel],style:S?.[W.CaptionLabel],role:`status`,"aria-live":`polite`},C(e.date,o.options,o))),d===`around`&&!t.hideNavigation&&n===f-1&&L.createElement(r.NextMonthButton,{type:`button`,className:c[W.NextMonthButton],style:S?.[W.NextMonthButton],tabIndex:re?void 0:-1,"aria-disabled":!re||void 0,"aria-label":ve(re),onClick:Ee,"data-animated-button":t.animate?`true`:void 0},L.createElement(r.Chevron,{disabled:!re||void 0,className:c[W.Chevron],style:S?.[W.Chevron],orientation:t.dir===`rtl`?`left`:`right`})),n===f-1&&d===`after`&&!t.hideNavigation&&L.createElement(r.Nav,{"data-animated-nav":t.animate?`true`:void 0,className:c[W.Nav],style:S?.[W.Nav],"aria-label":ge(),onPreviousClick:Te,onNextClick:Ee,previousMonth:M,nextMonth:re}),L.createElement(r.MonthGrid,{role:`grid`,"aria-multiselectable":u===`multiple`||u===`range`,"aria-label":me(e.date,o.options,o)||void 0,className:c[W.MonthGrid],style:S?.[W.MonthGrid]},!t.hideWeekdays&&L.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?`true`:void 0,className:c[W.Weekdays],style:S?.[W.Weekdays]},x&&L.createElement(r.WeekNumberHeader,{"aria-label":xe(o.options),className:c[W.WeekNumberHeader],style:S?.[W.WeekNumberHeader],scope:`col`},D()),Ce.map(e=>L.createElement(r.Weekday,{"aria-label":ye(e,o.options,o),className:c[W.Weekday],key:String(e),style:S?.[W.Weekday],scope:`col`},O(e,o.options,o)))),L.createElement(r.Weeks,{"data-animated-weeks":t.animate?`true`:void 0,className:c[W.Weeks],style:S?.[W.Weeks]},e.weeks.map(e=>L.createElement(r.Week,{className:c[W.Week],key:e.weekNumber,style:S?.[W.Week],week:e},x&&L.createElement(r.WeekNumber,{week:e,style:S?.[W.WeekNumber],"aria-label":be(e.weekNumber,{locale:s}),className:c[W.WeekNumber],scope:`row`,role:`rowheader`},E(e.weekNumber,o)),e.days.map(e=>{let{date:n}=e,i=ie(e);if(i[dm.focused]=!i.hidden&&!!le?.isEqualTo(e),i[fm.selected]=ae?.(n)||i.selected,Bm(se)){let{from:e,to:t}=se;i[fm.range_start]=!!(e&&t&&o.isSameDay(n,e)),i[fm.range_end]=!!(e&&t&&o.isSameDay(n,t)),i[fm.range_middle]=Rm(se,n,!0,o)}let a=Sh(i,S,t.modifiersStyles),s=qm(i,c,t.modifiersClassNames),l=!we&&!i.hidden?pe(n,i,o.options,o):void 0;return L.createElement(r.Day,{key:`${e.isoDate}_${e.displayMonthId}`,day:e,modifiers:i,className:s.join(` `),style:a,role:`gridcell`,"aria-selected":i.selected||void 0,"aria-label":l,"data-day":e.isoDate,"data-month":e.outside?e.dateMonthId:void 0,"data-selected":i.selected||void 0,"data-disabled":i.disabled||void 0,"data-hidden":i.hidden||void 0,"data-outside":e.outside||void 0,"data-focused":i.focused||void 0,"data-today":i.today||void 0},!i.hidden&&we?L.createElement(r.DayButton,{className:c[W.DayButton],style:S?.[W.DayButton],type:`button`,day:e,modifiers:i,disabled:!i.focused&&i.disabled||void 0,"aria-disabled":i.focused&&i.disabled||void 0,tabIndex:P(e)?0:-1,"aria-label":fe(n,i,o.options,o),onClick:De(e,i),onBlur:ke(e,i),onFocus:Oe(e,i),onKeyDown:Ae(e,i),onMouseEnter:je(e,i),onMouseLeave:Me(e,i)},w(n,o.options,o)):!i.hidden&&w(e.date,o.options,o))}))))))})),t.footer&&L.createElement(r.Footer,{className:c[W.Footer],style:S?.[W.Footer],role:`status`,"aria-live":`polite`},t.footer)))}var ug=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/calendar.tsx`;function dg({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=Xm();return(0,R.jsxDEV)(lg,{showOutsideDays:n,className:C(`group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...a},classNames:{root:C(`w-fit`,c.root),months:C(`relative flex flex-col gap-4 md:flex-row`,c.months),month:C(`flex w-full flex-col gap-4`,c.month),nav:C(`absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1`,c.nav),button_previous:C(Ze({variant:i}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,c.button_previous),button_next:C(Ze({variant:i}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,c.button_next),month_caption:C(`flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)`,c.month_caption),dropdowns:C(`flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium`,c.dropdowns),dropdown_root:C(`relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50`,c.dropdown_root),dropdown:C(`absolute inset-0 bg-popover opacity-0`,c.dropdown),caption_label:C(`font-medium select-none`,r===`label`?`text-sm`:`flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground`,c.caption_label),month_grid:`w-full border-collapse`,weekdays:C(`flex`,c.weekdays),weekday:C(`flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none`,c.weekday),week:C(`mt-2 flex w-full`,c.week),week_number_header:C(`w-(--cell-size) select-none`,c.week_number_header),week_number:C(`text-[0.8rem] text-muted-foreground select-none`,c.week_number),day:C(`group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md`,s.showWeekNumber?`[&:nth-child(2)[data-selected=true]_button]:rounded-l-md`:`[&:first-child[data-selected=true]_button]:rounded-l-md`,c.day),range_start:C(`rounded-l-md bg-accent`,c.range_start),range_middle:C(`rounded-none`,c.range_middle),range_end:C(`rounded-r-md bg-accent`,c.range_end),today:C(`rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none`,c.today),outside:C(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:C(`text-muted-foreground opacity-50`,c.disabled),hidden:C(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,R.jsxDEV)(`div`,{"data-slot":`calendar`,ref:t,className:C(e),...n},void 0,!1,{fileName:ug,lineNumber:101,columnNumber:18},this),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,R.jsxDEV)(gs,{className:C(`size-4`,e),...n},void 0,!1,{fileName:ug,lineNumber:105,columnNumber:20},this):t===`right`?(0,R.jsxDEV)(_s,{className:C(`size-4`,e),...n},void 0,!1,{fileName:ug,lineNumber:109,columnNumber:20},this):(0,R.jsxDEV)(k,{className:C(`size-4`,e),...n},void 0,!1,{fileName:ug,lineNumber:112,columnNumber:18},this),DayButton:fg,WeekNumber:({children:e,...t})=>(0,R.jsxDEV)(`td`,{...t,children:(0,R.jsxDEV)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e},void 0,!1,{fileName:ug,lineNumber:118,columnNumber:15},this)},void 0,!1,{fileName:ug,lineNumber:117,columnNumber:13},this),...o},...s},void 0,!1,{fileName:ug,lineNumber:23,columnNumber:5},this)}function fg({className:e,day:t,modifiers:n,...r}){let i=Xm(),a=L.useRef(null);return L.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,R.jsxDEV)(F,{ref:a,variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:C(`flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70`,i.day,e),...r},void 0,!1,{fileName:ug,lineNumber:138,columnNumber:5},this)}function pg(e){if(!e)return;let t=Ap(e.slice(0,10),`yyyy-MM-dd`,new Date);return hd(t)?t:void 0}function mg(e){return pf(e,`yyyy-MM-dd`)}function hg(e){let t=pg(e);return t?pf(t,`dd.MM.yyyy`):``}function gg(e){if(!e)return``;let t=hg(e.slice(0,10));if(!t)return``;let n=e.slice(11,16);return n?`${t} ${n}`:t}function _g(e){return{date:e.slice(0,10),time:e.slice(11,16)}}function vg(e,t){return e?t?`${e}T${t}`:e:``}var yg=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/date-picker.tsx`;function bg({value:e,onChange:t,placeholder:n=`…`}){let[r,i]=(0,L.useState)(!1),a=pg(e);return(0,R.jsxDEV)(_e,{open:r,onOpenChange:i,children:[(0,R.jsxDEV)(he,{asChild:!0,children:(0,R.jsxDEV)(F,{variant:`outline`,className:`w-full justify-between px-3 font-normal`,children:[a?pf(a,`dd.MM.yyyy`):(0,R.jsxDEV)(`span`,{className:`text-muted-foreground`,children:n},void 0,!1,{fileName:yg,lineNumber:25,columnNumber:48},this),(0,R.jsxDEV)(k,{className:`size-4 shrink-0 opacity-50`},void 0,!1,{fileName:yg,lineNumber:26,columnNumber:11},this)]},void 0,!0,{fileName:yg,lineNumber:24,columnNumber:9},this)},void 0,!1,{fileName:yg,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(pe,{className:`w-auto overflow-hidden p-0`,align:`start`,children:(0,R.jsxDEV)(dg,{mode:`single`,selected:a,captionLayout:`dropdown`,defaultMonth:a,onSelect:e=>{t(e?mg(e):``),i(!1)}},void 0,!1,{fileName:yg,lineNumber:30,columnNumber:9},this)},void 0,!1,{fileName:yg,lineNumber:29,columnNumber:7},this)]},void 0,!0,{fileName:yg,lineNumber:22,columnNumber:5},this)}function xg(e){return Array.isArray(e)?e.map(e=>xg(e)):e instanceof Date?new re(e.getFullYear(),e.getMonth()+1,e.getDate()):ne(e)}var G=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/month-year-picker.tsx`,Sg=`z-50 w-72 rounded-xl border border-border bg-popover p-3 text-popover-foreground shadow-xl outline-hidden data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,Cg=`w-full table-fixed border-separate border-spacing-1`,wg=C(Ze({variant:`ghost`}),`w-full px-0 font-normal data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:hover:bg-primary`),Tg=C(Ze({variant:`ghost`,size:`icon`}),`size-7`);function Eg({withViewTrigger:e=!1}){return(0,R.jsxDEV)(M.ViewControl,{className:`flex items-center justify-between gap-1 pb-2`,children:[(0,R.jsxDEV)(M.PrevTrigger,{className:Tg,children:(0,R.jsxDEV)(gs,{className:`size-4`},void 0,!1,{fileName:G,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:28,columnNumber:7},this),e?(0,R.jsxDEV)(M.ViewTrigger,{className:C(Ze({variant:`ghost`,size:`sm`}),`h-7 text-sm font-medium`),children:(0,R.jsxDEV)(M.RangeText,{},void 0,!1,{fileName:G,lineNumber:35,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:32,columnNumber:9},this):(0,R.jsxDEV)(`span`,{className:`text-sm font-medium`,children:(0,R.jsxDEV)(M.RangeText,{},void 0,!1,{fileName:G,lineNumber:39,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:38,columnNumber:9},this),(0,R.jsxDEV)(M.NextTrigger,{className:Tg,children:(0,R.jsxDEV)(_s,{className:`size-4`},void 0,!1,{fileName:G,lineNumber:43,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:42,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:27,columnNumber:5},this)}function Dg(){return(0,R.jsxDEV)(M.Context,{children:e=>(0,R.jsxDEV)(M.Table,{className:Cg,children:(0,R.jsxDEV)(M.TableBody,{children:e.getYearsGrid({columns:4}).map((e,t)=>(0,R.jsxDEV)(M.TableRow,{children:e.map((e,t)=>(0,R.jsxDEV)(M.TableCell,{value:e.value,children:(0,R.jsxDEV)(M.TableCellTrigger,{className:wg,children:e.label},void 0,!1,{fileName:G,lineNumber:59,columnNumber:21},this)},t,!1,{fileName:G,lineNumber:58,columnNumber:19},this))},t,!1,{fileName:G,lineNumber:56,columnNumber:15},this))},void 0,!1,{fileName:G,lineNumber:54,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:53,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:51,columnNumber:5},this)}function Og(){return(0,R.jsxDEV)(M.Context,{children:e=>(0,R.jsxDEV)(M.Table,{className:Cg,children:(0,R.jsxDEV)(M.TableBody,{children:e.getMonthsGrid({columns:3,format:`short`}).map((e,t)=>(0,R.jsxDEV)(M.TableRow,{children:e.map((e,t)=>(0,R.jsxDEV)(M.TableCell,{value:e.value,children:(0,R.jsxDEV)(M.TableCellTrigger,{className:wg,children:e.label},void 0,!1,{fileName:G,lineNumber:81,columnNumber:21},this)},t,!1,{fileName:G,lineNumber:80,columnNumber:19},this))},t,!1,{fileName:G,lineNumber:78,columnNumber:15},this))},void 0,!1,{fileName:G,lineNumber:76,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:75,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:73,columnNumber:5},this)}function kg({display:e,placeholder:t}){return(0,R.jsxDEV)(M.Control,{className:`w-full`,children:(0,R.jsxDEV)(M.Trigger,{className:C(Ze({variant:`outline`}),`w-full justify-between px-3 font-normal`),children:[e||(0,R.jsxDEV)(`span`,{className:`text-muted-foreground`,children:t},void 0,!1,{fileName:G,lineNumber:97,columnNumber:21},this),(0,R.jsxDEV)(k,{className:`size-4 shrink-0 opacity-50`},void 0,!1,{fileName:G,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:G,lineNumber:96,columnNumber:7},this)},void 0,!1,{fileName:G,lineNumber:95,columnNumber:5},this)}function Ag({value:e,onChange:t,placeholder:n=`YYYY`}){let r=/^\d{4}$/.test(e)?[xg(`${e}-01-01`)]:[];return(0,R.jsxDEV)(M.Root,{value:r,onValueChange:e=>t(e.value[0]?String(e.value[0].year):``),defaultView:`year`,minView:`year`,children:[(0,R.jsxDEV)(kg,{display:e,placeholder:n},void 0,!1,{fileName:G,lineNumber:120,columnNumber:7},this),(0,R.jsxDEV)(j,{children:(0,R.jsxDEV)(M.Positioner,{children:(0,R.jsxDEV)(M.Content,{className:Sg,children:(0,R.jsxDEV)(M.View,{view:`year`,children:[(0,R.jsxDEV)(Eg,{},void 0,!1,{fileName:G,lineNumber:125,columnNumber:15},this),(0,R.jsxDEV)(Dg,{},void 0,!1,{fileName:G,lineNumber:126,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:124,columnNumber:13},this)},void 0,!1,{fileName:G,lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:122,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:121,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:114,columnNumber:5},this)}function jg({value:e,onChange:t,placeholder:n=`MM.YYYY`}){let r=/^(\d{4})-(\d{2})$/.exec(e),i=r?[xg(`${e}-01`)]:[];return(0,R.jsxDEV)(M.Root,{value:i,onValueChange:e=>{let n=e.value[0];t(n?`${n.year}-${String(n.month).padStart(2,`0`)}`:``)},defaultView:`month`,minView:`month`,children:[(0,R.jsxDEV)(kg,{display:r?`${r[2]}.${r[1]}`:``,placeholder:n},void 0,!1,{fileName:G,lineNumber:149,columnNumber:7},this),(0,R.jsxDEV)(j,{children:(0,R.jsxDEV)(M.Positioner,{children:(0,R.jsxDEV)(M.Content,{className:Sg,children:[(0,R.jsxDEV)(M.View,{view:`month`,children:[(0,R.jsxDEV)(Eg,{withViewTrigger:!0},void 0,!1,{fileName:G,lineNumber:154,columnNumber:15},this),(0,R.jsxDEV)(Og,{},void 0,!1,{fileName:G,lineNumber:155,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:153,columnNumber:13},this),(0,R.jsxDEV)(M.View,{view:`year`,children:[(0,R.jsxDEV)(Eg,{},void 0,!1,{fileName:G,lineNumber:158,columnNumber:15},this),(0,R.jsxDEV)(Dg,{},void 0,!1,{fileName:G,lineNumber:159,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:157,columnNumber:13},this)]},void 0,!0,{fileName:G,lineNumber:152,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:151,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:150,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:140,columnNumber:5},this)}var Mg=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/time-picker.tsx`,Ng=`TimePicker`,Pg=`TimePickerInputGroup`,Fg=`TimePickerInput`,Ig=`TimePickerTrigger`,Lg=`TimePickerContent`,Rg=`TimePickerColumn`,zg=`TimePickerColumnItem`,Bg=`TimePickerHour`,Vg=`TimePickerMinute`,Hg=`TimePickerSecond`,Ug=`TimePickerClear`,Wg=1,Gg=`--`,Kg=void 0,qg=[`hour`,`minute`,`second`,`period`];function Jg(e,t=!1){let n=document.activeElement;for(let r of e){let e=r.current;if(e&&(e===n||(e.focus({preventScroll:t}),document.activeElement!==n)))return}}function Yg(e){return e.sort((e,t)=>{let n=e.ref.current,r=t.ref.current;if(!n||!r)return 0;let i=n.compareDocumentPosition(r);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Xg(e){let t=new Date(2e3,0,1,13,0,0),n=new Intl.DateTimeFormat(e,{hour:`numeric`}).format(t);return/am|pm/i.test(n)||!n.includes(`13`)}function Zg(e){if(!e)return null;let t=e.split(`:`);if(t.length<2)return null;let n={};if(t[0]&&t[0]!==Gg){let e=Number.parseInt(t[0],10);!Number.isNaN(e)&&e>=0&&e<=23&&(n.hour=e)}if(t[1]&&t[1]!==Gg){let e=Number.parseInt(t[1],10);!Number.isNaN(e)&&e>=0&&e<=59&&(n.minute=e)}if(t[2]&&t[2]!==Gg){let e=Number.parseInt(t[2],10);!Number.isNaN(e)&&e>=0&&e<=59&&(n.second=e)}return n.hour===void 0&&n.minute===void 0&&n.second===void 0?null:n}function Qg(e,t){let n=e.hour===void 0?Gg:e.hour.toString().padStart(2,`0`),r=e.minute===void 0?Gg:e.minute.toString().padStart(2,`0`),i=e.second===void 0?Gg:e.second.toString().padStart(2,`0`);return t?`${n}:${r}:${i}`:`${n}:${r}`}function $g(e){let t=e>=12?`PM`:`AM`;return{hour:e%12||12,period:t}}function e_(e,t){return e===12?t===`PM`?12:0:t===`PM`?e+12:e}function t_(e,t,n){return Math.min(Math.max(e,t),n)}var n_=L.createContext(null);function r_(e){let t=L.useContext(n_);if(!t)throw Error(`\`${e}\` must be used within \`${Ng}\``);return t}function i_(e,t){let n=L.useContext(n_),r=t??n;if(!r)throw Error(`\`useStore\` must be used within \`${Ng}\``);let i=L.useCallback(()=>e(r.getState()),[r,e]);return L.useSyncExternalStore(r.subscribe,i,i)}var a_=L.createContext(null);function o_(e){let t=L.useContext(a_);if(!t)throw Error(`\`${e}\` must be used within \`${Ng}\``);return t}function s_(e){let{value:t,defaultValue:n,onValueChange:r,open:i,defaultOpen:a,onOpenChange:o,openOnFocus:s=!1,inputGroupClickAction:c=`focus`,min:l,max:u,hourStep:d=Wg,minuteStep:f=Wg,secondStep:p=Wg,segmentPlaceholder:m=Gg,locale:h=Kg,name:g,asChild:_,disabled:v=!1,invalid:y=!1,readOnly:b=!1,required:x=!1,showSeconds:S=!1,className:w,children:T,id:E,...D}=e,O=L.useId(),k=E??O,A=L.useId(),ee=L.useId(),te=L.useId(),ne=L.useRef(null),j=L.useRef(null),[M,re]=L.useState(null),N=!M||!!M.closest(`form`),ie=ou(()=>new Set),oe=ou(()=>({value:t??n??``,open:i??a??!1,openedViaFocus:!1})),se=au({onValueChange:r,onOpenChange:o}),ce=L.useMemo(()=>({subscribe:e=>(ie.current.add(e),()=>ie.current.delete(e)),getState:()=>oe.current,setState:(e,t)=>{Object.is(oe.current[e],t)||(e===`value`&&typeof t==`string`?(oe.current.value=t,se.current.onValueChange?.(t)):e===`open`&&typeof t==`boolean`?(oe.current.open=t,se.current.onOpenChange?.(t),t||(oe.current.openedViaFocus=!1)):oe.current[e]=t,ce.notify())},notify:()=>{for(let e of ie.current)e()}}),[ie,oe,se]),le=i_(e=>e.value,ce);iu(()=>{t!==void 0&&ce.setState(`value`,t)},[t]),iu(()=>{i!==void 0&&ce.setState(`open`,i)},[i]);let P=i_(e=>e.open,ce),ue=L.useCallback(e=>ce.setState(`open`,e),[ce]),de=L.useMemo(()=>Xg(h),[h]),fe=L.useMemo(()=>typeof m==`string`?{hour:m,minute:m,second:m,period:m}:{hour:m.hour??Gg,minute:m.minute??Gg,second:m.second??Gg,period:m.period??Gg},[m]),pe=L.useMemo(()=>({id:k,inputGroupId:A,labelId:ee,triggerId:te,inputGroupRef:ne,triggerRef:j,openOnFocus:s,inputGroupClickAction:c,onInputGroupChange:re,disabled:v,readOnly:b,required:x,invalid:y,showSeconds:S,is12Hour:de,minuteStep:f,secondStep:p,hourStep:d,segmentPlaceholder:fe,min:l,max:u}),[k,A,ee,te,s,c,v,b,x,y,S,de,f,p,d,fe,l,u]),me=_?ae:`div`;return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(n_.Provider,{value:ce,children:(0,R.jsxDEV)(a_.Provider,{value:pe,children:(0,R.jsxDEV)(_e,{open:P,onOpenChange:ue,children:(0,R.jsxDEV)(me,{"data-slot":`time-picker`,"data-disabled":v?``:void 0,"data-invalid":y?``:void 0,...D,className:C(`relative`,w),children:T},void 0,!1,{fileName:Mg,lineNumber:492,columnNumber:13},this)},void 0,!1,{fileName:Mg,lineNumber:491,columnNumber:11},this)},void 0,!1,{fileName:Mg,lineNumber:490,columnNumber:9},this)},void 0,!1,{fileName:Mg,lineNumber:489,columnNumber:7},this),N&&(0,R.jsxDEV)(ru,{type:`hidden`,control:M,name:g,value:le,disabled:v,readOnly:b,required:x},void 0,!1,{fileName:Mg,lineNumber:505,columnNumber:9},this)]},void 0,!0,{fileName:Mg,lineNumber:488,columnNumber:5},this)}var c_=L.createContext(null);function l_(e){let t=L.useContext(c_);if(!t)throw Error(`\`${e}\` must be used within \`${Pg}\``);return t}function u_(e){let{onPointerDown:t,onClick:n,asChild:r,className:i,style:a,ref:o,...s}=e,{inputGroupId:c,labelId:l,onInputGroupChange:u,disabled:d,readOnly:f,invalid:p,segmentPlaceholder:m,inputGroupRef:h,triggerRef:g,inputGroupClickAction:_}=o_(Pg),v=r_(Pg),y=Fs(o,h,u),b=L.useRef(new Map),x=L.useCallback((e,t)=>{b.current.set(e,t)},[]),S=L.useCallback(e=>{b.current.delete(e)},[]),w=L.useCallback(e=>{let t=[`hour`,`minute`,`second`,`period`],n=t.indexOf(e);if(n===-1||n===t.length-1)return null;for(let e=n+1;e<t.length;e++){let n=t[e];if(n){let e=b.current.get(n);if(e?.current)return e}}return null},[]),T=L.useCallback(e=>{if(t?.(e),d||f||e.defaultPrevented)return;let n=e.target;n.tagName===`INPUT`||n.closest(`input`)||g.current?.contains(n)||e.preventDefault()},[t,d,f,g]),E=L.useCallback(e=>{if(n?.(e),d||f||e.defaultPrevented)return;let t=e.target;if(!(t.tagName===`INPUT`||t.closest(`input`))&&!g.current?.contains(t))if(_===`open`)v.setState(`open`,!0);else{let e=document.activeElement;if(!(e&&e.tagName===`INPUT`&&h.current?.contains(e)))for(let e of qg){let t=b.current.get(e);if(t?.current){t.current.focus(),t.current.select();break}}}},[n,d,f,_,v,g,h]),D=L.useMemo(()=>({onInputRegister:x,onInputUnregister:S,getNextInput:w}),[x,S,w]),O=r?ae:`div`;return(0,R.jsxDEV)(c_.Provider,{value:D,children:(0,R.jsxDEV)(ye,{asChild:!0,children:(0,R.jsxDEV)(O,{role:`group`,id:c,"aria-labelledby":l,"data-slot":`time-picker-input-group`,"data-disabled":d?``:void 0,"data-invalid":p?``:void 0,...s,className:C(`flex h-10 w-full cursor-text items-center gap-0.5 rounded-md border border-input bg-background px-3 py-2 shadow-xs outline-none transition-shadow`,`has-[input:focus]:border-ring has-[input:focus]:ring-[3px] has-[input:focus]:ring-ring/50`,p&&`border-destructive ring-destructive/20`,d&&`cursor-not-allowed opacity-50`,i),style:{"--time-picker-hour-input-width":`${m.hour.length}ch`,"--time-picker-minute-input-width":`${m.minute.length}ch`,"--time-picker-second-input-width":`${m.second.length}ch`,"--time-picker-period-input-width":`${Math.max(m.period.length,2)+.5}ch`,...a},ref:y,onPointerDown:T,onClick:E},void 0,!1,{fileName:Mg,lineNumber:716,columnNumber:9},this)},void 0,!1,{fileName:Mg,lineNumber:715,columnNumber:7},this)},void 0,!1,{fileName:Mg,lineNumber:714,columnNumber:5},this)}function d_(e){let{segment:t,onBlur:n,onChange:r,onClick:i,onFocus:a,onKeyDown:o,disabled:s,readOnly:c,className:l,style:u,ref:d,...f}=e,{is12Hour:p,showSeconds:m,disabled:h,readOnly:g,segmentPlaceholder:_,openOnFocus:v}=o_(Fg),y=r_(Fg),b=l_(Fg),x=s||h,S=c||g,w=Zg(i_(e=>e.value)),T=L.useRef(null),E=Fs(d,T);iu(()=>{if(t)return b.onInputRegister(t,T),()=>b.onInputUnregister(t)},[b,t]);let D=L.useCallback(()=>{if(!w)return t?_[t]:``;switch(t){case`hour`:return w.hour===void 0?_.hour:p?$g(w.hour).hour.toString().padStart(2,`0`):w.hour.toString().padStart(2,`0`);case`minute`:return w.minute===void 0?_.minute:w.minute.toString().padStart(2,`0`);case`second`:return w.second===void 0?_.second:w.second.toString().padStart(2,`0`);case`period`:return!w||w.hour===void 0?_.period:$g(w.hour).period;default:return``}},[w,t,p,_]),[O,k]=L.useState(D()),[A,ee]=L.useState(!1),[te,ne]=L.useState(null);L.useEffect(()=>{A||(k(D()),ne(null))},[D,A]);let j=L.useCallback((e,n=!1)=>{let r=t?_[t]:Gg;if(!e||e===r||!w&&!n)return;let i={...w??{}};switch(t){case`hour`:{let t=Number.parseInt(e,10);if(!Number.isNaN(t))if(p){let e=t_(t,1,12),n;n=w?.period===void 0?w?.hour===void 0?$g(new Date().getHours()).period:$g(w.hour).period:w.period,i.hour=e_(e,n),w?.period!==void 0&&(i.period=w.period)}else i.hour=t_(t,0,23);break}case`minute`:{let t=Number.parseInt(e,10);Number.isNaN(t)||(i.minute=t_(t,0,59));break}case`second`:{let t=Number.parseInt(e,10);Number.isNaN(t)||(i.second=t_(t,0,59));break}case`period`:(e===`AM`||e===`PM`)&&(i.period=e,w&&w.hour!==void 0&&(i.hour=e_($g(w.hour).hour,e)));break}let a=Qg(i,m);y.setState(`value`,a)},[w,t,p,m,y,_]),M=L.useCallback(e=>{if(n?.(e),e.defaultPrevented)return;ee(!1);let r=t?_[t]:Gg;if(O&&O!==r&&O.length>0){let e=O;if(t!==`period`){if(O.length===2)e=O;else if(O.length===1){let t=Number.parseInt(O,10);Number.isNaN(t)||(e=t.toString().padStart(2,`0`))}}j(e,!0),queueMicrotask(()=>{let e=Zg(y.getState().value);if(e){let t=new Date,n={...e},r=!1;if(n.hour===void 0&&(n.hour=t.getHours(),r=!0),n.minute===void 0&&(n.minute=t.getMinutes(),r=!0),m&&n.second===void 0&&(n.second=t.getSeconds(),r=!0),r){let e=Qg(n,m);y.setState(`value`,e)}}})}k(D()),ne(null)},[n,O,j,D,t,_,m,y]),re=L.useCallback(e=>{if(r?.(e),e.defaultPrevented)return;let n=e.target.value,i=t?_[t]:Gg;if(O===i&&n.length>0&&n!==i&&(n=n.replace(RegExp(`^${i}`),``)),t===`period`){let e=n.charAt(0).toUpperCase(),t=null;e===`A`||e===`1`?t=`AM`:(e===`P`||e===`2`)&&(t=`PM`),t&&(k(t),j(t,!0),queueMicrotask(()=>{T.current?.select()}));return}if((t===`hour`||t===`minute`||t===`second`)&&(n=n.replace(/\D/g,``)),n.length>2&&(n=n.slice(0,2)),t===`hour`||t===`minute`||t===`second`){let e=Number.parseInt(n,10);if(!Number.isNaN(e)&&n.length>0){if(te!==null&&n.length===1){let e=te+n,r=Number.parseInt(e,10);if(!Number.isNaN(r)){let e=r.toString().padStart(2,`0`);k(e),j(e,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}});return}}let r=t===`hour`?p?1:2:5,i=Number.parseInt(n[0]??`0`,10)>r;if(n.length===1)if(i){let n=e.toString().padStart(2,`0`);k(n),j(n,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}})}else{let t=e.toString().padStart(2,`0`);k(t),ne(n),queueMicrotask(()=>{T.current?.select()})}else if(n.length===2){let n=e.toString().padStart(2,`0`);k(n),j(n,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}})}}else n.length===0&&(k(``),ne(null))}},[t,j,r,O,p,b,te,_]),N=L.useCallback(e=>{i?.(e),!e.defaultPrevented&&e.currentTarget.select()},[i]),ie=L.useCallback(e=>{a?.(e),!e.defaultPrevented&&(ee(!0),ne(null),v&&!y.getState().open&&(y.setState(`openedViaFocus`,!0),y.setState(`open`,!0)),queueMicrotask(()=>e.target.select()))},[a,v,y]),ae=L.useCallback(e=>{if(o?.(e),!e.defaultPrevented){if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`,n=T.current?.closest(`[data-slot="time-picker-input-group"]`);if(n&&T.current){let e=Array.from(n.querySelectorAll(`input[type="text"]`)),r=e.indexOf(T.current);if(r!==-1){let n=e[t?Math.max(0,r-1):Math.min(e.length-1,r+1)];n&&n!==T.current&&(n.focus(),n.select())}}return}if(e.key===`Backspace`||e.key===`Delete`){let n=T.current;if(n&&n.selectionStart===0&&n.selectionEnd===n.value.length){e.preventDefault();let n=t?_[t]:Gg;if(k(n),ne(null),w){let e={...w};switch(t){case`hour`:delete e.hour;break;case`minute`:delete e.minute;break;case`second`:delete e.second;break;case`period`:delete e.period;break}if(e.hour!==void 0||e.minute!==void 0||e.second!==void 0||e.period!==void 0){let t=Qg(e,m);y.setState(`value`,t)}else y.setState(`value`,``)}else y.setState(`value`,``);queueMicrotask(()=>{T.current?.select()});return}}if(t===`period`){let t=e.key.toLowerCase();if(t===`a`||t===`p`||t===`1`||t===`2`){e.preventDefault();let n;n=t===`a`||t===`1`?`AM`:`PM`,k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}else if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let t=_.period,n=O===t||O===``?`AM`:O,r=n===`AM`||n===`A`?`PM`:`AM`;k(r),j(r,!0),queueMicrotask(()=>{T.current?.select()})}return}if(e.key===`Tab`){let e=t?_[t]:Gg;if(O&&O.length>0&&O!==e){if(O.length===2)j(O,!0);else if(O.length===1){let e=Number.parseInt(O,10);if(!Number.isNaN(e)){let t=e.toString().padStart(2,`0`);j(t,!0)}}}return}if(e.key===`Enter`){e.preventDefault();let n=t?_[t]:Gg;if(O&&O.length>0&&O!==n){if(O.length===2)j(O,!0);else if(O.length===1){let e=Number.parseInt(O,10);if(!Number.isNaN(e)){let t=e.toString().padStart(2,`0`);j(t,!0)}}}queueMicrotask(()=>{T.current?.select()})}if(e.key===`Escape`&&(e.preventDefault(),k(D()),T.current?.blur()),e.key===`ArrowUp`){e.preventDefault();let n=t?_[t]:Gg;if(O===n||O===``){let e=(t===`hour`&&p?12:0).toString().padStart(2,`0`);k(e),j(e,!0),queueMicrotask(()=>{T.current?.select()});return}let r=Number.parseInt(O,10);if(!Number.isNaN(r)){let e;switch(t){case`hour`:e=p?r===12?1:r+1:r===23?0:r+1;break;case`minute`:case`second`:e=r===59?0:r+1;break;default:return}let n=e.toString().padStart(2,`0`);k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}}if(e.key===`ArrowDown`){e.preventDefault();let n=t?_[t]:Gg;if(O===n||O===``){let e=(t===`hour`?p?12:23:59).toString().padStart(2,`0`);k(e),j(e,!0),queueMicrotask(()=>{T.current?.select()});return}let r=Number.parseInt(O,10);if(!Number.isNaN(r)){let e;switch(t){case`hour`:e=p?r===1?12:r-1:r===0?23:r-1;break;case`minute`:case`second`:e=r===0?59:r-1;break;default:return}let n=e.toString().padStart(2,`0`);k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}}}},[o,O,t,p,D,j,m,w,y,_]),oe=A?O:D(),se=t?`var(--time-picker-${t}-input-width)`:`2ch`;return(0,R.jsxDEV)(`input`,{type:`text`,inputMode:t===`period`?`text`:`numeric`,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`,spellCheck:!1,translate:`no`,...f,disabled:x,readOnly:S,className:C(`inline-flex h-full items-center justify-center border-0 bg-transparent text-center text-sm tabular-nums outline-none transition-colors focus:bg-transparent disabled:cursor-not-allowed disabled:opacity-50`,l),style:{width:se,...u},ref:E,value:oe,onBlur:M,onChange:re,onClick:N,onFocus:ie,onKeyDown:ae},void 0,!1,{fileName:Mg,lineNumber:1408,columnNumber:5},this)}function f_(e){let{className:t,children:n,disabled:r,ref:i,...a}=e,{triggerId:o,disabled:s,triggerRef:c}=o_(Ig);return(0,R.jsxDEV)(he,{type:`button`,id:o,"data-slot":`time-picker-trigger`,disabled:r||s,ref:Fs(i,c),...a,className:C(`ml-auto flex items-center text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none [&>svg:not([class*='size-'])]:size-4`,t),children:n??(0,R.jsxDEV)(Ce,{},void 0,!1,{fileName:Mg,lineNumber:1464,columnNumber:20},this)},void 0,!1,{fileName:Mg,lineNumber:1452,columnNumber:5},this)}var p_=L.createContext(null);function m_(e){let t=L.useContext(p_);if(!t)throw Error(`\`${e}\` must be used within \`${Ng}\``);return t}function h_(e){let{side:t=`bottom`,align:n=`start`,sideOffset:r=6,className:i,onOpenAutoFocus:a,onInteractOutside:o,...s}=e,c=r_(Lg),{openOnFocus:l,inputGroupRef:u}=o_(Lg),d=L.useRef(new Map),f=L.useCallback(e=>{d.current.set(e.id,e)},[]),p=L.useCallback(e=>{d.current.delete(e)},[]),m=L.useCallback(()=>Yg(Array.from(d.current.entries()).map(([e,{ref:t,getSelectedItemRef:n,getItems:r}])=>({id:e,ref:t,getSelectedItemRef:n,getItems:r})).filter(e=>e.ref.current!==null)),[]),h=L.useMemo(()=>({getColumns:m,onColumnRegister:f,onColumnUnregister:p}),[m,f,p]),g=L.useCallback(e=>{if(a?.(e),e.defaultPrevented)return;e.preventDefault();let{openedViaFocus:t}=c.getState();if(t){c.setState(`openedViaFocus`,!1);return}let n=m()[0];if(!n)return;let r=n.getItems(),i=r.find(e=>e.selected);Jg(i?[i.ref,...r.map(e=>e.ref)]:r.map(e=>e.ref),!1)},[a,m,c]),_=L.useCallback(e=>{if(o?.(e),!e.defaultPrevented&&l&&u.current){let t=e.target;if(!(t instanceof Node))return;u.current.contains(t)&&e.preventDefault()}},[o,l,u]);return(0,R.jsxDEV)(p_.Provider,{value:h,children:(0,R.jsxDEV)(pe,{"data-slot":`time-picker-content`,side:t,align:n,sideOffset:r,...s,className:C(`flex w-auto max-w-(--radix-popover-trigger-width) p-0`,i),onOpenAutoFocus:g,onInteractOutside:_},void 0,!1,{fileName:Mg,lineNumber:1590,columnNumber:7},this)},void 0,!1,{fileName:Mg,lineNumber:1589,columnNumber:5},this)}var g_=L.createContext(null);function __(e){let t=L.useContext(g_);if(!t)throw Error(`\`${e}\` must be used within a column`);return t}function v_(e){let{children:t,className:n,ref:r,...i}=e,a=L.useId(),o=L.useRef(null),s=Fs(r,o),c=L.useRef(new Map),l=m_(Rg),u=L.useCallback((e,t,n)=>{c.current.set(e,{ref:t,selected:n})},[]),d=L.useCallback(e=>{c.current.delete(e)},[]),f=L.useCallback(()=>Yg(Array.from(c.current.entries()).map(([e,{ref:t,selected:n}])=>({value:e,ref:t,selected:n})).filter(e=>e.ref.current)),[]),p=L.useCallback(()=>f().find(e=>e.selected)?.ref??null,[f]);iu(()=>(l.onColumnRegister({id:a,ref:o,getSelectedItemRef:p,getItems:f}),()=>l.onColumnUnregister(a)),[l,a,p,f]);let m=L.useMemo(()=>({getItems:f,onItemRegister:u,onItemUnregister:d}),[f,u,d]);return(0,R.jsxDEV)(g_.Provider,{value:m,children:(0,R.jsxDEV)(`div`,{ref:s,"data-slot":`time-picker-column`,...i,className:C(`flex flex-col gap-1 not-last:border-r p-1`,n),children:t},void 0,!1,{fileName:Mg,lineNumber:1701,columnNumber:7},this)},void 0,!1,{fileName:Mg,lineNumber:1700,columnNumber:5},this)}function y_(e){let{value:t,selected:n=!1,format:r=`numeric`,className:i,ref:a,...o}=e,s=L.useRef(null),c=Fs(a,s),l=__(zg),u=m_(zg);iu(()=>(l.onItemRegister(t,s,n),()=>l.onItemUnregister(t)),[l,t,n]),iu(()=>{n&&s.current&&s.current.scrollIntoView({block:`nearest`})},[n]);let d=L.useCallback(e=>{o.onClick?.(e),!e.defaultPrevented&&s.current?.focus()},[o.onClick]),f=L.useCallback(e=>{if(o.onKeyDown?.(e),!e.defaultPrevented)if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let n=l.getItems().sort((e,t)=>typeof e.value==`number`&&typeof t.value==`number`?e.value-t.value:0),r=n.findIndex(e=>e.value===t),i;i=e.key===`ArrowUp`?r>0?r-1:n.length-1:r<n.length-1?r+1:0;let a=n[i];a?.ref.current?.focus(),a?.ref.current?.click()}else(e.key===`Tab`||e.key===`ArrowLeft`||e.key===`ArrowRight`)&&u&&(e.preventDefault(),queueMicrotask(()=>{let t=u.getColumns();if(t.length===0)return;let n=t.findIndex(e=>e.ref.current?.contains(s.current)??!1);if(n===-1)return;let r=t[e.key===`ArrowLeft`||e.key===`Tab`&&e.shiftKey?n>0?n-1:t.length-1:n<t.length-1?n+1:0];if(r?.ref.current){let e=r.getItems(),t=e.find(e=>e.selected);Jg(t?[t.ref,...e.map(e=>e.ref)]:e.map(e=>e.ref),!1)}}))},[o.onKeyDown,l,u,t]),p=typeof t==`number`&&r===`2-digit`?t.toString().padStart(2,`0`):t.toString();return(0,R.jsxDEV)(`button`,{type:`button`,...o,ref:c,"data-selected":n?``:void 0,className:C(`w-full rounded px-3 py-1.5 text-left text-sm hover:bg-accent hover:text-accent-foreground focus:border-ring focus:outline-none focus:ring-[3px] focus:ring-ring/50`,`data-selected:bg-primary data-selected:text-primary-foreground data-selected:hover:bg-primary data-selected:hover:text-primary-foreground`,i),onClick:d,onKeyDown:f,children:p},void 0,!1,{fileName:Mg,lineNumber:1834,columnNumber:5},this)}function b_(e){let{asChild:t,format:n=`numeric`,className:r,...i}=e,{is12Hour:a,hourStep:o,showSeconds:s}=o_(Bg),c=r_(Bg),l=Zg(i_(e=>e.value)),u=Array.from({length:Math.ceil(a?12/o:24/o)},(e,t)=>{if(a){let e=t*o%12;return e===0?12:e}return t*o}),d=L.useCallback(e=>{let t=new Date,n=l??{},r=e;if(a){let n;n=l?.period===void 0?l?.hour===void 0?$g(t.getHours()).period:$g(l.hour).period:l.period,r=e_(e,n)}let i={...n,hour:r};l&&l.period!==void 0&&(i.period=l.period),i.minute===void 0&&(i.minute=t.getMinutes()),s&&i.second===void 0&&(i.second=t.getSeconds());let o=Qg(i,s);c.setState(`value`,o)},[l,s,a,c]),f=new Date,p=l?.hour??f.getHours(),m=a?$g(p).hour:p;return(0,R.jsxDEV)(t?ae:v_,{"data-slot":`time-picker-hour`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:u.map(e=>(0,R.jsxDEV)(y_,{value:e,selected:m===e,format:n,onClick:()=>d(e)},e,!1,{fileName:Mg,lineNumber:1931,columnNumber:9},this))},void 0,!1,{fileName:Mg,lineNumber:1922,columnNumber:5},this)}function x_(e){let{asChild:t,format:n=`2-digit`,className:r,...i}=e,{minuteStep:a,showSeconds:o}=o_(Vg),s=r_(Vg),c=Zg(i_(e=>e.value)),l=Array.from({length:Math.ceil(60/a)},(e,t)=>t*a),u=L.useCallback(e=>{let t=new Date,n={...c??{},minute:e};n.hour===void 0&&(n.hour=t.getHours()),o&&n.second===void 0&&(n.second=t.getSeconds());let r=Qg(n,o);s.setState(`value`,r)},[c,o,s]),d=t?ae:v_,f=new Date,p=c?.minute??f.getMinutes();return(0,R.jsxDEV)(d,{"data-slot":`time-picker-minute`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:l.map(e=>(0,R.jsxDEV)(y_,{value:e,selected:p===e,format:n,onClick:()=>u(e)},e,!1,{fileName:Mg,lineNumber:1996,columnNumber:9},this))},void 0,!1,{fileName:Mg,lineNumber:1987,columnNumber:5},this)}function S_(e){let{asChild:t,format:n=`2-digit`,className:r,...i}=e,{secondStep:a}=o_(Hg),o=r_(Hg),s=Zg(i_(e=>e.value)),c=Array.from({length:Math.ceil(60/a)},(e,t)=>t*a),l=L.useCallback(e=>{let t=new Date,n={...s??{},second:e};n.hour===void 0&&(n.hour=t.getHours()),n.minute===void 0&&(n.minute=t.getMinutes());let r=Qg(n,!0);o.setState(`value`,r)},[s,o]),u=t?ae:v_,d=new Date,f=s?.second??d.getSeconds();return(0,R.jsxDEV)(u,{"data-slot":`time-picker-second`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:c.map(e=>(0,R.jsxDEV)(y_,{value:e,selected:f===e,format:n,onClick:()=>l(e)},e,!1,{fileName:Mg,lineNumber:2061,columnNumber:9},this))},void 0,!1,{fileName:Mg,lineNumber:2052,columnNumber:5},this)}function C_(e){let{asChild:t,children:n,...r}=e;return(0,R.jsxDEV)(t?ae:`span`,{"aria-hidden":`true`,"data-slot":`time-picker-separator`,...r,children:n??`:`},void 0,!1,{fileName:Mg,lineNumber:2144,columnNumber:5},this)}function w_(e){let{asChild:t,className:n,children:r,disabled:i,...a}=e,{disabled:o,readOnly:s}=o_(Ug),c=r_(Ug),l=i||o,u=L.useCallback(e=>{a.onClick?.(e),!e.defaultPrevented&&(e.preventDefault(),!(o||s)&&c.setState(`value`,``))},[a.onClick,o,s,c]);return(0,R.jsxDEV)(t?ae:`button`,{type:`button`,"data-slot":`time-picker-clear`,disabled:l,...a,className:C(`inline-flex items-center justify-center rounded-sm font-medium text-sm transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50`,n),onClick:u,children:r??`Clear`},void 0,!1,{fileName:Mg,lineNumber:2183,columnNumber:5},this)}var K=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/datetime.tsx`;function T_(e,t){return e.granularity??t}function E_(e,t=`minute`){let n=String(e??``);return t===`second`?n.length>19?n.slice(0,19):n:t===`hour`?n.length>13?n.slice(0,13):n:n.length>16?n.slice(0,16):n}function D_(e,t){return function(n){return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(Ae,{name:e,size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:K,lineNumber:68,columnNumber:9},this),(0,R.jsxDEV)(`span`,{children:t?t(String(n)):String(n)},void 0,!1,{fileName:K,lineNumber:69,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:67,columnNumber:7},this)}}function O_({value:e,format:t,icon:n}){return(0,R.jsxDEV)(st,{items:kn(e,[]),content:D_(n,t),reserveEditor:!0},void 0,!1,{fileName:K,lineNumber:78,columnNumber:10},this)}function k_({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(O_,{value:t,icon:`lucide:calendar`},void 0,!1,{fileName:K,lineNumber:84,columnNumber:48},this):yt(t,t=>{let n=T_(e.hints,`day`);return(0,R.jsxDEV)(`span`,{children:n===`month`||n===`year`?String(t):hg(String(t))||String(t)},void 0,!1,{fileName:K,lineNumber:88,columnNumber:12},this)})}function A_({name:e,field:t,value:n,onChange:r}){let i=T_(t.hints,`day`),a=i===`month`?`month`:i===`year`?`number`:`date`;if(t.hints.multiple===!0)return(0,R.jsxDEV)(bt,{value:n,onChange:r,display:D_(`lucide:calendar`),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:a,value:e,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:102,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:97,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);return i===`year`?(0,R.jsxDEV)(Ag,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:123,columnNumber:28},this):i===`month`?(0,R.jsxDEV)(jg,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:124,columnNumber:29},this):(0,R.jsxDEV)(bg,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:125,columnNumber:10},this)}function j_(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:t=>(0,R.jsxDEV)(k_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:141,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(A_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:143,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:130,columnNumber:5},this)}function M_(e,t){if(e==null||e===``)return[];let n=T_(t.hints,`day`),r=String(e);return[{value:r,rawValue:e,label:n===`year`||n===`month`?r:hg(r)||r}]}I({kinds:[`date`],Page:j_,keys:M_});var N_={hour:/^([01]\d|2[0-3])$/,minute:/^([01]\d|2[0-3]):[0-5]\d$/,second:/^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$/};function P_({field:e,value:t}){return e.hints.multiple!==!0&&(t==null||t===``)?(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:K,lineNumber:177,columnNumber:83},this):e.hints.multiple===!0?(0,R.jsxDEV)(O_,{value:t,icon:`lucide:clock`},void 0,!1,{fileName:K,lineNumber:179,columnNumber:5},this):(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:String(t)},void 0,!1,{fileName:K,lineNumber:181,columnNumber:5},this)}function F_({name:e,field:t,value:n,onChange:r}){let i=T_(t.hints,`second`),a=i===`second`?1:i===`minute`?60:3600;if(t.hints.multiple===!0)return(0,R.jsxDEV)(bt,{value:n,onChange:r,validate:e=>N_[i]?.test(e)??!1,display:D_(`lucide:clock`),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`time`,step:a,value:e,onChange:e=>t(e.target.value),className:`w-36`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:191,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);if(i===`hour`)return(0,R.jsxDEV)(E,{id:e,type:`time`,step:a,value:o,onChange:e=>r(e.target.value),className:`appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none`},void 0,!1,{fileName:K,lineNumber:222,columnNumber:7},this);let s=i===`second`;return(0,R.jsxDEV)(s_,{value:o,onValueChange:r,showSeconds:s,children:[(0,R.jsxDEV)(u_,{id:e,children:[(0,R.jsxDEV)(d_,{segment:`hour`},void 0,!1,{fileName:K,lineNumber:237,columnNumber:9},this),(0,R.jsxDEV)(C_,{},void 0,!1,{fileName:K,lineNumber:238,columnNumber:9},this),(0,R.jsxDEV)(d_,{segment:`minute`},void 0,!1,{fileName:K,lineNumber:239,columnNumber:9},this),s&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(C_,{},void 0,!1,{fileName:K,lineNumber:242,columnNumber:13},this),(0,R.jsxDEV)(d_,{segment:`second`},void 0,!1,{fileName:K,lineNumber:243,columnNumber:13},this)]},void 0,!0,{fileName:K,lineNumber:241,columnNumber:11},this),(0,R.jsxDEV)(f_,{},void 0,!1,{fileName:K,lineNumber:246,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:236,columnNumber:7},this),(0,R.jsxDEV)(h_,{children:[(0,R.jsxDEV)(b_,{},void 0,!1,{fileName:K,lineNumber:249,columnNumber:9},this),(0,R.jsxDEV)(x_,{},void 0,!1,{fileName:K,lineNumber:250,columnNumber:9},this),s&&(0,R.jsxDEV)(S_,{},void 0,!1,{fileName:K,lineNumber:251,columnNumber:25},this),(0,R.jsxDEV)(w_,{},void 0,!1,{fileName:K,lineNumber:252,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:248,columnNumber:7},this)]},void 0,!0,{fileName:K,lineNumber:235,columnNumber:5},this)}function I_(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-32`,bare:e.bare,view:t=>(0,R.jsxDEV)(P_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:271,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(F_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:273,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:260,columnNumber:5},this)}I({kinds:[`time`],Page:I_});var L_={hour:/^\d{4}-\d{2}-\d{2}T([01]\d|2[0-3])$/,minute:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/,second:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/};function R_({field:e,value:t}){if(e.hints.multiple!==!0&&(t==null||t===``))return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:K,lineNumber:298,columnNumber:83},this);let n=T_(e.hints,`minute`);return e.hints.multiple===!0?(0,R.jsxDEV)(O_,{value:t,icon:`lucide:calendar-clock`,format:e=>E_(e,n).replace(`T`,` `)},void 0,!1,{fileName:K,lineNumber:301,columnNumber:5},this):(0,R.jsxDEV)(`span`,{children:gg(E_(t,n))},void 0,!1,{fileName:K,lineNumber:303,columnNumber:5},this)}function z_({name:e,field:t,value:n,onChange:r}){let i=T_(t.hints,`minute`),a=i===`second`?1:i===`hour`?3600:60;if(t.hints.multiple===!0)return(0,R.jsxDEV)(bt,{value:n,onChange:r,validate:e=>L_[i]?.test(e)??!1,display:D_(`lucide:calendar-clock`,e=>E_(e,i).replace(`T`,` `)),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`datetime-local`,step:a,value:e,onChange:e=>t(e.target.value),className:`w-52`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:319,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:313,columnNumber:7},this);let{date:o,time:s}=_g(E_(n,i));return(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(bg,{value:o,onChange:e=>r(vg(e,s||`00:00`))},void 0,!1,{fileName:K,lineNumber:340,columnNumber:7},this),(0,R.jsxDEV)(E,{id:e,type:`time`,step:a,value:s,onChange:e=>r(vg(o,e.target.value)),className:`w-32 appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none`},void 0,!1,{fileName:K,lineNumber:341,columnNumber:7},this)]},void 0,!0,{fileName:K,lineNumber:339,columnNumber:5},this)}function B_(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(R_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:366,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(z_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:368,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:355,columnNumber:5},this)}function V_({value:e,field:t}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:gg(E_(e,T_(t.hints,`minute`)))},void 0,!1,{fileName:K,lineNumber:381,columnNumber:10},this)}function H_(e,t){if(e==null||e===``)return[];let n=E_(e,T_(t.hints,`minute`));return[{value:n,rawValue:e,label:gg(n)}]}I({kinds:[`datetime`],Page:B_,Inline:V_,keys:H_});var U_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/checkbox.tsx`,W_=L.forwardRef(({className:e,...t},n)=>(0,R.jsxDEV)(te,{ref:n,className:C(`peer h-4.5 w-4.5 shrink-0 rounded border border-input bg-background ring-offset-background transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,R.jsxDEV)(se,{className:C(`flex items-center justify-center text-current`),children:(0,R.jsxDEV)(Xe,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:U_,lineNumber:21,columnNumber:7},void 0)},void 0,!1,{fileName:U_,lineNumber:20,columnNumber:5},void 0)},void 0,!1,{fileName:U_,lineNumber:10,columnNumber:3},void 0));W_.displayName=te.displayName;var G_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/select-combobox.tsx`;function K_({it:e}){return e.node?(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.node},void 0,!1,{fileName:G_,lineNumber:37,columnNumber:23},this):(0,R.jsxDEV)(R.Fragment,{children:[e.icon&&(0,R.jsxDEV)(lc,{icon:e.icon,size:`xs`},void 0,!1,{fileName:G_,lineNumber:40,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 truncate`,children:e.title},void 0,!1,{fileName:G_,lineNumber:41,columnNumber:7},this),e.subtitle&&e.subtitle!==e.title&&(0,R.jsxDEV)(`span`,{className:`text-muted text-xs shrink-0`,children:e.subtitle},void 0,!1,{fileName:G_,lineNumber:42,columnNumber:51},this)]},void 0,!0,{fileName:G_,lineNumber:39,columnNumber:5},this)}function q_({value:e,onChange:t,items:n,placeholder:r}){let i=L.useMemo(()=>new Map(n.map(e=>[e.value,e])),[n]),[a,o]=L.useState(``),s=L.useMemo(()=>{let e=a.trim().toLowerCase();return e?n.filter(t=>t.title.toLowerCase().includes(e)||(t.subtitle?.toLowerCase().includes(e)??!1)):n},[a,n]),c=i.get(e);return(0,R.jsxDEV)(Wn,{items:s.map(e=>e.value),value:e||null,onValueChange:e=>t(e??``),itemToStringLabel:e=>i.get(e)?.title??e,children:[(0,R.jsxDEV)(Rn,{render:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,className:`w-full justify-between gap-2 px-2 font-normal`},void 0,!1,{fileName:G_,lineNumber:79,columnNumber:11},this),children:[c?(0,R.jsxDEV)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:(0,R.jsxDEV)(K_,{it:c},void 0,!1,{fileName:G_,lineNumber:88,columnNumber:13},this)},void 0,!1,{fileName:G_,lineNumber:87,columnNumber:11},this):(0,R.jsxDEV)(`span`,{className:`truncate text-muted-foreground`,children:r},void 0,!1,{fileName:G_,lineNumber:91,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`sr-only`,children:(0,R.jsxDEV)(Bn,{},void 0,!1,{fileName:G_,lineNumber:94,columnNumber:11},this)},void 0,!1,{fileName:G_,lineNumber:93,columnNumber:9},this)]},void 0,!0,{fileName:G_,lineNumber:77,columnNumber:7},this),(0,R.jsxDEV)(Vn,{className:`w-(--anchor-width) min-w-52`,children:[(0,R.jsxDEV)(zn,{placeholder:r,value:a,onChange:e=>o(e.target.value),showTrigger:!1},void 0,!1,{fileName:G_,lineNumber:98,columnNumber:9},this),(0,R.jsxDEV)(Un,{children:`—`},void 0,!1,{fileName:G_,lineNumber:104,columnNumber:9},this),(0,R.jsxDEV)(Hn,{children:s.map(e=>(0,R.jsxDEV)(Ln,{value:e.value,className:`flex items-center gap-2.5`,children:(0,R.jsxDEV)(K_,{it:e},void 0,!1,{fileName:G_,lineNumber:108,columnNumber:15},this)},e.value,!1,{fileName:G_,lineNumber:107,columnNumber:13},this))},void 0,!1,{fileName:G_,lineNumber:105,columnNumber:9},this)]},void 0,!0,{fileName:G_,lineNumber:97,columnNumber:7},this)]},void 0,!0,{fileName:G_,lineNumber:71,columnNumber:5},this)}function J_({selected:e,onChange:t,items:n,placeholder:r,labelOf:i,chipClassName:a,chipStyle:o}){let s=L.useMemo(()=>new Map(n.map(e=>[e.value,e])),[n]),c=n.filter(t=>!e.includes(t.value)),l=e=>i?.(e)??s.get(e)?.title??e;return(0,R.jsxDEV)(st,{items:e,content:e=>{let t=s.get(String(e));return(0,R.jsxDEV)(R.Fragment,{children:[t?.icon&&(0,R.jsxDEV)(lc,{icon:t.icon,size:`xs`},void 0,!1,{fileName:G_,lineNumber:148,columnNumber:26},this),l(String(e))]},void 0,!0,{fileName:G_,lineNumber:147,columnNumber:11},this)},chipClassName:a?e=>a(String(e)):void 0,chipStyle:o?e=>o(String(e)):void 0,onRemove:n=>t(e.filter((e,t)=>t!==n)),editor:c.length>0?(0,R.jsxDEV)(q_,{value:``,onChange:n=>n&&t([...e,n]),items:c,placeholder:r},void 0,!1,{fileName:G_,lineNumber:158,columnNumber:11},this):null},void 0,!1,{fileName:G_,lineNumber:142,columnNumber:5},this)}var Y_=8;function X_(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return`var(--cat-${Math.abs(t)%Y_+1})`}var Z_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/record-save-ctx.tsx`,Q_=(0,L.createContext)(null);function $_({children:e}){let{t}=a(),[n,r]=(0,L.useState)(0),i=(0,L.useCallback)(async e=>{let n=y.loading(t(`save.saving`));r(e=>e+1);try{let r=await e(),i=typeof r==`string`?r:void 0;return i?y.error(i,{id:n}):y.success(t(`save.done`),{id:n}),i}catch{return y.error(t(`save.failed`),{id:n}),t(`save.failed`)}finally{r(e=>e-1)}},[t]),o=(0,L.useMemo)(()=>({saving:n>0,run:i}),[n,i]);return(0,R.jsxDEV)(Q_.Provider,{value:o,children:e},void 0,!1,{fileName:Z_,lineNumber:40,columnNumber:10},this)}var ev={saving:!1,run:async e=>{let t=await e();return typeof t==`string`?t:void 0}};function tv(){return(0,L.useContext)(Q_)??ev}var nv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/choice.tsx`;function rv(e,t){let n=e.hints.source;return t??(e.options?.length?e.options:n?Le(n):[])}function iv({field:e,value:t,onChange:n,selectOptions:r,excludeValues:i}){let{t:o}=a();if(e.hints.multiple===!0){let i=dt(rv(e,r),o);return(0,R.jsxDEV)(J_,{selected:(Array.isArray(t)?t:kn(t,[])).map(String),items:i,onChange:e=>n(e),placeholder:o(`form.search`),chipClassName:()=>`cat-chip`,chipStyle:e=>({"--cat":X_(e)})},void 0,!1,{fileName:nv,lineNumber:53,columnNumber:7},this)}let s=rv(e,r);return i?.length&&(s=s.filter(e=>e.value===t||!i.includes(e.value))),(0,R.jsxDEV)(q_,{value:typeof t==`string`?t:``,onChange:n,items:dt(s,o),placeholder:o(`form.search`)},void 0,!1,{fileName:nv,lineNumber:65,columnNumber:10},this)}function av({field:e,value:t}){let{t:n}=a(),r=rv(e);if(e.hints.multiple===!0)return(0,R.jsxDEV)(st,{items:kn(t,[]),content:e=>{let t=r.find(t=>t.value===String(e));return(0,R.jsxDEV)(R.Fragment,{children:[t?.icon&&(0,R.jsxDEV)(lc,{icon:t.icon,size:`xs`},void 0,!1,{fileName:nv,lineNumber:80,columnNumber:29},this),(0,R.jsxDEV)(`span`,{children:t?n(t.title):String(e)},void 0,!1,{fileName:nv,lineNumber:81,columnNumber:15},this)]},void 0,!0,{fileName:nv,lineNumber:79,columnNumber:13},this)},chipClassName:()=>`cat-chip`,chipStyle:e=>({"--cat":X_(String(e))}),reserveEditor:!0},void 0,!1,{fileName:nv,lineNumber:74,columnNumber:7},this);if(t==null||t===``)return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:nv,lineNumber:91,columnNumber:45},this);let i=String(t),o=r.find(e=>e.value===i),s=o?n(o.title):i;return(0,R.jsxDEV)(`span`,{className:`flex w-full min-w-0 items-center gap-1.5 pr-6`,children:[o?.icon&&(0,R.jsxDEV)(lc,{icon:o.icon,size:`xs`},void 0,!1,{fileName:nv,lineNumber:97,columnNumber:21},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 truncate`,children:s},void 0,!1,{fileName:nv,lineNumber:98,columnNumber:7},this),o?.subtitle&&o.subtitle!==s&&(0,R.jsxDEV)(`span`,{className:`text-muted text-xs shrink-0`,children:o.subtitle},void 0,!1,{fileName:nv,lineNumber:100,columnNumber:9},this)]},void 0,!0,{fileName:nv,lineNumber:96,columnNumber:5},this)}function ov(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(av,{field:e.field,value:t},void 0,!1,{fileName:nv,lineNumber:119,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(iv,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n,selectOptions:e.selectOptions,excludeValues:e.excludeValues},void 0,!1,{fileName:nv,lineNumber:121,columnNumber:9},this)},void 0,!1,{fileName:nv,lineNumber:108,columnNumber:5},this)}function sv({value:e,field:t}){let{t:n}=a(),r=t.options??[];if(t.hints.multiple===!0){let t=(Array.isArray(e)?e:kn(e,[])).map(String);return t.length?(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.map(e=>ku(n,{options:r},e)).join(`, `)},void 0,!1,{fileName:nv,lineNumber:140,columnNumber:12},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:nv,lineNumber:139,columnNumber:31},this)}return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?.length?ku(n,{options:r},e):String(e??``)},void 0,!1,{fileName:nv,lineNumber:143,columnNumber:5},this)}function cv(e,t,n){if(e==null||e===``)return[];let r=String(e),i=ku(n.t,{options:t.options},r);return[{value:r,rawValue:e,label:i,sort:i}]}I({kinds:[`select`],Page:ov,Inline:sv,keys:cv});function lv(e){let{saving:t}=tv(),n=Nn(e.value);return e.bare?(0,R.jsxDEV)(W_,{checked:n,disabled:t,onCheckedChange:t=>e.onChange?.(t===!0)},void 0,!1,{fileName:nv,lineNumber:167,columnNumber:22},this):(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(It,{label:e.label,required:e.required},void 0,!1,{fileName:nv,lineNumber:170,columnNumber:33},this),(0,R.jsxDEV)(W_,{checked:n,disabled:t,onCheckedChange:t=>e.onChange?.(t===!0)},void 0,!1,{fileName:nv,lineNumber:171,columnNumber:7},this),(0,R.jsxDEV)(Ot,{error:e.error},void 0,!1,{fileName:nv,lineNumber:172,columnNumber:7},this)]},void 0,!0,{fileName:nv,lineNumber:169,columnNumber:5},this)}function uv({value:e}){return(0,R.jsxDEV)(`span`,{children:Nn(e)?(0,R.jsxDEV)(Ae,{name:`lucide:check`,size:14,className:`inline text-accent`},void 0,!1,{fileName:nv,lineNumber:178,columnNumber:36},this):`—`},void 0,!1,{fileName:nv,lineNumber:178,columnNumber:10},this)}function dv(e,t,n){if(e==null||e===``)return[];let r=Ou(e);return[{value:r?`true`:`false`,rawValue:r,label:r?n.t(`group.yes`):n.t(`group.no`)}]}I({kinds:[`boolean`],Page:lv,Inline:uv,keys:dv});var fv=new Map,pv=new Map,mv=new Map;function hv(e,t,n){for(let r of n)pv.set(`${e}/${t}/${String(r.id)}`,r)}var gv=new Map;function _v(e,t,n){let r=`${e}/${t}/${n}`,i=gv.get(r);if(i)return i;let a=tr(e,t,{id:n}).then(n=>(hv(e,t,n),n)).finally(()=>gv.delete(r));return gv.set(r,a),a}function vv(e,t){let n=`${e}/${t}`,r=mv.get(n);if(r)return Promise.resolve(r);let i=fv.get(n);if(i)return i;let a=tr(e,t).then(r=>(hv(e,t,r),mv.set(n,r),r)).finally(()=>fv.delete(n));return fv.set(n,a),a}function yv(e,t,n=`name`){let[r,i]=(0,L.useState)([]),[a,o]=(0,L.useState)(`loading`);(0,L.useEffect)(()=>{if(!e||!t){o(`idle`);return}let n=!0;return o(`loading`),vv(e,t).then(e=>{n&&(i(e),o(`idle`))}).catch(()=>{n&&o(`error`)}),()=>{n=!1}},[e,t]);let s=(0,L.useMemo)(()=>{let i=Me(e,t);return r.map(e=>({id:String(e.id),label:i?pn(i,e):String(e[n]??e.name??e.id)}))},[r,e,t,n]);return{rows:s,labelMap:(0,L.useMemo)(()=>new Map(s.map(e=>[e.id,e.label])),[s]),records:r,recordMap:(0,L.useMemo)(()=>new Map(r.map(e=>[String(e.id),e])),[r]),loadState:a}}function bv(e,t,n){let r=(0,L.useMemo)(()=>[...new Set(n)].sort().join(`,`),[n]),[i,a]=(0,L.useState)(new Map);return(0,L.useEffect)(()=>{if(!e||!t||!r){a(new Map);return}let n=new Map,i=[];for(let a of r.split(`,`)){let r=pv.get(`${e}/${t}/${a}`);r?n.set(a,r):i.push(a)}if(!i.length){a(n);return}let o=!0;return _v(e,t,i.join(`,`)).then(e=>{for(let t of e)n.set(String(t.id),t);o&&a(new Map(n))}).catch(()=>{o&&a(n)}),()=>{o=!1}},[e,t,r]),i}function xv(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e),n=Array.isArray(t)?t[0]:t;return n&&typeof n==`object`&&typeof n.name==`string`?n.name:typeof n==`string`?n:void 0}catch{return e}}function Sv(e,t){for(let[n,r]of ln(e.fields))if(n===t)return r.kind}function Cv(e,t,n){let r=Sv(e,t);if(r&&nn(r)){let e=xv(n[t]);return e?{kind:`image`,value:lr(e)}:void 0}}function wv(e,t){let n=e.views?.select;if(n){let r=Array.isArray(n.title)?n.title:[n.title];return{icon:n.icon?Cv(e,n.icon,t):void 0,title:r.map(e=>String(t[e]??``)).filter(Boolean).join(` `),subtitle:n.subtitle&&String(t[n.subtitle]??``)||void 0}}let r=sn(e),i=r?xv(t[r]):void 0;return{icon:i?{kind:`image`,value:lr(i)}:void 0,title:pn(e,t)}}var Tv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/LookupBadge.tsx`;function Ev(e){let t=typeof e==`string`?kn(e,null):e;return t&&typeof t.value==`number`&&typeof t.unit==`string`?t:null}function Dv(e,t,n){let r=n.find(e=>e.value===t);return r?e(r.label):t}function Ov({lookupField:e,row:t,subs:n}){let{t:r}=a(),i=String(e.hints.from??``),o=e.hints.pick??[],s=e.hints.compareWith??null,c=n.find(e=>e.key===i),l=c?.relation?.library??``,u=c?.relation?.shelf??``,{recordMap:d,loadState:f}=yv(l,u),p=t[i]??``,m=p?d.get(p):void 0;if(f===`loading`||!m)return null;let h=Me(l,u),g=(h&&o[0]?fn(h.fields)[o[0]]:void 0)?.hints.units,_=Ht(g||`cooking`)??[],v=o.map(e=>({key:e,raw:m[e]})).filter(e=>e.raw!=null&&e.raw!==``),y=null,b=v.length?Ev(v[0].raw):null;if(s&&b){let e=t[s],n=Ev(e),r=n?n.unit===b.unit?n.value:null:e!==``&&e!=null&&!Number.isNaN(Number(e))?Number(e):null;r==null?b.value<=0&&(y=`missing`):y=b.value>=r?`enough`:b.value>0?`partial`:`missing`}let x=v.map(({raw:e})=>{let t=Ev(e);return t?`${t.value} ${Dv(r,t.unit,_)}`:String(e)}).join(` · `),S=y===`enough`?`bg-success/15 text-success border-success/30`:y===`partial`?`bg-warning/15 text-warning border-warning/30`:y===`missing`?`bg-danger/15 text-danger border-danger/30`:`bg-accent/10 text-muted border-border`,C=y===`enough`?`lucide:check`:y===`partial`?`lucide:minus`:y===`missing`?`lucide:x`:null;return(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-1 text-xs px-2 py-0.5 rounded-full border whitespace-nowrap ${S}`,title:y?r(`core.lookup.${y}`):void 0,children:[C&&(0,R.jsxDEV)(Ae,{name:C,size:12},void 0,!1,{fileName:Tv,lineNumber:106,columnNumber:20},this),` `,x||r(`core.lookup.noData`)]},void 0,!0,{fileName:Tv,lineNumber:102,columnNumber:5},this)}var kv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/RecordInline.tsx`;function Av(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e),n=Array.isArray(t)?t[0]:t;return n&&typeof n==`object`&&typeof n.name==`string`?n.name:typeof n==`string`?n:void 0}catch{return e}}function jv({shelf:e,row:t,size:n=`md`,height:r,className:i}){let a=pn(e,t),o=sn(e),s=o?Av(t[o]):void 0,c=s?{kind:`image`,value:lr(s)}:{kind:`icon`,value:e.icon??`lucide:square`};return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-2 ${i??``}`,style:r?{height:r,minHeight:r}:void 0,children:[o&&(0,R.jsxDEV)(lc,{icon:c,size:n===`sm`?`md`:`lg`,framed:!0},void 0,!1,{fileName:kv,lineNumber:55,columnNumber:18},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:a},void 0,!1,{fileName:kv,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:kv,lineNumber:51,columnNumber:5},this)}var Mv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/display.tsx`;function Nv({checked:e,onToggle:t,disabled:n}){let r=`w-4 h-4 rounded border shrink-0 inline-flex items-center justify-center transition-colors ${e?`bg-accent/20 border-accent/50 text-accent`:`border-border`}`,i=e?(0,R.jsxDEV)(Xe,{size:11,strokeWidth:3},void 0,!1,{fileName:Mv,lineNumber:76,columnNumber:27},this):null;return t?(0,R.jsxDEV)(`button`,{type:`button`,"aria-pressed":e,disabled:n,onClick:t,className:`${r} cursor-pointer hover:border-accent/40 disabled:opacity-50 disabled:cursor-not-allowed`,children:i},void 0,!1,{fileName:Mv,lineNumber:79,columnNumber:7},this):(0,R.jsxDEV)(`span`,{className:r,children:i},void 0,!1,{fileName:Mv,lineNumber:90,columnNumber:10},this)}function Pv({row:e,slotCount:t,numbered:n,editing:r,onToggle:i,onChange:a,onRemove:o,reserve:s,disabled:c}){let l=Array.from({length:t},(t,n)=>!!(e.checks??[])[n]),u=l.length>0&&l.every(Boolean);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2.5 min-w-0 text-sm`,children:[l.map((t,o)=>(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5`,children:[n&&(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted tabular-nums`,children:ct(o)},void 0,!1,{fileName:Mv,lineNumber:136,columnNumber:24},this),r?(0,R.jsxDEV)(W_,{checked:t,onCheckedChange:t=>a?.({...e,checks:l.map((e,n)=>n===o?t===!0:e)})},void 0,!1,{fileName:Mv,lineNumber:138,columnNumber:13},this):(0,R.jsxDEV)(Nv,{checked:t,onToggle:i?()=>i(o):void 0,disabled:c},void 0,!1,{fileName:Mv,lineNumber:143,columnNumber:13},this)]},o,!0,{fileName:Mv,lineNumber:135,columnNumber:9},this)),r?(0,R.jsxDEV)(E,{value:e.text,className:`h-auto min-w-0 flex-1 border-0 bg-transparent p-0 text-sm shadow-none focus-visible:ring-0`,onChange:t=>a?.({...e,text:t.target.value})},void 0,!1,{fileName:Mv,lineNumber:149,columnNumber:9},this):(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 ${u?`line-through text-muted`:`text-text`}`,children:e.text},void 0,!1,{fileName:Mv,lineNumber:155,columnNumber:9},this),(r?!!o:s)&&(0,R.jsxDEV)(pt,{onRemove:r?o:void 0},void 0,!1,{fileName:Mv,lineNumber:157,columnNumber:51},this)]},void 0,!0,{fileName:Mv,lineNumber:133,columnNumber:5},this)}function Fv({value:e,onChange:t,slots:n=[],disabled:r}){let i=ht(e,n.length);if(!i.text&&!i.checks.some(Boolean))return(0,R.jsxDEV)(`div`,{className:`flex text-sm`,children:(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Mv,lineNumber:177,columnNumber:84},this)},void 0,!1,{fileName:Mv,lineNumber:177,columnNumber:54},this);let a=t?e=>t(xt({...i,checks:i.checks.map((t,n)=>n===e?!t:t)})):void 0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:(0,R.jsxDEV)(Pv,{row:i,slotCount:n.length,numbered:vt(n.length),onToggle:a,disabled:r},void 0,!1,{fileName:Mv,lineNumber:184,columnNumber:9},this)},void 0,!1,{fileName:Mv,lineNumber:183,columnNumber:7},this),(0,R.jsxDEV)(_t,{slots:n},void 0,!1,{fileName:Mv,lineNumber:186,columnNumber:7},this)]},void 0,!0,{fileName:Mv,lineNumber:182,columnNumber:5},this)}function Iv({value:e,onChange:t,slots:n=[],disabled:r}){let i=kn(e,[]).filter(e=>e&&(e.text||(e.checks??[]).some(Boolean)));if(!i.length)return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Mv,lineNumber:204,columnNumber:28},this);let a=t?(e,n)=>t(i.map((t,r)=>r===e?{...t,checks:(t.checks??[]).map((e,t)=>t===n?!e:e)}:t)):void 0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:i.map((e,t)=>(0,R.jsxDEV)(Pv,{row:e,slotCount:n.length,numbered:vt(n.length),onToggle:a?e=>a(t,e):void 0,reserve:!0,disabled:r},t,!1,{fileName:Mv,lineNumber:217,columnNumber:11},this))},void 0,!1,{fileName:Mv,lineNumber:215,columnNumber:7},this),(0,R.jsxDEV)(_t,{slots:n},void 0,!1,{fileName:Mv,lineNumber:228,columnNumber:7},this)]},void 0,!0,{fileName:Mv,lineNumber:214,columnNumber:5},this)}function Lv({field:e,value:t}){let n=e.relation?.library??``,r=e.relation?.shelf??``,i=e.hints.multi?kn(t,[]):lt(t)?[String(t)]:[],a=bv(n,r,i),o=Me(n,r);return i.length?(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:i.map(e=>{let t=a.get(e);return(0,R.jsxDEV)(m,{to:`/${n}/${r}/${e}`,className:`inline-flex items-center gap-1.5 min-h-9 text-accent border border-transparent rounded-lg px-3 text-sm hover:text-accent2 transition-colors`,children:o&&t?(0,R.jsxDEV)(jv,{shelf:o,row:t,size:`sm`,height:28},void 0,!1,{fileName:Mv,lineNumber:254,columnNumber:25},this):ft(e)},e,!1,{fileName:Mv,lineNumber:249,columnNumber:11},this)})},void 0,!1,{fileName:Mv,lineNumber:245,columnNumber:5},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Mv,lineNumber:243,columnNumber:27},this)}function Rv(e,t,n){let r=(Ht(e.hints.units)??[]).find(e=>e.value===t);return r?n(r.label):t}function zv(e,t){return n=>{let r=n&&typeof n==`object`?n:(()=>{try{return JSON.parse(String(n))}catch{return null}})();if(r&&typeof r==`object`&&`value`in r&&`unit`in r){let{value:n,unit:i}=r;return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:`${n} ${Rv(e,String(i),t)}`},void 0,!1,{fileName:Mv,lineNumber:275,columnNumber:14},this)}return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:String(n)},void 0,!1,{fileName:Mv,lineNumber:277,columnNumber:12},this)}}function Bv({field:e,value:t}){let{t:n}=a(),r=kn(t,null);return!r||r.value==null?(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Mv,lineNumber:285,columnNumber:41},this):(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:[r.value,` `,(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:Rv(e,r.unit,n)},void 0,!1,{fileName:Mv,lineNumber:288,columnNumber:19},this)]},void 0,!0,{fileName:Mv,lineNumber:287,columnNumber:5},this)}var q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/edit.tsx`;function Vv({value:e,onChange:t,field:n,t:r,recordCtx:i={library:``,shelf:``,recordId:``}}){let a=n.hints.rowMultiple===!0,o=n.hints.fields??[],s=n.hints.unique??[],c=o.filter(e=>!e.virtual),l=(0,L.useRef)(0),u=e=>e.map(e=>({id:++l.current,data:e})),d=()=>Object.fromEntries(c.map(e=>[e.key,``])),f=()=>{let t=kn(e,a?[]:{});return a?Array.isArray(t)?t:[]:[t&&!Array.isArray(t)&&Object.keys(t).length?t:d()]},[p,m]=(0,L.useState)(()=>u(f()));(0,L.useEffect)(()=>{e||m(a?[]:u([d()]))},[e]);let h=e=>c.some(t=>{let n=(e[t.key]??``).trim();return t.prim===`checkbox`?n===`true`:n!==``});function g(e){m(e);let n=e.map(e=>e.data).filter(h);t(a?n.length?n:``:n.length?n[0]:``)}function _(e,t,n){g(p.map((r,i)=>i===e?{...r,data:{...r.data,[t]:String(n)}}:r))}function v(e,t){return s.includes(e)?p.filter((e,n)=>n!==t).map(t=>t.data[e]??``).filter(Boolean):[]}function y({id:e,data:t},n){return(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2 flex-wrap border border-border rounded-xl p-3`,children:[o.map(e=>e.virtual?e.prim===`lookup`?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 flex-1 min-w-32`,children:[e.label?(0,R.jsxDEV)(It,{label:r(e.label)},void 0,!1,{fileName:q,lineNumber:111,columnNumber:30},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Ov,{lookupField:e,row:t,subs:o},void 0,!1,{fileName:q,lineNumber:113,columnNumber:19},this)},void 0,!1,{fileName:q,lineNumber:112,columnNumber:17},this)]},e.key,!0,{fileName:q,lineNumber:110,columnNumber:15},this):null:(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 flex-1 min-w-32`,children:(0,R.jsxDEV)(fr,{field:Xt(e),value:e.prim===`checkbox`?t[e.key]===`true`:t[e.key]??``,excludeValues:v(e.key,n),onChange:t=>_(n,e.key,t),label:e.label?r(e.label):void 0,mode:`edit`,recordCtx:i},void 0,!1,{fileName:q,lineNumber:119,columnNumber:15},this)},e.key,!1,{fileName:q,lineNumber:118,columnNumber:13},this)),a&&(0,R.jsxDEV)(Et,{className:`mt-6`,onClick:()=>g(p.filter((e,t)=>t!==n))},void 0,!1,{fileName:q,lineNumber:131,columnNumber:22},this)]},e,!0,{fileName:q,lineNumber:105,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[p.map(y),a&&(0,R.jsxDEV)(St,{onClick:()=>m(e=>[...e,...u([d()])]),children:r(`form.addRow`)},void 0,!1,{fileName:q,lineNumber:139,columnNumber:20},this)]},void 0,!0,{fileName:q,lineNumber:137,columnNumber:5},this)}function Hv({value:e,onChange:t,field:n}){let{t:r}=a(),i=(0,L.useMemo)(()=>Ht(n.hints.units)??[],[n.hints]),o=(0,L.useMemo)(()=>{if(e&&typeof e==`object`)return e;try{return JSON.parse(String(e))}catch{return{value:``,unit:i[0]?.value??``}}},[e,i]),s=e=>t(e.value===``?``:e);return(0,R.jsxDEV)(ee,{className:`min-w-0`,children:[(0,R.jsxDEV)(D,{type:`number`,className:`min-w-0`,value:o.value===``?``:String(o.value),min:n.hints.min,max:n.hints.max,step:n.hints.step??`any`,onChange:e=>{let t=parseFloat(e.target.value);s({...o,value:isNaN(t)?``:t})},placeholder:`0`},void 0,!1,{fileName:q,lineNumber:175,columnNumber:7},this),(0,R.jsxDEV)(O,{align:`inline-end`,className:`pr-1`,children:(0,R.jsxDEV)(rt,{value:o.unit||void 0,onValueChange:e=>s({...o,unit:e}),children:[(0,R.jsxDEV)(it,{className:`h-7 gap-1 border-0 bg-transparent px-2 text-muted shadow-none focus:ring-0`,children:(0,R.jsxDEV)(tt,{},void 0,!1,{fileName:q,lineNumber:191,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:190,columnNumber:11},this),(0,R.jsxDEV)($e,{children:i.map(e=>(0,R.jsxDEV)(Tt,{value:e.value,children:r(e.label)},e.value,!1,{fileName:q,lineNumber:195,columnNumber:15},this))},void 0,!1,{fileName:q,lineNumber:193,columnNumber:11},this)]},void 0,!0,{fileName:q,lineNumber:189,columnNumber:9},this)},void 0,!1,{fileName:q,lineNumber:188,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:174,columnNumber:5},this)}function Uv({field:e,value:t,onChange:n,excludeValues:r}){let{t:i}=a(),o=e.relation?.library??``,s=e.relation?.shelf??``,c=!!e.hints.multi,{labelMap:l,records:u,loadState:d}=yv(o,s,String(e.hints.displayKey??`name`)),f=Me(o,s),p=(0,L.useMemo)(()=>t?c?Array.isArray(t)?t.map(String):kn(t,[]).map(String):[String(t)]:[],[t,c]),m=bv(o,s,p),h=(0,L.useMemo)(()=>{let e=new Map(u.map(e=>[String(e.id),e]));for(let[t,n]of m)e.has(t)||e.set(t,n);return[...e.values()]},[u,m]),g=(0,L.useMemo)(()=>h.filter(e=>String(e.id)===String(t)||p.includes(String(e.id))||!r?.includes(String(e.id))).map(e=>{let t=f?wv(f,e):{title:String(e.id)},n=f?(0,R.jsxDEV)(jv,{shelf:f,row:e,size:`sm`,height:28},void 0,!1,{fileName:q,lineNumber:258,columnNumber:28},this):void 0;return{value:String(e.id),title:t.title,icon:t.icon,subtitle:t.subtitle,node:n}}),[h,r,t,p,f]);return d===`loading`?(0,R.jsxDEV)(`p`,{className:`text-muted text-sm py-1`,children:i(`form.loading`)},void 0,!1,{fileName:q,lineNumber:266,columnNumber:39},this):d===`error`?(0,R.jsxDEV)(`p`,{className:`text-danger text-sm py-1`,children:i(`form.loadError`)},void 0,!1,{fileName:q,lineNumber:267,columnNumber:37},this):g.length?c?(0,R.jsxDEV)(J_,{selected:p,items:g,placeholder:i(`form.addRecord`),labelOf:e=>l.get(e)??g.find(t=>t.value===e)?.title??e,onChange:e=>n(e.length?e:``)},void 0,!1,{fileName:q,lineNumber:275,columnNumber:5},this):(0,R.jsxDEV)(q_,{value:t==null?``:String(t),onChange:n,items:g},void 0,!1,{fileName:q,lineNumber:272,columnNumber:22},this):(0,R.jsxDEV)(`p`,{className:`text-muted text-sm py-1`,children:i(`form.noRecords`)},void 0,!1,{fileName:q,lineNumber:269,columnNumber:29},this)}function Wv(e){return{text:``,checks:Array(e).fill(!1)}}function Gv({value:e,onChange:t,field:n}){let r=n.hints.slots??[``],[i,a]=(0,L.useState)(()=>ht(e,r.length));(0,L.useEffect)(()=>{e||a(Wv(r.length))},[e,r.length]);function o(e){a(e),t(e.text.trim()!==``||e.checks.some(Boolean)?xt(e):``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(Pv,{row:i,slotCount:r.length,editing:!0,onChange:o},void 0,!1,{fileName:q,lineNumber:319,columnNumber:7},this),(0,R.jsxDEV)(_t,{slots:r},void 0,!1,{fileName:q,lineNumber:320,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:318,columnNumber:5},this)}function Kv({value:e,onChange:t,field:n}){let{t:r}=a(),i=n.hints.slots??[``],[o,s]=(0,L.useState)(()=>kn(e,[]));(0,L.useEffect)(()=>{e||s([])},[e]);function c(e){s(e);let n=e.filter(e=>e.text.trim()!==``||e.checks.some(Boolean));t(n.length?n:``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5 py-1`,children:[o.map((e,t)=>(0,R.jsxDEV)(Pv,{row:e,slotCount:i.length,editing:!0,onChange:e=>c(o.map((n,r)=>r===t?e:n)),onRemove:()=>c(o.filter((e,n)=>n!==t))},t,!1,{fileName:q,lineNumber:351,columnNumber:9},this)),(0,R.jsxDEV)(_t,{slots:i},void 0,!1,{fileName:q,lineNumber:360,columnNumber:7},this),(0,R.jsxDEV)(St,{onClick:()=>s(e=>[...e,Wv(i.length)]),children:r(`form.addItem`)},void 0,!1,{fileName:q,lineNumber:361,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:349,columnNumber:5},this)}function qv(e){let t=e=>!!e&&typeof e==`object`&&`unit`in e;if(Array.isArray(e))return e.filter(t);try{let n=JSON.parse(String(e??``));if(Array.isArray(n))return n.map(e=>{if(t(e))return e;try{return JSON.parse(String(e))}catch{return null}}).filter(Boolean)}catch{}return[]}function Jv({field:e,value:t,onChange:n}){let{t:r}=a(),i=(0,L.useMemo)(()=>qv(t),[t]),[o,s]=(0,L.useState)(``);function c(e){n(e.length?e:``)}function l(){!o||typeof o!=`object`||o.value===``||(c([...i,o]),s(``))}return(0,R.jsxDEV)(st,{items:i,content:zv(e,r),onRemove:e=>c(i.filter((t,n)=>n!==e)),editor:(0,R.jsxDEV)(`div`,{className:`flex gap-2 items-center min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(Hv,{value:o,onChange:e=>s(e),field:e},void 0,!1,{fileName:q,lineNumber:506,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:505,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`sm`,onClick:l,children:(0,R.jsxDEV)(Bt,{size:14},void 0,!1,{fileName:q,lineNumber:513,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:512,columnNumber:11},this)]},void 0,!0,{fileName:q,lineNumber:504,columnNumber:9},this)},void 0,!1,{fileName:q,lineNumber:499,columnNumber:5},this)}var Yv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/composite.tsx`;function Xv(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(Lv,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:43,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Uv,{field:e.field,value:t,onChange:n,excludeValues:e.excludeValues},void 0,!1,{fileName:Yv,lineNumber:45,columnNumber:9},this)},void 0,!1,{fileName:Yv,lineNumber:32,columnNumber:5},this)}function Zv({value:e}){let t=kn(e,null);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:Array.isArray(t)?t.length?String(t.length):`—`:e?`1`:`—`},void 0,!1,{fileName:Yv,lineNumber:59,columnNumber:10},this)}function Qv(e,t,n){if(e==null||e===``)return[];let r=String(e),i=n.labelMap?.get(r)??r;return[{value:r,rawValue:e,label:i,sort:i}]}I({kinds:[`relation`],layout:yn,Page:Xv,Inline:Zv,keys:Qv});function $v({field:e,value:t}){let{t:n}=a();return(0,R.jsxDEV)(st,{items:Array.isArray(t)?t:gt(String(t??``)),content:zv(e,n),reserveEditor:!0},void 0,!1,{fileName:Yv,lineNumber:84,columnNumber:10},this)}function ey(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:t=>e.field.hints.multiple===!0?(0,R.jsxDEV)($v,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:102,columnNumber:11},this):(0,R.jsxDEV)(Bv,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:104,columnNumber:11},this),edit:(t,n)=>e.field.hints.multiple===!0?(0,R.jsxDEV)(Jv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:109,columnNumber:11},this):(0,R.jsxDEV)(Hv,{value:t,onChange:n,field:e.field},void 0,!1,{fileName:Yv,lineNumber:111,columnNumber:11},this)},void 0,!1,{fileName:Yv,lineNumber:89,columnNumber:5},this)}function ty({field:e,value:t}){let{t:n}=a(),r=kn(t,null);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?`${r.value} ${Rv(e,String(r.unit),n)}`:`—`},void 0,!1,{fileName:Yv,lineNumber:122,columnNumber:10},this)}I({kinds:[`measured`],Page:ey,Inline:ty});function ny(e){let{saving:t}=tv();return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:(n,r)=>{let i=e.field.hints.slots??[``];return e.field.hints.multiple===!0?(0,R.jsxDEV)(Iv,{value:n,onChange:r,slots:i,disabled:t},void 0,!1,{fileName:Yv,lineNumber:151,columnNumber:11},this):(0,R.jsxDEV)(Fv,{value:n,onChange:r,slots:i,disabled:t},void 0,!1,{fileName:Yv,lineNumber:153,columnNumber:11},this)},edit:(t,n)=>e.field.hints.multiple===!0?(0,R.jsxDEV)(Kv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:158,columnNumber:11},this):(0,R.jsxDEV)(Gv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:160,columnNumber:11},this)},void 0,!1,{fileName:Yv,lineNumber:137,columnNumber:5},this)}function ry({value:e,field:t}){let n=ht(e,(t.hints.slots??[``]).length),r=n.checks.length;return!n.text&&!n.checks.some(Boolean)?(0,R.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:Yv,lineNumber:171,columnNumber:54},this):(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?`${n.checks.filter(Boolean).length}/${r}`:n.text||`—`},void 0,!1,{fileName:Yv,lineNumber:173,columnNumber:10},this)}I({kinds:[`check`],layout:`block`,Page:ny,Inline:ry});function iy(){let[e,t]=(0,L.useState)(!1),[n,r]=(0,L.useState)(null);async function i(e){if(r(null),e.size>26214400)return r(`upload.tooLarge`),null;t(!0);let n=await qn(e);return t(!1),n||(r(`upload.failed`),null)}return{busy:e,error:n,upload:i}}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/image.tsx`;function ay(e){return br({title:e(`actions.confirmDeletePhoto`),confirmLabel:e(`actions.delete`),variant:`destructive`})}var oy=/\.(mp4|webm|ogg|mov|m4v)$/i;function sy(e){return oy.test(e)}function cy({name:e}){return sy(e)?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`video`,{src:lr(e),muted:!0,playsInline:!0,preload:`metadata`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:43,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,R.jsxDEV)(xe,{size:28,className:`text-white/90 drop-shadow`,fill:`currentColor`},void 0,!1,{fileName:J,lineNumber:45,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:44,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:42,columnNumber:7},this):(0,R.jsxDEV)(`img`,{src:lr(e),alt:``,loading:`lazy`,className:`h-full w-full object-cover transition-opacity hover:opacity-90`},void 0,!1,{fileName:J,lineNumber:51,columnNumber:5},this)}function ly(e){let t=e=>!!e&&typeof e==`object`&&typeof e.name==`string`;if(Array.isArray(e))return e.filter(t);if(t(e))return[e];try{let n=JSON.parse(String(e??``));return(Array.isArray(n)?n:n?[n]:[]).filter(t)}catch{return[]}}function uy({images:e,index:t,onClose:n,onIndex:r}){let i=e.length>1,a=()=>r((t-1+e.length)%e.length),o=()=>r((t+1)%e.length);return(0,L.useEffect)(()=>{let e=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`&&i?a():e.key===`ArrowRight`&&i&&o()};return document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=``}},[t,e.length]),(0,R.jsxDEV)(`div`,{className:`fixed inset-0 z-[100] bg-black/85 backdrop-blur-sm flex items-center justify-center`,onClick:n,children:[(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute top-4 right-4`,onClick:n,children:(0,R.jsxDEV)(w,{size:22},void 0,!1,{fileName:J,lineNumber:113,columnNumber:9},this)},void 0,!1,{fileName:J,lineNumber:112,columnNumber:7},this),i&&(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute left-3 md:left-6`,onClick:e=>{e.stopPropagation(),a()},children:(0,R.jsxDEV)(gs,{size:26},void 0,!1,{fileName:J,lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:116,columnNumber:9},this),sy(e[t])?(0,R.jsxDEV)(`video`,{src:lr(e[t]),controls:!0,autoPlay:!0,className:`max-h-[90dvh] max-w-[92vw] rounded-lg shadow-2xl`,onClick:e=>e.stopPropagation()},void 0,!1,{fileName:J,lineNumber:127,columnNumber:9},this):(0,R.jsxDEV)(`img`,{src:lr(e[t]),alt:``,className:`max-h-[90dvh] max-w-[92vw] object-contain rounded-lg shadow-2xl`,onClick:e=>e.stopPropagation()},void 0,!1,{fileName:J,lineNumber:135,columnNumber:9},this),i&&(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute right-3 md:right-6`,onClick:e=>{e.stopPropagation(),o()},children:(0,R.jsxDEV)(_s,{size:26},void 0,!1,{fileName:J,lineNumber:150,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:143,columnNumber:9},this),i&&(0,R.jsxDEV)(`div`,{className:`absolute bottom-5 left-1/2 -translate-x-1/2 text-white/70 text-sm tabular-nums`,children:[t+1,` / `,e.length]},void 0,!0,{fileName:J,lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:108,columnNumber:5},this)}function dy({name:e,className:t}){let[n,r]=(0,L.useState)(!1);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`img`,{src:lr(e),alt:``,loading:`lazy`,onClick:()=>r(!0),className:t??`max-h-40 rounded-xl border border-border cursor-zoom-in hover:opacity-90 transition-opacity`},void 0,!1,{fileName:J,lineNumber:169,columnNumber:7},this),n&&(0,R.jsxDEV)(uy,{images:[e],index:0,onClose:()=>r(!1),onIndex:()=>{}},void 0,!1,{fileName:J,lineNumber:178,columnNumber:16},this)]},void 0,!0,{fileName:J,lineNumber:168,columnNumber:5},this)}function fy({value:e,poster:t}){let n=ly(e),[r,i]=(0,L.useState)(null);if(!n.length)return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:J,lineNumber:188,columnNumber:28},this);let a=n.map(e=>e.name),o=t?`h-96 w-64`:`h-24 w-24`;return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:n.map((e,t)=>(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>i(t),className:`relative ${o} rounded-xl overflow-hidden border border-border hover:border-accent transition-colors cursor-zoom-in`,children:(0,R.jsxDEV)(cy,{name:e.name},void 0,!1,{fileName:J,lineNumber:201,columnNumber:13},this)},`${e.name}-${t}`,!1,{fileName:J,lineNumber:195,columnNumber:11},this))},void 0,!1,{fileName:J,lineNumber:193,columnNumber:7},this),r!==null&&(0,R.jsxDEV)(uy,{images:a,index:r,onClose:()=>i(null),onIndex:i},void 0,!1,{fileName:J,lineNumber:205,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:192,columnNumber:5},this)}function py({value:e}){let t=ly(e),[n,r]=(0,L.useState)(null);if(!t.length)return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:J,lineNumber:215,columnNumber:28},this);let i=t.map(e=>e.name);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:t.length===1?(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(0),className:`relative inline-block rounded-full cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:lr(t[0].name),alt:``,loading:`lazy`,className:`max-h-96 rounded-full border border-border object-cover hover:opacity-90 transition-opacity`},void 0,!1,{fileName:J,lineNumber:229,columnNumber:13},this)},`${t[0].name}-0`,!1,{fileName:J,lineNumber:223,columnNumber:11},this):t.map((e,t)=>(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(t),className:`relative h-24 w-24 rounded-full overflow-hidden border border-border hover:border-accent transition-colors cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:lr(e.name),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:243,columnNumber:13},this)},`${e.name}-${t}`,!1,{fileName:J,lineNumber:237,columnNumber:11},this))},void 0,!1,{fileName:J,lineNumber:221,columnNumber:7},this),n!==null&&(0,R.jsxDEV)(uy,{images:i,index:n,onClose:()=>r(null),onIndex:r},void 0,!1,{fileName:J,lineNumber:247,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:220,columnNumber:5},this)}function my({value:e}){let t=ly(e)[0];return t?(0,R.jsxDEV)(`img`,{src:lr(t.name),alt:``,style:{height:28,width:28},className:`rounded-full object-cover`},void 0,!1,{fileName:J,lineNumber:256,columnNumber:5},this):(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:J,lineNumber:254,columnNumber:20},this)}function hy({value:e,banner:t}){let n=ly(e),[r,i]=(0,L.useState)(0),[a,o]=(0,L.useState)(!1);if(!n.length)return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:J,lineNumber:275,columnNumber:28},this);let s=n.map(e=>e.name),c=n.length>1,l=Math.min(r,n.length-1),u=()=>i((l-1+n.length)%n.length),d=()=>i((l+1)%n.length);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:t?`relative w-full overflow-hidden rounded-none`:`relative w-full overflow-hidden rounded-xl border border-border`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(!0)},className:t?`block h-48 w-full cursor-zoom-in md:h-64`:`block aspect-video max-h-96 w-full cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:lr(s[l]),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:297,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:290,columnNumber:9},this),c&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`lightbox-btn absolute left-2 top-1/2 -translate-y-1/2`,onClick:e=>{e.stopPropagation(),u()},children:(0,R.jsxDEV)(gs,{size:22},void 0,!1,{fileName:J,lineNumber:306,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:301,columnNumber:13},this),(0,R.jsxDEV)(`button`,{type:`button`,className:`lightbox-btn absolute right-2 top-1/2 -translate-y-1/2`,onClick:e=>{e.stopPropagation(),d()},children:(0,R.jsxDEV)(_s,{size:22},void 0,!1,{fileName:J,lineNumber:313,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:308,columnNumber:13},this),(0,R.jsxDEV)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2 py-0.5 text-xs text-white tabular-nums`,children:[l+1,` / `,n.length]},void 0,!0,{fileName:J,lineNumber:315,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:300,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:283,columnNumber:7},this),a&&(0,R.jsxDEV)(uy,{images:s,index:l,onClose:()=>o(!1),onIndex:i},void 0,!1,{fileName:J,lineNumber:321,columnNumber:16},this)]},void 0,!0,{fileName:J,lineNumber:282,columnNumber:5},this)}function gy({accept:e,busy:t,error:n,onPick:r,className:i,round:o=!1}){let{t:s}=a();return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`label`,{className:`flex cursor-pointer flex-col items-center justify-center gap-2 ${o?`rounded-full`:`rounded-xl`} border-2 border-dashed border-border text-muted transition-colors hover:border-accent hover:text-accent ${t?`pointer-events-none opacity-60`:``} ${i??``}`,children:[t?(0,R.jsxDEV)(mt,{size:24,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:355,columnNumber:17},this):(0,R.jsxDEV)(et,{size:24},void 0,!1,{fileName:J,lineNumber:355,columnNumber:66},this),(0,R.jsxDEV)(`span`,{className:`text-sm font-medium`,children:s(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:356,columnNumber:9},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>r(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:357,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:348,columnNumber:7},this),n&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:s(n)},void 0,!1,{fileName:J,lineNumber:365,columnNumber:17},this)]},void 0,!0,{fileName:J,lineNumber:347,columnNumber:5},this)}function _y({accept:e,busy:t,error:n,onPick:r,className:i}){let{t:o}=a();return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`label`,{className:`flex h-9 cursor-pointer items-center gap-2 rounded-lg border border-dashed border-border px-3 text-sm text-muted transition-colors hover:border-accent hover:text-accent ${t?`pointer-events-none opacity-60`:``} ${i??`w-fit`}`,children:[t?(0,R.jsxDEV)(mt,{size:15,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:395,columnNumber:17},this):(0,R.jsxDEV)(et,{size:15},void 0,!1,{fileName:J,lineNumber:395,columnNumber:66},this),(0,R.jsxDEV)(`span`,{className:`font-medium`,children:o(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:396,columnNumber:9},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>r(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:397,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:390,columnNumber:7},this),n&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:o(n)},void 0,!1,{fileName:J,lineNumber:405,columnNumber:17},this)]},void 0,!0,{fileName:J,lineNumber:389,columnNumber:5},this)}function vy({accept:e,busy:t,onPick:n,title:r,className:i}){return(0,R.jsxDEV)(`label`,{title:r,className:`inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:text-accent group-hover:opacity-100 ${t?`pointer-events-none opacity-60`:``} ${i??``}`,children:[t?(0,R.jsxDEV)(mt,{size:15,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:431,columnNumber:15},this):(0,R.jsxDEV)(we,{size:15},void 0,!1,{fileName:J,lineNumber:431,columnNumber:64},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>n(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:432,columnNumber:7},this)]},void 0,!0,{fileName:J,lineNumber:425,columnNumber:5},this)}function yy({value:e,onChange:t,accept:n=`image/*`,poster:r}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),l=ly(e)[0];async function u(e){if(!e)return;let n=await c(e);n&&t(n)}return l?(0,R.jsxDEV)(`div`,{className:`group relative inline-block`,children:[(0,R.jsxDEV)(dy,{name:l.name,className:r?`h-96 w-64 object-cover rounded-xl border border-border cursor-zoom-in hover:opacity-90 transition-opacity`:void 0},void 0,!1,{fileName:J,lineNumber:467,columnNumber:9},this),(0,R.jsxDEV)(vy,{accept:n,busy:o,onPick:u,title:i(`actions.replace`),className:`absolute right-11 top-2`},void 0,!1,{fileName:J,lineNumber:475,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`icon`,disabled:o,className:`absolute top-2 right-2 h-8 w-8 rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/70 hover:text-danger group-hover:opacity-100`,onClick:async()=>{await ay(i)&&t(``)},title:i(`actions.delete`),children:(0,R.jsxDEV)(nt,{size:15},void 0,!1,{fileName:J,lineNumber:487,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:476,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:466,columnNumber:7},this):(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,onPick:u},void 0,!1,{fileName:J,lineNumber:492,columnNumber:10},this)}function by({value:e,onChange:t,accept:n=`image/*`,poster:r}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),[l,u]=(0,L.useState)(null),d=ly(e),f=r?`h-96 w-64`:`h-24 w-24`;function p(e){t(e.length?e:``)}async function m(e){if(!e)return;let t=await c(e);t&&p([...d,t])}let h=d.map(e=>e.name);return d.length?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:[d.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`group/img relative ${f} overflow-hidden rounded-xl border border-border`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>u(t),className:`block h-full w-full cursor-zoom-in`,children:(0,R.jsxDEV)(cy,{name:e.name},void 0,!1,{fileName:J,lineNumber:537,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:536,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/img:opacity-100`,onClick:async()=>{await ay(i)&&p(d.filter((e,n)=>n!==t))},title:i(`actions.delete`),children:(0,R.jsxDEV)(nt,{size:13},void 0,!1,{fileName:J,lineNumber:550,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:539,columnNumber:13},this)]},`${e.name}-${t}`,!0,{fileName:J,lineNumber:532,columnNumber:11},this)),(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,onPick:m,className:f},void 0,!1,{fileName:J,lineNumber:554,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:530,columnNumber:7},this),l!==null&&(0,R.jsxDEV)(uy,{images:h,index:l,onClose:()=>u(null),onIndex:u},void 0,!1,{fileName:J,lineNumber:556,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:529,columnNumber:5},this):(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,onPick:m},void 0,!1,{fileName:J,lineNumber:526,columnNumber:12},this)}function xy({value:e,onChange:t,accept:n=`image/*`,multiple:r=!1}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),l=ly(e),u=e=>t(e.length?e:``);if(r){async function e(e){if(!e)return;let t=await c(e);t&&u([...l,t])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:(0,R.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[l.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`group/av relative h-24 w-24 shrink-0`,children:[(0,R.jsxDEV)(`img`,{src:lr(e.name),alt:``,className:`h-24 w-24 rounded-full border border-border object-cover`},void 0,!1,{fileName:J,lineNumber:590,columnNumber:15},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 h-7 w-7 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/av:opacity-100`,onClick:async()=>{await ay(i)&&u(l.filter((e,n)=>n!==t))},title:i(`actions.delete`),children:(0,R.jsxDEV)(nt,{size:11},void 0,!1,{fileName:J,lineNumber:606,columnNumber:17},this)},void 0,!1,{fileName:J,lineNumber:595,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:J,lineNumber:589,columnNumber:13},this)),(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,onPick:e,className:`h-24 w-24`,round:!0},void 0,!1,{fileName:J,lineNumber:610,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:587,columnNumber:9},this)},void 0,!1,{fileName:J,lineNumber:586,columnNumber:7},this)}let d=l[0];async function f(e){if(!e)return;let n=await c(e);n&&t(n)}return d?(0,R.jsxDEV)(`div`,{className:`group relative inline-block`,children:[(0,R.jsxDEV)(`img`,{src:lr(d.name),alt:``,className:`h-40 w-40 rounded-full border border-border object-cover`},void 0,!1,{fileName:J,lineNumber:626,columnNumber:9},this),(0,R.jsxDEV)(vy,{accept:n,busy:o,onPick:f,title:i(`actions.replace`),className:`absolute right-9 top-1`},void 0,!1,{fileName:J,lineNumber:631,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`icon`,disabled:o,className:`absolute right-1 top-1 h-8 w-8 rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/70 hover:text-danger group-hover:opacity-100`,onClick:async()=>{await ay(i)&&t(``)},title:i(`actions.delete`),children:(0,R.jsxDEV)(nt,{size:15},void 0,!1,{fileName:J,lineNumber:643,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:632,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:625,columnNumber:7},this):(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,onPick:f,className:`h-40 w-40`,round:!0},void 0,!1,{fileName:J,lineNumber:648,columnNumber:10},this)}function Sy({value:e,onChange:t,accept:n=`image/*`,multiple:r=!1}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),[l,u]=(0,L.useState)(0),d=ly(e),f=e=>t(e.length?e:``);async function p(e){if(!e)return;let t=await c(e);t&&f(r?[...d,t]:[t])}if(!d.length)return(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,onPick:p,className:`w-full`},void 0,!1,{fileName:J,lineNumber:680,columnNumber:12},this);let m=r?d.length+1:d.length,h=m>1,g=Math.min(l,m-1),_=r&&g===d.length;return(0,R.jsxDEV)(`div`,{className:`group/cov relative w-full overflow-hidden rounded-xl border border-border`,children:[_?(0,R.jsxDEV)(`div`,{className:`flex aspect-video max-h-96 w-full flex-col items-center justify-center gap-1 bg-elevated px-20`,children:[(0,R.jsxDEV)(`label`,{className:`flex w-full flex-1 cursor-pointer flex-col items-center justify-center gap-3 text-muted transition-colors hover:text-accent ${o?`pointer-events-none opacity-60`:``}`,children:[o?(0,R.jsxDEV)(mt,{size:40,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:703,columnNumber:21},this):(0,R.jsxDEV)(et,{size:40},void 0,!1,{fileName:J,lineNumber:703,columnNumber:70},this),(0,R.jsxDEV)(`span`,{className:`text-base font-medium`,children:i(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:704,columnNumber:13},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:n,className:`hidden`,disabled:o,onChange:e=>p(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:705,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:698,columnNumber:11},this),s&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:i(s)},void 0,!1,{fileName:J,lineNumber:713,columnNumber:21},this)]},void 0,!0,{fileName:J,lineNumber:697,columnNumber:9},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`img`,{src:lr(d[g].name),alt:``,className:`aspect-video max-h-96 w-full object-cover`},void 0,!1,{fileName:J,lineNumber:717,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/cov:opacity-100`,onClick:async()=>{await ay(i)&&f(d.filter((e,t)=>t!==g))},title:i(`actions.delete`),children:(0,R.jsxDEV)(nt,{size:13},void 0,!1,{fileName:J,lineNumber:727,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:718,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:716,columnNumber:9},this),h&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`absolute left-2 top-1/2 z-10 flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white backdrop-blur-sm transition-colors hover:bg-black/70`,onClick:()=>u((g-1+m)%m),children:(0,R.jsxDEV)(gs,{size:22},void 0,!1,{fileName:J,lineNumber:738,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:733,columnNumber:11},this),(0,R.jsxDEV)(`button`,{type:`button`,className:`absolute right-2 top-1/2 z-10 flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white backdrop-blur-sm transition-colors hover:bg-black/70`,onClick:()=>u((g+1)%m),children:(0,R.jsxDEV)(_s,{size:22},void 0,!1,{fileName:J,lineNumber:745,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:740,columnNumber:11},this),!_&&(0,R.jsxDEV)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2 py-0.5 text-xs text-white tabular-nums`,children:[g+1,` / `,d.length]},void 0,!0,{fileName:J,lineNumber:748,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:732,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:695,columnNumber:5},this)}function Cy({value:e,height:t}){let n=ly(e)[0];if(!n)return(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:J,lineNumber:762,columnNumber:20},this);let r=t??32;return sy(n.name)?(0,R.jsxDEV)(`video`,{src:lr(n.name),muted:!0,playsInline:!0,preload:`metadata`,style:{height:r},className:`object-contain rounded`},void 0,!1,{fileName:J,lineNumber:766,columnNumber:7},this):(0,R.jsxDEV)(`img`,{src:lr(n.name),alt:``,style:{height:r},className:`object-contain rounded`},void 0,!1,{fileName:J,lineNumber:775,columnNumber:10},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/file.tsx`;function wy(e){return br({title:e(`actions.confirmDelete`),confirmLabel:e(`actions.delete`),variant:`destructive`})}function Ty(e){return e==null?null:e>=1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${Math.round(e/1024)} KB`}function Ey({rec:e}){return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(ws,{size:16,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:38,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:e.name},void 0,!1,{fileName:Y,lineNumber:39,columnNumber:7},this),Ty(e.size)&&(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:Ty(e.size)},void 0,!1,{fileName:Y,lineNumber:40,columnNumber:35},this)]},void 0,!0,{fileName:Y,lineNumber:37,columnNumber:5},this)}function Dy({kind:e,rec:t,className:n}){return e===`audio`?(0,R.jsxDEV)(`audio`,{controls:!0,src:lr(t.name),className:n},void 0,!1,{fileName:Y,lineNumber:48,columnNumber:5},this):(0,R.jsxDEV)(`video`,{controls:!0,src:lr(t.name),className:n},void 0,!1,{fileName:Y,lineNumber:50,columnNumber:5},this)}var Oy={file:`*`,document:`.pdf,.doc,.docx,.xls,.xlsx,.txt,.csv`,audio:`audio/*`,video:`video/*`,image:`image/*`,media:`image/*,video/*`,avatar:`image/*`,cover:`image/*`,poster:`image/*`};function ky({kind:e,value:t,onChange:n}){let{t:r}=a(),{busy:i,error:o,upload:s}=iy(),c=ly(t),l=e=>n(e.length?e:``);async function u(e){if(!e)return;let t=await s(e);t&&l([...c,t])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[c.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 rounded-lg border border-border px-2 py-1.5`,children:[(0,R.jsxDEV)(Ey,{rec:e},void 0,!1,{fileName:Y,lineNumber:86,columnNumber:11},this),(0,R.jsxDEV)(`a`,{href:lr(e.name),download:!0,className:`text-muted hover:text-accent`,children:(0,R.jsxDEV)(bs,{size:15},void 0,!1,{fileName:Y,lineNumber:88,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:87,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:i,className:`text-muted hover:text-danger`,onClick:async()=>{await wy(r)&&l(c.filter((e,n)=>n!==t))},children:(0,R.jsxDEV)(nt,{size:13},void 0,!1,{fileName:Y,lineNumber:100,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:90,columnNumber:11},this)]},`${e.name}-${t}`,!0,{fileName:Y,lineNumber:85,columnNumber:9},this)),(0,R.jsxDEV)(ot,{accept:Oy[e]??`*`,busy:i,error:o,onPick:u},void 0,!1,{fileName:Y,lineNumber:104,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:83,columnNumber:5},this)}function Ay({kind:e,value:t,onChange:n}){let{t:r}=a(),{busy:i,error:o,upload:s}=iy(),c=ly(t),l=e=>n(e.length?e:``);async function u(e){if(!e)return;let t=await s(e);t&&l([...c,t])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[c.map((t,n)=>(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(Dy,{kind:e,rec:t,className:e===`audio`?`min-w-0 flex-1`:`min-w-0 flex-1 max-h-72 rounded-lg`},void 0,!1,{fileName:Y,lineNumber:128,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:i,className:`shrink-0 text-muted hover:text-danger`,onClick:async()=>{await wy(r)&&l(c.filter((e,t)=>t!==n))},children:(0,R.jsxDEV)(nt,{size:13},void 0,!1,{fileName:Y,lineNumber:139,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:129,columnNumber:11},this)]},`${t.name}-${n}`,!0,{fileName:Y,lineNumber:127,columnNumber:9},this)),(0,R.jsxDEV)(ot,{accept:Oy[e]??`*`,busy:i,error:o,onPick:u},void 0,!1,{fileName:Y,lineNumber:143,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:125,columnNumber:5},this)}function jy(e,t,n,r){if(e===`avatar`)return(0,R.jsxDEV)(xy,{value:t,onChange:n,accept:Oy[e],multiple:r},void 0,!1,{fileName:Y,lineNumber:152,columnNumber:12},this);if(e===`cover`)return(0,R.jsxDEV)(Sy,{value:t,onChange:n,accept:Oy[e],multiple:r},void 0,!1,{fileName:Y,lineNumber:155,columnNumber:12},this);if(e===`image`||e===`media`||e===`poster`){let i=e===`poster`;return r?(0,R.jsxDEV)(by,{value:t,onChange:n,accept:Oy[e],poster:i},void 0,!1,{fileName:Y,lineNumber:160,columnNumber:7},this):(0,R.jsxDEV)(yy,{value:t,onChange:n,accept:Oy[e],poster:i},void 0,!1,{fileName:Y,lineNumber:162,columnNumber:7},this)}return e===`audio`||e===`video`?(0,R.jsxDEV)(Ay,{kind:e,value:t,onChange:n},void 0,!1,{fileName:Y,lineNumber:166,columnNumber:12},this):(0,R.jsxDEV)(ky,{kind:e,value:t,onChange:n},void 0,!1,{fileName:Y,lineNumber:168,columnNumber:10},this)}function My({kind:e,value:t}){let n=ly(t);return n.length?e===`avatar`?(0,R.jsxDEV)(py,{value:t},void 0,!1,{fileName:Y,lineNumber:177,columnNumber:33},this):e===`cover`?(0,R.jsxDEV)(hy,{value:t},void 0,!1,{fileName:Y,lineNumber:178,columnNumber:32},this):e===`image`||e===`media`?(0,R.jsxDEV)(fy,{value:t},void 0,!1,{fileName:Y,lineNumber:179,columnNumber:52},this):e===`poster`?(0,R.jsxDEV)(fy,{value:t,poster:!0},void 0,!1,{fileName:Y,lineNumber:180,columnNumber:33},this):e===`audio`||e===`video`?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map((t,n)=>(0,R.jsxDEV)(Dy,{kind:e,rec:t,className:e===`audio`?`w-full`:`max-h-72 rounded-lg`},`${t.name}-${n}`,!1,{fileName:Y,lineNumber:185,columnNumber:11},this))},void 0,!1,{fileName:Y,lineNumber:183,columnNumber:7},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map((e,t)=>(0,R.jsxDEV)(`a`,{href:lr(e.name),download:!0,className:`flex items-center gap-2 rounded-lg border border-border px-2 py-1.5 hover:border-accent`,children:[(0,R.jsxDEV)(Ey,{rec:e},void 0,!1,{fileName:Y,lineNumber:199,columnNumber:11},this),(0,R.jsxDEV)(bs,{size:15,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:200,columnNumber:11},this)]},`${e.name}-${t}`,!0,{fileName:Y,lineNumber:193,columnNumber:9},this))},void 0,!1,{fileName:Y,lineNumber:191,columnNumber:5},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Y,lineNumber:176,columnNumber:28},this)}function Ny(e){let t=e.field.kind,n=e.value??``,r=e.field.hints.noEditControl===!0&&e.mode===`view`,i=e.field.hints.multiple===!0,a=r?(0,R.jsxDEV)(My,{kind:t,value:n},void 0,!1,{fileName:Y,lineNumber:217,columnNumber:5},this):jy(t,n,t=>e.onChange?.(t),i);return e.bare?a:(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(It,{label:e.label,required:e.required},void 0,!1,{fileName:Y,lineNumber:225,columnNumber:33},this),a,(0,R.jsxDEV)(Ot,{error:e.error},void 0,!1,{fileName:Y,lineNumber:227,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:224,columnNumber:5},this)}function Py(e){let t=ly(e.value)[0];if(!t)return(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:Y,lineNumber:236,columnNumber:20},this);let n=e.field?.kind,r=n===`audio`?As:n===`video`?Ts:ws,i=Ty(t.size);return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 text-sm`,children:[(0,R.jsxDEV)(r,{size:14,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:242,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.name},void 0,!1,{fileName:Y,lineNumber:243,columnNumber:7},this),i&&(0,R.jsxDEV)(`span`,{className:`shrink-0 text-xs text-muted`,children:i},void 0,!1,{fileName:Y,lineNumber:244,columnNumber:14},this)]},void 0,!0,{fileName:Y,lineNumber:241,columnNumber:5},this)}I({kinds:[`image`,`media`,`poster`],layout:yn,box:`none`,Page:Ny,Inline:Cy}),I({kinds:[`file`,`document`,`audio`,`video`],layout:yn,box:`none`,Page:Ny,Inline:Py}),I({kinds:[`avatar`],layout:`scalar`,box:`none`,Page:Ny,Inline:my}),I({kinds:[`cover`],layout:`block`,Page:Ny,Inline:Cy});var Fy=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/period.tsx`;function Iy(e){if(Array.isArray(e))return e;if(e&&typeof e==`object`&&Object.keys(e).length)return[e];if(typeof e==`string`&&e)try{let t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`&&Object.keys(t).length)return[t]}catch{}return[]}function Ly(e,t){return e?t===`datetime`?e.replace(`T`,` `):e:`…`}function Ry(e,t){return`${Ly(e.from,t)}–${Ly(e.until,t)}`}function zy({field:e,value:t,onChange:n}){let{t:r}=a();return(0,R.jsxDEV)(Vv,{value:t,onChange:n,field:e,t:r},void 0,!1,{fileName:Fy,lineNumber:66,columnNumber:10},this)}function By({field:e,value:t}){let n=e.hints.granularity??`day`;return(0,R.jsxDEV)(st,{items:Iy(t),content:e=>(0,R.jsxDEV)(`span`,{className:`font-mono`,children:Ry(e,n)},void 0,!1,{fileName:Fy,lineNumber:75,columnNumber:23},this)},void 0,!1,{fileName:Fy,lineNumber:73,columnNumber:5},this)}function Vy(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(By,{field:e.field,value:t},void 0,!1,{fileName:Fy,lineNumber:92,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(zy,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:Fy,lineNumber:94,columnNumber:9},this)},void 0,!1,{fileName:Fy,lineNumber:82,columnNumber:5},this)}function Hy({value:e,field:t}){let n=t.hints.granularity??`day`,r=Iy(e);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r.length?r.map(e=>Ry(e,n)).join(`, `):`—`},void 0,!1,{fileName:Fy,lineNumber:109,columnNumber:5},this)}I({kinds:[`period`],Page:Vy,Inline:Hy});var X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group.tsx`,Uy=e=>_n(e)===`block`;function Wy({onRemove:e}){let{t}=a();return(0,R.jsxDEV)(`div`,{className:`flex shrink-0 flex-col`,children:[(0,R.jsxDEV)(`div`,{className:`min-h-8 mb-1.5`,"aria-hidden":!0},void 0,!1,{fileName:X,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`iconSm`,onClick:e,title:t(`actions.delete`),"aria-hidden":!e||void 0,tabIndex:e?void 0:-1,className:`rounded-lg text-muted hover:border-danger hover:text-danger${e?``:` invisible`}`,children:(0,R.jsxDEV)(nt,{size:14},void 0,!1,{fileName:X,lineNumber:56,columnNumber:9},this)},void 0,!1,{fileName:X,lineNumber:46,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:44,columnNumber:5},this)}function Gy({group:e,value:t,onChange:n,recordCtx:r}){let{t:i}=a(),o=Ie(),s=Array.isArray(t)?t:[],c=e.unique??[];function l(e,t,r){n(s.map((n,i)=>i===e?{...n,[t]:r}:n))}function u(t,n,a){if(t.type.virtual&&t.type.prim===`lookup`){let r={key:t.key,...t.type},a=Object.fromEntries(Object.entries(n).map(([e,t])=>[e,String(t??``)])),o=e.fields.filter(e=>Gt(e)).map(e=>({key:e.key,...e.type}));return(0,R.jsxDEV)(`div`,{className:`flex flex-col min-w-0`,children:[t.type.label?(0,R.jsxDEV)(It,{label:i(t.type.label)},void 0,!1,{fileName:X,lineNumber:93,columnNumber:29},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Ov,{lookupField:r,row:a,subs:o},void 0,!1,{fileName:X,lineNumber:95,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:94,columnNumber:11},this)]},t.key,!0,{fileName:X,lineNumber:92,columnNumber:9},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:(0,R.jsxDEV)(fr,{field:t.type,value:n[t.key]??``,excludeValues:wt(s,c,t.key,a),onChange:e=>l(a,t.key,e),label:t.type.label?i(t.type.label):void 0,mode:`edit`,recordCtx:r,error:e.key?o([e.key,a,t.key]):void 0},void 0,!1,{fileName:X,lineNumber:105,columnNumber:9},this)},t.key,!1,{fileName:X,lineNumber:104,columnNumber:7},this)}function d(t,i){return(0,R.jsxDEV)(zt,{children:(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(jn,{scroll:e.display===`scroll`,items:e.fields.flatMap((e,n)=>Yt(e)?[{key:`brk-${i}-${n}`,break:!0,node:null}]:Kt(e)?e.key==null&&e.display===`scroll`?[{key:e.label??`flow`,full:!0,node:(0,R.jsxDEV)(jn,{scroll:!0,items:e.fields.flatMap(e=>Gt(e)?[{key:e.key,node:u(e,t,i)}]:[])},void 0,!1,{fileName:X,lineNumber:138,columnNumber:27},this)}]:[{key:e.key??e.label??`g`,full:e.kind!==`per-weekday`,node:(0,R.jsxDEV)(tb,{group:e,value:t[e.key],onChange:t=>l(i,e.key,t),recordCtx:r,mode:`edit`},void 0,!1,{fileName:X,lineNumber:153,columnNumber:25},this)}]:Gt(e)?[{key:e.key,full:Uy(e.type),node:u(e,t,i)}]:[])},void 0,!1,{fileName:X,lineNumber:124,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:123,columnNumber:11},this),(0,R.jsxDEV)(Wy,{onRemove:()=>n(s.filter((e,t)=>t!==i))},void 0,!1,{fileName:X,lineNumber:169,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:122,columnNumber:9},this)},i,!1,{fileName:X,lineNumber:121,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col ${At}`,children:[s.map(d),(0,R.jsxDEV)(St,{onClick:()=>n([...s,{}]),children:i(`form.addRow`)},void 0,!1,{fileName:X,lineNumber:178,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:176,columnNumber:5},this)}var Ky=e=>`${Pt(e)} flex flex-col min-w-0 ${At}`,qy=new Set([`boolean`,`rating`]);function Jy({sub:e,row:t,group:n,recordCtx:r,onChange:i}){let{t:o}=a();if(e.type.virtual&&e.type.prim===`lookup`){let r={key:e.key,...e.type},i=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,String(t??``)])),a=n.fields.filter(e=>Gt(e)).map(e=>({key:e.key,...e.type}));return(0,R.jsxDEV)(`div`,{className:`flex flex-col min-w-0`,children:[e.type.label?(0,R.jsxDEV)(It,{label:o(e.type.label)},void 0,!1,{fileName:X,lineNumber:228,columnNumber:27},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Ov,{lookupField:r,row:i,subs:a},void 0,!1,{fileName:X,lineNumber:230,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:229,columnNumber:9},this)]},void 0,!0,{fileName:X,lineNumber:227,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:[e.type.label?(0,R.jsxDEV)(It,{label:o(e.type.label)},void 0,!1,{fileName:X,lineNumber:237,columnNumber:25},this):null,(0,R.jsxDEV)(fr,{field:e.type,value:t[e.key]??``,mode:`view`,bare:!0,recordCtx:r,onChange:i},void 0,!1,{fileName:X,lineNumber:238,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:236,columnNumber:5},this)}function Yy({group:e,value:t,onChange:n,recordCtx:r}){let{t:i}=a(),o=Mt(),s=Array.isArray(t)?t:[];function c(e,t,r){n(s.map((n,i)=>i===e?{...n,[t]:r}:n))}return s.length===0?null:(0,R.jsxDEV)(`fieldset`,{className:Ky(o),children:[(0,R.jsxDEV)(kt,{as:`legend`,label:i(e.label),icon:Lt(e)},void 0,!1,{fileName:X,lineNumber:277,columnNumber:7},this),(0,R.jsxDEV)(Rt,{depth:o+1,children:(0,R.jsxDEV)(`div`,{className:`flex flex-col ${At}`,children:s.map((t,n)=>(0,R.jsxDEV)(zt,{children:(0,R.jsxDEV)(jn,{scroll:e.display===`scroll`,items:e.fields.flatMap((i,a)=>Yt(i)?[{key:`brk-${n}-${a}`,break:!0,node:null}]:Kt(i)?i.key==null&&i.display===`scroll`?[{key:i.label??`flow`,full:!0,node:(0,R.jsxDEV)(jn,{scroll:!0,items:i.fields.flatMap(i=>Gt(i)?[{key:i.key,node:(0,R.jsxDEV)(Jy,{sub:i,row:t,group:e,recordCtx:r,onChange:qy.has(i.type.kind)?e=>c(n,i.key,e):void 0},void 0,!1,{fileName:X,lineNumber:304,columnNumber:43},this)}]:[])},void 0,!1,{fileName:X,lineNumber:296,columnNumber:29},this)}]:[{key:i.key??i.label??`g`,full:i.kind!==`per-weekday`,node:(0,R.jsxDEV)(tb,{group:i,value:t[i.key],onChange:e=>c(n,i.key,e),recordCtx:r,mode:`view`},void 0,!1,{fileName:X,lineNumber:330,columnNumber:27},this)}]:Gt(i)?[{key:i.key,full:Uy(i.type),node:(0,R.jsxDEV)(Jy,{sub:i,row:t,group:e,recordCtx:r,onChange:qy.has(i.type.kind)?e=>c(n,i.key,e):void 0},void 0,!1,{fileName:X,lineNumber:347,columnNumber:25},this)}]:[])},void 0,!1,{fileName:X,lineNumber:282,columnNumber:15},this)},n,!1,{fileName:X,lineNumber:281,columnNumber:13},this))},void 0,!1,{fileName:X,lineNumber:279,columnNumber:9},this)},void 0,!1,{fileName:X,lineNumber:278,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:276,columnNumber:5},this)}var Xy=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/table-group.tsx`;function Zy({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Ie(),c=Mt(),l=e.fields.filter(e=>Gt(e)||Kt(e)&&!!e.kind),u=e=>e.key,d=e=>Gt(e)?e.type.label:e.label,f=e=>Gt(e)?{field:e.type}:{field:e,el:e},p=e=>Gt(e)&&e.type.prim===`text`,m=e.unique??[],h=Array.isArray(t)?t:[],g=i!==`view`,_=h,v=e=>n(e),y=(e,t,n)=>v(_.map((r,i)=>i===e?{...r,[t]:n}:r)),b=(0,R.jsxDEV)(`div`,{className:`overflow-x-auto`,children:[(0,R.jsxDEV)(`table`,{className:`w-full border-collapse text-sm`,children:[(0,R.jsxDEV)(`thead`,{children:(0,R.jsxDEV)(`tr`,{children:[l.map(e=>(0,R.jsxDEV)(`th`,{className:`text-left text-[11px] font-semibold text-muted uppercase px-2 py-1 ${p(e)?`w-full`:`whitespace-nowrap`}`,children:d(e)?o(d(e)):``},u(e),!1,{fileName:Xy,lineNumber:68,columnNumber:11},this)),g&&(0,R.jsxDEV)(`th`,{className:`w-9`,"aria-hidden":!0},void 0,!1,{fileName:Xy,lineNumber:75,columnNumber:20},this)]},void 0,!0,{fileName:Xy,lineNumber:66,columnNumber:7},this)},void 0,!1,{fileName:Xy,lineNumber:65,columnNumber:5},this),(0,R.jsxDEV)(`tbody`,{children:_.map((t,n)=>(0,R.jsxDEV)(`tr`,{className:`align-top`,children:[l.map(i=>(0,R.jsxDEV)(`td`,{className:`px-2 py-1 min-w-0`,children:(0,R.jsxDEV)(fr,{...f(i),value:t[u(i)]??(Gt(i)?``:null),excludeValues:wt(_,m,u(i),n),onChange:e=>y(n,u(i),e),mode:g?`edit`:`view`,bare:!0,recordCtx:r,error:e.key?s([e.key,n,u(i)]):void 0},void 0,!1,{fileName:Xy,lineNumber:86,columnNumber:15},this)},u(i),!1,{fileName:Xy,lineNumber:85,columnNumber:13},this)),g&&(0,R.jsxDEV)(`td`,{className:`px-1 py-1 w-9`,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`iconSm`,onClick:()=>v(_.filter((e,t)=>t!==n)),title:o(`actions.delete`),className:`rounded-lg text-muted hover:border-danger hover:text-danger`,children:(0,R.jsxDEV)(nt,{size:14},void 0,!1,{fileName:Xy,lineNumber:108,columnNumber:17},this)},void 0,!1,{fileName:Xy,lineNumber:100,columnNumber:15},this)},void 0,!1,{fileName:Xy,lineNumber:99,columnNumber:13},this)]},n,!0,{fileName:Xy,lineNumber:83,columnNumber:9},this))},void 0,!1,{fileName:Xy,lineNumber:81,columnNumber:5},this)]},void 0,!0,{fileName:Xy,lineNumber:119,columnNumber:7},this),g&&(0,R.jsxDEV)(St,{onClick:()=>v([..._,{}]),children:o(`form.addRow`)},void 0,!1,{fileName:Xy,lineNumber:123,columnNumber:18},this)]},void 0,!0,{fileName:Xy,lineNumber:118,columnNumber:5},this);return g?b:(0,R.jsxDEV)(`section`,{className:`${Pt(c)} flex flex-col gap-1 min-w-0`,children:[(0,R.jsxDEV)(kt,{as:`h3`,label:o(e.label),icon:Lt(e)},void 0,!1,{fileName:Xy,lineNumber:134,columnNumber:7},this),(0,R.jsxDEV)(Rt,{depth:c+1,children:b},void 0,!1,{fileName:Xy,lineNumber:135,columnNumber:7},this)]},void 0,!0,{fileName:Xy,lineNumber:133,columnNumber:5},this)}var Qy=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/fixed-collection.tsx`;function $y({group:e,value:t,onChange:n,recordCtx:r,mode:i=`edit`}){let{t:o}=a(),s=Mt(),c=i!==`view`,l=e.fields[0],u=e.fields.slice(1).filter(e=>Gt(e)),d=l.type.options?.length?l.type.options:Le(l.type.hints.source??``),f=Array.isArray(t)?t:[],p=d.map(e=>f.find(t=>String(t[l.key]??``)===String(e.value))??{[l.key]:e.value});function m(e){n(e.filter(e=>u.some(t=>e[t.key]!=null&&e[t.key]!==``)))}function h(e,t,n){m(p.map((r,i)=>i===e?{...r,[t]:n}:r))}return(0,R.jsxDEV)(`fieldset`,{className:`${Pt(s)} flex flex-col min-w-0 ${At}`,children:[(0,R.jsxDEV)(kt,{as:`legend`,label:o(e.label),icon:Lt(e)},void 0,!1,{fileName:Qy,lineNumber:63,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col ${At}`,children:p.map((e,t)=>(0,R.jsxDEV)(zt,{children:(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0 shrink-0`,children:[l.type.label?(0,R.jsxDEV)(It,{label:o(l.type.label)},void 0,!1,{fileName:Qy,lineNumber:69,columnNumber:34},this):null,(0,R.jsxDEV)(`span`,{className:`text-sm px-1 py-1.5`,children:ku(o,{options:d},String(e[l.key]??``))},void 0,!1,{fileName:Qy,lineNumber:70,columnNumber:17},this)]},void 0,!0,{fileName:Qy,lineNumber:68,columnNumber:15},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(jn,{items:u.map(n=>({key:n.key,full:Uy(n.type),node:c?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:(0,R.jsxDEV)(fr,{field:n.type,value:e[n.key]??``,onChange:e=>h(t,n.key,e),label:n.type.label?o(n.type.label):void 0,mode:`edit`,recordCtx:r},void 0,!1,{fileName:Qy,lineNumber:82,columnNumber:27},this)},void 0,!1,{fileName:Qy,lineNumber:81,columnNumber:25},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:[n.type.label?(0,R.jsxDEV)(It,{label:o(n.type.label)},void 0,!1,{fileName:Qy,lineNumber:97,columnNumber:45},this):null,(0,R.jsxDEV)(fr,{field:n.type,value:e[n.key]??``,mode:`view`,bare:!0,recordCtx:r},void 0,!1,{fileName:Qy,lineNumber:98,columnNumber:27},this)]},void 0,!0,{fileName:Qy,lineNumber:96,columnNumber:25},this)}))},void 0,!1,{fileName:Qy,lineNumber:75,columnNumber:17},this)},void 0,!1,{fileName:Qy,lineNumber:74,columnNumber:15},this)]},void 0,!0,{fileName:Qy,lineNumber:67,columnNumber:13},this)},String(e[l.key]),!1,{fileName:Qy,lineNumber:66,columnNumber:11},this))},void 0,!1,{fileName:Qy,lineNumber:64,columnNumber:7},this)]},void 0,!0,{fileName:Qy,lineNumber:62,columnNumber:5},this)}var eb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group-field.tsx`;function tb({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Ie();if(Wt(e)&&e.fixed)return(0,R.jsxDEV)($y,{group:e,value:t,onChange:e=>n(e),recordCtx:r,mode:i},void 0,!1,{fileName:eb,lineNumber:41,columnNumber:7},this);if(Wt(e)&&e.display===`table`)return(0,R.jsxDEV)(Zy,{group:e,value:t,onChange:e=>n(e),recordCtx:r,mode:i},void 0,!1,{fileName:eb,lineNumber:53,columnNumber:7},this);if(Wt(e))return i===`view`?(0,R.jsxDEV)(Yy,{group:e,value:t,onChange:e=>n(e),recordCtx:r},void 0,!1,{fileName:eb,lineNumber:67,columnNumber:14},this):(0,R.jsxDEV)(`fieldset`,{className:`flex flex-col min-w-0 ${At}`,children:[(0,R.jsxDEV)(kt,{as:`legend`,label:o(e.label),icon:Lt(e)},void 0,!1,{fileName:eb,lineNumber:71,columnNumber:9},this),(0,R.jsxDEV)(Gy,{group:e,value:t,onChange:e=>n(e),recordCtx:r},void 0,!1,{fileName:eb,lineNumber:72,columnNumber:9},this)]},void 0,!0,{fileName:eb,lineNumber:70,columnNumber:7},this);if(Zt(e)){let a=t??{};if(i===`view`&&An(a))return null;let c=(e,t)=>n({...a,[e]:t}),l=e.fields.filter(e=>Gt(e));return(0,R.jsxDEV)(`fieldset`,{className:`flex flex-col min-w-0 ${At}`,children:[(0,R.jsxDEV)(kt,{as:`legend`,label:o(e.label),icon:Lt(e)},void 0,!1,{fileName:eb,lineNumber:87,columnNumber:9},this),(0,R.jsxDEV)(zt,{children:(0,R.jsxDEV)(jn,{items:l.map(t=>({key:t.key,full:Uy(t.type),node:(0,R.jsxDEV)(fr,{field:t.type,value:a[t.key]??``,onChange:e=>c(t.key,e),label:t.type.label?o(t.type.label):void 0,mode:i,recordCtx:r,error:e.key?s([e.key,t.key]):void 0},void 0,!1,{fileName:eb,lineNumber:96,columnNumber:17},this)}))},void 0,!1,{fileName:eb,lineNumber:91,columnNumber:11},this)},void 0,!1,{fileName:eb,lineNumber:90,columnNumber:9},this)]},void 0,!0,{fileName:eb,lineNumber:86,columnNumber:7},this)}return null}var nb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/storage-group.tsx`;function rb({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(tb,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i===`view`?`view`:`edit`},void 0,!1,{fileName:nb,lineNumber:14,columnNumber:5},this)}function ib({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(tb,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i===`view`?`view`:`edit`},void 0,!1,{fileName:nb,lineNumber:26,columnNumber:5},this)}I({kinds:[`collection`],layout:`block`,Page:rb}),I({kinds:[`embedded`],layout:`block`,Page:ib});var ab=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/weekday-grid.tsx`,ob=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`];function sb({group:e,value:t,onChange:n,mode:r}){let{t:i}=a(),o=i(`weekdaysShort`,{returnObjects:!0}),s=Array.isArray(t)?t:[],c=new Map(s.map(e=>[e.day,Number(e.value)])),l=r!==`view`,u=e.fields.slice(1).find(e=>Gt(e)),d=u?.type.hints.min,f=u?.type.hints.max,p=u?.type.hints.step;function m(e,t){n(ob.flatMap(n=>{let r=n===e?t:c.get(n)??0;return r>0?[{day:n,value:r}]:[]}))}return!l&&!s.some(e=>Number(e.value)>0)?(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:ab,lineNumber:50,columnNumber:66},this):(0,R.jsxDEV)(`div`,{className:`flex ${Ft}`,children:(0,R.jsxDEV)(`div`,{className:`grid grid-cols-7 gap-1 w-full max-w-64`,children:ob.map((e,t)=>{let n=c.get(e)??0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col items-center gap-1 min-w-0`,children:[(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted`,children:o[t]},void 0,!1,{fileName:ab,lineNumber:61,columnNumber:15},this),l?(0,R.jsxDEV)(E,{type:`number`,className:`w-full text-center px-1 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`,min:d,max:f,step:p??`any`,value:c.get(e)||``,onChange:t=>m(e,Number(t.target.value)||0)},void 0,!1,{fileName:ab,lineNumber:63,columnNumber:17},this):(0,R.jsxDEV)(`div`,{className:`h-9 w-full rounded-lg flex items-center justify-center text-sm font-semibold border ${n?`bg-accent/20 text-accent border-accent/30`:`bg-bg text-muted/30 border-border`}`,children:n||`·`},void 0,!1,{fileName:ab,lineNumber:73,columnNumber:17},this)]},e,!0,{fileName:ab,lineNumber:60,columnNumber:13},this)})},void 0,!1,{fileName:ab,lineNumber:56,columnNumber:7},this)},void 0,!1,{fileName:ab,lineNumber:55,columnNumber:5},this)}var cb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/url-widget.tsx`;function lb({value:e,onChange:t,mode:n}){let r=e??null;if(n===`view`){let e=mn(r);return e?(0,R.jsxDEV)(`a`,{href:hn(r),target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-accent hover:underline text-sm break-all`,children:[e,` `,(0,R.jsxDEV)(xs,{size:12},void 0,!1,{fileName:cb,lineNumber:34,columnNumber:16},this)]},void 0,!0,{fileName:cb,lineNumber:28,columnNumber:7},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:cb,lineNumber:26,columnNumber:23},this)}return(0,R.jsxDEV)(E,{type:`text`,inputMode:`url`,value:mn(r),onChange:e=>t(en(e.target.value))},void 0,!1,{fileName:cb,lineNumber:41,columnNumber:5},this)}var ub=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/checklist-group.tsx`;function db({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Ie(),c=Mt(),l=e.fields.filter(e=>Gt(e)&&e.key!==`text`),u=e.fields.find(e=>Gt(e)&&e.key===`text`),d=l.map(e=>e.type.label??``),f=vt(d.length),p=Array.isArray(t)?t:[],m=i!==`view`,h=(e,t,r)=>n(p.map((n,i)=>i===e?{...n,[t]:r}:n)),g=(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(`ul`,{className:`flex flex-col gap-1.5`,children:p.map((t,i)=>(0,R.jsxDEV)(`li`,{className:`flex items-center gap-3.5 py-1 text-sm`,children:[l.map((n,a)=>(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 shrink-0`,children:[f&&(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted tabular-nums`,children:ct(a)},void 0,!1,{fileName:ub,lineNumber:54,columnNumber:30},this),(0,R.jsxDEV)(fr,{field:n.type,value:t[n.key]??!1,onChange:e=>h(i,n.key,e),mode:m?`edit`:`view`,bare:!0,recordCtx:r,error:e.key?s([e.key,i,n.key]):void 0},void 0,!1,{fileName:ub,lineNumber:55,columnNumber:17},this)]},n.key,!0,{fileName:ub,lineNumber:53,columnNumber:15},this)),u&&(m?(0,R.jsxDEV)(E,{value:String(t[u.key]??``),onChange:e=>h(i,u.key,e.target.value),className:`h-auto min-w-0 flex-1 border-0 bg-transparent p-0 text-sm shadow-none focus-visible:ring-0`},void 0,!1,{fileName:ub,lineNumber:72,columnNumber:17},this):(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-text`,children:String(t[u.key]??``)||`—`},void 0,!1,{fileName:ub,lineNumber:78,columnNumber:17},this)),m&&(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,onClick:()=>n(p.filter((e,t)=>t!==i)),title:o(`actions.delete`),className:`h-5 w-5 shrink-0 rounded text-muted hover:text-danger`,children:(0,R.jsxDEV)(nt,{size:12},void 0,!1,{fileName:ub,lineNumber:91,columnNumber:17},this)},void 0,!1,{fileName:ub,lineNumber:83,columnNumber:15},this)]},i,!0,{fileName:ub,lineNumber:51,columnNumber:11},this))},void 0,!1,{fileName:ub,lineNumber:49,columnNumber:7},this),m&&(0,R.jsxDEV)(St,{onClick:()=>n([...p,{}]),children:o(`form.addRow`)},void 0,!1,{fileName:ub,lineNumber:98,columnNumber:22},this),(0,R.jsxDEV)(_t,{slots:d},void 0,!1,{fileName:ub,lineNumber:99,columnNumber:7},this)]},void 0,!0,{fileName:ub,lineNumber:48,columnNumber:5},this);return m?g:(0,R.jsxDEV)(`section`,{className:`${Pt(c)} flex flex-col gap-1 min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:(0,R.jsxDEV)(`h3`,{className:`text-[13px] font-semibold text-accent`,children:o(e.label)},void 0,!1,{fileName:ub,lineNumber:112,columnNumber:9},this)},void 0,!1,{fileName:ub,lineNumber:111,columnNumber:7},this),(0,R.jsxDEV)(Rt,{depth:c+1,children:g},void 0,!1,{fileName:ub,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:ub,lineNumber:110,columnNumber:5},this)}var fb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group-widgets.tsx`;function pb({el:e,value:t,onChange:n,mode:r}){return(0,R.jsxDEV)(sb,{group:e,value:t,onChange:e=>n?.(e),mode:r===`view`?`view`:`edit`},void 0,!1,{fileName:fb,lineNumber:17,columnNumber:5},this)}function mb({el:e,value:t,onChange:n,mode:r,bare:i}){let{t:o}=a(),s=e,c=(0,R.jsxDEV)(lb,{value:t,onChange:e=>n?.(e),mode:r===`view`?`view`:`edit`},void 0,!1,{fileName:fb,lineNumber:24,columnNumber:18},this);return i?c:(0,R.jsxDEV)(`div`,{className:`group/field flex flex-col min-w-0 ${At}`,children:[s.label&&(0,R.jsxDEV)(It,{label:o(s.label)},void 0,!1,{fileName:fb,lineNumber:30,columnNumber:23},this),c]},void 0,!0,{fileName:fb,lineNumber:29,columnNumber:5},this)}function hb({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(db,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i},void 0,!1,{fileName:fb,lineNumber:38,columnNumber:5},this)}I({kinds:[`per-weekday`],layout:`block`,Page:pb}),I({kinds:[`url`],layout:`block`,Page:mb}),I({kinds:[`checklist`],layout:`block`,Page:hb});var gb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/actions/TemplateHost.tsx`,_b=new Map;function vb(e){let t=bn(e);if(!t)return null;let n=_b.get(e);return n||(n=(0,L.lazy)(t),_b.set(e,n)),n}var yb=class extends L.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?this.props.fallback:this.props.children}},bb=()=>(0,R.jsxDEV)(`span`,{className:`animate-spin inline-block w-4 h-4 border-2 border-current/30 border-t-current rounded-full`},void 0,!1,{fileName:gb,lineNumber:22,columnNumber:3},void 0);function xb({name:e,data:t}){let{t:n}=a(),r=(0,R.jsxDEV)(R.Fragment,{children:n(`actions.notice`)},void 0,!1,{fileName:gb,lineNumber:28,columnNumber:20},this),i=vb(e);return i?(0,R.jsxDEV)(yb,{fallback:r,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(bb,{},void 0,!1,{fileName:gb,lineNumber:36,columnNumber:27},this),children:(0,R.jsxDEV)(i,{data:t,t:n},void 0,!1,{fileName:gb,lineNumber:37,columnNumber:9},this)},void 0,!1,{fileName:gb,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:gb,lineNumber:35,columnNumber:5},this):(console.warn(`[template] unknown '${e}'`),r)}var Sb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/actions/PopupBody.tsx`;function Cb({ui:e}){let{t}=a();return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(hr,{children:e.title?t(e.title,e.params):t(`actions.notice`)},void 0,!1,{fileName:Sb,lineNumber:11,columnNumber:7},this),e.component?(0,R.jsxDEV)(xb,{name:e.component.name,data:e.component.data},void 0,!1,{fileName:Sb,lineNumber:13,columnNumber:9},this):(0,R.jsxDEV)(vr,{children:t(e.message??``,e.params)},void 0,!1,{fileName:Sb,lineNumber:15,columnNumber:9},this)]},void 0,!0,{fileName:Sb,lineNumber:10,columnNumber:5},this)}var wb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/layout-elements.tsx`;function Tb(e){return(0,R.jsxDEV)(`hr`,{className:`border-border`},void 0,!1,{fileName:wb,lineNumber:17,columnNumber:10},this)}function Eb({el:e}){let{t}=a();return(0,R.jsxDEV)(Ne,{value:t(e.text)},void 0,!1,{fileName:wb,lineNumber:22,columnNumber:10},this)}function Db(e){let{t}=a(),n=e.el,r=e.recordCtx,[i,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(null),l=e=>{if(e.kind===`popup`){c(e);return}let n=e.component?(0,R.jsxDEV)(xb,{name:e.component.name,data:e.component.data},void 0,!1,{fileName:wb,lineNumber:38,columnNumber:9},this):t(e.message??``,e.params);e.variant===`success`?y.success(n):e.variant===`error`?y.error(n):y(n)};return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,R.jsxDEV)(F,{variant:n.variant??`outline`,onClick:async()=>{let e=os(n.value);if(!e){y.error(t(`actions.actionNotFound`));return}o(!0);try{let n=await e({library:r.library,shelf:r.shelf,recordId:r.recordId??``});n?l(n):y.success(t(`actions.actionSuccess`))}catch(e){let n=e.ui;n?l(n):y.error(e instanceof Error?e.message:t(`actions.actionError`))}finally{o(!1)}},disabled:i,className:`max-w-full min-w-0`,children:[i?(0,R.jsxDEV)(`span`,{className:`animate-spin inline-block w-4 h-4 border-2 border-current/30 border-t-current rounded-full`},void 0,!1,{fileName:wb,lineNumber:69,columnNumber:11},this):n.icon&&(0,R.jsxDEV)(Ae,{name:n.icon,size:16},void 0,!1,{fileName:wb,lineNumber:71,columnNumber:22},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t(n.label)},void 0,!1,{fileName:wb,lineNumber:73,columnNumber:9},this)]},void 0,!0,{fileName:wb,lineNumber:67,columnNumber:7},this),(0,R.jsxDEV)(yr,{open:!!s,onOpenChange:e=>!e&&c(null),children:(0,R.jsxDEV)(_r,{children:(0,R.jsxDEV)(gr,{children:s&&(0,R.jsxDEV)(Cb,{ui:s},void 0,!1,{fileName:wb,lineNumber:78,columnNumber:23},this)},void 0,!1,{fileName:wb,lineNumber:77,columnNumber:11},this)},void 0,!1,{fileName:wb,lineNumber:76,columnNumber:9},this)},void 0,!1,{fileName:wb,lineNumber:75,columnNumber:7},this)]},void 0,!0,{fileName:wb,lineNumber:66,columnNumber:5},this)}function Ob({el:e,children:t}){let{t:n}=a(),r=e;return(0,R.jsxDEV)(Re,{label:r.label?n(r.label):void 0,icon:Lt(r),children:t},void 0,!1,{fileName:wb,lineNumber:93,columnNumber:5},this)}I({kinds:[`divider`],layout:`block`,Page:Tb}),I({kinds:[`info`],layout:`block`,Page:Eb}),I({kinds:[`button`],layout:`scalar`,Page:Db}),I({kinds:[`group`],layout:`block`,Page:Ob});var kb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/tristate.tsx`,Ab={unknown:`yes`,yes:`no`,no:`unknown`},jb={yes:!0,no:!1,unknown:`indeterminate`};function Mb({value:e,onChange:t,label:n}){let{saving:r}=tv(),i=e||`unknown`;return(0,R.jsxDEV)(te,{checked:jb[i],disabled:r,onCheckedChange:()=>t?.(Ab[i]),"aria-label":n,className:C(`peer h-4.5 w-4.5 shrink-0 rounded border border-input bg-background ring-offset-background transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,`data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`),children:(0,R.jsxDEV)(se,{className:`flex items-center justify-center text-current`,children:i===`yes`?(0,R.jsxDEV)(Xe,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:kb,lineNumber:37,columnNumber:26},this):(0,R.jsxDEV)(ke,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:kb,lineNumber:37,columnNumber:78},this)},void 0,!1,{fileName:kb,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:kb,lineNumber:24,columnNumber:5},this)}function Nb(e){let t=(0,R.jsxDEV)(Mb,{value:String(e.value??``),onChange:t=>e.onChange?.(t),label:e.label},void 0,!1,{fileName:kb,lineNumber:44,columnNumber:15},this);return e.bare?t:(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(It,{label:e.label,required:e.required},void 0,!1,{fileName:kb,lineNumber:48,columnNumber:33},this),t,(0,R.jsxDEV)(Ot,{error:e.error},void 0,!1,{fileName:kb,lineNumber:50,columnNumber:7},this)]},void 0,!0,{fileName:kb,lineNumber:47,columnNumber:5},this)}var Pb={yes:Xe,unknown:ke,no:w};function Fb({value:e}){let t=String(e??`unknown`);return(0,R.jsxDEV)(Pb[t]??ke,{size:16,className:t===`yes`?`text-accent`:t===`no`?`text-danger`:`text-muted`},void 0,!1,{fileName:kb,lineNumber:60,columnNumber:10},this)}I({kinds:[`triState`],Page:Nb,Inline:Fb});var Ib=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/money.tsx`;function Lb(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function Rb(e){if(e.value==null||!e.currency)return``;try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:e.currency}).format(e.value)}catch{return`${e.value} ${Jt(e.currency)}`}}function zb({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>Lb(t),[t]),i=e.hints.defaultCurrency??`USD`,a=r.currency??i,o=e=>n(e.value==null?``:{value:e.value,currency:e.currency});return(0,R.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,R.jsxDEV)(tu,{customInput:E,className:`flex-1 min-w-0`,value:r.value??``,thousandSeparator:!0,decimalScale:2,min:e.hints.min,max:e.hints.max,placeholder:`0.00`,onValueChange:e=>o({value:e.value===``?void 0:e.floatValue,currency:a})},void 0,!1,{fileName:Ib,lineNumber:43,columnNumber:7},this),(0,R.jsxDEV)(rt,{value:a,onValueChange:e=>o({value:r.value,currency:e}),children:[(0,R.jsxDEV)(it,{className:`w-28`,children:(0,R.jsxDEV)(tt,{},void 0,!1,{fileName:Ib,lineNumber:58,columnNumber:11},this)},void 0,!1,{fileName:Ib,lineNumber:57,columnNumber:9},this),(0,R.jsxDEV)($e,{children:Ut.map(e=>(0,R.jsxDEV)(Tt,{value:e,children:[Jt(e),` `,e]},e,!0,{fileName:Ib,lineNumber:62,columnNumber:13},this))},void 0,!1,{fileName:Ib,lineNumber:60,columnNumber:9},this)]},void 0,!0,{fileName:Ib,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:Ib,lineNumber:42,columnNumber:5},this)}function Bb({value:e}){let t=Rb(Lb(e));return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:Ib,lineNumber:74,columnNumber:14},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Ib,lineNumber:74,columnNumber:58},this)}function Vb(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,R.jsxDEV)(Bb,{value:e},void 0,!1,{fileName:Ib,lineNumber:90,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(zb,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Ib,lineNumber:92,columnNumber:9},this)},void 0,!1,{fileName:Ib,lineNumber:79,columnNumber:5},this)}function Hb({value:e}){return(0,R.jsxDEV)(Bb,{value:e},void 0,!1,{fileName:Ib,lineNumber:99,columnNumber:10},this)}function Ub(e){let t=Lb(e);return t.currency?[{value:t.currency,rawValue:t,label:Jt(t.currency)}]:[]}I({kinds:[`money`],Page:Vb,Inline:Hb,keys:Ub});var Wb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/range.tsx`;function Gb(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function Kb({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>Gb(t),[t]),i=e.hints,a=e=>e===``?void 0:Number(e),o=e=>n(e.from==null&&e.to==null?``:{from:e.from,to:e.to});return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,placeholder:`від`,value:r.from??``,min:i.min,max:i.max,step:i.step,onChange:e=>o({from:a(e.target.value),to:r.to})},void 0,!1,{fileName:Wb,lineNumber:32,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`–`},void 0,!1,{fileName:Wb,lineNumber:42,columnNumber:7},this),(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,placeholder:`до`,value:r.to??``,min:i.min,max:i.max,step:i.step,onChange:e=>o({from:r.from,to:a(e.target.value)})},void 0,!1,{fileName:Wb,lineNumber:43,columnNumber:7},this)]},void 0,!0,{fileName:Wb,lineNumber:31,columnNumber:5},this)}function qb({value:e}){let t=Gb(e);return t.from==null&&t.to==null?(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Wb,lineNumber:59,columnNumber:46},this):(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:[t.from??`…`,`–`,t.to??`…`]},void 0,!0,{fileName:Wb,lineNumber:61,columnNumber:5},this)}function Jb(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,R.jsxDEV)(qb,{value:e},void 0,!1,{fileName:Wb,lineNumber:80,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Kb,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Wb,lineNumber:82,columnNumber:9},this)},void 0,!1,{fileName:Wb,lineNumber:69,columnNumber:5},this)}function Yb({value:e}){return(0,R.jsxDEV)(qb,{value:e},void 0,!1,{fileName:Wb,lineNumber:89,columnNumber:10},this)}I({kinds:[`numberRange`,`realRange`],Page:Jb,Inline:Yb}),Xb.displayName=`clike`,Xb.aliases=[];function Xb(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}Zb.displayName=`c`,Zb.aliases=[];function Zb(e){e.register(Xb),e.languages.c=e.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}Qb.displayName=`cpp`,Qb.aliases=[];function Qb(e){e.register(Zb),(function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])})(e)}$b.displayName=`arduino`,$b.aliases=[`ino`];function $b(e){e.register(Qb),e.languages.arduino=e.languages.extend(`cpp`,{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}ex.displayName=`bash`,ex.aliases=[`sh`,`shell`];function ex(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}tx.displayName=`csharp`,tx.aliases=[`cs`,`dotnet`];function tx(e){e.register(Xb),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),ee=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function te(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:te(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[ee]),lookbehind:!0,greedy:!0,inside:te(ee,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(e)}nx.displayName=`markup`,nx.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function nx(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&amp;/,`&`))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}rx.displayName=`css`,rx.aliases=[];function rx(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}ix.displayName=`diff`,ix.aliases=[];function ix(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
57
+ `),a=!1),Object.assign(Object.assign({},e),{allowNegative:a})}function eu(e){e=$l(e),e.decimalSeparator,e.allowedDecimalSeparators,e.thousandsGroupStyle;var t=e.suffix,n=e.allowNegative,r=e.allowLeadingZeros,i=e.onKeyDown;i===void 0&&(i=hl);var a=e.onBlur;a===void 0&&(a=hl);var o=e.thousandSeparator,s=e.decimalScale,c=e.fixedDecimalScale,l=e.prefix;l===void 0&&(l=``);var u=e.defaultValue,d=e.value,f=e.valueIsNumericString,p=e.onValueChange,m=pl(e,[`decimalSeparator`,`allowedDecimalSeparators`,`thousandsGroupStyle`,`suffix`,`allowNegative`,`allowLeadingZeros`,`onKeyDown`,`onBlur`,`thousandSeparator`,`decimalScale`,`fixedDecimalScale`,`prefix`,`defaultValue`,`value`,`valueIsNumericString`,`onValueChange`]),h=ql(e),g=h.decimalSeparator,_=h.allowedDecimalSeparators,v=function(t){return Kl(t,e)},y=function(t,n){return Zl(t,n,e)},b=vl(d)?u:d,x=f??Xl(b,l,t);vl(d)?vl(u)||(x||=typeof u==`number`):x||=typeof d==`number`;var S=function(e){return bl(e)?e:(typeof e==`number`&&(e=kl(e)),x&&typeof s==`number`?Al(e,s,!!c):e)},C=Hl(S(d),S(u),!!x,v,y,p),w=C[0],T=w.numAsString,E=w.formattedValue,D=C[1];return Object.assign(Object.assign({},m),{value:E,valueIsNumericString:!1,isValidInputCharacter:function(e){return e===g||_l(e)},isCharacterSame:function(e){var t=e.currentValue,n=e.lastValue,r=e.formattedValue,i=e.currentValueIndex,a=e.formattedValueIndex,o=t[i],u=r[a],f=Ml(n,t).to,p=function(e){return y(e).indexOf(`.`)+l.length};return d===0&&c&&s&&t[f.start]===g&&p(t)<i&&p(r)>a?!1:i>=f.start&&i<f.end&&_&&_.includes(o)&&u===g?!0:o===u},onValueChange:D,format:v,removeFormatting:y,getCaretBoundary:function(t){return Ql(t,e)},onKeyDown:function(e){var t=e.target,r=e.key,a=t.selectionStart,u=t.selectionEnd,d=t.value;if(d===void 0&&(d=``),(r===`Backspace`||r===`Delete`)&&u<l.length&&d!==`-`){e.preventDefault();return}if(a!==u){i(e);return}r===`Backspace`&&d[0]===`-`&&a===l.length+1&&n&&jl(t,1),s&&c&&(r===`Backspace`&&d[a-1]===g?(jl(t,a-1),e.preventDefault()):r===`Delete`&&d[a]===g&&e.preventDefault()),_?.includes(r)&&d[a]===g&&jl(t,a+1);var f=o===!0?`,`:o;r===`Backspace`&&d[a-1]===f&&jl(t,a-1),r===`Delete`&&d[a]===f&&jl(t,a+1),i(e)},onBlur:function(t){var n=T;n.match(/\d/g)||(n=``),r||(n=El(n)),c&&s&&(n=Al(n,s,c)),n!==T&&D({formattedValue:Kl(n,e),value:n,floatValue:parseFloat(n)},{event:t,source:ml.event}),a(t)}})}function tu(e){var t=eu(e);return L.createElement(Gl,Object.assign({},t))}var nu=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/visually-hidden-input.tsx`;function ru(e){let{control:t,value:n,checked:r,bubbles:i=!0,type:a=`hidden`,style:o,...s}=e,c=L.useMemo(()=>a===`checkbox`||a===`radio`||a===`switch`,[a]),l=L.useRef(null),u=L.useRef({value:c?r:n,previous:c?r:n}),d=L.useMemo(()=>{let e=c?r:n;return u.current.value!==e&&(u.current.previous=u.current.value,u.current.value=e),u.current.previous},[c,n,r]),[f,p]=L.useState({});L.useLayoutEffect(()=>{if(!t){p({});return}if(p({width:t.offsetWidth,height:t.offsetHeight}),typeof window>`u`)return;let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let n=e[0];if(!n)return;let r,i;if(`borderBoxSize`in n){let e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,i=t.blockSize}else r=t.offsetWidth,i=t.offsetHeight;p({width:r,height:i})});return e.observe(t,{box:`border-box`}),()=>{e.disconnect()}},[t]),L.useEffect(()=>{let e=l.current;if(!e)return;let t=window.HTMLInputElement.prototype,a=c?`checked`:`value`,o=c?`click`:`input`,s=c?r:n,u=c?r:typeof n==`object`&&n?JSON.stringify(n):n,f=Object.getOwnPropertyDescriptor(t,a)?.set;if(d!==s&&f){let t=new Event(o,{bubbles:i});f.call(e,u),e.dispatchEvent(t)}},[d,n,r,i,c]);let m=L.useMemo(()=>({...o,...f.width!==void 0&&f.height!==void 0?f:{},border:0,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),[o,f]);return(0,R.jsxDEV)(`input`,{type:a,...s,ref:l,"aria-hidden":c,tabIndex:-1,defaultChecked:c?r:void 0,style:m},void 0,!1,{fileName:nu,lineNumber:148,columnNumber:5},this)}var iu=typeof window<`u`?L.useLayoutEffect:L.useEffect;function au(e){let t=L.useRef(e);return iu(()=>{t.current=e}),t}function ou(e){let t=L.useRef(null);return t.current===null&&(t.current=e()),t}var su=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/rating.tsx`,cu=`Rating`,lu=`RatingItem`,uu=`ratingFocusGroup.onEntryFocus`,du={bubbles:!1,cancelable:!0};function fu(e,t){return`${e}-item-${t}`}function pu(e,t){return`partial-fill-gradient-${e}-${t}`}var mu={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,Home:`first`,End:`last`};function hu(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function gu(e,t,n){let r=hu(e.key,t);if(!(n===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r))&&!(n===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r)))return mu[r]}function _u(e,t=!1){let n=document.activeElement;for(let r of e){let e=r.current;if(e&&(e===n||(e.focus({preventScroll:t}),document.activeElement!==n)))return}}var vu=L.createContext(null);function yu(e){let t=L.useContext(vu);if(!t)throw Error(`\`${e}\` must be used within \`${cu}\``);return t}function bu(e,t){let n=L.useContext(vu),r=t??n;if(!r)throw Error(`\`useStore\` must be used within \`${cu}\``);let i=L.useCallback(()=>e(r.getState()),[r,e]);return L.useSyncExternalStore(r.subscribe,i,i)}var xu=L.createContext(null);function Su(e){let t=L.useContext(xu);if(!t)throw Error(`\`${e}\` must be used within \`${cu}\``);return t}var Cu=L.createContext(null);function wu(e){let t=L.useContext(Cu);if(!t)throw Error(`\`${e}\` must be used within \`FocusProvider\``);return t}function Tu(e){let{value:t,defaultValue:n=0,onValueChange:r,onHover:i,onFocus:a,onMouseDown:o,dir:s,orientation:c=`horizontal`,activationMode:l=`automatic`,size:u=`default`,max:d=5,step:f=1,clearable:p=!1,asChild:m,disabled:h=!1,readOnly:g=!1,required:_=!1,className:v,id:y,name:b,ref:x,...S}=e,w=de(s),T=L.useId(),E=y??T,D=ou(()=>new Set),O=ou(()=>({value:t??n,hoveredValue:null})),k=au({onValueChange:r,onHover:i,onFocus:a,onMouseDown:o,step:f}),A=L.useMemo(()=>({subscribe:e=>(D.current.add(e),()=>D.current.delete(e)),getState:()=>O.current,setState:(e,t)=>{Object.is(O.current[e],t)||(e===`value`&&typeof t==`number`?(O.current.value=t,k.current.onValueChange?.(t)):e===`hoveredValue`?(O.current.hoveredValue=t,k.current.onHover?.(t)):O.current[e]=t,A.notify())},notify:()=>{for(let e of D.current)e()}}),[D,O,k]);iu(()=>{t!==void 0&&A.setState(`value`,t)},[t]);let ee=bu(e=>e.value,A),[te,ne]=L.useState(null),j=Fs(x,e=>ne(e)),M=!te||!!te.closest(`form`),[re,N]=L.useState(null),[ie,oe]=L.useState(!1),[se,ce]=L.useState(0),le=L.useRef(!1),P=L.useRef(new Map),ue=L.useRef(new Map),fe=L.useRef(0),pe=L.useCallback(e=>{let t=ue.current.get(e);if(t!==void 0)return t;let n=fe.current++;return ue.current.set(e,n),n},[]),me=L.useCallback(e=>{N(e)},[]),he=L.useCallback(()=>{oe(!0)},[]),ge=L.useCallback(()=>{ce(e=>e+1)},[]),_e=L.useCallback(()=>{ce(e=>e-1)},[]),ve=L.useCallback(e=>{P.current.set(e.id,e)},[]),ye=L.useCallback(e=>{P.current.delete(e)},[]),be=L.useCallback(()=>Array.from(P.current.values()).filter(e=>e.ref.current).sort((e,t)=>{let n=e.ref.current,r=t.ref.current;if(!n||!r)return 0;let i=n.compareDocumentPosition(r);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}),[]),xe=L.useCallback(e=>{S.onBlur?.(e),!e.defaultPrevented&&oe(!1)},[S.onBlur]),Se=L.useCallback(e=>{if(k.current.onFocus?.(e),e.defaultPrevented)return;let t=!le.current;if(e.target===e.currentTarget&&t&&!ie){let t=new CustomEvent(uu,du);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=Array.from(P.current.values()).filter(e=>!e.disabled);_u([k.current.step<1?e.find(e=>e.value===Math.ceil(ee)):e.find(e=>e.value===ee),e.find(e=>e.id===re),...e].filter(Boolean).map(e=>e.ref),!1)}}le.current=!1},[k,ie,ee,re]),Ce=L.useCallback(e=>{k.current.onMouseDown?.(e),!e.defaultPrevented&&(le.current=!0)},[k]),we=L.useMemo(()=>({rootId:E,dir:w,orientation:c,activationMode:l,disabled:h,readOnly:g,size:u,max:d,step:f,clearable:p,getAutoIndex:pe}),[E,w,c,l,h,g,u,d,f,p,pe]),Te=L.useMemo(()=>({tabStopId:re,onItemFocus:me,onItemShiftTab:he,onFocusableItemAdd:ge,onFocusableItemRemove:_e,onItemRegister:ve,onItemUnregister:ye,getItems:be}),[re,me,he,ge,_e,ve,ye,be]),Ee=m?ae:`div`;return(0,R.jsxDEV)(vu.Provider,{value:A,children:(0,R.jsxDEV)(xu.Provider,{value:we,children:(0,R.jsxDEV)(Cu.Provider,{value:Te,children:[(0,R.jsxDEV)(Ee,{id:E,role:`radiogroup`,"aria-orientation":c,"data-disabled":h?``:void 0,"data-readonly":g?``:void 0,"data-orientation":c,"data-slot":`rating`,dir:w,tabIndex:ie||se===0?-1:0,...S,ref:j,className:C(`flex gap-1 text-primary outline-none`,c===`horizontal`?`flex-row items-center`:`flex-col items-start`,v),onBlur:xe,onFocus:Se,onMouseDown:Ce},void 0,!1,{fileName:su,lineNumber:466,columnNumber:11},this),(0,R.jsxDEV)(`svg`,{width:`0`,height:`0`,style:{position:`absolute`},children:(0,R.jsxDEV)(`defs`,{children:(0,R.jsxDEV)(`linearGradient`,{id:pu(E,f),children:w===`rtl`?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`transparent`},void 0,!1,{fileName:su,lineNumber:494,columnNumber:21},this),(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`currentColor`},void 0,!1,{fileName:su,lineNumber:495,columnNumber:21},this)]},void 0,!0,{fileName:su,lineNumber:493,columnNumber:19},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`currentColor`},void 0,!1,{fileName:su,lineNumber:499,columnNumber:21},this),(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`transparent`},void 0,!1,{fileName:su,lineNumber:500,columnNumber:21},this)]},void 0,!0,{fileName:su,lineNumber:498,columnNumber:19},this)},void 0,!1,{fileName:su,lineNumber:491,columnNumber:15},this)},void 0,!1,{fileName:su,lineNumber:490,columnNumber:13},this)},void 0,!1,{fileName:su,lineNumber:489,columnNumber:11},this),M&&(0,R.jsxDEV)(ru,{type:`hidden`,control:te,name:b,value:ee,disabled:h,readOnly:g,required:_},void 0,!1,{fileName:su,lineNumber:507,columnNumber:13},this)]},void 0,!0,{fileName:su,lineNumber:465,columnNumber:9},this)},void 0,!1,{fileName:su,lineNumber:464,columnNumber:7},this)},void 0,!1,{fileName:su,lineNumber:463,columnNumber:5},this)}function Eu(e){let{index:t,asChild:n,onClick:r,onFocus:i,onKeyDown:a,onMouseDown:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,disabled:u,className:d,children:f,ref:p,...m}=e,h=L.useRef(null),g=Fs(p,h),_=Su(lu),v=L.useId(),y=L.useMemo(()=>t===void 0?_.getAutoIndex(v):t,[t,_,v])+1,b=yu(lu),x=wu(lu),S=bu(e=>e.value),w=bu(e=>e.hoveredValue),T=_.clearable,E=_.step,D=_.activationMode,O=fu(_.rootId,y),k=_.disabled||u,A=_.readOnly,ee=x.tabStopId===O,te=w??S,ne=te>=y,j=E<1&&te>=y-E&&te<y,M=w!==null&&w<y,re=L.useRef(!1),N=au({onClick:r,onFocus:i,onKeyDown:a,onMouseDown:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l});iu(()=>(x.onItemRegister({id:O,ref:h,value:y,disabled:!!k}),k||x.onFocusableItemAdd(),()=>{x.onItemUnregister(O),k||x.onFocusableItemRemove()}),[x,O,y,k]);let ie=L.useCallback(e=>{if(N.current.onClick?.(e),!e.defaultPrevented&&!k&&!A){let t=y;if(E<1){let n=e.currentTarget.getBoundingClientRect(),r=e.clientX-n.left<n.width/2;_.dir===`rtl`?r||(t=y-E):r&&(t=y-E)}T&&S===t&&(t=0),b.setState(`value`,t)}},[k,A,T,E,S,y,b,_.dir,N]),oe=L.useCallback(e=>{if(N.current.onFocus?.(e),e.defaultPrevented)return;x.onItemFocus(O);let t=!re.current;if(!k&&!A&&D!==`manual`&&t&&!(E<1&&S===y-E)){let e=T&&S===y?0:y;b.setState(`value`,e)}re.current=!1},[x,O,D,k,A,T,S,y,E,b,N]),se=L.useCallback(e=>{if(N.current.onKeyDown?.(e),e.defaultPrevented)return;if((e.key===`Enter`||e.key===` `)&&D===`manual`){e.preventDefault(),!k&&!A&&h.current&&h.current.click();return}if(e.key===`Tab`&&e.shiftKey){x.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=gu(e,_.dir,_.orientation);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;if(e.preventDefault(),E<1&&(t===`prev`||t===`next`)){if(!k&&!A){let e=S;e=t===`next`?Math.min(S+E,_.max):Math.max(S-E,0),b.setState(`value`,e);let n=x.getItems().filter(e=>!e.disabled).find(t=>t.value===Math.ceil(e));n?.ref.current&&queueMicrotask(()=>n.ref.current?.focus())}return}let n=x.getItems().filter(e=>!e.disabled).map(e=>e.ref);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.findIndex(t=>t.current===e.currentTarget);n=n.slice(r+1)}queueMicrotask(()=>_u(n))}},[x,_.dir,_.orientation,D,k,A,E,S,_.max,b,N]),ce=L.useCallback(e=>{N.current.onMouseDown?.(e),!e.defaultPrevented&&(re.current=!0,k?e.preventDefault():x.onItemFocus(O))},[x,O,k,N]),le=L.useCallback(e=>{if(N.current.onMouseEnter?.(e),!e.defaultPrevented&&!k&&!A){let t=y;if(E<1){let n=e.currentTarget.getBoundingClientRect(),r=e.clientX-n.left<n.width/2;_.dir===`rtl`?r||(t=y-E):r&&(t=y-E)}b.setState(`hoveredValue`,t)}},[k,A,E,y,b,_.dir,N]),P=L.useCallback(e=>{N.current.onMouseLeave?.(e),!e.defaultPrevented&&!k&&!A&&b.setState(`hoveredValue`,null)},[k,A,b,N]),ue=L.useCallback(e=>{if(N.current.onMouseMove?.(e),!e.defaultPrevented&&!k&&!A&&E<1){let t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left<t.width/2,r=y;r=_.dir===`rtl`?n?y:y-E:n?y-E:y,b.setState(`hoveredValue`,r)}},[k,A,E,y,b,_.dir,N]),de=ne?`full`:j?`partial`:`empty`;return(0,R.jsxDEV)(n?ae:`button`,{role:`radio`,type:`button`,id:O,"aria-checked":ne,"aria-posinset":y,"aria-setsize":_.max,"data-disabled":k?``:void 0,"data-readonly":A?``:void 0,"data-state":ne?`full`:j?`partial`:`empty`,"data-hovered":M?``:void 0,"data-slot":`rating-item`,disabled:k,tabIndex:ee?0:-1,...m,ref:g,style:{...m.style,...j&&{"--partial-fill":`url(#${pu(_.rootId,E)})`}},className:C(`inline-flex items-center justify-center rounded transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50`,`[&_svg:not([class*='size-'])]:size-full [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:transition-colors [&_svg]:duration-200 data-[state=empty]:[&_svg]:fill-transparent data-[state=full]:[&_svg]:fill-current data-[state=partial]:[&_svg]:fill-(--partial-fill)`,_.size===`sm`?`size-4`:_.size===`lg`?`size-6`:`size-5`,d),onClick:ie,onFocus:oe,onKeyDown:se,onMouseDown:ce,onMouseEnter:le,onMouseMove:ue,onMouseLeave:P,children:typeof f==`function`?f(de):f??(0,R.jsxDEV)(Ee,{},void 0,!1,{fileName:su,lineNumber:926,columnNumber:24},this)},void 0,!1,{fileName:su,lineNumber:884,columnNumber:5},this)}function Du(e,t){let n=Math.floor(e/86400),r=Math.floor(e%86400/3600),i=Math.floor(e%3600/60),a=e%60,o=[];return n&&o.push(`${n} ${t(`form.days`)}`),r&&o.push(`${r} ${t(`form.hours`)}`),i&&o.push(`${i} ${t(`form.minutes`)}`),a&&o.push(`${a} ${t(`form.seconds`)}`),o.length?o.join(` `):`0 ${t(`form.seconds`)}`}function Ou(e){return e===!0||e===1||e===`1`||e===`true`}function ku(e,t,n){let r=t.options?.find(e=>e.value===String(n))?.title;return r?e(r):String(n??``)}var H=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/number.tsx`;function Au(e){return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:String(e)},void 0,!1,{fileName:H,lineNumber:36,columnNumber:10},this)}function ju({name:e,field:t,value:n,onChange:r}){let i=t.hints;return t.hints.multiple===!0?(0,R.jsxDEV)(xt,{value:n,onChange:r,validate:e=>!isNaN(Number(e))&&e!==``,display:Au,renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`number`,value:e,onChange:e=>t(e.target.value),placeholder:`0`,className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:H,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:H,lineNumber:43,columnNumber:7},this):(0,R.jsxDEV)(tu,{customInput:E,id:e,value:n===``||n==null?``:String(n),thousandSeparator:!0,decimalScale:t.column===`integer`?0:void 0,min:i.min,max:i.max,step:i.step,onValueChange:e=>r(e.floatValue??``),placeholder:`0`},void 0,!1,{fileName:H,lineNumber:67,columnNumber:5},this)}function Mu({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(ct,{items:kn(t,[]),content:Au,reserveEditor:!0},void 0,!1,{fileName:H,lineNumber:85,columnNumber:12},this):bt(t,e=>(0,R.jsxDEV)(`span`,{children:String(e)},void 0,!1,{fileName:H,lineNumber:87,columnNumber:31},this))}function Nu(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-32`,bare:e.bare,view:t=>(0,R.jsxDEV)(Mu,{field:e.field,value:t},void 0,!1,{fileName:H,lineNumber:103,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(ju,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:H,lineNumber:105,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:92,columnNumber:5},this)}I({kinds:[`number`],Page:Nu});var Pu=e=>Array.from({length:e},(e,t)=>(0,R.jsxDEV)(Eu,{className:`size-5 text-yellow-400 data-[state=empty]:text-border`},t,!1,{fileName:H,lineNumber:124,columnNumber:5},void 0));function Fu({value:e,onChange:t,field:n}){let r=Number(n.hints.max??5);return(0,R.jsxDEV)(`div`,{className:`flex items-center min-h-9`,children:(0,R.jsxDEV)(Tu,{value:e?Number(e):0,max:r,clearable:!0,readOnly:!t,onValueChange:e=>t?.(e===0?``:e),"aria-label":n.label,children:Pu(r)},void 0,!1,{fileName:H,lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:H,lineNumber:134,columnNumber:5},this)}function Iu(e){let t=(0,R.jsxDEV)(Fu,{field:e.field,value:e.value,onChange:e.onChange},void 0,!1,{fileName:H,lineNumber:152,columnNumber:15},this);return e.bare?t:(0,R.jsxDEV)(`div`,{className:`group/field w-fit`,children:[e.label!==void 0&&(0,R.jsxDEV)(Lt,{label:e.label,required:e.required},void 0,!1,{fileName:H,lineNumber:156,columnNumber:33},this),t,(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:H,lineNumber:158,columnNumber:7},this)]},void 0,!0,{fileName:H,lineNumber:155,columnNumber:5},this)}function Lu({value:e}){let t=Number(e);return(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 truncate`,children:Number.isNaN(t)||!t?`—`:(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(je,{name:`lucide:star`,size:12,className:`fill-current text-yellow-400`},void 0,!1,{fileName:H,lineNumber:171,columnNumber:11},this),t]},void 0,!0,{fileName:H,lineNumber:170,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:166,columnNumber:5},this)}I({kinds:[`rating`],Page:Iu,Inline:Lu});function Ru({value:e,onChange:t,field:n}){let{t:r}=a(),i=Number(n.hints.step??60),o=e?Number(e):0,s=Math.floor(o/86400),c=Math.floor(o%86400/3600),l=Math.floor(o%3600/60),u=o%60,d=i<60;function f(e,n,r,i){let a=Math.max(0,e*86400+n*3600+r*60+i);t(a>0?a:``)}let p=({val:e,unit:t,...n})=>(0,R.jsxDEV)(ee,{className:`w-[5.25rem]`,children:[(0,R.jsxDEV)(D,{type:`number`,value:e||``,min:0,placeholder:`0`,...n},void 0,!1,{fileName:H,lineNumber:203,columnNumber:7},this),(0,R.jsxDEV)(O,{align:`inline-end`,children:(0,R.jsxDEV)(T,{children:t},void 0,!1,{fileName:H,lineNumber:205,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:204,columnNumber:7},this)]},void 0,!0,{fileName:H,lineNumber:202,columnNumber:5},this);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 flex-wrap ${It}`,children:[(0,R.jsxDEV)(p,{val:s,unit:r(`form.days`),onChange:e=>f(Number(e.target.value)||0,c,l,u)},void 0,!1,{fileName:H,lineNumber:211,columnNumber:7},this),(0,R.jsxDEV)(p,{val:c,unit:r(`form.hours`),max:23,onChange:e=>f(s,Number(e.target.value)||0,l,u)},void 0,!1,{fileName:H,lineNumber:212,columnNumber:7},this),(0,R.jsxDEV)(p,{val:l,unit:r(`form.minutes`),max:59,step:d?1:Math.max(1,Math.floor(i/60)),onChange:e=>f(s,c,Number(e.target.value)||0,u)},void 0,!1,{fileName:H,lineNumber:213,columnNumber:7},this),d&&(0,R.jsxDEV)(p,{val:u,unit:r(`form.seconds`),max:59,step:i,onChange:e=>f(s,c,l,Number(e.target.value)||0)},void 0,!1,{fileName:H,lineNumber:221,columnNumber:9},this)]},void 0,!0,{fileName:H,lineNumber:210,columnNumber:5},this)}function zu({value:e}){let{t}=a(),n=Number(e);return!n||Number.isNaN(n)?(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:H,lineNumber:236,columnNumber:43},this):(0,R.jsxDEV)(`span`,{className:`text-sm`,children:Du(n,t)},void 0,!1,{fileName:H,lineNumber:237,columnNumber:10},this)}function Bu(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:t=>(0,R.jsxDEV)(zu,{field:e.field,value:t},void 0,!1,{fileName:H,lineNumber:253,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Ru,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:H,lineNumber:255,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:242,columnNumber:5},this)}function Vu({value:e}){let{t}=a(),n=Number(e);return!n||Number.isNaN(n)?(0,R.jsxDEV)(`span`,{children:`—`},void 0,!1,{fileName:H,lineNumber:269,columnNumber:43},this):(0,R.jsxDEV)(`span`,{className:`truncate`,children:Du(n,t)},void 0,!1,{fileName:H,lineNumber:270,columnNumber:10},this)}I({kinds:[`duration`],Page:Bu,Inline:Vu});var Hu=365.2425,Uu=6048e5,Wu=864e5,Gu=6e4,Ku=36e5,qu=1e3,Ju=3600*24;Ju*7,Ju*Hu/12*3;var Yu=Symbol.for(`constructDateFrom`);function Xu(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&Yu in e?e[Yu](t):e instanceof Date?new e.constructor(t):new Date(t)}function U(e,t){return Xu(t||e,e)}function Zu(e,t,n){let r=U(e,n?.in);return isNaN(t)?Xu(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Qu(e,t,n){let r=U(e,n?.in);if(isNaN(t))return Xu(n?.in||e,NaN);if(!t)return r;let i=r.getDate(),a=Xu(n?.in||e,r.getTime());return a.setMonth(r.getMonth()+t+1,0),i>=a.getDate()?a:(r.setFullYear(a.getFullYear(),a.getMonth(),i),r)}var $u={};function ed(){return $u}function td(e,t){let n=ed(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=U(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function nd(e,t){return td(e,{...t,weekStartsOn:1})}function rd(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=Xu(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=nd(i),o=Xu(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=nd(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function id(e){let t=U(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function ad(e,...t){let n=Xu.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function od(e,t){let n=U(e,t?.in);return n.setHours(0,0,0,0),n}function sd(e,t,n){let[r,i]=ad(n?.in,e,t),a=od(r),o=od(i),s=+a-id(a),c=+o-id(o);return Math.round((s-c)/Wu)}function cd(e,t){let n=rd(e,t),r=Xu(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),nd(r)}function ld(e,t,n){return Zu(e,t*7,n)}function ud(e,t,n){return Qu(e,t*12,n)}function dd(e,t){let n,r=t?.in;return e.forEach(e=>{!r&&typeof e==`object`&&(r=Xu.bind(null,e));let t=U(e,r);(!n||n<t||isNaN(+t))&&(n=t)}),Xu(r,n||NaN)}function fd(e,t){let n,r=t?.in;return e.forEach(e=>{!r&&typeof e==`object`&&(r=Xu.bind(null,e));let t=U(e,r);(!n||n>t||isNaN(+t))&&(n=t)}),Xu(r,n||NaN)}function pd(e,t,n){let[r,i]=ad(n?.in,e,t);return+od(r)==+od(i)}function md(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function hd(e){return!(!md(e)&&typeof e!=`number`||isNaN(+U(e)))}function gd(e,t,n){let[r,i]=ad(n?.in,e,t),a=r.getFullYear()-i.getFullYear(),o=r.getMonth()-i.getMonth();return a*12+o}function _d(e,t){let n=U(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function vd(e,t){let[n,r]=ad(e,t.start,t.end);return{start:n,end:r}}function yd(e,t){let{start:n,end:r}=vd(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0),o.setDate(1);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(Xu(n,o)),o.setMonth(o.getMonth()+s);return i?c.reverse():c}function bd(e,t){let n=U(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function xd(e,t){let n=U(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Sd(e,t){let n=U(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Cd(e,t){let{start:n,end:r}=vd(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0),o.setMonth(0,1);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(Xu(n,o)),o.setFullYear(o.getFullYear()+s);return i?c.reverse():c}function wd(e,t){let n=ed(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=U(e,t?.in),a=i.getDay(),o=(a<r?-7:0)+6-(a-r);return i.setDate(i.getDate()+o),i.setHours(23,59,59,999),i}function Td(e,t){return wd(e,{...t,weekStartsOn:1})}var Ed={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},Dd=(e,t,n)=>{let r,i=Ed[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Od(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var kd={date:Od({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Od({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Od({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},Ad={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},jd=(e,t,n,r)=>Ad[e];function Md(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var Nd={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:Md({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:Md({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:Md({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:Md({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:Md({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function Pd(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?Id(s,e=>e.test(o)):Fd(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function Fd(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Id(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Ld(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var Rd={code:`en-US`,formatDistance:Dd,formatLong:kd,formatRelative:jd,localize:Nd,match:{ordinalNumber:Ld({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Pd({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:Pd({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:Pd({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:Pd({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:Pd({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function zd(e,t){let n=U(e,t?.in);return sd(n,Sd(n))+1}function Bd(e,t){let n=U(e,t?.in),r=nd(n)-+cd(n);return Math.round(r/Uu)+1}function Vd(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=ed(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Xu(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=td(o,t),c=Xu(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=td(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function Hd(e,t){let n=ed(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Vd(e,t),a=Xu(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),td(a,t)}function Ud(e,t){let n=U(e,t?.in),r=td(n,t)-+Hd(n,t);return Math.round(r/Uu)+1}function Wd(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var Gd={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Wd(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Wd(n+1,2)},d(e,t){return Wd(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return Wd(e.getHours()%12||12,t.length)},H(e,t){return Wd(e.getHours(),t.length)},m(e,t){return Wd(e.getMinutes(),t.length)},s(e,t){return Wd(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Wd(Math.trunc(r*10**(n-3)),t.length)}},Kd={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},qd={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return Gd.y(e,t)},Y:function(e,t,n,r){let i=Vd(e,r),a=i>0?i:1-i;return t===`YY`?Wd(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Wd(a,t.length)},R:function(e,t){return Wd(rd(e),t.length)},u:function(e,t){return Wd(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return Wd(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return Wd(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return Gd.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return Wd(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Ud(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Wd(i,t.length)},I:function(e,t,n){let r=Bd(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Wd(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):Gd.d(e,t)},D:function(e,t,n){let r=zd(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Wd(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return Wd(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return Wd(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return Wd(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?Kd.noon:r===0?Kd.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?Kd.evening:r>=12?Kd.afternoon:r>=4?Kd.morning:Kd.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return Gd.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):Gd.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Wd(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Wd(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):Gd.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):Gd.s(e,t)},S:function(e,t){return Gd.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return Yd(r);case`XXXX`:case`XX`:return Xd(r);default:return Xd(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return Yd(r);case`xxxx`:case`xx`:return Xd(r);default:return Xd(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+Jd(r,`:`);default:return`GMT`+Xd(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+Jd(r,`:`);default:return`GMT`+Xd(r,`:`)}},t:function(e,t,n){return Wd(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Wd(+e,t.length)}};function Jd(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+Wd(a,2)}function Yd(e,t){return e%60==0?(e>0?`-`:`+`)+Wd(Math.abs(e)/60,2):Xd(e,t)}function Xd(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Wd(Math.trunc(r/60),2),a=Wd(r%60,2);return n+i+t+a}var Zd=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},Qd=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},$d={p:Qd,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return Zd(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,Zd(r,t)).replace(`{{time}}`,Qd(i,t))}},ef=/^D+$/,tf=/^Y+$/,nf=[`D`,`DD`,`YY`,`YYYY`];function rf(e){return ef.test(e)}function af(e){return tf.test(e)}function of(e,t,n){let r=sf(e,t,n);if(console.warn(r),nf.includes(e))throw RangeError(r)}function sf(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var cf=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,lf=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,uf=/^'([^]*?)'?$/,df=/''/g,ff=/[a-zA-Z]/;function pf(e,t,n){let r=ed(),i=n?.locale??r.locale??Rd,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=U(e,n?.in);if(!hd(s))throw RangeError(`Invalid time value`);let c=t.match(lf).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=$d[t];return n(e,i.formatLong)}return e}).join(``).match(cf).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:mf(e)};if(qd[t])return{isToken:!0,value:e};if(t.match(ff))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&af(a)||!n?.useAdditionalDayOfYearTokens&&rf(a))&&of(a,t,String(e));let o=qd[a[0]];return o(s,a,i.localize,l)}).join(``)}function mf(e){let t=e.match(uf);return t?t[1].replace(df,`'`):e}function hf(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=n.getMonth(),a=Xu(n,0);return a.setFullYear(r,i+1,0),a.setHours(0,0,0,0),a.getDate()}function gf(){return Object.assign({},ed())}function _f(e,t){let n=U(e,t?.in).getDay();return n===0?7:n}function vf(e,t){return U(e,t?.in).getMonth()}function yf(e,t){return U(e,t?.in).getFullYear()}function bf(e,t){return+U(e)>+U(t)}function xf(e,t){return+U(e)<+U(t)}function Sf(e,t){let n=Cf(t)?new t(0):Xu(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function Cf(e){return typeof e==`function`&&e.prototype?.constructor===e}var wf=10,Tf=class{subPriority=0;validate(e,t){return!0}},Ef=class extends Tf{constructor(e,t,n,r,i){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=r,i&&(this.subPriority=i)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}},Df=class extends Tf{priority=wf;subPriority=-1;constructor(e,t){super(),this.context=e||(e=>Xu(t,e))}set(e,t){return t.timestampIsSet?e:Xu(e,Sf(e,this.context))}},Of=class{run(e,t,n,r){let i=this.parse(e,t,n,r);return i?{setter:new Ef(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(e,t,n){return!0}},kf=class extends Of{priority=140;parse(e,t,n){switch(t){case`G`:case`GG`:case`GGG`:return n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`});case`GGGGG`:return n.era(e,{width:`narrow`});default:return n.era(e,{width:`wide`})||n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`})}}set(e,t,n){return t.era=n,e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`R`,`u`,`t`,`T`]},Af={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},jf={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Mf(e,t){return e&&{value:t(e.value),rest:e.rest}}function Nf(e,t){let n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function Pf(e,t){let n=t.match(e);if(!n)return null;if(n[0]===`Z`)return{value:0,rest:t.slice(1)};let r=n[1]===`+`?1:-1,i=n[2]?parseInt(n[2],10):0,a=n[3]?parseInt(n[3],10):0,o=n[5]?parseInt(n[5],10):0;return{value:r*(i*Ku+a*Gu+o*qu),rest:t.slice(n[0].length)}}function Ff(e){return Nf(Af.anyDigitsSigned,e)}function If(e,t){switch(e){case 1:return Nf(Af.singleDigit,t);case 2:return Nf(Af.twoDigits,t);case 3:return Nf(Af.threeDigits,t);case 4:return Nf(Af.fourDigits,t);default:return Nf(RegExp(`^\\d{1,`+e+`}`),t)}}function Lf(e,t){switch(e){case 1:return Nf(Af.singleDigitSigned,t);case 2:return Nf(Af.twoDigitsSigned,t);case 3:return Nf(Af.threeDigitsSigned,t);case 4:return Nf(Af.fourDigitsSigned,t);default:return Nf(RegExp(`^-?\\d{1,`+e+`}`),t)}}function Rf(e){switch(e){case`morning`:return 4;case`evening`:return 17;case`pm`:case`noon`:case`afternoon`:return 12;default:return 0}}function zf(e,t){let n=t>0,r=n?t:1-t,i;if(r<=50)i=e||100;else{let t=r+50,n=Math.trunc(t/100)*100,a=e>=t%100;i=e+n-(a?100:0)}return n?i:1-i}function Bf(e){return e%400==0||e%4==0&&e%100!=0}var Vf=class extends Of{priority=130;incompatibleTokens=[`Y`,`R`,`u`,`w`,`I`,`i`,`e`,`c`,`t`,`T`];parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`yy`});switch(t){case`y`:return Mf(If(4,e),r);case`yo`:return Mf(n.ordinalNumber(e,{unit:`year`}),r);default:return Mf(If(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n){let r=e.getFullYear();if(n.isTwoDigitYear){let t=zf(n.year,r);return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}let i=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(i,0,1),e.setHours(0,0,0,0),e}},Hf=class extends Of{priority=130;parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`YY`});switch(t){case`Y`:return Mf(If(4,e),r);case`Yo`:return Mf(n.ordinalNumber(e,{unit:`year`}),r);default:return Mf(If(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n,r){let i=Vd(e,r);if(n.isTwoDigitYear){let t=zf(n.year,i);return e.setFullYear(t,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),td(e,r)}let a=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(a,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),td(e,r)}incompatibleTokens=[`y`,`R`,`u`,`Q`,`q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]},Uf=class extends Of{priority=130;parse(e,t){return Lf(t===`R`?4:t.length,e)}set(e,t,n){let r=Xu(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),nd(r)}incompatibleTokens=[`G`,`y`,`Y`,`u`,`Q`,`q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},Wf=class extends Of{priority=130;parse(e,t){return Lf(t===`u`?4:t.length,e)}set(e,t,n){return e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`G`,`y`,`Y`,`R`,`w`,`I`,`i`,`e`,`c`,`t`,`T`]},Gf=class extends Of{priority=120;parse(e,t,n){switch(t){case`Q`:case`QQ`:return If(t.length,e);case`Qo`:return n.ordinalNumber(e,{unit:`quarter`});case`QQQ`:return n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`});case`QQQQQ`:return n.quarter(e,{width:`narrow`,context:`formatting`});default:return n.quarter(e,{width:`wide`,context:`formatting`})||n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},Kf=class extends Of{priority=120;parse(e,t,n){switch(t){case`q`:case`qq`:return If(t.length,e);case`qo`:return n.ordinalNumber(e,{unit:`quarter`});case`qqq`:return n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`});case`qqqqq`:return n.quarter(e,{width:`narrow`,context:`standalone`});default:return n.quarter(e,{width:`wide`,context:`standalone`})||n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`Q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},qf=class extends Of{incompatibleTokens=[`Y`,`R`,`q`,`Q`,`L`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`];priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`M`:return Mf(Nf(Af.month,e),r);case`MM`:return Mf(If(2,e),r);case`Mo`:return Mf(n.ordinalNumber(e,{unit:`month`}),r);case`MMM`:return n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`});case`MMMMM`:return n.month(e,{width:`narrow`,context:`formatting`});default:return n.month(e,{width:`wide`,context:`formatting`})||n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}},Jf=class extends Of{priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`L`:return Mf(Nf(Af.month,e),r);case`LL`:return Mf(If(2,e),r);case`Lo`:return Mf(n.ordinalNumber(e,{unit:`month`}),r);case`LLL`:return n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`});case`LLLLL`:return n.month(e,{width:`narrow`,context:`standalone`});default:return n.month(e,{width:`wide`,context:`standalone`})||n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]};function Yf(e,t,n){let r=U(e,n?.in),i=Ud(r,n)-t;return r.setDate(r.getDate()-i*7),U(r,n?.in)}var Xf=class extends Of{priority=100;parse(e,t,n){switch(t){case`w`:return Nf(Af.week,e);case`wo`:return n.ordinalNumber(e,{unit:`week`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n,r){return td(Yf(e,n,r),r)}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]};function Zf(e,t,n){let r=U(e,n?.in),i=Bd(r,n)-t;return r.setDate(r.getDate()-i*7),r}var Qf=class extends Of{priority=100;parse(e,t,n){switch(t){case`I`:return Nf(Af.week,e);case`Io`:return n.ordinalNumber(e,{unit:`week`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n){return nd(Zf(e,n))}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},$f=[31,28,31,30,31,30,31,31,30,31,30,31],ep=[31,29,31,30,31,30,31,31,30,31,30,31],tp=class extends Of{priority=90;subPriority=1;parse(e,t,n){switch(t){case`d`:return Nf(Af.date,e);case`do`:return n.ordinalNumber(e,{unit:`date`});default:return If(t.length,e)}}validate(e,t){let n=Bf(e.getFullYear()),r=e.getMonth();return n?t>=1&&t<=ep[r]:t>=1&&t<=$f[r]}set(e,t,n){return e.setDate(n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]},np=class extends Of{priority=90;subpriority=1;parse(e,t,n){switch(t){case`D`:case`DD`:return Nf(Af.dayOfYear,e);case`Do`:return n.ordinalNumber(e,{unit:`date`});default:return If(t.length,e)}}validate(e,t){return Bf(e.getFullYear())?t>=1&&t<=366:t>=1&&t<=365}set(e,t,n){return e.setMonth(0,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`L`,`w`,`I`,`d`,`E`,`i`,`e`,`c`,`t`,`T`]};function rp(e,t,n){let r=ed(),i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=U(e,n?.in),o=a.getDay(),s=(t%7+7)%7,c=7-i;return Zu(a,t<0||t>6?t-(o+c)%7:(s+c)%7-(o+c)%7,n)}var ip=class extends Of{priority=90;parse(e,t,n){switch(t){case`E`:case`EE`:case`EEE`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`EEEEE`:return n.day(e,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=rp(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`D`,`i`,`e`,`c`,`t`,`T`]},ap=class extends Of{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`e`:case`ee`:return Mf(If(t.length,e),i);case`eo`:return Mf(n.ordinalNumber(e,{unit:`day`}),i);case`eee`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`eeeee`:return n.day(e,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=rp(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`c`,`t`,`T`]},op=class extends Of{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`c`:case`cc`:return Mf(If(t.length,e),i);case`co`:return Mf(n.ordinalNumber(e,{unit:`day`}),i);case`ccc`:return n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});case`ccccc`:return n.day(e,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});default:return n.day(e,{width:`wide`,context:`standalone`})||n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=rp(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`e`,`t`,`T`]};function sp(e,t,n){let r=U(e,n?.in);return Zu(r,t-_f(r,n),n)}var cp=class extends Of{priority=90;parse(e,t,n){let r=e=>e===0?7:e;switch(t){case`i`:case`ii`:return If(t.length,e);case`io`:return n.ordinalNumber(e,{unit:`day`});case`iii`:return Mf(n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiii`:return Mf(n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiiii`:return Mf(n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);default:return Mf(n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r)}}validate(e,t){return t>=1&&t<=7}set(e,t,n){return e=sp(e,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`E`,`e`,`c`,`t`,`T`]},lp=class extends Of{priority=80;parse(e,t,n){switch(t){case`a`:case`aa`:case`aaa`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`aaaaa`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Rf(n),0,0,0),e}incompatibleTokens=[`b`,`B`,`H`,`k`,`t`,`T`]},up=class extends Of{priority=80;parse(e,t,n){switch(t){case`b`:case`bb`:case`bbb`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`bbbbb`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Rf(n),0,0,0),e}incompatibleTokens=[`a`,`B`,`H`,`k`,`t`,`T`]},dp=class extends Of{priority=80;parse(e,t,n){switch(t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`BBBBB`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Rf(n),0,0,0),e}incompatibleTokens=[`a`,`b`,`t`,`T`]},fp=class extends Of{priority=70;parse(e,t,n){switch(t){case`h`:return Nf(Af.hour12h,e);case`ho`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,n){let r=e.getHours()>=12;return r&&n<12?e.setHours(n+12,0,0,0):!r&&n===12?e.setHours(0,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`H`,`K`,`k`,`t`,`T`]},pp=class extends Of{priority=70;parse(e,t,n){switch(t){case`H`:return Nf(Af.hour23h,e);case`Ho`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,n){return e.setHours(n,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`K`,`k`,`t`,`T`]},mp=class extends Of{priority=70;parse(e,t,n){switch(t){case`K`:return Nf(Af.hour11h,e);case`Ko`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.getHours()>=12&&n<12?e.setHours(n+12,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`h`,`H`,`k`,`t`,`T`]},hp=class extends Of{priority=70;parse(e,t,n){switch(t){case`k`:return Nf(Af.hour24h,e);case`ko`:return n.ordinalNumber(e,{unit:`hour`});default:return If(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,n){let r=n<=24?n%24:n;return e.setHours(r,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`H`,`K`,`t`,`T`]},gp=class extends Of{priority=60;parse(e,t,n){switch(t){case`m`:return Nf(Af.minute,e);case`mo`:return n.ordinalNumber(e,{unit:`minute`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setMinutes(n,0,0),e}incompatibleTokens=[`t`,`T`]},_p=class extends Of{priority=50;parse(e,t,n){switch(t){case`s`:return Nf(Af.second,e);case`so`:return n.ordinalNumber(e,{unit:`second`});default:return If(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setSeconds(n,0),e}incompatibleTokens=[`t`,`T`]},vp=class extends Of{priority=30;parse(e,t){return Mf(If(t.length,e),e=>Math.trunc(e*10**(-t.length+3)))}set(e,t,n){return e.setMilliseconds(n),e}incompatibleTokens=[`t`,`T`]},yp=class extends Of{priority=10;parse(e,t){switch(t){case`X`:return Pf(jf.basicOptionalMinutes,e);case`XX`:return Pf(jf.basic,e);case`XXXX`:return Pf(jf.basicOptionalSeconds,e);case`XXXXX`:return Pf(jf.extendedOptionalSeconds,e);default:return Pf(jf.extended,e)}}set(e,t,n){return t.timestampIsSet?e:Xu(e,e.getTime()-id(e)-n)}incompatibleTokens=[`t`,`T`,`x`]},bp=class extends Of{priority=10;parse(e,t){switch(t){case`x`:return Pf(jf.basicOptionalMinutes,e);case`xx`:return Pf(jf.basic,e);case`xxxx`:return Pf(jf.basicOptionalSeconds,e);case`xxxxx`:return Pf(jf.extendedOptionalSeconds,e);default:return Pf(jf.extended,e)}}set(e,t,n){return t.timestampIsSet?e:Xu(e,e.getTime()-id(e)-n)}incompatibleTokens=[`t`,`T`,`X`]},xp=class extends Of{priority=40;parse(e){return Ff(e)}set(e,t,n){return[Xu(e,n*1e3),{timestampIsSet:!0}]}incompatibleTokens=`*`},Sp=class extends Of{priority=20;parse(e){return Ff(e)}set(e,t,n){return[Xu(e,n),{timestampIsSet:!0}]}incompatibleTokens=`*`},Cp={G:new kf,y:new Vf,Y:new Hf,R:new Uf,u:new Wf,Q:new Gf,q:new Kf,M:new qf,L:new Jf,w:new Xf,I:new Qf,d:new tp,D:new np,E:new ip,e:new ap,c:new op,i:new cp,a:new lp,b:new up,B:new dp,h:new fp,H:new pp,K:new mp,k:new hp,m:new gp,s:new _p,S:new vp,X:new yp,x:new bp,t:new xp,T:new Sp},wp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Tp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Ep=/^'([^]*?)'?$/,Dp=/''/g,Op=/\S/,kp=/[a-zA-Z]/;function Ap(e,t,n,r){let i=()=>Xu(r?.in||n,NaN),a=gf(),o=r?.locale??a.locale??Rd,s=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,c=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0;if(!t)return e?i():U(n,r?.in);let l={firstWeekContainsDate:s,weekStartsOn:c,locale:o},u=[new Df(r?.in,n)],d=t.match(Tp).map(e=>{let t=e[0];if(t in $d){let n=$d[t];return n(e,o.formatLong)}return e}).join(``).match(wp),f=[];for(let n of d){!r?.useAdditionalWeekYearTokens&&af(n)&&of(n,t,e),!r?.useAdditionalDayOfYearTokens&&rf(n)&&of(n,t,e);let a=n[0],s=Cp[a];if(s){let{incompatibleTokens:t}=s;if(Array.isArray(t)){let e=f.find(e=>t.includes(e.token)||e.token===a);if(e)throw RangeError(`The format string mustn't contain \`${e.fullToken}\` and \`${n}\` at the same time`)}else if(s.incompatibleTokens===`*`&&f.length>0)throw RangeError(`The format string mustn't contain \`${n}\` and any other token at the same time`);f.push({token:a,fullToken:n});let r=s.run(e,n,o.match,l);if(!r)return i();u.push(r.setter),e=r.rest}else{if(a.match(kp))throw RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");if(n===`''`?n=`'`:a===`'`&&(n=jp(n)),e.indexOf(n)===0)e=e.slice(n.length);else return i()}}if(e.length>0&&Op.test(e))return i();let p=u.map(e=>e.priority).sort((e,t)=>t-e).filter((e,t,n)=>n.indexOf(e)===t).map(e=>u.filter(t=>t.priority===e).sort((e,t)=>t.subPriority-e.subPriority)).map(e=>e[0]),m=U(n,r?.in);if(isNaN(+m))return i();let h={};for(let e of p){if(!e.validate(m,l))return i();let t=e.set(m,h,l);Array.isArray(t)?(m=t[0],Object.assign(h,t[1])):m=t}return m}function jp(e){return e.match(Ep)[1].replace(Dp,`'`)}function Mp(e,t,n){let[r,i]=ad(n?.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function Np(e,t,n){let[r,i]=ad(n?.in,e,t);return r.getFullYear()===i.getFullYear()}function Pp(e,t,n){let r=U(e,n?.in),i=r.getFullYear(),a=r.getDate(),o=Xu(n?.in||e,0);o.setFullYear(i,t,15),o.setHours(0,0,0,0);let s=hf(o);return r.setMonth(t,Math.min(a,s)),r}function Fp(e,t,n){let r=U(e,n?.in);return isNaN(+r)?Xu(n?.in||e,NaN):(r.setFullYear(t),r)}function Ip(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var Lp={},Rp={};function zp(e,t){try{let n=(Lp[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in Rp?Rp[n]:Vp(n,n.split(`:`))}catch{if(e in Rp)return Rp[e];let t=e?.match(Bp);return t?Vp(e,t.slice(1)):NaN}}var Bp=/([+-]\d\d):?(\d\d)?/;function Vp(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return Rp[e]=n*60+r>0?n*60+r+i:n*60-r-i}var Hp=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(zp(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),Kp(this,e)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-zp(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),Wp(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},Up=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Up.test(e))return;let t=e.replace(Up,`$1UTC`);Hp.prototype[t]&&(e.startsWith(`get`)?Hp.prototype[e]=function(){return this.internal[t]()}:(Hp.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Gp(this),+this},Hp.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Wp(this),+this}))});function Wp(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-zp(e.timeZone,e)*60))}function Gp(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Kp(e)}function Kp(e,t){let n=Array.isArray(t)?qp(t):+e.internal,r=zp(e.timeZone,e),i=r>0?Math.floor(r):Math.ceil(r),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);let o=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),c=o-s,l=o;if(c&&o!==i&&Date.prototype.getHours.apply(e)!==(Array.isArray(t)?t[3]||0:e.internal.getUTCHours())){let t=new Date(+e),n=o-i;n&&t.setUTCMinutes(t.getUTCMinutes()+n);let r=zp(e.timeZone,t);(r>0?Math.floor(r):Math.ceil(r))===i&&(l=s)}let u=l-i;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);let d=new Date(+e);d.setUTCSeconds(0);let f=o>0?d.getSeconds():(d.getSeconds()-60)%60,p=Math.round(-(zp(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let m=zp(e.timeZone,e),h=m>0?Math.floor(m):Math.ceil(m),g=-new Date(+e).getTimezoneOffset()-h,_=h!==i,v=g-u,y=h-i,b=n-h*60*1e3,x=y>0&&Jp(e)-n===y*60*1e3&&Jp(e,b)!==n;if(_&&v&&!x){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);let t=zp(e.timeZone,e),n=h-(t>0?Math.floor(t):Math.ceil(t));n&&v<0&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n)}Wp(e);let S=(t?n:n+p*1e3)-+e.internal;S&&Math.abs(S)<1800*1e3&&(Date.prototype.setTime.call(e,+e+S),Wp(e))}function qp(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function Jp(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-zp(e.timeZone,n)*60)),+n}var Yp=class e extends Hp{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${Ip(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},Xp=5,Zp=4;function Qp(e,t){let n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,i=t.addDays(e,-r+1),a=t.addDays(i,Xp*7-1);return t.getMonth(e)===t.getMonth(a)?Xp:Zp}function $p(e,t){let n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function em(e,t){let n=$p(e,t),r=Qp(e,t);return t.addDays(n,r*7-1)}var tm={...Rd,labels:{labelDayButton:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>pf(e,t,{locale:Rd,...n});let a=i(e,`PPPP`);return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a},labelMonthDropdown:`Choose the Month`,labelNext:`Go to the Next Month`,labelPrevious:`Go to the Previous Month`,labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:`Choose the Year`,labelGrid:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>pf(e,n,{locale:Rd,...t}),r(e,`LLLL yyyy`)},labelGridcell:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>pf(e,t,{locale:Rd,...n});let a=i(e,`PPPP`);return t?.today&&(a=`Today, ${a}`),a},labelNav:`Navigation bar`,labelWeekNumberHeader:`Week Number`,labelWeekday:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>pf(e,n,{locale:Rd,...t}),r(e,`cccc`)}}},nm=class e{constructor(e,t){this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Yp.tz(this.options.timeZone):new(this.options.Date??Date),this.newDate=(e,t,n)=>this.overrides?.newDate?this.overrides.newDate(e,t,n):this.options.timeZone?new Yp(e,t,n,this.options.timeZone):new Date(e,t,n),this.addDays=(e,t)=>this.overrides?.addDays?this.overrides.addDays(e,t):Zu(e,t),this.addMonths=(e,t)=>this.overrides?.addMonths?this.overrides.addMonths(e,t):Qu(e,t),this.addWeeks=(e,t)=>this.overrides?.addWeeks?this.overrides.addWeeks(e,t):ld(e,t),this.addYears=(e,t)=>this.overrides?.addYears?this.overrides.addYears(e,t):ud(e,t),this.differenceInCalendarDays=(e,t)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(e,t):sd(e,t),this.differenceInCalendarMonths=(e,t)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(e,t):gd(e,t),this.eachMonthOfInterval=e=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(e):yd(e),this.eachYearOfInterval=e=>{let t=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(e):Cd(e),n=new Set(t.map(e=>this.getYear(e)));if(n.size===t.length)return t;let r=[];return n.forEach(e=>{r.push(new Date(e,0,1))}),r},this.endOfBroadcastWeek=e=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(e):em(e,this),this.endOfISOWeek=e=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(e):Td(e),this.endOfMonth=e=>this.overrides?.endOfMonth?this.overrides.endOfMonth(e):_d(e),this.endOfWeek=(e,t)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(e,t):wd(e,this.options),this.endOfYear=e=>this.overrides?.endOfYear?this.overrides.endOfYear(e):xd(e),this.format=(e,t,n)=>{let r=this.overrides?.format?this.overrides.format(e,t,this.options):pf(e,t,this.options);return this.options.numerals&&this.options.numerals!==`latn`?this.replaceDigits(r):r},this.getISOWeek=e=>this.overrides?.getISOWeek?this.overrides.getISOWeek(e):Bd(e),this.getMonth=(e,t)=>this.overrides?.getMonth?this.overrides.getMonth(e,this.options):vf(e,this.options),this.getYear=(e,t)=>this.overrides?.getYear?this.overrides.getYear(e,this.options):yf(e,this.options),this.getWeek=(e,t)=>this.overrides?.getWeek?this.overrides.getWeek(e,this.options):Ud(e,this.options),this.isAfter=(e,t)=>this.overrides?.isAfter?this.overrides.isAfter(e,t):bf(e,t),this.isBefore=(e,t)=>this.overrides?.isBefore?this.overrides.isBefore(e,t):xf(e,t),this.isDate=e=>this.overrides?.isDate?this.overrides.isDate(e):md(e),this.isSameDay=(e,t)=>this.overrides?.isSameDay?this.overrides.isSameDay(e,t):pd(e,t),this.isSameMonth=(e,t)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(e,t):Mp(e,t),this.isSameYear=(e,t)=>this.overrides?.isSameYear?this.overrides.isSameYear(e,t):Np(e,t),this.max=e=>this.overrides?.max?this.overrides.max(e):dd(e),this.min=e=>this.overrides?.min?this.overrides.min(e):fd(e),this.setMonth=(e,t)=>this.overrides?.setMonth?this.overrides.setMonth(e,t):Pp(e,t),this.setYear=(e,t)=>this.overrides?.setYear?this.overrides.setYear(e,t):Fp(e,t),this.startOfBroadcastWeek=(e,t)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(e,this):$p(e,this),this.startOfDay=e=>this.overrides?.startOfDay?this.overrides.startOfDay(e):od(e),this.startOfISOWeek=e=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(e):nd(e),this.startOfMonth=e=>this.overrides?.startOfMonth?this.overrides.startOfMonth(e):bd(e),this.startOfWeek=(e,t)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(e,this.options):td(e,this.options),this.startOfYear=e=>this.overrides?.startOfYear?this.overrides.startOfYear(e):Sd(e),this.options={locale:tm,...e},this.overrides=t}getDigitMap(){let{numerals:e=`latn`}=this.options,t=new Intl.NumberFormat(`en-US`,{numberingSystem:e}),n={};for(let e=0;e<10;e++)n[e.toString()]=t.format(e);return n}replaceDigits(e){let t=this.getDigitMap();return e.replace(/\d/g,e=>t[e]||e)}formatNumber(e){return this.replaceDigits(e.toString())}getMonthYearOrder(){let t=this.options.locale?.code;return t&&e.yearFirstLocales.has(t)?`year-first`:`month-first`}formatMonthYear(t){let{locale:n,timeZone:r,numerals:i}=this.options,a=n?.code;if(a&&e.yearFirstLocales.has(a))try{return new Intl.DateTimeFormat(a,{month:`long`,year:`numeric`,timeZone:r,numberingSystem:i}).format(t)}catch{}let o=this.getMonthYearOrder()===`year-first`?`y LLLL`:`LLLL y`;return this.format(t,o)}};nm.yearFirstLocales=new Set([`eu`,`hu`,`ja`,`ja-Hira`,`ja-JP`,`ko`,`ko-KR`,`lt`,`lt-LT`,`lv`,`lv-LV`,`mn`,`mn-MN`,`zh`,`zh-CN`,`zh-HK`,`zh-TW`]);var rm=new nm,im=class{constructor(e,t,n=rm){this.date=e,this.displayMonth=t,this.outside=!!(t&&!n.isSameMonth(e,t)),this.dateLib=n,this.isoDate=n.format(e,`yyyy-MM-dd`),this.displayMonthId=n.format(t,`yyyy-MM`),this.dateMonthId=n.format(e,`yyyy-MM`)}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}},am=class{constructor(e,t){this.date=e,this.weeks=t}},om=class{constructor(e,t){this.days=t,this.weekNumber=e}};function sm(e){return L.createElement(`span`,{...e})}function cm(e){let{size:t=24,orientation:n=`left`,className:r,style:i}=e;return L.createElement(`svg`,{className:r,style:i,width:t,height:t,viewBox:`0 0 24 24`},n===`up`&&L.createElement(`polygon`,{points:`6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28`}),n===`down`&&L.createElement(`polygon`,{points:`6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72`}),n===`left`&&L.createElement(`polygon`,{points:`16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20`}),n===`right`&&L.createElement(`polygon`,{points:`8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20`}))}function lm(e){let{day:t,modifiers:n,...r}=e;return L.createElement(`td`,{...r})}function um(e){let{day:t,modifiers:n,...r}=e,i=L.useRef(null);return L.useEffect(()=>{n.focused&&i.current?.focus()},[n.focused]),L.createElement(`button`,{ref:i,...r})}var W;(function(e){e.Root=`root`,e.Chevron=`chevron`,e.Day=`day`,e.DayButton=`day_button`,e.CaptionLabel=`caption_label`,e.Dropdowns=`dropdowns`,e.Dropdown=`dropdown`,e.DropdownRoot=`dropdown_root`,e.Footer=`footer`,e.MonthGrid=`month_grid`,e.MonthCaption=`month_caption`,e.MonthsDropdown=`months_dropdown`,e.Month=`month`,e.Months=`months`,e.Nav=`nav`,e.NextMonthButton=`button_next`,e.PreviousMonthButton=`button_previous`,e.Week=`week`,e.Weeks=`weeks`,e.Weekday=`weekday`,e.Weekdays=`weekdays`,e.WeekNumber=`week_number`,e.WeekNumberHeader=`week_number_header`,e.YearsDropdown=`years_dropdown`})(W||={});var dm;(function(e){e.disabled=`disabled`,e.hidden=`hidden`,e.outside=`outside`,e.focused=`focused`,e.today=`today`})(dm||={});var fm;(function(e){e.range_end=`range_end`,e.range_middle=`range_middle`,e.range_start=`range_start`,e.selected=`selected`})(fm||={});var pm;(function(e){e.weeks_before_enter=`weeks_before_enter`,e.weeks_before_exit=`weeks_before_exit`,e.weeks_after_enter=`weeks_after_enter`,e.weeks_after_exit=`weeks_after_exit`,e.caption_after_enter=`caption_after_enter`,e.caption_after_exit=`caption_after_exit`,e.caption_before_enter=`caption_before_enter`,e.caption_before_exit=`caption_before_exit`})(pm||={});var mm=(0,L.createContext)(void 0);function hm(){let e=(0,L.useContext)(mm);if(e===void 0)throw Error(`useDayPicker() must be used within a custom component.`);return e}function gm(e){let{options:t,className:n,...r}=e,{classNames:i,components:a,styles:o}=hm(),s=[i[W.Dropdown],n].join(` `),c=t?.find(({value:e})=>e===r.value);return L.createElement(`span`,{"data-disabled":r.disabled,className:i[W.DropdownRoot],style:o?.[W.DropdownRoot]},L.createElement(a.Select,{className:s,...r},t?.map(({value:e,label:t,disabled:n})=>L.createElement(a.Option,{key:e,value:e,disabled:n},t))),L.createElement(`span`,{className:i[W.CaptionLabel],style:o?.[W.CaptionLabel],"aria-hidden":!0},c?.label,L.createElement(a.Chevron,{orientation:`down`,size:18,className:i[W.Chevron],style:o?.[W.Chevron]})))}function _m(e){return L.createElement(`div`,{...e})}function vm(e){return L.createElement(`div`,{...e})}function ym(e){let{calendarMonth:t,displayIndex:n,...r}=e;return L.createElement(`div`,{...r},e.children)}function bm(e){let{calendarMonth:t,displayIndex:n,...r}=e;return L.createElement(`div`,{...r})}function xm(e){return L.createElement(`table`,{...e})}function Sm(e){return L.createElement(`div`,{...e})}function Cm(e){let{components:t}=hm();return L.createElement(t.Dropdown,{...e})}function wm(e){let{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:i,...a}=e,{components:o,classNames:s,styles:c,labels:{labelPrevious:l,labelNext:u}}=hm(),d=(0,L.useCallback)(e=>{i&&n?.(e)},[i,n]),f=(0,L.useCallback)(e=>{r&&t?.(e)},[r,t]);return L.createElement(`nav`,{...a},L.createElement(o.PreviousMonthButton,{type:`button`,className:s[W.PreviousMonthButton],style:c?.[W.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":!r||void 0,"aria-label":l(r),onClick:f},L.createElement(o.Chevron,{disabled:!r||void 0,className:s[W.Chevron],style:c?.[W.Chevron],orientation:`left`})),L.createElement(o.NextMonthButton,{type:`button`,className:s[W.NextMonthButton],style:c?.[W.NextMonthButton],tabIndex:i?void 0:-1,"aria-disabled":!i||void 0,"aria-label":u(i),onClick:d},L.createElement(o.Chevron,{disabled:!i||void 0,orientation:`right`,className:s[W.Chevron],style:c?.[W.Chevron]})))}function Tm(e){return L.createElement(`button`,{...e})}function Em(e){return L.createElement(`option`,{...e})}function Dm(e){return L.createElement(`button`,{...e})}function Om(e){let{rootRef:t,...n}=e;return L.createElement(`div`,{...n,ref:t})}function km(e){return L.createElement(`select`,{...e})}function Am(e){let{week:t,...n}=e;return L.createElement(`tr`,{...n})}function jm(e){return L.createElement(`th`,{...e})}function Mm(e){return L.createElement(`thead`,{"aria-hidden":!0},L.createElement(`tr`,{...e}))}function Nm(e){let{week:t,...n}=e;return L.createElement(`th`,{...n})}function Pm(e){return L.createElement(`th`,{...e})}function Fm(e){return L.createElement(`tbody`,{...e})}function Im(e){let{components:t}=hm();return L.createElement(t.Dropdown,{...e})}var Lm=e({CaptionLabel:()=>sm,Chevron:()=>cm,Day:()=>lm,DayButton:()=>um,Dropdown:()=>gm,DropdownNav:()=>_m,Footer:()=>vm,Month:()=>ym,MonthCaption:()=>bm,MonthGrid:()=>xm,Months:()=>Sm,MonthsDropdown:()=>Cm,Nav:()=>wm,NextMonthButton:()=>Tm,Option:()=>Em,PreviousMonthButton:()=>Dm,Root:()=>Om,Select:()=>km,Week:()=>Am,WeekNumber:()=>Nm,WeekNumberHeader:()=>Pm,Weekday:()=>jm,Weekdays:()=>Mm,Weeks:()=>Fm,YearsDropdown:()=>Im});function Rm(e,t,n=!1,r=rm){let{from:i,to:a}=e,{differenceInCalendarDays:o,isSameDay:s}=r;return i&&a?(o(a,i)<0&&([i,a]=[a,i]),o(t,i)>=+!!n&&o(a,t)>=+!!n):!n&&a?s(a,t):!n&&i?s(i,t):!1}function zm(e){return!!(e&&typeof e==`object`&&`before`in e&&`after`in e)}function Bm(e){return!!(e&&typeof e==`object`&&`from`in e)}function Vm(e){return!!(e&&typeof e==`object`&&`after`in e)}function Hm(e){return!!(e&&typeof e==`object`&&`before`in e)}function Um(e){return!!(e&&typeof e==`object`&&`dayOfWeek`in e)}function Wm(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Gm(e,t,n=rm){let r=Array.isArray(t)?t:[t],{isSameDay:i,differenceInCalendarDays:a,isAfter:o}=n;return r.some(t=>{if(typeof t==`boolean`)return t;if(n.isDate(t))return i(e,t);if(Wm(t,n))return t.some(t=>i(e,t));if(Bm(t))return Rm(t,e,!1,n);if(Um(t))return Array.isArray(t.dayOfWeek)?t.dayOfWeek.includes(e.getDay()):t.dayOfWeek===e.getDay();if(zm(t)){let n=a(t.before,e),r=a(t.after,e),i=n>0,s=r<0;return o(t.before,t.after)?s&&i:i||s}return Vm(t)?a(e,t.after)>0:Hm(t)?a(t.before,e)>0:typeof t==`function`&&t(e)})}function Km(e,t,n,r,i){let{disabled:a,hidden:o,modifiers:s,showOutsideDays:c,broadcastCalendar:l,today:u=i.today()}=t,{isSameDay:d,isSameMonth:f,startOfMonth:p,isBefore:m,endOfMonth:h,isAfter:g}=i,_=n&&p(n),v=r&&h(r),y={[dm.focused]:[],[dm.outside]:[],[dm.disabled]:[],[dm.hidden]:[],[dm.today]:[]},b={};for(let t of e){let{date:e,displayMonth:n}=t,r=!!(n&&!f(e,n)),p=!!(_&&m(e,_)),h=!!(v&&g(e,v)),x=!!(a&&Gm(e,a,i)),S=!!(o&&Gm(e,o,i))||p||h||!l&&!c&&r||l&&c===!1&&r,C=d(e,u);r&&y.outside.push(t),x&&y.disabled.push(t),S&&y.hidden.push(t),C&&y.today.push(t),s&&Object.keys(s).forEach(n=>{let r=s?.[n];r&&Gm(e,r,i)&&(b[n]?b[n].push(t):b[n]=[t])})}return e=>{let t={[dm.focused]:!1,[dm.disabled]:!1,[dm.hidden]:!1,[dm.outside]:!1,[dm.today]:!1},n={};for(let n in y)t[n]=y[n].some(t=>t===e);for(let t in b)n[t]=b[t].some(t=>t===e);return{...t,...n}}}function qm(e,t,n={}){return Object.entries(e).filter(([,e])=>e===!0).reduce((e,[r])=>(n[r]?e.push(n[r]):t[dm[r]]?e.push(t[dm[r]]):t[fm[r]]&&e.push(t[fm[r]]),e),[t[W.Day]])}function Jm(e){return{...Lm,...e}}function Ym(e){let t={"data-mode":e.mode??void 0,"data-required":`required`in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([e,n])=>{e.startsWith(`data-`)&&(t[e]=n)}),t}function Xm(){let e={};for(let t in W)e[W[t]]=`rdp-${W[t]}`;for(let t in dm)e[dm[t]]=`rdp-${dm[t]}`;for(let t in fm)e[fm[t]]=`rdp-${fm[t]}`;for(let t in pm)e[pm[t]]=`rdp-${pm[t]}`;return e}function Zm(e,t,n){return(n??new nm(t)).formatMonthYear(e)}function Qm(e,t,n){return(n??new nm(t)).format(e,`d`)}function $m(e,t=rm){return t.format(e,`LLLL`)}function eh(e,t,n){return(n??new nm(t)).format(e,`cccccc`)}function th(e,t=rm){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function nh(){return``}function rh(e,t=rm){return t.format(e,`yyyy`)}var ih=e({formatCaption:()=>Zm,formatDay:()=>Qm,formatMonthDropdown:()=>$m,formatWeekNumber:()=>th,formatWeekNumberHeader:()=>nh,formatWeekdayName:()=>eh,formatYearDropdown:()=>rh});function ah(e){return{...ih,...e}}function oh(e,t,n,r){let i=(r??new nm(n)).format(e,`PPPP`);return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i}function sh(e,t,n){return(n??new nm(t)).formatMonthYear(e)}function ch(e,t,n,r){let i=(r??new nm(n)).format(e,`PPPP`);return t?.today&&(i=`Today, ${i}`),i}function lh(e){return`Choose the Month`}function uh(){return``}var dh=`Go to the Next Month`;function fh(e,t){return dh}function ph(e){return`Go to the Previous Month`}function mh(e,t,n){return(n??new nm(t)).format(e,`cccc`)}function hh(e,t){return`Week ${e}`}function gh(e){return`Week Number`}function _h(e){return`Choose the Year`}var vh=e({labelDayButton:()=>oh,labelGrid:()=>sh,labelGridcell:()=>ch,labelMonthDropdown:()=>lh,labelNav:()=>uh,labelNext:()=>fh,labelPrevious:()=>ph,labelWeekNumber:()=>hh,labelWeekNumberHeader:()=>gh,labelWeekday:()=>mh,labelYearDropdown:()=>_h}),yh=(e,t,n)=>t||(n?typeof n==`function`?n:(...e)=>n:e);function bh(e,t){let n=t.locale?.labels??{};return{...vh,...e??{},labelDayButton:yh(oh,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:yh(lh,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:yh(fh,e?.labelNext,n.labelNext),labelPrevious:yh(ph,e?.labelPrevious,n.labelPrevious),labelWeekNumber:yh(hh,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:yh(_h,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:yh(sh,e?.labelGrid,n.labelGrid),labelGridcell:yh(ch,e?.labelGridcell,n.labelGridcell),labelNav:yh(uh,e?.labelNav,n.labelNav),labelWeekNumberHeader:yh(gh,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:yh(mh,e?.labelWeekday,n.labelWeekday)}}function xh(e,t,n,r,i){let{startOfMonth:a,startOfYear:o,endOfYear:s,eachMonthOfInterval:c,getMonth:l}=i;return c({start:o(e),end:s(e)}).map(e=>{let o=r.formatMonthDropdown(e,i);return{value:l(e),label:o,disabled:t&&e<a(t)||n&&e>a(n)||!1}})}function Sh(e,t={},n={}){let r={...t?.[W.Day]};return Object.entries(e).filter(([,e])=>e===!0).forEach(([e])=>{r={...r,...n?.[e]}}),r}function Ch(e,t,n,r){let i=r??e.today(),a=n?e.startOfBroadcastWeek(i,e):t?e.startOfISOWeek(i):e.startOfWeek(i),o=[];for(let t=0;t<7;t++){let n=e.addDays(a,t);o.push(n)}return o}function wh(e,t,n,r,i=!1){if(!e||!t)return;let{startOfYear:a,endOfYear:o,eachYearOfInterval:s,getYear:c}=r,l=s({start:a(e),end:o(t)});return i&&l.reverse(),l.map(e=>{let t=n.formatYearDropdown(e,r);return{value:c(e),label:t,disabled:!1}})}function Th(e,t={}){let{weekStartsOn:n,locale:r}=t,i=n??r?.options?.weekStartsOn??0,a=t=>{let n=typeof t==`number`||typeof t==`string`?new Date(t):t;return new Yp(n.getFullYear(),n.getMonth(),n.getDate(),12,0,0,e)},o=e=>{let t=a(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)};return{today:()=>a(Yp.tz(e)),newDate:(t,n,r)=>new Yp(t,n,r,12,0,0,e),startOfDay:e=>a(e),startOfWeek:(e,t)=>{let n=a(e),r=t?.weekStartsOn??i,o=(n.getDay()-r+7)%7;return n.setDate(n.getDate()-o),n},startOfISOWeek:e=>{let t=a(e),n=(t.getDay()-1+7)%7;return t.setDate(t.getDate()-n),t},startOfMonth:e=>{let t=a(e);return t.setDate(1),t},startOfYear:e=>{let t=a(e);return t.setMonth(0,1),t},endOfWeek:(e,t)=>{let n=a(e),r=(((t?.weekStartsOn??i)+6)%7-n.getDay()+7)%7;return n.setDate(n.getDate()+r),n},endOfISOWeek:e=>{let t=a(e),n=(7-t.getDay())%7;return t.setDate(t.getDate()+n),t},endOfMonth:e=>{let t=a(e);return t.setMonth(t.getMonth()+1,0),t},endOfYear:e=>{let t=a(e);return t.setMonth(11,31),t},eachMonthOfInterval:t=>{let n=a(t.start),r=a(t.end),i=[],o=new Yp(n.getFullYear(),n.getMonth(),1,12,0,0,e),s=r.getFullYear()*12+r.getMonth();for(;o.getFullYear()*12+o.getMonth()<=s;)i.push(new Yp(o,e)),o.setMonth(o.getMonth()+1,1);return i},addDays:(e,t)=>{let n=a(e);return n.setDate(n.getDate()+t),n},addWeeks:(e,t)=>{let n=a(e);return n.setDate(n.getDate()+t*7),n},addMonths:(e,t)=>{let n=a(e);return n.setMonth(n.getMonth()+t),n},addYears:(e,t)=>{let n=a(e);return n.setFullYear(n.getFullYear()+t),n},eachYearOfInterval:t=>{let n=a(t.start),r=a(t.end),i=[],o=new Yp(n.getFullYear(),0,1,12,0,0,e);for(;o.getFullYear()<=r.getFullYear();)i.push(new Yp(o,e)),o.setFullYear(o.getFullYear()+1,0,1);return i},getWeek:(e,t)=>Ud(o(e),{weekStartsOn:t?.weekStartsOn??i,firstWeekContainsDate:t?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1}),getISOWeek:e=>Bd(o(e)),differenceInCalendarDays:(e,t)=>sd(o(e),o(t)),differenceInCalendarMonths:(e,t)=>gd(o(e),o(t))}}var Eh=e=>e instanceof HTMLElement?e:null,Dh=e=>[...e.querySelectorAll(`[data-animated-month]`)??[]],Oh=e=>Eh(e.querySelector(`[data-animated-month]`)),kh=e=>Eh(e.querySelector(`[data-animated-caption]`)),Ah=e=>Eh(e.querySelector(`[data-animated-weeks]`)),jh=e=>Eh(e.querySelector(`[data-animated-nav]`)),Mh=e=>Eh(e.querySelector(`[data-animated-weekdays]`));function Nh(e,t,{classNames:n,months:r,focused:i,dateLib:a}){let o=(0,L.useRef)(null),s=(0,L.useRef)(r),c=(0,L.useRef)(!1);(0,L.useLayoutEffect)(()=>{let l=s.current;if(s.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||l.length===0||r.length!==l.length)return;let u=a.isSameMonth(r[0].date,l[0].date),d=a.isAfter(r[0].date,l[0].date),f=d?n[pm.caption_after_enter]:n[pm.caption_before_enter],p=d?n[pm.weeks_after_enter]:n[pm.weeks_before_enter],m=o.current,h=e.current.cloneNode(!0);if(h instanceof HTMLElement?(Dh(h).forEach(e=>{if(!(e instanceof HTMLElement))return;let t=Oh(e);t&&e.contains(t)&&e.removeChild(t);let n=kh(e);n&&n.classList.remove(f);let r=Ah(e);r&&r.classList.remove(p)}),o.current=h):o.current=null,c.current||u||i)return;let g=m instanceof HTMLElement?Dh(m):[],_=Dh(e.current);if(_?.every(e=>e instanceof HTMLElement)&&g?.every(e=>e instanceof HTMLElement)){c.current=!0;let t=[];e.current.style.isolation=`isolate`;let r=jh(e.current);r&&(r.style.zIndex=`1`),_.forEach((i,a)=>{let o=g[a];if(!o)return;i.style.position=`relative`,i.style.overflow=`hidden`;let s=kh(i);s&&s.classList.add(f);let l=Ah(i);l&&l.classList.add(p);let u=()=>{c.current=!1,e.current&&(e.current.style.isolation=``),r&&(r.style.zIndex=``),s&&s.classList.remove(f),l&&l.classList.remove(p),i.style.position=``,i.style.overflow=``,i.contains(o)&&i.removeChild(o)};t.push(u),o.style.pointerEvents=`none`,o.style.position=`absolute`,o.style.overflow=`hidden`,o.setAttribute(`aria-hidden`,`true`);let m=Mh(o);m&&(m.style.opacity=`0`);let h=kh(o);h&&(h.classList.add(d?n[pm.caption_before_exit]:n[pm.caption_after_exit]),h.addEventListener(`animationend`,u));let _=Ah(o);_&&_.classList.add(d?n[pm.weeks_before_exit]:n[pm.weeks_after_exit]),i.insertBefore(o,i.firstChild)})}})}function Ph(e,t,n,r){let i=e[0],a=e[e.length-1],{ISOWeek:o,fixedWeeks:s,broadcastCalendar:c}=n??{},{addDays:l,differenceInCalendarDays:u,differenceInCalendarMonths:d,endOfBroadcastWeek:f,endOfISOWeek:p,endOfMonth:m,endOfWeek:h,isAfter:g,startOfBroadcastWeek:_,startOfISOWeek:v,startOfWeek:y}=r,b=c?_(i,r):o?v(i):y(i),x=c?f(a):o?p(m(a)):h(m(a)),S=t&&(c?f(t):o?p(t):h(t)),C=u(S&&g(x,S)?S:x,b),w=d(a,i)+1,T=[];for(let e=0;e<=C;e++){let t=l(b,e);T.push(t)}let E=(c?35:42)*w;if(s&&T.length<E){let e=E-T.length;for(let t=0;t<e;t++){let e=l(T[T.length-1],1);T.push(e)}}return T}function Fh(e){let t=[];return e.reduce((e,n)=>{let r=n.weeks.reduce((e,t)=>e.concat(t.days.slice()),t.slice());return e.concat(r.slice())},t.slice())}function Ih(e,t,n,r){let{numberOfMonths:i=1}=n,a=[];for(let n=0;n<i;n++){let i=r.addMonths(e,n);if(t&&i>t)break;a.push(i)}return a}function Lh(e,t,n,r){let{month:i,defaultMonth:a,today:o=r.today(),numberOfMonths:s=1}=e,c=i||a||o,{differenceInCalendarMonths:l,addMonths:u,startOfMonth:d}=r;return n&&l(n,c)<s-1&&(c=u(n,-1*(s-1))),t&&l(c,t)<0&&(c=t),d(c)}function Rh(e,t,n,r){let{addDays:i,endOfBroadcastWeek:a,endOfISOWeek:o,endOfMonth:s,endOfWeek:c,getISOWeek:l,getWeek:u,startOfBroadcastWeek:d,startOfISOWeek:f,startOfWeek:p}=r,m=e.reduce((e,m)=>{let h=n.broadcastCalendar?d(m,r):n.ISOWeek?f(m):p(m),g=n.broadcastCalendar?a(m):n.ISOWeek?o(s(m)):c(s(m)),_=t.filter(e=>e>=h&&e<=g),v=n.broadcastCalendar?35:42;if(n.fixedWeeks&&_.length<v){let e=t.filter(e=>{let t=v-_.length;return e>g&&e<=i(g,t)});_.push(...e)}let y=new am(m,_.reduce((e,t)=>{let i=n.ISOWeek?l(t):u(t),a=e.find(e=>e.weekNumber===i),o=new im(t,m,r);return a?a.days.push(o):e.push(new om(i,[o])),e},[]));return e.push(y),e},[]);return n.reverseMonths?m.reverse():m}function zh(e,t){let{startMonth:n,endMonth:r}=e,{startOfYear:i,startOfDay:a,startOfMonth:o,endOfMonth:s,addYears:c,endOfYear:l,today:u}=t,d=e.captionLayout===`dropdown`||e.captionLayout===`dropdown-years`;return n?n=o(n):!n&&d&&(n=i(c(e.today??u(),-100))),r?r=s(r):!r&&d&&(r=l(e.today??u())),[n&&a(n),r&&a(r)]}function Bh(e,t,n,r){if(n.disableNavigation)return;let{pagedNavigation:i,numberOfMonths:a=1}=n,{startOfMonth:o,addMonths:s,differenceInCalendarMonths:c}=r,l=i?a:1,u=o(e);if(!t||!(c(t,e)<a))return s(u,l)}function Vh(e,t,n,r){if(n.disableNavigation)return;let{pagedNavigation:i,numberOfMonths:a}=n,{startOfMonth:o,addMonths:s,differenceInCalendarMonths:c}=r,l=i?a??1:1,u=o(e);if(!t||!(c(u,t)<=0))return s(u,-l)}function Hh(e){return e.reduce((e,t)=>e.concat(t.weeks.slice()),[].slice())}function Uh(e,t){let[n,r]=(0,L.useState)(e);return[t===void 0?n:t,r]}function Wh(e,t){let[n,r]=zh(e,t),{startOfMonth:i,endOfMonth:a}=t,o=Lh(e,n,r,t),[s,c]=Uh(o,e.month?o:void 0);(0,L.useEffect)(()=>{let i=Lh(e,n,r,t);c(i)},[e.timeZone]);let{months:l,weeks:u,days:d,previousMonth:f,nextMonth:p}=(0,L.useMemo)(()=>{let i=Ih(s,r,{numberOfMonths:e.numberOfMonths},t),o=Rh(i,Ph(i,e.endMonth?a(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t);return{months:o,weeks:Hh(o),days:Fh(o),previousMonth:Vh(s,n,e,t),nextMonth:Bh(s,r,e,t)}},[t,s.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:m,onMonthChange:h}=e,g=e=>u.some(t=>t.days.some(t=>t.isEqualTo(e))),_=e=>{if(m)return;let t=i(e);n&&t<i(n)&&(t=i(n)),r&&t>i(r)&&(t=i(r)),c(t),h?.(t)};return{months:l,weeks:u,days:d,navStart:n,navEnd:r,previousMonth:f,nextMonth:p,goToMonth:_,goToDay:e=>{g(e)||_(e.date)}}}var Gh;(function(e){e[e.Today=0]=`Today`,e[e.Selected=1]=`Selected`,e[e.LastFocused=2]=`LastFocused`,e[e.FocusedModifier=3]=`FocusedModifier`})(Gh||={});function Kh(e){return!e[dm.disabled]&&!e[dm.hidden]&&!e[dm.outside]}function qh(e,t,n,r){let i,a=-1;for(let o of e){let e=t(o);Kh(e)&&(e[dm.focused]&&a<Gh.FocusedModifier?(i=o,a=Gh.FocusedModifier):r?.isEqualTo(o)&&a<Gh.LastFocused?(i=o,a=Gh.LastFocused):n(o.date)&&a<Gh.Selected?(i=o,a=Gh.Selected):e[dm.today]&&a<Gh.Today&&(i=o,a=Gh.Today))}return i||=e.find(e=>Kh(t(e))),i}function Jh(e,t,n,r,i,a,o){let{ISOWeek:s,broadcastCalendar:c}=a,{addDays:l,addMonths:u,addWeeks:d,addYears:f,endOfBroadcastWeek:p,endOfISOWeek:m,endOfWeek:h,max:g,min:_,startOfBroadcastWeek:v,startOfISOWeek:y,startOfWeek:b}=o,x={day:l,week:d,month:u,year:f,startOfWeek:e=>c?v(e,o):s?y(e):b(e),endOfWeek:e=>c?p(e):s?m(e):h(e)}[e](n,t===`after`?1:-1);return t===`before`&&r?x=g([r,x]):t===`after`&&i&&(x=_([i,x])),x}function Yh(e,t,n,r,i,a,o,s=0){if(s>365)return;let c=Jh(e,t,n.date,r,i,a,o),l=!!(a.disabled&&Gm(c,a.disabled,o)),u=!!(a.hidden&&Gm(c,a.hidden,o)),d=new im(c,c,o);return!l&&!u?d:Yh(e,t,d,r,i,a,o,s+1)}function Xh(e,t,n,r,i){let{autoFocus:a}=e,[o,s]=(0,L.useState)(),c=qh(t.days,n,r||(()=>!1),o),[l,u]=(0,L.useState)(a?c:void 0);return{isFocusTarget:e=>!!c?.isEqualTo(e),setFocused:u,focused:l,blur:()=>{s(l),u(void 0)},moveFocus:(n,r)=>{if(!l)return;let a=Yh(n,r,l,t.navStart,t.navEnd,e,i);a&&(e.disableNavigation&&!t.days.some(e=>e.isEqualTo(a))||(t.goToDay(a),u(a)))}}}function Zh(e,t){let{selected:n,required:r,onSelect:i}=e,[a,o]=Uh(n,i?n:void 0),s=i?n:a,{isSameDay:c}=t,l=e=>s?.some(t=>c(t,e))??!1,{min:u,max:d}=e;return{selected:s,select:(e,t,n)=>{let a=[...s??[]];if(l(e)){if(s?.length===u||r&&s?.length===1)return;a=s?.filter(t=>!c(t,e))}else a=s?.length===d?[e]:[...a,e];return i||o(a),i?.(a,e,t,n),a},isSelected:l}}function Qh(e,t,n=0,r=0,i=!1,a=rm){let{from:o,to:s}=t||{},{isSameDay:c,isAfter:l,isBefore:u}=a,d;if(!o&&!s)d={from:e,to:n>0?void 0:e};else if(o&&!s)d=c(o,e)?n===0?{from:o,to:e}:i?{from:o,to:void 0}:void 0:u(e,o)?{from:e,to:o}:{from:o,to:e};else if(o&&s)if(c(o,e)&&c(s,e))d=i?{from:o,to:s}:void 0;else if(c(o,e))d={from:o,to:n>0?void 0:e};else if(c(s,e))d={from:e,to:n>0?void 0:e};else if(u(e,o))d={from:e,to:s};else if(l(e,o))d={from:o,to:e};else if(l(e,s))d={from:o,to:e};else throw Error(`Invalid range`);if(d?.from&&d?.to){let t=a.differenceInCalendarDays(d.to,d.from);(r>0&&t>r||n>1&&t<n)&&(d={from:e,to:void 0})}return d}function $h(e,t,n=rm){let r=Array.isArray(t)?t:[t],i=e.from,a=n.differenceInCalendarDays(e.to,e.from),o=Math.min(a,6);for(let e=0;e<=o;e++){if(r.includes(i.getDay()))return!0;i=n.addDays(i,1)}return!1}function eg(e,t,n=rm){return Rm(e,t.from,!1,n)||Rm(e,t.to,!1,n)||Rm(t,e.from,!1,n)||Rm(t,e.to,!1,n)}function tg(e,t,n=rm){let r=Array.isArray(t)?t:[t];if(r.filter(e=>typeof e!=`function`).some(t=>typeof t==`boolean`?t:n.isDate(t)?Rm(e,t,!1,n):Wm(t,n)?t.some(t=>Rm(e,t,!1,n)):Bm(t)?t.from&&t.to?eg(e,{from:t.from,to:t.to},n):!1:Um(t)?$h(e,t.dayOfWeek,n):zm(t)?n.isAfter(t.before,t.after)?eg(e,{from:n.addDays(t.after,1),to:n.addDays(t.before,-1)},n):Gm(e.from,t,n)||Gm(e.to,t,n):Vm(t)||Hm(t)?Gm(e.from,t,n)||Gm(e.to,t,n):!1))return!0;let i=r.filter(e=>typeof e==`function`);if(i.length){let t=e.from,r=n.differenceInCalendarDays(e.to,e.from);for(let e=0;e<=r;e++){if(i.some(e=>e(t)))return!0;t=n.addDays(t,1)}}return!1}function ng(e,t){let{disabled:n,excludeDisabled:r,resetOnSelect:i,selected:a,required:o,onSelect:s}=e,[c,l]=Uh(a,s?a:void 0),u=s?a:c;return{selected:u,select:(a,c,d)=>{let{min:f,max:p}=e,m;if(a){let e=u?.from,n=u?.to,r=!!e&&!!n,s=!!e&&!!n&&t.isSameDay(e,n)&&t.isSameDay(a,e);m=i&&(r||!u?.from)?!o&&s?void 0:{from:a,to:void 0}:Qh(a,u,f,p,o,t)}return r&&n&&m?.from&&m.to&&tg({from:m.from,to:m.to},n,t)&&(m.from=a,m.to=void 0),s||l(m),s?.(m,a,c,d),m},isSelected:e=>u&&Rm(u,e,!1,t)}}function rg(e,t){let{selected:n,required:r,onSelect:i}=e,[a,o]=Uh(n,i?n:void 0),s=i?n:a,{isSameDay:c}=t;return{selected:s,select:(e,t,n)=>{let a=e;return!r&&s&&s&&c(e,s)&&(a=void 0),i||o(a),i?.(a,e,t,n),a},isSelected:e=>s?c(s,e):!1}}function ig(e,t){let n=rg(e,t),r=Zh(e,t),i=ng(e,t);switch(e.mode){case`single`:return n;case`multiple`:return r;case`range`:return i;default:return}}function ag(e,t){return e instanceof Yp&&e.timeZone===t?e:new Yp(e,t)}function og(e,t,n){if(!n)return ag(e,t);let r=ag(e,t),i=new Yp(r.getFullYear(),r.getMonth(),r.getDate(),12,0,0,t);return new Date(i.getTime())}function sg(e,t,n){return typeof e==`boolean`||typeof e==`function`?e:e instanceof Date?og(e,t,n):Array.isArray(e)?e.map(e=>e instanceof Date?og(e,t,n):e):Bm(e)?{...e,from:e.from?ag(e.from,t):e.from,to:e.to?ag(e.to,t):e.to}:zm(e)?{before:og(e.before,t,n),after:og(e.after,t,n)}:Vm(e)?{after:og(e.after,t,n)}:Hm(e)?{before:og(e.before,t,n)}:e}function cg(e,t,n){return e&&(Array.isArray(e)?e.map(e=>sg(e,t,n)):sg(e,t,n))}function lg(e){let t=e,n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&=ag(t.today,n),t.month&&=ag(t.month,n),t.defaultMonth&&=ag(t.defaultMonth,n),t.startMonth&&=ag(t.startMonth,n),t.endMonth&&=ag(t.endMonth,n),t.mode===`single`&&t.selected?t.selected=ag(t.selected,n):t.mode===`multiple`&&t.selected?t.selected=t.selected?.map(e=>ag(e,n)):t.mode===`range`&&t.selected&&(t.selected={from:t.selected.from?ag(t.selected.from,n):t.selected.from,to:t.selected.to?ag(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=cg(t.disabled,n)),t.hidden!==void 0&&(t.hidden=cg(t.hidden,n)),t.modifiers)){let e={};Object.keys(t.modifiers).forEach(r=>{e[r]=cg(t.modifiers?.[r],n)}),t.modifiers=e}let{components:r,formatters:i,labels:a,dateLib:o,locale:s,classNames:c}=(0,L.useMemo)(()=>{let e={...tm,...t.locale},n=t.broadcastCalendar?1:t.weekStartsOn,r=t.noonSafe&&t.timeZone?Th(t.timeZone,{weekStartsOn:n,locale:e}):void 0,i=t.dateLib&&r?{...r,...t.dateLib}:t.dateLib??r,a=new nm({locale:e,weekStartsOn:n,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},i);return{dateLib:a,components:Jm(t.components),formatters:ah(t.formatters),labels:bh(t.labels,a.options),locale:e,classNames:{...Xm(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:o.today()});let{captionLayout:l,mode:u,navLayout:d,numberOfMonths:f=1,onDayBlur:p,onDayClick:m,onDayFocus:h,onDayKeyDown:g,onDayMouseEnter:_,onDayMouseLeave:v,onNextClick:y,onPrevClick:b,showWeekNumber:x,styles:S}=t,{formatCaption:C,formatDay:w,formatMonthDropdown:T,formatWeekNumber:E,formatWeekNumberHeader:D,formatWeekdayName:O,formatYearDropdown:k}=i,A=Wh(t,o),{days:ee,months:te,navStart:ne,navEnd:j,previousMonth:M,nextMonth:re,goToMonth:N}=A,ie=Km(ee,t,ne,j,o),{isSelected:ae,select:oe,selected:se}=ig(t,o)??{},{blur:ce,focused:le,isFocusTarget:P,moveFocus:ue,setFocused:de}=Xh(t,A,ie,ae??(()=>!1),o),{labelDayButton:fe,labelGridcell:pe,labelGrid:me,labelMonthDropdown:he,labelNav:ge,labelPrevious:_e,labelNext:ve,labelWeekday:ye,labelWeekNumber:be,labelWeekNumberHeader:xe,labelYearDropdown:Se}=a,Ce=(0,L.useMemo)(()=>Ch(o,t.ISOWeek,t.broadcastCalendar,t.today),[o,t.ISOWeek,t.broadcastCalendar,t.today]),we=u!==void 0||m!==void 0,Te=(0,L.useCallback)(()=>{M&&(N(M),b?.(M))},[M,N,b]),Ee=(0,L.useCallback)(()=>{re&&(N(re),y?.(re))},[N,re,y]),De=(0,L.useCallback)((e,t)=>n=>{n.preventDefault(),n.stopPropagation(),de(e),!t.disabled&&(oe?.(e.date,t,n),m?.(e.date,t,n))},[oe,m,de]),Oe=(0,L.useCallback)((e,t)=>n=>{de(e),h?.(e.date,t,n)},[h,de]),ke=(0,L.useCallback)((e,t)=>n=>{ce(),p?.(e.date,t,n)},[ce,p]),Ae=(0,L.useCallback)((e,n)=>r=>{let i={ArrowLeft:[r.shiftKey?`month`:`day`,t.dir===`rtl`?`after`:`before`],ArrowRight:[r.shiftKey?`month`:`day`,t.dir===`rtl`?`before`:`after`],ArrowDown:[r.shiftKey?`year`:`week`,`after`],ArrowUp:[r.shiftKey?`year`:`week`,`before`],PageUp:[r.shiftKey?`year`:`month`,`before`],PageDown:[r.shiftKey?`year`:`month`,`after`],Home:[`startOfWeek`,`before`],End:[`endOfWeek`,`after`]};if(i[r.key]){r.preventDefault(),r.stopPropagation();let[e,t]=i[r.key];ue(e,t)}g?.(e.date,n,r)},[ue,g,t.dir]),je=(0,L.useCallback)((e,t)=>n=>{_?.(e.date,t,n)},[_]),Me=(0,L.useCallback)((e,t)=>n=>{v?.(e.date,t,n)},[v]),Ne=(0,L.useCallback)((e,t)=>n=>{let r=Number(n.target.value),i=o.setMonth(o.startOfMonth(e),r);N(o.addMonths(i,-t))},[o,N]),Pe=(0,L.useCallback)((e,t)=>n=>{let r=Number(n.target.value),i=o.setYear(o.startOfMonth(e),r);N(o.addMonths(i,-t))},[o,N]),{className:Fe,style:Ie}=(0,L.useMemo)(()=>({className:[c[W.Root],t.className].filter(Boolean).join(` `),style:{...S?.[W.Root],...t.style}}),[c,t.className,t.style,S]),Le=Ym(t),Re=e=>{let t=S?.[W.Dropdown],n=S?.[e];if(!(!t&&!n))return{...t,...n}},ze=(0,L.useRef)(null);Nh(ze,!!t.animate,{classNames:c,months:te,focused:le,dateLib:o});let Be={dayPickerProps:t,selected:se,select:oe,isSelected:ae,months:te,nextMonth:re,previousMonth:M,goToMonth:N,getModifiers:ie,components:r,classNames:c,styles:S,labels:a,formatters:i};return L.createElement(mm.Provider,{value:Be},L.createElement(r.Root,{rootRef:t.animate?ze:void 0,className:Fe,style:Ie,dir:t.dir,id:t.id,lang:t.lang??s.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t[`aria-label`],"aria-labelledby":t[`aria-labelledby`],...Le},L.createElement(r.Months,{className:c[W.Months],style:S?.[W.Months]},!t.hideNavigation&&!d&&L.createElement(r.Nav,{"data-animated-nav":t.animate?`true`:void 0,className:c[W.Nav],style:S?.[W.Nav],"aria-label":ge(),onPreviousClick:Te,onNextClick:Ee,previousMonth:M,nextMonth:re}),te.map((e,n)=>{let a=t.reverseMonths?te.length-1-n:n;return L.createElement(r.Month,{"data-animated-month":t.animate?`true`:void 0,className:c[W.Month],style:S?.[W.Month],key:n,displayIndex:n,calendarMonth:e},d===`around`&&!t.hideNavigation&&n===0&&L.createElement(r.PreviousMonthButton,{type:`button`,className:c[W.PreviousMonthButton],style:S?.[W.PreviousMonthButton],tabIndex:M?void 0:-1,"aria-disabled":!M||void 0,"aria-label":_e(M),onClick:Te,"data-animated-button":t.animate?`true`:void 0},L.createElement(r.Chevron,{disabled:!M||void 0,className:c[W.Chevron],style:S?.[W.Chevron],orientation:t.dir===`rtl`?`right`:`left`})),L.createElement(r.MonthCaption,{"data-animated-caption":t.animate?`true`:void 0,className:c[W.MonthCaption],style:S?.[W.MonthCaption],calendarMonth:e,displayIndex:n},l?.startsWith(`dropdown`)?L.createElement(r.DropdownNav,{className:c[W.Dropdowns],style:S?.[W.Dropdowns]},(()=>{let n=l===`dropdown`||l===`dropdown-months`?L.createElement(r.MonthsDropdown,{key:`month`,className:c[W.MonthsDropdown],"aria-label":he(),disabled:!!t.disableNavigation,onChange:Ne(e.date,a),options:xh(e.date,ne,j,i,o),style:Re(W.MonthsDropdown),value:o.getMonth(e.date)}):L.createElement(`span`,{key:`month`},T(e.date,o)),s=l===`dropdown`||l===`dropdown-years`?L.createElement(r.YearsDropdown,{key:`year`,className:c[W.YearsDropdown],"aria-label":Se(o.options),disabled:!!t.disableNavigation,onChange:Pe(e.date,a),options:wh(ne,j,i,o,!!t.reverseYears),style:Re(W.YearsDropdown),value:o.getYear(e.date)}):L.createElement(`span`,{key:`year`},k(e.date,o));return o.getMonthYearOrder()===`year-first`?[s,n]:[n,s]})(),L.createElement(`span`,{role:`status`,"aria-live":`polite`,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`,wordWrap:`normal`}},C(e.date,o.options,o))):L.createElement(r.CaptionLabel,{className:c[W.CaptionLabel],style:S?.[W.CaptionLabel],role:`status`,"aria-live":`polite`},C(e.date,o.options,o))),d===`around`&&!t.hideNavigation&&n===f-1&&L.createElement(r.NextMonthButton,{type:`button`,className:c[W.NextMonthButton],style:S?.[W.NextMonthButton],tabIndex:re?void 0:-1,"aria-disabled":!re||void 0,"aria-label":ve(re),onClick:Ee,"data-animated-button":t.animate?`true`:void 0},L.createElement(r.Chevron,{disabled:!re||void 0,className:c[W.Chevron],style:S?.[W.Chevron],orientation:t.dir===`rtl`?`left`:`right`})),n===f-1&&d===`after`&&!t.hideNavigation&&L.createElement(r.Nav,{"data-animated-nav":t.animate?`true`:void 0,className:c[W.Nav],style:S?.[W.Nav],"aria-label":ge(),onPreviousClick:Te,onNextClick:Ee,previousMonth:M,nextMonth:re}),L.createElement(r.MonthGrid,{role:`grid`,"aria-multiselectable":u===`multiple`||u===`range`,"aria-label":me(e.date,o.options,o)||void 0,className:c[W.MonthGrid],style:S?.[W.MonthGrid]},!t.hideWeekdays&&L.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?`true`:void 0,className:c[W.Weekdays],style:S?.[W.Weekdays]},x&&L.createElement(r.WeekNumberHeader,{"aria-label":xe(o.options),className:c[W.WeekNumberHeader],style:S?.[W.WeekNumberHeader],scope:`col`},D()),Ce.map(e=>L.createElement(r.Weekday,{"aria-label":ye(e,o.options,o),className:c[W.Weekday],key:String(e),style:S?.[W.Weekday],scope:`col`},O(e,o.options,o)))),L.createElement(r.Weeks,{"data-animated-weeks":t.animate?`true`:void 0,className:c[W.Weeks],style:S?.[W.Weeks]},e.weeks.map(e=>L.createElement(r.Week,{className:c[W.Week],key:e.weekNumber,style:S?.[W.Week],week:e},x&&L.createElement(r.WeekNumber,{week:e,style:S?.[W.WeekNumber],"aria-label":be(e.weekNumber,{locale:s}),className:c[W.WeekNumber],scope:`row`,role:`rowheader`},E(e.weekNumber,o)),e.days.map(e=>{let{date:n}=e,i=ie(e);if(i[dm.focused]=!i.hidden&&!!le?.isEqualTo(e),i[fm.selected]=ae?.(n)||i.selected,Bm(se)){let{from:e,to:t}=se;i[fm.range_start]=!!(e&&t&&o.isSameDay(n,e)),i[fm.range_end]=!!(e&&t&&o.isSameDay(n,t)),i[fm.range_middle]=Rm(se,n,!0,o)}let a=Sh(i,S,t.modifiersStyles),s=qm(i,c,t.modifiersClassNames),l=!we&&!i.hidden?pe(n,i,o.options,o):void 0;return L.createElement(r.Day,{key:`${e.isoDate}_${e.displayMonthId}`,day:e,modifiers:i,className:s.join(` `),style:a,role:`gridcell`,"aria-selected":i.selected||void 0,"aria-label":l,"data-day":e.isoDate,"data-month":e.outside?e.dateMonthId:void 0,"data-selected":i.selected||void 0,"data-disabled":i.disabled||void 0,"data-hidden":i.hidden||void 0,"data-outside":e.outside||void 0,"data-focused":i.focused||void 0,"data-today":i.today||void 0},!i.hidden&&we?L.createElement(r.DayButton,{className:c[W.DayButton],style:S?.[W.DayButton],type:`button`,day:e,modifiers:i,disabled:!i.focused&&i.disabled||void 0,"aria-disabled":i.focused&&i.disabled||void 0,tabIndex:P(e)?0:-1,"aria-label":fe(n,i,o.options,o),onClick:De(e,i),onBlur:ke(e,i),onFocus:Oe(e,i),onKeyDown:Ae(e,i),onMouseEnter:je(e,i),onMouseLeave:Me(e,i)},w(n,o.options,o)):!i.hidden&&w(e.date,o.options,o))}))))))})),t.footer&&L.createElement(r.Footer,{className:c[W.Footer],style:S?.[W.Footer],role:`status`,"aria-live":`polite`},t.footer)))}var ug=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/calendar.tsx`;function dg({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=Xm();return(0,R.jsxDEV)(lg,{showOutsideDays:n,className:C(`group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...a},classNames:{root:C(`w-fit`,c.root),months:C(`relative flex flex-col gap-4 md:flex-row`,c.months),month:C(`flex w-full flex-col gap-4`,c.month),nav:C(`absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1`,c.nav),button_previous:C(Qe({variant:i}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,c.button_previous),button_next:C(Qe({variant:i}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,c.button_next),month_caption:C(`flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)`,c.month_caption),dropdowns:C(`flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium`,c.dropdowns),dropdown_root:C(`relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50`,c.dropdown_root),dropdown:C(`absolute inset-0 bg-popover opacity-0`,c.dropdown),caption_label:C(`font-medium select-none`,r===`label`?`text-sm`:`flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground`,c.caption_label),month_grid:`w-full border-collapse`,weekdays:C(`flex`,c.weekdays),weekday:C(`flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none`,c.weekday),week:C(`mt-2 flex w-full`,c.week),week_number_header:C(`w-(--cell-size) select-none`,c.week_number_header),week_number:C(`text-[0.8rem] text-muted-foreground select-none`,c.week_number),day:C(`group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md`,s.showWeekNumber?`[&:nth-child(2)[data-selected=true]_button]:rounded-l-md`:`[&:first-child[data-selected=true]_button]:rounded-l-md`,c.day),range_start:C(`rounded-l-md bg-accent`,c.range_start),range_middle:C(`rounded-none`,c.range_middle),range_end:C(`rounded-r-md bg-accent`,c.range_end),today:C(`rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none`,c.today),outside:C(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:C(`text-muted-foreground opacity-50`,c.disabled),hidden:C(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,R.jsxDEV)(`div`,{"data-slot":`calendar`,ref:t,className:C(e),...n},void 0,!1,{fileName:ug,lineNumber:101,columnNumber:18},this),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,R.jsxDEV)(gs,{className:C(`size-4`,e),...n},void 0,!1,{fileName:ug,lineNumber:105,columnNumber:20},this):t===`right`?(0,R.jsxDEV)(_s,{className:C(`size-4`,e),...n},void 0,!1,{fileName:ug,lineNumber:109,columnNumber:20},this):(0,R.jsxDEV)(k,{className:C(`size-4`,e),...n},void 0,!1,{fileName:ug,lineNumber:112,columnNumber:18},this),DayButton:fg,WeekNumber:({children:e,...t})=>(0,R.jsxDEV)(`td`,{...t,children:(0,R.jsxDEV)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e},void 0,!1,{fileName:ug,lineNumber:118,columnNumber:15},this)},void 0,!1,{fileName:ug,lineNumber:117,columnNumber:13},this),...o},...s},void 0,!1,{fileName:ug,lineNumber:23,columnNumber:5},this)}function fg({className:e,day:t,modifiers:n,...r}){let i=Xm(),a=L.useRef(null);return L.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,R.jsxDEV)(F,{ref:a,variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:C(`flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70`,i.day,e),...r},void 0,!1,{fileName:ug,lineNumber:138,columnNumber:5},this)}function pg(e){if(!e)return;let t=Ap(e.slice(0,10),`yyyy-MM-dd`,new Date);return hd(t)?t:void 0}function mg(e){return pf(e,`yyyy-MM-dd`)}function hg(e){let t=pg(e);return t?pf(t,`dd.MM.yyyy`):``}function gg(e){if(!e)return``;let t=hg(e.slice(0,10));if(!t)return``;let n=e.slice(11,16);return n?`${t} ${n}`:t}function _g(e){return{date:e.slice(0,10),time:e.slice(11,16)}}function vg(e,t){return e?t?`${e}T${t}`:e:``}var yg=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/date-picker.tsx`;function bg({value:e,onChange:t,placeholder:n=`…`}){let[r,i]=(0,L.useState)(!1),a=pg(e);return(0,R.jsxDEV)(_e,{open:r,onOpenChange:i,children:[(0,R.jsxDEV)(he,{asChild:!0,children:(0,R.jsxDEV)(F,{variant:`outline`,className:`w-full justify-between px-3 font-normal`,children:[a?pf(a,`dd.MM.yyyy`):(0,R.jsxDEV)(`span`,{className:`text-muted-foreground`,children:n},void 0,!1,{fileName:yg,lineNumber:25,columnNumber:48},this),(0,R.jsxDEV)(k,{className:`size-4 shrink-0 opacity-50`},void 0,!1,{fileName:yg,lineNumber:26,columnNumber:11},this)]},void 0,!0,{fileName:yg,lineNumber:24,columnNumber:9},this)},void 0,!1,{fileName:yg,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(pe,{className:`w-auto overflow-hidden p-0`,align:`start`,children:(0,R.jsxDEV)(dg,{mode:`single`,selected:a,captionLayout:`dropdown`,defaultMonth:a,onSelect:e=>{t(e?mg(e):``),i(!1)}},void 0,!1,{fileName:yg,lineNumber:30,columnNumber:9},this)},void 0,!1,{fileName:yg,lineNumber:29,columnNumber:7},this)]},void 0,!0,{fileName:yg,lineNumber:22,columnNumber:5},this)}function xg(e){return Array.isArray(e)?e.map(e=>xg(e)):e instanceof Date?new re(e.getFullYear(),e.getMonth()+1,e.getDate()):ne(e)}var G=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/month-year-picker.tsx`,Sg=`z-50 w-72 rounded-xl border border-border bg-popover p-3 text-popover-foreground shadow-xl outline-hidden data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,Cg=`w-full table-fixed border-separate border-spacing-1`,wg=C(Qe({variant:`ghost`}),`w-full px-0 font-normal data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:hover:bg-primary`),Tg=C(Qe({variant:`ghost`,size:`icon`}),`size-7`);function Eg({withViewTrigger:e=!1}){return(0,R.jsxDEV)(M.ViewControl,{className:`flex items-center justify-between gap-1 pb-2`,children:[(0,R.jsxDEV)(M.PrevTrigger,{className:Tg,children:(0,R.jsxDEV)(gs,{className:`size-4`},void 0,!1,{fileName:G,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:28,columnNumber:7},this),e?(0,R.jsxDEV)(M.ViewTrigger,{className:C(Qe({variant:`ghost`,size:`sm`}),`h-7 text-sm font-medium`),children:(0,R.jsxDEV)(M.RangeText,{},void 0,!1,{fileName:G,lineNumber:35,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:32,columnNumber:9},this):(0,R.jsxDEV)(`span`,{className:`text-sm font-medium`,children:(0,R.jsxDEV)(M.RangeText,{},void 0,!1,{fileName:G,lineNumber:39,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:38,columnNumber:9},this),(0,R.jsxDEV)(M.NextTrigger,{className:Tg,children:(0,R.jsxDEV)(_s,{className:`size-4`},void 0,!1,{fileName:G,lineNumber:43,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:42,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:27,columnNumber:5},this)}function Dg(){return(0,R.jsxDEV)(M.Context,{children:e=>(0,R.jsxDEV)(M.Table,{className:Cg,children:(0,R.jsxDEV)(M.TableBody,{children:e.getYearsGrid({columns:4}).map((e,t)=>(0,R.jsxDEV)(M.TableRow,{children:e.map((e,t)=>(0,R.jsxDEV)(M.TableCell,{value:e.value,children:(0,R.jsxDEV)(M.TableCellTrigger,{className:wg,children:e.label},void 0,!1,{fileName:G,lineNumber:59,columnNumber:21},this)},t,!1,{fileName:G,lineNumber:58,columnNumber:19},this))},t,!1,{fileName:G,lineNumber:56,columnNumber:15},this))},void 0,!1,{fileName:G,lineNumber:54,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:53,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:51,columnNumber:5},this)}function Og(){return(0,R.jsxDEV)(M.Context,{children:e=>(0,R.jsxDEV)(M.Table,{className:Cg,children:(0,R.jsxDEV)(M.TableBody,{children:e.getMonthsGrid({columns:3,format:`short`}).map((e,t)=>(0,R.jsxDEV)(M.TableRow,{children:e.map((e,t)=>(0,R.jsxDEV)(M.TableCell,{value:e.value,children:(0,R.jsxDEV)(M.TableCellTrigger,{className:wg,children:e.label},void 0,!1,{fileName:G,lineNumber:81,columnNumber:21},this)},t,!1,{fileName:G,lineNumber:80,columnNumber:19},this))},t,!1,{fileName:G,lineNumber:78,columnNumber:15},this))},void 0,!1,{fileName:G,lineNumber:76,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:75,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:73,columnNumber:5},this)}function kg({display:e,placeholder:t}){return(0,R.jsxDEV)(M.Control,{className:`w-full`,children:(0,R.jsxDEV)(M.Trigger,{className:C(Qe({variant:`outline`}),`w-full justify-between px-3 font-normal`),children:[e||(0,R.jsxDEV)(`span`,{className:`text-muted-foreground`,children:t},void 0,!1,{fileName:G,lineNumber:97,columnNumber:21},this),(0,R.jsxDEV)(k,{className:`size-4 shrink-0 opacity-50`},void 0,!1,{fileName:G,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:G,lineNumber:96,columnNumber:7},this)},void 0,!1,{fileName:G,lineNumber:95,columnNumber:5},this)}function Ag({value:e,onChange:t,placeholder:n=`YYYY`}){let r=/^\d{4}$/.test(e)?[xg(`${e}-01-01`)]:[];return(0,R.jsxDEV)(M.Root,{value:r,onValueChange:e=>t(e.value[0]?String(e.value[0].year):``),defaultView:`year`,minView:`year`,children:[(0,R.jsxDEV)(kg,{display:e,placeholder:n},void 0,!1,{fileName:G,lineNumber:120,columnNumber:7},this),(0,R.jsxDEV)(j,{children:(0,R.jsxDEV)(M.Positioner,{children:(0,R.jsxDEV)(M.Content,{className:Sg,children:(0,R.jsxDEV)(M.View,{view:`year`,children:[(0,R.jsxDEV)(Eg,{},void 0,!1,{fileName:G,lineNumber:125,columnNumber:15},this),(0,R.jsxDEV)(Dg,{},void 0,!1,{fileName:G,lineNumber:126,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:124,columnNumber:13},this)},void 0,!1,{fileName:G,lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:122,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:121,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:114,columnNumber:5},this)}function jg({value:e,onChange:t,placeholder:n=`MM.YYYY`}){let r=/^(\d{4})-(\d{2})$/.exec(e),i=r?[xg(`${e}-01`)]:[];return(0,R.jsxDEV)(M.Root,{value:i,onValueChange:e=>{let n=e.value[0];t(n?`${n.year}-${String(n.month).padStart(2,`0`)}`:``)},defaultView:`month`,minView:`month`,children:[(0,R.jsxDEV)(kg,{display:r?`${r[2]}.${r[1]}`:``,placeholder:n},void 0,!1,{fileName:G,lineNumber:149,columnNumber:7},this),(0,R.jsxDEV)(j,{children:(0,R.jsxDEV)(M.Positioner,{children:(0,R.jsxDEV)(M.Content,{className:Sg,children:[(0,R.jsxDEV)(M.View,{view:`month`,children:[(0,R.jsxDEV)(Eg,{withViewTrigger:!0},void 0,!1,{fileName:G,lineNumber:154,columnNumber:15},this),(0,R.jsxDEV)(Og,{},void 0,!1,{fileName:G,lineNumber:155,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:153,columnNumber:13},this),(0,R.jsxDEV)(M.View,{view:`year`,children:[(0,R.jsxDEV)(Eg,{},void 0,!1,{fileName:G,lineNumber:158,columnNumber:15},this),(0,R.jsxDEV)(Dg,{},void 0,!1,{fileName:G,lineNumber:159,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:157,columnNumber:13},this)]},void 0,!0,{fileName:G,lineNumber:152,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:151,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:150,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:140,columnNumber:5},this)}var Mg=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/time-picker.tsx`,Ng=`TimePicker`,Pg=`TimePickerInputGroup`,Fg=`TimePickerInput`,Ig=`TimePickerTrigger`,Lg=`TimePickerContent`,Rg=`TimePickerColumn`,zg=`TimePickerColumnItem`,Bg=`TimePickerHour`,Vg=`TimePickerMinute`,Hg=`TimePickerSecond`,Ug=`TimePickerClear`,Wg=1,Gg=`--`,Kg=void 0,qg=[`hour`,`minute`,`second`,`period`];function Jg(e,t=!1){let n=document.activeElement;for(let r of e){let e=r.current;if(e&&(e===n||(e.focus({preventScroll:t}),document.activeElement!==n)))return}}function Yg(e){return e.sort((e,t)=>{let n=e.ref.current,r=t.ref.current;if(!n||!r)return 0;let i=n.compareDocumentPosition(r);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Xg(e){let t=new Date(2e3,0,1,13,0,0),n=new Intl.DateTimeFormat(e,{hour:`numeric`}).format(t);return/am|pm/i.test(n)||!n.includes(`13`)}function Zg(e){if(!e)return null;let t=e.split(`:`);if(t.length<2)return null;let n={};if(t[0]&&t[0]!==Gg){let e=Number.parseInt(t[0],10);!Number.isNaN(e)&&e>=0&&e<=23&&(n.hour=e)}if(t[1]&&t[1]!==Gg){let e=Number.parseInt(t[1],10);!Number.isNaN(e)&&e>=0&&e<=59&&(n.minute=e)}if(t[2]&&t[2]!==Gg){let e=Number.parseInt(t[2],10);!Number.isNaN(e)&&e>=0&&e<=59&&(n.second=e)}return n.hour===void 0&&n.minute===void 0&&n.second===void 0?null:n}function Qg(e,t){let n=e.hour===void 0?Gg:e.hour.toString().padStart(2,`0`),r=e.minute===void 0?Gg:e.minute.toString().padStart(2,`0`),i=e.second===void 0?Gg:e.second.toString().padStart(2,`0`);return t?`${n}:${r}:${i}`:`${n}:${r}`}function $g(e){let t=e>=12?`PM`:`AM`;return{hour:e%12||12,period:t}}function e_(e,t){return e===12?t===`PM`?12:0:t===`PM`?e+12:e}function t_(e,t,n){return Math.min(Math.max(e,t),n)}var n_=L.createContext(null);function r_(e){let t=L.useContext(n_);if(!t)throw Error(`\`${e}\` must be used within \`${Ng}\``);return t}function i_(e,t){let n=L.useContext(n_),r=t??n;if(!r)throw Error(`\`useStore\` must be used within \`${Ng}\``);let i=L.useCallback(()=>e(r.getState()),[r,e]);return L.useSyncExternalStore(r.subscribe,i,i)}var a_=L.createContext(null);function o_(e){let t=L.useContext(a_);if(!t)throw Error(`\`${e}\` must be used within \`${Ng}\``);return t}function s_(e){let{value:t,defaultValue:n,onValueChange:r,open:i,defaultOpen:a,onOpenChange:o,openOnFocus:s=!1,inputGroupClickAction:c=`focus`,min:l,max:u,hourStep:d=Wg,minuteStep:f=Wg,secondStep:p=Wg,segmentPlaceholder:m=Gg,locale:h=Kg,name:g,asChild:_,disabled:v=!1,invalid:y=!1,readOnly:b=!1,required:x=!1,showSeconds:S=!1,className:w,children:T,id:E,...D}=e,O=L.useId(),k=E??O,A=L.useId(),ee=L.useId(),te=L.useId(),ne=L.useRef(null),j=L.useRef(null),[M,re]=L.useState(null),N=!M||!!M.closest(`form`),ie=ou(()=>new Set),oe=ou(()=>({value:t??n??``,open:i??a??!1,openedViaFocus:!1})),se=au({onValueChange:r,onOpenChange:o}),ce=L.useMemo(()=>({subscribe:e=>(ie.current.add(e),()=>ie.current.delete(e)),getState:()=>oe.current,setState:(e,t)=>{Object.is(oe.current[e],t)||(e===`value`&&typeof t==`string`?(oe.current.value=t,se.current.onValueChange?.(t)):e===`open`&&typeof t==`boolean`?(oe.current.open=t,se.current.onOpenChange?.(t),t||(oe.current.openedViaFocus=!1)):oe.current[e]=t,ce.notify())},notify:()=>{for(let e of ie.current)e()}}),[ie,oe,se]),le=i_(e=>e.value,ce);iu(()=>{t!==void 0&&ce.setState(`value`,t)},[t]),iu(()=>{i!==void 0&&ce.setState(`open`,i)},[i]);let P=i_(e=>e.open,ce),ue=L.useCallback(e=>ce.setState(`open`,e),[ce]),de=L.useMemo(()=>Xg(h),[h]),fe=L.useMemo(()=>typeof m==`string`?{hour:m,minute:m,second:m,period:m}:{hour:m.hour??Gg,minute:m.minute??Gg,second:m.second??Gg,period:m.period??Gg},[m]),pe=L.useMemo(()=>({id:k,inputGroupId:A,labelId:ee,triggerId:te,inputGroupRef:ne,triggerRef:j,openOnFocus:s,inputGroupClickAction:c,onInputGroupChange:re,disabled:v,readOnly:b,required:x,invalid:y,showSeconds:S,is12Hour:de,minuteStep:f,secondStep:p,hourStep:d,segmentPlaceholder:fe,min:l,max:u}),[k,A,ee,te,s,c,v,b,x,y,S,de,f,p,d,fe,l,u]),me=_?ae:`div`;return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(n_.Provider,{value:ce,children:(0,R.jsxDEV)(a_.Provider,{value:pe,children:(0,R.jsxDEV)(_e,{open:P,onOpenChange:ue,children:(0,R.jsxDEV)(me,{"data-slot":`time-picker`,"data-disabled":v?``:void 0,"data-invalid":y?``:void 0,...D,className:C(`relative`,w),children:T},void 0,!1,{fileName:Mg,lineNumber:492,columnNumber:13},this)},void 0,!1,{fileName:Mg,lineNumber:491,columnNumber:11},this)},void 0,!1,{fileName:Mg,lineNumber:490,columnNumber:9},this)},void 0,!1,{fileName:Mg,lineNumber:489,columnNumber:7},this),N&&(0,R.jsxDEV)(ru,{type:`hidden`,control:M,name:g,value:le,disabled:v,readOnly:b,required:x},void 0,!1,{fileName:Mg,lineNumber:505,columnNumber:9},this)]},void 0,!0,{fileName:Mg,lineNumber:488,columnNumber:5},this)}var c_=L.createContext(null);function l_(e){let t=L.useContext(c_);if(!t)throw Error(`\`${e}\` must be used within \`${Pg}\``);return t}function u_(e){let{onPointerDown:t,onClick:n,asChild:r,className:i,style:a,ref:o,...s}=e,{inputGroupId:c,labelId:l,onInputGroupChange:u,disabled:d,readOnly:f,invalid:p,segmentPlaceholder:m,inputGroupRef:h,triggerRef:g,inputGroupClickAction:_}=o_(Pg),v=r_(Pg),y=Fs(o,h,u),b=L.useRef(new Map),x=L.useCallback((e,t)=>{b.current.set(e,t)},[]),S=L.useCallback(e=>{b.current.delete(e)},[]),w=L.useCallback(e=>{let t=[`hour`,`minute`,`second`,`period`],n=t.indexOf(e);if(n===-1||n===t.length-1)return null;for(let e=n+1;e<t.length;e++){let n=t[e];if(n){let e=b.current.get(n);if(e?.current)return e}}return null},[]),T=L.useCallback(e=>{if(t?.(e),d||f||e.defaultPrevented)return;let n=e.target;n.tagName===`INPUT`||n.closest(`input`)||g.current?.contains(n)||e.preventDefault()},[t,d,f,g]),E=L.useCallback(e=>{if(n?.(e),d||f||e.defaultPrevented)return;let t=e.target;if(!(t.tagName===`INPUT`||t.closest(`input`))&&!g.current?.contains(t))if(_===`open`)v.setState(`open`,!0);else{let e=document.activeElement;if(!(e&&e.tagName===`INPUT`&&h.current?.contains(e)))for(let e of qg){let t=b.current.get(e);if(t?.current){t.current.focus(),t.current.select();break}}}},[n,d,f,_,v,g,h]),D=L.useMemo(()=>({onInputRegister:x,onInputUnregister:S,getNextInput:w}),[x,S,w]),O=r?ae:`div`;return(0,R.jsxDEV)(c_.Provider,{value:D,children:(0,R.jsxDEV)(ye,{asChild:!0,children:(0,R.jsxDEV)(O,{role:`group`,id:c,"aria-labelledby":l,"data-slot":`time-picker-input-group`,"data-disabled":d?``:void 0,"data-invalid":p?``:void 0,...s,className:C(`flex h-10 w-full cursor-text items-center gap-0.5 rounded-md border border-input bg-background px-3 py-2 shadow-xs outline-none transition-shadow`,`has-[input:focus]:border-ring has-[input:focus]:ring-[3px] has-[input:focus]:ring-ring/50`,p&&`border-destructive ring-destructive/20`,d&&`cursor-not-allowed opacity-50`,i),style:{"--time-picker-hour-input-width":`${m.hour.length}ch`,"--time-picker-minute-input-width":`${m.minute.length}ch`,"--time-picker-second-input-width":`${m.second.length}ch`,"--time-picker-period-input-width":`${Math.max(m.period.length,2)+.5}ch`,...a},ref:y,onPointerDown:T,onClick:E},void 0,!1,{fileName:Mg,lineNumber:716,columnNumber:9},this)},void 0,!1,{fileName:Mg,lineNumber:715,columnNumber:7},this)},void 0,!1,{fileName:Mg,lineNumber:714,columnNumber:5},this)}function d_(e){let{segment:t,onBlur:n,onChange:r,onClick:i,onFocus:a,onKeyDown:o,disabled:s,readOnly:c,className:l,style:u,ref:d,...f}=e,{is12Hour:p,showSeconds:m,disabled:h,readOnly:g,segmentPlaceholder:_,openOnFocus:v}=o_(Fg),y=r_(Fg),b=l_(Fg),x=s||h,S=c||g,w=Zg(i_(e=>e.value)),T=L.useRef(null),E=Fs(d,T);iu(()=>{if(t)return b.onInputRegister(t,T),()=>b.onInputUnregister(t)},[b,t]);let D=L.useCallback(()=>{if(!w)return t?_[t]:``;switch(t){case`hour`:return w.hour===void 0?_.hour:p?$g(w.hour).hour.toString().padStart(2,`0`):w.hour.toString().padStart(2,`0`);case`minute`:return w.minute===void 0?_.minute:w.minute.toString().padStart(2,`0`);case`second`:return w.second===void 0?_.second:w.second.toString().padStart(2,`0`);case`period`:return!w||w.hour===void 0?_.period:$g(w.hour).period;default:return``}},[w,t,p,_]),[O,k]=L.useState(D()),[A,ee]=L.useState(!1),[te,ne]=L.useState(null);L.useEffect(()=>{A||(k(D()),ne(null))},[D,A]);let j=L.useCallback((e,n=!1)=>{let r=t?_[t]:Gg;if(!e||e===r||!w&&!n)return;let i={...w??{}};switch(t){case`hour`:{let t=Number.parseInt(e,10);if(!Number.isNaN(t))if(p){let e=t_(t,1,12),n;n=w?.period===void 0?w?.hour===void 0?$g(new Date().getHours()).period:$g(w.hour).period:w.period,i.hour=e_(e,n),w?.period!==void 0&&(i.period=w.period)}else i.hour=t_(t,0,23);break}case`minute`:{let t=Number.parseInt(e,10);Number.isNaN(t)||(i.minute=t_(t,0,59));break}case`second`:{let t=Number.parseInt(e,10);Number.isNaN(t)||(i.second=t_(t,0,59));break}case`period`:(e===`AM`||e===`PM`)&&(i.period=e,w&&w.hour!==void 0&&(i.hour=e_($g(w.hour).hour,e)));break}let a=Qg(i,m);y.setState(`value`,a)},[w,t,p,m,y,_]),M=L.useCallback(e=>{if(n?.(e),e.defaultPrevented)return;ee(!1);let r=t?_[t]:Gg;if(O&&O!==r&&O.length>0){let e=O;if(t!==`period`){if(O.length===2)e=O;else if(O.length===1){let t=Number.parseInt(O,10);Number.isNaN(t)||(e=t.toString().padStart(2,`0`))}}j(e,!0),queueMicrotask(()=>{let e=Zg(y.getState().value);if(e){let t=new Date,n={...e},r=!1;if(n.hour===void 0&&(n.hour=t.getHours(),r=!0),n.minute===void 0&&(n.minute=t.getMinutes(),r=!0),m&&n.second===void 0&&(n.second=t.getSeconds(),r=!0),r){let e=Qg(n,m);y.setState(`value`,e)}}})}k(D()),ne(null)},[n,O,j,D,t,_,m,y]),re=L.useCallback(e=>{if(r?.(e),e.defaultPrevented)return;let n=e.target.value,i=t?_[t]:Gg;if(O===i&&n.length>0&&n!==i&&(n=n.replace(RegExp(`^${i}`),``)),t===`period`){let e=n.charAt(0).toUpperCase(),t=null;e===`A`||e===`1`?t=`AM`:(e===`P`||e===`2`)&&(t=`PM`),t&&(k(t),j(t,!0),queueMicrotask(()=>{T.current?.select()}));return}if((t===`hour`||t===`minute`||t===`second`)&&(n=n.replace(/\D/g,``)),n.length>2&&(n=n.slice(0,2)),t===`hour`||t===`minute`||t===`second`){let e=Number.parseInt(n,10);if(!Number.isNaN(e)&&n.length>0){if(te!==null&&n.length===1){let e=te+n,r=Number.parseInt(e,10);if(!Number.isNaN(r)){let e=r.toString().padStart(2,`0`);k(e),j(e,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}});return}}let r=t===`hour`?p?1:2:5,i=Number.parseInt(n[0]??`0`,10)>r;if(n.length===1)if(i){let n=e.toString().padStart(2,`0`);k(n),j(n,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}})}else{let t=e.toString().padStart(2,`0`);k(t),ne(n),queueMicrotask(()=>{T.current?.select()})}else if(n.length===2){let n=e.toString().padStart(2,`0`);k(n),j(n,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}})}}else n.length===0&&(k(``),ne(null))}},[t,j,r,O,p,b,te,_]),N=L.useCallback(e=>{i?.(e),!e.defaultPrevented&&e.currentTarget.select()},[i]),ie=L.useCallback(e=>{a?.(e),!e.defaultPrevented&&(ee(!0),ne(null),v&&!y.getState().open&&(y.setState(`openedViaFocus`,!0),y.setState(`open`,!0)),queueMicrotask(()=>e.target.select()))},[a,v,y]),ae=L.useCallback(e=>{if(o?.(e),!e.defaultPrevented){if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`,n=T.current?.closest(`[data-slot="time-picker-input-group"]`);if(n&&T.current){let e=Array.from(n.querySelectorAll(`input[type="text"]`)),r=e.indexOf(T.current);if(r!==-1){let n=e[t?Math.max(0,r-1):Math.min(e.length-1,r+1)];n&&n!==T.current&&(n.focus(),n.select())}}return}if(e.key===`Backspace`||e.key===`Delete`){let n=T.current;if(n&&n.selectionStart===0&&n.selectionEnd===n.value.length){e.preventDefault();let n=t?_[t]:Gg;if(k(n),ne(null),w){let e={...w};switch(t){case`hour`:delete e.hour;break;case`minute`:delete e.minute;break;case`second`:delete e.second;break;case`period`:delete e.period;break}if(e.hour!==void 0||e.minute!==void 0||e.second!==void 0||e.period!==void 0){let t=Qg(e,m);y.setState(`value`,t)}else y.setState(`value`,``)}else y.setState(`value`,``);queueMicrotask(()=>{T.current?.select()});return}}if(t===`period`){let t=e.key.toLowerCase();if(t===`a`||t===`p`||t===`1`||t===`2`){e.preventDefault();let n;n=t===`a`||t===`1`?`AM`:`PM`,k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}else if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let t=_.period,n=O===t||O===``?`AM`:O,r=n===`AM`||n===`A`?`PM`:`AM`;k(r),j(r,!0),queueMicrotask(()=>{T.current?.select()})}return}if(e.key===`Tab`){let e=t?_[t]:Gg;if(O&&O.length>0&&O!==e){if(O.length===2)j(O,!0);else if(O.length===1){let e=Number.parseInt(O,10);if(!Number.isNaN(e)){let t=e.toString().padStart(2,`0`);j(t,!0)}}}return}if(e.key===`Enter`){e.preventDefault();let n=t?_[t]:Gg;if(O&&O.length>0&&O!==n){if(O.length===2)j(O,!0);else if(O.length===1){let e=Number.parseInt(O,10);if(!Number.isNaN(e)){let t=e.toString().padStart(2,`0`);j(t,!0)}}}queueMicrotask(()=>{T.current?.select()})}if(e.key===`Escape`&&(e.preventDefault(),k(D()),T.current?.blur()),e.key===`ArrowUp`){e.preventDefault();let n=t?_[t]:Gg;if(O===n||O===``){let e=(t===`hour`&&p?12:0).toString().padStart(2,`0`);k(e),j(e,!0),queueMicrotask(()=>{T.current?.select()});return}let r=Number.parseInt(O,10);if(!Number.isNaN(r)){let e;switch(t){case`hour`:e=p?r===12?1:r+1:r===23?0:r+1;break;case`minute`:case`second`:e=r===59?0:r+1;break;default:return}let n=e.toString().padStart(2,`0`);k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}}if(e.key===`ArrowDown`){e.preventDefault();let n=t?_[t]:Gg;if(O===n||O===``){let e=(t===`hour`?p?12:23:59).toString().padStart(2,`0`);k(e),j(e,!0),queueMicrotask(()=>{T.current?.select()});return}let r=Number.parseInt(O,10);if(!Number.isNaN(r)){let e;switch(t){case`hour`:e=p?r===1?12:r-1:r===0?23:r-1;break;case`minute`:case`second`:e=r===0?59:r-1;break;default:return}let n=e.toString().padStart(2,`0`);k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}}}},[o,O,t,p,D,j,m,w,y,_]),oe=A?O:D(),se=t?`var(--time-picker-${t}-input-width)`:`2ch`;return(0,R.jsxDEV)(`input`,{type:`text`,inputMode:t===`period`?`text`:`numeric`,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`,spellCheck:!1,translate:`no`,...f,disabled:x,readOnly:S,className:C(`inline-flex h-full items-center justify-center border-0 bg-transparent text-center text-sm tabular-nums outline-none transition-colors focus:bg-transparent disabled:cursor-not-allowed disabled:opacity-50`,l),style:{width:se,...u},ref:E,value:oe,onBlur:M,onChange:re,onClick:N,onFocus:ie,onKeyDown:ae},void 0,!1,{fileName:Mg,lineNumber:1408,columnNumber:5},this)}function f_(e){let{className:t,children:n,disabled:r,ref:i,...a}=e,{triggerId:o,disabled:s,triggerRef:c}=o_(Ig);return(0,R.jsxDEV)(he,{type:`button`,id:o,"data-slot":`time-picker-trigger`,disabled:r||s,ref:Fs(i,c),...a,className:C(`ml-auto flex items-center text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none [&>svg:not([class*='size-'])]:size-4`,t),children:n??(0,R.jsxDEV)(Oe,{},void 0,!1,{fileName:Mg,lineNumber:1464,columnNumber:20},this)},void 0,!1,{fileName:Mg,lineNumber:1452,columnNumber:5},this)}var p_=L.createContext(null);function m_(e){let t=L.useContext(p_);if(!t)throw Error(`\`${e}\` must be used within \`${Ng}\``);return t}function h_(e){let{side:t=`bottom`,align:n=`start`,sideOffset:r=6,className:i,onOpenAutoFocus:a,onInteractOutside:o,...s}=e,c=r_(Lg),{openOnFocus:l,inputGroupRef:u}=o_(Lg),d=L.useRef(new Map),f=L.useCallback(e=>{d.current.set(e.id,e)},[]),p=L.useCallback(e=>{d.current.delete(e)},[]),m=L.useCallback(()=>Yg(Array.from(d.current.entries()).map(([e,{ref:t,getSelectedItemRef:n,getItems:r}])=>({id:e,ref:t,getSelectedItemRef:n,getItems:r})).filter(e=>e.ref.current!==null)),[]),h=L.useMemo(()=>({getColumns:m,onColumnRegister:f,onColumnUnregister:p}),[m,f,p]),g=L.useCallback(e=>{if(a?.(e),e.defaultPrevented)return;e.preventDefault();let{openedViaFocus:t}=c.getState();if(t){c.setState(`openedViaFocus`,!1);return}let n=m()[0];if(!n)return;let r=n.getItems(),i=r.find(e=>e.selected);Jg(i?[i.ref,...r.map(e=>e.ref)]:r.map(e=>e.ref),!1)},[a,m,c]),_=L.useCallback(e=>{if(o?.(e),!e.defaultPrevented&&l&&u.current){let t=e.target;if(!(t instanceof Node))return;u.current.contains(t)&&e.preventDefault()}},[o,l,u]);return(0,R.jsxDEV)(p_.Provider,{value:h,children:(0,R.jsxDEV)(pe,{"data-slot":`time-picker-content`,side:t,align:n,sideOffset:r,...s,className:C(`flex w-auto max-w-(--radix-popover-trigger-width) p-0`,i),onOpenAutoFocus:g,onInteractOutside:_},void 0,!1,{fileName:Mg,lineNumber:1590,columnNumber:7},this)},void 0,!1,{fileName:Mg,lineNumber:1589,columnNumber:5},this)}var g_=L.createContext(null);function __(e){let t=L.useContext(g_);if(!t)throw Error(`\`${e}\` must be used within a column`);return t}function v_(e){let{children:t,className:n,ref:r,...i}=e,a=L.useId(),o=L.useRef(null),s=Fs(r,o),c=L.useRef(new Map),l=m_(Rg),u=L.useCallback((e,t,n)=>{c.current.set(e,{ref:t,selected:n})},[]),d=L.useCallback(e=>{c.current.delete(e)},[]),f=L.useCallback(()=>Yg(Array.from(c.current.entries()).map(([e,{ref:t,selected:n}])=>({value:e,ref:t,selected:n})).filter(e=>e.ref.current)),[]),p=L.useCallback(()=>f().find(e=>e.selected)?.ref??null,[f]);iu(()=>(l.onColumnRegister({id:a,ref:o,getSelectedItemRef:p,getItems:f}),()=>l.onColumnUnregister(a)),[l,a,p,f]);let m=L.useMemo(()=>({getItems:f,onItemRegister:u,onItemUnregister:d}),[f,u,d]);return(0,R.jsxDEV)(g_.Provider,{value:m,children:(0,R.jsxDEV)(`div`,{ref:s,"data-slot":`time-picker-column`,...i,className:C(`flex flex-col gap-1 not-last:border-r p-1`,n),children:t},void 0,!1,{fileName:Mg,lineNumber:1701,columnNumber:7},this)},void 0,!1,{fileName:Mg,lineNumber:1700,columnNumber:5},this)}function y_(e){let{value:t,selected:n=!1,format:r=`numeric`,className:i,ref:a,...o}=e,s=L.useRef(null),c=Fs(a,s),l=__(zg),u=m_(zg);iu(()=>(l.onItemRegister(t,s,n),()=>l.onItemUnregister(t)),[l,t,n]),iu(()=>{n&&s.current&&s.current.scrollIntoView({block:`nearest`})},[n]);let d=L.useCallback(e=>{o.onClick?.(e),!e.defaultPrevented&&s.current?.focus()},[o.onClick]),f=L.useCallback(e=>{if(o.onKeyDown?.(e),!e.defaultPrevented)if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let n=l.getItems().sort((e,t)=>typeof e.value==`number`&&typeof t.value==`number`?e.value-t.value:0),r=n.findIndex(e=>e.value===t),i;i=e.key===`ArrowUp`?r>0?r-1:n.length-1:r<n.length-1?r+1:0;let a=n[i];a?.ref.current?.focus(),a?.ref.current?.click()}else(e.key===`Tab`||e.key===`ArrowLeft`||e.key===`ArrowRight`)&&u&&(e.preventDefault(),queueMicrotask(()=>{let t=u.getColumns();if(t.length===0)return;let n=t.findIndex(e=>e.ref.current?.contains(s.current)??!1);if(n===-1)return;let r=t[e.key===`ArrowLeft`||e.key===`Tab`&&e.shiftKey?n>0?n-1:t.length-1:n<t.length-1?n+1:0];if(r?.ref.current){let e=r.getItems(),t=e.find(e=>e.selected);Jg(t?[t.ref,...e.map(e=>e.ref)]:e.map(e=>e.ref),!1)}}))},[o.onKeyDown,l,u,t]),p=typeof t==`number`&&r===`2-digit`?t.toString().padStart(2,`0`):t.toString();return(0,R.jsxDEV)(`button`,{type:`button`,...o,ref:c,"data-selected":n?``:void 0,className:C(`w-full rounded px-3 py-1.5 text-left text-sm hover:bg-accent hover:text-accent-foreground focus:border-ring focus:outline-none focus:ring-[3px] focus:ring-ring/50`,`data-selected:bg-primary data-selected:text-primary-foreground data-selected:hover:bg-primary data-selected:hover:text-primary-foreground`,i),onClick:d,onKeyDown:f,children:p},void 0,!1,{fileName:Mg,lineNumber:1834,columnNumber:5},this)}function b_(e){let{asChild:t,format:n=`numeric`,className:r,...i}=e,{is12Hour:a,hourStep:o,showSeconds:s}=o_(Bg),c=r_(Bg),l=Zg(i_(e=>e.value)),u=Array.from({length:Math.ceil(a?12/o:24/o)},(e,t)=>{if(a){let e=t*o%12;return e===0?12:e}return t*o}),d=L.useCallback(e=>{let t=new Date,n=l??{},r=e;if(a){let n;n=l?.period===void 0?l?.hour===void 0?$g(t.getHours()).period:$g(l.hour).period:l.period,r=e_(e,n)}let i={...n,hour:r};l&&l.period!==void 0&&(i.period=l.period),i.minute===void 0&&(i.minute=t.getMinutes()),s&&i.second===void 0&&(i.second=t.getSeconds());let o=Qg(i,s);c.setState(`value`,o)},[l,s,a,c]),f=new Date,p=l?.hour??f.getHours(),m=a?$g(p).hour:p;return(0,R.jsxDEV)(t?ae:v_,{"data-slot":`time-picker-hour`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:u.map(e=>(0,R.jsxDEV)(y_,{value:e,selected:m===e,format:n,onClick:()=>d(e)},e,!1,{fileName:Mg,lineNumber:1931,columnNumber:9},this))},void 0,!1,{fileName:Mg,lineNumber:1922,columnNumber:5},this)}function x_(e){let{asChild:t,format:n=`2-digit`,className:r,...i}=e,{minuteStep:a,showSeconds:o}=o_(Vg),s=r_(Vg),c=Zg(i_(e=>e.value)),l=Array.from({length:Math.ceil(60/a)},(e,t)=>t*a),u=L.useCallback(e=>{let t=new Date,n={...c??{},minute:e};n.hour===void 0&&(n.hour=t.getHours()),o&&n.second===void 0&&(n.second=t.getSeconds());let r=Qg(n,o);s.setState(`value`,r)},[c,o,s]),d=t?ae:v_,f=new Date,p=c?.minute??f.getMinutes();return(0,R.jsxDEV)(d,{"data-slot":`time-picker-minute`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:l.map(e=>(0,R.jsxDEV)(y_,{value:e,selected:p===e,format:n,onClick:()=>u(e)},e,!1,{fileName:Mg,lineNumber:1996,columnNumber:9},this))},void 0,!1,{fileName:Mg,lineNumber:1987,columnNumber:5},this)}function S_(e){let{asChild:t,format:n=`2-digit`,className:r,...i}=e,{secondStep:a}=o_(Hg),o=r_(Hg),s=Zg(i_(e=>e.value)),c=Array.from({length:Math.ceil(60/a)},(e,t)=>t*a),l=L.useCallback(e=>{let t=new Date,n={...s??{},second:e};n.hour===void 0&&(n.hour=t.getHours()),n.minute===void 0&&(n.minute=t.getMinutes());let r=Qg(n,!0);o.setState(`value`,r)},[s,o]),u=t?ae:v_,d=new Date,f=s?.second??d.getSeconds();return(0,R.jsxDEV)(u,{"data-slot":`time-picker-second`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:c.map(e=>(0,R.jsxDEV)(y_,{value:e,selected:f===e,format:n,onClick:()=>l(e)},e,!1,{fileName:Mg,lineNumber:2061,columnNumber:9},this))},void 0,!1,{fileName:Mg,lineNumber:2052,columnNumber:5},this)}function C_(e){let{asChild:t,children:n,...r}=e;return(0,R.jsxDEV)(t?ae:`span`,{"aria-hidden":`true`,"data-slot":`time-picker-separator`,...r,children:n??`:`},void 0,!1,{fileName:Mg,lineNumber:2144,columnNumber:5},this)}function w_(e){let{asChild:t,className:n,children:r,disabled:i,...a}=e,{disabled:o,readOnly:s}=o_(Ug),c=r_(Ug),l=i||o,u=L.useCallback(e=>{a.onClick?.(e),!e.defaultPrevented&&(e.preventDefault(),!(o||s)&&c.setState(`value`,``))},[a.onClick,o,s,c]);return(0,R.jsxDEV)(t?ae:`button`,{type:`button`,"data-slot":`time-picker-clear`,disabled:l,...a,className:C(`inline-flex items-center justify-center rounded-sm font-medium text-sm transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50`,n),onClick:u,children:r??`Clear`},void 0,!1,{fileName:Mg,lineNumber:2183,columnNumber:5},this)}var K=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/datetime.tsx`;function T_(e,t){return e.granularity??t}function E_(e,t=`minute`){let n=String(e??``);return t===`second`?n.length>19?n.slice(0,19):n:t===`hour`?n.length>13?n.slice(0,13):n:n.length>16?n.slice(0,16):n}function D_(e,t){return function(n){return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(je,{name:e,size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:K,lineNumber:68,columnNumber:9},this),(0,R.jsxDEV)(`span`,{children:t?t(String(n)):String(n)},void 0,!1,{fileName:K,lineNumber:69,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:67,columnNumber:7},this)}}function O_({value:e,format:t,icon:n}){return(0,R.jsxDEV)(ct,{items:kn(e,[]),content:D_(n,t),reserveEditor:!0},void 0,!1,{fileName:K,lineNumber:78,columnNumber:10},this)}function k_({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(O_,{value:t,icon:`lucide:calendar`},void 0,!1,{fileName:K,lineNumber:84,columnNumber:48},this):bt(t,t=>{let n=T_(e.hints,`day`);return(0,R.jsxDEV)(`span`,{children:n===`month`||n===`year`?String(t):hg(String(t))||String(t)},void 0,!1,{fileName:K,lineNumber:88,columnNumber:12},this)})}function A_({name:e,field:t,value:n,onChange:r}){let i=T_(t.hints,`day`),a=i===`month`?`month`:i===`year`?`number`:`date`;if(t.hints.multiple===!0)return(0,R.jsxDEV)(xt,{value:n,onChange:r,display:D_(`lucide:calendar`),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:a,value:e,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:102,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:97,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);return i===`year`?(0,R.jsxDEV)(Ag,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:123,columnNumber:28},this):i===`month`?(0,R.jsxDEV)(jg,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:124,columnNumber:29},this):(0,R.jsxDEV)(bg,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:125,columnNumber:10},this)}function j_(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:t=>(0,R.jsxDEV)(k_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:141,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(A_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:143,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:130,columnNumber:5},this)}function M_(e,t){if(e==null||e===``)return[];let n=T_(t.hints,`day`),r=String(e);return[{value:r,rawValue:e,label:n===`year`||n===`month`?r:hg(r)||r}]}I({kinds:[`date`],Page:j_,keys:M_});var N_={hour:/^([01]\d|2[0-3])$/,minute:/^([01]\d|2[0-3]):[0-5]\d$/,second:/^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$/};function P_({field:e,value:t}){return e.hints.multiple!==!0&&(t==null||t===``)?(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:K,lineNumber:177,columnNumber:83},this):e.hints.multiple===!0?(0,R.jsxDEV)(O_,{value:t,icon:`lucide:clock`},void 0,!1,{fileName:K,lineNumber:179,columnNumber:5},this):(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:String(t)},void 0,!1,{fileName:K,lineNumber:181,columnNumber:5},this)}function F_({name:e,field:t,value:n,onChange:r}){let i=T_(t.hints,`second`),a=i===`second`?1:i===`minute`?60:3600;if(t.hints.multiple===!0)return(0,R.jsxDEV)(xt,{value:n,onChange:r,validate:e=>N_[i]?.test(e)??!1,display:D_(`lucide:clock`),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`time`,step:a,value:e,onChange:e=>t(e.target.value),className:`w-36`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:191,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);if(i===`hour`)return(0,R.jsxDEV)(E,{id:e,type:`time`,step:a,value:o,onChange:e=>r(e.target.value),className:`appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none`},void 0,!1,{fileName:K,lineNumber:222,columnNumber:7},this);let s=i===`second`;return(0,R.jsxDEV)(s_,{value:o,onValueChange:r,showSeconds:s,children:[(0,R.jsxDEV)(u_,{id:e,children:[(0,R.jsxDEV)(d_,{segment:`hour`},void 0,!1,{fileName:K,lineNumber:237,columnNumber:9},this),(0,R.jsxDEV)(C_,{},void 0,!1,{fileName:K,lineNumber:238,columnNumber:9},this),(0,R.jsxDEV)(d_,{segment:`minute`},void 0,!1,{fileName:K,lineNumber:239,columnNumber:9},this),s&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(C_,{},void 0,!1,{fileName:K,lineNumber:242,columnNumber:13},this),(0,R.jsxDEV)(d_,{segment:`second`},void 0,!1,{fileName:K,lineNumber:243,columnNumber:13},this)]},void 0,!0,{fileName:K,lineNumber:241,columnNumber:11},this),(0,R.jsxDEV)(f_,{},void 0,!1,{fileName:K,lineNumber:246,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:236,columnNumber:7},this),(0,R.jsxDEV)(h_,{children:[(0,R.jsxDEV)(b_,{},void 0,!1,{fileName:K,lineNumber:249,columnNumber:9},this),(0,R.jsxDEV)(x_,{},void 0,!1,{fileName:K,lineNumber:250,columnNumber:9},this),s&&(0,R.jsxDEV)(S_,{},void 0,!1,{fileName:K,lineNumber:251,columnNumber:25},this),(0,R.jsxDEV)(w_,{},void 0,!1,{fileName:K,lineNumber:252,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:248,columnNumber:7},this)]},void 0,!0,{fileName:K,lineNumber:235,columnNumber:5},this)}function I_(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-32`,bare:e.bare,view:t=>(0,R.jsxDEV)(P_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:271,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(F_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:273,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:260,columnNumber:5},this)}I({kinds:[`time`],Page:I_});var L_={hour:/^\d{4}-\d{2}-\d{2}T([01]\d|2[0-3])$/,minute:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/,second:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/};function R_({field:e,value:t}){if(e.hints.multiple!==!0&&(t==null||t===``))return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:K,lineNumber:298,columnNumber:83},this);let n=T_(e.hints,`minute`);return e.hints.multiple===!0?(0,R.jsxDEV)(O_,{value:t,icon:`lucide:calendar-clock`,format:e=>E_(e,n).replace(`T`,` `)},void 0,!1,{fileName:K,lineNumber:301,columnNumber:5},this):(0,R.jsxDEV)(`span`,{children:gg(E_(t,n))},void 0,!1,{fileName:K,lineNumber:303,columnNumber:5},this)}function z_({name:e,field:t,value:n,onChange:r}){let i=T_(t.hints,`minute`),a=i===`second`?1:i===`hour`?3600:60;if(t.hints.multiple===!0)return(0,R.jsxDEV)(xt,{value:n,onChange:r,validate:e=>L_[i]?.test(e)??!1,display:D_(`lucide:calendar-clock`,e=>E_(e,i).replace(`T`,` `)),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`datetime-local`,step:a,value:e,onChange:e=>t(e.target.value),className:`w-52`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:319,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:313,columnNumber:7},this);let{date:o,time:s}=_g(E_(n,i));return(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(bg,{value:o,onChange:e=>r(vg(e,s||`00:00`))},void 0,!1,{fileName:K,lineNumber:340,columnNumber:7},this),(0,R.jsxDEV)(E,{id:e,type:`time`,step:a,value:s,onChange:e=>r(vg(o,e.target.value)),className:`w-32 appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none`},void 0,!1,{fileName:K,lineNumber:341,columnNumber:7},this)]},void 0,!0,{fileName:K,lineNumber:339,columnNumber:5},this)}function B_(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(R_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:366,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(z_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:368,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:355,columnNumber:5},this)}function V_({value:e,field:t}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:gg(E_(e,T_(t.hints,`minute`)))},void 0,!1,{fileName:K,lineNumber:381,columnNumber:10},this)}function H_(e,t){if(e==null||e===``)return[];let n=E_(e,T_(t.hints,`minute`));return[{value:n,rawValue:e,label:gg(n)}]}I({kinds:[`datetime`],Page:B_,Inline:V_,keys:H_});var U_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/checkbox.tsx`,W_=L.forwardRef(({className:e,...t},n)=>(0,R.jsxDEV)(te,{ref:n,className:C(`peer h-4.5 w-4.5 shrink-0 rounded border border-input bg-background ring-offset-background transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,R.jsxDEV)(se,{className:C(`flex items-center justify-center text-current`),children:(0,R.jsxDEV)(Ze,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:U_,lineNumber:21,columnNumber:7},void 0)},void 0,!1,{fileName:U_,lineNumber:20,columnNumber:5},void 0)},void 0,!1,{fileName:U_,lineNumber:10,columnNumber:3},void 0));W_.displayName=te.displayName;var G_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/select-combobox.tsx`;function K_({it:e}){return e.node?(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.node},void 0,!1,{fileName:G_,lineNumber:37,columnNumber:23},this):(0,R.jsxDEV)(R.Fragment,{children:[e.icon&&(0,R.jsxDEV)(lc,{icon:e.icon,size:`xs`},void 0,!1,{fileName:G_,lineNumber:40,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 truncate`,children:e.title},void 0,!1,{fileName:G_,lineNumber:41,columnNumber:7},this),e.subtitle&&e.subtitle!==e.title&&(0,R.jsxDEV)(`span`,{className:`text-muted text-xs shrink-0`,children:e.subtitle},void 0,!1,{fileName:G_,lineNumber:42,columnNumber:51},this)]},void 0,!0,{fileName:G_,lineNumber:39,columnNumber:5},this)}function q_({value:e,onChange:t,items:n,placeholder:r}){let i=L.useMemo(()=>new Map(n.map(e=>[e.value,e])),[n]),[a,o]=L.useState(``),s=L.useMemo(()=>{let e=a.trim().toLowerCase();return e?n.filter(t=>t.title.toLowerCase().includes(e)||(t.subtitle?.toLowerCase().includes(e)??!1)):n},[a,n]),c=i.get(e);return(0,R.jsxDEV)(Wn,{items:s.map(e=>e.value),value:e||null,onValueChange:e=>t(e??``),itemToStringLabel:e=>i.get(e)?.title??e,children:[(0,R.jsxDEV)(Rn,{render:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,className:`w-full justify-between gap-2 px-2 font-normal`},void 0,!1,{fileName:G_,lineNumber:79,columnNumber:11},this),children:[c?(0,R.jsxDEV)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:(0,R.jsxDEV)(K_,{it:c},void 0,!1,{fileName:G_,lineNumber:88,columnNumber:13},this)},void 0,!1,{fileName:G_,lineNumber:87,columnNumber:11},this):(0,R.jsxDEV)(`span`,{className:`truncate text-muted-foreground`,children:r},void 0,!1,{fileName:G_,lineNumber:91,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`sr-only`,children:(0,R.jsxDEV)(Bn,{},void 0,!1,{fileName:G_,lineNumber:94,columnNumber:11},this)},void 0,!1,{fileName:G_,lineNumber:93,columnNumber:9},this)]},void 0,!0,{fileName:G_,lineNumber:77,columnNumber:7},this),(0,R.jsxDEV)(Vn,{className:`w-(--anchor-width) min-w-52`,children:[(0,R.jsxDEV)(zn,{placeholder:r,value:a,onChange:e=>o(e.target.value),showTrigger:!1},void 0,!1,{fileName:G_,lineNumber:98,columnNumber:9},this),(0,R.jsxDEV)(Un,{children:`—`},void 0,!1,{fileName:G_,lineNumber:104,columnNumber:9},this),(0,R.jsxDEV)(Hn,{children:s.map(e=>(0,R.jsxDEV)(Ln,{value:e.value,className:`flex items-center gap-2.5`,children:(0,R.jsxDEV)(K_,{it:e},void 0,!1,{fileName:G_,lineNumber:108,columnNumber:15},this)},e.value,!1,{fileName:G_,lineNumber:107,columnNumber:13},this))},void 0,!1,{fileName:G_,lineNumber:105,columnNumber:9},this)]},void 0,!0,{fileName:G_,lineNumber:97,columnNumber:7},this)]},void 0,!0,{fileName:G_,lineNumber:71,columnNumber:5},this)}function J_({selected:e,onChange:t,items:n,placeholder:r,labelOf:i,chipClassName:a,chipStyle:o}){let s=L.useMemo(()=>new Map(n.map(e=>[e.value,e])),[n]),c=n.filter(t=>!e.includes(t.value)),l=e=>i?.(e)??s.get(e)?.title??e;return(0,R.jsxDEV)(ct,{items:e,content:e=>{let t=s.get(String(e));return(0,R.jsxDEV)(R.Fragment,{children:[t?.icon&&(0,R.jsxDEV)(lc,{icon:t.icon,size:`xs`},void 0,!1,{fileName:G_,lineNumber:148,columnNumber:26},this),l(String(e))]},void 0,!0,{fileName:G_,lineNumber:147,columnNumber:11},this)},chipClassName:a?e=>a(String(e)):void 0,chipStyle:o?e=>o(String(e)):void 0,onRemove:n=>t(e.filter((e,t)=>t!==n)),editor:c.length>0?(0,R.jsxDEV)(q_,{value:``,onChange:n=>n&&t([...e,n]),items:c,placeholder:r},void 0,!1,{fileName:G_,lineNumber:158,columnNumber:11},this):null},void 0,!1,{fileName:G_,lineNumber:142,columnNumber:5},this)}var Y_=8;function X_(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return`var(--cat-${Math.abs(t)%Y_+1})`}var Z_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/record-save-ctx.tsx`,Q_=(0,L.createContext)(null);function $_({children:e}){let{t}=a(),[n,r]=(0,L.useState)(0),i=(0,L.useCallback)(async e=>{let n=y.loading(t(`save.saving`));r(e=>e+1);try{let r=await e(),i=typeof r==`string`?r:void 0;return i?y.error(i,{id:n}):y.success(t(`save.done`),{id:n}),i}catch{return y.error(t(`save.failed`),{id:n}),t(`save.failed`)}finally{r(e=>e-1)}},[t]),o=(0,L.useMemo)(()=>({saving:n>0,run:i}),[n,i]);return(0,R.jsxDEV)(Q_.Provider,{value:o,children:e},void 0,!1,{fileName:Z_,lineNumber:40,columnNumber:10},this)}var ev={saving:!1,run:async e=>{let t=await e();return typeof t==`string`?t:void 0}};function tv(){return(0,L.useContext)(Q_)??ev}var nv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/choice.tsx`;function rv(e,t){let n=e.hints.source;return t??(e.options?.length?e.options:n?Re(n):[])}function iv({field:e,value:t,onChange:n,selectOptions:r,excludeValues:i}){let{t:o}=a();if(e.hints.multiple===!0){let i=ft(rv(e,r),o);return(0,R.jsxDEV)(J_,{selected:(Array.isArray(t)?t:kn(t,[])).map(String),items:i,onChange:e=>n(e),placeholder:o(`form.search`),chipClassName:()=>`cat-chip`,chipStyle:e=>({"--cat":X_(e)})},void 0,!1,{fileName:nv,lineNumber:53,columnNumber:7},this)}let s=rv(e,r);return i?.length&&(s=s.filter(e=>e.value===t||!i.includes(e.value))),(0,R.jsxDEV)(q_,{value:typeof t==`string`?t:``,onChange:n,items:ft(s,o),placeholder:o(`form.search`)},void 0,!1,{fileName:nv,lineNumber:65,columnNumber:10},this)}function av({field:e,value:t}){let{t:n}=a(),r=rv(e);if(e.hints.multiple===!0)return(0,R.jsxDEV)(ct,{items:kn(t,[]),content:e=>{let t=r.find(t=>t.value===String(e));return(0,R.jsxDEV)(R.Fragment,{children:[t?.icon&&(0,R.jsxDEV)(lc,{icon:t.icon,size:`xs`},void 0,!1,{fileName:nv,lineNumber:80,columnNumber:29},this),(0,R.jsxDEV)(`span`,{children:t?n(t.title):String(e)},void 0,!1,{fileName:nv,lineNumber:81,columnNumber:15},this)]},void 0,!0,{fileName:nv,lineNumber:79,columnNumber:13},this)},chipClassName:()=>`cat-chip`,chipStyle:e=>({"--cat":X_(String(e))}),reserveEditor:!0},void 0,!1,{fileName:nv,lineNumber:74,columnNumber:7},this);if(t==null||t===``)return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:nv,lineNumber:91,columnNumber:45},this);let i=String(t),o=r.find(e=>e.value===i),s=o?n(o.title):i;return(0,R.jsxDEV)(`span`,{className:`flex w-full min-w-0 items-center gap-1.5 pr-6`,children:[o?.icon&&(0,R.jsxDEV)(lc,{icon:o.icon,size:`xs`},void 0,!1,{fileName:nv,lineNumber:97,columnNumber:21},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 truncate`,children:s},void 0,!1,{fileName:nv,lineNumber:98,columnNumber:7},this),o?.subtitle&&o.subtitle!==s&&(0,R.jsxDEV)(`span`,{className:`text-muted text-xs shrink-0`,children:o.subtitle},void 0,!1,{fileName:nv,lineNumber:100,columnNumber:9},this)]},void 0,!0,{fileName:nv,lineNumber:96,columnNumber:5},this)}function ov(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(av,{field:e.field,value:t},void 0,!1,{fileName:nv,lineNumber:119,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(iv,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n,selectOptions:e.selectOptions,excludeValues:e.excludeValues},void 0,!1,{fileName:nv,lineNumber:121,columnNumber:9},this)},void 0,!1,{fileName:nv,lineNumber:108,columnNumber:5},this)}function sv({value:e,field:t}){let{t:n}=a(),r=t.options??[];if(t.hints.multiple===!0){let t=(Array.isArray(e)?e:kn(e,[])).map(String);return t.length?(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.map(e=>ku(n,{options:r},e)).join(`, `)},void 0,!1,{fileName:nv,lineNumber:140,columnNumber:12},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:nv,lineNumber:139,columnNumber:31},this)}return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?.length?ku(n,{options:r},e):String(e??``)},void 0,!1,{fileName:nv,lineNumber:143,columnNumber:5},this)}function cv(e,t,n){if(e==null||e===``)return[];let r=String(e),i=ku(n.t,{options:t.options},r);return[{value:r,rawValue:e,label:i,sort:i}]}I({kinds:[`select`],Page:ov,Inline:sv,keys:cv});function lv(e){let{saving:t}=tv(),n=Nn(e.value);return e.bare?(0,R.jsxDEV)(W_,{checked:n,disabled:t,onCheckedChange:t=>e.onChange?.(t===!0)},void 0,!1,{fileName:nv,lineNumber:167,columnNumber:22},this):(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(Lt,{label:e.label,required:e.required},void 0,!1,{fileName:nv,lineNumber:170,columnNumber:33},this),(0,R.jsxDEV)(W_,{checked:n,disabled:t,onCheckedChange:t=>e.onChange?.(t===!0)},void 0,!1,{fileName:nv,lineNumber:171,columnNumber:7},this),(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:nv,lineNumber:172,columnNumber:7},this)]},void 0,!0,{fileName:nv,lineNumber:169,columnNumber:5},this)}function uv({value:e}){return(0,R.jsxDEV)(`span`,{children:Nn(e)?(0,R.jsxDEV)(je,{name:`lucide:check`,size:14,className:`inline text-accent`},void 0,!1,{fileName:nv,lineNumber:178,columnNumber:36},this):`—`},void 0,!1,{fileName:nv,lineNumber:178,columnNumber:10},this)}function dv(e,t,n){if(e==null||e===``)return[];let r=Ou(e);return[{value:r?`true`:`false`,rawValue:r,label:r?n.t(`group.yes`):n.t(`group.no`)}]}I({kinds:[`boolean`],Page:lv,Inline:uv,keys:dv});var fv=new Map,pv=new Map,mv=new Map;function hv(e,t,n){for(let r of n)pv.set(`${e}/${t}/${String(r.id)}`,r)}var gv=new Map;function _v(e,t,n){let r=`${e}/${t}/${n}`,i=gv.get(r);if(i)return i;let a=tr(e,t,{id:n}).then(n=>(hv(e,t,n),n)).finally(()=>gv.delete(r));return gv.set(r,a),a}function vv(e,t){let n=`${e}/${t}`,r=mv.get(n);if(r)return Promise.resolve(r);let i=fv.get(n);if(i)return i;let a=tr(e,t).then(r=>(hv(e,t,r),mv.set(n,r),r)).finally(()=>fv.delete(n));return fv.set(n,a),a}function yv(e,t,n=`name`){let[r,i]=(0,L.useState)([]),[a,o]=(0,L.useState)(`loading`);(0,L.useEffect)(()=>{if(!e||!t){o(`idle`);return}let n=!0;return o(`loading`),vv(e,t).then(e=>{n&&(i(e),o(`idle`))}).catch(()=>{n&&o(`error`)}),()=>{n=!1}},[e,t]);let s=(0,L.useMemo)(()=>{let i=Ne(e,t);return r.map(e=>({id:String(e.id),label:i?pn(i,e):String(e[n]??e.name??e.id)}))},[r,e,t,n]);return{rows:s,labelMap:(0,L.useMemo)(()=>new Map(s.map(e=>[e.id,e.label])),[s]),records:r,recordMap:(0,L.useMemo)(()=>new Map(r.map(e=>[String(e.id),e])),[r]),loadState:a}}function bv(e,t,n){let r=(0,L.useMemo)(()=>[...new Set(n)].sort().join(`,`),[n]),[i,a]=(0,L.useState)(new Map);return(0,L.useEffect)(()=>{if(!e||!t||!r){a(new Map);return}let n=new Map,i=[];for(let a of r.split(`,`)){let r=pv.get(`${e}/${t}/${a}`);r?n.set(a,r):i.push(a)}if(!i.length){a(n);return}let o=!0;return _v(e,t,i.join(`,`)).then(e=>{for(let t of e)n.set(String(t.id),t);o&&a(new Map(n))}).catch(()=>{o&&a(n)}),()=>{o=!1}},[e,t,r]),i}function xv(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e),n=Array.isArray(t)?t[0]:t;return n&&typeof n==`object`&&typeof n.name==`string`?n.name:typeof n==`string`?n:void 0}catch{return e}}function Sv(e,t){for(let[n,r]of ln(e.fields))if(n===t)return r.kind}function Cv(e,t,n){let r=Sv(e,t);if(r&&nn(r)){let e=xv(n[t]);return e?{kind:`image`,value:lr(e)}:void 0}}function wv(e,t){let n=e.views?.select;if(n){let r=Array.isArray(n.title)?n.title:[n.title];return{icon:n.icon?Cv(e,n.icon,t):void 0,title:r.map(e=>String(t[e]??``)).filter(Boolean).join(` `),subtitle:n.subtitle&&String(t[n.subtitle]??``)||void 0}}let r=sn(e),i=r?xv(t[r]):void 0;return{icon:i?{kind:`image`,value:lr(i)}:void 0,title:pn(e,t)}}var Tv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/LookupBadge.tsx`;function Ev(e){let t=typeof e==`string`?kn(e,null):e;return t&&typeof t.value==`number`&&typeof t.unit==`string`?t:null}function Dv(e,t,n){let r=n.find(e=>e.value===t);return r?e(r.label):t}function Ov({lookupField:e,row:t,subs:n}){let{t:r}=a(),i=String(e.hints.from??``),o=e.hints.pick??[],s=e.hints.compareWith??null,c=n.find(e=>e.key===i),l=c?.relation?.library??``,u=c?.relation?.shelf??``,{recordMap:d,loadState:f}=yv(l,u),p=t[i]??``,m=p?d.get(p):void 0;if(f===`loading`||!m)return null;let h=Ne(l,u),g=(h&&o[0]?fn(h.fields)[o[0]]:void 0)?.hints.units,_=Ht(g||`cooking`)??[],v=o.map(e=>({key:e,raw:m[e]})).filter(e=>e.raw!=null&&e.raw!==``),y=null,b=v.length?Ev(v[0].raw):null;if(s&&b){let e=t[s],n=Ev(e),r=n?n.unit===b.unit?n.value:null:e!==``&&e!=null&&!Number.isNaN(Number(e))?Number(e):null;r==null?b.value<=0&&(y=`missing`):y=b.value>=r?`enough`:b.value>0?`partial`:`missing`}let x=v.map(({raw:e})=>{let t=Ev(e);return t?`${t.value} ${Dv(r,t.unit,_)}`:String(e)}).join(` · `),S=y===`enough`?`bg-success/15 text-success border-success/30`:y===`partial`?`bg-warning/15 text-warning border-warning/30`:y===`missing`?`bg-danger/15 text-danger border-danger/30`:`bg-accent/10 text-muted border-border`,C=y===`enough`?`lucide:check`:y===`partial`?`lucide:minus`:y===`missing`?`lucide:x`:null;return(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-1 text-xs px-2 py-0.5 rounded-full border whitespace-nowrap ${S}`,title:y?r(`core.lookup.${y}`):void 0,children:[C&&(0,R.jsxDEV)(je,{name:C,size:12},void 0,!1,{fileName:Tv,lineNumber:106,columnNumber:20},this),` `,x||r(`core.lookup.noData`)]},void 0,!0,{fileName:Tv,lineNumber:102,columnNumber:5},this)}var kv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/RecordInline.tsx`;function Av(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e),n=Array.isArray(t)?t[0]:t;return n&&typeof n==`object`&&typeof n.name==`string`?n.name:typeof n==`string`?n:void 0}catch{return e}}function jv({shelf:e,row:t,size:n=`md`,height:r,className:i}){let a=pn(e,t),o=sn(e),s=o?Av(t[o]):void 0,c=s?{kind:`image`,value:lr(s)}:{kind:`icon`,value:e.icon??`lucide:square`};return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-2 ${i??``}`,style:r?{height:r,minHeight:r}:void 0,children:[o&&(0,R.jsxDEV)(lc,{icon:c,size:n===`sm`?`md`:`lg`,framed:!0},void 0,!1,{fileName:kv,lineNumber:55,columnNumber:18},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:a},void 0,!1,{fileName:kv,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:kv,lineNumber:51,columnNumber:5},this)}var Mv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/display.tsx`;function Nv({checked:e,onToggle:t,disabled:n}){let r=`w-4 h-4 rounded border shrink-0 inline-flex items-center justify-center transition-colors ${e?`bg-accent/20 border-accent/50 text-accent`:`border-border`}`,i=e?(0,R.jsxDEV)(Ze,{size:11,strokeWidth:3},void 0,!1,{fileName:Mv,lineNumber:76,columnNumber:27},this):null;return t?(0,R.jsxDEV)(`button`,{type:`button`,"aria-pressed":e,disabled:n,onClick:t,className:`${r} cursor-pointer hover:border-accent/40 disabled:opacity-50 disabled:cursor-not-allowed`,children:i},void 0,!1,{fileName:Mv,lineNumber:79,columnNumber:7},this):(0,R.jsxDEV)(`span`,{className:r,children:i},void 0,!1,{fileName:Mv,lineNumber:90,columnNumber:10},this)}function Pv({row:e,slotCount:t,numbered:n,editing:r,onToggle:i,onChange:a,onRemove:o,reserve:s,disabled:c}){let l=Array.from({length:t},(t,n)=>!!(e.checks??[])[n]),u=l.length>0&&l.every(Boolean);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2.5 min-w-0 text-sm`,children:[l.map((t,o)=>(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5`,children:[n&&(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted tabular-nums`,children:lt(o)},void 0,!1,{fileName:Mv,lineNumber:136,columnNumber:24},this),r?(0,R.jsxDEV)(W_,{checked:t,onCheckedChange:t=>a?.({...e,checks:l.map((e,n)=>n===o?t===!0:e)})},void 0,!1,{fileName:Mv,lineNumber:138,columnNumber:13},this):(0,R.jsxDEV)(Nv,{checked:t,onToggle:i?()=>i(o):void 0,disabled:c},void 0,!1,{fileName:Mv,lineNumber:143,columnNumber:13},this)]},o,!0,{fileName:Mv,lineNumber:135,columnNumber:9},this)),r?(0,R.jsxDEV)(E,{value:e.text,className:`h-auto min-w-0 flex-1 border-0 bg-transparent p-0 text-sm shadow-none focus-visible:ring-0`,onChange:t=>a?.({...e,text:t.target.value})},void 0,!1,{fileName:Mv,lineNumber:149,columnNumber:9},this):(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 ${u?`line-through text-muted`:`text-text`}`,children:e.text},void 0,!1,{fileName:Mv,lineNumber:155,columnNumber:9},this),(r?!!o:s)&&(0,R.jsxDEV)(mt,{onRemove:r?o:void 0},void 0,!1,{fileName:Mv,lineNumber:157,columnNumber:51},this)]},void 0,!0,{fileName:Mv,lineNumber:133,columnNumber:5},this)}function Fv({value:e,onChange:t,slots:n=[],disabled:r}){let i=gt(e,n.length);if(!i.text&&!i.checks.some(Boolean))return(0,R.jsxDEV)(`div`,{className:`flex text-sm`,children:(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Mv,lineNumber:177,columnNumber:84},this)},void 0,!1,{fileName:Mv,lineNumber:177,columnNumber:54},this);let a=t?e=>t(St({...i,checks:i.checks.map((t,n)=>n===e?!t:t)})):void 0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:(0,R.jsxDEV)(Pv,{row:i,slotCount:n.length,numbered:yt(n.length),onToggle:a,disabled:r},void 0,!1,{fileName:Mv,lineNumber:184,columnNumber:9},this)},void 0,!1,{fileName:Mv,lineNumber:183,columnNumber:7},this),(0,R.jsxDEV)(vt,{slots:n},void 0,!1,{fileName:Mv,lineNumber:186,columnNumber:7},this)]},void 0,!0,{fileName:Mv,lineNumber:182,columnNumber:5},this)}function Iv({value:e,onChange:t,slots:n=[],disabled:r}){let i=kn(e,[]).filter(e=>e&&(e.text||(e.checks??[]).some(Boolean)));if(!i.length)return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Mv,lineNumber:204,columnNumber:28},this);let a=t?(e,n)=>t(i.map((t,r)=>r===e?{...t,checks:(t.checks??[]).map((e,t)=>t===n?!e:e)}:t)):void 0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:i.map((e,t)=>(0,R.jsxDEV)(Pv,{row:e,slotCount:n.length,numbered:yt(n.length),onToggle:a?e=>a(t,e):void 0,reserve:!0,disabled:r},t,!1,{fileName:Mv,lineNumber:217,columnNumber:11},this))},void 0,!1,{fileName:Mv,lineNumber:215,columnNumber:7},this),(0,R.jsxDEV)(vt,{slots:n},void 0,!1,{fileName:Mv,lineNumber:228,columnNumber:7},this)]},void 0,!0,{fileName:Mv,lineNumber:214,columnNumber:5},this)}function Lv({field:e,value:t}){let n=e.relation?.library??``,r=e.relation?.shelf??``,i=e.hints.multi?kn(t,[]):ut(t)?[String(t)]:[],a=bv(n,r,i),o=Ne(n,r);return i.length?(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:i.map(e=>{let t=a.get(e);return(0,R.jsxDEV)(m,{to:`/${n}/${r}/${e}`,className:`inline-flex items-center gap-1.5 min-h-9 text-accent border border-transparent rounded-lg px-3 text-sm hover:text-accent2 transition-colors`,children:o&&t?(0,R.jsxDEV)(jv,{shelf:o,row:t,size:`sm`,height:28},void 0,!1,{fileName:Mv,lineNumber:254,columnNumber:25},this):pt(e)},e,!1,{fileName:Mv,lineNumber:249,columnNumber:11},this)})},void 0,!1,{fileName:Mv,lineNumber:245,columnNumber:5},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Mv,lineNumber:243,columnNumber:27},this)}function Rv(e,t,n){let r=(Ht(e.hints.units)??[]).find(e=>e.value===t);return r?n(r.label):t}function zv(e,t){return n=>{let r=n&&typeof n==`object`?n:(()=>{try{return JSON.parse(String(n))}catch{return null}})();if(r&&typeof r==`object`&&`value`in r&&`unit`in r){let{value:n,unit:i}=r;return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:`${n} ${Rv(e,String(i),t)}`},void 0,!1,{fileName:Mv,lineNumber:275,columnNumber:14},this)}return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:String(n)},void 0,!1,{fileName:Mv,lineNumber:277,columnNumber:12},this)}}function Bv({field:e,value:t}){let{t:n}=a(),r=kn(t,null);return!r||r.value==null?(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Mv,lineNumber:285,columnNumber:41},this):(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:[r.value,` `,(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:Rv(e,r.unit,n)},void 0,!1,{fileName:Mv,lineNumber:288,columnNumber:19},this)]},void 0,!0,{fileName:Mv,lineNumber:287,columnNumber:5},this)}var q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/edit.tsx`;function Vv({value:e,onChange:t,field:n,t:r,recordCtx:i={library:``,shelf:``,recordId:``}}){let a=n.hints.rowMultiple===!0,o=n.hints.fields??[],s=n.hints.unique??[],c=o.filter(e=>!e.virtual),l=(0,L.useRef)(0),u=e=>e.map(e=>({id:++l.current,data:e})),d=()=>Object.fromEntries(c.map(e=>[e.key,``])),f=()=>{let t=kn(e,a?[]:{});return a?Array.isArray(t)?t:[]:[t&&!Array.isArray(t)&&Object.keys(t).length?t:d()]},[p,m]=(0,L.useState)(()=>u(f()));(0,L.useEffect)(()=>{e||m(a?[]:u([d()]))},[e]);let h=e=>c.some(t=>{let n=(e[t.key]??``).trim();return t.prim===`checkbox`?n===`true`:n!==``});function g(e){m(e);let n=e.map(e=>e.data).filter(h);t(a?n.length?n:``:n.length?n[0]:``)}function _(e,t,n){g(p.map((r,i)=>i===e?{...r,data:{...r.data,[t]:String(n)}}:r))}function v(e,t){return s.includes(e)?p.filter((e,n)=>n!==t).map(t=>t.data[e]??``).filter(Boolean):[]}function y({id:e,data:t},n){return(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2 flex-wrap border border-border rounded-xl p-3`,children:[o.map(e=>e.virtual?e.prim===`lookup`?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 flex-1 min-w-32`,children:[e.label?(0,R.jsxDEV)(Lt,{label:r(e.label)},void 0,!1,{fileName:q,lineNumber:111,columnNumber:30},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Ov,{lookupField:e,row:t,subs:o},void 0,!1,{fileName:q,lineNumber:113,columnNumber:19},this)},void 0,!1,{fileName:q,lineNumber:112,columnNumber:17},this)]},e.key,!0,{fileName:q,lineNumber:110,columnNumber:15},this):null:(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 flex-1 min-w-32`,children:(0,R.jsxDEV)(fr,{field:Xt(e),value:e.prim===`checkbox`?t[e.key]===`true`:t[e.key]??``,excludeValues:v(e.key,n),onChange:t=>_(n,e.key,t),label:e.label?r(e.label):void 0,mode:`edit`,recordCtx:i},void 0,!1,{fileName:q,lineNumber:119,columnNumber:15},this)},e.key,!1,{fileName:q,lineNumber:118,columnNumber:13},this)),a&&(0,R.jsxDEV)(Dt,{className:`mt-6`,onClick:()=>g(p.filter((e,t)=>t!==n))},void 0,!1,{fileName:q,lineNumber:131,columnNumber:22},this)]},e,!0,{fileName:q,lineNumber:105,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[p.map(y),a&&(0,R.jsxDEV)(Ct,{onClick:()=>m(e=>[...e,...u([d()])]),children:r(`form.addRow`)},void 0,!1,{fileName:q,lineNumber:139,columnNumber:20},this)]},void 0,!0,{fileName:q,lineNumber:137,columnNumber:5},this)}function Hv({value:e,onChange:t,field:n}){let{t:r}=a(),i=(0,L.useMemo)(()=>Ht(n.hints.units)??[],[n.hints]),o=(0,L.useMemo)(()=>{if(e&&typeof e==`object`)return e;try{return JSON.parse(String(e))}catch{return{value:``,unit:i[0]?.value??``}}},[e,i]),s=e=>t(e.value===``?``:e);return(0,R.jsxDEV)(ee,{className:`min-w-0`,children:[(0,R.jsxDEV)(D,{type:`number`,className:`min-w-0`,value:o.value===``?``:String(o.value),min:n.hints.min,max:n.hints.max,step:n.hints.step??`any`,onChange:e=>{let t=parseFloat(e.target.value);s({...o,value:isNaN(t)?``:t})},placeholder:`0`},void 0,!1,{fileName:q,lineNumber:175,columnNumber:7},this),(0,R.jsxDEV)(O,{align:`inline-end`,className:`pr-1`,children:(0,R.jsxDEV)(it,{value:o.unit||void 0,onValueChange:e=>s({...o,unit:e}),children:[(0,R.jsxDEV)(at,{className:`h-7 gap-1 border-0 bg-transparent px-2 text-muted shadow-none focus:ring-0`,children:(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:q,lineNumber:191,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:190,columnNumber:11},this),(0,R.jsxDEV)(et,{children:i.map(e=>(0,R.jsxDEV)(Et,{value:e.value,children:r(e.label)},e.value,!1,{fileName:q,lineNumber:195,columnNumber:15},this))},void 0,!1,{fileName:q,lineNumber:193,columnNumber:11},this)]},void 0,!0,{fileName:q,lineNumber:189,columnNumber:9},this)},void 0,!1,{fileName:q,lineNumber:188,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:174,columnNumber:5},this)}function Uv({field:e,value:t,onChange:n,excludeValues:r}){let{t:i}=a(),o=e.relation?.library??``,s=e.relation?.shelf??``,c=!!e.hints.multi,{labelMap:l,records:u,loadState:d}=yv(o,s,String(e.hints.displayKey??`name`)),f=Ne(o,s),p=(0,L.useMemo)(()=>t?c?Array.isArray(t)?t.map(String):kn(t,[]).map(String):[String(t)]:[],[t,c]),m=bv(o,s,p),h=(0,L.useMemo)(()=>{let e=new Map(u.map(e=>[String(e.id),e]));for(let[t,n]of m)e.has(t)||e.set(t,n);return[...e.values()]},[u,m]),g=(0,L.useMemo)(()=>h.filter(e=>String(e.id)===String(t)||p.includes(String(e.id))||!r?.includes(String(e.id))).map(e=>{let t=f?wv(f,e):{title:String(e.id)},n=f?(0,R.jsxDEV)(jv,{shelf:f,row:e,size:`sm`,height:28},void 0,!1,{fileName:q,lineNumber:258,columnNumber:28},this):void 0;return{value:String(e.id),title:t.title,icon:t.icon,subtitle:t.subtitle,node:n}}),[h,r,t,p,f]);return d===`loading`?(0,R.jsxDEV)(`p`,{className:`text-muted text-sm py-1`,children:i(`form.loading`)},void 0,!1,{fileName:q,lineNumber:266,columnNumber:39},this):d===`error`?(0,R.jsxDEV)(`p`,{className:`text-danger text-sm py-1`,children:i(`form.loadError`)},void 0,!1,{fileName:q,lineNumber:267,columnNumber:37},this):g.length?c?(0,R.jsxDEV)(J_,{selected:p,items:g,placeholder:i(`form.addRecord`),labelOf:e=>l.get(e)??g.find(t=>t.value===e)?.title??e,onChange:e=>n(e.length?e:``)},void 0,!1,{fileName:q,lineNumber:275,columnNumber:5},this):(0,R.jsxDEV)(q_,{value:t==null?``:String(t),onChange:n,items:g},void 0,!1,{fileName:q,lineNumber:272,columnNumber:22},this):(0,R.jsxDEV)(`p`,{className:`text-muted text-sm py-1`,children:i(`form.noRecords`)},void 0,!1,{fileName:q,lineNumber:269,columnNumber:29},this)}function Wv(e){return{text:``,checks:Array(e).fill(!1)}}function Gv({value:e,onChange:t,field:n}){let r=n.hints.slots??[``],[i,a]=(0,L.useState)(()=>gt(e,r.length));(0,L.useEffect)(()=>{e||a(Wv(r.length))},[e,r.length]);function o(e){a(e),t(e.text.trim()!==``||e.checks.some(Boolean)?St(e):``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(Pv,{row:i,slotCount:r.length,editing:!0,onChange:o},void 0,!1,{fileName:q,lineNumber:319,columnNumber:7},this),(0,R.jsxDEV)(vt,{slots:r},void 0,!1,{fileName:q,lineNumber:320,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:318,columnNumber:5},this)}function Kv({value:e,onChange:t,field:n}){let{t:r}=a(),i=n.hints.slots??[``],[o,s]=(0,L.useState)(()=>kn(e,[]));(0,L.useEffect)(()=>{e||s([])},[e]);function c(e){s(e);let n=e.filter(e=>e.text.trim()!==``||e.checks.some(Boolean));t(n.length?n:``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5 py-1`,children:[o.map((e,t)=>(0,R.jsxDEV)(Pv,{row:e,slotCount:i.length,editing:!0,onChange:e=>c(o.map((n,r)=>r===t?e:n)),onRemove:()=>c(o.filter((e,n)=>n!==t))},t,!1,{fileName:q,lineNumber:351,columnNumber:9},this)),(0,R.jsxDEV)(vt,{slots:i},void 0,!1,{fileName:q,lineNumber:360,columnNumber:7},this),(0,R.jsxDEV)(Ct,{onClick:()=>s(e=>[...e,Wv(i.length)]),children:r(`form.addItem`)},void 0,!1,{fileName:q,lineNumber:361,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:349,columnNumber:5},this)}function qv(e){let t=e=>!!e&&typeof e==`object`&&`unit`in e;if(Array.isArray(e))return e.filter(t);try{let n=JSON.parse(String(e??``));if(Array.isArray(n))return n.map(e=>{if(t(e))return e;try{return JSON.parse(String(e))}catch{return null}}).filter(Boolean)}catch{}return[]}function Jv({field:e,value:t,onChange:n}){let{t:r}=a(),i=(0,L.useMemo)(()=>qv(t),[t]),[o,s]=(0,L.useState)(``);function c(e){n(e.length?e:``)}function l(){!o||typeof o!=`object`||o.value===``||(c([...i,o]),s(``))}return(0,R.jsxDEV)(ct,{items:i,content:zv(e,r),onRemove:e=>c(i.filter((t,n)=>n!==e)),editor:(0,R.jsxDEV)(`div`,{className:`flex gap-2 items-center min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(Hv,{value:o,onChange:e=>s(e),field:e},void 0,!1,{fileName:q,lineNumber:506,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:505,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`sm`,onClick:l,children:(0,R.jsxDEV)(Vt,{size:14},void 0,!1,{fileName:q,lineNumber:513,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:512,columnNumber:11},this)]},void 0,!0,{fileName:q,lineNumber:504,columnNumber:9},this)},void 0,!1,{fileName:q,lineNumber:499,columnNumber:5},this)}var Yv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/composite.tsx`;function Xv(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(Lv,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:43,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Uv,{field:e.field,value:t,onChange:n,excludeValues:e.excludeValues},void 0,!1,{fileName:Yv,lineNumber:45,columnNumber:9},this)},void 0,!1,{fileName:Yv,lineNumber:32,columnNumber:5},this)}function Zv({value:e}){let t=kn(e,null);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:Array.isArray(t)?t.length?String(t.length):`—`:e?`1`:`—`},void 0,!1,{fileName:Yv,lineNumber:59,columnNumber:10},this)}function Qv(e,t,n){if(e==null||e===``)return[];let r=String(e),i=n.labelMap?.get(r)??r;return[{value:r,rawValue:e,label:i,sort:i}]}I({kinds:[`relation`],layout:yn,Page:Xv,Inline:Zv,keys:Qv});function $v({field:e,value:t}){let{t:n}=a();return(0,R.jsxDEV)(ct,{items:Array.isArray(t)?t:_t(String(t??``)),content:zv(e,n),reserveEditor:!0},void 0,!1,{fileName:Yv,lineNumber:84,columnNumber:10},this)}function ey(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:t=>e.field.hints.multiple===!0?(0,R.jsxDEV)($v,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:102,columnNumber:11},this):(0,R.jsxDEV)(Bv,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:104,columnNumber:11},this),edit:(t,n)=>e.field.hints.multiple===!0?(0,R.jsxDEV)(Jv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:109,columnNumber:11},this):(0,R.jsxDEV)(Hv,{value:t,onChange:n,field:e.field},void 0,!1,{fileName:Yv,lineNumber:111,columnNumber:11},this)},void 0,!1,{fileName:Yv,lineNumber:89,columnNumber:5},this)}function ty({field:e,value:t}){let{t:n}=a(),r=kn(t,null);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?`${r.value} ${Rv(e,String(r.unit),n)}`:`—`},void 0,!1,{fileName:Yv,lineNumber:122,columnNumber:10},this)}I({kinds:[`measured`],Page:ey,Inline:ty});function ny(e){let{saving:t}=tv();return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:(n,r)=>{let i=e.field.hints.slots??[``];return e.field.hints.multiple===!0?(0,R.jsxDEV)(Iv,{value:n,onChange:r,slots:i,disabled:t},void 0,!1,{fileName:Yv,lineNumber:151,columnNumber:11},this):(0,R.jsxDEV)(Fv,{value:n,onChange:r,slots:i,disabled:t},void 0,!1,{fileName:Yv,lineNumber:153,columnNumber:11},this)},edit:(t,n)=>e.field.hints.multiple===!0?(0,R.jsxDEV)(Kv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:158,columnNumber:11},this):(0,R.jsxDEV)(Gv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:160,columnNumber:11},this)},void 0,!1,{fileName:Yv,lineNumber:137,columnNumber:5},this)}function ry({value:e,field:t}){let n=gt(e,(t.hints.slots??[``]).length),r=n.checks.length;return!n.text&&!n.checks.some(Boolean)?(0,R.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:Yv,lineNumber:171,columnNumber:54},this):(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?`${n.checks.filter(Boolean).length}/${r}`:n.text||`—`},void 0,!1,{fileName:Yv,lineNumber:173,columnNumber:10},this)}I({kinds:[`check`],layout:`block`,Page:ny,Inline:ry});function iy(){let[e,t]=(0,L.useState)(!1),[n,r]=(0,L.useState)(null);async function i(e){if(r(null),e.size>26214400)return r(`upload.tooLarge`),null;t(!0);let n=await qn(e);return t(!1),n||(r(`upload.failed`),null)}return{busy:e,error:n,upload:i}}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/image.tsx`;function ay(e){return br({title:e(`actions.confirmDeletePhoto`),confirmLabel:e(`actions.delete`),variant:`destructive`})}var oy=/\.(mp4|webm|ogg|mov|m4v)$/i;function sy(e){return oy.test(e)}function cy({name:e}){return sy(e)?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`video`,{src:lr(e),muted:!0,playsInline:!0,preload:`metadata`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:43,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,R.jsxDEV)(De,{size:28,className:`text-white/90 drop-shadow`,fill:`currentColor`},void 0,!1,{fileName:J,lineNumber:45,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:44,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:42,columnNumber:7},this):(0,R.jsxDEV)(`img`,{src:lr(e),alt:``,loading:`lazy`,className:`h-full w-full object-cover transition-opacity hover:opacity-90`},void 0,!1,{fileName:J,lineNumber:51,columnNumber:5},this)}function ly(e){let t=e=>!!e&&typeof e==`object`&&typeof e.name==`string`;if(Array.isArray(e))return e.filter(t);if(t(e))return[e];try{let n=JSON.parse(String(e??``));return(Array.isArray(n)?n:n?[n]:[]).filter(t)}catch{return[]}}function uy({images:e,index:t,onClose:n,onIndex:r}){let i=e.length>1,a=()=>r((t-1+e.length)%e.length),o=()=>r((t+1)%e.length);return(0,L.useEffect)(()=>{let e=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`&&i?a():e.key===`ArrowRight`&&i&&o()};return document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=``}},[t,e.length]),(0,R.jsxDEV)(`div`,{className:`fixed inset-0 z-[100] bg-black/85 backdrop-blur-sm flex items-center justify-center`,onClick:n,children:[(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute top-4 right-4`,onClick:n,children:(0,R.jsxDEV)(w,{size:22},void 0,!1,{fileName:J,lineNumber:113,columnNumber:9},this)},void 0,!1,{fileName:J,lineNumber:112,columnNumber:7},this),i&&(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute left-3 md:left-6`,onClick:e=>{e.stopPropagation(),a()},children:(0,R.jsxDEV)(gs,{size:26},void 0,!1,{fileName:J,lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:116,columnNumber:9},this),sy(e[t])?(0,R.jsxDEV)(`video`,{src:lr(e[t]),controls:!0,autoPlay:!0,className:`max-h-[90dvh] max-w-[92vw] rounded-lg shadow-2xl`,onClick:e=>e.stopPropagation()},void 0,!1,{fileName:J,lineNumber:127,columnNumber:9},this):(0,R.jsxDEV)(`img`,{src:lr(e[t]),alt:``,className:`max-h-[90dvh] max-w-[92vw] object-contain rounded-lg shadow-2xl`,onClick:e=>e.stopPropagation()},void 0,!1,{fileName:J,lineNumber:135,columnNumber:9},this),i&&(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute right-3 md:right-6`,onClick:e=>{e.stopPropagation(),o()},children:(0,R.jsxDEV)(_s,{size:26},void 0,!1,{fileName:J,lineNumber:150,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:143,columnNumber:9},this),i&&(0,R.jsxDEV)(`div`,{className:`absolute bottom-5 left-1/2 -translate-x-1/2 text-white/70 text-sm tabular-nums`,children:[t+1,` / `,e.length]},void 0,!0,{fileName:J,lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:108,columnNumber:5},this)}function dy({name:e,className:t}){let[n,r]=(0,L.useState)(!1);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`img`,{src:lr(e),alt:``,loading:`lazy`,onClick:()=>r(!0),className:t??`max-h-40 rounded-xl border border-border cursor-zoom-in hover:opacity-90 transition-opacity`},void 0,!1,{fileName:J,lineNumber:169,columnNumber:7},this),n&&(0,R.jsxDEV)(uy,{images:[e],index:0,onClose:()=>r(!1),onIndex:()=>{}},void 0,!1,{fileName:J,lineNumber:178,columnNumber:16},this)]},void 0,!0,{fileName:J,lineNumber:168,columnNumber:5},this)}function fy({value:e,poster:t}){let n=ly(e),[r,i]=(0,L.useState)(null);if(!n.length)return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:J,lineNumber:188,columnNumber:28},this);let a=n.map(e=>e.name),o=t?`h-96 w-64`:`h-24 w-24`;return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:n.map((e,t)=>(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>i(t),className:`relative ${o} rounded-xl overflow-hidden border border-border hover:border-accent transition-colors cursor-zoom-in`,children:(0,R.jsxDEV)(cy,{name:e.name},void 0,!1,{fileName:J,lineNumber:201,columnNumber:13},this)},`${e.name}-${t}`,!1,{fileName:J,lineNumber:195,columnNumber:11},this))},void 0,!1,{fileName:J,lineNumber:193,columnNumber:7},this),r!==null&&(0,R.jsxDEV)(uy,{images:a,index:r,onClose:()=>i(null),onIndex:i},void 0,!1,{fileName:J,lineNumber:205,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:192,columnNumber:5},this)}function py({value:e}){let t=ly(e),[n,r]=(0,L.useState)(null);if(!t.length)return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:J,lineNumber:215,columnNumber:28},this);let i=t.map(e=>e.name);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:t.length===1?(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(0),className:`relative inline-block rounded-full cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:lr(t[0].name),alt:``,loading:`lazy`,className:`max-h-96 rounded-full border border-border object-cover hover:opacity-90 transition-opacity`},void 0,!1,{fileName:J,lineNumber:229,columnNumber:13},this)},`${t[0].name}-0`,!1,{fileName:J,lineNumber:223,columnNumber:11},this):t.map((e,t)=>(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(t),className:`relative h-24 w-24 rounded-full overflow-hidden border border-border hover:border-accent transition-colors cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:lr(e.name),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:243,columnNumber:13},this)},`${e.name}-${t}`,!1,{fileName:J,lineNumber:237,columnNumber:11},this))},void 0,!1,{fileName:J,lineNumber:221,columnNumber:7},this),n!==null&&(0,R.jsxDEV)(uy,{images:i,index:n,onClose:()=>r(null),onIndex:r},void 0,!1,{fileName:J,lineNumber:247,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:220,columnNumber:5},this)}function my({value:e}){let t=ly(e)[0];return t?(0,R.jsxDEV)(`img`,{src:lr(t.name),alt:``,style:{height:28,width:28},className:`rounded-full object-cover`},void 0,!1,{fileName:J,lineNumber:256,columnNumber:5},this):(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:J,lineNumber:254,columnNumber:20},this)}function hy({value:e,banner:t}){let n=ly(e),[r,i]=(0,L.useState)(0),[a,o]=(0,L.useState)(!1);if(!n.length)return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:J,lineNumber:275,columnNumber:28},this);let s=n.map(e=>e.name),c=n.length>1,l=Math.min(r,n.length-1),u=()=>i((l-1+n.length)%n.length),d=()=>i((l+1)%n.length);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:t?`relative w-full overflow-hidden rounded-none`:`relative w-full overflow-hidden rounded-xl border border-border`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(!0)},className:t?`block h-48 w-full cursor-zoom-in md:h-64`:`block aspect-video max-h-96 w-full cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:lr(s[l]),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:297,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:290,columnNumber:9},this),c&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`lightbox-btn absolute left-2 top-1/2 -translate-y-1/2`,onClick:e=>{e.stopPropagation(),u()},children:(0,R.jsxDEV)(gs,{size:22},void 0,!1,{fileName:J,lineNumber:306,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:301,columnNumber:13},this),(0,R.jsxDEV)(`button`,{type:`button`,className:`lightbox-btn absolute right-2 top-1/2 -translate-y-1/2`,onClick:e=>{e.stopPropagation(),d()},children:(0,R.jsxDEV)(_s,{size:22},void 0,!1,{fileName:J,lineNumber:313,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:308,columnNumber:13},this),(0,R.jsxDEV)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2 py-0.5 text-xs text-white tabular-nums`,children:[l+1,` / `,n.length]},void 0,!0,{fileName:J,lineNumber:315,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:300,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:283,columnNumber:7},this),a&&(0,R.jsxDEV)(uy,{images:s,index:l,onClose:()=>o(!1),onIndex:i},void 0,!1,{fileName:J,lineNumber:321,columnNumber:16},this)]},void 0,!0,{fileName:J,lineNumber:282,columnNumber:5},this)}function gy({accept:e,busy:t,error:n,onPick:r,className:i,round:o=!1}){let{t:s}=a();return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`label`,{className:`flex cursor-pointer flex-col items-center justify-center gap-2 ${o?`rounded-full`:`rounded-xl`} border-2 border-dashed border-border text-muted transition-colors hover:border-accent hover:text-accent ${t?`pointer-events-none opacity-60`:``} ${i??``}`,children:[t?(0,R.jsxDEV)(ht,{size:24,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:355,columnNumber:17},this):(0,R.jsxDEV)(tt,{size:24},void 0,!1,{fileName:J,lineNumber:355,columnNumber:66},this),(0,R.jsxDEV)(`span`,{className:`text-sm font-medium`,children:s(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:356,columnNumber:9},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>r(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:357,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:348,columnNumber:7},this),n&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:s(n)},void 0,!1,{fileName:J,lineNumber:365,columnNumber:17},this)]},void 0,!0,{fileName:J,lineNumber:347,columnNumber:5},this)}function _y({accept:e,busy:t,error:n,onPick:r,className:i}){let{t:o}=a();return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`label`,{className:`flex h-9 cursor-pointer items-center gap-2 rounded-lg border border-dashed border-border px-3 text-sm text-muted transition-colors hover:border-accent hover:text-accent ${t?`pointer-events-none opacity-60`:``} ${i??`w-fit`}`,children:[t?(0,R.jsxDEV)(ht,{size:15,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:395,columnNumber:17},this):(0,R.jsxDEV)(tt,{size:15},void 0,!1,{fileName:J,lineNumber:395,columnNumber:66},this),(0,R.jsxDEV)(`span`,{className:`font-medium`,children:o(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:396,columnNumber:9},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>r(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:397,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:390,columnNumber:7},this),n&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:o(n)},void 0,!1,{fileName:J,lineNumber:405,columnNumber:17},this)]},void 0,!0,{fileName:J,lineNumber:389,columnNumber:5},this)}function vy({accept:e,busy:t,onPick:n,title:r,className:i}){return(0,R.jsxDEV)(`label`,{title:r,className:`inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:text-accent group-hover:opacity-100 ${t?`pointer-events-none opacity-60`:``} ${i??``}`,children:[t?(0,R.jsxDEV)(ht,{size:15,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:431,columnNumber:15},this):(0,R.jsxDEV)(xe,{size:15},void 0,!1,{fileName:J,lineNumber:431,columnNumber:64},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>n(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:432,columnNumber:7},this)]},void 0,!0,{fileName:J,lineNumber:425,columnNumber:5},this)}function yy({value:e,onChange:t,accept:n=`image/*`,poster:r}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),l=ly(e)[0];async function u(e){if(!e)return;let n=await c(e);n&&t(n)}return l?(0,R.jsxDEV)(`div`,{className:`group relative inline-block`,children:[(0,R.jsxDEV)(dy,{name:l.name,className:r?`h-96 w-64 object-cover rounded-xl border border-border cursor-zoom-in hover:opacity-90 transition-opacity`:void 0},void 0,!1,{fileName:J,lineNumber:467,columnNumber:9},this),(0,R.jsxDEV)(vy,{accept:n,busy:o,onPick:u,title:i(`actions.replace`),className:`absolute right-11 top-2`},void 0,!1,{fileName:J,lineNumber:475,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`icon`,disabled:o,className:`absolute top-2 right-2 h-8 w-8 rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/70 hover:text-danger group-hover:opacity-100`,onClick:async()=>{await ay(i)&&t(``)},title:i(`actions.delete`),children:(0,R.jsxDEV)(rt,{size:15},void 0,!1,{fileName:J,lineNumber:487,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:476,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:466,columnNumber:7},this):(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,onPick:u},void 0,!1,{fileName:J,lineNumber:492,columnNumber:10},this)}function by({value:e,onChange:t,accept:n=`image/*`,poster:r}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),[l,u]=(0,L.useState)(null),d=ly(e),f=r?`h-96 w-64`:`h-24 w-24`;function p(e){t(e.length?e:``)}async function m(e){if(!e)return;let t=await c(e);t&&p([...d,t])}let h=d.map(e=>e.name);return d.length?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:[d.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`group/img relative ${f} overflow-hidden rounded-xl border border-border`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>u(t),className:`block h-full w-full cursor-zoom-in`,children:(0,R.jsxDEV)(cy,{name:e.name},void 0,!1,{fileName:J,lineNumber:537,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:536,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/img:opacity-100`,onClick:async()=>{await ay(i)&&p(d.filter((e,n)=>n!==t))},title:i(`actions.delete`),children:(0,R.jsxDEV)(rt,{size:13},void 0,!1,{fileName:J,lineNumber:550,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:539,columnNumber:13},this)]},`${e.name}-${t}`,!0,{fileName:J,lineNumber:532,columnNumber:11},this)),(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,onPick:m,className:f},void 0,!1,{fileName:J,lineNumber:554,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:530,columnNumber:7},this),l!==null&&(0,R.jsxDEV)(uy,{images:h,index:l,onClose:()=>u(null),onIndex:u},void 0,!1,{fileName:J,lineNumber:556,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:529,columnNumber:5},this):(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,onPick:m},void 0,!1,{fileName:J,lineNumber:526,columnNumber:12},this)}function xy({value:e,onChange:t,accept:n=`image/*`,multiple:r=!1}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),l=ly(e),u=e=>t(e.length?e:``);if(r){async function e(e){if(!e)return;let t=await c(e);t&&u([...l,t])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:(0,R.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[l.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`group/av relative h-24 w-24 shrink-0`,children:[(0,R.jsxDEV)(`img`,{src:lr(e.name),alt:``,className:`h-24 w-24 rounded-full border border-border object-cover`},void 0,!1,{fileName:J,lineNumber:590,columnNumber:15},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 h-7 w-7 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/av:opacity-100`,onClick:async()=>{await ay(i)&&u(l.filter((e,n)=>n!==t))},title:i(`actions.delete`),children:(0,R.jsxDEV)(rt,{size:11},void 0,!1,{fileName:J,lineNumber:606,columnNumber:17},this)},void 0,!1,{fileName:J,lineNumber:595,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:J,lineNumber:589,columnNumber:13},this)),(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,onPick:e,className:`h-24 w-24`,round:!0},void 0,!1,{fileName:J,lineNumber:610,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:587,columnNumber:9},this)},void 0,!1,{fileName:J,lineNumber:586,columnNumber:7},this)}let d=l[0];async function f(e){if(!e)return;let n=await c(e);n&&t(n)}return d?(0,R.jsxDEV)(`div`,{className:`group relative inline-block`,children:[(0,R.jsxDEV)(`img`,{src:lr(d.name),alt:``,className:`h-40 w-40 rounded-full border border-border object-cover`},void 0,!1,{fileName:J,lineNumber:626,columnNumber:9},this),(0,R.jsxDEV)(vy,{accept:n,busy:o,onPick:f,title:i(`actions.replace`),className:`absolute right-9 top-1`},void 0,!1,{fileName:J,lineNumber:631,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`icon`,disabled:o,className:`absolute right-1 top-1 h-8 w-8 rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/70 hover:text-danger group-hover:opacity-100`,onClick:async()=>{await ay(i)&&t(``)},title:i(`actions.delete`),children:(0,R.jsxDEV)(rt,{size:15},void 0,!1,{fileName:J,lineNumber:643,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:632,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:625,columnNumber:7},this):(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,onPick:f,className:`h-40 w-40`,round:!0},void 0,!1,{fileName:J,lineNumber:648,columnNumber:10},this)}function Sy({value:e,onChange:t,accept:n=`image/*`,multiple:r=!1}){let{t:i}=a(),{busy:o,error:s,upload:c}=iy(),[l,u]=(0,L.useState)(0),d=ly(e),f=e=>t(e.length?e:``);async function p(e){if(!e)return;let t=await c(e);t&&f(r?[...d,t]:[t])}if(!d.length)return(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,onPick:p,className:`w-full`},void 0,!1,{fileName:J,lineNumber:680,columnNumber:12},this);let m=r?d.length+1:d.length,h=m>1,g=Math.min(l,m-1),_=r&&g===d.length;return(0,R.jsxDEV)(`div`,{className:`group/cov relative w-full overflow-hidden rounded-xl border border-border`,children:[_?(0,R.jsxDEV)(`div`,{className:`flex aspect-video max-h-96 w-full flex-col items-center justify-center gap-1 bg-elevated px-20`,children:[(0,R.jsxDEV)(`label`,{className:`flex w-full flex-1 cursor-pointer flex-col items-center justify-center gap-3 text-muted transition-colors hover:text-accent ${o?`pointer-events-none opacity-60`:``}`,children:[o?(0,R.jsxDEV)(ht,{size:40,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:703,columnNumber:21},this):(0,R.jsxDEV)(tt,{size:40},void 0,!1,{fileName:J,lineNumber:703,columnNumber:70},this),(0,R.jsxDEV)(`span`,{className:`text-base font-medium`,children:i(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:704,columnNumber:13},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:n,className:`hidden`,disabled:o,onChange:e=>p(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:705,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:698,columnNumber:11},this),s&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:i(s)},void 0,!1,{fileName:J,lineNumber:713,columnNumber:21},this)]},void 0,!0,{fileName:J,lineNumber:697,columnNumber:9},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`img`,{src:lr(d[g].name),alt:``,className:`aspect-video max-h-96 w-full object-cover`},void 0,!1,{fileName:J,lineNumber:717,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/cov:opacity-100`,onClick:async()=>{await ay(i)&&f(d.filter((e,t)=>t!==g))},title:i(`actions.delete`),children:(0,R.jsxDEV)(rt,{size:13},void 0,!1,{fileName:J,lineNumber:727,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:718,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:716,columnNumber:9},this),h&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`absolute left-2 top-1/2 z-10 flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white backdrop-blur-sm transition-colors hover:bg-black/70`,onClick:()=>u((g-1+m)%m),children:(0,R.jsxDEV)(gs,{size:22},void 0,!1,{fileName:J,lineNumber:738,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:733,columnNumber:11},this),(0,R.jsxDEV)(`button`,{type:`button`,className:`absolute right-2 top-1/2 z-10 flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white backdrop-blur-sm transition-colors hover:bg-black/70`,onClick:()=>u((g+1)%m),children:(0,R.jsxDEV)(_s,{size:22},void 0,!1,{fileName:J,lineNumber:745,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:740,columnNumber:11},this),!_&&(0,R.jsxDEV)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2 py-0.5 text-xs text-white tabular-nums`,children:[g+1,` / `,d.length]},void 0,!0,{fileName:J,lineNumber:748,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:732,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:695,columnNumber:5},this)}function Cy({value:e,height:t}){let n=ly(e)[0];if(!n)return(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:J,lineNumber:762,columnNumber:20},this);let r=t??32;return sy(n.name)?(0,R.jsxDEV)(`video`,{src:lr(n.name),muted:!0,playsInline:!0,preload:`metadata`,style:{height:r},className:`object-contain rounded`},void 0,!1,{fileName:J,lineNumber:766,columnNumber:7},this):(0,R.jsxDEV)(`img`,{src:lr(n.name),alt:``,style:{height:r},className:`object-contain rounded`},void 0,!1,{fileName:J,lineNumber:775,columnNumber:10},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/file.tsx`;function wy(e){return br({title:e(`actions.confirmDelete`),confirmLabel:e(`actions.delete`),variant:`destructive`})}function Ty(e){return e==null?null:e>=1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${Math.round(e/1024)} KB`}function Ey({rec:e}){return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(ws,{size:16,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:38,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:e.name},void 0,!1,{fileName:Y,lineNumber:39,columnNumber:7},this),Ty(e.size)&&(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:Ty(e.size)},void 0,!1,{fileName:Y,lineNumber:40,columnNumber:35},this)]},void 0,!0,{fileName:Y,lineNumber:37,columnNumber:5},this)}function Dy({kind:e,rec:t,className:n}){return e===`audio`?(0,R.jsxDEV)(`audio`,{controls:!0,src:lr(t.name),className:n},void 0,!1,{fileName:Y,lineNumber:48,columnNumber:5},this):(0,R.jsxDEV)(`video`,{controls:!0,src:lr(t.name),className:n},void 0,!1,{fileName:Y,lineNumber:50,columnNumber:5},this)}var Oy={file:`*`,document:`.pdf,.doc,.docx,.xls,.xlsx,.txt,.csv`,audio:`audio/*`,video:`video/*`,image:`image/*`,media:`image/*,video/*`,avatar:`image/*`,cover:`image/*`,poster:`image/*`};function ky({kind:e,value:t,onChange:n}){let{t:r}=a(),{busy:i,error:o,upload:s}=iy(),c=ly(t),l=e=>n(e.length?e:``);async function u(e){if(!e)return;let t=await s(e);t&&l([...c,t])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[c.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 rounded-lg border border-border px-2 py-1.5`,children:[(0,R.jsxDEV)(Ey,{rec:e},void 0,!1,{fileName:Y,lineNumber:86,columnNumber:11},this),(0,R.jsxDEV)(`a`,{href:lr(e.name),download:!0,className:`text-muted hover:text-accent`,children:(0,R.jsxDEV)(bs,{size:15},void 0,!1,{fileName:Y,lineNumber:88,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:87,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:i,className:`text-muted hover:text-danger`,onClick:async()=>{await wy(r)&&l(c.filter((e,n)=>n!==t))},children:(0,R.jsxDEV)(rt,{size:13},void 0,!1,{fileName:Y,lineNumber:100,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:90,columnNumber:11},this)]},`${e.name}-${t}`,!0,{fileName:Y,lineNumber:85,columnNumber:9},this)),(0,R.jsxDEV)(st,{accept:Oy[e]??`*`,busy:i,error:o,onPick:u},void 0,!1,{fileName:Y,lineNumber:104,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:83,columnNumber:5},this)}function Ay({kind:e,value:t,onChange:n}){let{t:r}=a(),{busy:i,error:o,upload:s}=iy(),c=ly(t),l=e=>n(e.length?e:``);async function u(e){if(!e)return;let t=await s(e);t&&l([...c,t])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[c.map((t,n)=>(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(Dy,{kind:e,rec:t,className:e===`audio`?`min-w-0 flex-1`:`min-w-0 flex-1 max-h-72 rounded-lg`},void 0,!1,{fileName:Y,lineNumber:128,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:i,className:`shrink-0 text-muted hover:text-danger`,onClick:async()=>{await wy(r)&&l(c.filter((e,t)=>t!==n))},children:(0,R.jsxDEV)(rt,{size:13},void 0,!1,{fileName:Y,lineNumber:139,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:129,columnNumber:11},this)]},`${t.name}-${n}`,!0,{fileName:Y,lineNumber:127,columnNumber:9},this)),(0,R.jsxDEV)(st,{accept:Oy[e]??`*`,busy:i,error:o,onPick:u},void 0,!1,{fileName:Y,lineNumber:143,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:125,columnNumber:5},this)}function jy(e,t,n,r){if(e===`avatar`)return(0,R.jsxDEV)(xy,{value:t,onChange:n,accept:Oy[e],multiple:r},void 0,!1,{fileName:Y,lineNumber:152,columnNumber:12},this);if(e===`cover`)return(0,R.jsxDEV)(Sy,{value:t,onChange:n,accept:Oy[e],multiple:r},void 0,!1,{fileName:Y,lineNumber:155,columnNumber:12},this);if(e===`image`||e===`media`||e===`poster`){let i=e===`poster`;return r?(0,R.jsxDEV)(by,{value:t,onChange:n,accept:Oy[e],poster:i},void 0,!1,{fileName:Y,lineNumber:160,columnNumber:7},this):(0,R.jsxDEV)(yy,{value:t,onChange:n,accept:Oy[e],poster:i},void 0,!1,{fileName:Y,lineNumber:162,columnNumber:7},this)}return e===`audio`||e===`video`?(0,R.jsxDEV)(Ay,{kind:e,value:t,onChange:n},void 0,!1,{fileName:Y,lineNumber:166,columnNumber:12},this):(0,R.jsxDEV)(ky,{kind:e,value:t,onChange:n},void 0,!1,{fileName:Y,lineNumber:168,columnNumber:10},this)}function My({kind:e,value:t}){let n=ly(t);return n.length?e===`avatar`?(0,R.jsxDEV)(py,{value:t},void 0,!1,{fileName:Y,lineNumber:177,columnNumber:33},this):e===`cover`?(0,R.jsxDEV)(hy,{value:t},void 0,!1,{fileName:Y,lineNumber:178,columnNumber:32},this):e===`image`||e===`media`?(0,R.jsxDEV)(fy,{value:t},void 0,!1,{fileName:Y,lineNumber:179,columnNumber:52},this):e===`poster`?(0,R.jsxDEV)(fy,{value:t,poster:!0},void 0,!1,{fileName:Y,lineNumber:180,columnNumber:33},this):e===`audio`||e===`video`?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map((t,n)=>(0,R.jsxDEV)(Dy,{kind:e,rec:t,className:e===`audio`?`w-full`:`max-h-72 rounded-lg`},`${t.name}-${n}`,!1,{fileName:Y,lineNumber:185,columnNumber:11},this))},void 0,!1,{fileName:Y,lineNumber:183,columnNumber:7},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map((e,t)=>(0,R.jsxDEV)(`a`,{href:lr(e.name),download:!0,className:`flex items-center gap-2 rounded-lg border border-border px-2 py-1.5 hover:border-accent`,children:[(0,R.jsxDEV)(Ey,{rec:e},void 0,!1,{fileName:Y,lineNumber:199,columnNumber:11},this),(0,R.jsxDEV)(bs,{size:15,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:200,columnNumber:11},this)]},`${e.name}-${t}`,!0,{fileName:Y,lineNumber:193,columnNumber:9},this))},void 0,!1,{fileName:Y,lineNumber:191,columnNumber:5},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Y,lineNumber:176,columnNumber:28},this)}function Ny(e){let t=e.field.kind,n=e.value??``,r=e.field.hints.noEditControl===!0&&e.mode===`view`,i=e.field.hints.multiple===!0,a=r?(0,R.jsxDEV)(My,{kind:t,value:n},void 0,!1,{fileName:Y,lineNumber:217,columnNumber:5},this):jy(t,n,t=>e.onChange?.(t),i);return e.bare?a:(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(Lt,{label:e.label,required:e.required},void 0,!1,{fileName:Y,lineNumber:225,columnNumber:33},this),a,(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:Y,lineNumber:227,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:224,columnNumber:5},this)}function Py(e){let t=ly(e.value)[0];if(!t)return(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:Y,lineNumber:236,columnNumber:20},this);let n=e.field?.kind,r=n===`audio`?As:n===`video`?Ts:ws,i=Ty(t.size);return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 text-sm`,children:[(0,R.jsxDEV)(r,{size:14,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:242,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.name},void 0,!1,{fileName:Y,lineNumber:243,columnNumber:7},this),i&&(0,R.jsxDEV)(`span`,{className:`shrink-0 text-xs text-muted`,children:i},void 0,!1,{fileName:Y,lineNumber:244,columnNumber:14},this)]},void 0,!0,{fileName:Y,lineNumber:241,columnNumber:5},this)}I({kinds:[`image`,`media`,`poster`],layout:yn,box:`none`,Page:Ny,Inline:Cy}),I({kinds:[`file`,`document`,`audio`,`video`],layout:yn,box:`none`,Page:Ny,Inline:Py}),I({kinds:[`avatar`],layout:`scalar`,box:`none`,Page:Ny,Inline:my}),I({kinds:[`cover`],layout:`block`,Page:Ny,Inline:Cy});var Fy=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/period.tsx`;function Iy(e){if(Array.isArray(e))return e;if(e&&typeof e==`object`&&Object.keys(e).length)return[e];if(typeof e==`string`&&e)try{let t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`&&Object.keys(t).length)return[t]}catch{}return[]}function Ly(e,t){return e?t===`datetime`?e.replace(`T`,` `):e:`…`}function Ry(e,t){return`${Ly(e.from,t)}–${Ly(e.until,t)}`}function zy({field:e,value:t,onChange:n}){let{t:r}=a();return(0,R.jsxDEV)(Vv,{value:t,onChange:n,field:e,t:r},void 0,!1,{fileName:Fy,lineNumber:66,columnNumber:10},this)}function By({field:e,value:t}){let n=e.hints.granularity??`day`;return(0,R.jsxDEV)(ct,{items:Iy(t),content:e=>(0,R.jsxDEV)(`span`,{className:`font-mono`,children:Ry(e,n)},void 0,!1,{fileName:Fy,lineNumber:75,columnNumber:23},this)},void 0,!1,{fileName:Fy,lineNumber:73,columnNumber:5},this)}function Vy(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(By,{field:e.field,value:t},void 0,!1,{fileName:Fy,lineNumber:92,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(zy,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:Fy,lineNumber:94,columnNumber:9},this)},void 0,!1,{fileName:Fy,lineNumber:82,columnNumber:5},this)}function Hy({value:e,field:t}){let n=t.hints.granularity??`day`,r=Iy(e);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r.length?r.map(e=>Ry(e,n)).join(`, `):`—`},void 0,!1,{fileName:Fy,lineNumber:109,columnNumber:5},this)}I({kinds:[`period`],Page:Vy,Inline:Hy});var X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group.tsx`,Uy=e=>_n(e)===`block`;function Wy({onRemove:e}){let{t}=a();return(0,R.jsxDEV)(`div`,{className:`flex shrink-0 flex-col`,children:[(0,R.jsxDEV)(`div`,{className:`min-h-8 mb-1.5`,"aria-hidden":!0},void 0,!1,{fileName:X,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`iconSm`,onClick:e,title:t(`actions.delete`),"aria-hidden":!e||void 0,tabIndex:e?void 0:-1,className:`rounded-lg text-muted hover:border-danger hover:text-danger${e?``:` invisible`}`,children:(0,R.jsxDEV)(rt,{size:14},void 0,!1,{fileName:X,lineNumber:56,columnNumber:9},this)},void 0,!1,{fileName:X,lineNumber:46,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:44,columnNumber:5},this)}function Gy({group:e,value:t,onChange:n,recordCtx:r}){let{t:i}=a(),o=Le(),s=Array.isArray(t)?t:[],c=e.unique??[];function l(e,t,r){n(s.map((n,i)=>i===e?{...n,[t]:r}:n))}function u(t,n,a){if(t.type.virtual&&t.type.prim===`lookup`){let r={key:t.key,...t.type},a=Object.fromEntries(Object.entries(n).map(([e,t])=>[e,String(t??``)])),o=e.fields.filter(e=>Gt(e)).map(e=>({key:e.key,...e.type}));return(0,R.jsxDEV)(`div`,{className:`flex flex-col min-w-0`,children:[t.type.label?(0,R.jsxDEV)(Lt,{label:i(t.type.label)},void 0,!1,{fileName:X,lineNumber:93,columnNumber:29},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Ov,{lookupField:r,row:a,subs:o},void 0,!1,{fileName:X,lineNumber:95,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:94,columnNumber:11},this)]},t.key,!0,{fileName:X,lineNumber:92,columnNumber:9},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:(0,R.jsxDEV)(fr,{field:t.type,value:n[t.key]??``,excludeValues:Tt(s,c,t.key,a),onChange:e=>l(a,t.key,e),label:t.type.label?i(t.type.label):void 0,mode:`edit`,recordCtx:r,error:e.key?o([e.key,a,t.key]):void 0},void 0,!1,{fileName:X,lineNumber:105,columnNumber:9},this)},t.key,!1,{fileName:X,lineNumber:104,columnNumber:7},this)}function d(t,i){return(0,R.jsxDEV)(Bt,{children:(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(jn,{scroll:e.display===`scroll`,items:e.fields.flatMap((e,n)=>Yt(e)?[{key:`brk-${i}-${n}`,break:!0,node:null}]:Kt(e)?e.key==null&&e.display===`scroll`?[{key:e.label??`flow`,full:!0,node:(0,R.jsxDEV)(jn,{scroll:!0,items:e.fields.flatMap(e=>Gt(e)?[{key:e.key,node:u(e,t,i)}]:[])},void 0,!1,{fileName:X,lineNumber:138,columnNumber:27},this)}]:[{key:e.key??e.label??`g`,full:e.kind!==`per-weekday`,node:(0,R.jsxDEV)(tb,{group:e,value:t[e.key],onChange:t=>l(i,e.key,t),recordCtx:r,mode:`edit`},void 0,!1,{fileName:X,lineNumber:153,columnNumber:25},this)}]:Gt(e)?[{key:e.key,full:Uy(e.type),node:u(e,t,i)}]:[])},void 0,!1,{fileName:X,lineNumber:124,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:123,columnNumber:11},this),(0,R.jsxDEV)(Wy,{onRemove:()=>n(s.filter((e,t)=>t!==i))},void 0,!1,{fileName:X,lineNumber:169,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:122,columnNumber:9},this)},i,!1,{fileName:X,lineNumber:121,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col ${jt}`,children:[s.map(d),(0,R.jsxDEV)(Ct,{onClick:()=>n([...s,{}]),children:i(`form.addRow`)},void 0,!1,{fileName:X,lineNumber:178,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:176,columnNumber:5},this)}var Ky=e=>`${Ft(e)} flex flex-col min-w-0 ${jt}`,qy=new Set([`boolean`,`rating`]);function Jy({sub:e,row:t,group:n,recordCtx:r,onChange:i}){let{t:o}=a();if(e.type.virtual&&e.type.prim===`lookup`){let r={key:e.key,...e.type},i=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,String(t??``)])),a=n.fields.filter(e=>Gt(e)).map(e=>({key:e.key,...e.type}));return(0,R.jsxDEV)(`div`,{className:`flex flex-col min-w-0`,children:[e.type.label?(0,R.jsxDEV)(Lt,{label:o(e.type.label)},void 0,!1,{fileName:X,lineNumber:228,columnNumber:27},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Ov,{lookupField:r,row:i,subs:a},void 0,!1,{fileName:X,lineNumber:230,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:229,columnNumber:9},this)]},void 0,!0,{fileName:X,lineNumber:227,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:[e.type.label?(0,R.jsxDEV)(Lt,{label:o(e.type.label)},void 0,!1,{fileName:X,lineNumber:237,columnNumber:25},this):null,(0,R.jsxDEV)(fr,{field:e.type,value:t[e.key]??``,mode:`view`,bare:!0,recordCtx:r,onChange:i},void 0,!1,{fileName:X,lineNumber:238,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:236,columnNumber:5},this)}function Yy({group:e,value:t,onChange:n,recordCtx:r}){let{t:i}=a(),o=Nt(),s=Array.isArray(t)?t:[];function c(e,t,r){n(s.map((n,i)=>i===e?{...n,[t]:r}:n))}return s.length===0?null:(0,R.jsxDEV)(`fieldset`,{className:Ky(o),children:[(0,R.jsxDEV)(At,{as:`legend`,label:i(e.label),icon:Rt(e)},void 0,!1,{fileName:X,lineNumber:277,columnNumber:7},this),(0,R.jsxDEV)(zt,{depth:o+1,children:(0,R.jsxDEV)(`div`,{className:`flex flex-col ${jt}`,children:s.map((t,n)=>(0,R.jsxDEV)(Bt,{children:(0,R.jsxDEV)(jn,{scroll:e.display===`scroll`,items:e.fields.flatMap((i,a)=>Yt(i)?[{key:`brk-${n}-${a}`,break:!0,node:null}]:Kt(i)?i.key==null&&i.display===`scroll`?[{key:i.label??`flow`,full:!0,node:(0,R.jsxDEV)(jn,{scroll:!0,items:i.fields.flatMap(i=>Gt(i)?[{key:i.key,node:(0,R.jsxDEV)(Jy,{sub:i,row:t,group:e,recordCtx:r,onChange:qy.has(i.type.kind)?e=>c(n,i.key,e):void 0},void 0,!1,{fileName:X,lineNumber:304,columnNumber:43},this)}]:[])},void 0,!1,{fileName:X,lineNumber:296,columnNumber:29},this)}]:[{key:i.key??i.label??`g`,full:i.kind!==`per-weekday`,node:(0,R.jsxDEV)(tb,{group:i,value:t[i.key],onChange:e=>c(n,i.key,e),recordCtx:r,mode:`view`},void 0,!1,{fileName:X,lineNumber:330,columnNumber:27},this)}]:Gt(i)?[{key:i.key,full:Uy(i.type),node:(0,R.jsxDEV)(Jy,{sub:i,row:t,group:e,recordCtx:r,onChange:qy.has(i.type.kind)?e=>c(n,i.key,e):void 0},void 0,!1,{fileName:X,lineNumber:347,columnNumber:25},this)}]:[])},void 0,!1,{fileName:X,lineNumber:282,columnNumber:15},this)},n,!1,{fileName:X,lineNumber:281,columnNumber:13},this))},void 0,!1,{fileName:X,lineNumber:279,columnNumber:9},this)},void 0,!1,{fileName:X,lineNumber:278,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:276,columnNumber:5},this)}var Xy=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/table-group.tsx`;function Zy({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Le(),c=Nt(),l=e.fields.filter(e=>Gt(e)||Kt(e)&&!!e.kind),u=e=>e.key,d=e=>Gt(e)?e.type.label:e.label,f=e=>Gt(e)?{field:e.type}:{field:e,el:e},p=e=>Gt(e)&&e.type.prim===`text`,m=e.unique??[],h=Array.isArray(t)?t:[],g=i!==`view`,_=h,v=e=>n(e),y=(e,t,n)=>v(_.map((r,i)=>i===e?{...r,[t]:n}:r)),b=(0,R.jsxDEV)(`div`,{className:`overflow-x-auto`,children:[(0,R.jsxDEV)(`table`,{className:`w-full border-collapse text-sm`,children:[(0,R.jsxDEV)(`thead`,{children:(0,R.jsxDEV)(`tr`,{children:[l.map(e=>(0,R.jsxDEV)(`th`,{className:`text-left text-[11px] font-semibold text-muted uppercase px-2 py-1 ${p(e)?`w-full`:`whitespace-nowrap`}`,children:d(e)?o(d(e)):``},u(e),!1,{fileName:Xy,lineNumber:68,columnNumber:11},this)),g&&(0,R.jsxDEV)(`th`,{className:`w-9`,"aria-hidden":!0},void 0,!1,{fileName:Xy,lineNumber:75,columnNumber:20},this)]},void 0,!0,{fileName:Xy,lineNumber:66,columnNumber:7},this)},void 0,!1,{fileName:Xy,lineNumber:65,columnNumber:5},this),(0,R.jsxDEV)(`tbody`,{children:_.map((t,n)=>(0,R.jsxDEV)(`tr`,{className:`align-top`,children:[l.map(i=>(0,R.jsxDEV)(`td`,{className:`px-2 py-1 min-w-0`,children:(0,R.jsxDEV)(fr,{...f(i),value:t[u(i)]??(Gt(i)?``:null),excludeValues:Tt(_,m,u(i),n),onChange:e=>y(n,u(i),e),mode:g?`edit`:`view`,bare:!0,recordCtx:r,error:e.key?s([e.key,n,u(i)]):void 0},void 0,!1,{fileName:Xy,lineNumber:86,columnNumber:15},this)},u(i),!1,{fileName:Xy,lineNumber:85,columnNumber:13},this)),g&&(0,R.jsxDEV)(`td`,{className:`px-1 py-1 w-9`,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`iconSm`,onClick:()=>v(_.filter((e,t)=>t!==n)),title:o(`actions.delete`),className:`rounded-lg text-muted hover:border-danger hover:text-danger`,children:(0,R.jsxDEV)(rt,{size:14},void 0,!1,{fileName:Xy,lineNumber:108,columnNumber:17},this)},void 0,!1,{fileName:Xy,lineNumber:100,columnNumber:15},this)},void 0,!1,{fileName:Xy,lineNumber:99,columnNumber:13},this)]},n,!0,{fileName:Xy,lineNumber:83,columnNumber:9},this))},void 0,!1,{fileName:Xy,lineNumber:81,columnNumber:5},this)]},void 0,!0,{fileName:Xy,lineNumber:119,columnNumber:7},this),g&&(0,R.jsxDEV)(Ct,{onClick:()=>v([..._,{}]),children:o(`form.addRow`)},void 0,!1,{fileName:Xy,lineNumber:123,columnNumber:18},this)]},void 0,!0,{fileName:Xy,lineNumber:118,columnNumber:5},this);return g?b:(0,R.jsxDEV)(`section`,{className:`${Ft(c)} flex flex-col gap-1 min-w-0`,children:[(0,R.jsxDEV)(At,{as:`h3`,label:o(e.label),icon:Rt(e)},void 0,!1,{fileName:Xy,lineNumber:134,columnNumber:7},this),(0,R.jsxDEV)(zt,{depth:c+1,children:b},void 0,!1,{fileName:Xy,lineNumber:135,columnNumber:7},this)]},void 0,!0,{fileName:Xy,lineNumber:133,columnNumber:5},this)}var Qy=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/fixed-collection.tsx`;function $y({group:e,value:t,onChange:n,recordCtx:r,mode:i=`edit`}){let{t:o}=a(),s=Nt(),c=i!==`view`,l=e.fields[0],u=e.fields.slice(1).filter(e=>Gt(e)),d=l.type.options?.length?l.type.options:Re(l.type.hints.source??``),f=Array.isArray(t)?t:[],p=d.map(e=>f.find(t=>String(t[l.key]??``)===String(e.value))??{[l.key]:e.value});function m(e){n(e.filter(e=>u.some(t=>e[t.key]!=null&&e[t.key]!==``)))}function h(e,t,n){m(p.map((r,i)=>i===e?{...r,[t]:n}:r))}return(0,R.jsxDEV)(`fieldset`,{className:`${Ft(s)} flex flex-col min-w-0 ${jt}`,children:[(0,R.jsxDEV)(At,{as:`legend`,label:o(e.label),icon:Rt(e)},void 0,!1,{fileName:Qy,lineNumber:63,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col ${jt}`,children:p.map((e,t)=>(0,R.jsxDEV)(Bt,{children:(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0 shrink-0`,children:[l.type.label?(0,R.jsxDEV)(Lt,{label:o(l.type.label)},void 0,!1,{fileName:Qy,lineNumber:69,columnNumber:34},this):null,(0,R.jsxDEV)(`span`,{className:`text-sm px-1 py-1.5`,children:ku(o,{options:d},String(e[l.key]??``))},void 0,!1,{fileName:Qy,lineNumber:70,columnNumber:17},this)]},void 0,!0,{fileName:Qy,lineNumber:68,columnNumber:15},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(jn,{items:u.map(n=>({key:n.key,full:Uy(n.type),node:c?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:(0,R.jsxDEV)(fr,{field:n.type,value:e[n.key]??``,onChange:e=>h(t,n.key,e),label:n.type.label?o(n.type.label):void 0,mode:`edit`,recordCtx:r},void 0,!1,{fileName:Qy,lineNumber:82,columnNumber:27},this)},void 0,!1,{fileName:Qy,lineNumber:81,columnNumber:25},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:[n.type.label?(0,R.jsxDEV)(Lt,{label:o(n.type.label)},void 0,!1,{fileName:Qy,lineNumber:97,columnNumber:45},this):null,(0,R.jsxDEV)(fr,{field:n.type,value:e[n.key]??``,mode:`view`,bare:!0,recordCtx:r},void 0,!1,{fileName:Qy,lineNumber:98,columnNumber:27},this)]},void 0,!0,{fileName:Qy,lineNumber:96,columnNumber:25},this)}))},void 0,!1,{fileName:Qy,lineNumber:75,columnNumber:17},this)},void 0,!1,{fileName:Qy,lineNumber:74,columnNumber:15},this)]},void 0,!0,{fileName:Qy,lineNumber:67,columnNumber:13},this)},String(e[l.key]),!1,{fileName:Qy,lineNumber:66,columnNumber:11},this))},void 0,!1,{fileName:Qy,lineNumber:64,columnNumber:7},this)]},void 0,!0,{fileName:Qy,lineNumber:62,columnNumber:5},this)}var eb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group-field.tsx`;function tb({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Le();if(Wt(e)&&e.fixed)return(0,R.jsxDEV)($y,{group:e,value:t,onChange:e=>n(e),recordCtx:r,mode:i},void 0,!1,{fileName:eb,lineNumber:41,columnNumber:7},this);if(Wt(e)&&e.display===`table`)return(0,R.jsxDEV)(Zy,{group:e,value:t,onChange:e=>n(e),recordCtx:r,mode:i},void 0,!1,{fileName:eb,lineNumber:53,columnNumber:7},this);if(Wt(e))return i===`view`?(0,R.jsxDEV)(Yy,{group:e,value:t,onChange:e=>n(e),recordCtx:r},void 0,!1,{fileName:eb,lineNumber:67,columnNumber:14},this):(0,R.jsxDEV)(`fieldset`,{className:`flex flex-col min-w-0 ${jt}`,children:[(0,R.jsxDEV)(At,{as:`legend`,label:o(e.label),icon:Rt(e)},void 0,!1,{fileName:eb,lineNumber:71,columnNumber:9},this),(0,R.jsxDEV)(Gy,{group:e,value:t,onChange:e=>n(e),recordCtx:r},void 0,!1,{fileName:eb,lineNumber:72,columnNumber:9},this)]},void 0,!0,{fileName:eb,lineNumber:70,columnNumber:7},this);if(Zt(e)){let a=t??{};if(i===`view`&&An(a))return null;let c=(e,t)=>n({...a,[e]:t}),l=e.fields.filter(e=>Gt(e));return(0,R.jsxDEV)(`fieldset`,{className:`flex flex-col min-w-0 ${jt}`,children:[(0,R.jsxDEV)(At,{as:`legend`,label:o(e.label),icon:Rt(e)},void 0,!1,{fileName:eb,lineNumber:87,columnNumber:9},this),(0,R.jsxDEV)(Bt,{children:(0,R.jsxDEV)(jn,{items:l.map(t=>({key:t.key,full:Uy(t.type),node:(0,R.jsxDEV)(fr,{field:t.type,value:a[t.key]??``,onChange:e=>c(t.key,e),label:t.type.label?o(t.type.label):void 0,mode:i,recordCtx:r,error:e.key?s([e.key,t.key]):void 0},void 0,!1,{fileName:eb,lineNumber:96,columnNumber:17},this)}))},void 0,!1,{fileName:eb,lineNumber:91,columnNumber:11},this)},void 0,!1,{fileName:eb,lineNumber:90,columnNumber:9},this)]},void 0,!0,{fileName:eb,lineNumber:86,columnNumber:7},this)}return null}var nb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/storage-group.tsx`;function rb({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(tb,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i===`view`?`view`:`edit`},void 0,!1,{fileName:nb,lineNumber:14,columnNumber:5},this)}function ib({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(tb,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i===`view`?`view`:`edit`},void 0,!1,{fileName:nb,lineNumber:26,columnNumber:5},this)}I({kinds:[`collection`],layout:`block`,Page:rb}),I({kinds:[`embedded`],layout:`block`,Page:ib});var ab=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/weekday-grid.tsx`,ob=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`];function sb({group:e,value:t,onChange:n,mode:r}){let{t:i}=a(),o=i(`weekdaysShort`,{returnObjects:!0}),s=Array.isArray(t)?t:[],c=new Map(s.map(e=>[e.day,Number(e.value)])),l=r!==`view`,u=e.fields.slice(1).find(e=>Gt(e)),d=u?.type.hints.min,f=u?.type.hints.max,p=u?.type.hints.step;function m(e,t){n(ob.flatMap(n=>{let r=n===e?t:c.get(n)??0;return r>0?[{day:n,value:r}]:[]}))}return!l&&!s.some(e=>Number(e.value)>0)?(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:ab,lineNumber:50,columnNumber:66},this):(0,R.jsxDEV)(`div`,{className:`flex ${It}`,children:(0,R.jsxDEV)(`div`,{className:`grid grid-cols-7 gap-1 w-full max-w-64`,children:ob.map((e,t)=>{let n=c.get(e)??0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col items-center gap-1 min-w-0`,children:[(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted`,children:o[t]},void 0,!1,{fileName:ab,lineNumber:61,columnNumber:15},this),l?(0,R.jsxDEV)(E,{type:`number`,className:`w-full text-center px-1 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`,min:d,max:f,step:p??`any`,value:c.get(e)||``,onChange:t=>m(e,Number(t.target.value)||0)},void 0,!1,{fileName:ab,lineNumber:63,columnNumber:17},this):(0,R.jsxDEV)(`div`,{className:`h-9 w-full rounded-lg flex items-center justify-center text-sm font-semibold border ${n?`bg-accent/20 text-accent border-accent/30`:`bg-bg text-muted/30 border-border`}`,children:n||`·`},void 0,!1,{fileName:ab,lineNumber:73,columnNumber:17},this)]},e,!0,{fileName:ab,lineNumber:60,columnNumber:13},this)})},void 0,!1,{fileName:ab,lineNumber:56,columnNumber:7},this)},void 0,!1,{fileName:ab,lineNumber:55,columnNumber:5},this)}var cb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/url-widget.tsx`;function lb({value:e,onChange:t,mode:n}){let r=e??null;if(n===`view`){let e=mn(r);return e?(0,R.jsxDEV)(`a`,{href:hn(r),target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-accent hover:underline text-sm break-all`,children:[e,` `,(0,R.jsxDEV)(xs,{size:12},void 0,!1,{fileName:cb,lineNumber:34,columnNumber:16},this)]},void 0,!0,{fileName:cb,lineNumber:28,columnNumber:7},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:cb,lineNumber:26,columnNumber:23},this)}return(0,R.jsxDEV)(E,{type:`text`,inputMode:`url`,value:mn(r),onChange:e=>t(en(e.target.value))},void 0,!1,{fileName:cb,lineNumber:41,columnNumber:5},this)}var ub=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/checklist-group.tsx`;function db({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Le(),c=Nt(),l=e.fields.filter(e=>Gt(e)&&e.key!==`text`),u=e.fields.find(e=>Gt(e)&&e.key===`text`),d=l.map(e=>e.type.label??``),f=yt(d.length),p=Array.isArray(t)?t:[],m=i!==`view`,h=(e,t,r)=>n(p.map((n,i)=>i===e?{...n,[t]:r}:n)),g=(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(`ul`,{className:`flex flex-col gap-1.5`,children:p.map((t,i)=>(0,R.jsxDEV)(`li`,{className:`flex items-center gap-3.5 py-1 text-sm`,children:[l.map((n,a)=>(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 shrink-0`,children:[f&&(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted tabular-nums`,children:lt(a)},void 0,!1,{fileName:ub,lineNumber:54,columnNumber:30},this),(0,R.jsxDEV)(fr,{field:n.type,value:t[n.key]??!1,onChange:e=>h(i,n.key,e),mode:m?`edit`:`view`,bare:!0,recordCtx:r,error:e.key?s([e.key,i,n.key]):void 0},void 0,!1,{fileName:ub,lineNumber:55,columnNumber:17},this)]},n.key,!0,{fileName:ub,lineNumber:53,columnNumber:15},this)),u&&(m?(0,R.jsxDEV)(E,{value:String(t[u.key]??``),onChange:e=>h(i,u.key,e.target.value),className:`h-auto min-w-0 flex-1 border-0 bg-transparent p-0 text-sm shadow-none focus-visible:ring-0`},void 0,!1,{fileName:ub,lineNumber:72,columnNumber:17},this):(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-text`,children:String(t[u.key]??``)||`—`},void 0,!1,{fileName:ub,lineNumber:78,columnNumber:17},this)),m&&(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,onClick:()=>n(p.filter((e,t)=>t!==i)),title:o(`actions.delete`),className:`h-5 w-5 shrink-0 rounded text-muted hover:text-danger`,children:(0,R.jsxDEV)(rt,{size:12},void 0,!1,{fileName:ub,lineNumber:91,columnNumber:17},this)},void 0,!1,{fileName:ub,lineNumber:83,columnNumber:15},this)]},i,!0,{fileName:ub,lineNumber:51,columnNumber:11},this))},void 0,!1,{fileName:ub,lineNumber:49,columnNumber:7},this),m&&(0,R.jsxDEV)(Ct,{onClick:()=>n([...p,{}]),children:o(`form.addRow`)},void 0,!1,{fileName:ub,lineNumber:98,columnNumber:22},this),(0,R.jsxDEV)(vt,{slots:d},void 0,!1,{fileName:ub,lineNumber:99,columnNumber:7},this)]},void 0,!0,{fileName:ub,lineNumber:48,columnNumber:5},this);return m?g:(0,R.jsxDEV)(`section`,{className:`${Ft(c)} flex flex-col gap-1 min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:(0,R.jsxDEV)(`h3`,{className:`text-[13px] font-semibold text-accent`,children:o(e.label)},void 0,!1,{fileName:ub,lineNumber:112,columnNumber:9},this)},void 0,!1,{fileName:ub,lineNumber:111,columnNumber:7},this),(0,R.jsxDEV)(zt,{depth:c+1,children:g},void 0,!1,{fileName:ub,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:ub,lineNumber:110,columnNumber:5},this)}var fb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group-widgets.tsx`;function pb({el:e,value:t,onChange:n,mode:r}){return(0,R.jsxDEV)(sb,{group:e,value:t,onChange:e=>n?.(e),mode:r===`view`?`view`:`edit`},void 0,!1,{fileName:fb,lineNumber:17,columnNumber:5},this)}function mb({el:e,value:t,onChange:n,mode:r,bare:i}){let{t:o}=a(),s=e,c=(0,R.jsxDEV)(lb,{value:t,onChange:e=>n?.(e),mode:r===`view`?`view`:`edit`},void 0,!1,{fileName:fb,lineNumber:24,columnNumber:18},this);return i?c:(0,R.jsxDEV)(`div`,{className:`group/field flex flex-col min-w-0 ${jt}`,children:[s.label&&(0,R.jsxDEV)(Lt,{label:o(s.label)},void 0,!1,{fileName:fb,lineNumber:30,columnNumber:23},this),c]},void 0,!0,{fileName:fb,lineNumber:29,columnNumber:5},this)}function hb({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(db,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i},void 0,!1,{fileName:fb,lineNumber:38,columnNumber:5},this)}I({kinds:[`per-weekday`],layout:`block`,Page:pb}),I({kinds:[`url`],layout:`block`,Page:mb}),I({kinds:[`checklist`],layout:`block`,Page:hb});var gb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/actions/TemplateHost.tsx`,_b=new Map;function vb(e){let t=bn(e);if(!t)return null;let n=_b.get(e);return n||(n=(0,L.lazy)(t),_b.set(e,n)),n}var yb=class extends L.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?this.props.fallback:this.props.children}},bb=()=>(0,R.jsxDEV)(`span`,{className:`animate-spin inline-block w-4 h-4 border-2 border-current/30 border-t-current rounded-full`},void 0,!1,{fileName:gb,lineNumber:22,columnNumber:3},void 0);function xb({name:e,data:t}){let{t:n}=a(),r=(0,R.jsxDEV)(R.Fragment,{children:n(`actions.notice`)},void 0,!1,{fileName:gb,lineNumber:28,columnNumber:20},this),i=vb(e);return i?(0,R.jsxDEV)(yb,{fallback:r,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(bb,{},void 0,!1,{fileName:gb,lineNumber:36,columnNumber:27},this),children:(0,R.jsxDEV)(i,{data:t,t:n},void 0,!1,{fileName:gb,lineNumber:37,columnNumber:9},this)},void 0,!1,{fileName:gb,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:gb,lineNumber:35,columnNumber:5},this):(console.warn(`[template] unknown '${e}'`),r)}var Sb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/actions/PopupBody.tsx`;function Cb({ui:e}){let{t}=a();return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(hr,{children:e.title?t(e.title,e.params):t(`actions.notice`)},void 0,!1,{fileName:Sb,lineNumber:11,columnNumber:7},this),e.component?(0,R.jsxDEV)(xb,{name:e.component.name,data:e.component.data},void 0,!1,{fileName:Sb,lineNumber:13,columnNumber:9},this):(0,R.jsxDEV)(vr,{children:t(e.message??``,e.params)},void 0,!1,{fileName:Sb,lineNumber:15,columnNumber:9},this)]},void 0,!0,{fileName:Sb,lineNumber:10,columnNumber:5},this)}var wb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/layout-elements.tsx`;function Tb(e){return(0,R.jsxDEV)(`hr`,{className:`border-border`},void 0,!1,{fileName:wb,lineNumber:17,columnNumber:10},this)}function Eb({el:e}){let{t}=a();return(0,R.jsxDEV)(Pe,{value:t(e.text)},void 0,!1,{fileName:wb,lineNumber:22,columnNumber:10},this)}function Db(e){let{t}=a(),n=e.el,r=e.recordCtx,[i,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(null),l=e=>{if(e.kind===`popup`){c(e);return}let n=e.component?(0,R.jsxDEV)(xb,{name:e.component.name,data:e.component.data},void 0,!1,{fileName:wb,lineNumber:38,columnNumber:9},this):t(e.message??``,e.params);e.variant===`success`?y.success(n):e.variant===`error`?y.error(n):y(n)};return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,R.jsxDEV)(F,{variant:n.variant??`outline`,onClick:async()=>{let e=os(n.value);if(!e){y.error(t(`actions.actionNotFound`));return}o(!0);try{let n=await e({library:r.library,shelf:r.shelf,recordId:r.recordId??``});n?l(n):y.success(t(`actions.actionSuccess`))}catch(e){let n=e.ui;n?l(n):y.error(e instanceof Error?e.message:t(`actions.actionError`))}finally{o(!1)}},disabled:i,className:`max-w-full min-w-0`,children:[i?(0,R.jsxDEV)(`span`,{className:`animate-spin inline-block w-4 h-4 border-2 border-current/30 border-t-current rounded-full`},void 0,!1,{fileName:wb,lineNumber:69,columnNumber:11},this):n.icon&&(0,R.jsxDEV)(je,{name:n.icon,size:16},void 0,!1,{fileName:wb,lineNumber:71,columnNumber:22},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t(n.label)},void 0,!1,{fileName:wb,lineNumber:73,columnNumber:9},this)]},void 0,!0,{fileName:wb,lineNumber:67,columnNumber:7},this),(0,R.jsxDEV)(yr,{open:!!s,onOpenChange:e=>!e&&c(null),children:(0,R.jsxDEV)(_r,{children:(0,R.jsxDEV)(gr,{children:s&&(0,R.jsxDEV)(Cb,{ui:s},void 0,!1,{fileName:wb,lineNumber:78,columnNumber:23},this)},void 0,!1,{fileName:wb,lineNumber:77,columnNumber:11},this)},void 0,!1,{fileName:wb,lineNumber:76,columnNumber:9},this)},void 0,!1,{fileName:wb,lineNumber:75,columnNumber:7},this)]},void 0,!0,{fileName:wb,lineNumber:66,columnNumber:5},this)}function Ob({el:e,children:t}){let{t:n}=a(),r=e;return(0,R.jsxDEV)(ze,{label:r.label?n(r.label):void 0,icon:Rt(r),children:t},void 0,!1,{fileName:wb,lineNumber:93,columnNumber:5},this)}I({kinds:[`divider`],layout:`block`,Page:Tb}),I({kinds:[`info`],layout:`block`,Page:Eb}),I({kinds:[`button`],layout:`scalar`,Page:Db}),I({kinds:[`group`],layout:`block`,Page:Ob});var kb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/tristate.tsx`,Ab={unknown:`yes`,yes:`no`,no:`unknown`},jb={yes:!0,no:!1,unknown:`indeterminate`};function Mb({value:e,onChange:t,label:n}){let{saving:r}=tv(),i=e||`unknown`;return(0,R.jsxDEV)(te,{checked:jb[i],disabled:r,onCheckedChange:()=>t?.(Ab[i]),"aria-label":n,className:C(`peer h-4.5 w-4.5 shrink-0 rounded border border-input bg-background ring-offset-background transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,`data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`),children:(0,R.jsxDEV)(se,{className:`flex items-center justify-center text-current`,children:i===`yes`?(0,R.jsxDEV)(Ze,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:kb,lineNumber:37,columnNumber:26},this):(0,R.jsxDEV)(Se,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:kb,lineNumber:37,columnNumber:78},this)},void 0,!1,{fileName:kb,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:kb,lineNumber:24,columnNumber:5},this)}function Nb(e){let t=(0,R.jsxDEV)(Mb,{value:String(e.value??``),onChange:t=>e.onChange?.(t),label:e.label},void 0,!1,{fileName:kb,lineNumber:44,columnNumber:15},this);return e.bare?t:(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(Lt,{label:e.label,required:e.required},void 0,!1,{fileName:kb,lineNumber:48,columnNumber:33},this),t,(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:kb,lineNumber:50,columnNumber:7},this)]},void 0,!0,{fileName:kb,lineNumber:47,columnNumber:5},this)}var Pb={yes:Ze,unknown:Se,no:w};function Fb({value:e}){let t=String(e??`unknown`);return(0,R.jsxDEV)(Pb[t]??Se,{size:16,className:t===`yes`?`text-accent`:t===`no`?`text-danger`:`text-muted`},void 0,!1,{fileName:kb,lineNumber:60,columnNumber:10},this)}I({kinds:[`triState`],Page:Nb,Inline:Fb});var Ib=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/money.tsx`;function Lb(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function Rb(e){if(e.value==null||!e.currency)return``;try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:e.currency}).format(e.value)}catch{return`${e.value} ${Jt(e.currency)}`}}function zb({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>Lb(t),[t]),i=e.hints.defaultCurrency??`USD`,a=r.currency??i,o=e=>n(e.value==null?``:{value:e.value,currency:e.currency});return(0,R.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,R.jsxDEV)(tu,{customInput:E,className:`flex-1 min-w-0`,value:r.value??``,thousandSeparator:!0,decimalScale:2,min:e.hints.min,max:e.hints.max,placeholder:`0.00`,onValueChange:e=>o({value:e.value===``?void 0:e.floatValue,currency:a})},void 0,!1,{fileName:Ib,lineNumber:43,columnNumber:7},this),(0,R.jsxDEV)(it,{value:a,onValueChange:e=>o({value:r.value,currency:e}),children:[(0,R.jsxDEV)(at,{className:`w-28`,children:(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Ib,lineNumber:58,columnNumber:11},this)},void 0,!1,{fileName:Ib,lineNumber:57,columnNumber:9},this),(0,R.jsxDEV)(et,{children:Ut.map(e=>(0,R.jsxDEV)(Et,{value:e,children:[Jt(e),` `,e]},e,!0,{fileName:Ib,lineNumber:62,columnNumber:13},this))},void 0,!1,{fileName:Ib,lineNumber:60,columnNumber:9},this)]},void 0,!0,{fileName:Ib,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:Ib,lineNumber:42,columnNumber:5},this)}function Bb({value:e}){let t=Rb(Lb(e));return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:Ib,lineNumber:74,columnNumber:14},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Ib,lineNumber:74,columnNumber:58},this)}function Vb(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,R.jsxDEV)(Bb,{value:e},void 0,!1,{fileName:Ib,lineNumber:90,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(zb,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Ib,lineNumber:92,columnNumber:9},this)},void 0,!1,{fileName:Ib,lineNumber:79,columnNumber:5},this)}function Hb({value:e}){return(0,R.jsxDEV)(Bb,{value:e},void 0,!1,{fileName:Ib,lineNumber:99,columnNumber:10},this)}function Ub(e){let t=Lb(e);return t.currency?[{value:t.currency,rawValue:t,label:Jt(t.currency)}]:[]}I({kinds:[`money`],Page:Vb,Inline:Hb,keys:Ub});var Wb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/range.tsx`;function Gb(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function Kb({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>Gb(t),[t]),i=e.hints,a=e=>e===``?void 0:Number(e),o=e=>n(e.from==null&&e.to==null?``:{from:e.from,to:e.to});return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,placeholder:`від`,value:r.from??``,min:i.min,max:i.max,step:i.step,onChange:e=>o({from:a(e.target.value),to:r.to})},void 0,!1,{fileName:Wb,lineNumber:32,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`–`},void 0,!1,{fileName:Wb,lineNumber:42,columnNumber:7},this),(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,placeholder:`до`,value:r.to??``,min:i.min,max:i.max,step:i.step,onChange:e=>o({from:r.from,to:a(e.target.value)})},void 0,!1,{fileName:Wb,lineNumber:43,columnNumber:7},this)]},void 0,!0,{fileName:Wb,lineNumber:31,columnNumber:5},this)}function qb({value:e}){let t=Gb(e);return t.from==null&&t.to==null?(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Wb,lineNumber:59,columnNumber:46},this):(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:[t.from??`…`,`–`,t.to??`…`]},void 0,!0,{fileName:Wb,lineNumber:61,columnNumber:5},this)}function Jb(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,R.jsxDEV)(qb,{value:e},void 0,!1,{fileName:Wb,lineNumber:80,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Kb,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Wb,lineNumber:82,columnNumber:9},this)},void 0,!1,{fileName:Wb,lineNumber:69,columnNumber:5},this)}function Yb({value:e}){return(0,R.jsxDEV)(qb,{value:e},void 0,!1,{fileName:Wb,lineNumber:89,columnNumber:10},this)}I({kinds:[`numberRange`,`realRange`],Page:Jb,Inline:Yb}),Xb.displayName=`clike`,Xb.aliases=[];function Xb(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}Zb.displayName=`c`,Zb.aliases=[];function Zb(e){e.register(Xb),e.languages.c=e.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}Qb.displayName=`cpp`,Qb.aliases=[];function Qb(e){e.register(Zb),(function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])})(e)}$b.displayName=`arduino`,$b.aliases=[`ino`];function $b(e){e.register(Qb),e.languages.arduino=e.languages.extend(`cpp`,{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}ex.displayName=`bash`,ex.aliases=[`sh`,`shell`];function ex(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}tx.displayName=`csharp`,tx.aliases=[`cs`,`dotnet`];function tx(e){e.register(Xb),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),ee=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function te(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:te(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[ee]),lookbehind:!0,greedy:!0,inside:te(ee,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(e)}nx.displayName=`markup`,nx.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function nx(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&amp;/,`&`))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}rx.displayName=`css`,rx.aliases=[];function rx(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}ix.displayName=`diff`,ix.aliases=[];function ix(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
58
58
  ?|
59
- |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}ax.displayName=`go`,ax.aliases=[];function ax(e){e.register(Xb),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}ox.displayName=`ini`,ox.aliases=[];function ox(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:`selector`},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:`attr-name`},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:`attr-value`,inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}sx.displayName=`java`,sx.aliases=[];function sx(e){e.register(Xb),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}cx.displayName=`regex`,cx.aliases=[];function cx(e){(function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:`escape`},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},i={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},a=`(?:[^\\\\-]|`+n.source+`)`,o=RegExp(a+`-`+a),s={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:`variable`};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:`operator`},"char-class-punctuation":{pattern:/^\[|\]$/,alias:`punctuation`},range:{pattern:o,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:`operator`}}},"special-escape":t,"char-set":i,escape:n}},"special-escape":t,"char-set":r,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:`keyword`},{pattern:/\\k<[^<>']+>/,alias:`keyword`,inside:{"group-name":s}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:`function`},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:`punctuation`,inside:{"group-name":s}},{pattern:/\)/,alias:`punctuation`}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:`number`},alternation:{pattern:/\|/,alias:`keyword`}}})(e)}lx.displayName=`javascript`,lx.aliases=[`js`];function lx(e){e.register(Xb),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}ux.displayName=`json`,ux.aliases=[`webmanifest`];function ux(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}dx.displayName=`kotlin`,dx.aliases=[`kt`,`kts`];function dx(e){e.register(Xb),(function(e){e.languages.kotlin=e.languages.extend(`clike`,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[`class-name`];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:`punctuation`},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore(`kotlin`,`string`,{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:`multiline`,inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:`singleline`,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore(`kotlin`,`keyword`,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:`builtin`}}),e.languages.insertBefore(`kotlin`,`function`,{label:{pattern:/\b\w+@|@\w+\b/,alias:`symbol`}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin})(e)}fx.displayName=`less`,fx.aliases=[];function fx(e){e.register(rx),e.languages.less=e.languages.extend(`css`,{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore(`less`,`property`,{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:`function`}})}px.displayName=`lua`,px.aliases=[];function px(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}mx.displayName=`makefile`,mx.aliases=[];function mx(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:`builtin`},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:`symbol`,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}hx.displayName=`yaml`,hx.aliases=[`yml`];function hx(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}gx.displayName=`markdown`,gx.aliases=[`md`];function gx(e){e.register(nx),(function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}_x.displayName=`objectivec`,_x.aliases=[`objc`];function _x(e){e.register(Zb),e.languages.objectivec=e.languages.extend(`c`,{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec[`class-name`],e.languages.objc=e.languages.objectivec}vx.displayName=`perl`,vx.aliases=[];function vx(e){(function(e){var t=`(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)`;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(`\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)`),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(`\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)[msixpodualngc]*`),greedy:!0},{pattern:RegExp(`(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,`([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3`,t+`\\s*`+t].join(`|`)+`)[msixpodualngcer]*`),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:`symbol`},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:`string`},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(e)}yx.displayName=`markup-templating`,yx.aliases=[];function yx(e){e.register(nx),(function(e){function t(e,t){return`___`+e.toUpperCase()+t+`___`}Object.defineProperties(e.languages[`markup-templating`]={},{buildPlaceholders:{value:function(n,r,i,a){if(n.language===r){var o=n.tokenStack=[];n.code=n.code.replace(i,function(e){if(typeof a==`function`&&!a(e))return e;for(var i=o.length,s;n.code.indexOf(s=t(r,i))!==-1;)++i;return o[i]=e,s}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language!==r||!n.tokenStack)return;n.grammar=e.languages[r];var i=0,a=Object.keys(n.tokenStack);function o(s){for(var c=0;c<s.length&&!(i>=a.length);c++){var l=s[c];if(typeof l==`string`||l.content&&typeof l.content==`string`){var u=a[i],d=n.tokenStack[u],f=typeof l==`string`?l:l.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++i;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),`language-`+r,d),_=f.substring(m+p.length),v=[];h&&v.push.apply(v,o([h])),v.push(g),_&&v.push.apply(v,o([_])),typeof l==`string`?s.splice.apply(s,[c,1].concat(v)):l.content=v}}else l.content&&o(l.content)}return s}o(n.tokens)}}})})(e)}bx.displayName=`php`,bx.aliases=[];function bx(e){e.register(yx),(function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:`boolean`},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:`important`},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:`class-name`},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:`function`},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:`type-casting`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:`type-declaration`,greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:`type-declaration`,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:`class-name-fully-qualified`,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:`type-declaration`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-declaration`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[`class-name-fully-qualified`,`static-context`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-hint`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[`class-name-fully-qualified`,`return-type`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:a};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:`nowdoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:`backtick-quoted-string`,greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:`single-quoted-string`,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:`double-quoted-string`,greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore(`php`,`variable`,{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:`class-name`,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[`class-name`,`class-name-fully-qualified`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:`punctuation`}}}}),e.hooks.add(`before-tokenize`,function(t){/<\?/.test(t.code)&&e.languages[`markup-templating`].buildPlaceholders(t,`php`,/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),e.hooks.add(`after-tokenize`,function(t){e.languages[`markup-templating`].tokenizePlaceholders(t,`php`)})})(e)}xx.displayName=`python`,xx.aliases=[`py`];function xx(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}Sx.displayName=`r`,Sx.aliases=[];function Sx(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:`operator`},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}Cx.displayName=`ruby`,Cx.aliases=[`rb`];function Cx(e){e.register(Xb),(function(e){e.languages.ruby=e.languages.extend(`clike`,{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore(`ruby`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:`punctuation`}}};delete e.languages.ruby.function;var n=`(?:`+[`([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)`,`\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}`,`\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]`,`<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>`].join(`|`)+`)`,r=`(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)`;e.languages.insertBefore(`ruby`,`keyword`,{"regex-literal":[{pattern:RegExp(`%r`+n+`[egimnosux]{0,6}`),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(`(^|[^:]):`+r),lookbehind:!0,greedy:!0},{pattern:RegExp(`([\\r\\n{(,][ \\t]*)`+r+`(?=:(?!:))`),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore(`ruby`,`string`,{"string-literal":[{pattern:RegExp(`%[qQiIwWs]?`+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(`%x`+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}}]}),delete e.languages.ruby.string,e.languages.insertBefore(`ruby`,`number`,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby})(e)}wx.displayName=`rust`,wx.aliases=[];function wx(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}Tx.displayName=`sass`,Tx.aliases=[];function Tx(e){e.register(rx),(function(e){e.languages.sass=e.languages.extend(`css`,{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore(`sass`,`atrule`,{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore(`sass`,`property`,{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore(`sass`,`punctuation`,{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})})(e)}Ex.displayName=`scss`,Ex.aliases=[];function Ex(e){e.register(rx),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}Dx.displayName=`sql`,Dx.aliases=[];function Dx(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}Ox.displayName=`swift`,Ox.aliases=[];function Ox(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(`(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:`punctuation`},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(`(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:`punctuation`},string:/[\s\S]+/}}],directive:{pattern:RegExp(`#(?:(?:elseif|if)\\b(?:[ ]*(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)`),alias:`property`,inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:`constant`},"other-directive":{pattern:/#\w+\b/,alias:`property`},attribute:{pattern:/@\w+/,alias:`atrule`},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:`function`},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:`important`},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:`constant`},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:`keyword`},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift[`string-literal`].forEach(function(t){t.inside.interpolation.inside=e.languages.swift})}kx.displayName=`typescript`,kx.aliases=[`ts`];function kx(e){e.register(lx),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}Ax.displayName=`basic`,Ax.aliases=[];function Ax(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}jx.displayName=`vbnet`,jx.aliases=[];function jx(e){e.register(Ax),e.languages.vbnet=e.languages.extend(`basic`,{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}var Mx=0,Nx={},Px={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++Mx}),e.__id},clone:function e(t,n){n||={};var r,i;switch(Px.util.type(t)){case`Object`:if(i=Px.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=Px.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:Nx,plaintext:Nx,text:Nx,txt:Nx,extend:function(e,t){var n=Px.util.clone(Px.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=Px.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,Px.languages.DFS(Px.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=Px.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=Px.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(Px.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=Px.tokenize(r.code,r.grammar),Px.hooks.run(`after-tokenize`,r),Fx.stringify(Px.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new Rx;return zx(i,i.head,e),Lx(e,i,t,i.head,0),Vx(i)},hooks:{all:{},add:function(e,t){var n=Px.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=Px.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:Fx};function Fx(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function Ix(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function Lx(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof Fx)){var y=1,b;if(f){if(b=Ix(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof Fx)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=Ix(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=zx(t,k,E),_+=E.length),Bx(t,k,y);var A=new Fx(o,u?Px.tokenize(T,u):T,p,T);if(g=zx(t,k,A),D&&zx(t,g,D),y>1){var ee={cause:o+`,`+c,reach:O};Lx(e,t,n,g.prev,_,ee),a&&ee.reach>a.reach&&(a.reach=ee.reach)}}}}}}function Rx(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function zx(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function Bx(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function Vx(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var Hx=Px;function Ux(){}Ux.prototype=Hx;var Z=new Ux;Z.highlight=Wx,Z.register=Gx,Z.alias=Kx,Z.registered=qx,Z.listLanguages=Jx,Z.util.encode=Xx,Z.Token.stringify=Yx;function Wx(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(Z.languages,r))n=Z.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:Hx.highlight.call(Z,e,n,r)}}function Gx(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(Z.languages,e.displayName)||e(Z)}function Kx(e,t){let n=Z.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function qx(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(Z.languages,e)}function Jx(){let e=Z.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function Yx(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(Yx(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:Yx(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),Z.hooks.run(`wrap`,n),wr(n.tag+`.`+n.classes.join(`.`),Zx(n.attributes),n.content)}function Xx(e){return e}function Zx(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=Tr(e[t]));return e}Z.register(Xb),Z.register(Zb),Z.register(Qb),Z.register($b),Z.register(ex),Z.register(tx),Z.register(nx),Z.register(rx),Z.register(ix),Z.register(ax),Z.register(ox),Z.register(sx),Z.register(cx),Z.register(lx),Z.register(ux),Z.register(dx),Z.register(fx),Z.register(px),Z.register(mx),Z.register(hx),Z.register(gx),Z.register(_x),Z.register(vx),Z.register(yx),Z.register(bx),Z.register(xx),Z.register(Sx),Z.register(Cx),Z.register(wx),Z.register(Tx),Z.register(Ex),Z.register(Dx),Z.register(Ox),Z.register(kx),Z.register(Ax),Z.register(jx);var Qx=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/code.tsx`,$x=(0,L.lazy)(()=>c(()=>import(`./esm-Dfm1ivm4.js`),__vite__mapDeps([16,1,2,6,8,17,18,12,13,19,20])));function eS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var tS=Z.listLanguages().slice().sort().map(e=>({value:e,title:e}));function nS({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>eS(t),[t]),i=e.hints.defaultLang??`text`,a=r.lang??i,o=e=>n(!e.code&&!e.lang?``:{code:e.code??``,lang:e.lang??i});return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(q_,{value:a,onChange:e=>o({code:r.code,lang:e}),items:tS,placeholder:`language`},void 0,!1,{fileName:Qx,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,children:(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border border-border min-w-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:Qx,lineNumber:53,columnNumber:31},this),children:(0,R.jsxDEV)($x,{value:r.code??``,language:a,onChange:e=>o({code:e.target.value,lang:a}),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:Qx,lineNumber:54,columnNumber:13},this)},void 0,!1,{fileName:Qx,lineNumber:53,columnNumber:11},this)},void 0,!1,{fileName:Qx,lineNumber:52,columnNumber:9},this)},void 0,!1,{fileName:Qx,lineNumber:51,columnNumber:7},this)]},void 0,!0,{fileName:Qx,lineNumber:44,columnNumber:5},this)}function rS({value:e}){let t=eS(e);return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex h-9 w-full items-center rounded-lg border border-transparent px-3 text-sm text-muted`,children:t.lang&&(0,R.jsxDEV)(`span`,{className:`uppercase`,children:t.lang},void 0,!1,{fileName:Qx,lineNumber:78,columnNumber:20},this)},void 0,!1,{fileName:Qx,lineNumber:77,columnNumber:7},this),(0,R.jsxDEV)(`pre`,{className:`min-w-0 min-h-32 overflow-x-auto whitespace-pre-wrap rounded-lg border border-transparent p-3 font-mono text-[13px] leading-normal text-text/90`,children:t.code||(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:Qx,lineNumber:81,columnNumber:20},this)},void 0,!1,{fileName:Qx,lineNumber:80,columnNumber:7},this)]},void 0,!0,{fileName:Qx,lineNumber:76,columnNumber:5},this)}function iS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,bare:e.bare,view:e=>(0,R.jsxDEV)(rS,{value:e},void 0,!1,{fileName:Qx,lineNumber:99,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(nS,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Qx,lineNumber:101,columnNumber:9},this)},void 0,!1,{fileName:Qx,lineNumber:89,columnNumber:5},this)}function aS({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate text-muted`,children:eS(e).lang??`code`},void 0,!1,{fileName:Qx,lineNumber:109,columnNumber:10},this)}I({kinds:[`code`],layout:`block`,Page:iS,Inline:aS});var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/embed.tsx`;function oS(e){let t=e=>!!e&&typeof e==`object`&&typeof e.url==`string`;if(Array.isArray(e))return e.filter(t);if(t(e))return[e];try{let n=JSON.parse(String(e??``));return Array.isArray(n)?n.filter(t):t(n)?[n]:[]}catch{return[]}}var sS=e=>(e.type===`video`||e.type===`rich`)&&!!e.html;function cS(e){try{return new URL(e).hostname}catch{return e}}function lS(e){try{let t=new URL(e);if(t.protocol===`http:`||t.protocol===`https:`)return e}catch{}}function uS({rec:e,onOpen:t,onRemove:n}){return(0,R.jsxDEV)(`div`,{className:`group relative @container`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex w-full items-center gap-2 overflow-hidden rounded-lg border border-border text-left @[20rem]:flex-col @[20rem]:items-stretch @[20rem]:gap-0`,children:[(0,R.jsxDEV)(`div`,{className:`relative aspect-video w-20 shrink-0 bg-muted/40 @[20rem]:w-full`,children:[e.thumbnail?(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`h-full w-full object-cover`},void 0,!1,{fileName:Q,lineNumber:67,columnNumber:13},this):(0,R.jsxDEV)(Ds,{className:`absolute inset-0 m-auto text-muted`,size:20},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:13},this),sS(e)&&(0,R.jsxDEV)(`span`,{className:`absolute inset-0 m-auto flex h-8 w-8 items-center justify-center rounded-full bg-black/60 text-white`,children:(0,R.jsxDEV)(xe,{size:16},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:15},this)},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:65,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1 px-2 py-1.5`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:78,columnNumber:11},this),e.provider&&(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.provider},void 0,!1,{fileName:Q,lineNumber:79,columnNumber:28},this)]},void 0,!0,{fileName:Q,lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:60,columnNumber:7},this),n&&(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,className:`absolute right-1 top-1 text-muted opacity-0 hover:text-danger group-hover:opacity-100`,onClick:n,children:(0,R.jsxDEV)(nt,{size:13},void 0,!1,{fileName:Q,lineNumber:90,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:59,columnNumber:5},this)}function dS({rec:e}){let t=e.title||cS(e.url),n=lS(e.url),r=`group flex items-center gap-2 overflow-hidden rounded-lg border border-border bg-muted/5 px-3 py-2 transition-colors hover:bg-muted/15`,i=(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`shrink-0 text-muted group-hover:text-text`,children:sS(e)?(0,R.jsxDEV)(xe,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:26},this):(0,R.jsxDEV)(Ds,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:47},this)},void 0,!1,{fileName:Q,lineNumber:104,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:t},void 0,!1,{fileName:Q,lineNumber:108,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.url},void 0,!1,{fileName:Q,lineNumber:109,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:107,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:103,columnNumber:5},this);return n?(0,R.jsxDEV)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:r,children:i},void 0,!1,{fileName:Q,lineNumber:115,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:r,children:i},void 0,!1,{fileName:Q,lineNumber:119,columnNumber:5},this)}function fS({rec:e,onClose:t}){let{t:n}=a(),r=lS(e.url);return(0,R.jsxDEV)(yr,{open:!0,onOpenChange:e=>!e&&t(),children:(0,R.jsxDEV)(_r,{className:`max-w-2xl`,children:[(0,R.jsxDEV)(hr,{className:`truncate`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:132,columnNumber:9},this),sS(e)?(0,R.jsxDEV)(`iframe`,{title:e.title??`embed`,srcDoc:e.html,sandbox:`allow-scripts allow-presentation`,allowFullScreen:!0,className:`aspect-video w-full rounded-md border-0`},void 0,!1,{fileName:Q,lineNumber:134,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:[e.thumbnail&&(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`w-full rounded-md`},void 0,!1,{fileName:Q,lineNumber:143,columnNumber:31},this),e.description&&(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:e.description},void 0,!1,{fileName:Q,lineNumber:144,columnNumber:33},this)]},void 0,!0,{fileName:Q,lineNumber:142,columnNumber:11},this),r&&(0,R.jsxDEV)(`a`,{href:r,target:`_blank`,rel:`noopener noreferrer`,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,className:`w-full`,children:[(0,R.jsxDEV)(xs,{size:15},void 0,!1,{fileName:Q,lineNumber:150,columnNumber:15},this),` `,n(`embed.open`)]},void 0,!0,{fileName:Q,lineNumber:149,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:148,columnNumber:11},this)]},void 0,!0,{fileName:Q,lineNumber:131,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:130,columnNumber:5},this)}function pS({value:e,onChange:t,multiple:n}){let{t:r}=a(),i=oS(e),[o,s]=(0,L.useState)(null),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(!1),[f,p]=(0,L.useState)(!1),m=e=>t?.(e.length?e:``);async function h(){if(u||!c.trim())return;d(!0),p(!1);let e=await dr(c.trim());if(d(!1),!e)return p(!0);m([...i,e]),l(``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[t?(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-2 @md:grid-cols-2 @2xl:grid-cols-3`,children:i.map((e,t)=>(0,R.jsxDEV)(uS,{rec:e,onOpen:()=>s(e),onRemove:()=>m(i.filter((e,n)=>n!==t))},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:188,columnNumber:13},this))},void 0,!1,{fileName:Q,lineNumber:186,columnNumber:9},this):i.length>0&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:i.map((e,t)=>(0,R.jsxDEV)(dS,{rec:e},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:201,columnNumber:15},this))},void 0,!1,{fileName:Q,lineNumber:199,columnNumber:11},this),t&&(n||i.length===0)&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(E,{value:c,placeholder:r(`embed.pastePlaceholder`),onChange:e=>l(e.target.value),onKeyDown:e=>e.key===`Enter`&&(e.preventDefault(),h())},void 0,!1,{fileName:Q,lineNumber:209,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,disabled:u||!c.trim(),onClick:h,children:u?`…`:`+`},void 0,!1,{fileName:Q,lineNumber:215,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:208,columnNumber:11},this),f&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:r(`embed.resolveFailed`)},void 0,!1,{fileName:Q,lineNumber:219,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:207,columnNumber:9},this),o&&(0,R.jsxDEV)(fS,{rec:o,onClose:()=>s(null)},void 0,!1,{fileName:Q,lineNumber:222,columnNumber:16},this)]},void 0,!0,{fileName:Q,lineNumber:183,columnNumber:5},this)}function mS(e){let t=e.mode!==`view`,n=e.field.hints.multiple===!0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[e.label&&(0,R.jsxDEV)(It,{label:e.label,required:e.required},void 0,!1,{fileName:Q,lineNumber:232,columnNumber:19},this),(0,R.jsxDEV)(pS,{value:e.value,onChange:t?e.onChange:void 0,multiple:n},void 0,!1,{fileName:Q,lineNumber:233,columnNumber:7},this),e.error&&(0,R.jsxDEV)(Ot,{error:e.error},void 0,!1,{fileName:Q,lineNumber:234,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:231,columnNumber:5},this)}function hS(e){let t=oS(e.value);if(t.length===0)return null;let n=t[0];return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[sS(n)?(0,R.jsxDEV)(xe,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:26},this):(0,R.jsxDEV)(Ds,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:47},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:n.title??cS(n.url)},void 0,!1,{fileName:Q,lineNumber:246,columnNumber:7},this),t.length>1&&(0,R.jsxDEV)(`span`,{className:`text-muted`,children:[`+`,t.length-1]},void 0,!0,{fileName:Q,lineNumber:247,columnNumber:27},this)]},void 0,!0,{fileName:Q,lineNumber:244,columnNumber:5},this)}I({kinds:[`embed`],layout:`block`,Page:mS,Inline:hS});var gS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/reminder.tsx`;function _S(){return new Date().toISOString().slice(0,10)}function vS(e,t){return Math.round((Date.parse(e)-Date.parse(t))/864e5)}function yS(e,t,n=_S()){if(!e)return`neutral`;let r=vS(e,n);return r<0?`overdue`:r===0?`today`:r<=t?`soon`:`neutral`}var bS={overdue:`text-red-600`,today:`text-primary font-medium`,soon:`text-amber-600`,neutral:``};function xS({field:e,value:t}){let{t:n}=a(),r=String(t??``);if(!r)return(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:gS,lineNumber:40,columnNumber:18},this);let i=yS(r,e.hints.lead??30),o=vS(r,_S()),s=i===`today`?n(`reminder.today`):i===`overdue`?n(`reminder.overdue`,{days:Math.abs(o)}):i===`soon`?n(`reminder.inDays`,{days:o}):null;return(0,R.jsxDEV)(`span`,{className:`tabular-nums ${bS[i]}`,children:[hg(r),s?(0,R.jsxDEV)(`span`,{className:`ml-2 text-xs`,children:s},void 0,!1,{fileName:gS,lineNumber:52,columnNumber:15},this):null]},void 0,!0,{fileName:gS,lineNumber:50,columnNumber:5},this)}function SS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:t=>(0,R.jsxDEV)(xS,{field:e.field,value:t},void 0,!1,{fileName:gS,lineNumber:62,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(E,{type:`date`,value:String(e??``),onChange:e=>t(e.target.value)},void 0,!1,{fileName:gS,lineNumber:64,columnNumber:9},this)},void 0,!1,{fileName:gS,lineNumber:59,columnNumber:5},this)}function CS({field:e,value:t}){return(0,R.jsxDEV)(xS,{field:e,value:t},void 0,!1,{fileName:gS,lineNumber:71,columnNumber:10},this)}I({kinds:[`reminder`],Page:SS,Inline:CS});var wS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/weight.tsx`;function TS(e){if(e==null||e===``||Number.isNaN(Number(e)))return``;let t=Number(e);return t<1e3?`${t} г`:`${Number((t/1e3).toFixed(2))} кг`}function ES({value:e,onChange:t}){let n=e===``?``:Number(e),[r,i]=(0,L.useState)(n!==``&&Number(n)>=1e3?`kg`:`g`),a=n===``?``:r===`kg`?Number(n)/1e3:n,o=e=>Math.round(r===`kg`?e*1e3:e);return(0,R.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,min:0,value:a,onChange:e=>t(e.target.value===``?``:String(o(Number(e.target.value))))},void 0,!1,{fileName:wS,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(rt,{value:r,onValueChange:e=>i(e),children:[(0,R.jsxDEV)(it,{className:`w-20`,children:(0,R.jsxDEV)(tt,{},void 0,!1,{fileName:wS,lineNumber:32,columnNumber:11},this)},void 0,!1,{fileName:wS,lineNumber:31,columnNumber:9},this),(0,R.jsxDEV)($e,{children:[(0,R.jsxDEV)(Tt,{value:`g`,children:`г`},void 0,!1,{fileName:wS,lineNumber:35,columnNumber:11},this),(0,R.jsxDEV)(Tt,{value:`kg`,children:`кг`},void 0,!1,{fileName:wS,lineNumber:36,columnNumber:11},this)]},void 0,!0,{fileName:wS,lineNumber:34,columnNumber:9},this)]},void 0,!0,{fileName:wS,lineNumber:30,columnNumber:7},this)]},void 0,!0,{fileName:wS,lineNumber:22,columnNumber:5},this)}function DS({value:e}){let t=TS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:wS,lineNumber:45,columnNumber:14},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:wS,lineNumber:45,columnNumber:58},this)}function OS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:e=>(0,R.jsxDEV)(DS,{value:e},void 0,!1,{fileName:wS,lineNumber:61,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(ES,{value:String(e??``),onChange:t},void 0,!1,{fileName:wS,lineNumber:63,columnNumber:9},this)},void 0,!1,{fileName:wS,lineNumber:50,columnNumber:5},this)}function kS({value:e}){return(0,R.jsxDEV)(DS,{value:e},void 0,!1,{fileName:wS,lineNumber:70,columnNumber:10},this)}I({kinds:[`weight`],Page:OS,Inline:kS});var AS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/dimensions.tsx`;function jS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function MS(e){let t=jS(e);if(t.w==null||t.h==null||t.d==null)return``;let n=e=>Number((e/10).toFixed(1));return`${n(t.w)}×${n(t.h)}×${n(t.d)} см`}function NS({value:e,onChange:t}){let n=jS(e),r=(e,r)=>{let i={...n,[e]:r===``?void 0:Math.round(Number(r))};t(i.w==null&&i.h==null&&i.d==null?``:i)},i=(e,t)=>(0,R.jsxDEV)(E,{type:`number`,min:0,className:`w-20 min-w-0`,placeholder:t,value:n[e]??``,onChange:t=>r(e,t.target.value)},void 0,!1,{fileName:AS,lineNumber:27,columnNumber:5},this);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-1 min-w-0 ${Ft}`,children:[i(`w`,`Ш`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:AS,lineNumber:31,columnNumber:23},this),i(`h`,`В`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:AS,lineNumber:31,columnNumber:76},this),i(`d`,`Г`),(0,R.jsxDEV)(`span`,{className:`ml-1 text-xs text-muted`,children:`мм`},void 0,!1,{fileName:AS,lineNumber:32,columnNumber:7},this)]},void 0,!0,{fileName:AS,lineNumber:30,columnNumber:5},this)}function PS({value:e}){let t=MS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:AS,lineNumber:39,columnNumber:14},this):(0,R.jsxDEV)(Dt,{},void 0,!1,{fileName:AS,lineNumber:39,columnNumber:58},this)}function FS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:e=>(0,R.jsxDEV)(PS,{value:e},void 0,!1,{fileName:AS,lineNumber:45,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(NS,{value:e,onChange:t},void 0,!1,{fileName:AS,lineNumber:46,columnNumber:34},this)},void 0,!1,{fileName:AS,lineNumber:43,columnNumber:5},this)}function IS({value:e}){return(0,R.jsxDEV)(PS,{value:e},void 0,!1,{fileName:AS,lineNumber:49,columnNumber:58},this)}I({kinds:[`dimensions`],Page:FS,Inline:IS});var LS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-api-token-renderer.tsx`;function RS(){let e=crypto.getRandomValues(new Uint8Array(32)),t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function zS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]),[i,o]=(0,L.useState)(``),[s,c]=(0,L.useState)(null),[l,u]=(0,L.useState)(!1);function d(){er().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(d,[]);async function f(){if(!i.trim())return;u(!0);let e=RS(),n=await or(i.trim(),e);u(!1),n.ok?(c(e),o(``),d()):y.error(t(`auth.genericError`))}async function p(e){await br({title:t(`auth.tokenConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await ur(e)).ok?d():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.tokensTitle`)},void 0,!1,{fileName:LS,lineNumber:70,columnNumber:7},this),s&&(0,R.jsxDEV)(`div`,{className:`mb-3 rounded-xl border border-accent/40 bg-accent/10 px-4 py-3 text-sm text-accent break-all`,children:[t(`auth.tokenCreatedOnce`),` `,(0,R.jsxDEV)(`code`,{children:s},void 0,!1,{fileName:LS,lineNumber:73,columnNumber:40},this)]},void 0,!0,{fileName:LS,lineNumber:72,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`mb-3 flex gap-2`,children:[(0,R.jsxDEV)(E,{placeholder:t(`auth.tokenNamePlaceholder`),value:i,onChange:e=>o(e.target.value)},void 0,!1,{fileName:LS,lineNumber:77,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,disabled:l||!i.trim(),onClick:f,children:t(`auth.tokenCreate`)},void 0,!1,{fileName:LS,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:LS,lineNumber:76,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Sr,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.name},void 0,!1,{fileName:LS,lineNumber:86,columnNumber:15},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:LS,lineNumber:87,columnNumber:15},this)]},void 0,!0,{fileName:LS,lineNumber:85,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>p(e.id),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:LS,lineNumber:91,columnNumber:13},this)]},e.id,!0,{fileName:LS,lineNumber:84,columnNumber:11},this))},void 0,!1,{fileName:LS,lineNumber:82,columnNumber:7},this)]},void 0,!0,{fileName:LS,lineNumber:69,columnNumber:5},this)}I({kinds:[`internalApiToken`],layout:`block`,Page:zS});var BS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-oauth-grants-renderer.tsx`;function VS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]);function i(){ir().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(i,[]);async function o(e){await br({title:t(`auth.grantConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await Zn(e)).ok?i():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.grantsTitle`)},void 0,!1,{fileName:BS,lineNumber:44,columnNumber:7},this),n.length===0?(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:t(`auth.grantsEmpty`)},void 0,!1,{fileName:BS,lineNumber:46,columnNumber:9},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Sr,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.clientName},void 0,!1,{fileName:BS,lineNumber:52,columnNumber:17},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:BS,lineNumber:53,columnNumber:17},this)]},void 0,!0,{fileName:BS,lineNumber:51,columnNumber:15},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>o(e.clientId),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:BS,lineNumber:57,columnNumber:15},this)]},e.clientId,!0,{fileName:BS,lineNumber:50,columnNumber:13},this))},void 0,!1,{fileName:BS,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:BS,lineNumber:43,columnNumber:5},this)}I({kinds:[`internalOauthGrants`],layout:`block`,Page:VS});function HS({containerRef:e,count:t,estimateHeight:n=33,overscan:r=12,threshold:i=100}){let a=t>i,[o,s]=(0,L.useState)(n),[c,l]=(0,L.useState)({start:0,end:t}),u=(0,L.useRef)(!1),d=(0,L.useCallback)(e=>{if(!e||u.current)return;let t=e.getBoundingClientRect().height;t>0&&(u.current=!0,s(t))},[]);if((0,L.useEffect)(()=>{u.current=!1},[t]),(0,L.useEffect)(()=>{if(!a){l({start:0,end:t});return}let i=e.current;if(!i)return;let s=()=>{let e=o>0?o:n,a=Math.max(0,Math.floor(i.scrollTop/e)-r),s=Math.ceil(i.clientHeight/e)+r*2;l(e=>{let n={start:a,end:Math.min(t,a+s)};return e.start===n.start&&e.end===n.end?e:n})};s(),i.addEventListener(`scroll`,s,{passive:!0});let c=typeof ResizeObserver==`function`?new ResizeObserver(s):null;return c?.observe(i),()=>{i.removeEventListener(`scroll`,s),c?.disconnect()}},[e,t,a,o,n,r]),!a)return{start:0,end:t,padTop:0,padBottom:0,rowHeight:o,measureRow:d};let f=Math.min(c.start,Math.max(0,t-1)),p=Math.min(c.end,t);return{start:f,end:p,padTop:f*o,padBottom:Math.max(0,(t-p)*o),rowHeight:o,measureRow:d}}var US=20,WS=new Map;function GS(e){return WS.get(e)??0}function KS(e,t){for(WS.delete(e),WS.set(e,t);WS.size>US;){let e=WS.keys().next();if(e.done)break;WS.delete(e.value)}}function qS(e){for(let t of[...WS.keys()])(t===e||t.startsWith(`${e}?`))&&WS.delete(t)}var JS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordCard.tsx`;function YS(e,t,n){return n?e(n.label):t}var XS=(0,L.memo)(function({row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:o}){let{t:s}=a(),c=fn(t.fields),l=`${r}/${e.id}`,[u,...d]=n,f=Ct(c),p=f?e[f]:void 0,h=f!=null&&ly(p).length>0,g=f?d.filter(e=>e!==f):d,_=u?c[u]:void 0;return(0,R.jsxDEV)(`div`,{style:{contentVisibility:`auto`,containIntrinsicSize:`auto 120px`},className:`bg-elevated rounded-xl p-4 mb-3 border border-border transition-colors hover:border-border2 hover:bg-surface`,children:[h&&(0,R.jsxDEV)(`div`,{className:`-mx-4 -mt-4 mb-3 overflow-hidden rounded-t-xl [&_img]:rounded-none [&>*]:rounded-none`,children:(0,R.jsxDEV)(hy,{value:p},void 0,!1,{fileName:JS,lineNumber:60,columnNumber:11},this)},void 0,!1,{fileName:JS,lineNumber:59,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(m,{to:l,className:`mb-2 block min-w-0 truncate text-text`,children:_?(0,R.jsxDEV)(mr,{field:_,value:dn(_,u,e),height:24},void 0,!1,{fileName:JS,lineNumber:69,columnNumber:15},this):String(e[u]??``)},void 0,!1,{fileName:JS,lineNumber:67,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1`,children:g.map(t=>{let n=c[t],r=n?dn(n,t,e):void 0;return!n||!lt(r)?null:(0,R.jsxDEV)(`span`,{className:`text-sm text-muted inline-flex min-w-0 max-w-full items-baseline gap-1 truncate`,children:[(0,R.jsxDEV)(`span`,{className:`text-xs opacity-70 shrink-0`,children:[YS(s,t,n),`:`]},void 0,!0,{fileName:JS,lineNumber:84,columnNumber:19},this),(0,R.jsxDEV)(mr,{field:n,value:r},void 0,!1,{fileName:JS,lineNumber:85,columnNumber:19},this)]},t,!0,{fileName:JS,lineNumber:80,columnNumber:17},this)})},void 0,!1,{fileName:JS,lineNumber:74,columnNumber:11},this)]},void 0,!0,{fileName:JS,lineNumber:64,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex gap-2 shrink-0`,children:(0,R.jsxDEV)(F,{variant:`outline`,size:`icon`,disabled:o,className:`text-muted hover:text-danger hover:border-danger`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(nt,{size:15},void 0,!1,{fileName:JS,lineNumber:99,columnNumber:13},this)},void 0,!1,{fileName:JS,lineNumber:92,columnNumber:11},this)},void 0,!1,{fileName:JS,lineNumber:91,columnNumber:9},this)]},void 0,!0,{fileName:JS,lineNumber:63,columnNumber:7},this)]},void 0,!0,{fileName:JS,lineNumber:54,columnNumber:5},this)}),ZS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordRow.tsx`,QS=(0,L.memo)(function({row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:a,rowRef:o}){let s=fn(t.fields),c=`${r}/${e.id}`;return(0,R.jsxDEV)(`tr`,{ref:o,className:`group border-b border-border/60 hover:bg-elevated/60 transition-colors`,children:[n.map((t,n)=>n===0?(0,R.jsxDEV)(`td`,{className:`max-w-xs p-0`,children:(0,R.jsxDEV)(m,{to:c,className:`block px-4 py-1.5 text-sm font-medium text-text truncate`,children:s[t]?(0,R.jsxDEV)(mr,{field:s[t],value:dn(s[t],t,e)},void 0,!1,{fileName:ZS,lineNumber:45,columnNumber:24},this):String(e[t]??``)},void 0,!1,{fileName:ZS,lineNumber:44,columnNumber:13},this)},t,!1,{fileName:ZS,lineNumber:43,columnNumber:11},this):(0,R.jsxDEV)(`td`,{className:`px-4 py-1.5 text-sm max-w-xs text-text/80`,children:(0,R.jsxDEV)(`span`,{className:`block truncate`,children:s[t]?(0,R.jsxDEV)(mr,{field:s[t],value:dn(s[t],t,e)},void 0,!1,{fileName:ZS,lineNumber:51,columnNumber:24},this):String(e[t]??``)},void 0,!1,{fileName:ZS,lineNumber:50,columnNumber:13},this)},t,!1,{fileName:ZS,lineNumber:49,columnNumber:11},this)),(0,R.jsxDEV)(`td`,{className:`px-3 py-1 w-14`,children:(0,R.jsxDEV)(`div`,{className:`flex justify-end`,children:(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,disabled:a,className:`m-0 text-muted opacity-0 group-hover:opacity-100 pointer-coarse:opacity-100 hover:text-danger transition-opacity`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(nt,{size:14},void 0,!1,{fileName:ZS,lineNumber:65,columnNumber:13},this)},void 0,!1,{fileName:ZS,lineNumber:58,columnNumber:11},this)},void 0,!1,{fileName:ZS,lineNumber:57,columnNumber:9},this)},void 0,!1,{fileName:ZS,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:ZS,lineNumber:38,columnNumber:5},this)}),$S=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/views/table.tsx`;function eC(e,t){e.scrollTop=t}function tC({rows:e,shelf:t,keys:n,hrefBase:r,onDelete:i,deletingId:o,sort:s,onToggleSort:c,scrollKey:l}){let{t:u}=a(),d=fn(t.fields),f=On(`list`,640),p=(0,L.useRef)(null),m=HS({containerRef:p,count:e.length}),h=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!l)return;let e=f?p.current:null,t=e??window,n=()=>KS(l,e?e.scrollTop:window.scrollY);return t.addEventListener(`scroll`,n,{passive:!0}),()=>t.removeEventListener(`scroll`,n)},[l,f,e.length]),(0,L.useLayoutEffect)(()=>{if(!l||e.length===0)return;let t=GS(l),n=f?p.current:null,r=h.current,i=r?.key!==l;if(t<=0){h.current={key:l,applied:0};return}let a=n?n.scrollTop:window.scrollY;!i&&r&&Math.abs(a-r.applied)>2||(n?eC(n,t):typeof window.scrollTo==`function`&&window.scrollTo(0,t),h.current={key:l,applied:n?n.scrollTop:t})},[l,e.length,f,m.rowHeight]),f?(0,R.jsxDEV)(`div`,{ref:p,className:`hidden list:block overflow-auto h-[calc(100dvh-52px)]`,children:(0,R.jsxDEV)(`table`,{className:`w-full border-collapse`,children:[(0,R.jsxDEV)(`thead`,{className:`eink-solid sticky top-0 z-10 bg-bg/95 backdrop-blur`,children:(0,R.jsxDEV)(`tr`,{className:`border-b border-border`,children:[n.map(e=>(0,R.jsxDEV)(`th`,{onClick:()=>c(e),className:`px-4 py-2 text-left text-[11px] font-semibold text-muted uppercase tracking-wider cursor-pointer select-none hover:text-text transition-colors`,children:(0,R.jsxDEV)(`span`,{className:`flex items-center gap-1 whitespace-nowrap`,title:YS(u,e,d[e]),children:[YS(u,e,d[e]),s?.key===e?s.dir===`asc`?(0,R.jsxDEV)(Qe,{size:11},void 0,!1,{fileName:$S,lineNumber:100,columnNumber:23},this):(0,R.jsxDEV)(k,{size:11},void 0,!1,{fileName:$S,lineNumber:102,columnNumber:23},this):(0,R.jsxDEV)(vs,{size:11,className:`opacity-30`},void 0,!1,{fileName:$S,lineNumber:105,columnNumber:21},this)]},void 0,!0,{fileName:$S,lineNumber:96,columnNumber:17},this)},e,!1,{fileName:$S,lineNumber:91,columnNumber:15},this)),(0,R.jsxDEV)(`th`,{className:`w-12`},void 0,!1,{fileName:$S,lineNumber:110,columnNumber:13},this)]},void 0,!0,{fileName:$S,lineNumber:89,columnNumber:11},this)},void 0,!1,{fileName:$S,lineNumber:88,columnNumber:9},this),(0,R.jsxDEV)(`tbody`,{children:[m.padTop>0&&(0,R.jsxDEV)(`tr`,{"aria-hidden":!0,style:{height:m.padTop},children:(0,R.jsxDEV)(`td`,{colSpan:n.length+1},void 0,!1,{fileName:$S,lineNumber:117,columnNumber:15},this)},void 0,!1,{fileName:$S,lineNumber:116,columnNumber:13},this),e.slice(m.start,m.end).map((e,a)=>(0,R.jsxDEV)(QS,{row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id),rowRef:a===0?m.measureRow:void 0},String(e.id),!1,{fileName:$S,lineNumber:121,columnNumber:13},this)),m.padBottom>0&&(0,R.jsxDEV)(`tr`,{"aria-hidden":!0,style:{height:m.padBottom},children:(0,R.jsxDEV)(`td`,{colSpan:n.length+1},void 0,!1,{fileName:$S,lineNumber:134,columnNumber:15},this)},void 0,!1,{fileName:$S,lineNumber:133,columnNumber:13},this)]},void 0,!0,{fileName:$S,lineNumber:113,columnNumber:9},this)]},void 0,!0,{fileName:$S,lineNumber:87,columnNumber:7},this)},void 0,!1,{fileName:$S,lineNumber:86,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:`list:hidden p-4`,children:e.map(e=>(0,R.jsxDEV)(XS,{row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id)},String(e.id),!1,{fileName:$S,lineNumber:70,columnNumber:11},this))},void 0,!1,{fileName:$S,lineNumber:68,columnNumber:7},this)}dc({kind:`table`,View:tC});var nC=[{pattern:`/`,purpose:`dashboard`},{pattern:`/browse`,purpose:`library browser`},{pattern:`/settings`,purpose:`settings index`},{pattern:`/settings/account`,purpose:`the signed-in user's own account settings`},{pattern:`/settings/users`,purpose:`user list (admin)`},{pattern:`/settings/users/new`,purpose:`form for a new user (admin)`},{pattern:`/settings/users/:id`,purpose:`one user (admin)`},{pattern:`/settings/:pluginId`,purpose:`one plugin's settings`},{pattern:`/:library/:shelf`,purpose:`list of every record on a shelf`},{pattern:`/:library/:shelf/new`,purpose:`form for a new record on a shelf`},{pattern:`/:library/:shelf/:id`,purpose:`page of one record`}],rC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/LoginPage.tsx`,iC=[qt.string({key:`login`,label:`auth.login`,required:!0}),qt.password({key:`password`,label:`auth.password`,required:!0})];function aC(){let{t:e}=a(),{values:t,bridge:n}=Ve({fm:fn(iC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`login`},initial:{login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await sr(t.login,t.password);if(s(!1),!r.ok){i(r.status===401?e(`auth.invalidCredentials`):e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`div`,{className:`flex min-h-dvh items-center justify-center bg-bg px-4`,children:(0,R.jsxDEV)(`form`,{onSubmit:c,className:`w-full max-w-sm rounded-2xl border border-border bg-card p-6`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-xl font-bold text-text`,children:e(`auth.loginTitle`)},void 0,!1,{fileName:rC,lineNumber:46,columnNumber:9},this),r&&(0,R.jsxDEV)(`div`,{className:`mb-4 rounded-lg border border-danger/40 bg-danger/10 px-3 py-2 text-sm text-danger`,children:r},void 0,!1,{fileName:rC,lineNumber:47,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`mb-5 flex flex-col gap-3`,children:(0,R.jsxDEV)(We,{items:iC,ctx:{bridge:n}},void 0,!1,{fileName:rC,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:rC,lineNumber:48,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`w-full`,children:e(`auth.signIn`)},void 0,!1,{fileName:rC,lineNumber:51,columnNumber:9},this)]},void 0,!0,{fileName:rC,lineNumber:45,columnNumber:7},this)},void 0,!1,{fileName:rC,lineNumber:44,columnNumber:5},this)}var oC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SetupPage.tsx`,sC=[qt.string({key:`displayName`,label:`auth.displayName`,required:!0}),qt.string({key:`login`,label:`auth.login`,required:!0}),qt.password({key:`password`,label:`auth.password`,required:!0})];function cC(){let{t:e}=a(),{values:t,bridge:n}=Ve({fm:fn(sC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`setup`},initial:{displayName:``,login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await ar(t.login,t.password,t.displayName);if(s(!1),!r.ok){i(e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`div`,{className:`flex min-h-dvh items-center justify-center bg-bg px-4`,children:(0,R.jsxDEV)(`form`,{onSubmit:c,className:`w-full max-w-sm rounded-2xl border border-border bg-card p-6`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-xl font-bold text-text`,children:e(`auth.setupTitle`)},void 0,!1,{fileName:oC,lineNumber:47,columnNumber:9},this),r&&(0,R.jsxDEV)(`div`,{className:`mb-4 rounded-lg border border-danger/40 bg-danger/10 px-3 py-2 text-sm text-danger`,children:r},void 0,!1,{fileName:oC,lineNumber:48,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`mb-5 flex flex-col gap-3`,children:(0,R.jsxDEV)(We,{items:sC,ctx:{bridge:n}},void 0,!1,{fileName:oC,lineNumber:50,columnNumber:11},this)},void 0,!1,{fileName:oC,lineNumber:49,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`w-full`,children:e(`auth.createAccount`)},void 0,!1,{fileName:oC,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:oC,lineNumber:46,columnNumber:7},this)},void 0,!1,{fileName:oC,lineNumber:45,columnNumber:5},this)}var lC=null,uC=null;function dC(){let[e,t]=(0,L.useState)(lC);return(0,L.useEffect)(()=>{if(lC){t(lC);return}let e=!0;return uC??=fetch(`/api/libraries`).then(e=>e.json()).then(e=>lC=new Set(e.map(e=>e.id))),uC.then(n=>e&&t(n)).catch(()=>e&&t(null)),()=>{e=!1}},[]),e}var fC=`coffer-collapsed-libraries`;function pC(){try{let e=localStorage.getItem(fC);return new Set(e?JSON.parse(e):[])}catch{return new Set}}function mC(){let[e,t]=(0,L.useState)(()=>pC());return{collapsed:e,toggle:(0,L.useCallback)(e=>{t(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);try{localStorage.setItem(fC,JSON.stringify([...n]))}catch{}return n})},[])}}var hC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/dropdown-menu.tsx`,gC=ue,_C=ce,vC=L.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,R.jsxDEV)(le,{children:(0,R.jsxDEV)(P,{ref:r,sideOffset:t,className:C(`z-50 min-w-40 overflow-hidden rounded-xl border border-border bg-popover p-1 text-popover-foreground shadow-xl`,`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e),...n},void 0,!1,{fileName:hC,lineNumber:15,columnNumber:5},void 0)},void 0,!1,{fileName:hC,lineNumber:14,columnNumber:3},void 0));vC.displayName=P.displayName;var yC=L.forwardRef(({className:e,inset:t,...n},r)=>(0,R.jsxDEV)(oe,{ref:r,className:C(`relative flex cursor-pointer select-none items-center gap-2 rounded-lg px-3 py-2 text-sm outline-none transition-colors`,`focus:bg-elevated focus:text-text data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n},void 0,!1,{fileName:hC,lineNumber:33,columnNumber:3},void 0));yC.displayName=oe.displayName;var bC=L.forwardRef(({className:e,...t},n)=>(0,R.jsxDEV)(N,{ref:n,className:C(`px-3 py-1.5 text-xs font-semibold text-muted-foreground`,e),...t},void 0,!1,{fileName:hC,lineNumber:50,columnNumber:3},void 0));bC.displayName=N.displayName;var xC=L.forwardRef(({className:e,...t},n)=>(0,R.jsxDEV)(ie,{ref:n,className:C(`-mx-1 my-1 h-px bg-border`,e),...t},void 0,!1,{fileName:hC,lineNumber:62,columnNumber:3},void 0));xC.displayName=ie.displayName;var SC=({active:e})=>e?(0,R.jsxDEV)(Xe,{size:14,className:`ml-auto text-accent`},void 0,!1,{fileName:hC,lineNumber:68,columnNumber:12},void 0):null,CC=`coffer-theme`;function wC(e){return e===`light`||e===`dark`||e===`eink`?e:`auto`}function TC(){try{return wC(localStorage.getItem(CC))}catch{return wC(null)}}function EC(e){if(e===`auto`){delete document.documentElement.dataset.theme;try{localStorage.removeItem(CC)}catch{}}else{document.documentElement.dataset.theme=e;try{localStorage.setItem(CC,e)}catch{}}}function DC(){let[e,t]=(0,L.useState)(()=>TC());return{choice:e,setChoice:(0,L.useCallback)(e=>{EC(e),t(e)},[])}}var OC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/theme/ThemeSwitcher.tsx`,kC=[{value:`auto`,Icon:De,labelKey:`theme.auto`},{value:`light`,Icon:js,labelKey:`theme.light`},{value:`dark`,Icon:ks,labelKey:`theme.dark`},{value:`eink`,Icon:hs,labelKey:`theme.eink`}];function AC({direction:e=`up`,compact:t=!1}){let{t:n}=a(),{choice:r,setChoice:i}=DC(),o=kC.find(e=>e.value===r)??kC[0],s=o.Icon;return(0,R.jsxDEV)(gC,{children:[(0,R.jsxDEV)(_C,{"aria-label":n(`theme.label`),className:`flex items-center rounded-xl text-sm text-muted outline-none transition-colors hover:bg-elevated hover:text-text focus-visible:ring-2 focus-visible:ring-ring ${t?`w-full flex-col gap-0.5 py-2`:`w-full gap-2 px-3 py-2`}`,children:[(0,R.jsxDEV)(s,{size:t?18:16},void 0,!1,{fileName:OC,lineNumber:35,columnNumber:9},this),t?(0,R.jsxDEV)(`span`,{className:`text-[10px] font-semibold`,children:n(o.labelKey)},void 0,!1,{fileName:OC,lineNumber:37,columnNumber:11},this):(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:n(o.labelKey)},void 0,!1,{fileName:OC,lineNumber:39,columnNumber:11},this)]},void 0,!0,{fileName:OC,lineNumber:29,columnNumber:7},this),(0,R.jsxDEV)(vC,{align:`end`,side:e===`up`?`top`:`bottom`,children:kC.map(e=>{let t=e.Icon;return(0,R.jsxDEV)(yC,{onSelect:()=>i(e.value),className:e.value===r?`text-accent`:``,children:[(0,R.jsxDEV)(t,{size:15},void 0,!1,{fileName:OC,lineNumber:51,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:n(e.labelKey)},void 0,!1,{fileName:OC,lineNumber:52,columnNumber:15},this),(0,R.jsxDEV)(SC,{active:e.value===r},void 0,!1,{fileName:OC,lineNumber:53,columnNumber:15},this)]},e.value,!0,{fileName:OC,lineNumber:46,columnNumber:13},this)})},void 0,!1,{fileName:OC,lineNumber:42,columnNumber:7},this)]},void 0,!0,{fileName:OC,lineNumber:28,columnNumber:5},this)}var jC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/LanguageSwitcher.tsx`,MC=[{code:`uk`,label:`Українська`,short:`UA`},{code:`ru`,label:`Русский`,short:`RU`},{code:`en`,label:`English`,short:`EN`}];function NC({direction:e=`up`,compact:t=!1}){let{i18n:n}=a(),r=MC.find(e=>e.code===n.language)??MC[0];function i(e){n.changeLanguage(e);try{localStorage.setItem(`lang`,e)}catch{}fetch(`/api/plugins/core/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({language:e})}).catch(()=>{})}return(0,R.jsxDEV)(gC,{children:[(0,R.jsxDEV)(_C,{className:`flex items-center rounded-xl text-sm text-muted outline-none transition-colors hover:bg-elevated hover:text-text focus-visible:ring-2 focus-visible:ring-ring ${t?`w-full flex-col gap-0.5 py-2`:`w-full gap-2 px-3 py-2`}`,children:[(0,R.jsxDEV)(je,{size:t?18:16},void 0,!1,{fileName:jC,lineNumber:49,columnNumber:9},this),t?(0,R.jsxDEV)(`span`,{className:`text-[10px] font-semibold`,children:r.short},void 0,!1,{fileName:jC,lineNumber:51,columnNumber:11},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:r.label},void 0,!1,{fileName:jC,lineNumber:54,columnNumber:13},this),(0,R.jsxDEV)(`span`,{className:`text-xs font-semibold text-muted`,children:r.short},void 0,!1,{fileName:jC,lineNumber:55,columnNumber:13},this)]},void 0,!0,{fileName:jC,lineNumber:53,columnNumber:11},this)]},void 0,!0,{fileName:jC,lineNumber:44,columnNumber:7},this),(0,R.jsxDEV)(vC,{align:`end`,side:e===`up`?`top`:`bottom`,children:MC.map(e=>(0,R.jsxDEV)(yC,{onSelect:()=>i(e.code),className:e.code===r.code?`text-accent`:``,children:[(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:e.label},void 0,!1,{fileName:jC,lineNumber:66,columnNumber:13},this),(0,R.jsxDEV)(SC,{active:e.code===r.code},void 0,!1,{fileName:jC,lineNumber:67,columnNumber:13},this)]},e.code,!0,{fileName:jC,lineNumber:61,columnNumber:11},this))},void 0,!1,{fileName:jC,lineNumber:59,columnNumber:7},this)]},void 0,!0,{fileName:jC,lineNumber:43,columnNumber:5},this)}var PC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/SidebarNav.tsx`;function FC({onSearchOpen:e}){let{t}=a(),n=dC(),{collapsed:r,toggle:i}=mC(),o=Be();return(0,R.jsxDEV)(`aside`,{className:`hidden nav:flex flex-col w-52 shrink-0 bg-surface border-r border-border h-dvh fixed top-0 left-0 z-30`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto px-3 py-4`,children:[(0,R.jsxDEV)(l,{to:`/`,className:`flex items-center gap-2 mb-4 px-2 group`,title:t(`nav.home`),children:[(0,R.jsxDEV)(`div`,{className:`w-7 h-7 bg-accent rounded-lg flex items-center justify-center text-white text-xs font-bold`,children:`S`},void 0,!1,{fileName:PC,lineNumber:25,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`font-bold text-text group-hover:text-accent transition-colors`,children:`Coffer`},void 0,!1,{fileName:PC,lineNumber:28,columnNumber:11},this)]},void 0,!0,{fileName:PC,lineNumber:24,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":t(`search.title`),title:t(`search.title`),className:`flex w-full items-center gap-2 px-3 py-1.5 mb-3 rounded-lg text-sm text-muted bg-elevated border border-border hover:border-accent hover:text-text transition-colors`,children:[(0,R.jsxDEV)(Vt,{size:14,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:37,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`flex-1 text-left truncate`,children:t(`search.title`)},void 0,!1,{fileName:PC,lineNumber:38,columnNumber:11},this),(0,R.jsxDEV)(`kbd`,{className:`hidden lg:inline-flex items-center gap-0.5 text-[10px] text-muted border border-border rounded px-1`,children:`⌘K`},void 0,!1,{fileName:PC,lineNumber:39,columnNumber:11},this)]},void 0,!0,{fileName:PC,lineNumber:30,columnNumber:9},this),o.filter(e=>!n||n.has(e.meta.id)).map(e=>{let n=r.has(e.meta.id);return(0,R.jsxDEV)(`div`,{className:`mb-0.5`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>i(e.meta.id),className:`flex w-full items-center justify-between px-3 py-1.5 rounded-lg text-[10px] font-semibold text-muted uppercase tracking-widest hover:bg-elevated hover:text-text transition-colors`,children:[(0,R.jsxDEV)(`span`,{className:`truncate`,children:t(e.meta.label)},void 0,!1,{fileName:PC,lineNumber:54,columnNumber:19},this),(0,R.jsxDEV)(k,{size:13,className:`shrink-0 transition-transform ${n?`-rotate-90`:``}`},void 0,!1,{fileName:PC,lineNumber:55,columnNumber:19},this)]},void 0,!0,{fileName:PC,lineNumber:49,columnNumber:17},this),!n&&e.shelves.filter(e=>e.standalone!==!1).map(e=>(0,R.jsxDEV)(l,{to:`/${e.library}/${e.shelf}`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(Ae,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:74,columnNumber:25},this),t(e.label)]},e.shelf,!0,{fileName:PC,lineNumber:64,columnNumber:23},this))]},e.meta.id,!0,{fileName:PC,lineNumber:48,columnNumber:15},this)}),wn().map(e=>(0,R.jsxDEV)(l,{to:e.to,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(Ae,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:90,columnNumber:13},this),t(e.labelKey)]},e.to,!0,{fileName:PC,lineNumber:82,columnNumber:11},this))]},void 0,!0,{fileName:PC,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`border-t border-border p-2 space-y-1`,children:[(0,R.jsxDEV)(NC,{direction:`up`},void 0,!1,{fileName:PC,lineNumber:97,columnNumber:9},this),(0,R.jsxDEV)(AC,{},void 0,!1,{fileName:PC,lineNumber:98,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(Ae,{name:`lucide:settings`,size:17,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:106,columnNumber:11},this),` `,t(`nav.settings`)]},void 0,!0,{fileName:PC,lineNumber:99,columnNumber:9},this)]},void 0,!0,{fileName:PC,lineNumber:96,columnNumber:7},this)]},void 0,!0,{fileName:PC,lineNumber:22,columnNumber:5},this)}var IC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/BottomNav.tsx`;function LC({onSearchOpen:e}){let{t}=a();return(0,R.jsxDEV)(`nav`,{className:`nav:hidden fixed bottom-0 left-0 right-0 z-40 border-t border-border bg-surface pb-safe`,children:(0,R.jsxDEV)(`div`,{className:`flex items-stretch`,children:[(0,R.jsxDEV)(l,{to:`/`,end:!0,className:({isActive:e})=>`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(Te,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:22,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.home`)},void 0,!1,{fileName:IC,lineNumber:23,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:14,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,className:`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors text-muted hover:text-text`,children:[(0,R.jsxDEV)(Vt,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:30,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.search`)},void 0,!1,{fileName:IC,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:25,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/browse`,className:({isActive:e})=>`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(Es,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:40,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.browse`)},void 0,!1,{fileName:IC,lineNumber:41,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:33,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(Oe,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:50,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.settings`)},void 0,!1,{fileName:IC,lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:43,columnNumber:9},this)]},void 0,!0,{fileName:IC,lineNumber:13,columnNumber:7},this)},void 0,!1,{fileName:IC,lineNumber:12,columnNumber:5},this)}var RC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/CommandPalette.tsx`;function zC({open:e,onClose:t}){let{t:n}=a(),r=u(),i=dC(),[o,s]=(0,L.useState)(``),[c,l]=(0,L.useState)([]),[d,f]=(0,L.useState)(!1),[p,m]=(0,L.useState)(0),h=(0,L.useRef)(null);(0,L.useEffect)(()=>{e&&(s(``),l([]),m(0),setTimeout(()=>h.current?.focus(),50))},[e]),(0,L.useEffect)(()=>{if(o.length<2){l([]);return}let e=setTimeout(async()=>{f(!0);try{let e=await fetch(`/api/search?q=${encodeURIComponent(o)}&limit=15`);l(e.ok?await e.json():[])}catch{l([])}finally{f(!1)}},250);return()=>clearTimeout(e)},[o]);let g=Be().filter(e=>!i||i.has(e.meta.id)).flatMap(e=>e.shelves.filter(e=>e.standalone!==!1).map(t=>({v:e,m:t}))),_=g.filter(({m:e})=>!o||n(e.label).toLowerCase().includes(o.toLowerCase())).map(({v:e,m:t})=>({kind:`shelf`,label:n(t.label),sub:n(e.meta.label),icon:t.icon,to:`/${t.library}/${t.shelf}`})),v=c.map(e=>{let t=g.find(({m:t})=>t.library===e.library&&t.shelf===e.shelf)?.m;return{kind:`record`,label:e.label||e.id,sub:e.snippet===e.label?t?n(t.label):e.shelf:e.snippet,icon:t?.icon,to:`/${e.library}/${e.shelf}/${e.id}`}}),y=o.length>=2?[...v,..._.slice(0,5)]:_,b=y.length>0?Math.min(p,y.length-1):0;function x(e){r(e.to),t()}function S(e){if(e.key===`Escape`){t();return}e.key===`ArrowDown`&&(e.preventDefault(),m(e=>Math.min(e+1,y.length-1))),e.key===`ArrowUp`&&(e.preventDefault(),m(e=>Math.max(e-1,0))),e.key===`Enter`&&y[b]&&x(y[b])}if(!e)return null;let C=o.length<2,T=o.length>=2&&v.length>0,E=o.length>=2&&_.length>0,D=y.length===0&&!d;return(0,R.jsxDEV)(`div`,{className:`fixed inset-0 z-[60] flex items-start justify-center pt-[10vh] px-4`,onClick:e=>{e.target===e.currentTarget&&t()},children:[(0,R.jsxDEV)(`div`,{className:`absolute inset-0 bg-bg/70 backdrop-blur-sm`,onClick:t},void 0,!1,{fileName:RC,lineNumber:141,columnNumber:7},this),(0,R.jsxDEV)(`div`,{role:`dialog`,"aria-label":n(`search.title`),className:`relative w-full max-w-lg bg-surface border border-border rounded-xl shadow-xl overflow-hidden`,children:[(0,R.jsxDEV)(`div`,{className:`px-4 pt-3 pb-1 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.title`)},void 0,!1,{fileName:RC,lineNumber:150,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,R.jsxDEV)(Vt,{size:16,className:`text-muted shrink-0`},void 0,!1,{fileName:RC,lineNumber:155,columnNumber:11},this),(0,R.jsxDEV)(`input`,{ref:h,type:`text`,value:o,onChange:e=>{s(e.target.value),m(0)},onKeyDown:S,placeholder:n(`search.placeholder`),"aria-label":n(`search.title`),className:`flex-1 bg-transparent text-text placeholder:text-muted outline-none text-sm`},void 0,!1,{fileName:RC,lineNumber:156,columnNumber:11},this),d&&(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:n(`common.loading`)},void 0,!1,{fileName:RC,lineNumber:169,columnNumber:23},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`text-muted hover:text-text transition-colors`,children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:RC,lineNumber:171,columnNumber:13},this)},void 0,!1,{fileName:RC,lineNumber:170,columnNumber:11},this)]},void 0,!0,{fileName:RC,lineNumber:154,columnNumber:9},this),(0,R.jsxDEV)(`ul`,{className:`max-h-80 overflow-y-auto py-1`,children:[D&&o.length>=2&&(0,R.jsxDEV)(`li`,{className:`px-4 py-6 text-center text-muted text-sm`,children:n(`search.noResults`)},void 0,!1,{fileName:RC,lineNumber:178,columnNumber:13},this),C&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.allShelves`)},void 0,!1,{fileName:RC,lineNumber:181,columnNumber:13},this),T&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.results`)},void 0,!1,{fileName:RC,lineNumber:186,columnNumber:13},this),y.map((e,t)=>(0,R.jsxDEV)(`li`,{children:[o.length>=2&&t>=v.length&&t===v.length&&E&&(0,R.jsxDEV)(`div`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider border-t border-border mt-1 pt-2`,children:n(`search.allShelves`)},void 0,!1,{fileName:RC,lineNumber:196,columnNumber:19},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>x(e),onMouseEnter:()=>m(t),className:`w-full flex items-center gap-3 px-4 py-2 text-left transition-colors ${t===b?`bg-accent/15 text-text`:`text-text hover:bg-elevated`}`,children:[e.icon&&(0,R.jsxDEV)(Ae,{name:e.icon,size:16,className:`shrink-0 text-muted`},void 0,!1,{fileName:RC,lineNumber:208,columnNumber:33},this),(0,R.jsxDEV)(`span`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(`span`,{className:`block text-sm font-medium truncate`,children:e.label},void 0,!1,{fileName:RC,lineNumber:210,columnNumber:21},this),e.sub&&(0,R.jsxDEV)(`span`,{className:`block text-xs text-muted truncate`,children:e.sub},void 0,!1,{fileName:RC,lineNumber:211,columnNumber:34},this)]},void 0,!0,{fileName:RC,lineNumber:209,columnNumber:19},this)]},void 0,!0,{fileName:RC,lineNumber:200,columnNumber:17},this)]},`${e.to}-${t}`,!0,{fileName:RC,lineNumber:194,columnNumber:15},this))]},void 0,!0,{fileName:RC,lineNumber:176,columnNumber:9},this)]},void 0,!0,{fileName:RC,lineNumber:144,columnNumber:7},this)]},void 0,!0,{fileName:RC,lineNumber:132,columnNumber:5},this)}var BC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Dashboard.tsx`;function VC(){let[e,t]=(0,L.useState)({});return(0,L.useEffect)(()=>{let e=new AbortController;return fetch(`/api/counts`,{signal:e.signal}).then(e=>e.ok?e.json():{}).then(t).catch(()=>{}),()=>e.abort()},[]),e}function HC(){let{t:e}=a(),t=dC(),n=VC(),r=Be().filter(e=>!t||t.has(e.meta.id));return(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`mx-auto max-w-5xl px-5 py-8 md:px-8`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-[28px] font-bold text-text`,children:e(`dashboard.title`)},void 0,!1,{fileName:BC,lineNumber:31,columnNumber:9},this),r.length===0?(0,R.jsxDEV)(`p`,{className:`text-muted`,children:e(`dashboard.empty`)},void 0,!1,{fileName:BC,lineNumber:33,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:r.map(t=>{let r=t.shelves.filter(e=>e.standalone!==!1);return r.length===0?null:(0,R.jsxDEV)(`section`,{className:`rounded-2xl border border-border bg-surface p-4`,children:[(0,R.jsxDEV)(`h2`,{className:`mb-3 flex items-center gap-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:[t.meta.icon&&(0,R.jsxDEV)(Ae,{name:t.meta.icon,size:16,className:`shrink-0`},void 0,!1,{fileName:BC,lineNumber:42,columnNumber:37},this),e(t.meta.label)]},void 0,!0,{fileName:BC,lineNumber:41,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:r.map(t=>(0,R.jsxDEV)(l,{to:`/${t.library}/${t.shelf}`,className:`flex items-center gap-2.5 rounded-lg px-2.5 py-2 text-sm text-text transition-colors hover:bg-elevated`,children:[(0,R.jsxDEV)(Ae,{name:t.icon,size:17,className:`shrink-0 text-muted`},void 0,!1,{fileName:BC,lineNumber:52,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate`,children:e(t.label)},void 0,!1,{fileName:BC,lineNumber:53,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`shrink-0 rounded-full bg-accent/15 px-2 py-0.5 text-xs font-medium tabular-nums text-accent`,children:n[`${t.library}/${t.shelf}`]??`·`},void 0,!1,{fileName:BC,lineNumber:54,columnNumber:25},this)]},t.shelf,!0,{fileName:BC,lineNumber:47,columnNumber:23},this))},void 0,!1,{fileName:BC,lineNumber:45,columnNumber:19},this)]},t.meta.id,!0,{fileName:BC,lineNumber:40,columnNumber:17},this)})},void 0,!1,{fileName:BC,lineNumber:35,columnNumber:11},this)]},void 0,!0,{fileName:BC,lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:BC,lineNumber:29,columnNumber:5},this)}var UC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Browse.tsx`;function WC(){let{t:e}=a(),t=dC(),n=Be().filter(e=>!t||t.has(e.meta.id));return(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`mx-auto max-w-2xl px-4 py-6`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-5 text-2xl font-bold text-text`,children:e(`nav.browse`)},void 0,!1,{fileName:UC,lineNumber:17,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-6`,children:n.map(t=>{let n=t.shelves.filter(e=>e.standalone!==!1);return n.length===0?null:(0,R.jsxDEV)(`section`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 flex items-center gap-2 px-1 text-[11px] font-semibold uppercase tracking-widest text-muted`,children:[t.meta.icon&&(0,R.jsxDEV)(Ae,{name:t.meta.icon,size:14,className:`shrink-0`},void 0,!1,{fileName:UC,lineNumber:25,columnNumber:35},this),e(t.meta.label)]},void 0,!0,{fileName:UC,lineNumber:24,columnNumber:17},this),(0,R.jsxDEV)(`div`,{className:`overflow-hidden rounded-2xl border border-border bg-surface`,children:n.map((t,n)=>(0,R.jsxDEV)(l,{to:`/${t.library}/${t.shelf}`,className:`flex items-center gap-3 px-4 py-3 text-text transition-colors hover:bg-elevated ${n>0?`border-t border-border`:``}`,children:[(0,R.jsxDEV)(Ae,{name:t.icon,size:20,className:`shrink-0 text-muted`},void 0,!1,{fileName:UC,lineNumber:37,columnNumber:23},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate text-sm font-medium`,children:e(t.label)},void 0,!1,{fileName:UC,lineNumber:38,columnNumber:23},this),(0,R.jsxDEV)(_s,{size:16,className:`shrink-0 text-muted`},void 0,!1,{fileName:UC,lineNumber:39,columnNumber:23},this)]},t.shelf,!0,{fileName:UC,lineNumber:30,columnNumber:21},this))},void 0,!1,{fileName:UC,lineNumber:28,columnNumber:17},this)]},t.meta.id,!0,{fileName:UC,lineNumber:23,columnNumber:15},this)})},void 0,!1,{fileName:UC,lineNumber:18,columnNumber:9},this)]},void 0,!0,{fileName:UC,lineNumber:16,columnNumber:7},this)},void 0,!1,{fileName:UC,lineNumber:15,columnNumber:5},this)}var GC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/AccountSettingsPage.tsx`,KC=[qt.string({key:`displayName`,label:`auth.fieldDisplayName`}),qt.password({key:`password`,label:`auth.fieldPasswordOptional`}),qt.internalApiToken({key:`apiTokens`,label:`auth.tokensTitle`}),qt.internalOauthGrants({key:`oauthGrants`,label:`auth.grantsTitle`})];function qC(){let{t:e}=a();async function t(){let e=await rr();return{displayName:e?.displayName??``,password:e?.password??``}}async function n(e){let t=await Xn({displayName:e.displayName,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,password:t.data.password}}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}return(0,R.jsxDEV)(b,{fields:KC,recordCtx:{library:``,shelf:`account`,recordId:`me`},load:t,save:n,title:e(`auth.accountTitle`),backTo:`/settings`,backLabel:e(`settings.title`)},void 0,!1,{fileName:GC,lineNumber:36,columnNumber:5},this)}var JC=$t({shelf:`users`,library:``,label:`auth.usersTitle`,icon:`lucide:users`,views:{list:{fields:[`login`,`displayName`,`role`,`disabled`]}},fields:[qt.string({key:`login`,label:`auth.fieldLogin`}),qt.string({key:`displayName`,label:`auth.fieldDisplayName`}),qt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),qt.boolean({key:`disabled`,label:`auth.fieldDisabled`})]});function YC(e){if(!e)return null;let[t,n]=e.split(`:`);return!t||n!==`asc`&&n!==`desc`?null:{key:t,dir:n}}function XC(){let[e,t]=s(),[n,r]=(0,L.useState)(()=>e.get(`q`)??``),[i,a]=(0,L.useState)(n);(0,L.useEffect)(()=>{let e=setTimeout(()=>{a(n),t(e=>{let t=new URLSearchParams(e);return n?t.set(`q`,n):t.delete(`q`),t},{replace:!0})},300);return()=>clearTimeout(e)},[n,t]);let o=YC(e.get(`sort`));function c(e){t(t=>{let n=new URLSearchParams(t),r=YC(n.get(`sort`)),i;return i=!r||r.key!==e?{key:e,dir:`asc`}:r.dir===`asc`?{key:e,dir:`desc`}:null,i?n.set(`sort`,`${i.key}:${i.dir}`):n.delete(`sort`),n},{replace:!0})}function l(e){t(t=>{let n=new URLSearchParams(t);return e?n.set(`sort`,`${e.key}:${e.dir}`):n.delete(`sort`),n},{replace:!0})}return{q:n,setQ:r,debouncedQ:i,sort:o,toggleSort:c,setSort:l}}var ZC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/shared/Dialog.tsx`;function QC({title:e,onClose:t,children:n}){return(0,R.jsxDEV)(yr,{open:!0,onOpenChange:e=>{e||t()},children:(0,R.jsxDEV)(_r,{children:[(0,R.jsxDEV)(gr,{children:(0,R.jsxDEV)(hr,{children:e},void 0,!1,{fileName:ZC,lineNumber:24,columnNumber:11},this)},void 0,!1,{fileName:ZC,lineNumber:23,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`px-5 pb-5`,children:n},void 0,!1,{fileName:ZC,lineNumber:26,columnNumber:9},this)]},void 0,!0,{fileName:ZC,lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:ZC,lineNumber:16,columnNumber:5},this)}var $C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/GroupPanel.tsx`,ew=`__none__`;function tw({grouping:e,total:t,sort:n}){let{t:r}=a(),{fields:i,field:o,setField:s,facets:c,selected:l,setSelected:u}=e;return(0,R.jsxDEV)(`div`,{className:`folder-tree flex flex-col gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`px-1 pt-1`,children:(0,R.jsxDEV)(`div`,{className:`folder-node${l===null?` active`:``}`,onClick:()=>u(null),children:[(0,R.jsxDEV)(`span`,{className:`folder-name`,children:r(`group.all`)},void 0,!1,{fileName:$C,lineNumber:30,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:t},void 0,!1,{fileName:$C,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:$C,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:$C,lineNumber:28,columnNumber:7},this),n&&n.keys.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1 list:hidden`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`list.sortBy`)},void 0,!1,{fileName:$C,lineNumber:39,columnNumber:11},this),(0,R.jsxDEV)(rt,{value:n.value?`${n.value.key}:${n.value.dir}`:ew,onValueChange:e=>{if(e===ew)return n.onChange(null);let[t,r]=e.split(`:`);n.onChange({key:t,dir:r})},children:[(0,R.jsxDEV)(it,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(tt,{placeholder:r(`list.sortBy`)},void 0,!1,{fileName:$C,lineNumber:49,columnNumber:15},this)},void 0,!1,{fileName:$C,lineNumber:48,columnNumber:13},this),(0,R.jsxDEV)($e,{children:[(0,R.jsxDEV)(Tt,{value:ew,children:r(`list.sortNone`)},void 0,!1,{fileName:$C,lineNumber:52,columnNumber:15},this),n.keys.flatMap(({key:e,label:t})=>[(0,R.jsxDEV)(Tt,{value:`${e}:asc`,children:[t,` ↑`]},`${e}:asc`,!0,{fileName:$C,lineNumber:54,columnNumber:17},this),(0,R.jsxDEV)(Tt,{value:`${e}:desc`,children:[t,` ↓`]},`${e}:desc`,!0,{fileName:$C,lineNumber:57,columnNumber:17},this)])]},void 0,!0,{fileName:$C,lineNumber:51,columnNumber:13},this)]},void 0,!0,{fileName:$C,lineNumber:40,columnNumber:11},this)]},void 0,!0,{fileName:$C,lineNumber:38,columnNumber:9},this),i.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`group.field`)},void 0,!1,{fileName:$C,lineNumber:69,columnNumber:11},this),(0,R.jsxDEV)(rt,{value:o??void 0,onValueChange:s,children:[(0,R.jsxDEV)(it,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(tt,{placeholder:r(`group.field`)},void 0,!1,{fileName:$C,lineNumber:72,columnNumber:15},this)},void 0,!1,{fileName:$C,lineNumber:71,columnNumber:13},this),(0,R.jsxDEV)($e,{children:i.map(e=>(0,R.jsxDEV)(Tt,{value:e.key,children:e.label},e.key,!1,{fileName:$C,lineNumber:76,columnNumber:17},this))},void 0,!1,{fileName:$C,lineNumber:74,columnNumber:13},this)]},void 0,!0,{fileName:$C,lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:$C,lineNumber:68,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`folder-tree-scroll`,children:(0,R.jsxDEV)(`div`,{className:`folder-tree-nodes`,children:c.map(e=>(0,R.jsxDEV)(`div`,{className:`folder-node${l===e.key?` active`:``}`,title:e.label,onClick:()=>u(e.key),children:[(0,R.jsxDEV)(`span`,{className:`folder-name truncate`,children:e.label},void 0,!1,{fileName:$C,lineNumber:95,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:e.count},void 0,!1,{fileName:$C,lineNumber:96,columnNumber:15},this)]},e.key,!0,{fileName:$C,lineNumber:89,columnNumber:13},this))},void 0,!1,{fileName:$C,lineNumber:87,columnNumber:9},this)},void 0,!1,{fileName:$C,lineNumber:86,columnNumber:7},this)]},void 0,!0,{fileName:$C,lineNumber:26,columnNumber:5},this)}function nw(e,t){let{t:n}=a(),r=t?fn(e.fields)[t]:void 0,i=r?.prim===`relation`?r.relation:void 0,o=r?.hints?.displayKey??`name`,{labelMap:s}=yv(i?.library??``,i?.shelf??``,o);return(0,L.useMemo)(()=>({t:n,labelMap:s}),[n,s])}function rw(e,t,n,r,i){let a=new Map,o=0;for(let i of t){let t=pr(e,i[n],r);if(!t.length){o++;continue}for(let e of t){let t=a.get(e.value)??{label:e.label,n:0};t.n++,a.set(e.value,t)}}let s=[...a.entries()].map(([e,{label:t,n}])=>({key:e,label:t,count:n})).sort((e,t)=>t.count-e.count||e.label.localeCompare(t.label));return o>0&&s.push({key:iw,label:i,count:o}),s}var iw=`\0__none__`;function aw(e,t){let{t:n}=a(),r=fn(e.fields),i=(0,L.useMemo)(()=>tn(e).filter(e=>r[e]),[e,r]),o=(0,L.useMemo)(()=>i.map(e=>({key:e,label:r[e]?n(r[e].label):e})),[i,r,n]),[c,l]=s(),u=c.get(`groupBy`),d=c.get(`groupItem`)??null,f=(0,L.useMemo)(()=>{if(u&&i.includes(u))return u;let t=on(e);return t&&i.includes(t)?t:i[0]??null},[u,i,e]),p=nw(e,f);return{fields:o,field:f,setField:e=>{l(t=>{let n=new URLSearchParams(t);return n.set(`groupBy`,e),n.delete(`groupItem`),n},{replace:!0})},facets:(0,L.useMemo)(()=>{if(!f)return[];let e=r[f];return e?rw(e,t,f,p,n(`group.noValue`)):[]},[f,r,t,p,n]),selected:d,setSelected:e=>{l(t=>{let n=new URLSearchParams(t);return e===null?n.delete(`groupItem`):n.set(`groupItem`,e),n},{replace:!0})},filtered:(0,L.useMemo)(()=>{if(!f||d===null)return t;let e=r[f];return e?d===`\0__none__`?t.filter(t=>pr(e,t[f],p).length===0):t.filter(t=>pr(e,t[f],p).some(e=>e.value===d)):t},[t,f,r,d,p])}}function ow(e,t,n,r,i){let a=e=>{if(!r)return String(e[t]??``);let n=pr(r,e[t],i)[0];return n?.sort??n?.value??``};return[...e].sort((e,t)=>{let r=a(e).localeCompare(a(t),void 0,{numeric:!0,sensitivity:`base`});return n===`asc`?r:-r})}var sw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/EntityListView.tsx`;function cw({mod:e,hrefBase:t,fetchRows:n,onDelete:r,resetKey:i,cacheKey:o}){let{t:c}=a(),l=u(),[d,f]=(0,L.useState)(null),[p,m]=(0,L.useState)(!1),[h,g]=(0,L.useState)(0),{q:_,setQ:v,debouncedQ:b,sort:x,toggleSort:S,setSort:C}=XC(),[,w]=s(),T=On(`panel`,1e3),E=o?`${o}?${b}`:null,[D,O]=(0,L.useState)(()=>E?me(E)?.rows??[]:[]),[k,A]=(0,L.useState)(D.length===0),ee=(0,L.useRef)(0),te=(0,L.useCallback)(async(e=b)=>{let t=o?`${o}?${e}`:null,r=t?me(t):void 0;r&&O(r.rows),A(!r);let i=++ee.current;try{let r=await n(e);if(i!==ee.current)return;O(r),t&&fe(t,r)}catch{i===ee.current&&!r&&O([])}finally{i===ee.current&&A(!1)}},[n,b,o]),ne=(0,L.useRef)(null);(0,L.useEffect)(()=>{i!==void 0&&(ne.current!==null&&ne.current!==i&&(v(``),w({},{replace:!0})),ne.current=i)},[i]),(0,L.useEffect)(()=>{te()},[te,h]);let j=aw(e,D),M=nw(e,x?.key??null),re=(0,L.useMemo)(()=>{if(!x)return j.filtered;let t=fn(e.fields)[x.key];return ow(j.filtered,x.key,x.dir,t,M)},[j.filtered,x,e,M]),N=(0,L.useMemo)(()=>cn(e),[e]),ie=fn(e.fields),ae=(0,L.useMemo)(()=>{let t=rn(e),n=fc(t);if(!n)return console.error(`[list] невідомий вигляд '${t}' для ${e.library}/${e.shelf} — показую таблицю`),fc(`table`);let r=n.check?.(e,N);return r?(console.error(`[list] вигляд '${t}' не підходить ${e.library}/${e.shelf}: ${r} — показую таблицю`),fc(`table`)):n},[e,N]),oe={keys:N.map(e=>({key:e,label:YS(c,e,ie[e])})),value:x,onChange:C};function se(){l(`${t}/new`)}let ce=(0,L.useCallback)(async e=>{if(!await br({title:c(`actions.confirmDelete`),confirmLabel:c(`actions.delete`),variant:`destructive`}))return;f(e);let t=await r(e);if(f(null),!t.ok){y.error(t.error===`last_admin`?c(`auth.lastAdminError`):c(`common.error`));return}o&&(ge(o),qS(o)),g(e=>e+1)},[r,c,o]);return(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(Ke,{actions:(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`relative w-[220px] hidden nav:block`,children:[(0,R.jsxDEV)(Vt,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:sw,lineNumber:189,columnNumber:15},this),(0,R.jsxDEV)(`input`,{type:`search`,value:_,onChange:e=>v(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-8 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:sw,lineNumber:190,columnNumber:15},this)]},void 0,!0,{fileName:sw,lineNumber:188,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,className:`panel:hidden`,onClick:()=>m(!0),children:(0,R.jsxDEV)(Os,{size:16},void 0,!1,{fileName:sw,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:sw,lineNumber:200,columnNumber:13},this),(0,R.jsxDEV)(F,{onClick:se,children:[(0,R.jsxDEV)(Bt,{size:16},void 0,!1,{fileName:sw,lineNumber:204,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:c(`actions.new`)},void 0,!1,{fileName:sw,lineNumber:205,columnNumber:15},this)]},void 0,!0,{fileName:sw,lineNumber:203,columnNumber:13},this)]},void 0,!0,{fileName:sw,lineNumber:186,columnNumber:11},this),children:[(0,R.jsxDEV)(Ae,{name:e.icon,size:20,className:`shrink-0 text-text`},void 0,!1,{fileName:sw,lineNumber:210,columnNumber:9},this),(0,R.jsxDEV)(`h1`,{className:`text-base font-bold text-text truncate`,children:c(e.label)},void 0,!1,{fileName:sw,lineNumber:211,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`text-xs font-medium bg-accent/15 text-accent rounded-full px-2 py-0.5 tabular-nums shrink-0`,children:re.length},void 0,!1,{fileName:sw,lineNumber:212,columnNumber:9},this),k&&D.length>0&&(0,R.jsxDEV)(mt,{size:13,className:`animate-spin text-muted shrink-0`,"aria-hidden":!0},void 0,!1,{fileName:sw,lineNumber:216,columnNumber:40},this)]},void 0,!0,{fileName:sw,lineNumber:184,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex items-start`,children:[T&&(0,R.jsxDEV)(`div`,{className:`hidden panel:block w-56 shrink-0 border-r border-border sticky top-[52px] self-start h-[calc(100dvh-52px)] overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`pt-2`,children:(0,R.jsxDEV)(tw,{grouping:j,total:D.length,sort:oe},void 0,!1,{fileName:sw,lineNumber:225,columnNumber:15},this)},void 0,!1,{fileName:sw,lineNumber:224,columnNumber:13},this)},void 0,!1,{fileName:sw,lineNumber:223,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:re.length===0?k?(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted`,children:(0,R.jsxDEV)(mt,{size:28,className:`animate-spin`},void 0,!1,{fileName:sw,lineNumber:237,columnNumber:17},this)},void 0,!1,{fileName:sw,lineNumber:236,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col items-center justify-center gap-4 py-20 text-muted`,children:[(0,R.jsxDEV)(Ae,{name:e.icon,size:48,className:`text-muted`},void 0,!1,{fileName:sw,lineNumber:241,columnNumber:17},this),(0,R.jsxDEV)(`p`,{className:`text-base`,children:c(`list.empty`)},void 0,!1,{fileName:sw,lineNumber:242,columnNumber:17},this),(0,R.jsxDEV)(F,{onClick:se,children:[(0,R.jsxDEV)(Bt,{size:16},void 0,!1,{fileName:sw,lineNumber:244,columnNumber:19},this),` `,c(`actions.addFirst`)]},void 0,!0,{fileName:sw,lineNumber:243,columnNumber:17},this)]},void 0,!0,{fileName:sw,lineNumber:240,columnNumber:15},this):(0,R.jsxDEV)(ae.View,{rows:re,shelf:e,keys:N,hrefBase:t,onDelete:ce,deletingId:d,sort:x,onToggleSort:S,scrollKey:E??void 0},void 0,!1,{fileName:sw,lineNumber:249,columnNumber:13},this)},void 0,!1,{fileName:sw,lineNumber:231,columnNumber:9},this)]},void 0,!0,{fileName:sw,lineNumber:220,columnNumber:7},this),p&&(0,R.jsxDEV)(QC,{title:c(`group.title`),onClose:()=>m(!1),children:[(0,R.jsxDEV)(`div`,{className:`relative mb-4 nav:hidden`,children:[(0,R.jsxDEV)(Vt,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:sw,lineNumber:269,columnNumber:13},this),(0,R.jsxDEV)(`input`,{type:`search`,value:_,onChange:e=>v(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-9 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:sw,lineNumber:270,columnNumber:13},this)]},void 0,!0,{fileName:sw,lineNumber:268,columnNumber:11},this),(0,R.jsxDEV)(tw,{grouping:j,total:D.length,sort:oe},void 0,!1,{fileName:sw,lineNumber:279,columnNumber:11},this)]},void 0,!0,{fileName:sw,lineNumber:266,columnNumber:9},this)]},void 0,!0,{fileName:sw,lineNumber:182,columnNumber:5},this)}var lw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UsersListPage.tsx`;function uw(){return(0,R.jsxDEV)(cw,{mod:JC,hrefBase:`/settings/users`,fetchRows:async e=>{let t=await Yn(e);return t.ok?t.data:[]},onDelete:async e=>{let t=await cr(Number(e));return t.ok?{ok:!0}:t.status===409?{ok:!1,error:`last_admin`}:{ok:!1}}},void 0,!1,{fileName:lw,lineNumber:7,columnNumber:5},this)}var dw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserCreatePage.tsx`,fw=[qt.string({key:`login`,label:`auth.fieldLogin`,required:!0}),qt.string({key:`displayName`,label:`auth.fieldDisplayName`,required:!0}),qt.password({key:`password`,label:`auth.password`,required:!0}),qt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]})];function pw(){let{t:e}=a(),t=u();async function n(){return{login:``,displayName:``,password:``,role:`member`}}async function r(e){let n=await Qn({login:e.login,displayName:e.displayName,password:e.password,role:e.role});return n.ok?(t(`/settings/users`),{ok:!0,row:{login:n.data.login,displayName:n.data.displayName,password:n.data.password,role:n.data.role}}):n.status===422?{ok:!1,status:422,issues:n.data.issues}:{ok:!1,status:n.status}}return(0,R.jsxDEV)(b,{fields:fw,recordCtx:{library:``,shelf:`users`,recordId:`new`},load:n,save:r,title:e(`auth.userCreateTitle`),backTo:`/settings/users`,backLabel:e(`auth.usersTitle`)},void 0,!1,{fileName:dw,lineNumber:46,columnNumber:5},this)}var mw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserEditPage.tsx`,hw=[qt.string({key:`displayName`,label:`auth.fieldDisplayName`}),qt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),qt.boolean({key:`disabled`,label:`auth.fieldDisabled`}),qt.password({key:`password`,label:`auth.fieldPasswordOptional`})];function gw(){let{id:e}=_(),{t}=a(),n=Number(e);async function r(){let e=await Yn(),t=e.ok?e.data.find(e=>e.id===n):void 0;return{displayName:t?.displayName??``,role:t?.role??`member`,disabled:t?.disabled??!1,password:t?.password??``}}async function i(e){let t=await Kn(n,{displayName:e.displayName,role:e.role,disabled:e.disabled,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,role:t.data.role,disabled:t.data.disabled,password:t.data.password}}:t.status===409?{ok:!1,status:422,issues:[{field:`role`,code:`last_admin`,path:[],params:{}}]}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}return(0,R.jsxDEV)(b,{fields:hw,recordCtx:{library:``,shelf:`users`,recordId:e??``},load:r,save:i,title:t(`auth.usersTitle`),backTo:`/settings/users`,backLabel:t(`auth.usersTitle`)},void 0,!1,{fileName:mw,lineNumber:50,columnNumber:5},this)}var _w=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/ShelfView.tsx`;function vw(){let{t:e}=a(),{library:t,shelf:n}=_(),r=Be().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),i=(0,L.useCallback)(async e=>{let r=e?`?q=${encodeURIComponent(e)}`:``;try{return await $n(`/api/${t}/${n}${r}`)}catch{return[]}},[t,n]),o=(0,L.useCallback)(async e=>(await nr(t,n,e),{ok:!0}),[t,n]);return!r||r.standalone===!1?(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:_w,lineNumber:37,columnNumber:44},this):(0,R.jsxDEV)(cw,{mod:r,hrefBase:`/${t}/${n}`,resetKey:`${t}:${n}`,cacheKey:`${t}/${n}`,fetchRows:i,onDelete:o},void 0,!1,{fileName:_w,lineNumber:40,columnNumber:5},this)}function yw(e,t){let n={pinned:[],muted:[]};for(let[r,i]of ln(e.fields)){if(i.virtual||Qt(i.hidden,t))continue;let e=i.hints.role;e===`cover`&&!n.cover?n.cover={key:r,field:i}:e===`avatar`&&!n.avatar&&(n.avatar={key:r,field:i}),i.hints.pinned===!0&&n.pinned.push({key:r,field:i}),i.hints.emphasis===`muted`&&n.muted.push({key:r,field:i})}return n}var bw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/display/index.tsx`;function xw(e){return e!=null&&e!==``}function Sw(e,t,n,r,i){return e||!n?Promise.resolve(void 0):t(()=>n(r,i))}var Cw=new Set([`image`,`media`,`poster`,`cover`]);function ww({field:e,fieldKey:t,label:n,value:r,recordCtx:i,onChange:a,editAll:o}){return o?(0,R.jsxDEV)(fr,{field:e,fieldKey:t,label:n,value:r,mode:`edit`,recordCtx:i,onChange:a},void 0,!1,{fileName:bw,lineNumber:103,columnNumber:7},this):Cw.has(e.kind)?ly(r).length?(0,R.jsxDEV)(`div`,{className:`group/field relative`,children:(0,R.jsxDEV)(hy,{value:r,banner:!0},void 0,!1,{fileName:bw,lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:bw,lineNumber:134,columnNumber:5},this):null:(0,R.jsxDEV)(fr,{field:e,fieldKey:t,label:n,value:r,mode:`view`,recordCtx:i,onChange:a},void 0,!1,{fileName:bw,lineNumber:116,columnNumber:7},this)}function Tw(e,t,n,r){let{t:i}=a(),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)({}),[u,d]=(0,L.useState)({}),[f,p]=(0,L.useState)(!1),m=t=>t in c?c[t]:e?.[t],h=(e,t)=>l(n=>({...n,[e]:t})),g=(e,t,n)=>u[e]&&t in u[e]?u[e][t]:n?.[t],_=(e,t,n)=>d(r=>({...r,[e]:{...r[e],[t]:n}}));async function v(){if(!t)return;p(!0);let e=y.loading(i(`save.saving`)),a;if(r){let e={...c};for(let[t,n]of Object.entries(u))Object.keys(n).length&&(e[`_extend_${t}`]=n);Object.keys(e).length&&(a=await r(e)??void 0)}else{for(let[e,n]of Object.entries(c))a??=await t(e,n)??void 0;if(n)for(let[e,t]of Object.entries(u))for(let[r,i]of Object.entries(t))a??=await n(e,r,i)??void 0}if(p(!1),a){y.error(a,{id:e});return}y.success(i(`save.done`),{id:e}),s(!1),l({}),d({})}return{editAll:o,savingAll:f,startAll:()=>{l({}),d({}),s(!0)},cancelAll:()=>{s(!1),l({}),d({})},saveAll:v,baseVal:m,setBaseDraft:h,extVal:g,setExtDraft:_}}function Ew({shelf:e,record:t,onUpdate:n,onUpdateExtend:r,edit:i,errorAt:o=(()=>void 0)}){let{t:s}=a(),{saving:c,run:l}=tv(),u=fn(e.fields),d=e=>{let t=u[e];return t?.label?s(t.label):e},f=(e,t)=>{let n=u[e]?.options?.find(e=>e.value===String(t));return n?s(n.title):String(t)},p=un(e),m=(0,L.useMemo)(()=>u[p]??{kind:`text`,label:`core.fields.name`,required:!1,prim:`text`,hints:{},column:`text`,zod:void 0},[u,p]),h=!!n,g={library:e.library,shelf:e.shelf,recordId:String(t.id)},_=(0,L.useMemo)(()=>{let n={...t};if(i?.editAll)for(let[t]of ln(e.fields))n[t]=i.baseVal(t);return n},[t,i?.editAll,i?.baseVal,e.fields]),v=(0,L.useMemo)(()=>yw(e,_),[e,_]),y=(0,L.useMemo)(()=>new Set([v.cover?.key,v.avatar?.key,...v.pinned.map(e=>e.key),...v.muted.map(e=>e.key)].filter(Boolean)),[v]),b=i?.editAll?`edit`:`view`,x=e=>i?.editAll?i.baseVal(e):t[e],S=v.pinned.filter(({key:e,field:t})=>i?.editAll||Mn(t,x(e))),C=v.cover&&(i?.editAll?!0:!Cw.has(v.cover.field.kind)||ly(x(v.cover.key)).length>0),w=e=>i?.editAll?t=>i.setBaseDraft(e,t):n?t=>Sw(c,l,n,e,t):void 0,T={bridge:{mode:i?.editAll?`edit`:`view`,recordCtx:g,values:_,getValue:e=>i?.editAll?i.baseVal(e):t[e],setValue:(e,t)=>{i?.editAll?i.setBaseDraft(e,t):Sw(c,l,n,e,t)},isHidden:e=>{if(e===p||y.has(e))return!0;let t=u[e];return!!(t?.virtual||Qt(t?.hidden,_))},requiredOf:e=>Qt(u[e]?.required,_),error:e=>o([e]),touch:()=>{}}},E=(0,L.useMemo)(()=>Ue(e.library,e.shelf).map(e=>({ext:e,data:t._extends?.[e.id]})).filter(({ext:e,data:t})=>t!=null&&ln(e.fields).some(([e])=>xw(t[e]))||e.showWhen!=null&&an(e.showWhen,_)),[e.library,e.shelf,t,_]);return(0,R.jsxDEV)(Ge.Provider,{value:o,children:(0,R.jsxDEV)(`article`,{className:`max-w-7xl mx-auto px-5 py-8 md:px-8 md:py-10 flex flex-col ${Nt}`,children:[C&&v.cover&&(0,R.jsxDEV)(`div`,{className:`-mx-5 -mt-8 md:-mx-8 md:-mt-10`,children:(0,R.jsxDEV)(ww,{field:v.cover.field,fieldKey:v.cover.key,label:d(v.cover.key),value:x(v.cover.key),recordCtx:g,onChange:w(v.cover.key),editAll:i?.editAll},void 0,!1,{fileName:bw,lineNumber:375,columnNumber:11},this)},void 0,!1,{fileName:bw,lineNumber:374,columnNumber:9},this),(0,R.jsxDEV)(`header`,{className:`flex items-center gap-4`,role:`heading`,"aria-level":1,children:[v.avatar&&(0,R.jsxDEV)(`div`,{className:`shrink-0`,children:(0,R.jsxDEV)(fr,{field:v.avatar.field,fieldKey:v.avatar.key,label:d(v.avatar.key),value:x(v.avatar.key),mode:b,recordCtx:g,onChange:w(v.avatar.key)},void 0,!1,{fileName:bw,lineNumber:392,columnNumber:13},this)},void 0,!1,{fileName:bw,lineNumber:391,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsxDEV)(fr,{field:m,fieldKey:p,value:x(p),mode:b,recordCtx:g,onChange:w(p)},void 0,!1,{fileName:bw,lineNumber:404,columnNumber:11},this)},void 0,!1,{fileName:bw,lineNumber:403,columnNumber:9},this)]},void 0,!0,{fileName:bw,lineNumber:389,columnNumber:7},this),S.length>0&&(0,R.jsxDEV)(`div`,{className:`flex gap-2 flex-wrap`,children:S.map(({key:e,field:t})=>(0,R.jsxDEV)(`div`,{className:`bg-surface border border-border rounded-lg px-3 py-1.5`,children:(0,R.jsxDEV)(fr,{field:t,fieldKey:e,label:d(e),value:x(e),mode:b,recordCtx:g,onChange:w(e)},void 0,!1,{fileName:bw,lineNumber:422,columnNumber:15},this)},e,!1,{fileName:bw,lineNumber:421,columnNumber:13},this))},void 0,!1,{fileName:bw,lineNumber:419,columnNumber:9},this),(0,R.jsxDEV)(We,{items:e.fields,ctx:T},void 0,!1,{fileName:bw,lineNumber:437,columnNumber:7},this),E.map(({ext:n,data:a})=>(0,R.jsxDEV)(Dw,{ext:n,data:a,m:e,recordId:String(t.id),editable:h,edit:i,onUpdateExtend:r,fieldLabelOf:d,valueLabelOf:f},n.id,!1,{fileName:bw,lineNumber:442,columnNumber:9},this)),v.muted.length>0&&(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-3 flex flex-col gap-1.5`,children:v.muted.map(({key:e,field:t})=>(0,R.jsxDEV)(fr,{field:t,fieldKey:e,label:d(e),value:x(e),mode:b,recordCtx:g,onChange:w(e)},e,!1,{fileName:bw,lineNumber:460,columnNumber:13},this))},void 0,!1,{fileName:bw,lineNumber:458,columnNumber:9},this)]},void 0,!0,{fileName:bw,lineNumber:371,columnNumber:5},this)},void 0,!1,{fileName:bw,lineNumber:370,columnNumber:5},this)}function Dw({ext:e,data:t,m:n,recordId:r,editable:i,edit:o,onUpdateExtend:s,fieldLabelOf:c,valueLabelOf:l}){let{t:u}=a(),{saving:d,run:f}=tv(),p=o?.editAll?`edit`:`view`,m=We({items:e.fields,ctx:{renderField:(a,c)=>c.virtual||!i&&!xw(t?.[a])?null:(0,R.jsxDEV)(fr,{field:c,fieldKey:a,extId:e.id,value:o?.editAll?o.extVal(e.id,a,t):t?.[a],label:c.label?u(c.label):void 0,required:c.required===!0,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>Sw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:bw,lineNumber:518,columnNumber:9},this),renderGroup:(a,c)=>{let l=o?.editAll?o.extVal(e.id,a,t):t?.[a];if(!i&&!xw(l))return null;let u=vn({kind:xn(c)});return u?(0,R.jsxDEV)(u.Page,{el:c,value:l,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>Sw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:bw,lineNumber:543,columnNumber:9},this):null}}});return m==null?null:(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-6`,children:(0,R.jsxDEV)(Re,{label:u(e.label),icon:e.icon??`lucide:puzzle`,rail:!1,tone:`section`,labelAfter:(0,R.jsxDEV)(be,{ext:e,fieldLabel:c,valueLabel:l},void 0,!1,{fileName:bw,lineNumber:572,columnNumber:21},this),children:m},void 0,!1,{fileName:bw,lineNumber:567,columnNumber:7},this)},void 0,!1,{fileName:bw,lineNumber:566,columnNumber:5},this)}function Ow(e){return c(()=>import(e),[])}var kw=Object.assign({"../plugin-claude-agent/src/index.ts":()=>c(()=>import(`./src-Dwv_uJvi.js`),__vite__mapDeps([28,29,1,30,31])),"../plugin-console/src/index.ts":()=>c(()=>import(`./src-CkyeS9DG.js`),__vite__mapDeps([32,29,1,30,31])),"../plugin-core/src/index.ts":()=>c(()=>import(`./src-B1VIJtHj.js`),__vite__mapDeps([33,34,29,1,35,30,31])),"../plugin-devices/src/index.ts":()=>c(()=>import(`./src-82xH6mzL.js`),__vite__mapDeps([36,37,29,1,38,39,40,30,31])),"../plugin-documents/src/index.ts":()=>c(()=>import(`./src-NjjI6BoS.js`),__vite__mapDeps([41,29,1,39,40,30])),"../plugin-drone/src/index.ts":()=>c(()=>import(`./src-DGTYbs6s.js`),__vite__mapDeps([42,29,1,40,39,30])),"../plugin-finance/src/index.ts":()=>c(()=>import(`./src-DK_szrYh.js`),__vite__mapDeps([43,44,29,1,39,40,30,31])),"../plugin-garden/src/index.ts":()=>c(()=>import(`./src-DWuhltOv.js`),__vite__mapDeps([45,29,1,39,30])),"../plugin-geo/src/index.ts":()=>c(()=>import(`./src-DNRPYtVW.js`),__vite__mapDeps([46,30])),"../plugin-health/src/index.ts":()=>c(()=>import(`./src-DY4zcFBV.js`),__vite__mapDeps([47,29,1,39,40,30,31])),"../plugin-home/src/index.ts":()=>c(()=>import(`./src-MK8RohgP.js`),__vite__mapDeps([48,29,1,39,30])),"../plugin-http/src/index.ts":()=>c(()=>import(`./src-C0UxSUeR.js`),__vite__mapDeps([49,29,1,30,31])),"../plugin-kitchen/src/index.ts":()=>c(()=>import(`./src-RuPVoIKg.js`),__vite__mapDeps([50,29,1,39,30])),"../plugin-lab/src/index.ts":()=>c(()=>import(`./src-DdDc6tQm.js`),__vite__mapDeps([51,29,1,39,40,30,31,38,37,44])),"../plugin-media/src/index.ts":()=>c(()=>import(`./src-7UE-kCDq.js`),__vite__mapDeps([52,29,1,39,30,31])),"../plugin-orchestrator/src/index.ts":()=>c(()=>import(`./src-2jGaQ-C3.js`),__vite__mapDeps([53,29,1,30,31])),"../plugin-people/src/index.ts":()=>c(()=>import(`./src-BqABh1uZ.js`),__vite__mapDeps([54,29,1,39,30])),"../plugin-telegram/src/index.ts":()=>c(()=>import(`./src-DlMQDr49.js`),__vite__mapDeps([55,29,1,30,31])),"../plugin-things/src/index.ts":()=>c(()=>import(`./src-B03lewBR.js`),__vite__mapDeps([56,29,1,39,30])),"../plugin-transit/src/index.ts":()=>c(()=>import(`./src-Bw_s3Ntp.js`),__vite__mapDeps([57,29,1,39,30,31])),"../plugin-travel/src/index.ts":()=>c(()=>import(`./src-7w_NUAGr.js`),__vite__mapDeps([58,29,1,39,30])),"../plugin-webchat/src/index.ts":()=>c(()=>import(`./src-BKtjLdxS.js`),__vite__mapDeps([59,29,1,30,31])),"../plugin-webexport/src/index.ts":()=>c(()=>import(`./src-zgHG-QuP.js`),__vite__mapDeps([60,29,1,30,31]))}),Aw=Object.assign({"../plugin-devices/src/fields/ui.tsx":()=>c(()=>import(`./ui-BEX45PFz.js`),__vite__mapDeps([61,1,2,3,25,24,4,26,5,6,62,63,64,65,29,66,67,68,69,34,37])),"../plugin-geo/src/ui.tsx":()=>c(()=>import(`./ui-vRzXBV4g.js`),__vite__mapDeps([70,1,2,3,24,4,25,26,5,6,69,34,63,62,64,68,65,29,71,39,66,72])),"../plugin-webchat/src/ui/ui.tsx":()=>c(()=>import(`./ui-DzUTPbkP.js`),__vite__mapDeps([73,3,1,2,65,29,66]))});[...Object.keys(kw),...Object.keys(Aw)];async function jw(e,t){let n=Object.entries(kw).find(([t])=>t.includes(`/plugin-${e}/`));if(!n)return null;let r=(await n[1]()).default??null;for(let[n,r]of Object.entries(Aw)){if(!n.includes(`/plugin-${e}/`))continue;let i=(await r()).default;i&&t(i)}return r}var Mw={};function Nw(e,t){return Mw[`${e}/${t}`]}function Pw(e){Tn(e),e.shelf?.RecordView&&e.shelf.library&&e.shelf.shelf&&(Mw[`${e.shelf.library}/${e.shelf.shelf}`]=e.shelf.RecordView);for(let t of e.renderers??[])I(t);for(let t of e.listViews??[])dc(t);for(let[t,n]of Object.entries(e.templates??{}))gn(t,n);for(let[t,n]of Object.entries(e.translations??{}))n&&jr.addResourceBundle(t,`translation`,n,!0,!0)}function Fw(e){if(!e.startsWith(`/`)){console.warn(`[federation] skip non-same-origin css: ${e}`);return}if(document.querySelector(`link[href="${e}"]`))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t)}function Iw(e){let t=new Map(e.map(e=>[e.id,e])),n=new Set,r=[],i=e=>{if(!n.has(e.id)){n.add(e.id);for(let n of e.dependsOn){let e=t.get(n);e&&i(e)}r.push(e)}};for(let t of e)i(t);return r}async function Lw(){let e=await fetch(`/api/plugins`);if(!e.ok)throw Error(`[federation] /api/plugins ${e.status}`);let t=Iw((await e.json()).filter(e=>e.enabled)),n=await Promise.all(t.map(async e=>{{let t=[],n=await jw(e.id,e=>t.push(e)).catch(t=>(console.error(`[federation] ${e.id}: dev source failed —`,t),null));if(n)return{e,devManifest:n,devBundles:t}}if(!e.schema)return{e};let t=await Ow(e.schema).catch(t=>{console.error(`[federation] ${e.id}: schema failed, skipping plugin —`,t)});return t?{e,schemaMod:t,webMod:e.web?await Ow(e.web).catch(t=>{console.error(`[federation] ${e.id}: web bundle failed —`,t)}):void 0}:{e}})),r=[];for(let{e,devManifest:t,devBundles:i,schemaMod:a,webMod:o}of n)try{if(t){r.push(t);for(let e of i??[])Pw(e);continue}let n=a?.default;if(!n)continue;r.push(n),e.css&&Fw(e.css);let s=o?.default;s&&Pw(s)}catch(t){console.error(`[federation] ${e.id}: applying bundle failed —`,t)}return r}var Rw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/record/RecordView.tsx`;function zw(){let{t:e}=a(),{library:t,shelf:n,id:r}=_(),i=u(),o=Be().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),[s,c]=(0,L.useState)(null),l=(0,L.useRef)(s);(0,L.useEffect)(()=>{l.current=s},[s]);let[d,f]=(0,L.useState)({}),[p,m]=(0,L.useState)(!1),h=ze(e),g=e=>d[e.join(`.`)],v=Tw(s,b,x,S);if((0,L.useEffect)(()=>{if(!o||o.standalone===!1||!r)return;let e=new AbortController;return fetch(`/api/${o.library}/${o.shelf}/${r}`,{signal:e.signal}).then(e=>e.ok?e.json():null).then(c).catch(()=>{}),()=>e.abort()},[o,r]),!o||o.standalone===!1)return(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:Rw,lineNumber:52,columnNumber:44},this);async function b(t,n){if(!o||!r)return;let i=l.current?.[t];f(e=>Fe(e,t)),c(e=>e&&{...e,[t]:n});let a=await Jn(o.library,o.shelf,r,{[t]:n});if(a.ok){c(a.row??null),ve(`${o.library}/${o.shelf}`,a.row??{});return}c(e=>e&&{...e,[t]:i});let s=qe(a.issues??[],h);f(e=>({...Fe(e,t),...s}));let u=(a.issues??[]).find(e=>e.field===t)??a.issues?.[0];return u?h(u.code,u.params):e(`validation.server`)}async function x(t,n,i){if(!o||!r)return;let a=l.current?._extends?.[t]?.[n];f(e=>Fe(e,n)),c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:i}}}});let s=await Jn(o.library,o.shelf,r,{[`_extend_${t}`]:{[n]:i}});if(s.ok){c(s.row??null),ve(`${o.library}/${o.shelf}`,s.row??{});return}c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:a}}}}),f(e=>({...Fe(e,n),...qe(s.issues??[],h)}));let u=(s.issues??[]).find(e=>e.field===n)??s.issues?.[0];return u?h(u.code,u.params):e(`validation.server`)}async function S(t){if(!o||!r)return;f(e=>Object.keys(t).reduce((e,t)=>Fe(e,t),e));let n=await Jn(o.library,o.shelf,r,t);if(n.ok){c(n.row??null),ve(`${o.library}/${o.shelf}`,n.row??{});return}f(e=>({...Object.keys(t).reduce((e,t)=>Fe(e,t),e),...qe(n.issues??[],h)}));let i=n.issues?.[0];return i?h(i.code,i.params):e(`validation.server`)}async function C(){if(!o||!r||!await br({title:e(`actions.confirmDelete`),confirmLabel:e(`actions.delete`),variant:`destructive`}))return;m(!0);let t=await nr(o.library,o.shelf,r);if(m(!1),!t){y.error(e(`common.error`));return}ge(`${o.library}/${o.shelf}`),i(`/${o.library}/${o.shelf}`)}let T=Nw(o.library,o.shelf);return(0,R.jsxDEV)($_,{children:(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(Ke,{actions:s&&!T&&(v.editAll?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{disabled:v.savingAll,onClick:v.saveAll,children:[(0,R.jsxDEV)(Xe,{size:16},void 0,!1,{fileName:Rw,lineNumber:152,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.save`)},void 0,!1,{fileName:Rw,lineNumber:153,columnNumber:19},this)]},void 0,!0,{fileName:Rw,lineNumber:151,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,disabled:v.savingAll,onClick:v.cancelAll,title:e(`actions.cancel`),children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:Rw,lineNumber:162,columnNumber:19},this)},void 0,!1,{fileName:Rw,lineNumber:155,columnNumber:17},this)]},void 0,!0,{fileName:Rw,lineNumber:150,columnNumber:15},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{onClick:v.startAll,title:e(`actions.editAll`),children:[(0,R.jsxDEV)(jt,{size:16},void 0,!1,{fileName:Rw,lineNumber:168,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.edit`)},void 0,!1,{fileName:Rw,lineNumber:169,columnNumber:19},this)]},void 0,!0,{fileName:Rw,lineNumber:167,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`destructive`,size:`icon`,disabled:p,onClick:C,title:e(`actions.delete`),children:(0,R.jsxDEV)(nt,{size:16},void 0,!1,{fileName:Rw,lineNumber:178,columnNumber:19},this)},void 0,!1,{fileName:Rw,lineNumber:171,columnNumber:17},this)]},void 0,!0,{fileName:Rw,lineNumber:166,columnNumber:15},this)),children:(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,className:`px-2 bg-bg/60 border border-border/50 shadow-sm backdrop-blur-sm hover:bg-bg/80`,onClick:()=>i(`/${t}/${n}`),children:[(0,R.jsxDEV)(Pe,{size:18},void 0,!1,{fileName:Rw,lineNumber:190,columnNumber:13},this),(0,R.jsxDEV)(`span`,{className:`text-sm`,children:e(o.label)},void 0,!1,{fileName:Rw,lineNumber:191,columnNumber:13},this)]},void 0,!0,{fileName:Rw,lineNumber:184,columnNumber:11},this)},void 0,!1,{fileName:Rw,lineNumber:145,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(He,{library:o.library,shelf:o.shelf,children:s?T?(0,R.jsxDEV)(T,{record:s,onEdit:()=>{}},void 0,!1,{fileName:Rw,lineNumber:201,columnNumber:15},this):(0,R.jsxDEV)(Ew,{shelf:o,record:s,onUpdate:b,onUpdateExtend:x,edit:v,errorAt:g},void 0,!1,{fileName:Rw,lineNumber:203,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted text-sm`,children:e(`common.loading`)},void 0,!1,{fileName:Rw,lineNumber:199,columnNumber:15},this)},void 0,!1,{fileName:Rw,lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:Rw,lineNumber:196,columnNumber:9},this)]},void 0,!0,{fileName:Rw,lineNumber:142,columnNumber:7},this)},void 0,!1,{fileName:Rw,lineNumber:141,columnNumber:5},this)}var Bw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/PluginSlot.tsx`,Vw=new WeakMap;function Hw(e){let t=Vw.get(e);return t||(t=(0,L.lazy)(e),Vw.set(e,t)),t}var Uw=class extends L.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){console.error(`[plugin-slot] внесок "${this.props.id}" впав —`,e)}render(){return this.state.failed?null:this.props.children}};function Ww({name:e}){let t=Sn(e);return t.length?(0,R.jsxDEV)(R.Fragment,{children:t.map(e=>{let t=Hw(e.load);return(0,R.jsxDEV)(Uw,{id:e.id,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(t,{},void 0,!1,{fileName:Bw,lineNumber:54,columnNumber:15},this)},void 0,!1,{fileName:Bw,lineNumber:53,columnNumber:13},this)},e.id,!1,{fileName:Bw,lineNumber:52,columnNumber:11},this)})},void 0,!1,{fileName:Bw,lineNumber:48,columnNumber:5},this):null}function Gw({id:e,load:t}){let n=Hw(t);return(0,R.jsxDEV)(Uw,{id:e,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(n,{},void 0,!1,{fileName:Bw,lineNumber:69,columnNumber:9},this)},void 0,!1,{fileName:Bw,lineNumber:68,columnNumber:7},this)},void 0,!1,{fileName:Bw,lineNumber:67,columnNumber:5},this)}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Shell.tsx`,Kw=(0,L.lazy)(()=>c(()=>import(`./SettingsPage-DyjVRLju.js`).then(e=>({default:e.SettingsPage})),__vite__mapDeps([74,1,2,3,24,4,5,6,69,34,26,63,75,76,77,78]))),qw=(0,L.lazy)(()=>c(()=>import(`./PluginSettingsPage-DDzwZkMD.js`).then(e=>({default:e.PluginSettingsPage})),__vite__mapDeps([79,2,1,3,80,81,24,4,68,69,34,6,26,5,63,65,29,39,67,40,30,8,9,78]))),Jw=(0,L.lazy)(()=>c(()=>import(`./NewRecordView-Bgi-_hTE.js`).then(e=>({default:e.NewRecordView})),__vite__mapDeps([82,1,2,3,83,24,4,5,6,69,34,26,63,39,29,81,68,65,67,40,30,8,9,64,75,72]))),Yw={"/":(0,R.jsxDEV)(HC,{},void 0,!1,{fileName:$,lineNumber:32,columnNumber:8},void 0),"/browse":(0,R.jsxDEV)(WC,{},void 0,!1,{fileName:$,lineNumber:33,columnNumber:14},void 0),"/settings":(0,R.jsxDEV)(Kw,{},void 0,!1,{fileName:$,lineNumber:34,columnNumber:16},void 0),"/settings/account":(0,R.jsxDEV)(qC,{},void 0,!1,{fileName:$,lineNumber:35,columnNumber:24},void 0),"/settings/users":(0,R.jsxDEV)(uw,{},void 0,!1,{fileName:$,lineNumber:36,columnNumber:22},void 0),"/settings/users/new":(0,R.jsxDEV)(pw,{},void 0,!1,{fileName:$,lineNumber:37,columnNumber:26},void 0),"/settings/users/:id":(0,R.jsxDEV)(gw,{},void 0,!1,{fileName:$,lineNumber:38,columnNumber:26},void 0),"/settings/:pluginId":(0,R.jsxDEV)(qw,{},void 0,!1,{fileName:$,lineNumber:39,columnNumber:26},void 0),"/:library/:shelf":(0,R.jsxDEV)(vw,{},void 0,!1,{fileName:$,lineNumber:40,columnNumber:23},void 0),"/:library/:shelf/new":(0,R.jsxDEV)(Jw,{},void 0,!1,{fileName:$,lineNumber:41,columnNumber:27},void 0),"/:library/:shelf/:id":(0,R.jsxDEV)(zw,{},void 0,!1,{fileName:$,lineNumber:42,columnNumber:27},void 0)};function Xw(){return(0,R.jsxDEV)(h,{children:[(0,R.jsxDEV)(f,{path:`/login`,element:(0,R.jsxDEV)(aC,{},void 0,!1,{fileName:$,lineNumber:48,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:48,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/setup`,element:(0,R.jsxDEV)(cC,{},void 0,!1,{fileName:$,lineNumber:49,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:49,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/*`,element:(0,R.jsxDEV)(Cr,{children:(0,R.jsxDEV)(Zw,{},void 0,!1,{fileName:$,lineNumber:54,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:53,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:50,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:47,columnNumber:5},this)}function Zw(){let[e,t]=(0,L.useState)(!1);return(0,L.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),t(e=>!e))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`min-h-dvh bg-bg`,children:[(0,R.jsxDEV)(FC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:79,columnNumber:9},this),(0,R.jsxDEV)(`main`,{className:`nav:pl-52 pb-16 nav:pb-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`flex justify-center py-16`,children:(0,R.jsxDEV)(mt,{className:`animate-spin text-muted`,size:20},void 0,!1,{fileName:$,lineNumber:84,columnNumber:17},this)},void 0,!1,{fileName:$,lineNumber:83,columnNumber:15},this),children:(0,R.jsxDEV)(h,{children:[nC.map(e=>(0,R.jsxDEV)(f,{path:e.pattern,element:Yw[e.pattern]},e.pattern,!1,{fileName:$,lineNumber:90,columnNumber:17},this)),(0,R.jsxDEV)(f,{path:`/plugins`,element:(0,R.jsxDEV)(o,{to:`/settings`,replace:!0},void 0,!1,{fileName:$,lineNumber:93,columnNumber:47},this)},void 0,!1,{fileName:$,lineNumber:93,columnNumber:15},this),Cn().map(e=>(0,R.jsxDEV)(f,{path:e.path,element:(0,R.jsxDEV)(Gw,{id:e.path,load:e.load},void 0,!1,{fileName:$,lineNumber:95,columnNumber:60},this)},e.path,!1,{fileName:$,lineNumber:95,columnNumber:17},this))]},void 0,!0,{fileName:$,lineNumber:88,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:81,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:80,columnNumber:9},this),(0,R.jsxDEV)(LC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:100,columnNumber:9},this),(0,R.jsxDEV)(Ww,{name:`overlay`},void 0,!1,{fileName:$,lineNumber:101,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:78,columnNumber:7},this),(0,R.jsxDEV)(zC,{open:e,onClose:()=>t(!1)},void 0,!1,{fileName:$,lineNumber:103,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:77,columnNumber:5},this)}var Qw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/main.tsx`,$w=[];try{$w=await Lw()}catch(e){console.warn(`[federation] failed to load plugins, continuing with none:`,e)}Ye($w),Dn(nC),En(Je().map(e=>({library:e.library,shelf:e.shelf}))),(0,Er.createRoot)(document.getElementById(`root`)).render((0,R.jsxDEV)(L.StrictMode,{children:(0,R.jsxDEV)(d,{children:[(0,R.jsxDEV)(Xw,{},void 0,!1,{fileName:Qw,lineNumber:48,columnNumber:7},void 0),(0,R.jsxDEV)(xr,{},void 0,!1,{fileName:Qw,lineNumber:49,columnNumber:7},void 0),(0,R.jsxDEV)(v,{richColors:!0,position:`bottom-right`},void 0,!1,{fileName:Qw,lineNumber:50,columnNumber:7},void 0)]},void 0,!0,{fileName:Qw,lineNumber:47,columnNumber:5},void 0)},void 0,!1,{fileName:Qw,lineNumber:46,columnNumber:3},void 0));
59
+ |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}ax.displayName=`go`,ax.aliases=[];function ax(e){e.register(Xb),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}ox.displayName=`ini`,ox.aliases=[];function ox(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:`selector`},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:`attr-name`},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:`attr-value`,inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}sx.displayName=`java`,sx.aliases=[];function sx(e){e.register(Xb),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}cx.displayName=`regex`,cx.aliases=[];function cx(e){(function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:`escape`},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},i={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},a=`(?:[^\\\\-]|`+n.source+`)`,o=RegExp(a+`-`+a),s={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:`variable`};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:`operator`},"char-class-punctuation":{pattern:/^\[|\]$/,alias:`punctuation`},range:{pattern:o,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:`operator`}}},"special-escape":t,"char-set":i,escape:n}},"special-escape":t,"char-set":r,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:`keyword`},{pattern:/\\k<[^<>']+>/,alias:`keyword`,inside:{"group-name":s}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:`function`},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:`punctuation`,inside:{"group-name":s}},{pattern:/\)/,alias:`punctuation`}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:`number`},alternation:{pattern:/\|/,alias:`keyword`}}})(e)}lx.displayName=`javascript`,lx.aliases=[`js`];function lx(e){e.register(Xb),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}ux.displayName=`json`,ux.aliases=[`webmanifest`];function ux(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}dx.displayName=`kotlin`,dx.aliases=[`kt`,`kts`];function dx(e){e.register(Xb),(function(e){e.languages.kotlin=e.languages.extend(`clike`,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[`class-name`];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:`punctuation`},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore(`kotlin`,`string`,{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:`multiline`,inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:`singleline`,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore(`kotlin`,`keyword`,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:`builtin`}}),e.languages.insertBefore(`kotlin`,`function`,{label:{pattern:/\b\w+@|@\w+\b/,alias:`symbol`}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin})(e)}fx.displayName=`less`,fx.aliases=[];function fx(e){e.register(rx),e.languages.less=e.languages.extend(`css`,{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore(`less`,`property`,{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:`function`}})}px.displayName=`lua`,px.aliases=[];function px(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}mx.displayName=`makefile`,mx.aliases=[];function mx(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:`builtin`},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:`symbol`,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}hx.displayName=`yaml`,hx.aliases=[`yml`];function hx(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}gx.displayName=`markdown`,gx.aliases=[`md`];function gx(e){e.register(nx),(function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}_x.displayName=`objectivec`,_x.aliases=[`objc`];function _x(e){e.register(Zb),e.languages.objectivec=e.languages.extend(`c`,{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec[`class-name`],e.languages.objc=e.languages.objectivec}vx.displayName=`perl`,vx.aliases=[];function vx(e){(function(e){var t=`(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)`;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(`\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)`),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(`\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)[msixpodualngc]*`),greedy:!0},{pattern:RegExp(`(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,`([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3`,t+`\\s*`+t].join(`|`)+`)[msixpodualngcer]*`),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:`symbol`},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:`string`},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(e)}yx.displayName=`markup-templating`,yx.aliases=[];function yx(e){e.register(nx),(function(e){function t(e,t){return`___`+e.toUpperCase()+t+`___`}Object.defineProperties(e.languages[`markup-templating`]={},{buildPlaceholders:{value:function(n,r,i,a){if(n.language===r){var o=n.tokenStack=[];n.code=n.code.replace(i,function(e){if(typeof a==`function`&&!a(e))return e;for(var i=o.length,s;n.code.indexOf(s=t(r,i))!==-1;)++i;return o[i]=e,s}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language!==r||!n.tokenStack)return;n.grammar=e.languages[r];var i=0,a=Object.keys(n.tokenStack);function o(s){for(var c=0;c<s.length&&!(i>=a.length);c++){var l=s[c];if(typeof l==`string`||l.content&&typeof l.content==`string`){var u=a[i],d=n.tokenStack[u],f=typeof l==`string`?l:l.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++i;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),`language-`+r,d),_=f.substring(m+p.length),v=[];h&&v.push.apply(v,o([h])),v.push(g),_&&v.push.apply(v,o([_])),typeof l==`string`?s.splice.apply(s,[c,1].concat(v)):l.content=v}}else l.content&&o(l.content)}return s}o(n.tokens)}}})})(e)}bx.displayName=`php`,bx.aliases=[];function bx(e){e.register(yx),(function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:`boolean`},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:`important`},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:`class-name`},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:`function`},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:`type-casting`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:`type-declaration`,greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:`type-declaration`,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:`class-name-fully-qualified`,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:`type-declaration`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-declaration`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[`class-name-fully-qualified`,`static-context`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-hint`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[`class-name-fully-qualified`,`return-type`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:a};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:`nowdoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:`backtick-quoted-string`,greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:`single-quoted-string`,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:`double-quoted-string`,greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore(`php`,`variable`,{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:`class-name`,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[`class-name`,`class-name-fully-qualified`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:`punctuation`}}}}),e.hooks.add(`before-tokenize`,function(t){/<\?/.test(t.code)&&e.languages[`markup-templating`].buildPlaceholders(t,`php`,/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),e.hooks.add(`after-tokenize`,function(t){e.languages[`markup-templating`].tokenizePlaceholders(t,`php`)})})(e)}xx.displayName=`python`,xx.aliases=[`py`];function xx(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}Sx.displayName=`r`,Sx.aliases=[];function Sx(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:`operator`},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}Cx.displayName=`ruby`,Cx.aliases=[`rb`];function Cx(e){e.register(Xb),(function(e){e.languages.ruby=e.languages.extend(`clike`,{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore(`ruby`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:`punctuation`}}};delete e.languages.ruby.function;var n=`(?:`+[`([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)`,`\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}`,`\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]`,`<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>`].join(`|`)+`)`,r=`(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)`;e.languages.insertBefore(`ruby`,`keyword`,{"regex-literal":[{pattern:RegExp(`%r`+n+`[egimnosux]{0,6}`),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(`(^|[^:]):`+r),lookbehind:!0,greedy:!0},{pattern:RegExp(`([\\r\\n{(,][ \\t]*)`+r+`(?=:(?!:))`),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore(`ruby`,`string`,{"string-literal":[{pattern:RegExp(`%[qQiIwWs]?`+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(`%x`+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}}]}),delete e.languages.ruby.string,e.languages.insertBefore(`ruby`,`number`,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby})(e)}wx.displayName=`rust`,wx.aliases=[];function wx(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}Tx.displayName=`sass`,Tx.aliases=[];function Tx(e){e.register(rx),(function(e){e.languages.sass=e.languages.extend(`css`,{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore(`sass`,`atrule`,{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore(`sass`,`property`,{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore(`sass`,`punctuation`,{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})})(e)}Ex.displayName=`scss`,Ex.aliases=[];function Ex(e){e.register(rx),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}Dx.displayName=`sql`,Dx.aliases=[];function Dx(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}Ox.displayName=`swift`,Ox.aliases=[];function Ox(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(`(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:`punctuation`},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(`(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:`punctuation`},string:/[\s\S]+/}}],directive:{pattern:RegExp(`#(?:(?:elseif|if)\\b(?:[ ]*(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)`),alias:`property`,inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:`constant`},"other-directive":{pattern:/#\w+\b/,alias:`property`},attribute:{pattern:/@\w+/,alias:`atrule`},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:`function`},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:`important`},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:`constant`},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:`keyword`},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift[`string-literal`].forEach(function(t){t.inside.interpolation.inside=e.languages.swift})}kx.displayName=`typescript`,kx.aliases=[`ts`];function kx(e){e.register(lx),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}Ax.displayName=`basic`,Ax.aliases=[];function Ax(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}jx.displayName=`vbnet`,jx.aliases=[];function jx(e){e.register(Ax),e.languages.vbnet=e.languages.extend(`basic`,{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}var Mx=0,Nx={},Px={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++Mx}),e.__id},clone:function e(t,n){n||={};var r,i;switch(Px.util.type(t)){case`Object`:if(i=Px.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=Px.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:Nx,plaintext:Nx,text:Nx,txt:Nx,extend:function(e,t){var n=Px.util.clone(Px.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=Px.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,Px.languages.DFS(Px.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=Px.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=Px.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(Px.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=Px.tokenize(r.code,r.grammar),Px.hooks.run(`after-tokenize`,r),Fx.stringify(Px.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new Rx;return zx(i,i.head,e),Lx(e,i,t,i.head,0),Vx(i)},hooks:{all:{},add:function(e,t){var n=Px.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=Px.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:Fx};function Fx(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function Ix(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function Lx(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof Fx)){var y=1,b;if(f){if(b=Ix(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof Fx)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=Ix(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=zx(t,k,E),_+=E.length),Bx(t,k,y);var A=new Fx(o,u?Px.tokenize(T,u):T,p,T);if(g=zx(t,k,A),D&&zx(t,g,D),y>1){var ee={cause:o+`,`+c,reach:O};Lx(e,t,n,g.prev,_,ee),a&&ee.reach>a.reach&&(a.reach=ee.reach)}}}}}}function Rx(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function zx(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function Bx(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function Vx(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var Hx=Px;function Ux(){}Ux.prototype=Hx;var Z=new Ux;Z.highlight=Wx,Z.register=Gx,Z.alias=Kx,Z.registered=qx,Z.listLanguages=Jx,Z.util.encode=Xx,Z.Token.stringify=Yx;function Wx(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(Z.languages,r))n=Z.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:Hx.highlight.call(Z,e,n,r)}}function Gx(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(Z.languages,e.displayName)||e(Z)}function Kx(e,t){let n=Z.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function qx(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(Z.languages,e)}function Jx(){let e=Z.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function Yx(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(Yx(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:Yx(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),Z.hooks.run(`wrap`,n),wr(n.tag+`.`+n.classes.join(`.`),Zx(n.attributes),n.content)}function Xx(e){return e}function Zx(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=Tr(e[t]));return e}Z.register(Xb),Z.register(Zb),Z.register(Qb),Z.register($b),Z.register(ex),Z.register(tx),Z.register(nx),Z.register(rx),Z.register(ix),Z.register(ax),Z.register(ox),Z.register(sx),Z.register(cx),Z.register(lx),Z.register(ux),Z.register(dx),Z.register(fx),Z.register(px),Z.register(mx),Z.register(hx),Z.register(gx),Z.register(_x),Z.register(vx),Z.register(yx),Z.register(bx),Z.register(xx),Z.register(Sx),Z.register(Cx),Z.register(wx),Z.register(Tx),Z.register(Ex),Z.register(Dx),Z.register(Ox),Z.register(kx),Z.register(Ax),Z.register(jx);var Qx=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/code.tsx`,$x=(0,L.lazy)(()=>c(()=>import(`./esm-Dfm1ivm4.js`),__vite__mapDeps([16,1,2,6,8,17,18,12,13,19,20])));function eS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var tS=Z.listLanguages().slice().sort().map(e=>({value:e,title:e}));function nS({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>eS(t),[t]),i=e.hints.defaultLang??`text`,a=r.lang??i,o=e=>n(!e.code&&!e.lang?``:{code:e.code??``,lang:e.lang??i});return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(q_,{value:a,onChange:e=>o({code:r.code,lang:e}),items:tS,placeholder:`language`},void 0,!1,{fileName:Qx,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,children:(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border border-border min-w-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:Qx,lineNumber:53,columnNumber:31},this),children:(0,R.jsxDEV)($x,{value:r.code??``,language:a,onChange:e=>o({code:e.target.value,lang:a}),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:Qx,lineNumber:54,columnNumber:13},this)},void 0,!1,{fileName:Qx,lineNumber:53,columnNumber:11},this)},void 0,!1,{fileName:Qx,lineNumber:52,columnNumber:9},this)},void 0,!1,{fileName:Qx,lineNumber:51,columnNumber:7},this)]},void 0,!0,{fileName:Qx,lineNumber:44,columnNumber:5},this)}function rS({value:e}){let t=eS(e);return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex h-9 w-full items-center rounded-lg border border-transparent px-3 text-sm text-muted`,children:t.lang&&(0,R.jsxDEV)(`span`,{className:`uppercase`,children:t.lang},void 0,!1,{fileName:Qx,lineNumber:78,columnNumber:20},this)},void 0,!1,{fileName:Qx,lineNumber:77,columnNumber:7},this),(0,R.jsxDEV)(`pre`,{className:`min-w-0 min-h-32 overflow-x-auto whitespace-pre-wrap rounded-lg border border-transparent p-3 font-mono text-[13px] leading-normal text-text/90`,children:t.code||(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:Qx,lineNumber:81,columnNumber:20},this)},void 0,!1,{fileName:Qx,lineNumber:80,columnNumber:7},this)]},void 0,!0,{fileName:Qx,lineNumber:76,columnNumber:5},this)}function iS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,bare:e.bare,view:e=>(0,R.jsxDEV)(rS,{value:e},void 0,!1,{fileName:Qx,lineNumber:99,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(nS,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Qx,lineNumber:101,columnNumber:9},this)},void 0,!1,{fileName:Qx,lineNumber:89,columnNumber:5},this)}function aS({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate text-muted`,children:eS(e).lang??`code`},void 0,!1,{fileName:Qx,lineNumber:109,columnNumber:10},this)}I({kinds:[`code`],layout:`block`,Page:iS,Inline:aS});var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/embed.tsx`;function oS(e){let t=e=>!!e&&typeof e==`object`&&typeof e.url==`string`;if(Array.isArray(e))return e.filter(t);if(t(e))return[e];try{let n=JSON.parse(String(e??``));return Array.isArray(n)?n.filter(t):t(n)?[n]:[]}catch{return[]}}var sS=e=>(e.type===`video`||e.type===`rich`)&&!!e.html;function cS(e){try{return new URL(e).hostname}catch{return e}}function lS(e){try{let t=new URL(e);if(t.protocol===`http:`||t.protocol===`https:`)return e}catch{}}function uS({rec:e,onOpen:t,onRemove:n}){return(0,R.jsxDEV)(`div`,{className:`group relative @container`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex w-full items-center gap-2 overflow-hidden rounded-lg border border-border text-left @[20rem]:flex-col @[20rem]:items-stretch @[20rem]:gap-0`,children:[(0,R.jsxDEV)(`div`,{className:`relative aspect-video w-20 shrink-0 bg-muted/40 @[20rem]:w-full`,children:[e.thumbnail?(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`h-full w-full object-cover`},void 0,!1,{fileName:Q,lineNumber:67,columnNumber:13},this):(0,R.jsxDEV)(Ds,{className:`absolute inset-0 m-auto text-muted`,size:20},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:13},this),sS(e)&&(0,R.jsxDEV)(`span`,{className:`absolute inset-0 m-auto flex h-8 w-8 items-center justify-center rounded-full bg-black/60 text-white`,children:(0,R.jsxDEV)(De,{size:16},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:15},this)},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:65,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1 px-2 py-1.5`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:78,columnNumber:11},this),e.provider&&(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.provider},void 0,!1,{fileName:Q,lineNumber:79,columnNumber:28},this)]},void 0,!0,{fileName:Q,lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:60,columnNumber:7},this),n&&(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,className:`absolute right-1 top-1 text-muted opacity-0 hover:text-danger group-hover:opacity-100`,onClick:n,children:(0,R.jsxDEV)(rt,{size:13},void 0,!1,{fileName:Q,lineNumber:90,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:59,columnNumber:5},this)}function dS({rec:e}){let t=e.title||cS(e.url),n=lS(e.url),r=`group flex items-center gap-2 overflow-hidden rounded-lg border border-border bg-muted/5 px-3 py-2 transition-colors hover:bg-muted/15`,i=(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`shrink-0 text-muted group-hover:text-text`,children:sS(e)?(0,R.jsxDEV)(De,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:26},this):(0,R.jsxDEV)(Ds,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:47},this)},void 0,!1,{fileName:Q,lineNumber:104,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:t},void 0,!1,{fileName:Q,lineNumber:108,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.url},void 0,!1,{fileName:Q,lineNumber:109,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:107,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:103,columnNumber:5},this);return n?(0,R.jsxDEV)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:r,children:i},void 0,!1,{fileName:Q,lineNumber:115,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:r,children:i},void 0,!1,{fileName:Q,lineNumber:119,columnNumber:5},this)}function fS({rec:e,onClose:t}){let{t:n}=a(),r=lS(e.url);return(0,R.jsxDEV)(yr,{open:!0,onOpenChange:e=>!e&&t(),children:(0,R.jsxDEV)(_r,{className:`max-w-2xl`,children:[(0,R.jsxDEV)(hr,{className:`truncate`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:132,columnNumber:9},this),sS(e)?(0,R.jsxDEV)(`iframe`,{title:e.title??`embed`,srcDoc:e.html,sandbox:`allow-scripts allow-presentation`,allowFullScreen:!0,className:`aspect-video w-full rounded-md border-0`},void 0,!1,{fileName:Q,lineNumber:134,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:[e.thumbnail&&(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`w-full rounded-md`},void 0,!1,{fileName:Q,lineNumber:143,columnNumber:31},this),e.description&&(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:e.description},void 0,!1,{fileName:Q,lineNumber:144,columnNumber:33},this)]},void 0,!0,{fileName:Q,lineNumber:142,columnNumber:11},this),r&&(0,R.jsxDEV)(`a`,{href:r,target:`_blank`,rel:`noopener noreferrer`,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,className:`w-full`,children:[(0,R.jsxDEV)(xs,{size:15},void 0,!1,{fileName:Q,lineNumber:150,columnNumber:15},this),` `,n(`embed.open`)]},void 0,!0,{fileName:Q,lineNumber:149,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:148,columnNumber:11},this)]},void 0,!0,{fileName:Q,lineNumber:131,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:130,columnNumber:5},this)}function pS({value:e,onChange:t,multiple:n}){let{t:r}=a(),i=oS(e),[o,s]=(0,L.useState)(null),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(!1),[f,p]=(0,L.useState)(!1),m=e=>t?.(e.length?e:``);async function h(){if(u||!c.trim())return;d(!0),p(!1);let e=await dr(c.trim());if(d(!1),!e)return p(!0);m([...i,e]),l(``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[t?(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-2 @md:grid-cols-2 @2xl:grid-cols-3`,children:i.map((e,t)=>(0,R.jsxDEV)(uS,{rec:e,onOpen:()=>s(e),onRemove:()=>m(i.filter((e,n)=>n!==t))},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:188,columnNumber:13},this))},void 0,!1,{fileName:Q,lineNumber:186,columnNumber:9},this):i.length>0&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:i.map((e,t)=>(0,R.jsxDEV)(dS,{rec:e},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:201,columnNumber:15},this))},void 0,!1,{fileName:Q,lineNumber:199,columnNumber:11},this),t&&(n||i.length===0)&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(E,{value:c,placeholder:r(`embed.pastePlaceholder`),onChange:e=>l(e.target.value),onKeyDown:e=>e.key===`Enter`&&(e.preventDefault(),h())},void 0,!1,{fileName:Q,lineNumber:209,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,disabled:u||!c.trim(),onClick:h,children:u?`…`:`+`},void 0,!1,{fileName:Q,lineNumber:215,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:208,columnNumber:11},this),f&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:r(`embed.resolveFailed`)},void 0,!1,{fileName:Q,lineNumber:219,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:207,columnNumber:9},this),o&&(0,R.jsxDEV)(fS,{rec:o,onClose:()=>s(null)},void 0,!1,{fileName:Q,lineNumber:222,columnNumber:16},this)]},void 0,!0,{fileName:Q,lineNumber:183,columnNumber:5},this)}function mS(e){let t=e.mode!==`view`,n=e.field.hints.multiple===!0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[e.label&&(0,R.jsxDEV)(Lt,{label:e.label,required:e.required},void 0,!1,{fileName:Q,lineNumber:232,columnNumber:19},this),(0,R.jsxDEV)(pS,{value:e.value,onChange:t?e.onChange:void 0,multiple:n},void 0,!1,{fileName:Q,lineNumber:233,columnNumber:7},this),e.error&&(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:Q,lineNumber:234,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:231,columnNumber:5},this)}function hS(e){let t=oS(e.value);if(t.length===0)return null;let n=t[0];return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[sS(n)?(0,R.jsxDEV)(De,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:26},this):(0,R.jsxDEV)(Ds,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:47},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:n.title??cS(n.url)},void 0,!1,{fileName:Q,lineNumber:246,columnNumber:7},this),t.length>1&&(0,R.jsxDEV)(`span`,{className:`text-muted`,children:[`+`,t.length-1]},void 0,!0,{fileName:Q,lineNumber:247,columnNumber:27},this)]},void 0,!0,{fileName:Q,lineNumber:244,columnNumber:5},this)}I({kinds:[`embed`],layout:`block`,Page:mS,Inline:hS});var gS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/reminder.tsx`;function _S(){return new Date().toISOString().slice(0,10)}function vS(e,t){return Math.round((Date.parse(e)-Date.parse(t))/864e5)}function yS(e,t,n=_S()){if(!e)return`neutral`;let r=vS(e,n);return r<0?`overdue`:r===0?`today`:r<=t?`soon`:`neutral`}var bS={overdue:`text-red-600`,today:`text-primary font-medium`,soon:`text-amber-600`,neutral:``};function xS({field:e,value:t}){let{t:n}=a(),r=String(t??``);if(!r)return(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:gS,lineNumber:40,columnNumber:18},this);let i=yS(r,e.hints.lead??30),o=vS(r,_S()),s=i===`today`?n(`reminder.today`):i===`overdue`?n(`reminder.overdue`,{days:Math.abs(o)}):i===`soon`?n(`reminder.inDays`,{days:o}):null;return(0,R.jsxDEV)(`span`,{className:`tabular-nums ${bS[i]}`,children:[hg(r),s?(0,R.jsxDEV)(`span`,{className:`ml-2 text-xs`,children:s},void 0,!1,{fileName:gS,lineNumber:52,columnNumber:15},this):null]},void 0,!0,{fileName:gS,lineNumber:50,columnNumber:5},this)}function SS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:t=>(0,R.jsxDEV)(xS,{field:e.field,value:t},void 0,!1,{fileName:gS,lineNumber:62,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(E,{type:`date`,value:String(e??``),onChange:e=>t(e.target.value)},void 0,!1,{fileName:gS,lineNumber:64,columnNumber:9},this)},void 0,!1,{fileName:gS,lineNumber:59,columnNumber:5},this)}function CS({field:e,value:t}){return(0,R.jsxDEV)(xS,{field:e,value:t},void 0,!1,{fileName:gS,lineNumber:71,columnNumber:10},this)}I({kinds:[`reminder`],Page:SS,Inline:CS});var wS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/weight.tsx`;function TS(e){if(e==null||e===``||Number.isNaN(Number(e)))return``;let t=Number(e);return t<1e3?`${t} г`:`${Number((t/1e3).toFixed(2))} кг`}function ES({value:e,onChange:t}){let n=e===``?``:Number(e),[r,i]=(0,L.useState)(n!==``&&Number(n)>=1e3?`kg`:`g`),a=n===``?``:r===`kg`?Number(n)/1e3:n,o=e=>Math.round(r===`kg`?e*1e3:e);return(0,R.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,min:0,value:a,onChange:e=>t(e.target.value===``?``:String(o(Number(e.target.value))))},void 0,!1,{fileName:wS,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(it,{value:r,onValueChange:e=>i(e),children:[(0,R.jsxDEV)(at,{className:`w-20`,children:(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:wS,lineNumber:32,columnNumber:11},this)},void 0,!1,{fileName:wS,lineNumber:31,columnNumber:9},this),(0,R.jsxDEV)(et,{children:[(0,R.jsxDEV)(Et,{value:`g`,children:`г`},void 0,!1,{fileName:wS,lineNumber:35,columnNumber:11},this),(0,R.jsxDEV)(Et,{value:`kg`,children:`кг`},void 0,!1,{fileName:wS,lineNumber:36,columnNumber:11},this)]},void 0,!0,{fileName:wS,lineNumber:34,columnNumber:9},this)]},void 0,!0,{fileName:wS,lineNumber:30,columnNumber:7},this)]},void 0,!0,{fileName:wS,lineNumber:22,columnNumber:5},this)}function DS({value:e}){let t=TS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:wS,lineNumber:45,columnNumber:14},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:wS,lineNumber:45,columnNumber:58},this)}function OS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:e=>(0,R.jsxDEV)(DS,{value:e},void 0,!1,{fileName:wS,lineNumber:61,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(ES,{value:String(e??``),onChange:t},void 0,!1,{fileName:wS,lineNumber:63,columnNumber:9},this)},void 0,!1,{fileName:wS,lineNumber:50,columnNumber:5},this)}function kS({value:e}){return(0,R.jsxDEV)(DS,{value:e},void 0,!1,{fileName:wS,lineNumber:70,columnNumber:10},this)}I({kinds:[`weight`],Page:OS,Inline:kS});var AS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/dimensions.tsx`;function jS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function MS(e){let t=jS(e);if(t.w==null||t.h==null||t.d==null)return``;let n=e=>Number((e/10).toFixed(1));return`${n(t.w)}×${n(t.h)}×${n(t.d)} см`}function NS({value:e,onChange:t}){let n=jS(e),r=(e,r)=>{let i={...n,[e]:r===``?void 0:Math.round(Number(r))};t(i.w==null&&i.h==null&&i.d==null?``:i)},i=(e,t)=>(0,R.jsxDEV)(E,{type:`number`,min:0,className:`w-20 min-w-0`,placeholder:t,value:n[e]??``,onChange:t=>r(e,t.target.value)},void 0,!1,{fileName:AS,lineNumber:27,columnNumber:5},this);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-1 min-w-0 ${It}`,children:[i(`w`,`Ш`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:AS,lineNumber:31,columnNumber:23},this),i(`h`,`В`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:AS,lineNumber:31,columnNumber:76},this),i(`d`,`Г`),(0,R.jsxDEV)(`span`,{className:`ml-1 text-xs text-muted`,children:`мм`},void 0,!1,{fileName:AS,lineNumber:32,columnNumber:7},this)]},void 0,!0,{fileName:AS,lineNumber:30,columnNumber:5},this)}function PS({value:e}){let t=MS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:AS,lineNumber:39,columnNumber:14},this):(0,R.jsxDEV)(Ot,{},void 0,!1,{fileName:AS,lineNumber:39,columnNumber:58},this)}function FS(e){return(0,R.jsxDEV)(Pn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:e=>(0,R.jsxDEV)(PS,{value:e},void 0,!1,{fileName:AS,lineNumber:45,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(NS,{value:e,onChange:t},void 0,!1,{fileName:AS,lineNumber:46,columnNumber:34},this)},void 0,!1,{fileName:AS,lineNumber:43,columnNumber:5},this)}function IS({value:e}){return(0,R.jsxDEV)(PS,{value:e},void 0,!1,{fileName:AS,lineNumber:49,columnNumber:58},this)}I({kinds:[`dimensions`],Page:FS,Inline:IS});var LS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-api-token-renderer.tsx`;function RS(){let e=crypto.getRandomValues(new Uint8Array(32)),t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function zS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]),[i,o]=(0,L.useState)(``),[s,c]=(0,L.useState)(null),[l,u]=(0,L.useState)(!1);function d(){er().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(d,[]);async function f(){if(!i.trim())return;u(!0);let e=RS(),n=await or(i.trim(),e);u(!1),n.ok?(c(e),o(``),d()):y.error(t(`auth.genericError`))}async function p(e){await br({title:t(`auth.tokenConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await ur(e)).ok?d():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.tokensTitle`)},void 0,!1,{fileName:LS,lineNumber:70,columnNumber:7},this),s&&(0,R.jsxDEV)(`div`,{className:`mb-3 rounded-xl border border-accent/40 bg-accent/10 px-4 py-3 text-sm text-accent break-all`,children:[t(`auth.tokenCreatedOnce`),` `,(0,R.jsxDEV)(`code`,{children:s},void 0,!1,{fileName:LS,lineNumber:73,columnNumber:40},this)]},void 0,!0,{fileName:LS,lineNumber:72,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`mb-3 flex gap-2`,children:[(0,R.jsxDEV)(E,{placeholder:t(`auth.tokenNamePlaceholder`),value:i,onChange:e=>o(e.target.value)},void 0,!1,{fileName:LS,lineNumber:77,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,disabled:l||!i.trim(),onClick:f,children:t(`auth.tokenCreate`)},void 0,!1,{fileName:LS,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:LS,lineNumber:76,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Sr,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.name},void 0,!1,{fileName:LS,lineNumber:86,columnNumber:15},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:LS,lineNumber:87,columnNumber:15},this)]},void 0,!0,{fileName:LS,lineNumber:85,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>p(e.id),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:LS,lineNumber:91,columnNumber:13},this)]},e.id,!0,{fileName:LS,lineNumber:84,columnNumber:11},this))},void 0,!1,{fileName:LS,lineNumber:82,columnNumber:7},this)]},void 0,!0,{fileName:LS,lineNumber:69,columnNumber:5},this)}I({kinds:[`internalApiToken`],layout:`block`,Page:zS});var BS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-oauth-grants-renderer.tsx`;function VS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]);function i(){ir().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(i,[]);async function o(e){await br({title:t(`auth.grantConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await Zn(e)).ok?i():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.grantsTitle`)},void 0,!1,{fileName:BS,lineNumber:44,columnNumber:7},this),n.length===0?(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:t(`auth.grantsEmpty`)},void 0,!1,{fileName:BS,lineNumber:46,columnNumber:9},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Sr,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.clientName},void 0,!1,{fileName:BS,lineNumber:52,columnNumber:17},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:BS,lineNumber:53,columnNumber:17},this)]},void 0,!0,{fileName:BS,lineNumber:51,columnNumber:15},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>o(e.clientId),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:BS,lineNumber:57,columnNumber:15},this)]},e.clientId,!0,{fileName:BS,lineNumber:50,columnNumber:13},this))},void 0,!1,{fileName:BS,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:BS,lineNumber:43,columnNumber:5},this)}I({kinds:[`internalOauthGrants`],layout:`block`,Page:VS});function HS({containerRef:e,count:t,estimateHeight:n=33,overscan:r=12,threshold:i=100}){let a=t>i,[o,s]=(0,L.useState)(n),[c,l]=(0,L.useState)({start:0,end:t}),u=(0,L.useRef)(!1),d=(0,L.useCallback)(e=>{if(!e||u.current)return;let t=e.getBoundingClientRect().height;t>0&&(u.current=!0,s(t))},[]);if((0,L.useEffect)(()=>{u.current=!1},[t]),(0,L.useEffect)(()=>{if(!a){l({start:0,end:t});return}let i=e.current;if(!i)return;let s=()=>{let e=o>0?o:n,a=Math.max(0,Math.floor(i.scrollTop/e)-r),s=Math.ceil(i.clientHeight/e)+r*2;l(e=>{let n={start:a,end:Math.min(t,a+s)};return e.start===n.start&&e.end===n.end?e:n})};s(),i.addEventListener(`scroll`,s,{passive:!0});let c=typeof ResizeObserver==`function`?new ResizeObserver(s):null;return c?.observe(i),()=>{i.removeEventListener(`scroll`,s),c?.disconnect()}},[e,t,a,o,n,r]),!a)return{start:0,end:t,padTop:0,padBottom:0,rowHeight:o,measureRow:d};let f=Math.min(c.start,Math.max(0,t-1)),p=Math.min(c.end,t);return{start:f,end:p,padTop:f*o,padBottom:Math.max(0,(t-p)*o),rowHeight:o,measureRow:d}}var US=20,WS=new Map;function GS(e){return WS.get(e)??0}function KS(e,t){for(WS.delete(e),WS.set(e,t);WS.size>US;){let e=WS.keys().next();if(e.done)break;WS.delete(e.value)}}function qS(e){for(let t of[...WS.keys()])(t===e||t.startsWith(`${e}?`))&&WS.delete(t)}var JS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordCard.tsx`;function YS(e,t,n){return n?e(n.label):t}var XS=(0,L.memo)(function({row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:o}){let{t:s}=a(),c=fn(t.fields),l=`${r}/${e.id}`,[u,...d]=n,f=wt(c),p=f?e[f]:void 0,h=f!=null&&ly(p).length>0,g=f?d.filter(e=>e!==f):d,_=u?c[u]:void 0;return(0,R.jsxDEV)(`div`,{style:{contentVisibility:`auto`,containIntrinsicSize:`auto 120px`},className:`bg-elevated rounded-xl p-4 mb-3 border border-border transition-colors hover:border-border2 hover:bg-surface`,children:[h&&(0,R.jsxDEV)(`div`,{className:`-mx-4 -mt-4 mb-3 overflow-hidden rounded-t-xl [&_img]:rounded-none [&>*]:rounded-none`,children:(0,R.jsxDEV)(hy,{value:p},void 0,!1,{fileName:JS,lineNumber:60,columnNumber:11},this)},void 0,!1,{fileName:JS,lineNumber:59,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(m,{to:l,className:`mb-2 block min-w-0 truncate text-text`,children:_?(0,R.jsxDEV)(mr,{field:_,value:dn(_,u,e),height:24},void 0,!1,{fileName:JS,lineNumber:69,columnNumber:15},this):String(e[u]??``)},void 0,!1,{fileName:JS,lineNumber:67,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1`,children:g.map(t=>{let n=c[t],r=n?dn(n,t,e):void 0;return!n||!ut(r)?null:(0,R.jsxDEV)(`span`,{className:`text-sm text-muted inline-flex min-w-0 max-w-full items-baseline gap-1 truncate`,children:[(0,R.jsxDEV)(`span`,{className:`text-xs opacity-70 shrink-0`,children:[YS(s,t,n),`:`]},void 0,!0,{fileName:JS,lineNumber:84,columnNumber:19},this),(0,R.jsxDEV)(mr,{field:n,value:r},void 0,!1,{fileName:JS,lineNumber:85,columnNumber:19},this)]},t,!0,{fileName:JS,lineNumber:80,columnNumber:17},this)})},void 0,!1,{fileName:JS,lineNumber:74,columnNumber:11},this)]},void 0,!0,{fileName:JS,lineNumber:64,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex gap-2 shrink-0`,children:(0,R.jsxDEV)(F,{variant:`outline`,size:`icon`,disabled:o,className:`text-muted hover:text-danger hover:border-danger`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(rt,{size:15},void 0,!1,{fileName:JS,lineNumber:99,columnNumber:13},this)},void 0,!1,{fileName:JS,lineNumber:92,columnNumber:11},this)},void 0,!1,{fileName:JS,lineNumber:91,columnNumber:9},this)]},void 0,!0,{fileName:JS,lineNumber:63,columnNumber:7},this)]},void 0,!0,{fileName:JS,lineNumber:54,columnNumber:5},this)}),ZS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordRow.tsx`,QS=(0,L.memo)(function({row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:a,rowRef:o}){let s=fn(t.fields),c=`${r}/${e.id}`;return(0,R.jsxDEV)(`tr`,{ref:o,className:`group border-b border-border/60 hover:bg-elevated/60 transition-colors`,children:[n.map((t,n)=>n===0?(0,R.jsxDEV)(`td`,{className:`max-w-xs p-0`,children:(0,R.jsxDEV)(m,{to:c,className:`block px-4 py-1.5 text-sm font-medium text-text truncate`,children:s[t]?(0,R.jsxDEV)(mr,{field:s[t],value:dn(s[t],t,e)},void 0,!1,{fileName:ZS,lineNumber:45,columnNumber:24},this):String(e[t]??``)},void 0,!1,{fileName:ZS,lineNumber:44,columnNumber:13},this)},t,!1,{fileName:ZS,lineNumber:43,columnNumber:11},this):(0,R.jsxDEV)(`td`,{className:`px-4 py-1.5 text-sm max-w-xs text-text/80`,children:(0,R.jsxDEV)(`span`,{className:`block truncate`,children:s[t]?(0,R.jsxDEV)(mr,{field:s[t],value:dn(s[t],t,e)},void 0,!1,{fileName:ZS,lineNumber:51,columnNumber:24},this):String(e[t]??``)},void 0,!1,{fileName:ZS,lineNumber:50,columnNumber:13},this)},t,!1,{fileName:ZS,lineNumber:49,columnNumber:11},this)),(0,R.jsxDEV)(`td`,{className:`px-3 py-1 w-14`,children:(0,R.jsxDEV)(`div`,{className:`flex justify-end`,children:(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,disabled:a,className:`m-0 text-muted opacity-0 group-hover:opacity-100 pointer-coarse:opacity-100 hover:text-danger transition-opacity`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(rt,{size:14},void 0,!1,{fileName:ZS,lineNumber:65,columnNumber:13},this)},void 0,!1,{fileName:ZS,lineNumber:58,columnNumber:11},this)},void 0,!1,{fileName:ZS,lineNumber:57,columnNumber:9},this)},void 0,!1,{fileName:ZS,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:ZS,lineNumber:38,columnNumber:5},this)}),$S=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/views/table.tsx`;function eC(e,t){e.scrollTop=t}function tC({rows:e,shelf:t,keys:n,hrefBase:r,onDelete:i,deletingId:o,sort:s,onToggleSort:c,scrollKey:l}){let{t:u}=a(),d=fn(t.fields),f=On(`list`,640),p=(0,L.useRef)(null),m=HS({containerRef:p,count:e.length}),h=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!l)return;let e=f?p.current:null,t=e??window,n=()=>KS(l,e?e.scrollTop:window.scrollY);return t.addEventListener(`scroll`,n,{passive:!0}),()=>t.removeEventListener(`scroll`,n)},[l,f,e.length]),(0,L.useLayoutEffect)(()=>{if(!l||e.length===0)return;let t=GS(l),n=f?p.current:null,r=h.current,i=r?.key!==l;if(t<=0){h.current={key:l,applied:0};return}let a=n?n.scrollTop:window.scrollY;!i&&r&&Math.abs(a-r.applied)>2||(n?eC(n,t):typeof window.scrollTo==`function`&&window.scrollTo(0,t),h.current={key:l,applied:n?n.scrollTop:t})},[l,e.length,f,m.rowHeight]),f?(0,R.jsxDEV)(`div`,{ref:p,className:`hidden list:block overflow-auto h-[calc(100dvh-52px)]`,children:(0,R.jsxDEV)(`table`,{className:`w-full border-collapse`,children:[(0,R.jsxDEV)(`thead`,{className:`eink-solid sticky top-0 z-10 bg-bg/95 backdrop-blur`,children:(0,R.jsxDEV)(`tr`,{className:`border-b border-border`,children:[n.map(e=>(0,R.jsxDEV)(`th`,{onClick:()=>c(e),className:`px-4 py-2 text-left text-[11px] font-semibold text-muted uppercase tracking-wider cursor-pointer select-none hover:text-text transition-colors`,children:(0,R.jsxDEV)(`span`,{className:`flex items-center gap-1 whitespace-nowrap`,title:YS(u,e,d[e]),children:[YS(u,e,d[e]),s?.key===e?s.dir===`asc`?(0,R.jsxDEV)($e,{size:11},void 0,!1,{fileName:$S,lineNumber:100,columnNumber:23},this):(0,R.jsxDEV)(k,{size:11},void 0,!1,{fileName:$S,lineNumber:102,columnNumber:23},this):(0,R.jsxDEV)(vs,{size:11,className:`opacity-30`},void 0,!1,{fileName:$S,lineNumber:105,columnNumber:21},this)]},void 0,!0,{fileName:$S,lineNumber:96,columnNumber:17},this)},e,!1,{fileName:$S,lineNumber:91,columnNumber:15},this)),(0,R.jsxDEV)(`th`,{className:`w-12`},void 0,!1,{fileName:$S,lineNumber:110,columnNumber:13},this)]},void 0,!0,{fileName:$S,lineNumber:89,columnNumber:11},this)},void 0,!1,{fileName:$S,lineNumber:88,columnNumber:9},this),(0,R.jsxDEV)(`tbody`,{children:[m.padTop>0&&(0,R.jsxDEV)(`tr`,{"aria-hidden":!0,style:{height:m.padTop},children:(0,R.jsxDEV)(`td`,{colSpan:n.length+1},void 0,!1,{fileName:$S,lineNumber:117,columnNumber:15},this)},void 0,!1,{fileName:$S,lineNumber:116,columnNumber:13},this),e.slice(m.start,m.end).map((e,a)=>(0,R.jsxDEV)(QS,{row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id),rowRef:a===0?m.measureRow:void 0},String(e.id),!1,{fileName:$S,lineNumber:121,columnNumber:13},this)),m.padBottom>0&&(0,R.jsxDEV)(`tr`,{"aria-hidden":!0,style:{height:m.padBottom},children:(0,R.jsxDEV)(`td`,{colSpan:n.length+1},void 0,!1,{fileName:$S,lineNumber:134,columnNumber:15},this)},void 0,!1,{fileName:$S,lineNumber:133,columnNumber:13},this)]},void 0,!0,{fileName:$S,lineNumber:113,columnNumber:9},this)]},void 0,!0,{fileName:$S,lineNumber:87,columnNumber:7},this)},void 0,!1,{fileName:$S,lineNumber:86,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:`list:hidden p-4`,children:e.map(e=>(0,R.jsxDEV)(XS,{row:e,m:t,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id)},String(e.id),!1,{fileName:$S,lineNumber:70,columnNumber:11},this))},void 0,!1,{fileName:$S,lineNumber:68,columnNumber:7},this)}dc({kind:`table`,View:tC});var nC=[{pattern:`/`,purpose:`dashboard`},{pattern:`/browse`,purpose:`library browser`},{pattern:`/settings`,purpose:`settings index`},{pattern:`/settings/account`,purpose:`the signed-in user's own account settings`},{pattern:`/settings/users`,purpose:`user list (admin)`},{pattern:`/settings/users/new`,purpose:`form for a new user (admin)`},{pattern:`/settings/users/:id`,purpose:`one user (admin)`},{pattern:`/settings/:pluginId`,purpose:`one plugin's settings`},{pattern:`/:library/:shelf`,purpose:`list of every record on a shelf`},{pattern:`/:library/:shelf/new`,purpose:`form for a new record on a shelf`},{pattern:`/:library/:shelf/:id`,purpose:`page of one record`}],rC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/LoginPage.tsx`,iC=[qt.string({key:`login`,label:`auth.login`,required:!0}),qt.password({key:`password`,label:`auth.password`,required:!0})];function aC(){let{t:e}=a(),{values:t,bridge:n}=He({fm:fn(iC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`login`},initial:{login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await sr(t.login,t.password);if(s(!1),!r.ok){i(r.status===401?e(`auth.invalidCredentials`):e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`main`,{className:`login-page`,children:[(0,R.jsxDEV)(`div`,{className:`login-orb login-orb-one`,"aria-hidden":`true`},void 0,!1,{fileName:rC,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`login-orb login-orb-two`,"aria-hidden":`true`},void 0,!1,{fileName:rC,lineNumber:46,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`login-shell`,children:[(0,R.jsxDEV)(`section`,{className:`login-intro`,"aria-label":`Coffer`,children:[(0,R.jsxDEV)(`div`,{className:`login-brand`,children:[(0,R.jsxDEV)(`span`,{className:`login-brand-mark`,"aria-hidden":`true`,children:[(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:rC,lineNumber:52,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:rC,lineNumber:53,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:rC,lineNumber:54,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:rC,lineNumber:55,columnNumber:15},this)]},void 0,!0,{fileName:rC,lineNumber:51,columnNumber:13},this),(0,R.jsxDEV)(`span`,{children:`Coffer`},void 0,!1,{fileName:rC,lineNumber:57,columnNumber:13},this)]},void 0,!0,{fileName:rC,lineNumber:50,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`login-intro-copy`,children:[(0,R.jsxDEV)(`p`,{className:`login-eyebrow`,children:e(`auth.welcomeEyebrow`)},void 0,!1,{fileName:rC,lineNumber:60,columnNumber:13},this),(0,R.jsxDEV)(`h2`,{children:e(`auth.welcomeTitle`)},void 0,!1,{fileName:rC,lineNumber:61,columnNumber:13},this),(0,R.jsxDEV)(`p`,{children:e(`auth.welcomeText`)},void 0,!1,{fileName:rC,lineNumber:62,columnNumber:13},this)]},void 0,!0,{fileName:rC,lineNumber:59,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`login-status`,children:[(0,R.jsxDEV)(`span`,{className:`login-status-dot`,"aria-hidden":`true`},void 0,!1,{fileName:rC,lineNumber:65,columnNumber:13},this),(0,R.jsxDEV)(`span`,{children:e(`auth.secureConnection`)},void 0,!1,{fileName:rC,lineNumber:66,columnNumber:13},this)]},void 0,!0,{fileName:rC,lineNumber:64,columnNumber:11},this)]},void 0,!0,{fileName:rC,lineNumber:49,columnNumber:9},this),(0,R.jsxDEV)(`form`,{onSubmit:c,className:`login-card`,children:[(0,R.jsxDEV)(`div`,{className:`login-card-heading`,children:[(0,R.jsxDEV)(`div`,{className:`login-mobile-brand`,children:`Coffer`},void 0,!1,{fileName:rC,lineNumber:72,columnNumber:13},this),(0,R.jsxDEV)(`p`,{className:`login-card-kicker`,children:e(`auth.welcomeEyebrow`)},void 0,!1,{fileName:rC,lineNumber:73,columnNumber:13},this),(0,R.jsxDEV)(`h1`,{children:e(`auth.loginTitle`)},void 0,!1,{fileName:rC,lineNumber:74,columnNumber:13},this),(0,R.jsxDEV)(`p`,{className:`login-card-subtitle`,children:e(`auth.welcomeText`)},void 0,!1,{fileName:rC,lineNumber:75,columnNumber:13},this)]},void 0,!0,{fileName:rC,lineNumber:71,columnNumber:11},this),r&&(0,R.jsxDEV)(`div`,{className:`login-error`,role:`alert`,children:r},void 0,!1,{fileName:rC,lineNumber:77,columnNumber:21},this),(0,R.jsxDEV)(`div`,{className:`login-fields`,children:(0,R.jsxDEV)(Ge,{items:iC,ctx:{bridge:n}},void 0,!1,{fileName:rC,lineNumber:79,columnNumber:13},this)},void 0,!1,{fileName:rC,lineNumber:78,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`login-submit`,children:[(0,R.jsxDEV)(`span`,{children:o?`…`:e(`auth.signIn`)},void 0,!1,{fileName:rC,lineNumber:82,columnNumber:13},this),!o&&(0,R.jsxDEV)(`span`,{className:`login-submit-arrow`,"aria-hidden":`true`,children:`→`},void 0,!1,{fileName:rC,lineNumber:83,columnNumber:23},this)]},void 0,!0,{fileName:rC,lineNumber:81,columnNumber:11},this),(0,R.jsxDEV)(`p`,{className:`login-footer`,children:e(`auth.secureConnection`)},void 0,!1,{fileName:rC,lineNumber:85,columnNumber:11},this)]},void 0,!0,{fileName:rC,lineNumber:70,columnNumber:9},this)]},void 0,!0,{fileName:rC,lineNumber:48,columnNumber:7},this)]},void 0,!0,{fileName:rC,lineNumber:44,columnNumber:5},this)}var oC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SetupPage.tsx`,sC=[qt.string({key:`displayName`,label:`auth.displayName`,required:!0}),qt.string({key:`login`,label:`auth.login`,required:!0}),qt.password({key:`password`,label:`auth.password`,required:!0})];function cC(){let{t:e}=a(),{values:t,bridge:n}=He({fm:fn(sC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`setup`},initial:{displayName:``,login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await ar(t.login,t.password,t.displayName);if(s(!1),!r.ok){i(e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`div`,{className:`flex min-h-dvh items-center justify-center bg-bg px-4`,children:(0,R.jsxDEV)(`form`,{onSubmit:c,className:`w-full max-w-sm rounded-2xl border border-border bg-card p-6`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-xl font-bold text-text`,children:e(`auth.setupTitle`)},void 0,!1,{fileName:oC,lineNumber:47,columnNumber:9},this),r&&(0,R.jsxDEV)(`div`,{className:`mb-4 rounded-lg border border-danger/40 bg-danger/10 px-3 py-2 text-sm text-danger`,children:r},void 0,!1,{fileName:oC,lineNumber:48,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`mb-5 flex flex-col gap-3`,children:(0,R.jsxDEV)(Ge,{items:sC,ctx:{bridge:n}},void 0,!1,{fileName:oC,lineNumber:50,columnNumber:11},this)},void 0,!1,{fileName:oC,lineNumber:49,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`w-full`,children:e(`auth.createAccount`)},void 0,!1,{fileName:oC,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:oC,lineNumber:46,columnNumber:7},this)},void 0,!1,{fileName:oC,lineNumber:45,columnNumber:5},this)}var lC=null,uC=null;function dC(){let[e,t]=(0,L.useState)(lC);return(0,L.useEffect)(()=>{if(lC){t(lC);return}let e=!0;return uC??=fetch(`/api/libraries`).then(e=>e.json()).then(e=>lC=new Set(e.map(e=>e.id))),uC.then(n=>e&&t(n)).catch(()=>e&&t(null)),()=>{e=!1}},[]),e}var fC=`coffer-collapsed-libraries`;function pC(){try{let e=localStorage.getItem(fC);return new Set(e?JSON.parse(e):[])}catch{return new Set}}function mC(){let[e,t]=(0,L.useState)(()=>pC());return{collapsed:e,toggle:(0,L.useCallback)(e=>{t(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);try{localStorage.setItem(fC,JSON.stringify([...n]))}catch{}return n})},[])}}var hC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/dropdown-menu.tsx`,gC=ue,_C=ce,vC=L.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,R.jsxDEV)(le,{children:(0,R.jsxDEV)(P,{ref:r,sideOffset:t,className:C(`z-50 min-w-40 overflow-hidden rounded-xl border border-border bg-popover p-1 text-popover-foreground shadow-xl`,`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,e),...n},void 0,!1,{fileName:hC,lineNumber:15,columnNumber:5},void 0)},void 0,!1,{fileName:hC,lineNumber:14,columnNumber:3},void 0));vC.displayName=P.displayName;var yC=L.forwardRef(({className:e,inset:t,...n},r)=>(0,R.jsxDEV)(oe,{ref:r,className:C(`relative flex cursor-pointer select-none items-center gap-2 rounded-lg px-3 py-2 text-sm outline-none transition-colors`,`focus:bg-elevated focus:text-text data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n},void 0,!1,{fileName:hC,lineNumber:33,columnNumber:3},void 0));yC.displayName=oe.displayName;var bC=L.forwardRef(({className:e,...t},n)=>(0,R.jsxDEV)(N,{ref:n,className:C(`px-3 py-1.5 text-xs font-semibold text-muted-foreground`,e),...t},void 0,!1,{fileName:hC,lineNumber:50,columnNumber:3},void 0));bC.displayName=N.displayName;var xC=L.forwardRef(({className:e,...t},n)=>(0,R.jsxDEV)(ie,{ref:n,className:C(`-mx-1 my-1 h-px bg-border`,e),...t},void 0,!1,{fileName:hC,lineNumber:62,columnNumber:3},void 0));xC.displayName=ie.displayName;var SC=({active:e})=>e?(0,R.jsxDEV)(Ze,{size:14,className:`ml-auto text-accent`},void 0,!1,{fileName:hC,lineNumber:68,columnNumber:12},void 0):null,CC=`coffer-theme`;function wC(e){return e===`light`||e===`dark`||e===`eink`?e:`auto`}function TC(){try{return wC(localStorage.getItem(CC))}catch{return wC(null)}}function EC(e){if(e===`auto`){delete document.documentElement.dataset.theme;try{localStorage.removeItem(CC)}catch{}}else{document.documentElement.dataset.theme=e;try{localStorage.setItem(CC,e)}catch{}}}function DC(){let[e,t]=(0,L.useState)(()=>TC());return{choice:e,setChoice:(0,L.useCallback)(e=>{EC(e),t(e)},[])}}var OC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/theme/ThemeSwitcher.tsx`,kC=[{value:`auto`,Icon:Ae,labelKey:`theme.auto`},{value:`light`,Icon:js,labelKey:`theme.light`},{value:`dark`,Icon:ks,labelKey:`theme.dark`},{value:`eink`,Icon:hs,labelKey:`theme.eink`}];function AC({direction:e=`up`,compact:t=!1}){let{t:n}=a(),{choice:r,setChoice:i}=DC(),o=kC.find(e=>e.value===r)??kC[0],s=o.Icon;return(0,R.jsxDEV)(gC,{children:[(0,R.jsxDEV)(_C,{"aria-label":n(`theme.label`),className:`flex items-center rounded-xl text-sm text-muted outline-none transition-colors hover:bg-elevated hover:text-text focus-visible:ring-2 focus-visible:ring-ring ${t?`w-full flex-col gap-0.5 py-2`:`w-full gap-2 px-3 py-2`}`,children:[(0,R.jsxDEV)(s,{size:t?18:16},void 0,!1,{fileName:OC,lineNumber:35,columnNumber:9},this),t?(0,R.jsxDEV)(`span`,{className:`text-[10px] font-semibold`,children:n(o.labelKey)},void 0,!1,{fileName:OC,lineNumber:37,columnNumber:11},this):(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:n(o.labelKey)},void 0,!1,{fileName:OC,lineNumber:39,columnNumber:11},this)]},void 0,!0,{fileName:OC,lineNumber:29,columnNumber:7},this),(0,R.jsxDEV)(vC,{align:`end`,side:e===`up`?`top`:`bottom`,children:kC.map(e=>{let t=e.Icon;return(0,R.jsxDEV)(yC,{onSelect:()=>i(e.value),className:e.value===r?`text-accent`:``,children:[(0,R.jsxDEV)(t,{size:15},void 0,!1,{fileName:OC,lineNumber:51,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:n(e.labelKey)},void 0,!1,{fileName:OC,lineNumber:52,columnNumber:15},this),(0,R.jsxDEV)(SC,{active:e.value===r},void 0,!1,{fileName:OC,lineNumber:53,columnNumber:15},this)]},e.value,!0,{fileName:OC,lineNumber:46,columnNumber:13},this)})},void 0,!1,{fileName:OC,lineNumber:42,columnNumber:7},this)]},void 0,!0,{fileName:OC,lineNumber:28,columnNumber:5},this)}var jC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/LanguageSwitcher.tsx`,MC=[{code:`uk`,label:`Українська`,short:`UA`},{code:`ru`,label:`Русский`,short:`RU`},{code:`en`,label:`English`,short:`EN`}];function NC({direction:e=`up`,compact:t=!1}){let{i18n:n}=a(),r=MC.find(e=>e.code===n.language)??MC[0];function i(e){n.changeLanguage(e);try{localStorage.setItem(`lang`,e)}catch{}fetch(`/api/plugins/core/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({language:e})}).catch(()=>{})}return(0,R.jsxDEV)(gC,{children:[(0,R.jsxDEV)(_C,{className:`flex items-center rounded-xl text-sm text-muted outline-none transition-colors hover:bg-elevated hover:text-text focus-visible:ring-2 focus-visible:ring-ring ${t?`w-full flex-col gap-0.5 py-2`:`w-full gap-2 px-3 py-2`}`,children:[(0,R.jsxDEV)(Ce,{size:t?18:16},void 0,!1,{fileName:jC,lineNumber:49,columnNumber:9},this),t?(0,R.jsxDEV)(`span`,{className:`text-[10px] font-semibold`,children:r.short},void 0,!1,{fileName:jC,lineNumber:51,columnNumber:11},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:r.label},void 0,!1,{fileName:jC,lineNumber:54,columnNumber:13},this),(0,R.jsxDEV)(`span`,{className:`text-xs font-semibold text-muted`,children:r.short},void 0,!1,{fileName:jC,lineNumber:55,columnNumber:13},this)]},void 0,!0,{fileName:jC,lineNumber:53,columnNumber:11},this)]},void 0,!0,{fileName:jC,lineNumber:44,columnNumber:7},this),(0,R.jsxDEV)(vC,{align:`end`,side:e===`up`?`top`:`bottom`,children:MC.map(e=>(0,R.jsxDEV)(yC,{onSelect:()=>i(e.code),className:e.code===r.code?`text-accent`:``,children:[(0,R.jsxDEV)(`span`,{className:`flex-1 text-left`,children:e.label},void 0,!1,{fileName:jC,lineNumber:66,columnNumber:13},this),(0,R.jsxDEV)(SC,{active:e.code===r.code},void 0,!1,{fileName:jC,lineNumber:67,columnNumber:13},this)]},e.code,!0,{fileName:jC,lineNumber:61,columnNumber:11},this))},void 0,!1,{fileName:jC,lineNumber:59,columnNumber:7},this)]},void 0,!0,{fileName:jC,lineNumber:43,columnNumber:5},this)}var PC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/SidebarNav.tsx`;function FC({onSearchOpen:e}){let{t}=a(),n=dC(),{collapsed:r,toggle:i}=mC(),o=Ve();return(0,R.jsxDEV)(`aside`,{className:`hidden nav:flex flex-col w-52 shrink-0 bg-surface border-r border-border h-dvh fixed top-0 left-0 z-30`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto px-3 py-4`,children:[(0,R.jsxDEV)(l,{to:`/`,className:`flex items-center gap-2 mb-4 px-2 group`,title:t(`nav.home`),children:[(0,R.jsxDEV)(`div`,{className:`w-7 h-7 bg-accent rounded-lg flex items-center justify-center text-white text-xs font-bold`,children:`S`},void 0,!1,{fileName:PC,lineNumber:25,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`font-bold text-text group-hover:text-accent transition-colors`,children:`Coffer`},void 0,!1,{fileName:PC,lineNumber:28,columnNumber:11},this)]},void 0,!0,{fileName:PC,lineNumber:24,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":t(`search.title`),title:t(`search.title`),className:`flex w-full items-center gap-2 px-3 py-1.5 mb-3 rounded-lg text-sm text-muted bg-elevated border border-border hover:border-accent hover:text-text transition-colors`,children:[(0,R.jsxDEV)(Te,{size:14,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:37,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`flex-1 text-left truncate`,children:t(`search.title`)},void 0,!1,{fileName:PC,lineNumber:38,columnNumber:11},this),(0,R.jsxDEV)(`kbd`,{className:`hidden lg:inline-flex items-center gap-0.5 text-[10px] text-muted border border-border rounded px-1`,children:`⌘K`},void 0,!1,{fileName:PC,lineNumber:39,columnNumber:11},this)]},void 0,!0,{fileName:PC,lineNumber:30,columnNumber:9},this),o.filter(e=>!n||n.has(e.meta.id)).map(e=>{let n=r.has(e.meta.id);return(0,R.jsxDEV)(`div`,{className:`mb-0.5`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>i(e.meta.id),className:`flex w-full items-center justify-between px-3 py-1.5 rounded-lg text-[10px] font-semibold text-muted uppercase tracking-widest hover:bg-elevated hover:text-text transition-colors`,children:[(0,R.jsxDEV)(`span`,{className:`truncate`,children:t(e.meta.label)},void 0,!1,{fileName:PC,lineNumber:54,columnNumber:19},this),(0,R.jsxDEV)(k,{size:13,className:`shrink-0 transition-transform ${n?`-rotate-90`:``}`},void 0,!1,{fileName:PC,lineNumber:55,columnNumber:19},this)]},void 0,!0,{fileName:PC,lineNumber:49,columnNumber:17},this),!n&&e.shelves.filter(e=>e.standalone!==!1).map(e=>(0,R.jsxDEV)(l,{to:`/${e.library}/${e.shelf}`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(je,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:74,columnNumber:25},this),t(e.label)]},e.shelf,!0,{fileName:PC,lineNumber:64,columnNumber:23},this))]},e.meta.id,!0,{fileName:PC,lineNumber:48,columnNumber:15},this)}),wn().map(e=>(0,R.jsxDEV)(l,{to:e.to,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(je,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:90,columnNumber:13},this),t(e.labelKey)]},e.to,!0,{fileName:PC,lineNumber:82,columnNumber:11},this))]},void 0,!0,{fileName:PC,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`border-t border-border p-2 space-y-1`,children:[(0,R.jsxDEV)(NC,{direction:`up`},void 0,!1,{fileName:PC,lineNumber:97,columnNumber:9},this),(0,R.jsxDEV)(AC,{},void 0,!1,{fileName:PC,lineNumber:98,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(je,{name:`lucide:settings`,size:17,className:`shrink-0`},void 0,!1,{fileName:PC,lineNumber:106,columnNumber:11},this),` `,t(`nav.settings`)]},void 0,!0,{fileName:PC,lineNumber:99,columnNumber:9},this)]},void 0,!0,{fileName:PC,lineNumber:96,columnNumber:7},this)]},void 0,!0,{fileName:PC,lineNumber:22,columnNumber:5},this)}var IC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/BottomNav.tsx`;function LC({onSearchOpen:e}){let{t}=a();return(0,R.jsxDEV)(`nav`,{className:`nav:hidden fixed bottom-0 left-0 right-0 z-40 border-t border-border bg-surface pb-safe`,children:(0,R.jsxDEV)(`div`,{className:`flex items-stretch`,children:[(0,R.jsxDEV)(l,{to:`/`,end:!0,className:({isActive:e})=>`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(Me,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:22,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.home`)},void 0,!1,{fileName:IC,lineNumber:23,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:14,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,className:`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors text-muted hover:text-text`,children:[(0,R.jsxDEV)(Te,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:30,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.search`)},void 0,!1,{fileName:IC,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:25,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/browse`,className:({isActive:e})=>`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(Es,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:40,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.browse`)},void 0,!1,{fileName:IC,lineNumber:41,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:33,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex flex-1 flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(ke,{size:20,className:`shrink-0`},void 0,!1,{fileName:IC,lineNumber:50,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.settings`)},void 0,!1,{fileName:IC,lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:IC,lineNumber:43,columnNumber:9},this)]},void 0,!0,{fileName:IC,lineNumber:13,columnNumber:7},this)},void 0,!1,{fileName:IC,lineNumber:12,columnNumber:5},this)}var RC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/CommandPalette.tsx`;function zC({open:e,onClose:t}){let{t:n}=a(),r=u(),i=dC(),[o,s]=(0,L.useState)(``),[c,l]=(0,L.useState)([]),[d,f]=(0,L.useState)(!1),[p,m]=(0,L.useState)(0),h=(0,L.useRef)(null);(0,L.useEffect)(()=>{e&&(s(``),l([]),m(0),setTimeout(()=>h.current?.focus(),50))},[e]),(0,L.useEffect)(()=>{if(o.length<2){l([]);return}let e=setTimeout(async()=>{f(!0);try{let e=await fetch(`/api/search?q=${encodeURIComponent(o)}&limit=15`);l(e.ok?await e.json():[])}catch{l([])}finally{f(!1)}},250);return()=>clearTimeout(e)},[o]);let g=Ve().filter(e=>!i||i.has(e.meta.id)).flatMap(e=>e.shelves.filter(e=>e.standalone!==!1).map(t=>({v:e,m:t}))),_=g.filter(({m:e})=>!o||n(e.label).toLowerCase().includes(o.toLowerCase())).map(({v:e,m:t})=>({kind:`shelf`,label:n(t.label),sub:n(e.meta.label),icon:t.icon,to:`/${t.library}/${t.shelf}`})),v=c.map(e=>{let t=g.find(({m:t})=>t.library===e.library&&t.shelf===e.shelf)?.m;return{kind:`record`,label:e.label||e.id,sub:e.snippet===e.label?t?n(t.label):e.shelf:e.snippet,icon:t?.icon,to:`/${e.library}/${e.shelf}/${e.id}`}}),y=o.length>=2?[...v,..._.slice(0,5)]:_,b=y.length>0?Math.min(p,y.length-1):0;function x(e){r(e.to),t()}function S(e){if(e.key===`Escape`){t();return}e.key===`ArrowDown`&&(e.preventDefault(),m(e=>Math.min(e+1,y.length-1))),e.key===`ArrowUp`&&(e.preventDefault(),m(e=>Math.max(e-1,0))),e.key===`Enter`&&y[b]&&x(y[b])}if(!e)return null;let C=o.length<2,T=o.length>=2&&v.length>0,E=o.length>=2&&_.length>0,D=y.length===0&&!d;return(0,R.jsxDEV)(`div`,{className:`fixed inset-0 z-[60] flex items-start justify-center pt-[10vh] px-4`,onClick:e=>{e.target===e.currentTarget&&t()},children:[(0,R.jsxDEV)(`div`,{className:`absolute inset-0 bg-bg/70 backdrop-blur-sm`,onClick:t},void 0,!1,{fileName:RC,lineNumber:141,columnNumber:7},this),(0,R.jsxDEV)(`div`,{role:`dialog`,"aria-label":n(`search.title`),className:`relative w-full max-w-lg bg-surface border border-border rounded-xl shadow-xl overflow-hidden`,children:[(0,R.jsxDEV)(`div`,{className:`px-4 pt-3 pb-1 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.title`)},void 0,!1,{fileName:RC,lineNumber:150,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,R.jsxDEV)(Te,{size:16,className:`text-muted shrink-0`},void 0,!1,{fileName:RC,lineNumber:155,columnNumber:11},this),(0,R.jsxDEV)(`input`,{ref:h,type:`text`,value:o,onChange:e=>{s(e.target.value),m(0)},onKeyDown:S,placeholder:n(`search.placeholder`),"aria-label":n(`search.title`),className:`flex-1 bg-transparent text-text placeholder:text-muted outline-none text-sm`},void 0,!1,{fileName:RC,lineNumber:156,columnNumber:11},this),d&&(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:n(`common.loading`)},void 0,!1,{fileName:RC,lineNumber:169,columnNumber:23},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`text-muted hover:text-text transition-colors`,children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:RC,lineNumber:171,columnNumber:13},this)},void 0,!1,{fileName:RC,lineNumber:170,columnNumber:11},this)]},void 0,!0,{fileName:RC,lineNumber:154,columnNumber:9},this),(0,R.jsxDEV)(`ul`,{className:`max-h-80 overflow-y-auto py-1`,children:[D&&o.length>=2&&(0,R.jsxDEV)(`li`,{className:`px-4 py-6 text-center text-muted text-sm`,children:n(`search.noResults`)},void 0,!1,{fileName:RC,lineNumber:178,columnNumber:13},this),C&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.allShelves`)},void 0,!1,{fileName:RC,lineNumber:181,columnNumber:13},this),T&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.results`)},void 0,!1,{fileName:RC,lineNumber:186,columnNumber:13},this),y.map((e,t)=>(0,R.jsxDEV)(`li`,{children:[o.length>=2&&t>=v.length&&t===v.length&&E&&(0,R.jsxDEV)(`div`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider border-t border-border mt-1 pt-2`,children:n(`search.allShelves`)},void 0,!1,{fileName:RC,lineNumber:196,columnNumber:19},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>x(e),onMouseEnter:()=>m(t),className:`w-full flex items-center gap-3 px-4 py-2 text-left transition-colors ${t===b?`bg-accent/15 text-text`:`text-text hover:bg-elevated`}`,children:[e.icon&&(0,R.jsxDEV)(je,{name:e.icon,size:16,className:`shrink-0 text-muted`},void 0,!1,{fileName:RC,lineNumber:208,columnNumber:33},this),(0,R.jsxDEV)(`span`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(`span`,{className:`block text-sm font-medium truncate`,children:e.label},void 0,!1,{fileName:RC,lineNumber:210,columnNumber:21},this),e.sub&&(0,R.jsxDEV)(`span`,{className:`block text-xs text-muted truncate`,children:e.sub},void 0,!1,{fileName:RC,lineNumber:211,columnNumber:34},this)]},void 0,!0,{fileName:RC,lineNumber:209,columnNumber:19},this)]},void 0,!0,{fileName:RC,lineNumber:200,columnNumber:17},this)]},`${e.to}-${t}`,!0,{fileName:RC,lineNumber:194,columnNumber:15},this))]},void 0,!0,{fileName:RC,lineNumber:176,columnNumber:9},this)]},void 0,!0,{fileName:RC,lineNumber:144,columnNumber:7},this)]},void 0,!0,{fileName:RC,lineNumber:132,columnNumber:5},this)}var BC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Dashboard.tsx`;function VC(){let[e,t]=(0,L.useState)({});return(0,L.useEffect)(()=>{let e=new AbortController;return fetch(`/api/counts`,{signal:e.signal}).then(e=>e.ok?e.json():{}).then(t).catch(()=>{}),()=>e.abort()},[]),e}function HC(){let{t:e}=a(),t=dC(),n=VC(),r=Ve().filter(e=>!t||t.has(e.meta.id));return(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`mx-auto max-w-5xl px-5 py-8 md:px-8`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-[28px] font-bold text-text`,children:e(`dashboard.title`)},void 0,!1,{fileName:BC,lineNumber:31,columnNumber:9},this),r.length===0?(0,R.jsxDEV)(`p`,{className:`text-muted`,children:e(`dashboard.empty`)},void 0,!1,{fileName:BC,lineNumber:33,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:r.map(t=>{let r=t.shelves.filter(e=>e.standalone!==!1);return r.length===0?null:(0,R.jsxDEV)(`section`,{className:`rounded-2xl border border-border bg-surface p-4`,children:[(0,R.jsxDEV)(`h2`,{className:`mb-3 flex items-center gap-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:[t.meta.icon&&(0,R.jsxDEV)(je,{name:t.meta.icon,size:16,className:`shrink-0`},void 0,!1,{fileName:BC,lineNumber:42,columnNumber:37},this),e(t.meta.label)]},void 0,!0,{fileName:BC,lineNumber:41,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:r.map(t=>(0,R.jsxDEV)(l,{to:`/${t.library}/${t.shelf}`,className:`flex items-center gap-2.5 rounded-lg px-2.5 py-2 text-sm text-text transition-colors hover:bg-elevated`,children:[(0,R.jsxDEV)(je,{name:t.icon,size:17,className:`shrink-0 text-muted`},void 0,!1,{fileName:BC,lineNumber:52,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate`,children:e(t.label)},void 0,!1,{fileName:BC,lineNumber:53,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`shrink-0 rounded-full bg-accent/15 px-2 py-0.5 text-xs font-medium tabular-nums text-accent`,children:n[`${t.library}/${t.shelf}`]??`·`},void 0,!1,{fileName:BC,lineNumber:54,columnNumber:25},this)]},t.shelf,!0,{fileName:BC,lineNumber:47,columnNumber:23},this))},void 0,!1,{fileName:BC,lineNumber:45,columnNumber:19},this)]},t.meta.id,!0,{fileName:BC,lineNumber:40,columnNumber:17},this)})},void 0,!1,{fileName:BC,lineNumber:35,columnNumber:11},this)]},void 0,!0,{fileName:BC,lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:BC,lineNumber:29,columnNumber:5},this)}var UC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Browse.tsx`;function WC(){let{t:e}=a(),t=dC(),n=Ve().filter(e=>!t||t.has(e.meta.id));return(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`mx-auto max-w-2xl px-4 py-6`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-5 text-2xl font-bold text-text`,children:e(`nav.browse`)},void 0,!1,{fileName:UC,lineNumber:17,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-6`,children:n.map(t=>{let n=t.shelves.filter(e=>e.standalone!==!1);return n.length===0?null:(0,R.jsxDEV)(`section`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 flex items-center gap-2 px-1 text-[11px] font-semibold uppercase tracking-widest text-muted`,children:[t.meta.icon&&(0,R.jsxDEV)(je,{name:t.meta.icon,size:14,className:`shrink-0`},void 0,!1,{fileName:UC,lineNumber:25,columnNumber:35},this),e(t.meta.label)]},void 0,!0,{fileName:UC,lineNumber:24,columnNumber:17},this),(0,R.jsxDEV)(`div`,{className:`overflow-hidden rounded-2xl border border-border bg-surface`,children:n.map((t,n)=>(0,R.jsxDEV)(l,{to:`/${t.library}/${t.shelf}`,className:`flex items-center gap-3 px-4 py-3 text-text transition-colors hover:bg-elevated ${n>0?`border-t border-border`:``}`,children:[(0,R.jsxDEV)(je,{name:t.icon,size:20,className:`shrink-0 text-muted`},void 0,!1,{fileName:UC,lineNumber:37,columnNumber:23},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate text-sm font-medium`,children:e(t.label)},void 0,!1,{fileName:UC,lineNumber:38,columnNumber:23},this),(0,R.jsxDEV)(_s,{size:16,className:`shrink-0 text-muted`},void 0,!1,{fileName:UC,lineNumber:39,columnNumber:23},this)]},t.shelf,!0,{fileName:UC,lineNumber:30,columnNumber:21},this))},void 0,!1,{fileName:UC,lineNumber:28,columnNumber:17},this)]},t.meta.id,!0,{fileName:UC,lineNumber:23,columnNumber:15},this)})},void 0,!1,{fileName:UC,lineNumber:18,columnNumber:9},this)]},void 0,!0,{fileName:UC,lineNumber:16,columnNumber:7},this)},void 0,!1,{fileName:UC,lineNumber:15,columnNumber:5},this)}var GC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/AccountSettingsPage.tsx`,KC=[qt.string({key:`displayName`,label:`auth.fieldDisplayName`}),qt.password({key:`password`,label:`auth.fieldPasswordOptional`}),qt.internalApiToken({key:`apiTokens`,label:`auth.tokensTitle`}),qt.internalOauthGrants({key:`oauthGrants`,label:`auth.grantsTitle`})];function qC(){let{t:e}=a();async function t(){let e=await rr();return{displayName:e?.displayName??``,password:e?.password??``}}async function n(e){let t=await Xn({displayName:e.displayName,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,password:t.data.password}}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}return(0,R.jsxDEV)(b,{fields:KC,recordCtx:{library:``,shelf:`account`,recordId:`me`},load:t,save:n,title:e(`auth.accountTitle`),backTo:`/settings`,backLabel:e(`settings.title`)},void 0,!1,{fileName:GC,lineNumber:36,columnNumber:5},this)}var JC=$t({shelf:`users`,library:``,label:`auth.usersTitle`,icon:`lucide:users`,views:{list:{fields:[`login`,`displayName`,`role`,`disabled`]}},fields:[qt.string({key:`login`,label:`auth.fieldLogin`}),qt.string({key:`displayName`,label:`auth.fieldDisplayName`}),qt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),qt.boolean({key:`disabled`,label:`auth.fieldDisabled`})]});function YC(e){if(!e)return null;let[t,n]=e.split(`:`);return!t||n!==`asc`&&n!==`desc`?null:{key:t,dir:n}}function XC(){let[e,t]=s(),[n,r]=(0,L.useState)(()=>e.get(`q`)??``),[i,a]=(0,L.useState)(n);(0,L.useEffect)(()=>{let e=setTimeout(()=>{a(n),t(e=>{let t=new URLSearchParams(e);return n?t.set(`q`,n):t.delete(`q`),t},{replace:!0})},300);return()=>clearTimeout(e)},[n,t]);let o=YC(e.get(`sort`));function c(e){t(t=>{let n=new URLSearchParams(t),r=YC(n.get(`sort`)),i;return i=!r||r.key!==e?{key:e,dir:`asc`}:r.dir===`asc`?{key:e,dir:`desc`}:null,i?n.set(`sort`,`${i.key}:${i.dir}`):n.delete(`sort`),n},{replace:!0})}function l(e){t(t=>{let n=new URLSearchParams(t);return e?n.set(`sort`,`${e.key}:${e.dir}`):n.delete(`sort`),n},{replace:!0})}return{q:n,setQ:r,debouncedQ:i,sort:o,toggleSort:c,setSort:l}}var ZC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/shared/Dialog.tsx`;function QC({title:e,onClose:t,children:n}){return(0,R.jsxDEV)(yr,{open:!0,onOpenChange:e=>{e||t()},children:(0,R.jsxDEV)(_r,{children:[(0,R.jsxDEV)(gr,{children:(0,R.jsxDEV)(hr,{children:e},void 0,!1,{fileName:ZC,lineNumber:24,columnNumber:11},this)},void 0,!1,{fileName:ZC,lineNumber:23,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`px-5 pb-5`,children:n},void 0,!1,{fileName:ZC,lineNumber:26,columnNumber:9},this)]},void 0,!0,{fileName:ZC,lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:ZC,lineNumber:16,columnNumber:5},this)}var $C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/GroupPanel.tsx`,ew=`__none__`;function tw({grouping:e,total:t,sort:n}){let{t:r}=a(),{fields:i,field:o,setField:s,facets:c,selected:l,setSelected:u}=e;return(0,R.jsxDEV)(`div`,{className:`folder-tree flex flex-col gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`px-1 pt-1`,children:(0,R.jsxDEV)(`div`,{className:`folder-node${l===null?` active`:``}`,onClick:()=>u(null),children:[(0,R.jsxDEV)(`span`,{className:`folder-name`,children:r(`group.all`)},void 0,!1,{fileName:$C,lineNumber:30,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:t},void 0,!1,{fileName:$C,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:$C,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:$C,lineNumber:28,columnNumber:7},this),n&&n.keys.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1 list:hidden`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`list.sortBy`)},void 0,!1,{fileName:$C,lineNumber:39,columnNumber:11},this),(0,R.jsxDEV)(it,{value:n.value?`${n.value.key}:${n.value.dir}`:ew,onValueChange:e=>{if(e===ew)return n.onChange(null);let[t,r]=e.split(`:`);n.onChange({key:t,dir:r})},children:[(0,R.jsxDEV)(at,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(nt,{placeholder:r(`list.sortBy`)},void 0,!1,{fileName:$C,lineNumber:49,columnNumber:15},this)},void 0,!1,{fileName:$C,lineNumber:48,columnNumber:13},this),(0,R.jsxDEV)(et,{children:[(0,R.jsxDEV)(Et,{value:ew,children:r(`list.sortNone`)},void 0,!1,{fileName:$C,lineNumber:52,columnNumber:15},this),n.keys.flatMap(({key:e,label:t})=>[(0,R.jsxDEV)(Et,{value:`${e}:asc`,children:[t,` ↑`]},`${e}:asc`,!0,{fileName:$C,lineNumber:54,columnNumber:17},this),(0,R.jsxDEV)(Et,{value:`${e}:desc`,children:[t,` ↓`]},`${e}:desc`,!0,{fileName:$C,lineNumber:57,columnNumber:17},this)])]},void 0,!0,{fileName:$C,lineNumber:51,columnNumber:13},this)]},void 0,!0,{fileName:$C,lineNumber:40,columnNumber:11},this)]},void 0,!0,{fileName:$C,lineNumber:38,columnNumber:9},this),i.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`group.field`)},void 0,!1,{fileName:$C,lineNumber:69,columnNumber:11},this),(0,R.jsxDEV)(it,{value:o??void 0,onValueChange:s,children:[(0,R.jsxDEV)(at,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(nt,{placeholder:r(`group.field`)},void 0,!1,{fileName:$C,lineNumber:72,columnNumber:15},this)},void 0,!1,{fileName:$C,lineNumber:71,columnNumber:13},this),(0,R.jsxDEV)(et,{children:i.map(e=>(0,R.jsxDEV)(Et,{value:e.key,children:e.label},e.key,!1,{fileName:$C,lineNumber:76,columnNumber:17},this))},void 0,!1,{fileName:$C,lineNumber:74,columnNumber:13},this)]},void 0,!0,{fileName:$C,lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:$C,lineNumber:68,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`folder-tree-scroll`,children:(0,R.jsxDEV)(`div`,{className:`folder-tree-nodes`,children:c.map(e=>(0,R.jsxDEV)(`div`,{className:`folder-node${l===e.key?` active`:``}`,title:e.label,onClick:()=>u(e.key),children:[(0,R.jsxDEV)(`span`,{className:`folder-name truncate`,children:e.label},void 0,!1,{fileName:$C,lineNumber:95,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:e.count},void 0,!1,{fileName:$C,lineNumber:96,columnNumber:15},this)]},e.key,!0,{fileName:$C,lineNumber:89,columnNumber:13},this))},void 0,!1,{fileName:$C,lineNumber:87,columnNumber:9},this)},void 0,!1,{fileName:$C,lineNumber:86,columnNumber:7},this)]},void 0,!0,{fileName:$C,lineNumber:26,columnNumber:5},this)}function nw(e,t){let{t:n}=a(),r=t?fn(e.fields)[t]:void 0,i=r?.prim===`relation`?r.relation:void 0,o=r?.hints?.displayKey??`name`,{labelMap:s}=yv(i?.library??``,i?.shelf??``,o);return(0,L.useMemo)(()=>({t:n,labelMap:s}),[n,s])}function rw(e,t,n,r,i){let a=new Map,o=0;for(let i of t){let t=pr(e,i[n],r);if(!t.length){o++;continue}for(let e of t){let t=a.get(e.value)??{label:e.label,n:0};t.n++,a.set(e.value,t)}}let s=[...a.entries()].map(([e,{label:t,n}])=>({key:e,label:t,count:n})).sort((e,t)=>t.count-e.count||e.label.localeCompare(t.label));return o>0&&s.push({key:iw,label:i,count:o}),s}var iw=`\0__none__`;function aw(e,t){let{t:n}=a(),r=fn(e.fields),i=(0,L.useMemo)(()=>tn(e).filter(e=>r[e]),[e,r]),o=(0,L.useMemo)(()=>i.map(e=>({key:e,label:r[e]?n(r[e].label):e})),[i,r,n]),[c,l]=s(),u=c.get(`groupBy`),d=c.get(`groupItem`)??null,f=(0,L.useMemo)(()=>{if(u&&i.includes(u))return u;let t=on(e);return t&&i.includes(t)?t:i[0]??null},[u,i,e]),p=nw(e,f);return{fields:o,field:f,setField:e=>{l(t=>{let n=new URLSearchParams(t);return n.set(`groupBy`,e),n.delete(`groupItem`),n},{replace:!0})},facets:(0,L.useMemo)(()=>{if(!f)return[];let e=r[f];return e?rw(e,t,f,p,n(`group.noValue`)):[]},[f,r,t,p,n]),selected:d,setSelected:e=>{l(t=>{let n=new URLSearchParams(t);return e===null?n.delete(`groupItem`):n.set(`groupItem`,e),n},{replace:!0})},filtered:(0,L.useMemo)(()=>{if(!f||d===null)return t;let e=r[f];return e?d===`\0__none__`?t.filter(t=>pr(e,t[f],p).length===0):t.filter(t=>pr(e,t[f],p).some(e=>e.value===d)):t},[t,f,r,d,p])}}function ow(e,t,n,r,i){let a=e=>{if(!r)return String(e[t]??``);let n=pr(r,e[t],i)[0];return n?.sort??n?.value??``};return[...e].sort((e,t)=>{let r=a(e).localeCompare(a(t),void 0,{numeric:!0,sensitivity:`base`});return n===`asc`?r:-r})}var sw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/EntityListView.tsx`;function cw({mod:e,hrefBase:t,fetchRows:n,onDelete:r,resetKey:i,cacheKey:o}){let{t:c}=a(),l=u(),[d,f]=(0,L.useState)(null),[p,m]=(0,L.useState)(!1),[h,g]=(0,L.useState)(0),{q:_,setQ:v,debouncedQ:b,sort:x,toggleSort:S,setSort:C}=XC(),[,w]=s(),T=On(`panel`,1e3),E=o?`${o}?${b}`:null,[D,O]=(0,L.useState)(()=>E?me(E)?.rows??[]:[]),[k,A]=(0,L.useState)(D.length===0),ee=(0,L.useRef)(0),te=(0,L.useCallback)(async(e=b)=>{let t=o?`${o}?${e}`:null,r=t?me(t):void 0;r&&O(r.rows),A(!r);let i=++ee.current;try{let r=await n(e);if(i!==ee.current)return;O(r),t&&fe(t,r)}catch{i===ee.current&&!r&&O([])}finally{i===ee.current&&A(!1)}},[n,b,o]),ne=(0,L.useRef)(null);(0,L.useEffect)(()=>{i!==void 0&&(ne.current!==null&&ne.current!==i&&(v(``),w({},{replace:!0})),ne.current=i)},[i]),(0,L.useEffect)(()=>{te()},[te,h]);let j=aw(e,D),M=nw(e,x?.key??null),re=(0,L.useMemo)(()=>{if(!x)return j.filtered;let t=fn(e.fields)[x.key];return ow(j.filtered,x.key,x.dir,t,M)},[j.filtered,x,e,M]),N=(0,L.useMemo)(()=>cn(e),[e]),ie=fn(e.fields),ae=(0,L.useMemo)(()=>{let t=rn(e),n=fc(t);if(!n)return console.error(`[list] невідомий вигляд '${t}' для ${e.library}/${e.shelf} — показую таблицю`),fc(`table`);let r=n.check?.(e,N);return r?(console.error(`[list] вигляд '${t}' не підходить ${e.library}/${e.shelf}: ${r} — показую таблицю`),fc(`table`)):n},[e,N]),oe={keys:N.map(e=>({key:e,label:YS(c,e,ie[e])})),value:x,onChange:C};function se(){l(`${t}/new`)}let ce=(0,L.useCallback)(async e=>{if(!await br({title:c(`actions.confirmDelete`),confirmLabel:c(`actions.delete`),variant:`destructive`}))return;f(e);let t=await r(e);if(f(null),!t.ok){y.error(t.error===`last_admin`?c(`auth.lastAdminError`):c(`common.error`));return}o&&(ge(o),qS(o)),g(e=>e+1)},[r,c,o]);return(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(qe,{actions:(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`relative w-[220px] hidden nav:block`,children:[(0,R.jsxDEV)(Te,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:sw,lineNumber:189,columnNumber:15},this),(0,R.jsxDEV)(`input`,{type:`search`,value:_,onChange:e=>v(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-8 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:sw,lineNumber:190,columnNumber:15},this)]},void 0,!0,{fileName:sw,lineNumber:188,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,className:`panel:hidden`,onClick:()=>m(!0),children:(0,R.jsxDEV)(Os,{size:16},void 0,!1,{fileName:sw,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:sw,lineNumber:200,columnNumber:13},this),(0,R.jsxDEV)(F,{onClick:se,children:[(0,R.jsxDEV)(Vt,{size:16},void 0,!1,{fileName:sw,lineNumber:204,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:c(`actions.new`)},void 0,!1,{fileName:sw,lineNumber:205,columnNumber:15},this)]},void 0,!0,{fileName:sw,lineNumber:203,columnNumber:13},this)]},void 0,!0,{fileName:sw,lineNumber:186,columnNumber:11},this),children:[(0,R.jsxDEV)(je,{name:e.icon,size:20,className:`shrink-0 text-text`},void 0,!1,{fileName:sw,lineNumber:210,columnNumber:9},this),(0,R.jsxDEV)(`h1`,{className:`text-base font-bold text-text truncate`,children:c(e.label)},void 0,!1,{fileName:sw,lineNumber:211,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`text-xs font-medium bg-accent/15 text-accent rounded-full px-2 py-0.5 tabular-nums shrink-0`,children:re.length},void 0,!1,{fileName:sw,lineNumber:212,columnNumber:9},this),k&&D.length>0&&(0,R.jsxDEV)(ht,{size:13,className:`animate-spin text-muted shrink-0`,"aria-hidden":!0},void 0,!1,{fileName:sw,lineNumber:216,columnNumber:40},this)]},void 0,!0,{fileName:sw,lineNumber:184,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex items-start`,children:[T&&(0,R.jsxDEV)(`div`,{className:`hidden panel:block w-56 shrink-0 border-r border-border sticky top-[52px] self-start h-[calc(100dvh-52px)] overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`pt-2`,children:(0,R.jsxDEV)(tw,{grouping:j,total:D.length,sort:oe},void 0,!1,{fileName:sw,lineNumber:225,columnNumber:15},this)},void 0,!1,{fileName:sw,lineNumber:224,columnNumber:13},this)},void 0,!1,{fileName:sw,lineNumber:223,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:re.length===0?k?(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted`,children:(0,R.jsxDEV)(ht,{size:28,className:`animate-spin`},void 0,!1,{fileName:sw,lineNumber:237,columnNumber:17},this)},void 0,!1,{fileName:sw,lineNumber:236,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col items-center justify-center gap-4 py-20 text-muted`,children:[(0,R.jsxDEV)(je,{name:e.icon,size:48,className:`text-muted`},void 0,!1,{fileName:sw,lineNumber:241,columnNumber:17},this),(0,R.jsxDEV)(`p`,{className:`text-base`,children:c(`list.empty`)},void 0,!1,{fileName:sw,lineNumber:242,columnNumber:17},this),(0,R.jsxDEV)(F,{onClick:se,children:[(0,R.jsxDEV)(Vt,{size:16},void 0,!1,{fileName:sw,lineNumber:244,columnNumber:19},this),` `,c(`actions.addFirst`)]},void 0,!0,{fileName:sw,lineNumber:243,columnNumber:17},this)]},void 0,!0,{fileName:sw,lineNumber:240,columnNumber:15},this):(0,R.jsxDEV)(ae.View,{rows:re,shelf:e,keys:N,hrefBase:t,onDelete:ce,deletingId:d,sort:x,onToggleSort:S,scrollKey:E??void 0},void 0,!1,{fileName:sw,lineNumber:249,columnNumber:13},this)},void 0,!1,{fileName:sw,lineNumber:231,columnNumber:9},this)]},void 0,!0,{fileName:sw,lineNumber:220,columnNumber:7},this),p&&(0,R.jsxDEV)(QC,{title:c(`group.title`),onClose:()=>m(!1),children:[(0,R.jsxDEV)(`div`,{className:`relative mb-4 nav:hidden`,children:[(0,R.jsxDEV)(Te,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:sw,lineNumber:269,columnNumber:13},this),(0,R.jsxDEV)(`input`,{type:`search`,value:_,onChange:e=>v(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-9 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:sw,lineNumber:270,columnNumber:13},this)]},void 0,!0,{fileName:sw,lineNumber:268,columnNumber:11},this),(0,R.jsxDEV)(tw,{grouping:j,total:D.length,sort:oe},void 0,!1,{fileName:sw,lineNumber:279,columnNumber:11},this)]},void 0,!0,{fileName:sw,lineNumber:266,columnNumber:9},this)]},void 0,!0,{fileName:sw,lineNumber:182,columnNumber:5},this)}var lw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UsersListPage.tsx`;function uw(){return(0,R.jsxDEV)(cw,{mod:JC,hrefBase:`/settings/users`,fetchRows:async e=>{let t=await Yn(e);return t.ok?t.data:[]},onDelete:async e=>{let t=await cr(Number(e));return t.ok?{ok:!0}:t.status===409?{ok:!1,error:`last_admin`}:{ok:!1}}},void 0,!1,{fileName:lw,lineNumber:7,columnNumber:5},this)}var dw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserCreatePage.tsx`,fw=[qt.string({key:`login`,label:`auth.fieldLogin`,required:!0}),qt.string({key:`displayName`,label:`auth.fieldDisplayName`,required:!0}),qt.password({key:`password`,label:`auth.password`,required:!0}),qt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]})];function pw(){let{t:e}=a(),t=u();async function n(){return{login:``,displayName:``,password:``,role:`member`}}async function r(e){let n=await Qn({login:e.login,displayName:e.displayName,password:e.password,role:e.role});return n.ok?(t(`/settings/users`),{ok:!0,row:{login:n.data.login,displayName:n.data.displayName,password:n.data.password,role:n.data.role}}):n.status===422?{ok:!1,status:422,issues:n.data.issues}:{ok:!1,status:n.status}}return(0,R.jsxDEV)(b,{fields:fw,recordCtx:{library:``,shelf:`users`,recordId:`new`},load:n,save:r,title:e(`auth.userCreateTitle`),backTo:`/settings/users`,backLabel:e(`auth.usersTitle`)},void 0,!1,{fileName:dw,lineNumber:46,columnNumber:5},this)}var mw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserEditPage.tsx`,hw=[qt.string({key:`displayName`,label:`auth.fieldDisplayName`}),qt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),qt.boolean({key:`disabled`,label:`auth.fieldDisabled`}),qt.password({key:`password`,label:`auth.fieldPasswordOptional`})];function gw(){let{id:e}=_(),{t}=a(),n=Number(e);async function r(){let e=await Yn(),t=e.ok?e.data.find(e=>e.id===n):void 0;return{displayName:t?.displayName??``,role:t?.role??`member`,disabled:t?.disabled??!1,password:t?.password??``}}async function i(e){let t=await Kn(n,{displayName:e.displayName,role:e.role,disabled:e.disabled,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,role:t.data.role,disabled:t.data.disabled,password:t.data.password}}:t.status===409?{ok:!1,status:422,issues:[{field:`role`,code:`last_admin`,path:[],params:{}}]}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}return(0,R.jsxDEV)(b,{fields:hw,recordCtx:{library:``,shelf:`users`,recordId:e??``},load:r,save:i,title:t(`auth.usersTitle`),backTo:`/settings/users`,backLabel:t(`auth.usersTitle`)},void 0,!1,{fileName:mw,lineNumber:50,columnNumber:5},this)}var _w=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/ShelfView.tsx`;function vw(){let{t:e}=a(),{library:t,shelf:n}=_(),r=Ve().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),i=(0,L.useCallback)(async e=>{let r=e?`?q=${encodeURIComponent(e)}`:``;try{return await $n(`/api/${t}/${n}${r}`)}catch{return[]}},[t,n]),o=(0,L.useCallback)(async e=>(await nr(t,n,e),{ok:!0}),[t,n]);return!r||r.standalone===!1?(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:_w,lineNumber:37,columnNumber:44},this):(0,R.jsxDEV)(cw,{mod:r,hrefBase:`/${t}/${n}`,resetKey:`${t}:${n}`,cacheKey:`${t}/${n}`,fetchRows:i,onDelete:o},void 0,!1,{fileName:_w,lineNumber:40,columnNumber:5},this)}function yw(e,t){let n={pinned:[],muted:[]};for(let[r,i]of ln(e.fields)){if(i.virtual||Qt(i.hidden,t))continue;let e=i.hints.role;e===`cover`&&!n.cover?n.cover={key:r,field:i}:e===`avatar`&&!n.avatar&&(n.avatar={key:r,field:i}),i.hints.pinned===!0&&n.pinned.push({key:r,field:i}),i.hints.emphasis===`muted`&&n.muted.push({key:r,field:i})}return n}var bw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/display/index.tsx`;function xw(e){return e!=null&&e!==``}function Sw(e,t,n,r,i){return e||!n?Promise.resolve(void 0):t(()=>n(r,i))}var Cw=new Set([`image`,`media`,`poster`,`cover`]);function ww({field:e,fieldKey:t,label:n,value:r,recordCtx:i,onChange:a,editAll:o}){return o?(0,R.jsxDEV)(fr,{field:e,fieldKey:t,label:n,value:r,mode:`edit`,recordCtx:i,onChange:a},void 0,!1,{fileName:bw,lineNumber:103,columnNumber:7},this):Cw.has(e.kind)?ly(r).length?(0,R.jsxDEV)(`div`,{className:`group/field relative`,children:(0,R.jsxDEV)(hy,{value:r,banner:!0},void 0,!1,{fileName:bw,lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:bw,lineNumber:134,columnNumber:5},this):null:(0,R.jsxDEV)(fr,{field:e,fieldKey:t,label:n,value:r,mode:`view`,recordCtx:i,onChange:a},void 0,!1,{fileName:bw,lineNumber:116,columnNumber:7},this)}function Tw(e,t,n,r){let{t:i}=a(),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)({}),[u,d]=(0,L.useState)({}),[f,p]=(0,L.useState)(!1),m=t=>t in c?c[t]:e?.[t],h=(e,t)=>l(n=>({...n,[e]:t})),g=(e,t,n)=>u[e]&&t in u[e]?u[e][t]:n?.[t],_=(e,t,n)=>d(r=>({...r,[e]:{...r[e],[t]:n}}));async function v(){if(!t)return;p(!0);let e=y.loading(i(`save.saving`)),a;if(r){let e={...c};for(let[t,n]of Object.entries(u))Object.keys(n).length&&(e[`_extend_${t}`]=n);Object.keys(e).length&&(a=await r(e)??void 0)}else{for(let[e,n]of Object.entries(c))a??=await t(e,n)??void 0;if(n)for(let[e,t]of Object.entries(u))for(let[r,i]of Object.entries(t))a??=await n(e,r,i)??void 0}if(p(!1),a){y.error(a,{id:e});return}y.success(i(`save.done`),{id:e}),s(!1),l({}),d({})}return{editAll:o,savingAll:f,startAll:()=>{l({}),d({}),s(!0)},cancelAll:()=>{s(!1),l({}),d({})},saveAll:v,baseVal:m,setBaseDraft:h,extVal:g,setExtDraft:_}}function Ew({shelf:e,record:t,onUpdate:n,onUpdateExtend:r,edit:i,errorAt:o=(()=>void 0)}){let{t:s}=a(),{saving:c,run:l}=tv(),u=fn(e.fields),d=e=>{let t=u[e];return t?.label?s(t.label):e},f=(e,t)=>{let n=u[e]?.options?.find(e=>e.value===String(t));return n?s(n.title):String(t)},p=un(e),m=(0,L.useMemo)(()=>u[p]??{kind:`text`,label:`core.fields.name`,required:!1,prim:`text`,hints:{},column:`text`,zod:void 0},[u,p]),h=!!n,g={library:e.library,shelf:e.shelf,recordId:String(t.id)},_=(0,L.useMemo)(()=>{let n={...t};if(i?.editAll)for(let[t]of ln(e.fields))n[t]=i.baseVal(t);return n},[t,i?.editAll,i?.baseVal,e.fields]),v=(0,L.useMemo)(()=>yw(e,_),[e,_]),y=(0,L.useMemo)(()=>new Set([v.cover?.key,v.avatar?.key,...v.pinned.map(e=>e.key),...v.muted.map(e=>e.key)].filter(Boolean)),[v]),b=i?.editAll?`edit`:`view`,x=e=>i?.editAll?i.baseVal(e):t[e],S=v.pinned.filter(({key:e,field:t})=>i?.editAll||Mn(t,x(e))),C=v.cover&&(i?.editAll?!0:!Cw.has(v.cover.field.kind)||ly(x(v.cover.key)).length>0),w=e=>i?.editAll?t=>i.setBaseDraft(e,t):n?t=>Sw(c,l,n,e,t):void 0,T={bridge:{mode:i?.editAll?`edit`:`view`,recordCtx:g,values:_,getValue:e=>i?.editAll?i.baseVal(e):t[e],setValue:(e,t)=>{i?.editAll?i.setBaseDraft(e,t):Sw(c,l,n,e,t)},isHidden:e=>{if(e===p||y.has(e))return!0;let t=u[e];return!!(t?.virtual||Qt(t?.hidden,_))},requiredOf:e=>Qt(u[e]?.required,_),error:e=>o([e]),touch:()=>{}}},E=(0,L.useMemo)(()=>We(e.library,e.shelf).map(e=>({ext:e,data:t._extends?.[e.id]})).filter(({ext:e,data:t})=>t!=null&&ln(e.fields).some(([e])=>xw(t[e]))||e.showWhen!=null&&an(e.showWhen,_)),[e.library,e.shelf,t,_]);return(0,R.jsxDEV)(Ke.Provider,{value:o,children:(0,R.jsxDEV)(`article`,{className:`max-w-7xl mx-auto px-5 py-8 md:px-8 md:py-10 flex flex-col ${Pt}`,children:[C&&v.cover&&(0,R.jsxDEV)(`div`,{className:`-mx-5 -mt-8 md:-mx-8 md:-mt-10`,children:(0,R.jsxDEV)(ww,{field:v.cover.field,fieldKey:v.cover.key,label:d(v.cover.key),value:x(v.cover.key),recordCtx:g,onChange:w(v.cover.key),editAll:i?.editAll},void 0,!1,{fileName:bw,lineNumber:375,columnNumber:11},this)},void 0,!1,{fileName:bw,lineNumber:374,columnNumber:9},this),(0,R.jsxDEV)(`header`,{className:`flex items-center gap-4`,role:`heading`,"aria-level":1,children:[v.avatar&&(0,R.jsxDEV)(`div`,{className:`shrink-0`,children:(0,R.jsxDEV)(fr,{field:v.avatar.field,fieldKey:v.avatar.key,label:d(v.avatar.key),value:x(v.avatar.key),mode:b,recordCtx:g,onChange:w(v.avatar.key)},void 0,!1,{fileName:bw,lineNumber:392,columnNumber:13},this)},void 0,!1,{fileName:bw,lineNumber:391,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsxDEV)(fr,{field:m,fieldKey:p,value:x(p),mode:b,recordCtx:g,onChange:w(p)},void 0,!1,{fileName:bw,lineNumber:404,columnNumber:11},this)},void 0,!1,{fileName:bw,lineNumber:403,columnNumber:9},this)]},void 0,!0,{fileName:bw,lineNumber:389,columnNumber:7},this),S.length>0&&(0,R.jsxDEV)(`div`,{className:`flex gap-2 flex-wrap`,children:S.map(({key:e,field:t})=>(0,R.jsxDEV)(`div`,{className:`bg-surface border border-border rounded-lg px-3 py-1.5`,children:(0,R.jsxDEV)(fr,{field:t,fieldKey:e,label:d(e),value:x(e),mode:b,recordCtx:g,onChange:w(e)},void 0,!1,{fileName:bw,lineNumber:422,columnNumber:15},this)},e,!1,{fileName:bw,lineNumber:421,columnNumber:13},this))},void 0,!1,{fileName:bw,lineNumber:419,columnNumber:9},this),(0,R.jsxDEV)(Ge,{items:e.fields,ctx:T},void 0,!1,{fileName:bw,lineNumber:437,columnNumber:7},this),E.map(({ext:n,data:a})=>(0,R.jsxDEV)(Dw,{ext:n,data:a,m:e,recordId:String(t.id),editable:h,edit:i,onUpdateExtend:r,fieldLabelOf:d,valueLabelOf:f},n.id,!1,{fileName:bw,lineNumber:442,columnNumber:9},this)),v.muted.length>0&&(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-3 flex flex-col gap-1.5`,children:v.muted.map(({key:e,field:t})=>(0,R.jsxDEV)(fr,{field:t,fieldKey:e,label:d(e),value:x(e),mode:b,recordCtx:g,onChange:w(e)},e,!1,{fileName:bw,lineNumber:460,columnNumber:13},this))},void 0,!1,{fileName:bw,lineNumber:458,columnNumber:9},this)]},void 0,!0,{fileName:bw,lineNumber:371,columnNumber:5},this)},void 0,!1,{fileName:bw,lineNumber:370,columnNumber:5},this)}function Dw({ext:e,data:t,m:n,recordId:r,editable:i,edit:o,onUpdateExtend:s,fieldLabelOf:c,valueLabelOf:l}){let{t:u}=a(),{saving:d,run:f}=tv(),p=o?.editAll?`edit`:`view`,m=Ge({items:e.fields,ctx:{renderField:(a,c)=>c.virtual||!i&&!xw(t?.[a])?null:(0,R.jsxDEV)(fr,{field:c,fieldKey:a,extId:e.id,value:o?.editAll?o.extVal(e.id,a,t):t?.[a],label:c.label?u(c.label):void 0,required:c.required===!0,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>Sw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:bw,lineNumber:518,columnNumber:9},this),renderGroup:(a,c)=>{let l=o?.editAll?o.extVal(e.id,a,t):t?.[a];if(!i&&!xw(l))return null;let u=vn({kind:xn(c)});return u?(0,R.jsxDEV)(u.Page,{el:c,value:l,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>Sw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:bw,lineNumber:543,columnNumber:9},this):null}}});return m==null?null:(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-6`,children:(0,R.jsxDEV)(ze,{label:u(e.label),icon:e.icon??`lucide:puzzle`,rail:!1,tone:`section`,labelAfter:(0,R.jsxDEV)(be,{ext:e,fieldLabel:c,valueLabel:l},void 0,!1,{fileName:bw,lineNumber:572,columnNumber:21},this),children:m},void 0,!1,{fileName:bw,lineNumber:567,columnNumber:7},this)},void 0,!1,{fileName:bw,lineNumber:566,columnNumber:5},this)}function Ow(e){return c(()=>import(e),[])}var kw=Object.assign({"../plugin-claude-agent/src/index.ts":()=>c(()=>import(`./src-HABGxsRV.js`),__vite__mapDeps([28,29,1,30,31])),"../plugin-console/src/index.ts":()=>c(()=>import(`./src-CkyeS9DG.js`),__vite__mapDeps([32,29,1,30,31])),"../plugin-core/src/index.ts":()=>c(()=>import(`./src-B1VIJtHj.js`),__vite__mapDeps([33,34,29,1,35,30,31])),"../plugin-devices/src/index.ts":()=>c(()=>import(`./src-82xH6mzL.js`),__vite__mapDeps([36,37,29,1,38,39,40,30,31])),"../plugin-documents/src/index.ts":()=>c(()=>import(`./src-NjjI6BoS.js`),__vite__mapDeps([41,29,1,39,40,30])),"../plugin-drone/src/index.ts":()=>c(()=>import(`./src-DGTYbs6s.js`),__vite__mapDeps([42,29,1,40,39,30])),"../plugin-finance/src/index.ts":()=>c(()=>import(`./src-DK_szrYh.js`),__vite__mapDeps([43,44,29,1,39,40,30,31])),"../plugin-garden/src/index.ts":()=>c(()=>import(`./src-DWuhltOv.js`),__vite__mapDeps([45,29,1,39,30])),"../plugin-geo/src/index.ts":()=>c(()=>import(`./src-DNRPYtVW.js`),__vite__mapDeps([46,30])),"../plugin-health/src/index.ts":()=>c(()=>import(`./src-DY4zcFBV.js`),__vite__mapDeps([47,29,1,39,40,30,31])),"../plugin-home/src/index.ts":()=>c(()=>import(`./src-MK8RohgP.js`),__vite__mapDeps([48,29,1,39,30])),"../plugin-http/src/index.ts":()=>c(()=>import(`./src-C0UxSUeR.js`),__vite__mapDeps([49,29,1,30,31])),"../plugin-kitchen/src/index.ts":()=>c(()=>import(`./src-RuPVoIKg.js`),__vite__mapDeps([50,29,1,39,30])),"../plugin-lab/src/index.ts":()=>c(()=>import(`./src-DdDc6tQm.js`),__vite__mapDeps([51,29,1,39,40,30,31,38,37,44])),"../plugin-media/src/index.ts":()=>c(()=>import(`./src-7UE-kCDq.js`),__vite__mapDeps([52,29,1,39,30,31])),"../plugin-orchestrator/src/index.ts":()=>c(()=>import(`./src-2jGaQ-C3.js`),__vite__mapDeps([53,29,1,30,31])),"../plugin-people/src/index.ts":()=>c(()=>import(`./src-BqABh1uZ.js`),__vite__mapDeps([54,29,1,39,30])),"../plugin-telegram/src/index.ts":()=>c(()=>import(`./src-DlMQDr49.js`),__vite__mapDeps([55,29,1,30,31])),"../plugin-things/src/index.ts":()=>c(()=>import(`./src-B03lewBR.js`),__vite__mapDeps([56,29,1,39,30])),"../plugin-transit/src/index.ts":()=>c(()=>import(`./src-Bw_s3Ntp.js`),__vite__mapDeps([57,29,1,39,30,31])),"../plugin-travel/src/index.ts":()=>c(()=>import(`./src-7w_NUAGr.js`),__vite__mapDeps([58,29,1,39,30])),"../plugin-webchat/src/index.ts":()=>c(()=>import(`./src-BKtjLdxS.js`),__vite__mapDeps([59,29,1,30,31])),"../plugin-webexport/src/index.ts":()=>c(()=>import(`./src-zgHG-QuP.js`),__vite__mapDeps([60,29,1,30,31]))}),Aw=Object.assign({"../plugin-devices/src/fields/ui.tsx":()=>c(()=>import(`./ui-CqAR7iK_.js`),__vite__mapDeps([61,1,2,3,25,24,4,26,5,6,62,63,64,65,29,66,67,68,69,34,37])),"../plugin-geo/src/ui.tsx":()=>c(()=>import(`./ui-B3pPuRs1.js`),__vite__mapDeps([70,1,2,3,24,4,25,26,5,6,69,34,63,62,64,68,65,29,39,66,71])),"../plugin-webchat/src/ui/ui.tsx":()=>c(()=>import(`./ui-DzUTPbkP.js`),__vite__mapDeps([72,3,1,2,65,29,66]))});[...Object.keys(kw),...Object.keys(Aw)];async function jw(e,t){let n=Object.entries(kw).find(([t])=>t.includes(`/plugin-${e}/`));if(!n)return null;let r=(await n[1]()).default??null;for(let[n,r]of Object.entries(Aw)){if(!n.includes(`/plugin-${e}/`))continue;let i=(await r()).default;i&&t(i)}return r}var Mw={};function Nw(e,t){return Mw[`${e}/${t}`]}function Pw(e){Tn(e),e.shelf?.RecordView&&e.shelf.library&&e.shelf.shelf&&(Mw[`${e.shelf.library}/${e.shelf.shelf}`]=e.shelf.RecordView);for(let t of e.renderers??[])I(t);for(let t of e.listViews??[])dc(t);for(let[t,n]of Object.entries(e.templates??{}))gn(t,n);for(let[t,n]of Object.entries(e.translations??{}))n&&jr.addResourceBundle(t,`translation`,n,!0,!0)}function Fw(e){if(!e.startsWith(`/`)){console.warn(`[federation] skip non-same-origin css: ${e}`);return}if(document.querySelector(`link[href="${e}"]`))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t)}function Iw(e){let t=new Map(e.map(e=>[e.id,e])),n=new Set,r=[],i=e=>{if(!n.has(e.id)){n.add(e.id);for(let n of e.dependsOn){let e=t.get(n);e&&i(e)}r.push(e)}};for(let t of e)i(t);return r}async function Lw(){let e=await fetch(`/api/plugins`);if(!e.ok)throw Error(`[federation] /api/plugins ${e.status}`);let t=Iw((await e.json()).filter(e=>e.enabled)),n=await Promise.all(t.map(async e=>{{let t=[],n=await jw(e.id,e=>t.push(e)).catch(t=>(console.error(`[federation] ${e.id}: dev source failed —`,t),null));if(n)return{e,devManifest:n,devBundles:t}}if(!e.schema)return{e};let t=await Ow(e.schema).catch(t=>{console.error(`[federation] ${e.id}: schema failed, skipping plugin —`,t)});return t?{e,schemaMod:t,webMod:e.web?await Ow(e.web).catch(t=>{console.error(`[federation] ${e.id}: web bundle failed —`,t)}):void 0}:{e}})),r=[];for(let{e,devManifest:t,devBundles:i,schemaMod:a,webMod:o}of n)try{if(t){r.push(t);for(let e of i??[])Pw(e);continue}let n=a?.default;if(!n)continue;r.push(n),e.css&&Fw(e.css);let s=o?.default;s&&Pw(s)}catch(t){console.error(`[federation] ${e.id}: applying bundle failed —`,t)}return r}var Rw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/record/RecordView.tsx`;function zw(){let{t:e}=a(),{library:t,shelf:n,id:r}=_(),i=u(),o=Ve().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),[s,c]=(0,L.useState)(null),l=(0,L.useRef)(s);(0,L.useEffect)(()=>{l.current=s},[s]);let[d,f]=(0,L.useState)({}),[p,m]=(0,L.useState)(!1),h=Be(e),g=e=>d[e.join(`.`)],v=Tw(s,b,x,S);if((0,L.useEffect)(()=>{if(!o||o.standalone===!1||!r)return;let e=new AbortController;return fetch(`/api/${o.library}/${o.shelf}/${r}`,{signal:e.signal}).then(e=>e.ok?e.json():null).then(c).catch(()=>{}),()=>e.abort()},[o,r]),!o||o.standalone===!1)return(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:Rw,lineNumber:52,columnNumber:44},this);async function b(t,n){if(!o||!r)return;let i=l.current?.[t];f(e=>Ie(e,t)),c(e=>e&&{...e,[t]:n});let a=await Jn(o.library,o.shelf,r,{[t]:n});if(a.ok){c(a.row??null),ve(`${o.library}/${o.shelf}`,a.row??{});return}c(e=>e&&{...e,[t]:i});let s=Je(a.issues??[],h);f(e=>({...Ie(e,t),...s}));let u=(a.issues??[]).find(e=>e.field===t)??a.issues?.[0];return u?h(u.code,u.params):e(`validation.server`)}async function x(t,n,i){if(!o||!r)return;let a=l.current?._extends?.[t]?.[n];f(e=>Ie(e,n)),c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:i}}}});let s=await Jn(o.library,o.shelf,r,{[`_extend_${t}`]:{[n]:i}});if(s.ok){c(s.row??null),ve(`${o.library}/${o.shelf}`,s.row??{});return}c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:a}}}}),f(e=>({...Ie(e,n),...Je(s.issues??[],h)}));let u=(s.issues??[]).find(e=>e.field===n)??s.issues?.[0];return u?h(u.code,u.params):e(`validation.server`)}async function S(t){if(!o||!r)return;f(e=>Object.keys(t).reduce((e,t)=>Ie(e,t),e));let n=await Jn(o.library,o.shelf,r,t);if(n.ok){c(n.row??null),ve(`${o.library}/${o.shelf}`,n.row??{});return}f(e=>({...Object.keys(t).reduce((e,t)=>Ie(e,t),e),...Je(n.issues??[],h)}));let i=n.issues?.[0];return i?h(i.code,i.params):e(`validation.server`)}async function C(){if(!o||!r||!await br({title:e(`actions.confirmDelete`),confirmLabel:e(`actions.delete`),variant:`destructive`}))return;m(!0);let t=await nr(o.library,o.shelf,r);if(m(!1),!t){y.error(e(`common.error`));return}ge(`${o.library}/${o.shelf}`),i(`/${o.library}/${o.shelf}`)}let T=Nw(o.library,o.shelf);return(0,R.jsxDEV)($_,{children:(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(qe,{actions:s&&!T&&(v.editAll?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{disabled:v.savingAll,onClick:v.saveAll,children:[(0,R.jsxDEV)(Ze,{size:16},void 0,!1,{fileName:Rw,lineNumber:152,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.save`)},void 0,!1,{fileName:Rw,lineNumber:153,columnNumber:19},this)]},void 0,!0,{fileName:Rw,lineNumber:151,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,disabled:v.savingAll,onClick:v.cancelAll,title:e(`actions.cancel`),children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:Rw,lineNumber:162,columnNumber:19},this)},void 0,!1,{fileName:Rw,lineNumber:155,columnNumber:17},this)]},void 0,!0,{fileName:Rw,lineNumber:150,columnNumber:15},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{onClick:v.startAll,title:e(`actions.editAll`),children:[(0,R.jsxDEV)(Mt,{size:16},void 0,!1,{fileName:Rw,lineNumber:168,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.edit`)},void 0,!1,{fileName:Rw,lineNumber:169,columnNumber:19},this)]},void 0,!0,{fileName:Rw,lineNumber:167,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`destructive`,size:`icon`,disabled:p,onClick:C,title:e(`actions.delete`),children:(0,R.jsxDEV)(rt,{size:16},void 0,!1,{fileName:Rw,lineNumber:178,columnNumber:19},this)},void 0,!1,{fileName:Rw,lineNumber:171,columnNumber:17},this)]},void 0,!0,{fileName:Rw,lineNumber:166,columnNumber:15},this)),children:(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,className:`px-2 bg-bg/60 border border-border/50 shadow-sm backdrop-blur-sm hover:bg-bg/80`,onClick:()=>i(`/${t}/${n}`),children:[(0,R.jsxDEV)(Fe,{size:18},void 0,!1,{fileName:Rw,lineNumber:190,columnNumber:13},this),(0,R.jsxDEV)(`span`,{className:`text-sm`,children:e(o.label)},void 0,!1,{fileName:Rw,lineNumber:191,columnNumber:13},this)]},void 0,!0,{fileName:Rw,lineNumber:184,columnNumber:11},this)},void 0,!1,{fileName:Rw,lineNumber:145,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(Ue,{library:o.library,shelf:o.shelf,children:s?T?(0,R.jsxDEV)(T,{record:s,onEdit:()=>{}},void 0,!1,{fileName:Rw,lineNumber:201,columnNumber:15},this):(0,R.jsxDEV)(Ew,{shelf:o,record:s,onUpdate:b,onUpdateExtend:x,edit:v,errorAt:g},void 0,!1,{fileName:Rw,lineNumber:203,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted text-sm`,children:e(`common.loading`)},void 0,!1,{fileName:Rw,lineNumber:199,columnNumber:15},this)},void 0,!1,{fileName:Rw,lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:Rw,lineNumber:196,columnNumber:9},this)]},void 0,!0,{fileName:Rw,lineNumber:142,columnNumber:7},this)},void 0,!1,{fileName:Rw,lineNumber:141,columnNumber:5},this)}var Bw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/PluginSlot.tsx`,Vw=new WeakMap;function Hw(e){let t=Vw.get(e);return t||(t=(0,L.lazy)(e),Vw.set(e,t)),t}var Uw=class extends L.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){console.error(`[plugin-slot] внесок "${this.props.id}" впав —`,e)}render(){return this.state.failed?null:this.props.children}};function Ww({name:e}){let t=Sn(e);return t.length?(0,R.jsxDEV)(R.Fragment,{children:t.map(e=>{let t=Hw(e.load);return(0,R.jsxDEV)(Uw,{id:e.id,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(t,{},void 0,!1,{fileName:Bw,lineNumber:54,columnNumber:15},this)},void 0,!1,{fileName:Bw,lineNumber:53,columnNumber:13},this)},e.id,!1,{fileName:Bw,lineNumber:52,columnNumber:11},this)})},void 0,!1,{fileName:Bw,lineNumber:48,columnNumber:5},this):null}function Gw({id:e,load:t}){let n=Hw(t);return(0,R.jsxDEV)(Uw,{id:e,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(n,{},void 0,!1,{fileName:Bw,lineNumber:69,columnNumber:9},this)},void 0,!1,{fileName:Bw,lineNumber:68,columnNumber:7},this)},void 0,!1,{fileName:Bw,lineNumber:67,columnNumber:5},this)}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Shell.tsx`,Kw=(0,L.lazy)(()=>c(()=>import(`./SettingsPage-CVFkzyOu.js`).then(e=>({default:e.SettingsPage})),__vite__mapDeps([73,1,2,3,24,4,5,6,69,34,26,63,74,75,76,77]))),qw=(0,L.lazy)(()=>c(()=>import(`./PluginSettingsPage-T_qvClIU.js`).then(e=>({default:e.PluginSettingsPage})),__vite__mapDeps([78,2,1,3,79,80,24,4,68,69,34,6,26,5,63,65,29,39,67,40,30,8,9,77]))),Jw=(0,L.lazy)(()=>c(()=>import(`./NewRecordView-CEU4tihb.js`).then(e=>({default:e.NewRecordView})),__vite__mapDeps([81,1,2,3,82,24,4,5,6,69,34,26,63,39,29,80,68,65,67,40,30,8,9,64,74,71]))),Yw={"/":(0,R.jsxDEV)(HC,{},void 0,!1,{fileName:$,lineNumber:32,columnNumber:8},void 0),"/browse":(0,R.jsxDEV)(WC,{},void 0,!1,{fileName:$,lineNumber:33,columnNumber:14},void 0),"/settings":(0,R.jsxDEV)(Kw,{},void 0,!1,{fileName:$,lineNumber:34,columnNumber:16},void 0),"/settings/account":(0,R.jsxDEV)(qC,{},void 0,!1,{fileName:$,lineNumber:35,columnNumber:24},void 0),"/settings/users":(0,R.jsxDEV)(uw,{},void 0,!1,{fileName:$,lineNumber:36,columnNumber:22},void 0),"/settings/users/new":(0,R.jsxDEV)(pw,{},void 0,!1,{fileName:$,lineNumber:37,columnNumber:26},void 0),"/settings/users/:id":(0,R.jsxDEV)(gw,{},void 0,!1,{fileName:$,lineNumber:38,columnNumber:26},void 0),"/settings/:pluginId":(0,R.jsxDEV)(qw,{},void 0,!1,{fileName:$,lineNumber:39,columnNumber:26},void 0),"/:library/:shelf":(0,R.jsxDEV)(vw,{},void 0,!1,{fileName:$,lineNumber:40,columnNumber:23},void 0),"/:library/:shelf/new":(0,R.jsxDEV)(Jw,{},void 0,!1,{fileName:$,lineNumber:41,columnNumber:27},void 0),"/:library/:shelf/:id":(0,R.jsxDEV)(zw,{},void 0,!1,{fileName:$,lineNumber:42,columnNumber:27},void 0)};function Xw(){return(0,R.jsxDEV)(h,{children:[(0,R.jsxDEV)(f,{path:`/login`,element:(0,R.jsxDEV)(aC,{},void 0,!1,{fileName:$,lineNumber:48,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:48,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/setup`,element:(0,R.jsxDEV)(cC,{},void 0,!1,{fileName:$,lineNumber:49,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:49,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/*`,element:(0,R.jsxDEV)(Cr,{children:(0,R.jsxDEV)(Zw,{},void 0,!1,{fileName:$,lineNumber:54,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:53,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:50,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:47,columnNumber:5},this)}function Zw(){let[e,t]=(0,L.useState)(!1);return(0,L.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),t(e=>!e))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`min-h-dvh bg-bg`,children:[(0,R.jsxDEV)(FC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:79,columnNumber:9},this),(0,R.jsxDEV)(`main`,{className:`nav:pl-52 pb-16 nav:pb-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`flex justify-center py-16`,children:(0,R.jsxDEV)(ht,{className:`animate-spin text-muted`,size:20},void 0,!1,{fileName:$,lineNumber:84,columnNumber:17},this)},void 0,!1,{fileName:$,lineNumber:83,columnNumber:15},this),children:(0,R.jsxDEV)(h,{children:[nC.map(e=>(0,R.jsxDEV)(f,{path:e.pattern,element:Yw[e.pattern]},e.pattern,!1,{fileName:$,lineNumber:90,columnNumber:17},this)),(0,R.jsxDEV)(f,{path:`/plugins`,element:(0,R.jsxDEV)(o,{to:`/settings`,replace:!0},void 0,!1,{fileName:$,lineNumber:93,columnNumber:47},this)},void 0,!1,{fileName:$,lineNumber:93,columnNumber:15},this),Cn().map(e=>(0,R.jsxDEV)(f,{path:e.path,element:(0,R.jsxDEV)(Gw,{id:e.path,load:e.load},void 0,!1,{fileName:$,lineNumber:95,columnNumber:60},this)},e.path,!1,{fileName:$,lineNumber:95,columnNumber:17},this))]},void 0,!0,{fileName:$,lineNumber:88,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:81,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:80,columnNumber:9},this),(0,R.jsxDEV)(LC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:100,columnNumber:9},this),(0,R.jsxDEV)(Ww,{name:`overlay`},void 0,!1,{fileName:$,lineNumber:101,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:78,columnNumber:7},this),(0,R.jsxDEV)(zC,{open:e,onClose:()=>t(!1)},void 0,!1,{fileName:$,lineNumber:103,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:77,columnNumber:5},this)}var Qw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/main.tsx`,$w=[];try{$w=await Lw()}catch(e){console.warn(`[federation] failed to load plugins, continuing with none:`,e)}Xe($w),Dn(nC),En(Ye().map(e=>({library:e.library,shelf:e.shelf}))),(0,Er.createRoot)(document.getElementById(`root`)).render((0,R.jsxDEV)(L.StrictMode,{children:(0,R.jsxDEV)(d,{children:[(0,R.jsxDEV)(Xw,{},void 0,!1,{fileName:Qw,lineNumber:48,columnNumber:7},void 0),(0,R.jsxDEV)(xr,{},void 0,!1,{fileName:Qw,lineNumber:49,columnNumber:7},void 0),(0,R.jsxDEV)(v,{richColors:!0,position:`bottom-right`},void 0,!1,{fileName:Qw,lineNumber:50,columnNumber:7},void 0)]},void 0,!0,{fileName:Qw,lineNumber:47,columnNumber:5},void 0)},void 0,!1,{fileName:Qw,lineNumber:46,columnNumber:3},void 0));