@coffer-org/web 2.1.0 → 2.2.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.
@@ -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)(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(`
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(`Imported ${n.imported}, skipped ${n.skipped}, errors ${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 .)
package/dist/index.html CHANGED
@@ -38,7 +38,7 @@
38
38
  }
39
39
  }
40
40
  </script>
41
- <script type="module" crossorigin src="/assets/index-B2ynBaOu.js"></script>
41
+ <script type="module" crossorigin src="/assets/index-DkSdKupT.js"></script>
42
42
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
43
43
  <link rel="modulepreload" crossorigin href="/assets/i18n-vendor-T6EnJ_TL.js">
44
44
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-BskHO5hY.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coffer-org/web",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=24"
@@ -19,7 +19,7 @@
19
19
  "prepack": "npm run build"
20
20
  },
21
21
  "dependencies": {
22
- "@coffer-org/core": "2.0.0",
22
+ "@coffer-org/core": "2.1.0",
23
23
  "dompurify": "^3.2.5",
24
24
  "marked": "^15.0.0",
25
25
  "micromark": "^4.0.2",