@plumix/admin 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/-errors-RB-rEi-I.js +1 -0
- package/dist/assets/{_-C6mMIz3l.js → _-DngjjFK4.js} +1 -1
- package/dist/assets/{_-CljmxTlS.js → _-h-_izgKQ.js} +2 -2
- package/dist/assets/_authenticated-Bgi03W1b.js +1 -0
- package/dist/assets/{_authenticated-kVO_-7Sn.js → _authenticated-CH4N_cSi.js} +2 -2
- package/dist/assets/{_authenticated-BYa_DMSE.js → _authenticated-E1SDZnP9.js} +1 -1
- package/dist/assets/{_name-aKYVqU32.js → _name-BEnhsrWI.js} +2 -2
- package/dist/assets/{_name-BGOHegOZ.js → _name-DQVev0AG.js} +1 -1
- package/dist/assets/_page-D0l1kYXx.js +1 -0
- package/dist/assets/_page-wrWlHYyD.js +2 -0
- package/dist/assets/{_slug-Bdb7jL1l.js → _slug-BfC_rJhz.js} +1 -1
- package/dist/assets/{_slug-DWmiGCz6.js → _slug-Bztim-i3.js} +2 -2
- package/dist/assets/{_token-s0TefqyQ.js → _token-D-j4VVVI.js} +1 -1
- package/dist/assets/{_token-DVnFp6Xw.js → _token-Dsc9zTxr.js} +2 -2
- package/dist/assets/{allowed-domains-CQYTKIje.js → allowed-domains-B6oGNO8i.js} +1 -1
- package/dist/assets/{ar-Dh1_Madu.js → ar-D0lPKYVq.js} +1 -1
- package/dist/assets/{bootstrap-DAMkwOTO.js → bootstrap-Dbv-AIOo.js} +2 -2
- package/dist/assets/{bootstrap-oBDU-2AF.js → bootstrap-jj58lGRM.js} +1 -1
- package/dist/assets/breadcrumb-Di_E7s51.js +1 -0
- package/dist/assets/{create-CaxQlu5L.js → create-CXFn-yel.js} +1 -1
- package/dist/assets/{create-DQ5AIyqG.js → create-Cvo5wKBV.js} +2 -2
- package/dist/assets/{create-DgEbjT-H.js → create-CylSqfDG.js} +1 -1
- package/dist/assets/create-Dg10UEnK.js +1 -0
- package/dist/assets/{create-CICYrKqG.js → create-DnLK3SmI.js} +2 -2
- package/dist/assets/{de-BDyIkMJC.js → de-ByPNuZ6R.js} +1 -1
- package/dist/assets/{device-COTq1gdI.js → device-CxnTgMZ6.js} +1 -1
- package/dist/assets/{device-Ae_X8x7B.js → device-vY_uxsCV.js} +2 -2
- package/dist/assets/{edit-BN3TXfeW.js → edit-2aEJRHSG.js} +3 -3
- package/dist/assets/edit-BPw2fZ5B.js +1 -0
- package/dist/assets/{edit-BskWld1E.js → edit-BRhq3mGx.js} +2 -2
- package/dist/assets/{edit-DtsKHyYT.js → edit-Cc5hxhM7.js} +2 -2
- package/dist/assets/{edit-DLcsu05p.js → edit-Cu_XtYMX.js} +1 -1
- package/dist/assets/edit-D9-iSIWu.js +2 -0
- package/dist/assets/edit-DOoYH9tG.js +1 -0
- package/dist/assets/{en-DYui4aSX.js → en-LRPc5lfW.js} +1 -1
- package/dist/assets/form-CY307HEl.js +1 -0
- package/dist/assets/index-B9lFt9M4.css +1 -0
- package/dist/assets/{index-CI4pEEIx.js → index-D7rrOihJ.js} +3 -3
- package/dist/assets/json-code-editor-9PGQwSkN.js +12 -0
- package/dist/assets/{login-DU7y_Ylt.js → login-0-PQLYlS.js} +2 -2
- package/dist/assets/{login-Bify50W1.js → login-Dk-LKP1e.js} +1 -1
- package/dist/assets/{mailer-DoyD5gWW.js → mailer-BemLhNOI.js} +1 -1
- package/dist/assets/{mailer-DeygotUf.js → mailer-CTVZRBU2.js} +2 -2
- package/dist/assets/manifest-2YUNz_ML.js +1 -0
- package/dist/assets/meta-box-CwZHh0Nj.js +1 -0
- package/dist/assets/meta-field-errors-Za3ulViR.js +1 -0
- package/dist/assets/{palette-commands-DX18c0wH.js → palette-commands-Di6Dnj4z.js} +2 -2
- package/dist/assets/{plugin-registry-nSDhEMki.js → plugin-registry-DLDusPOA.js} +1 -1
- package/dist/assets/{register-core-blocks-Bh6u65qH.js → register-core-blocks-CVavxPiP.js} +1 -1
- package/dist/assets/rich-text-field-DGgpOqHQ.js +123 -0
- package/dist/assets/{search-input-BG9KotQw.js → search-input-B7zZp8UE.js} +2 -2
- package/dist/assets/{settings-CXPqdjqb.js → settings-199pUzJn.js} +1 -1
- package/dist/assets/{settings-BtTviWkj.js → settings-DZyJ36D2.js} +2 -2
- package/dist/assets/{toast-CWtRg47-.js → toast-26daCjvR.js} +1 -1
- package/dist/assets/{uk-Cq7H12wQ.js → uk-CTQT1XuD.js} +1 -1
- package/dist/assets/use-visible-fields-C0FKrnz6.js +2 -0
- package/dist/assets/{users-DzXByAic.js → users-BmZY207i.js} +1 -1
- package/dist/assets/{users-CMJAWmSV.js → users-ZRNKnWGa.js} +2 -2
- package/dist/assets/{utils-kFAy0YTP.js → utils-RSNxndzY.js} +2 -2
- package/dist/assets/{valibot-DO4fmSyX.js → valibot-CHirPb_E.js} +1 -1
- package/dist/assets/w3c-keyname-BOAvb0qz.js +1 -0
- package/dist/assets/{zh-CN-YIfV5Hug.js → zh-CN-g4V81dTW.js} +1 -1
- package/dist/index.html +23 -23
- package/package.json +9 -5
- package/dist/assets/-errors-CapunOga.js +0 -1
- package/dist/assets/_authenticated-Dcp2Ynic.js +0 -1
- package/dist/assets/_page--PcGMzdu.js +0 -2
- package/dist/assets/_page-Be9sR1G2.js +0 -1
- package/dist/assets/breadcrumb-x0qfIbU9.js +0 -1
- package/dist/assets/create-3wo13Gal.js +0 -1
- package/dist/assets/edit-CgWGy3PZ.js +0 -2
- package/dist/assets/edit-DU82eAhY.js +0 -1
- package/dist/assets/edit-evcBUaDE.js +0 -1
- package/dist/assets/form-B_PPIck3.js +0 -1
- package/dist/assets/index-BtnQdcjJ.css +0 -1
- package/dist/assets/manifest-Bdiv3Qyq.js +0 -1
- package/dist/assets/meta-box-B-hP57rw.js +0 -1
- package/dist/assets/meta-box-field-BTDudxyS.js +0 -1
- package/dist/assets/meta-box-grid-CoW6o7O7.js +0 -1
- package/dist/assets/rich-text-field-CS-OOttw.js +0 -123
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=JSON.parse(`{"admin.slug.format":["Slug must be lowercase letters, numbers, and dashes."],"allowedDomains.add.defaultRole.label":["Роль за замовчуванням"],"allowedDomains.add.description":["Використовуйте лише домен — без протоколу та шляху."],"allowedDomains.add.domain.invalid":["Введіть дійсне ім'я хоста (наприклад example.com)."],"allowedDomains.add.domain.label":["Домен"],"allowedDomains.add.placeholder":["example.com"],"allowedDomains.add.submit.idle":["Додати"],"allowedDomains.add.submit.pending":["Додавання…"],"allowedDomains.add.title":["Додати домен"],"allowedDomains.description":["Email-домени, дозволені для реєстрації через OAuth. Нові OAuth-акаунти створюються з роллю, заданою тут. Вимкнені рядки відхиляють реєстрацію, але зберігають своє відображення на роль."],"allowedDomains.error.domainExists":["Цей домен уже налаштовано."],"allowedDomains.error.fallback":["Не вдалося зберегти домен. Спробуйте знову."],"allowedDomains.list.empty":["Жодного домену не налаштовано. Реєстрація через OAuth закрита, доки не додано хоча б один увімкнений домен."],"allowedDomains.list.loading":["Завантаження…"],"allowedDomains.list.title":["Налаштовані домени"],"allowedDomains.row.deleteAria":["Видалити ",["domain"]],"allowedDomains.row.deleteCancel":["Скасувати"],"allowedDomains.row.deleteConfirm":["Підтвердити видалення"],"allowedDomains.row.disabled":["Вимкнено"],"allowedDomains.row.enabled":["Увімкнено"],"allowedDomains.title":["Дозволені домени"],"apiTokens.col.actions":["Дії"],"apiTokens.col.expires":["Закінчується"],"apiTokens.col.lastUsed":["Останнє використання"],"apiTokens.col.name":["Назва"],"apiTokens.col.prefix":["Префікс"],"apiTokens.col.scopes":["Дозволи"],"apiTokens.create.capabilities":["Можливості"],"apiTokens.create.capabilities.help":["По одній можливості в рядку. Токен ніколи не може перевищити дозволи вашої ролі — це лише додаткове звуження."],"apiTokens.create.capabilities.placeholder":["entry:post:read\\nentry:post:edit_own"],"apiTokens.create.expires":["Закінчується"],"apiTokens.create.name":["Назва"],"apiTokens.create.namePlaceholder":["github-actions / claude-code / mcp-prod"],"apiTokens.create.nameRequired":["Назва обов'язкова."],"apiTokens.create.nameTooLong":["Назва має бути ≤ 64 символів."],"apiTokens.create.permissions":["Дозволи"],"apiTokens.create.scope.inherit":["Успадкувати всі ваші дозволи"],"apiTokens.create.scope.restrict":["Обмежити конкретними можливостями"],"apiTokens.create.submit.idle":["Створити токен"],"apiTokens.create.submit.pending":["Створення…"],"apiTokens.description.admin":["Токени, створені цим користувачем. Ви можете скасувати будь-який — створення потребує автентифікованого браузерного сеансу власника."],"apiTokens.description.self":["Особисті токени доступу для CLI, MCP-серверів, CI-ботів та будь-яких інших небраузерних клієнтів. Повний секрет показується лише раз під час створення."],"apiTokens.empty.description.admin":["Цей користувач не створював API-токенів."],"apiTokens.empty.description.self":["Створіть токен вище для вашого CLI / MCP-сервера / CI-бота."],"apiTokens.empty.title":["Токенів ще немає"],"apiTokens.expiry.30":["30 днів"],"apiTokens.expiry.7":["7 днів"],"apiTokens.expiry.90":["90 днів"],"apiTokens.expiry.never":["Ніколи"],"apiTokens.loading":["Завантаження токенів…"],"apiTokens.mint.fallback":["Не вдалося створити токен. Спробуйте знову."],"apiTokens.never":["Ніколи"],"apiTokens.revoke.button":["Скасувати"],"apiTokens.revoke.cancel":["Скасувати"],"apiTokens.revoke.confirm":["Скасувати"],"apiTokens.revoke.description":["Токен негайно припиняє роботу. Будь-який клієнт, що його використовує, почне отримувати 401 під час наступного запиту."],"apiTokens.revoke.fallback":["Не вдалося скасувати. Спробуйте знову."],"apiTokens.revoke.pending":["Скасування…"],"apiTokens.revoke.title":["Скасувати \\"",["name"],"\\"?"],"apiTokens.scope.empty":["Без дозволів"],"apiTokens.scope.inheritRole":["Успадкувати роль"],"apiTokens.secret.copyAria":["Копіювати токен"],"apiTokens.secret.description":["Скопіюйте секрет зараз. Ми не покажемо його знову — втратите доведеться скасувати й створити новий."],"apiTokens.secret.done":["Готово"],"apiTokens.secret.title":["Токен \\"",["name"],"\\" створено"],"apiTokens.title":["API-токени"],"auth.acceptInvite.description":["Налаштуйте passkey, щоб завершити створення облікового запису. Ваш браузер або пристрій проведе вас через підказку."],"auth.acceptInvite.name":["Ім'я"],"auth.acceptInvite.submit.idle":["Створити passkey"],"auth.acceptInvite.submit.pending":["Налаштування…"],"auth.acceptInvite.title":["Прийняти запрошення"],"auth.bootstrap.description":["Налаштуйте свій сайт — цей email стане обліковим записом адміністратора."],"auth.bootstrap.email":["Email"],"auth.bootstrap.name":["Ім'я"],"auth.bootstrap.submit.idle":["Створити обліковий запис із passkey"],"auth.bootstrap.submit.pending":["Створення облікового запису…"],"auth.bootstrap.title":["Створити обліковий запис адміністратора"],"auth.device.approve.confirmTitle":["Підтвердити \\"",["userCode"],"\\""],"auth.device.approve.description":["Новий API-токен буде створено для вашого облікового запису й передано в CLI. Дайте йому назву, щоб знайти пізніше в профілі, і за потреби обмежте його можливості."],"auth.device.approve.error.alreadyApproved":["Цей код уже схвалено в іншій вкладці."],"auth.device.approve.error.alreadyDenied":["Цей код уже відхилено."],"auth.device.approve.error.expired":["Цей код прострочився раніше, ніж ви встигли завершити — запустіть CLI знову."],"auth.device.approve.error.fallback":["Не вдалося виконати запит. Спробуйте знову."],"auth.device.approve.idle":["Схвалити"],"auth.device.approve.pending":["Схвалення…"],"auth.device.approved":["Схвалено. Ваш CLI отримає токен за кілька секунд — можна закрити цю вкладку."],"auth.device.cancel":["Скасувати"],"auth.device.denied":["Відмовлено. CLI отримає відповідь access_denied і припинить опитування."],"auth.device.deny.idle":["Відмовити"],"auth.device.deny.pending":["Відмова…"],"auth.device.description":["CLI запитує API-токен для вашого облікового запису. Перевірте, що код у CLI збігається з тим, що показано нижче, перш ніж схвалити."],"auth.device.lookup.description":["CLI показує 8-символьний код, розділений дефісом — «ABCD-EFGH». Лише літери й цифри, без нулів та одиниць."],"auth.device.lookup.error.alreadyApproved":["Цей код уже схвалено. Запустіть CLI знову, якщо він не отримав токен."],"auth.device.lookup.error.alreadyDenied":["Цей код уже відхилено."],"auth.device.lookup.error.expired":["Цей код прострочився. Запустіть CLI знову, щоб отримати новий."],"auth.device.lookup.error.fallback":["Не вдалося знайти цей код. Спробуйте знову."],"auth.device.lookup.error.notFound":["Код не знайдено. Перевірте, що він збігається з виведеним у CLI."],"auth.device.lookup.submit.idle":["Продовжити"],"auth.device.lookup.submit.pending":["Перевірка…"],"auth.device.lookup.title":["Введіть код із вашого CLI"],"auth.device.lookup.userCode.label":["Код користувача"],"auth.device.scopeMode.inherit":["Успадкувати всі мої дозволи"],"auth.device.scopeMode.label":["Дозволи"],"auth.device.scopeMode.restrict":["Обмежити конкретними можливостями"],"auth.device.scopes.label":["Можливості"],"auth.device.scopes.placeholder":["entry:post:read\\nentry:post:edit_own"],"auth.device.title":["Дозволити доступ CLI"],"auth.device.tokenName.default":["CLI"],"auth.device.tokenName.label":["Назва токена"],"auth.device.tokenName.placeholder":["claude-code / github-actions / mcp-prod"],"auth.device.tokenName.required":["Назва обов'язкова."],"auth.device.tokenName.tooLong":["Назва має бути ≤ 64 символів."],"auth.device.userCode.placeholder":["ABCD-EFGH"],"blockActions.copyJson":["Копіювати JSON"],"blockActions.delete":["Видалити"],"blockActions.duplicate":["Дублювати"],"blockActions.empty":["Виберіть блок, щоб побачити дії."],"blockActions.transformTo":["Перетворити на"],"blockScopePicker.cancel":["Скасувати"],"blockScopePicker.description":["Виберіть макет для вставлення або скасуйте, щоб почати з порожнього ",["blockTitle"],"."],"blockScopePicker.title":["Виберіть макет для ",["blockTitle"]],"breadcrumb.addNew":["Додати"],"breadcrumb.admin":["Адмінка"],"breadcrumb.create":["Створити"],"breadcrumb.createTerm":["Create ",["singular"]],"breadcrumb.dashboard":["Інформаційна панель"],"breadcrumb.edit":["Редагувати"],"breadcrumb.editTerm":["Edit ",["singular"]],"breadcrumb.editUser":["Редагувати користувача"],"breadcrumb.entries":["Записи"],"breadcrumb.profile":["Профіль"],"breadcrumb.settings":["Налаштування"],"breadcrumb.terms":["Терміни"],"breadcrumb.users":["Користувачі"],"core.adminNav.content":["Записи"],"core.adminNav.item.allowedDomains":["Дозволені домени"],"core.adminNav.item.dashboard":["Інформаційна панель"],"core.adminNav.item.mailer":["Пошта"],"core.adminNav.item.settings":["Налаштування"],"core.adminNav.item.users":["Користувачі"],"core.adminNav.keyword.accounts":["accounts"],"core.adminNav.keyword.configuration":["configuration"],"core.adminNav.keyword.domains":["domains"],"core.adminNav.keyword.email":["email"],"core.adminNav.keyword.home":["home"],"core.adminNav.keyword.options":["options"],"core.adminNav.keyword.overview":["overview"],"core.adminNav.keyword.people":["people"],"core.adminNav.keyword.preferences":["preferences"],"core.adminNav.keyword.signups":["signups"],"core.adminNav.keyword.smtp":["smtp"],"core.adminNav.keyword.team":["team"],"core.adminNav.management":["Керування"],"core.adminNav.overview":["Огляд"],"core.adminNav.termTaxonomies":["Таксономії"],"core.settings.general.description":["Основна ідентичність сайту та метадані."],"core.settings.general.label":["Загальні"],"core.settings.site.default_og_image":["Default social image URL"],"core.settings.site.description":["Публічна назва, гасло та посилання на соцмережі."],"core.settings.site.github":["Посилання на GitHub"],"core.settings.site.label":["Ідентичність сайту"],"core.settings.site.mastodon":["Посилання на Mastodon"],"core.settings.site.public":["Allow search engines to index this site"],"core.settings.site.tagline":["Гасло"],"core.settings.site.title":["Назва сайту"],"core.settings.site.twitter":["Посилання на X (Twitter)"],"dashboard.count.draft":[["count","plural",{"one":["#"," чернетка"],"few":["#"," чернетки"],"many":["#"," чернеток"],"other":["#"," чернетки"]}]],"dashboard.count.published":[["count","plural",{"one":["#"," опубліковано"],"few":["#"," опубліковано"],"many":["#"," опубліковано"],"other":["#"," опубліковано"]}]],"dashboard.empty.description":["Додайте плагін, який реєструє тип запису (наприклад <0>@plumix/plugin-blog</0>), щоб побачити його тут."],"dashboard.empty.title":["Типів вмісту ще немає"],"dashboard.recent.empty":["Поки нічого."],"dashboard.recent.title":["Нещодавня активність"],"dashboard.tagline":["Над чим хочете попрацювати сьогодні?"],"dashboard.tile.browse":["Browse ",["labelLower"]],"dashboard.tile.browse.generic":["Переглянути"],"dashboard.tile.description":["Write, edit, and publish ",["labelLower"],"."],"dashboard.tile.description.generic":["Пишіть, редагуйте та публікуйте."],"dashboard.welcome":["Вітаємо, ",["greeting"]],"dataTable.emptyState":["Результатів немає."],"dataTable.loading":["Завантаження"],"editor.autosave.error":["Не вдалося зберегти"],"editor.autosave.saved":["Збережено"],"editor.autosave.saving":["Збереження..."],"editor.coAuthorIndicator.activeAriaLabel":["Активні співавтори"],"editor.coAuthorIndicator.presenceAriaLabel":[["display"]," · востаннє ",["lastSeen"]],"editor.copyPattern.untitled":["Untitled"],"editor.device.desktop":["Десктоп"],"editor.device.mobile":["Мобільний"],"editor.device.tablet":["Планшет"],"editor.document.excerpt":["Excerpt"],"editor.document.parent":["Parent"],"editor.document.parent.none":["(no parent)"],"editor.document.slug":["Slug"],"editor.document.template":["Template"],"editor.document.template.default":["(theme default)"],"editor.document.title":["Title"],"editor.entry.create.failed":["Something went wrong while creating a draft. Try again."],"editor.entry.create.failedTitle":["Couldn't create the entry"],"editor.entry.create.pending":["Creating new ",["singular"],"…"],"editor.entry.create.pending.generic":["Створення…"],"editor.entry.create.retry":["Try again"],"editor.entry.create.untitled":["Без назви"],"editor.entry.edit.headline":["Edit ",["singular"]],"editor.entry.edit.headline.generic":["Edit"],"editor.entry.edit.loadFailed":["Не вдалося завантажити цей запис."],"editor.entry.edit.loadFailedTitle":["Не вдалося завантажити цей запис"],"editor.entry.edit.loading":["Завантаження запису…"],"editor.entry.edit.restore.conflict":["Інший користувач змінив цей запис. Перезавантажте й спробуйте знову."],"editor.entry.edit.saveFailed":["Не вдалося зберегти."],"editor.entry.edit.stale.loading":["Завантаження…"],"editor.entry.edit.toast.discardFailed":["Не вдалося відхилити чернетку — спробуйте ще раз."],"editor.entry.edit.toast.draftDiscarded":["Чернетку відхилено."],"editor.entry.edit.toast.publishFailed":["Не вдалося опублікувати — спробуйте ще раз."],"editor.entry.edit.toast.published":["Опубліковано."],"editor.headingAudit.empty":["Проблем зі структурою заголовків не виявлено."],"editor.headingAudit.emptyHeading":["Порожній заголовок. Додайте текст або видаліть блок."],"editor.headingAudit.multipleH1":["На сторінці кілька <h1> (знайдено ",["count"],"). Залиште лише один заголовок верхнього рівня."],"editor.headingAudit.skippedLevel":["Заголовок перестрибує з h",["from"]," на h",["to"],". Додайте h",["between"]," між ними."],"editor.headingAudit.warningPrefix":["Попередження:"],"editor.layout.canvas.copyAsPatternSource":["Копіювати як джерело шаблону"],"editor.layout.canvas.pickStarter":["Виберіть стартер…"],"editor.layout.canvas.zoomIn":["Збільшити"],"editor.layout.canvas.zoomOut":["Зменшити"],"editor.layout.characterCount":[["characters","plural",{"one":["#"," символ"],"few":["#"," символи"],"many":["#"," символів"],"other":["#"," символа"]}]],"editor.layout.copy.copied":["Copied to clipboard"],"editor.layout.copy.failed":["Couldn't copy to clipboard"],"editor.layout.copyAsPattern.untitledFallback":["Без назви"],"editor.layout.draft.discard":["Відкинути"],"editor.layout.draft.discarding":["Скасування…"],"editor.layout.draft.publish":["Опублікувати"],"editor.layout.draft.publishing":["Публікація…"],"editor.layout.draft.save":["Зберегти чернетку"],"editor.layout.draft.saving":["Збереження…"],"editor.layout.draftBanner.body":["Натисніть «Опублікувати», щоб запустити їх у роботу, або «Відкинути», щоб скасувати."],"editor.layout.draftBanner.title":["У вас є неопубліковані зміни в чернетці."],"editor.layout.header.backToList":["До списку"],"editor.layout.header.titlePlaceholder":["Без назви"],"editor.layout.mobile.blocksSheetDescription":["Блоки для вставки, схема та аудит заголовків для цього запису."],"editor.layout.mobile.blocksSheetTitle":["Блоки"],"editor.layout.mobile.blocksTrigger":["Блоки"],"editor.layout.mobile.inspectorSheetDescription":["Дії з блоком, поля та елементи стилю для вибраного блока."],"editor.layout.mobile.inspectorSheetTitle":["Інспектор"],"editor.layout.mobile.inspectorTrigger":["Інспектор"],"editor.layout.publish":["Опублікувати"],"editor.layout.slashMenu.description":["Знайдіть блоки та шаблони за заголовком або ключовим словом і натисніть Enter, щоб вставити."],"editor.layout.slashMenu.title":["Вставити блок або шаблон"],"editor.layout.tab.audit":["Аудит"],"editor.layout.tab.block":["Блок"],"editor.layout.tab.blocks":["Блоки"],"editor.layout.tab.document":["Document"],"editor.layout.tab.outline":["Схема"],"editor.layout.tab.style":["Стиль"],"editor.layout.titleAriaLabel":["Назва запису"],"editor.layout.wordCount":[["words","plural",{"one":["#"," слово"],"few":["#"," слова"],"many":["#"," слів"],"other":["#"," слова"]}]],"editor.loading":["Opening the editor…"],"editor.patternRef.detach":["Від'єднати"],"editor.patternRef.openSource":["Відкрити джерело"],"editor.patternRef.unresolved":["Шаблон не зареєстровано: <code>",["slug"],"</code>"],"editor.plainForm.publish":["Опублікувати"],"editor.plainForm.save":["Зберегти"],"editor.plainForm.status.error":["Не вдалося зберегти"],"editor.plainForm.status.saved":["Збережено"],"editor.plainForm.status.saving":["Збереження..."],"editor.plainForm.titleAriaLabel":["Назва запису"],"editor.plainForm.titlePlaceholder":["Без назви"],"editor.preview.more":["More preview options"],"editor.preview.open":["Preview"],"editor.preview.tooltip":["Open a preview in a new tab"],"editor.previewFailed":["Couldn't open this entry in the editor."],"editor.previewFailedTitle":["Couldn't open the editor"],"editor.previewLink.copied":["Посилання для попереднього перегляду скопійовано"],"editor.previewLink.copy":["Скопіювати посилання для попереднього перегляду"],"editor.previewLink.failed":["Не вдалося створити посилання для попереднього перегляду"],"editor.revision.conflict":["This entry changed since the preview loaded — reload and retry."],"editor.revisions.diff.empty":["Без змін."],"editor.revisions.diff.field.excerpt":["Уривок"],"editor.revisions.diff.field.slug":["Slug"],"editor.revisions.diff.field.title":["Назва"],"editor.revisions.diff.tab.json":["Сирий JSON"],"editor.revisions.diff.tab.visual":["Візуально"],"editor.revisions.diffDialog.description":["Поруч: ця ревізія (зліва) та поточний запис (справа)."],"editor.revisions.diffDialog.pane.current":["Поточна"],"editor.revisions.diffDialog.pane.error":["Не вдалося завантажити знімок."],"editor.revisions.diffDialog.pane.thisRevision":["Ця ревізія"],"editor.revisions.diffDialog.title":["JSON-різниця ревізії"],"editor.revisions.preview.backToLive":["← До поточної версії"],"editor.revisions.preview.restore":["Відновити цю ревізію"],"editor.revisions.preview.restoring":["Відновлення…"],"editor.revisions.preview.subtitle":[["when"],", автор: ",["author"]],"editor.revisions.preview.title":["Перегляд ревізії"],"editor.revisions.sheet.autosavesEmpty":["Автозбереження з'являться тут, коли буде впроваджено чернетки опублікованих."],"editor.revisions.sheet.commentCancel":["Скасувати"],"editor.revisions.sheet.commentPlaceholder":["Опишіть цю ревізію…"],"editor.revisions.sheet.commentSave":["Зберегти"],"editor.revisions.sheet.commentSaving":["…"],"editor.revisions.sheet.description":["Кожне збереження створює нову ревізію. Найновіші зверху."],"editor.revisions.sheet.diffAriaLabel":["Переглянути JSON-різницю"],"editor.revisions.sheet.empty":["Ревізій ще немає."],"editor.revisions.sheet.error":["Не вдалося завантажити ревізії."],"editor.revisions.sheet.loadMore":["Завантажити ще"],"editor.revisions.sheet.loadingAria":["Завантаження ревізій"],"editor.revisions.sheet.loadingMore":["Завантаження…"],"editor.revisions.sheet.tab.all":["Усі"],"editor.revisions.sheet.tab.autosaves":["Автозбереження"],"editor.revisions.sheet.tab.publishes":["Публікації"],"editor.revisions.sheet.title":["Ревізії"],"editor.revisions.sheet.trigger":["Ревізії"],"editor.revisions.sheet.unknownAuthor":["Невідомо"],"editor.stale.loading":["Loading…"],"editor.staleDraft.compare":["Порівняти"],"editor.staleDraft.description":["Хтось інший опублікував зміни цього запису, поки у вас були незбережені правки. Виберіть, яку версію залишити, перш ніж продовжити."],"editor.staleDraft.discarding":["Скасування…"],"editor.staleDraft.hideComparison":["Сховати порівняння"],"editor.staleDraft.liveNow":["Поточна версія"],"editor.staleDraft.title":["Ваша чернетка застаріла"],"editor.staleDraft.useMine":["Використати мою"],"editor.staleDraft.useTheirs":["Використати чужу"],"editor.staleDraft.yourDraft":["Ваша чернетка"],"editor.styleTab.activeBucket":["Редагування для: ",["device"]],"editor.styleTab.empty":["Виберіть блок для стилізації."],"editor.styleTab.section.background":["Фон"],"editor.styleTab.section.fontSize":["Розмір шрифту"],"editor.styleTab.section.padding":["Відступи"],"editor.styleTab.section.textColor":["Колір тексту"],"editor.styleTab.select.none":["Жоден"],"editor.toast.autosaveFailed":["Couldn't save your changes — they may contain invalid content."],"editor.toast.discardFailed":["Couldn't discard the draft — try again."],"editor.toast.discarded":["Draft discarded."],"editor.toast.publishFailed":["Couldn't publish — try again."],"editor.toast.published":["Published."],"emailChange.error.accountDisabled":["Обліковий запис, до якого належить це підтвердження, вимкнено."],"emailChange.error.emailTaken":["Хтось інший зайняв цей email між запитом і вашим натисканням. Запросіть нову зміну на іншу адресу."],"emailChange.error.fallback":["Не вдалося підтвердити зміну email. Спробуйте знову."],"emailChange.error.missingToken":["У цьому посиланні підтвердження бракує токена. Запросіть нову зміну email."],"emailChange.error.tokenExpired":["Це посилання підтвердження прострочене. Запросіть нову зміну email."],"emailChange.error.tokenInvalid":["Це посилання підтвердження недійсне. Можливо, воно вже використане."],"emailChange.error.userNotFound":["Обліковий запис, до якого належить це підтвердження, було видалено."],"entries.list.authorFilter.all":["Усі автори"],"entries.list.authorFilter.mine":["Мої"],"entries.list.bulk.cancel":["Скасувати"],"entries.list.bulk.confirm":["Підтвердити"],"entries.list.bulk.delete":["Видалити назавжди"],"entries.list.bulk.deleteBody":["Це назавжди видалить вибрані записи та їхні редакції. Дію не можна скасувати."],"entries.list.bulk.deleteTitle":[["count","plural",{"one":["Видалити ","#"," запис назавжди?"],"few":["Видалити ","#"," записи назавжди?"],"many":["Видалити ","#"," записів назавжди?"],"other":["Видалити ","#"," запису назавжди?"]}]],"entries.list.bulk.restore":["Відновити"],"entries.list.bulk.selected":[["count","plural",{"one":["#"," запис вибрано"],"few":["#"," записи вибрано"],"many":["#"," записів вибрано"],"other":["#"," запису вибрано"]}],"{# вибрано}}"],"entries.list.bulk.toastDeleted":[["count","plural",{"one":["Видалено ","#"," запис."],"few":["Видалено ","#"," записи."],"many":["Видалено ","#"," записів."],"other":["Видалено ","#"," запису."]}]],"entries.list.bulk.toastFailed":["Не вдалося — спробуйте ще раз."],"entries.list.bulk.toastRestored":[["count","plural",{"one":["Відновлено ","#"," запис."],"few":["Відновлено ","#"," записи."],"many":["Відновлено ","#"," записів."],"other":["Відновлено ","#"," запису."]}]],"entries.list.bulk.toastTrashed":[["count","plural",{"one":["Переміщено ","#"," запис до кошика."],"few":["Переміщено ","#"," записи до кошика."],"many":["Переміщено ","#"," записів до кошика."],"other":["Переміщено ","#"," запису до кошика."]}]],"entries.list.bulk.trash":["До кошика"],"entries.list.bulk.trashTitle":[["count","plural",{"one":["Перемістити ","#"," запис до кошика?"],"few":["Перемістити ","#"," записи до кошика?"],"many":["Перемістити ","#"," записів до кошика?"],"other":["Перемістити ","#"," запису до кошика?"]}]],"entries.list.column.status":["Статус"],"entries.list.column.title":["Назва"],"entries.list.column.updated":["Оновлено"],"entries.list.deleteDialog.cancel":["Скасувати"],"entries.list.deleteDialog.confirm":["Видалити назавжди"],"entries.list.deleteDialog.deleting":["Видалення…"],"entries.list.deleteDialog.description":["Запис і всі його редакції буде видалено назавжди. Цю дію неможливо скасувати."],"entries.list.deleteDialog.title":["Видалити назавжди?"],"entries.list.empty.cta":["New ",["singularLower"]],"entries.list.empty.description":["Створіть, щоб побачити тут."],"entries.list.empty.title":["No ",["pluralLower"]," yet"],"entries.list.filterAuthorAria":["Фільтр за автором"],"entries.list.filterStatusAria":["Фільтр за статусом"],"entries.list.loadError":["Couldn't load ",["pluralLower"],". Try again."],"entries.list.loadingLabel":["Loading ",["pluralLower"]],"entries.list.newButton":["New ",["singularLower"]],"entries.list.noTitle":["(без назви)"],"entries.list.row.deletePermanently":["Видалити назавжди"],"entries.list.row.duplicate":["Дублювати"],"entries.list.row.duplicating":["Дублювання…"],"entries.list.row.edit":["Редагувати"],"entries.list.row.restore":["Відновити"],"entries.list.row.restoring":["Відновлення…"],"entries.list.row.trash":["У кошик"],"entries.list.row.trashing":["Переміщення в кошик…"],"entries.list.searchPlaceholder":["Search ",["pluralLower"],"…"],"entries.list.selectAllAria":["Вибрати всі записи на цій сторінці"],"entries.list.selectRowAria":["Вибрати запис"],"entries.list.sortAria":["Сортувати за ",["label"]," (",["direction"],")"],"entries.list.statusFilter.all":["Усі"],"entries.list.statusFilter.draft":["Чернетка"],"entries.list.statusFilter.published":["Опубліковано"],"entries.list.statusFilter.scheduled":["Заплановано"],"entries.list.statusFilter.trash":["Кошик"],"entries.list.taxonomyFilter.all":["All ",["pluralLower"]],"entries.list.taxonomyFilter.empty":["No ",["pluralLower"]," match."],"entries.list.taxonomyFilter.search":["Search ",["pluralLower"],"…"],"entries.list.toast.deleted":["Видалено назавжди."],"entries.list.toast.duplicated":["Дубльовано як чернетку."],"entries.list.toast.failed":["Не вдалося — спробуйте ще раз."],"entries.list.toast.restored":["Відновлено в чернетки."],"entries.list.toast.trashed":["Переміщено в кошик."],"entries.list.trashDialog.cancel":["Скасувати"],"entries.list.trashDialog.confirm":["У кошик"],"entries.list.trashDialog.description":["Ви зможете відновити його з кошика пізніше."],"entries.list.trashDialog.moving":["Переміщення…"],"entries.list.trashDialog.title":["Move ",["singularLower"]," to trash?"],"errorBoundary.hideError":["Сховати помилку"],"errorBoundary.showError":["Показати помилку"],"errorBoundary.title":["Щось пішло не так"],"fieldTypes.boolean.no":["Ні"],"fieldTypes.boolean.yes":["Так"],"form.multiSelect.empty":["Збігів немає."],"form.multiSelect.placeholder":["Вибрати…"],"form.multiSelect.search":["Пошук…"],"form.multiSelect.selectedCount":["вибрано: ",["count"]],"listPagination.next.aria":["Перейти на наступну сторінку"],"listPagination.next.label":["Далі"],"listPagination.page":["Сторінка ",["page"]],"listPagination.prev.aria":["Перейти на попередню сторінку"],"listPagination.prev.label":["Назад"],"login.description":["Скористайтеся passkey, отримайте одноразове посилання поштою або продовжте з постачальником."],"login.email.invalid":["Введіть дійсну email-адресу."],"login.email.label":["Email"],"login.emailChange.success":["Email підтверджено. Увійдіть з новою адресою."],"login.locale.aria":["Мова"],"login.magicLink.back":["Назад"],"login.magicLink.emailRequired":["Спочатку введіть email вище."],"login.magicLink.pending":["Надсилання…"],"login.magicLink.sent.description":["Якщо для цього email існує обліковий запис, ми надіслали посилання для входу. Посилання діє 15 хвилин."],"login.magicLink.sent.title":["Перевірте свою пошту"],"login.magicLink.submit":["Надіслати посилання поштою"],"login.oauth.continueWith":["Продовжити з ",["label"]],"login.oauth.separator":["або"],"login.passkey.pending":["Вхід…"],"login.passkey.submit":["Увійти з passkey"],"login.title":["Вхід"],"magicLink.error.accountDisabled":["Цей обліковий запис вимкнено."],"magicLink.error.domainNotAllowed":["Ваш email-домен більше не в списку дозволених. Попросіть адміністратора додати його."],"magicLink.error.fallback":["Не вдалося ввійти. Спробуйте знову."],"magicLink.error.missingToken":["У цьому посиланні для входу бракує токена. Запросіть нове та спробуйте знову."],"magicLink.error.registrationClosed":["Самостійна реєстрація недоступна, доки адміністратор не завершив налаштування."],"magicLink.error.tokenExpired":["Це посилання для входу прострочене. Запросіть нове."],"magicLink.error.tokenInvalid":["Це посилання для входу недійсне. Можливо, воно вже використане. Запросіть нове."],"magicLinkRequest.error.invalidInput":["Введіть дійсну email-адресу."],"magicLinkRequest.error.network":["Не вдалося надіслати посилання. Спробуйте знову."],"magicLinkRequest.error.notConfigured":["Вхід за magic-link не налаштований на цьому сайті."],"mailer.description":["Перевірка того, що налаштований транспорт вихідної пошти справді доставляє. Використовується magic-link входом, листами запрошень та будь-яким плагіном, що використовує спільний mailer."],"mailer.test.description":["Надсилає одноразове повідомлення через той самий транспорт, що й magic-link. Помилки виводяться тут дослівно — на відміну від процесу запиту magic-link, який навмисно поглинає помилки mailer, щоб форма відповіді не виявляла, чи зареєстровано email."],"mailer.test.error.fallback":["Не вдалося надіслати тестове повідомлення. Спробуйте знову."],"mailer.test.error.notConfigured":["Не налаштовано адаптер пошти. Передайте \`mailer:\` в \`plumix({...})\` (наприклад consoleMailer() для розробки або вашу обгортку Resend/Postmark/SES)."],"mailer.test.error.sendFailed":["Адаптер mailer викинув помилку під час надсилання. Перевірте журнали worker для базової помилки."],"mailer.test.feedback.ok":["Тестове повідомлення надіслано на ",["to"],". Якщо воно не прийде протягом хвилини, перевірте журнали вашого транспортного адаптера."],"mailer.test.recipient.invalid":["Введіть дійсну email-адресу."],"mailer.test.recipient.label":["Одержувач"],"mailer.test.recipient.placeholder":["ops@example.com"],"mailer.test.submit.idle":["Надіслати тест"],"mailer.test.submit.pending":["Надсилання…"],"mailer.test.title":["Надіслати тестове повідомлення"],"mailer.title":["Пошта"],"menu.profile":["Профіль"],"menu.settings":["Налаштування"],"menu.signOut":["Вийти"],"menu.signOut.pending":["Вихід…"],"metaBox.field.json.invalid":["Недійсний JSON"],"metaBox.multiReference.addMore":["Додати"],"metaBox.multiReference.dialogDescription":["Знайдіть і виберіть записи ",["kind"]],"metaBox.multiReference.emptyValue":["Не вибрано"],"metaBox.multiReference.loading":["Завантаження…"],"metaBox.multiReference.noMatches":["Збігів немає"],"metaBox.multiReference.orphan":["Посилання втрачено — видаліть або виберіть знову"],"metaBox.multiReference.resolveError":["Не вдалося завантажити вибрані елементи — оновіть, щоб повторити."],"metaBox.multiReference.searchPlaceholder":["Пошук ",["kind"],"…"],"metaBox.multiReference.selectIdle":["Вибрати"],"metaBox.pluginField.crashed":["Не вдалося відобразити це поле. Перевірте консоль браузера для деталей."],"metaBox.reference.clear":["Очистити"],"metaBox.reference.dialogDescription":["Знайдіть і виберіть ",["kind"]],"metaBox.reference.emptyValue":["Не вибрано"],"metaBox.reference.loading":["Завантаження…"],"metaBox.reference.noMatches":["Збігів немає"],"metaBox.reference.orphan":["Посилання втрачено — виберіть знову або очистіть"],"metaBox.reference.searchPlaceholder":["Пошук ",["kind"],"…"],"metaBox.reference.selectChange":["Змінити"],"metaBox.reference.selectIdle":["Вибрати"],"metaBox.reference.untitled":["Untitled"],"metaBox.repeater.addAnother":["Додати ще"],"metaBox.repeater.addFirst":["Додати рядок"],"metaBox.repeater.countSuffixBoth":[" / мін ",["min"]," / макс ",["max"]],"metaBox.repeater.countSuffixMax":[" / макс ",["max"]],"metaBox.repeater.countSuffixMin":[" / мін ",["min"]],"metaBox.repeater.empty":["Рядків немає"],"notFound.description":["Сторінка, яку ви шукаєте, не існує, або ресурс не зареєстрований. Перевірте URL і спробуйте знову."],"notFound.title":["Не знайдено"],"oauth.error.accountDisabled":["Цей обліковий запис вимкнено."],"oauth.error.codeExchangeFailed":["Не вдалося зв'язатися з постачальником. Спробуйте знову."],"oauth.error.domainNotAllowed":["Ваш email-домен не в списку дозволених. Попросіть адміністратора додати його."],"oauth.error.emailMissing":["Постачальник не повернув email-адресу."],"oauth.error.emailUnverified":["Постачальник ще не підтвердив ваш email. Підтвердьте його там і спробуйте знову."],"oauth.error.fallback":["Не вдалося ввійти. Спробуйте знову."],"oauth.error.linkBroken":["Цей акаунт недосяжний. Зв'яжіться з адміністратором, щоб перепов'язати його."],"oauth.error.profileFetchFailed":["Не вдалося прочитати ваш профіль. Спробуйте знову."],"oauth.error.providerNotConfigured":["Цей постачальник не налаштований."],"oauth.error.registrationClosed":["Реєстрація через OAuth недоступна, доки адміністратор не завершив налаштування."],"oauth.error.stateExpired":["Сеанс входу прострочений. Спробуйте знову."],"oauth.error.stateInvalid":["Сеанс входу прострочений або недійсний. Спробуйте знову."],"palette.command.profile":["Edit profile"],"palette.command.settings":["Settings"],"palette.description":["Search to navigate the admin."],"palette.empty":["No results found."],"palette.group.commands":["Commands"],"palette.group.navigation":["Navigation"],"palette.group.recent":["Recent"],"palette.hint.close":["Close"],"palette.hint.navigate":["Navigate"],"palette.hint.select":["Select"],"palette.loading":["Searching…"],"palette.placeholder":["Search…"],"palette.title":["Command palette"],"passkey.error.challengeMismatch":["Passkey було створено для іншого запрошення. Перезавантажте та спробуйте знову."],"passkey.error.challengeNotBoundToUser":["Спроба входу прострочилася. Спробуйте знову."],"passkey.error.challengeNotFound":["Спроба входу прострочилася. Спробуйте знову."],"passkey.error.counterReplay":["Схоже, ваш passkey було використано на іншому пристрої. Зареєструйте його знову."],"passkey.error.credentialAlreadyRegistered":["Цей passkey уже зареєстровано на цьому сайті."],"passkey.error.credentialLimitReached":["Ви досягли ліміту passkeys для цього облікового запису."],"passkey.error.credentialNotFound":["Цей passkey не зареєстровано на цьому сайті. Спробуйте інший."],"passkey.error.credentialStorageCorrupt":["Дані вашого збереженого passkey пошкоджені. Зареєструйте новий."],"passkey.error.emailMismatch":["Цей email не збігається з обліковим записом, у який ви ввійшли."],"passkey.error.invalidClientData":["Ваш пристрій повернув неочікувану відповідь. Спробуйте знову."],"passkey.error.invalidInput":["Щось пішло не так із формою. Перезавантажте та спробуйте знову."],"passkey.error.invalidOrigin":["Цей passkey непридатний для цього сайту."],"passkey.error.invalidResponse":["Ваш пристрій повернув неочікувану відповідь. Спробуйте знову."],"passkey.error.invalidRpId":["Цей passkey непридатний для цього сайту."],"passkey.error.invalidSignature":["Підпис вашого пристрою не пройшов перевірку. Спробуйте знову."],"passkey.error.invalidToken":["Це посилання запрошення більше не дійсне. Попросіть адміністратора надіслати нове."],"passkey.error.networkError":["Не вдалося зв'язатися з сервером. Перевірте з'єднання та спробуйте знову."],"passkey.error.noAuthenticator":["На цьому пристрої немає доступних passkeys. Спробуйте ввійти з пристрою, на якому ви їх зареєстрували."],"passkey.error.registrationClosed":["Реєстрація на цьому сайті закрита."],"passkey.error.tokenExpired":["Це посилання запрошення прострочене. Попросіть адміністратора надіслати нове."],"passkey.error.unknown":["Щось пішло не так. Спробуйте знову."],"passkey.error.unsupportedAlgorithm":["Алгоритм підпису вашого пристрою не підтримується."],"passkey.error.unsupportedAttestationFormat":["Формат відповіді вашого пристрою не підтримується."],"passkey.error.userCancelled":["Вхід було скасовано."],"passkey.error.userNotFound":["Облікового запису для цього email не знайдено."],"passkey.error.userPresenceMissing":["Ваш пристрій не підтвердив вашу присутність. Спробуйте знову."],"patternsSection.heading":["Шаблони"],"patternsSection.uncategorized":["Без категорії"],"plugin.errorBoundary.iconAria":["Не вдалося відобразити іконку плагіна"],"plugin.errorBoundary.inlineStub":[["label"]," ",["kind"],": помилка"],"plugin.errorBoundary.pageBody":[["label"]," викинув помилку під час відображення. Решта адмінки не постраждала."],"plugin.errorBoundary.pageTitle":["Не вдалося відобразити сторінку плагіна"],"plugin.errorBoundary.unknownPlugin":["цей плагін"],"plugin.errorBoundary.widgetBody":[["label"]," не вдалося відобразити."],"pluginPage.loading.aria":["Завантаження ",["label"]],"pluginPage.notLoaded.body":["Маніфест адмінки оголошує сторінку за шляхом <code>",["path"],"</code>, але React-компонент для неї не зареєстровано."],"pluginPage.notLoaded.title":["Плагін не завантажено"],"profile.language.aria":["Мова"],"profile.language.description":["Адмінка відображається цією мовою. Сторінка перезавантажиться після перемикання, щоб нові переклади застосувалися всюди."],"profile.language.error":["Не вдалося змінити мову. Спробуйте знову."],"profile.language.title":["Мова"],"profile.passkeys.added":["Додано ",["date"]],"profile.passkeys.delete.button":["Видалити"],"profile.passkeys.delete.cancel":["Скасувати"],"profile.passkeys.delete.confirm":["Видалити passkey"],"profile.passkeys.delete.description":["Пристрій, що зареєстрував \\"",["name"],"\\", більше не зможе ввійти. Ви можете зареєструвати його знову пізніше."],"profile.passkeys.delete.fallback":["Не вдалося видалити passkey. Спробуйте знову."],"profile.passkeys.delete.pending":["Видалення…"],"profile.passkeys.delete.title":["Видалити цей passkey?"],"profile.passkeys.description":["Пристрої, що можуть увійти в цей обліковий запис. Додайте новий, перш ніж видаляти старий — має лишитися принаймні один passkey."],"profile.passkeys.empty":["Зареєстрованих passkeys немає. Додайте один, щоб увімкнути вхід."],"profile.passkeys.enroll.alreadyRegistered":["Цей passkey уже зареєстровано на цьому обліковому записі."],"profile.passkeys.enroll.cancelled":["Скасовано. Натисніть «Додати passkey», коли будете готові."],"profile.passkeys.enroll.emailMismatch":["Не вдалося зареєструвати — увійдіть знову та спробуйте."],"profile.passkeys.enroll.fallback":["Не вдалося зареєструвати passkey. Спробуйте знову."],"profile.passkeys.enroll.idle":["Додати passkey"],"profile.passkeys.enroll.networkError":["Мережна помилка. Перевірте з'єднання та спробуйте знову."],"profile.passkeys.enroll.noAuthenticator":["Цей пристрій не підтримує passkeys."],"profile.passkeys.enroll.pending":["Додавання…"],"profile.passkeys.lastCredential":["Не можна видалити останній passkey. Спочатку додайте інший."],"profile.passkeys.lastUsed":["Востаннє використано ",["date"]],"profile.passkeys.loadFailed":["Не вдалося завантажити ваші passkeys. Оновіть і спробуйте знову."],"profile.passkeys.loading":["Завантаження…"],"profile.passkeys.notFound":["Цей passkey більше не існує. Оновіть список."],"profile.passkeys.rename.button":["Перейменувати"],"profile.passkeys.rename.cancel":["Скасувати"],"profile.passkeys.rename.fallback":["Не вдалося перейменувати passkey. Спробуйте знову."],"profile.passkeys.rename.label":["Перейменувати passkey"],"profile.passkeys.rename.nameEmpty":["Назва не може бути порожньою."],"profile.passkeys.rename.pending":["Збереження…"],"profile.passkeys.rename.save":["Зберегти"],"profile.passkeys.synced":["Синхронізовано"],"profile.passkeys.title":["Passkeys"],"profile.passkeys.transport.hybrid":["Міжпристроєвий"],"profile.passkeys.transport.internal":["Цей пристрій"],"profile.passkeys.transport.securityKey":["Ключ безпеки"],"profile.passkeys.unnamed":["Без назви"],"profile.sessions.description":["Пристрої, що ввійшли в цей обліковий запис. Завершіть сеанси, які не впізнаєте, або вийдіть з усіх пристроїв, крім цього, якщо підозрюєте витік."],"profile.sessions.device.browserOnOs":[["browser"]," на ",["os"]],"profile.sessions.empty":["Сеансів, керованих plumix, немає. Ваш вхід обробляється зовнішнім постачальником ідентичності."],"profile.sessions.loadFailed":["Не вдалося завантажити ваші сеанси. Оновіть і спробуйте знову."],"profile.sessions.loading":["Завантаження…"],"profile.sessions.revoke.button":["Завершити"],"profile.sessions.revoke.cancel":["Скасувати"],"profile.sessions.revoke.confirm":["Завершити сеанс"],"profile.sessions.revoke.current":["Не можна завершити сеанс, який ви використовуєте просто зараз."],"profile.sessions.revoke.description":[["device"]," увійшов ",["when"],". Пристрою потрібно буде ввійти знову наступного разу."],"profile.sessions.revoke.descriptionWithIp":[["device"]," увійшов ",["when"]," з ",["ip"],". Пристрою потрібно буде ввійти знову наступного разу."],"profile.sessions.revoke.fallback":["Не вдалося завершити сеанс. Спробуйте знову."],"profile.sessions.revoke.notFound":["Цей сеанс більше не існує. Оновіть список."],"profile.sessions.revoke.pending":["Вихід…"],"profile.sessions.revoke.title":["Вийти з цього пристрою?"],"profile.sessions.revokeAll.count":[["revoked","plural",{"0":["Інших сеансів для виходу немає."],"one":["Завершено ","#"," інший сеанс."],"few":["Завершено ","#"," інші сеанси."],"many":["Завершено ","#"," інших сеансів."],"other":["Завершено ","#"," інших сеансів."]}]],"profile.sessions.revokeAll.fallback":["Не вдалося завершити сеанси. Спробуйте знову."],"profile.sessions.revokeAll.idle":["Вийти з інших пристроїв"],"profile.sessions.revokeAll.pending":["Вихід…"],"profile.sessions.signedIn":["Увійшов ",["when"]],"profile.sessions.thisDevice":["Цей пристрій"],"profile.sessions.title":["Активні сеанси"],"profile.sessions.unknownDevice":["Невідомий пристрій"],"settings.empty.description":["Ядро навмисно не постачає налаштувань — плагіни (або ваш plumix.config) оголошують сторінки + групи через <0>ctx.registerSettingsPage</0> та <1>ctx.registerSettingsGroup</1>. Зареєстровані сторінки з'являються тут у вигляді карток (одна на сторінку)."],"settings.empty.title":["Налаштувань ще не зареєстровано"],"settings.page.empty.description":["Ця сторінка налаштувань ще не посилається на жодні зареєстровані групи. Плагіни складають сторінки за допомогою хелпера registerSettingsPage:"],"settings.page.empty.title":["На цій сторінці немає груп"],"settings.page.loadFailed":["Не вдалося завантажити ці налаштування. Спробуйте знову."],"settings.page.loading":["Завантаження налаштувань"],"settings.page.notFound.title":["Не знайдено"],"settings.page.saveFailed":["Не вдалося зберегти налаштування."],"settings.page.saved":["Збережено."],"settings.page.submit.idle":["Зберегти зміни"],"settings.page.submit.pending":["Збереження…"],"settings.pageSummary":[["count","plural",{"one":["#"," група"],"few":["#"," групи"],"many":["#"," груп"],"other":["#"," груп"]}]],"settings.title":["Налаштування"],"slashMenu.empty":["Збігів немає"],"slashMenu.searchAria":["Пошук блоків і шаблонів"],"slashMenu.uncategorized":["Інше"],"starterModal.description":["Виберіть стартовий макет або почніть із порожнього полотна."],"starterModal.startBlank":["Почати з порожнього"],"starterModal.title":["Почати з шаблону"],"termForm.cancel":["Скасувати"],"termForm.description":["Опис"],"termForm.name":["Назва"],"termForm.parent":["Батьківський"],"termForm.parent.rootOption":["— кореневий —"],"termForm.slug":["Slug"],"termForm.slug.format":["Slug може містити лише малі літери, цифри та дефіси."],"termForm.submitting":["Збереження…"],"terms.create.backLink":["Back to ",["pluralLower"]],"terms.create.description.flat":["Згрупуйте вміст, додавши новий термін."],"terms.create.description.hierarchical":["Виберіть батьківський, щоб укласти цей термін, або залиште порожнім для терміна кореневого рівня."],"terms.create.error.createFallback":["Не вдалося створити термін. Спробуйте знову."],"terms.create.error.emptySlug":["Не вдалося визначити slug з цієї назви — введіть його вручну."],"terms.create.heading":["New ",["singularLower"]],"terms.create.submit":["Create ",["singularLower"]],"terms.edit.backLink":["Back to ",["pluralLower"]],"terms.edit.delete.button":["Видалити термін"],"terms.edit.delete.cancel":["Скасувати"],"terms.edit.delete.cardDescription":["Видаляє цей термін і скасовує його прив'язку до будь-яких записів, які його використовують. Нащадки підвищуються до кореневого рівня (їхні записи зберігають інші прив'язки до термінів)."],"terms.edit.delete.cardTitle":["Видалити термін"],"terms.edit.delete.confirm":["Видалити назавжди"],"terms.edit.delete.deleting":["Видалення…"],"terms.edit.delete.dialogDescription":["Прив'язки записів до цього терміну буде видалено. Якщо термін має нащадків, вони автоматично стануть кореневими."],"terms.edit.delete.dialogTitle":["Видалити ",["termName"],"?"],"terms.edit.descendantsHint":[" — нащадків не можна вибрати як батьківський елемент."],"terms.edit.error.deleteFallback":["Не вдалося видалити термін. Спробуйте знову."],"terms.edit.error.saveFallback":["Не вдалося зберегти зміни. Спробуйте знову."],"terms.edit.heading":["Edit ",["singularLower"]],"terms.edit.loadingAria":["Завантаження терміна"],"terms.edit.notFound.message":["Не вдалося завантажити цей термін. Можливо, його видалено."],"terms.edit.notFound.title":["Не знайдено"],"terms.edit.submit":["Зберегти зміни"],"terms.error.parentMismatch":["Вибраний батьківський належить до іншої таксономії."],"terms.error.parentSelfOrCycle":["Термін не може бути власним предком — виберіть інший батьківський."],"terms.error.slugTaken":["Термін із таким slug уже існує в цій таксономії."],"terms.list.column.description":["Опис"],"terms.list.column.name":["Назва"],"terms.list.empty.cta":["New ",["singularLower"]],"terms.list.empty.description":["Створіть, щоб побачити тут."],"terms.list.empty.title":["No ",["singularLower"]," yet"],"terms.list.loadError":["Couldn't load ",["pluralLower"],". Try again."],"terms.list.loadingLabel":["Loading ",["pluralLower"]],"terms.list.newButton":["New ",["singularLower"]],"terms.list.searchPlaceholder":["Search ",["pluralLower"],"…"],"tokenSwatch.none":["Жоден"],"type.generic.addNew":["Додати"],"type.generic.addNewItem":["Додати"],"type.generic.allItems":["Усі"],"type.generic.editItem":["Редагувати"],"type.generic.filterItemsList":["Фільтрувати список"],"type.generic.itemPublished":["Опубліковано"],"type.generic.itemPublishedPrivately":["Опубліковано приватно"],"type.generic.itemRevertedToDraft":["Повернено до чернетки"],"type.generic.itemScheduled":["Заплановано"],"type.generic.itemTrashed":["Переміщено в кошик"],"type.generic.itemUpdated":["Оновлено"],"type.generic.itemsList":["Список"],"type.generic.itemsListNavigation":["Навігація списком"],"type.generic.loadErrorItems":["Не вдалося завантажити. Спробуйте ще раз."],"type.generic.loadingItems":["Завантаження…"],"type.generic.moveToTrash":["Перемістити в кошик?"],"type.generic.newItem":["Новий"],"type.generic.noMatch":["Збігів немає"],"type.generic.notFound":["Поки нічого"],"type.generic.notFoundInTrash":["Кошик порожній"],"type.generic.parentItem":["Батьківський"],"type.generic.parentItemColon":["Батьківський:"],"type.generic.plural":["Елементи"],"type.generic.searchItems":["Пошук…"],"type.generic.singular":["Елемент"],"type.generic.taxonomy.addOrRemoveItems":["Додати або вилучити"],"type.generic.taxonomy.backToItems":["← Назад"],"type.generic.taxonomy.filterByItem":["Фільтр"],"type.generic.taxonomy.newItemName":["Нова назва"],"type.generic.taxonomy.noTerms":["—"],"type.generic.taxonomy.plural":["Терміни"],"type.generic.taxonomy.separateItemsWithCommas":["Розділяйте комами"],"type.generic.taxonomy.singular":["Термін"],"type.generic.taxonomy.updateItem":["Оновити"],"type.generic.untitledItem":["Без назви"],"type.generic.viewItem":["Переглянути"],"type.generic.viewItems":["Переглянути"],"userEdit.backToList":["До користувачів"],"userEdit.cancel":["Скасувати"],"userEdit.delete.button":["Видалити користувача"],"userEdit.delete.confirm.description":["Якщо цей користувач створив якісь записи, наступний крок дозволить переназначити їх. Залиште «Зберегти як є», якщо таких немає."],"userEdit.delete.confirm.idle":["Видалити назавжди"],"userEdit.delete.confirm.pending":["Видалення…"],"userEdit.delete.confirm.title":["Підтвердити видалення: ",["email"]],"userEdit.delete.description":["Незворотно. Записи залишаються, але вам потрібно вибрати, кому передати авторство."],"userEdit.delete.reassign.keepAsIs":["Зберегти записи як є (не переназначати)"],"userEdit.delete.reassign.label":["Переназначити записи на"],"userEdit.delete.title":["Видалити користувача"],"userEdit.description.other":["Оновіть деталі цього облікового запису. Зміна ролі негайно скасовує наявні сеанси."],"userEdit.description.self":["Оновіть ваше відображуване ім'я. Роль і стан облікового запису керуються адміністраторами."],"userEdit.email.cancelPending.idle":["Скасувати"],"userEdit.email.cancelPending.pending":["Скасування…"],"userEdit.email.changeButton":["Змінити email"],"userEdit.email.confirmationSent":["Підтвердження надіслано на ",["email"],". Зміна набуде чинності після натискання посилання."],"userEdit.email.dialog.cancel":["Скасувати"],"userEdit.email.dialog.currentLabel":["Поточний email"],"userEdit.email.dialog.description":["Ми надішлемо посилання підтвердження на нову адресу. Зміна набуде чинності після натискання посилання. Сеанси цього облікового запису на цьому етапі завершуються — повторний вхід використовує новий email."],"userEdit.email.dialog.newLabel":["Новий email"],"userEdit.email.dialog.submit.idle":["Надіслати підтвердження"],"userEdit.email.dialog.submit.pending":["Надсилання…"],"userEdit.email.dialog.title":["Змінити email"],"userEdit.email.error.accountDisabled":["Цей обліковий запис вимкнено."],"userEdit.email.error.mailerNotConfigured":["Зміна email потребує налаштованого magic-link mailer на сервері. Передайте \`auth.magicLink\` та \`mailer:\` в \`plumix({...})\`, щоб увімкнути."],"userEdit.email.error.requestFallback":["Не вдалося надіслати запит на зміну. Спробуйте знову."],"userEdit.email.error.taken":["Цей email уже використовується в іншому обліковому записі."],"userEdit.email.invalid":["Введіть дійсну email-адресу."],"userEdit.email.label":["Email"],"userEdit.email.pending":["Очікує зміни на <code>",["newEmail"],"</code> — спливає ",["expiresAt"]],"userEdit.email.placeholder":["new@example.com"],"userEdit.error.deleteFallback":["Не вдалося видалити користувача. Спробуйте знову."],"userEdit.error.emailTaken":["Користувач із такою електронною адресою вже існує."],"userEdit.error.hasEntries":["Цей користувач створив записи. Виберіть когось вище, кому переназначити."],"userEdit.error.lastAdmin.delete":["Не можна видалити останнього адміністратора. Спочатку підвищте когось іншого."],"userEdit.error.lastAdmin.status":["Не можна вимкнути останнього адміністратора. Спочатку підвищте когось іншого."],"userEdit.error.lastAdmin.update":["Не можна цього зробити — це останній адміністратор. Спочатку підвищте когось іншого."],"userEdit.error.reassignToSelf":["Не можна переназначити користувачу, якого видаляють."],"userEdit.error.slugTaken":["That author slug is already taken. Choose a different one."],"userEdit.error.statusFallback":["Не вдалося змінити стан облікового запису. Спробуйте знову."],"userEdit.error.updateFallback":["Не вдалося зберегти зміни. Спробуйте знову."],"userEdit.loadFailed":["Не вдалося завантажити цього користувача. Можливо, його видалено."],"userEdit.loading.aria":["Завантаження користувача"],"userEdit.name.label":["Ім'я"],"userEdit.notFound.title":["Не знайдено"],"userEdit.role.label":["Роль"],"userEdit.role.selfReadonly":["Лише інший адміністратор може змінити вашу роль."],"userEdit.slug.description":["Used in this author's archive URL under /authors/. Changing it breaks existing links to the old address."],"userEdit.slug.format":["Slug must be lowercase letters, numbers, and dashes."],"userEdit.slug.label":["Author slug"],"userEdit.status.description.active":["Вимкнення негайно завершує сеанс користувача та блокує наступні входи. Їхні записи залишаються опублікованими."],"userEdit.status.description.disabled":["Вимкнені облікові записи не можуть увійти. Повторне вмикання відновлює доступ; їхній passkey залишається зареєстрованим."],"userEdit.status.title":["Стан облікового запису"],"userEdit.status.toggle.disable":["Вимкнути користувача"],"userEdit.status.toggle.disabling":["Вимкнення…"],"userEdit.status.toggle.enable":["Повторно ввімкнути користувача"],"userEdit.status.toggle.enabling":["Увімкнення…"],"userEdit.submit.idle":["Зберегти зміни"],"userEdit.submit.pending":["Збереження…"],"userEdit.title.other":["Редагувати ",["email"]],"userEdit.title.self":["Ваш профіль"],"userInvite.backToList":["До користувачів"],"userInvite.cancel":["Скасувати"],"userInvite.copy.aria":["Копіювати посилання запрошення"],"userInvite.copy.copied":["Скопійовано"],"userInvite.copy.idle":["Копіювати"],"userInvite.description":["Вони зареєструють passkey під час першого відкриття посилання запрошення. Пароль не потрібен."],"userInvite.email.invalid":["Введіть дійсну email-адресу"],"userInvite.email.label":["Email"],"userInvite.error.emailTaken":["Користувач із такою електронною адресою вже існує."],"userInvite.error.fallback":["Не вдалося надіслати запрошення. Спробуйте знову."],"userInvite.name.label":["Ім'я"],"userInvite.role.label":["Роль"],"userInvite.submit.idle":["Надіслати запрошення"],"userInvite.submit.pending":["Запрошення…"],"userInvite.success.another":["Запросити ще"],"userInvite.success.backToList":["До користувачів"],"userInvite.success.description":["Поділіться посиланням нижче з ",["email"],". Вони зареєструють passkey під час першого відкриття. Посилання діє 7 днів."],"userInvite.success.link.label":["Посилання запрошення"],"userInvite.success.title":["Запрошення готове"],"userInvite.title":["Запросити користувача"],"userRole.admin":["Адміністратор"],"userRole.author":["Автор"],"userRole.contributor":["Дописувач"],"userRole.editor":["Редактор"],"userRole.long.admin":["Адміністратор — повний контроль"],"userRole.long.author":["Автор — публікація власних записів"],"userRole.long.contributor":["Дописувач — чернетки без публікації"],"userRole.long.editor":["Редактор — публікація та редагування будь-яких записів"],"userRole.long.subscriber":["Передплатник — лише читання"],"userRole.subscriber":["Передплатник"],"users.list.column.created":["Створено"],"users.list.column.lastSignIn":["Останній вхід"],"users.list.column.role":["Роль"],"users.list.column.status":["Статус"],"users.list.column.user":["Користувач"],"users.list.empty.description":["Очистіть фільтр або запросіть когось нового."],"users.list.empty.invite":["Запросити користувача"],"users.list.empty.title":["За фільтром не знайдено користувачів"],"users.list.invite":["Додати"],"users.list.loadFailed":["Не вдалося завантажити користувачів. Спробуйте знову."],"users.list.loading":["Завантаження користувачів"],"users.list.roleFilter.all":["Усі ролі"],"users.list.roleFilter.aria":["Фільтр за роллю"],"users.list.row.active":["Активний"],"users.list.row.disabled":["Вимкнено"],"users.list.row.lastSignIn.never":["Ніколи"],"users.list.row.noName":["(без імені)"],"users.list.row.you":["Ви"],"users.list.searchPlaceholder":["Пошук за email…"],"users.list.title":["Користувачі"],"validate.email.invalid":["Введіть дійсну email-адресу."],"validate.email.maxLength":["Email задовгий."],"validate.email.required":["Введіть адресу email."],"validate.id.format":["id має бути додатним цілим числом"],"validate.name.maxLength":["Ім'я задовге."]}`);export{e as messages};
|
|
1
|
+
var e=JSON.parse(`{"admin.slug.format":["Slug must be lowercase letters, numbers, and dashes."],"allowedDomains.add.defaultRole.label":["Роль за замовчуванням"],"allowedDomains.add.description":["Використовуйте лише домен — без протоколу та шляху."],"allowedDomains.add.domain.invalid":["Введіть дійсне ім'я хоста (наприклад example.com)."],"allowedDomains.add.domain.label":["Домен"],"allowedDomains.add.placeholder":["example.com"],"allowedDomains.add.submit.idle":["Додати"],"allowedDomains.add.submit.pending":["Додавання…"],"allowedDomains.add.title":["Додати домен"],"allowedDomains.description":["Email-домени, дозволені для реєстрації через OAuth. Нові OAuth-акаунти створюються з роллю, заданою тут. Вимкнені рядки відхиляють реєстрацію, але зберігають своє відображення на роль."],"allowedDomains.error.domainExists":["Цей домен уже налаштовано."],"allowedDomains.error.fallback":["Не вдалося зберегти домен. Спробуйте знову."],"allowedDomains.list.empty":["Жодного домену не налаштовано. Реєстрація через OAuth закрита, доки не додано хоча б один увімкнений домен."],"allowedDomains.list.loading":["Завантаження…"],"allowedDomains.list.title":["Налаштовані домени"],"allowedDomains.row.deleteAria":["Видалити ",["domain"]],"allowedDomains.row.deleteCancel":["Скасувати"],"allowedDomains.row.deleteConfirm":["Підтвердити видалення"],"allowedDomains.row.disabled":["Вимкнено"],"allowedDomains.row.enabled":["Увімкнено"],"allowedDomains.title":["Дозволені домени"],"apiTokens.col.actions":["Дії"],"apiTokens.col.expires":["Закінчується"],"apiTokens.col.lastUsed":["Останнє використання"],"apiTokens.col.name":["Назва"],"apiTokens.col.prefix":["Префікс"],"apiTokens.col.scopes":["Дозволи"],"apiTokens.create.capabilities":["Можливості"],"apiTokens.create.capabilities.help":["По одній можливості в рядку. Токен ніколи не може перевищити дозволи вашої ролі — це лише додаткове звуження."],"apiTokens.create.capabilities.placeholder":["entry:post:read\\nentry:post:edit_own"],"apiTokens.create.expires":["Закінчується"],"apiTokens.create.name":["Назва"],"apiTokens.create.namePlaceholder":["github-actions / claude-code / mcp-prod"],"apiTokens.create.nameRequired":["Назва обов'язкова."],"apiTokens.create.nameTooLong":["Назва має бути ≤ 64 символів."],"apiTokens.create.permissions":["Дозволи"],"apiTokens.create.scope.inherit":["Успадкувати всі ваші дозволи"],"apiTokens.create.scope.restrict":["Обмежити конкретними можливостями"],"apiTokens.create.submit.idle":["Створити токен"],"apiTokens.create.submit.pending":["Створення…"],"apiTokens.description.admin":["Токени, створені цим користувачем. Ви можете скасувати будь-який — створення потребує автентифікованого браузерного сеансу власника."],"apiTokens.description.self":["Особисті токени доступу для CLI, MCP-серверів, CI-ботів та будь-яких інших небраузерних клієнтів. Повний секрет показується лише раз під час створення."],"apiTokens.empty.description.admin":["Цей користувач не створював API-токенів."],"apiTokens.empty.description.self":["Створіть токен вище для вашого CLI / MCP-сервера / CI-бота."],"apiTokens.empty.title":["Токенів ще немає"],"apiTokens.expiry.30":["30 днів"],"apiTokens.expiry.7":["7 днів"],"apiTokens.expiry.90":["90 днів"],"apiTokens.expiry.never":["Ніколи"],"apiTokens.loading":["Завантаження токенів…"],"apiTokens.mint.fallback":["Не вдалося створити токен. Спробуйте знову."],"apiTokens.never":["Ніколи"],"apiTokens.revoke.button":["Скасувати"],"apiTokens.revoke.cancel":["Скасувати"],"apiTokens.revoke.confirm":["Скасувати"],"apiTokens.revoke.description":["Токен негайно припиняє роботу. Будь-який клієнт, що його використовує, почне отримувати 401 під час наступного запиту."],"apiTokens.revoke.fallback":["Не вдалося скасувати. Спробуйте знову."],"apiTokens.revoke.pending":["Скасування…"],"apiTokens.revoke.title":["Скасувати \\"",["name"],"\\"?"],"apiTokens.scope.empty":["Без дозволів"],"apiTokens.scope.inheritRole":["Успадкувати роль"],"apiTokens.secret.copyAria":["Копіювати токен"],"apiTokens.secret.description":["Скопіюйте секрет зараз. Ми не покажемо його знову — втратите доведеться скасувати й створити новий."],"apiTokens.secret.done":["Готово"],"apiTokens.secret.title":["Токен \\"",["name"],"\\" створено"],"apiTokens.title":["API-токени"],"auth.acceptInvite.description":["Налаштуйте passkey, щоб завершити створення облікового запису. Ваш браузер або пристрій проведе вас через підказку."],"auth.acceptInvite.name":["Ім'я"],"auth.acceptInvite.submit.idle":["Створити passkey"],"auth.acceptInvite.submit.pending":["Налаштування…"],"auth.acceptInvite.title":["Прийняти запрошення"],"auth.bootstrap.description":["Налаштуйте свій сайт — цей email стане обліковим записом адміністратора."],"auth.bootstrap.email":["Email"],"auth.bootstrap.name":["Ім'я"],"auth.bootstrap.submit.idle":["Створити обліковий запис із passkey"],"auth.bootstrap.submit.pending":["Створення облікового запису…"],"auth.bootstrap.title":["Створити обліковий запис адміністратора"],"auth.device.approve.confirmTitle":["Підтвердити \\"",["userCode"],"\\""],"auth.device.approve.description":["Новий API-токен буде створено для вашого облікового запису й передано в CLI. Дайте йому назву, щоб знайти пізніше в профілі, і за потреби обмежте його можливості."],"auth.device.approve.error.alreadyApproved":["Цей код уже схвалено в іншій вкладці."],"auth.device.approve.error.alreadyDenied":["Цей код уже відхилено."],"auth.device.approve.error.expired":["Цей код прострочився раніше, ніж ви встигли завершити — запустіть CLI знову."],"auth.device.approve.error.fallback":["Не вдалося виконати запит. Спробуйте знову."],"auth.device.approve.idle":["Схвалити"],"auth.device.approve.pending":["Схвалення…"],"auth.device.approved":["Схвалено. Ваш CLI отримає токен за кілька секунд — можна закрити цю вкладку."],"auth.device.cancel":["Скасувати"],"auth.device.denied":["Відмовлено. CLI отримає відповідь access_denied і припинить опитування."],"auth.device.deny.idle":["Відмовити"],"auth.device.deny.pending":["Відмова…"],"auth.device.description":["CLI запитує API-токен для вашого облікового запису. Перевірте, що код у CLI збігається з тим, що показано нижче, перш ніж схвалити."],"auth.device.lookup.description":["CLI показує 8-символьний код, розділений дефісом — «ABCD-EFGH». Лише літери й цифри, без нулів та одиниць."],"auth.device.lookup.error.alreadyApproved":["Цей код уже схвалено. Запустіть CLI знову, якщо він не отримав токен."],"auth.device.lookup.error.alreadyDenied":["Цей код уже відхилено."],"auth.device.lookup.error.expired":["Цей код прострочився. Запустіть CLI знову, щоб отримати новий."],"auth.device.lookup.error.fallback":["Не вдалося знайти цей код. Спробуйте знову."],"auth.device.lookup.error.notFound":["Код не знайдено. Перевірте, що він збігається з виведеним у CLI."],"auth.device.lookup.submit.idle":["Продовжити"],"auth.device.lookup.submit.pending":["Перевірка…"],"auth.device.lookup.title":["Введіть код із вашого CLI"],"auth.device.lookup.userCode.label":["Код користувача"],"auth.device.scopeMode.inherit":["Успадкувати всі мої дозволи"],"auth.device.scopeMode.label":["Дозволи"],"auth.device.scopeMode.restrict":["Обмежити конкретними можливостями"],"auth.device.scopes.label":["Можливості"],"auth.device.scopes.placeholder":["entry:post:read\\nentry:post:edit_own"],"auth.device.title":["Дозволити доступ CLI"],"auth.device.tokenName.default":["CLI"],"auth.device.tokenName.label":["Назва токена"],"auth.device.tokenName.placeholder":["claude-code / github-actions / mcp-prod"],"auth.device.tokenName.required":["Назва обов'язкова."],"auth.device.tokenName.tooLong":["Назва має бути ≤ 64 символів."],"auth.device.userCode.placeholder":["ABCD-EFGH"],"blockActions.copyJson":["Копіювати JSON"],"blockActions.delete":["Видалити"],"blockActions.duplicate":["Дублювати"],"blockActions.empty":["Виберіть блок, щоб побачити дії."],"blockActions.transformTo":["Перетворити на"],"blockScopePicker.cancel":["Скасувати"],"blockScopePicker.description":["Виберіть макет для вставлення або скасуйте, щоб почати з порожнього ",["blockTitle"],"."],"blockScopePicker.title":["Виберіть макет для ",["blockTitle"]],"breadcrumb.addNew":["Додати"],"breadcrumb.admin":["Адмінка"],"breadcrumb.create":["Створити"],"breadcrumb.createTerm":["Create ",["singular"]],"breadcrumb.dashboard":["Інформаційна панель"],"breadcrumb.edit":["Редагувати"],"breadcrumb.editTerm":["Edit ",["singular"]],"breadcrumb.editUser":["Редагувати користувача"],"breadcrumb.entries":["Записи"],"breadcrumb.profile":["Профіль"],"breadcrumb.settings":["Налаштування"],"breadcrumb.terms":["Терміни"],"breadcrumb.users":["Користувачі"],"core.adminNav.content":["Записи"],"core.adminNav.item.allowedDomains":["Дозволені домени"],"core.adminNav.item.dashboard":["Інформаційна панель"],"core.adminNav.item.mailer":["Пошта"],"core.adminNav.item.settings":["Налаштування"],"core.adminNav.item.users":["Користувачі"],"core.adminNav.keyword.accounts":["accounts"],"core.adminNav.keyword.configuration":["configuration"],"core.adminNav.keyword.domains":["domains"],"core.adminNav.keyword.email":["email"],"core.adminNav.keyword.home":["home"],"core.adminNav.keyword.options":["options"],"core.adminNav.keyword.overview":["overview"],"core.adminNav.keyword.people":["people"],"core.adminNav.keyword.preferences":["preferences"],"core.adminNav.keyword.signups":["signups"],"core.adminNav.keyword.smtp":["smtp"],"core.adminNav.keyword.team":["team"],"core.adminNav.management":["Керування"],"core.adminNav.overview":["Огляд"],"core.adminNav.termTaxonomies":["Таксономії"],"core.settings.general.description":["Основна ідентичність сайту та метадані."],"core.settings.general.label":["Загальні"],"core.settings.site.default_og_image":["Default social image URL"],"core.settings.site.description":["Публічна назва, гасло та посилання на соцмережі."],"core.settings.site.github":["Посилання на GitHub"],"core.settings.site.label":["Ідентичність сайту"],"core.settings.site.mastodon":["Посилання на Mastodon"],"core.settings.site.public":["Allow search engines to index this site"],"core.settings.site.tagline":["Гасло"],"core.settings.site.title":["Назва сайту"],"core.settings.site.twitter":["Посилання на X (Twitter)"],"dashboard.count.draft":[["count","plural",{"one":["#"," чернетка"],"few":["#"," чернетки"],"many":["#"," чернеток"],"other":["#"," чернетки"]}]],"dashboard.count.published":[["count","plural",{"one":["#"," опубліковано"],"few":["#"," опубліковано"],"many":["#"," опубліковано"],"other":["#"," опубліковано"]}]],"dashboard.empty.description":["Додайте плагін, який реєструє тип запису (наприклад <0>@plumix/plugin-blog</0>), щоб побачити його тут."],"dashboard.empty.title":["Типів вмісту ще немає"],"dashboard.recent.empty":["Поки нічого."],"dashboard.recent.title":["Нещодавня активність"],"dashboard.tagline":["Над чим хочете попрацювати сьогодні?"],"dashboard.tile.browse":["Browse ",["labelLower"]],"dashboard.tile.browse.generic":["Переглянути"],"dashboard.tile.description":["Write, edit, and publish ",["labelLower"],"."],"dashboard.tile.description.generic":["Пишіть, редагуйте та публікуйте."],"dashboard.welcome":["Вітаємо, ",["greeting"]],"dataTable.emptyState":["Результатів немає."],"dataTable.loading":["Завантаження"],"editor.autosave.error":["Не вдалося зберегти"],"editor.autosave.saved":["Збережено"],"editor.autosave.saving":["Збереження..."],"editor.coAuthorIndicator.activeAriaLabel":["Активні співавтори"],"editor.coAuthorIndicator.presenceAriaLabel":[["display"]," · востаннє ",["lastSeen"]],"editor.copyPattern.untitled":["Untitled"],"editor.device.desktop":["Десктоп"],"editor.device.mobile":["Мобільний"],"editor.device.tablet":["Планшет"],"editor.document.excerpt":["Excerpt"],"editor.document.parent":["Parent"],"editor.document.parent.none":["(no parent)"],"editor.document.slug":["Slug"],"editor.document.template":["Template"],"editor.document.template.default":["(theme default)"],"editor.document.title":["Title"],"editor.entry.create.failed":["Something went wrong while creating a draft. Try again."],"editor.entry.create.failedTitle":["Couldn't create the entry"],"editor.entry.create.pending":["Creating new ",["singular"],"…"],"editor.entry.create.pending.generic":["Створення…"],"editor.entry.create.retry":["Try again"],"editor.entry.create.untitled":["Без назви"],"editor.entry.edit.headline":["Edit ",["singular"]],"editor.entry.edit.headline.generic":["Edit"],"editor.entry.edit.loadFailed":["Не вдалося завантажити цей запис."],"editor.entry.edit.loadFailedTitle":["Не вдалося завантажити цей запис"],"editor.entry.edit.loading":["Завантаження запису…"],"editor.entry.edit.restore.conflict":["Інший користувач змінив цей запис. Перезавантажте й спробуйте знову."],"editor.entry.edit.saveFailed":["Не вдалося зберегти."],"editor.entry.edit.stale.loading":["Завантаження…"],"editor.entry.edit.toast.discardFailed":["Не вдалося відхилити чернетку — спробуйте ще раз."],"editor.entry.edit.toast.draftDiscarded":["Чернетку відхилено."],"editor.entry.edit.toast.publishFailed":["Не вдалося опублікувати — спробуйте ще раз."],"editor.entry.edit.toast.published":["Опубліковано."],"editor.headingAudit.empty":["Проблем зі структурою заголовків не виявлено."],"editor.headingAudit.emptyHeading":["Порожній заголовок. Додайте текст або видаліть блок."],"editor.headingAudit.multipleH1":["На сторінці кілька <h1> (знайдено ",["count"],"). Залиште лише один заголовок верхнього рівня."],"editor.headingAudit.skippedLevel":["Заголовок перестрибує з h",["from"]," на h",["to"],". Додайте h",["between"]," між ними."],"editor.headingAudit.warningPrefix":["Попередження:"],"editor.layout.canvas.copyAsPatternSource":["Копіювати як джерело шаблону"],"editor.layout.canvas.pickStarter":["Виберіть стартер…"],"editor.layout.canvas.zoomIn":["Збільшити"],"editor.layout.canvas.zoomOut":["Зменшити"],"editor.layout.characterCount":[["characters","plural",{"one":["#"," символ"],"few":["#"," символи"],"many":["#"," символів"],"other":["#"," символа"]}]],"editor.layout.copy.copied":["Copied to clipboard"],"editor.layout.copy.failed":["Couldn't copy to clipboard"],"editor.layout.copyAsPattern.untitledFallback":["Без назви"],"editor.layout.draft.discard":["Відкинути"],"editor.layout.draft.discarding":["Скасування…"],"editor.layout.draft.publish":["Опублікувати"],"editor.layout.draft.publishing":["Публікація…"],"editor.layout.draft.save":["Зберегти чернетку"],"editor.layout.draft.saving":["Збереження…"],"editor.layout.draftBanner.body":["Натисніть «Опублікувати», щоб запустити їх у роботу, або «Відкинути», щоб скасувати."],"editor.layout.draftBanner.title":["У вас є неопубліковані зміни в чернетці."],"editor.layout.header.backToList":["До списку"],"editor.layout.header.titlePlaceholder":["Без назви"],"editor.layout.mobile.blocksSheetDescription":["Блоки для вставки, схема та аудит заголовків для цього запису."],"editor.layout.mobile.blocksSheetTitle":["Блоки"],"editor.layout.mobile.blocksTrigger":["Блоки"],"editor.layout.mobile.inspectorSheetDescription":["Дії з блоком, поля та елементи стилю для вибраного блока."],"editor.layout.mobile.inspectorSheetTitle":["Інспектор"],"editor.layout.mobile.inspectorTrigger":["Інспектор"],"editor.layout.publish":["Опублікувати"],"editor.layout.slashMenu.description":["Знайдіть блоки та шаблони за заголовком або ключовим словом і натисніть Enter, щоб вставити."],"editor.layout.slashMenu.title":["Вставити блок або шаблон"],"editor.layout.tab.audit":["Аудит"],"editor.layout.tab.block":["Блок"],"editor.layout.tab.blocks":["Блоки"],"editor.layout.tab.document":["Document"],"editor.layout.tab.outline":["Схема"],"editor.layout.tab.style":["Стиль"],"editor.layout.titleAriaLabel":["Назва запису"],"editor.layout.wordCount":[["words","plural",{"one":["#"," слово"],"few":["#"," слова"],"many":["#"," слів"],"other":["#"," слова"]}]],"editor.loading":["Opening the editor…"],"editor.patternRef.detach":["Від'єднати"],"editor.patternRef.openSource":["Відкрити джерело"],"editor.patternRef.unresolved":["Шаблон не зареєстровано: <code>",["slug"],"</code>"],"editor.plainForm.publish":["Опублікувати"],"editor.plainForm.save":["Зберегти"],"editor.plainForm.status.error":["Не вдалося зберегти"],"editor.plainForm.status.saved":["Збережено"],"editor.plainForm.status.saving":["Збереження..."],"editor.plainForm.titleAriaLabel":["Назва запису"],"editor.plainForm.titlePlaceholder":["Без назви"],"editor.preview.more":["More preview options"],"editor.preview.open":["Preview"],"editor.preview.tooltip":["Open a preview in a new tab"],"editor.previewFailed":["Couldn't open this entry in the editor."],"editor.previewFailedTitle":["Couldn't open the editor"],"editor.previewLink.copied":["Посилання для попереднього перегляду скопійовано"],"editor.previewLink.copy":["Скопіювати посилання для попереднього перегляду"],"editor.previewLink.failed":["Не вдалося створити посилання для попереднього перегляду"],"editor.revision.conflict":["This entry changed since the preview loaded — reload and retry."],"editor.revisions.diff.empty":["Без змін."],"editor.revisions.diff.field.excerpt":["Уривок"],"editor.revisions.diff.field.slug":["Slug"],"editor.revisions.diff.field.title":["Назва"],"editor.revisions.diff.tab.json":["Сирий JSON"],"editor.revisions.diff.tab.visual":["Візуально"],"editor.revisions.diffDialog.description":["Поруч: ця ревізія (зліва) та поточний запис (справа)."],"editor.revisions.diffDialog.pane.current":["Поточна"],"editor.revisions.diffDialog.pane.error":["Не вдалося завантажити знімок."],"editor.revisions.diffDialog.pane.thisRevision":["Ця ревізія"],"editor.revisions.diffDialog.title":["JSON-різниця ревізії"],"editor.revisions.preview.backToLive":["← До поточної версії"],"editor.revisions.preview.restore":["Відновити цю ревізію"],"editor.revisions.preview.restoring":["Відновлення…"],"editor.revisions.preview.subtitle":[["when"],", автор: ",["author"]],"editor.revisions.preview.title":["Перегляд ревізії"],"editor.revisions.sheet.autosavesEmpty":["Автозбереження з'являться тут, коли буде впроваджено чернетки опублікованих."],"editor.revisions.sheet.commentCancel":["Скасувати"],"editor.revisions.sheet.commentPlaceholder":["Опишіть цю ревізію…"],"editor.revisions.sheet.commentSave":["Зберегти"],"editor.revisions.sheet.commentSaving":["…"],"editor.revisions.sheet.description":["Кожне збереження створює нову ревізію. Найновіші зверху."],"editor.revisions.sheet.diffAriaLabel":["Переглянути JSON-різницю"],"editor.revisions.sheet.empty":["Ревізій ще немає."],"editor.revisions.sheet.error":["Не вдалося завантажити ревізії."],"editor.revisions.sheet.loadMore":["Завантажити ще"],"editor.revisions.sheet.loadingAria":["Завантаження ревізій"],"editor.revisions.sheet.loadingMore":["Завантаження…"],"editor.revisions.sheet.tab.all":["Усі"],"editor.revisions.sheet.tab.autosaves":["Автозбереження"],"editor.revisions.sheet.tab.publishes":["Публікації"],"editor.revisions.sheet.title":["Ревізії"],"editor.revisions.sheet.trigger":["Ревізії"],"editor.revisions.sheet.unknownAuthor":["Невідомо"],"editor.stale.loading":["Loading…"],"editor.staleDraft.compare":["Порівняти"],"editor.staleDraft.description":["Хтось інший опублікував зміни цього запису, поки у вас були незбережені правки. Виберіть, яку версію залишити, перш ніж продовжити."],"editor.staleDraft.discarding":["Скасування…"],"editor.staleDraft.hideComparison":["Сховати порівняння"],"editor.staleDraft.liveNow":["Поточна версія"],"editor.staleDraft.title":["Ваша чернетка застаріла"],"editor.staleDraft.useMine":["Використати мою"],"editor.staleDraft.useTheirs":["Використати чужу"],"editor.staleDraft.yourDraft":["Ваша чернетка"],"editor.styleTab.activeBucket":["Редагування для: ",["device"]],"editor.styleTab.empty":["Виберіть блок для стилізації."],"editor.styleTab.section.background":["Фон"],"editor.styleTab.section.fontSize":["Розмір шрифту"],"editor.styleTab.section.padding":["Відступи"],"editor.styleTab.section.textColor":["Колір тексту"],"editor.styleTab.select.none":["Жоден"],"editor.toast.autosaveFailed":["Couldn't save your changes — they may contain invalid content."],"editor.toast.discardFailed":["Couldn't discard the draft — try again."],"editor.toast.discarded":["Draft discarded."],"editor.toast.publishFailed":["Couldn't publish — try again."],"editor.toast.published":["Published."],"emailChange.error.accountDisabled":["Обліковий запис, до якого належить це підтвердження, вимкнено."],"emailChange.error.emailTaken":["Хтось інший зайняв цей email між запитом і вашим натисканням. Запросіть нову зміну на іншу адресу."],"emailChange.error.fallback":["Не вдалося підтвердити зміну email. Спробуйте знову."],"emailChange.error.missingToken":["У цьому посиланні підтвердження бракує токена. Запросіть нову зміну email."],"emailChange.error.tokenExpired":["Це посилання підтвердження прострочене. Запросіть нову зміну email."],"emailChange.error.tokenInvalid":["Це посилання підтвердження недійсне. Можливо, воно вже використане."],"emailChange.error.userNotFound":["Обліковий запис, до якого належить це підтвердження, було видалено."],"entries.list.authorFilter.all":["Усі автори"],"entries.list.authorFilter.mine":["Мої"],"entries.list.bulk.cancel":["Скасувати"],"entries.list.bulk.confirm":["Підтвердити"],"entries.list.bulk.delete":["Видалити назавжди"],"entries.list.bulk.deleteBody":["Це назавжди видалить вибрані записи та їхні редакції. Дію не можна скасувати."],"entries.list.bulk.deleteTitle":[["count","plural",{"one":["Видалити ","#"," запис назавжди?"],"few":["Видалити ","#"," записи назавжди?"],"many":["Видалити ","#"," записів назавжди?"],"other":["Видалити ","#"," запису назавжди?"]}]],"entries.list.bulk.restore":["Відновити"],"entries.list.bulk.selected":[["count","plural",{"one":["#"," запис вибрано"],"few":["#"," записи вибрано"],"many":["#"," записів вибрано"],"other":["#"," запису вибрано"]}],"{# вибрано}}"],"entries.list.bulk.toastDeleted":[["count","plural",{"one":["Видалено ","#"," запис."],"few":["Видалено ","#"," записи."],"many":["Видалено ","#"," записів."],"other":["Видалено ","#"," запису."]}]],"entries.list.bulk.toastFailed":["Не вдалося — спробуйте ще раз."],"entries.list.bulk.toastRestored":[["count","plural",{"one":["Відновлено ","#"," запис."],"few":["Відновлено ","#"," записи."],"many":["Відновлено ","#"," записів."],"other":["Відновлено ","#"," запису."]}]],"entries.list.bulk.toastTrashed":[["count","plural",{"one":["Переміщено ","#"," запис до кошика."],"few":["Переміщено ","#"," записи до кошика."],"many":["Переміщено ","#"," записів до кошика."],"other":["Переміщено ","#"," запису до кошика."]}]],"entries.list.bulk.trash":["До кошика"],"entries.list.bulk.trashTitle":[["count","plural",{"one":["Перемістити ","#"," запис до кошика?"],"few":["Перемістити ","#"," записи до кошика?"],"many":["Перемістити ","#"," записів до кошика?"],"other":["Перемістити ","#"," запису до кошика?"]}]],"entries.list.column.status":["Статус"],"entries.list.column.title":["Назва"],"entries.list.column.updated":["Оновлено"],"entries.list.deleteDialog.cancel":["Скасувати"],"entries.list.deleteDialog.confirm":["Видалити назавжди"],"entries.list.deleteDialog.deleting":["Видалення…"],"entries.list.deleteDialog.description":["Запис і всі його редакції буде видалено назавжди. Цю дію неможливо скасувати."],"entries.list.deleteDialog.title":["Видалити назавжди?"],"entries.list.empty.cta":["New ",["singularLower"]],"entries.list.empty.description":["Створіть, щоб побачити тут."],"entries.list.empty.title":["No ",["pluralLower"]," yet"],"entries.list.filterAuthorAria":["Фільтр за автором"],"entries.list.filterStatusAria":["Фільтр за статусом"],"entries.list.loadError":["Couldn't load ",["pluralLower"],". Try again."],"entries.list.loadingLabel":["Loading ",["pluralLower"]],"entries.list.newButton":["New ",["singularLower"]],"entries.list.noTitle":["(без назви)"],"entries.list.row.deletePermanently":["Видалити назавжди"],"entries.list.row.duplicate":["Дублювати"],"entries.list.row.duplicating":["Дублювання…"],"entries.list.row.edit":["Редагувати"],"entries.list.row.restore":["Відновити"],"entries.list.row.restoring":["Відновлення…"],"entries.list.row.trash":["У кошик"],"entries.list.row.trashing":["Переміщення в кошик…"],"entries.list.searchPlaceholder":["Search ",["pluralLower"],"…"],"entries.list.selectAllAria":["Вибрати всі записи на цій сторінці"],"entries.list.selectRowAria":["Вибрати запис"],"entries.list.sortAria":["Сортувати за ",["label"]," (",["direction"],")"],"entries.list.statusFilter.all":["Усі"],"entries.list.statusFilter.draft":["Чернетка"],"entries.list.statusFilter.published":["Опубліковано"],"entries.list.statusFilter.scheduled":["Заплановано"],"entries.list.statusFilter.trash":["Кошик"],"entries.list.taxonomyFilter.all":["All ",["pluralLower"]],"entries.list.taxonomyFilter.empty":["No ",["pluralLower"]," match."],"entries.list.taxonomyFilter.search":["Search ",["pluralLower"],"…"],"entries.list.toast.deleted":["Видалено назавжди."],"entries.list.toast.duplicated":["Дубльовано як чернетку."],"entries.list.toast.failed":["Не вдалося — спробуйте ще раз."],"entries.list.toast.restored":["Відновлено в чернетки."],"entries.list.toast.trashed":["Переміщено в кошик."],"entries.list.trashDialog.cancel":["Скасувати"],"entries.list.trashDialog.confirm":["У кошик"],"entries.list.trashDialog.description":["Ви зможете відновити його з кошика пізніше."],"entries.list.trashDialog.moving":["Переміщення…"],"entries.list.trashDialog.title":["Move ",["singularLower"]," to trash?"],"errorBoundary.hideError":["Сховати помилку"],"errorBoundary.showError":["Показати помилку"],"errorBoundary.title":["Щось пішло не так"],"fieldTypes.boolean.no":["Ні"],"fieldTypes.boolean.yes":["Так"],"form.multiSelect.empty":["Збігів немає."],"form.multiSelect.placeholder":["Вибрати…"],"form.multiSelect.search":["Пошук…"],"form.multiSelect.selectedCount":["вибрано: ",["count"]],"listPagination.next.aria":["Перейти на наступну сторінку"],"listPagination.next.label":["Далі"],"listPagination.page":["Сторінка ",["page"]],"listPagination.prev.aria":["Перейти на попередню сторінку"],"listPagination.prev.label":["Назад"],"login.description":["Скористайтеся passkey, отримайте одноразове посилання поштою або продовжте з постачальником."],"login.email.invalid":["Введіть дійсну email-адресу."],"login.email.label":["Email"],"login.emailChange.success":["Email підтверджено. Увійдіть з новою адресою."],"login.locale.aria":["Мова"],"login.magicLink.back":["Назад"],"login.magicLink.emailRequired":["Спочатку введіть email вище."],"login.magicLink.pending":["Надсилання…"],"login.magicLink.sent.description":["Якщо для цього email існує обліковий запис, ми надіслали посилання для входу. Посилання діє 15 хвилин."],"login.magicLink.sent.title":["Перевірте свою пошту"],"login.magicLink.submit":["Надіслати посилання поштою"],"login.oauth.continueWith":["Продовжити з ",["label"]],"login.oauth.separator":["або"],"login.passkey.pending":["Вхід…"],"login.passkey.submit":["Увійти з passkey"],"login.title":["Вхід"],"magicLink.error.accountDisabled":["Цей обліковий запис вимкнено."],"magicLink.error.domainNotAllowed":["Ваш email-домен більше не в списку дозволених. Попросіть адміністратора додати його."],"magicLink.error.fallback":["Не вдалося ввійти. Спробуйте знову."],"magicLink.error.missingToken":["У цьому посиланні для входу бракує токена. Запросіть нове та спробуйте знову."],"magicLink.error.registrationClosed":["Самостійна реєстрація недоступна, доки адміністратор не завершив налаштування."],"magicLink.error.tokenExpired":["Це посилання для входу прострочене. Запросіть нове."],"magicLink.error.tokenInvalid":["Це посилання для входу недійсне. Можливо, воно вже використане. Запросіть нове."],"magicLinkRequest.error.invalidInput":["Введіть дійсну email-адресу."],"magicLinkRequest.error.network":["Не вдалося надіслати посилання. Спробуйте знову."],"magicLinkRequest.error.notConfigured":["Вхід за magic-link не налаштований на цьому сайті."],"mailer.description":["Перевірка того, що налаштований транспорт вихідної пошти справді доставляє. Використовується magic-link входом, листами запрошень та будь-яким плагіном, що використовує спільний mailer."],"mailer.test.description":["Надсилає одноразове повідомлення через той самий транспорт, що й magic-link. Помилки виводяться тут дослівно — на відміну від процесу запиту magic-link, який навмисно поглинає помилки mailer, щоб форма відповіді не виявляла, чи зареєстровано email."],"mailer.test.error.fallback":["Не вдалося надіслати тестове повідомлення. Спробуйте знову."],"mailer.test.error.notConfigured":["Не налаштовано адаптер пошти. Передайте \`mailer:\` в \`plumix({...})\` (наприклад consoleMailer() для розробки або вашу обгортку Resend/Postmark/SES)."],"mailer.test.error.sendFailed":["Адаптер mailer викинув помилку під час надсилання. Перевірте журнали worker для базової помилки."],"mailer.test.feedback.ok":["Тестове повідомлення надіслано на ",["to"],". Якщо воно не прийде протягом хвилини, перевірте журнали вашого транспортного адаптера."],"mailer.test.recipient.invalid":["Введіть дійсну email-адресу."],"mailer.test.recipient.label":["Одержувач"],"mailer.test.recipient.placeholder":["ops@example.com"],"mailer.test.submit.idle":["Надіслати тест"],"mailer.test.submit.pending":["Надсилання…"],"mailer.test.title":["Надіслати тестове повідомлення"],"mailer.title":["Пошта"],"menu.profile":["Профіль"],"menu.settings":["Налаштування"],"menu.signOut":["Вийти"],"menu.signOut.pending":["Вихід…"],"metaBox.field.json.invalid":["Недійсний JSON"],"metaBox.link.dialogDescription":["Знайдіть і виберіть запис для посилання"],"metaBox.link.loading":["Завантаження…"],"metaBox.link.newTab":["Відкривати в новій вкладці"],"metaBox.link.noMatches":["Збігів немає"],"metaBox.link.pick":["Вибрати запис"],"metaBox.link.searchPlaceholder":["Пошук записів…"],"metaBox.link.text":["Текст посилання"],"metaBox.link.url":["URL"],"metaBox.multiReference.addMore":["Додати"],"metaBox.multiReference.dialogDescription":["Знайдіть і виберіть записи ",["kind"]],"metaBox.multiReference.emptyValue":["Не вибрано"],"metaBox.multiReference.loading":["Завантаження…"],"metaBox.multiReference.noMatches":["Збігів немає"],"metaBox.multiReference.orphan":["Посилання втрачено — видаліть або виберіть знову"],"metaBox.multiReference.resolveError":["Не вдалося завантажити вибрані елементи — оновіть, щоб повторити."],"metaBox.multiReference.searchPlaceholder":["Пошук ",["kind"],"…"],"metaBox.multiReference.selectIdle":["Вибрати"],"metaBox.pluginField.crashed":["Не вдалося відобразити це поле. Перевірте консоль браузера для деталей."],"metaBox.reference.clear":["Очистити"],"metaBox.reference.dialogDescription":["Знайдіть і виберіть ",["kind"]],"metaBox.reference.emptyValue":["Не вибрано"],"metaBox.reference.loading":["Завантаження…"],"metaBox.reference.noMatches":["Збігів немає"],"metaBox.reference.orphan":["Посилання втрачено — виберіть знову або очистіть"],"metaBox.reference.searchPlaceholder":["Пошук ",["kind"],"…"],"metaBox.reference.selectChange":["Змінити"],"metaBox.reference.selectIdle":["Вибрати"],"metaBox.reference.untitled":["Untitled"],"metaBox.repeater.addAnother":["Додати ще"],"metaBox.repeater.addFirst":["Додати рядок"],"metaBox.repeater.countSuffixBoth":[" / мін ",["min"]," / макс ",["max"]],"metaBox.repeater.countSuffixMax":[" / макс ",["max"]],"metaBox.repeater.countSuffixMin":[" / мін ",["min"]],"metaBox.repeater.done":["Done"],"metaBox.repeater.editRow":["Edit row ",["n"]],"metaBox.repeater.editRow.button":["Edit row ",["n"]],"metaBox.repeater.empty":["Рядків немає"],"metaBox.repeater.rowError":["This row has an error"],"metaBox.repeater.rowSummaryEmpty":["Row ",["n"]],"metaField.invalid":["Invalid value."],"metaField.invalidEmail":["Enter a valid email address."],"metaField.invalidOption":["Select a valid option."],"metaField.invalidUrl":["Enter a valid URL."],"metaField.max":["Must be at most ",["max"],"."],"metaField.maxItems":["Select at most ",["max"],"."],"metaField.maxLength":["Must be at most ",["max"]," characters."],"metaField.maxRows":["Use at most ",["max"]," row(s)."],"metaField.maxTemporal":["Must be on or before ",["max"],"."],"metaField.min":["Must be at least ",["min"],"."],"metaField.minRows":["Add at least ",["min"]," row(s)."],"metaField.minTemporal":["Must be on or after ",["min"],"."],"metaField.required":["This field is required."],"notFound.description":["Сторінка, яку ви шукаєте, не існує, або ресурс не зареєстрований. Перевірте URL і спробуйте знову."],"notFound.title":["Не знайдено"],"oauth.error.accountDisabled":["Цей обліковий запис вимкнено."],"oauth.error.codeExchangeFailed":["Не вдалося зв'язатися з постачальником. Спробуйте знову."],"oauth.error.domainNotAllowed":["Ваш email-домен не в списку дозволених. Попросіть адміністратора додати його."],"oauth.error.emailMissing":["Постачальник не повернув email-адресу."],"oauth.error.emailUnverified":["Постачальник ще не підтвердив ваш email. Підтвердьте його там і спробуйте знову."],"oauth.error.fallback":["Не вдалося ввійти. Спробуйте знову."],"oauth.error.linkBroken":["Цей акаунт недосяжний. Зв'яжіться з адміністратором, щоб перепов'язати його."],"oauth.error.profileFetchFailed":["Не вдалося прочитати ваш профіль. Спробуйте знову."],"oauth.error.providerNotConfigured":["Цей постачальник не налаштований."],"oauth.error.registrationClosed":["Реєстрація через OAuth недоступна, доки адміністратор не завершив налаштування."],"oauth.error.stateExpired":["Сеанс входу прострочений. Спробуйте знову."],"oauth.error.stateInvalid":["Сеанс входу прострочений або недійсний. Спробуйте знову."],"palette.command.profile":["Edit profile"],"palette.command.settings":["Settings"],"palette.description":["Search to navigate the admin."],"palette.empty":["No results found."],"palette.group.commands":["Commands"],"palette.group.navigation":["Navigation"],"palette.group.recent":["Recent"],"palette.hint.close":["Close"],"palette.hint.navigate":["Navigate"],"palette.hint.select":["Select"],"palette.loading":["Searching…"],"palette.placeholder":["Search…"],"palette.title":["Command palette"],"passkey.error.challengeMismatch":["Passkey було створено для іншого запрошення. Перезавантажте та спробуйте знову."],"passkey.error.challengeNotBoundToUser":["Спроба входу прострочилася. Спробуйте знову."],"passkey.error.challengeNotFound":["Спроба входу прострочилася. Спробуйте знову."],"passkey.error.counterReplay":["Схоже, ваш passkey було використано на іншому пристрої. Зареєструйте його знову."],"passkey.error.credentialAlreadyRegistered":["Цей passkey уже зареєстровано на цьому сайті."],"passkey.error.credentialLimitReached":["Ви досягли ліміту passkeys для цього облікового запису."],"passkey.error.credentialNotFound":["Цей passkey не зареєстровано на цьому сайті. Спробуйте інший."],"passkey.error.credentialStorageCorrupt":["Дані вашого збереженого passkey пошкоджені. Зареєструйте новий."],"passkey.error.emailMismatch":["Цей email не збігається з обліковим записом, у який ви ввійшли."],"passkey.error.invalidClientData":["Ваш пристрій повернув неочікувану відповідь. Спробуйте знову."],"passkey.error.invalidInput":["Щось пішло не так із формою. Перезавантажте та спробуйте знову."],"passkey.error.invalidOrigin":["Цей passkey непридатний для цього сайту."],"passkey.error.invalidResponse":["Ваш пристрій повернув неочікувану відповідь. Спробуйте знову."],"passkey.error.invalidRpId":["Цей passkey непридатний для цього сайту."],"passkey.error.invalidSignature":["Підпис вашого пристрою не пройшов перевірку. Спробуйте знову."],"passkey.error.invalidToken":["Це посилання запрошення більше не дійсне. Попросіть адміністратора надіслати нове."],"passkey.error.networkError":["Не вдалося зв'язатися з сервером. Перевірте з'єднання та спробуйте знову."],"passkey.error.noAuthenticator":["На цьому пристрої немає доступних passkeys. Спробуйте ввійти з пристрою, на якому ви їх зареєстрували."],"passkey.error.registrationClosed":["Реєстрація на цьому сайті закрита."],"passkey.error.tokenExpired":["Це посилання запрошення прострочене. Попросіть адміністратора надіслати нове."],"passkey.error.unknown":["Щось пішло не так. Спробуйте знову."],"passkey.error.unsupportedAlgorithm":["Алгоритм підпису вашого пристрою не підтримується."],"passkey.error.unsupportedAttestationFormat":["Формат відповіді вашого пристрою не підтримується."],"passkey.error.userCancelled":["Вхід було скасовано."],"passkey.error.userNotFound":["Облікового запису для цього email не знайдено."],"passkey.error.userPresenceMissing":["Ваш пристрій не підтвердив вашу присутність. Спробуйте знову."],"patternsSection.heading":["Шаблони"],"patternsSection.uncategorized":["Без категорії"],"plugin.errorBoundary.iconAria":["Не вдалося відобразити іконку плагіна"],"plugin.errorBoundary.inlineStub":[["label"]," ",["kind"],": помилка"],"plugin.errorBoundary.pageBody":[["label"]," викинув помилку під час відображення. Решта адмінки не постраждала."],"plugin.errorBoundary.pageTitle":["Не вдалося відобразити сторінку плагіна"],"plugin.errorBoundary.unknownPlugin":["цей плагін"],"plugin.errorBoundary.widgetBody":[["label"]," не вдалося відобразити."],"pluginPage.loading.aria":["Завантаження ",["label"]],"pluginPage.notLoaded.body":["Маніфест адмінки оголошує сторінку за шляхом <code>",["path"],"</code>, але React-компонент для неї не зареєстровано."],"pluginPage.notLoaded.title":["Плагін не завантажено"],"profile.language.aria":["Мова"],"profile.language.description":["Адмінка відображається цією мовою. Сторінка перезавантажиться після перемикання, щоб нові переклади застосувалися всюди."],"profile.language.error":["Не вдалося змінити мову. Спробуйте знову."],"profile.language.title":["Мова"],"profile.passkeys.added":["Додано ",["date"]],"profile.passkeys.delete.button":["Видалити"],"profile.passkeys.delete.cancel":["Скасувати"],"profile.passkeys.delete.confirm":["Видалити passkey"],"profile.passkeys.delete.description":["Пристрій, що зареєстрував \\"",["name"],"\\", більше не зможе ввійти. Ви можете зареєструвати його знову пізніше."],"profile.passkeys.delete.fallback":["Не вдалося видалити passkey. Спробуйте знову."],"profile.passkeys.delete.pending":["Видалення…"],"profile.passkeys.delete.title":["Видалити цей passkey?"],"profile.passkeys.description":["Пристрої, що можуть увійти в цей обліковий запис. Додайте новий, перш ніж видаляти старий — має лишитися принаймні один passkey."],"profile.passkeys.empty":["Зареєстрованих passkeys немає. Додайте один, щоб увімкнути вхід."],"profile.passkeys.enroll.alreadyRegistered":["Цей passkey уже зареєстровано на цьому обліковому записі."],"profile.passkeys.enroll.cancelled":["Скасовано. Натисніть «Додати passkey», коли будете готові."],"profile.passkeys.enroll.emailMismatch":["Не вдалося зареєструвати — увійдіть знову та спробуйте."],"profile.passkeys.enroll.fallback":["Не вдалося зареєструвати passkey. Спробуйте знову."],"profile.passkeys.enroll.idle":["Додати passkey"],"profile.passkeys.enroll.networkError":["Мережна помилка. Перевірте з'єднання та спробуйте знову."],"profile.passkeys.enroll.noAuthenticator":["Цей пристрій не підтримує passkeys."],"profile.passkeys.enroll.pending":["Додавання…"],"profile.passkeys.lastCredential":["Не можна видалити останній passkey. Спочатку додайте інший."],"profile.passkeys.lastUsed":["Востаннє використано ",["date"]],"profile.passkeys.loadFailed":["Не вдалося завантажити ваші passkeys. Оновіть і спробуйте знову."],"profile.passkeys.loading":["Завантаження…"],"profile.passkeys.notFound":["Цей passkey більше не існує. Оновіть список."],"profile.passkeys.rename.button":["Перейменувати"],"profile.passkeys.rename.cancel":["Скасувати"],"profile.passkeys.rename.fallback":["Не вдалося перейменувати passkey. Спробуйте знову."],"profile.passkeys.rename.label":["Перейменувати passkey"],"profile.passkeys.rename.nameEmpty":["Назва не може бути порожньою."],"profile.passkeys.rename.pending":["Збереження…"],"profile.passkeys.rename.save":["Зберегти"],"profile.passkeys.synced":["Синхронізовано"],"profile.passkeys.title":["Passkeys"],"profile.passkeys.transport.hybrid":["Міжпристроєвий"],"profile.passkeys.transport.internal":["Цей пристрій"],"profile.passkeys.transport.securityKey":["Ключ безпеки"],"profile.passkeys.unnamed":["Без назви"],"profile.sessions.description":["Пристрої, що ввійшли в цей обліковий запис. Завершіть сеанси, які не впізнаєте, або вийдіть з усіх пристроїв, крім цього, якщо підозрюєте витік."],"profile.sessions.device.browserOnOs":[["browser"]," на ",["os"]],"profile.sessions.empty":["Сеансів, керованих plumix, немає. Ваш вхід обробляється зовнішнім постачальником ідентичності."],"profile.sessions.loadFailed":["Не вдалося завантажити ваші сеанси. Оновіть і спробуйте знову."],"profile.sessions.loading":["Завантаження…"],"profile.sessions.revoke.button":["Завершити"],"profile.sessions.revoke.cancel":["Скасувати"],"profile.sessions.revoke.confirm":["Завершити сеанс"],"profile.sessions.revoke.current":["Не можна завершити сеанс, який ви використовуєте просто зараз."],"profile.sessions.revoke.description":[["device"]," увійшов ",["when"],". Пристрою потрібно буде ввійти знову наступного разу."],"profile.sessions.revoke.descriptionWithIp":[["device"]," увійшов ",["when"]," з ",["ip"],". Пристрою потрібно буде ввійти знову наступного разу."],"profile.sessions.revoke.fallback":["Не вдалося завершити сеанс. Спробуйте знову."],"profile.sessions.revoke.notFound":["Цей сеанс більше не існує. Оновіть список."],"profile.sessions.revoke.pending":["Вихід…"],"profile.sessions.revoke.title":["Вийти з цього пристрою?"],"profile.sessions.revokeAll.count":[["revoked","plural",{"0":["Інших сеансів для виходу немає."],"one":["Завершено ","#"," інший сеанс."],"few":["Завершено ","#"," інші сеанси."],"many":["Завершено ","#"," інших сеансів."],"other":["Завершено ","#"," інших сеансів."]}]],"profile.sessions.revokeAll.fallback":["Не вдалося завершити сеанси. Спробуйте знову."],"profile.sessions.revokeAll.idle":["Вийти з інших пристроїв"],"profile.sessions.revokeAll.pending":["Вихід…"],"profile.sessions.signedIn":["Увійшов ",["when"]],"profile.sessions.thisDevice":["Цей пристрій"],"profile.sessions.title":["Активні сеанси"],"profile.sessions.unknownDevice":["Невідомий пристрій"],"settings.empty.description":["Ядро навмисно не постачає налаштувань — плагіни (або ваш plumix.config) оголошують сторінки + групи через <0>ctx.registerSettingsPage</0> та <1>ctx.registerSettingsGroup</1>. Зареєстровані сторінки з'являються тут у вигляді карток (одна на сторінку)."],"settings.empty.title":["Налаштувань ще не зареєстровано"],"settings.page.empty.description":["Ця сторінка налаштувань ще не посилається на жодні зареєстровані групи. Плагіни складають сторінки за допомогою хелпера registerSettingsPage:"],"settings.page.empty.title":["На цій сторінці немає груп"],"settings.page.loadFailed":["Не вдалося завантажити ці налаштування. Спробуйте знову."],"settings.page.loading":["Завантаження налаштувань"],"settings.page.notFound.title":["Не знайдено"],"settings.page.saveFailed":["Не вдалося зберегти налаштування."],"settings.page.saved":["Збережено."],"settings.page.submit.idle":["Зберегти зміни"],"settings.page.submit.pending":["Збереження…"],"settings.pageSummary":[["count","plural",{"one":["#"," група"],"few":["#"," групи"],"many":["#"," груп"],"other":["#"," груп"]}]],"settings.title":["Налаштування"],"slashMenu.empty":["Збігів немає"],"slashMenu.searchAria":["Пошук блоків і шаблонів"],"slashMenu.uncategorized":["Інше"],"starterModal.description":["Виберіть стартовий макет або почніть із порожнього полотна."],"starterModal.startBlank":["Почати з порожнього"],"starterModal.title":["Почати з шаблону"],"termForm.cancel":["Скасувати"],"termForm.description":["Опис"],"termForm.name":["Назва"],"termForm.parent":["Батьківський"],"termForm.parent.rootOption":["— кореневий —"],"termForm.slug":["Slug"],"termForm.slug.format":["Slug може містити лише малі літери, цифри та дефіси."],"termForm.submitting":["Збереження…"],"terms.create.backLink":["Back to ",["pluralLower"]],"terms.create.description.flat":["Згрупуйте вміст, додавши новий термін."],"terms.create.description.hierarchical":["Виберіть батьківський, щоб укласти цей термін, або залиште порожнім для терміна кореневого рівня."],"terms.create.error.createFallback":["Не вдалося створити термін. Спробуйте знову."],"terms.create.error.emptySlug":["Не вдалося визначити slug з цієї назви — введіть його вручну."],"terms.create.heading":["New ",["singularLower"]],"terms.create.submit":["Create ",["singularLower"]],"terms.edit.backLink":["Back to ",["pluralLower"]],"terms.edit.delete.button":["Видалити термін"],"terms.edit.delete.cancel":["Скасувати"],"terms.edit.delete.cardDescription":["Видаляє цей термін і скасовує його прив'язку до будь-яких записів, які його використовують. Нащадки підвищуються до кореневого рівня (їхні записи зберігають інші прив'язки до термінів)."],"terms.edit.delete.cardTitle":["Видалити термін"],"terms.edit.delete.confirm":["Видалити назавжди"],"terms.edit.delete.deleting":["Видалення…"],"terms.edit.delete.dialogDescription":["Прив'язки записів до цього терміну буде видалено. Якщо термін має нащадків, вони автоматично стануть кореневими."],"terms.edit.delete.dialogTitle":["Видалити ",["termName"],"?"],"terms.edit.descendantsHint":[" — нащадків не можна вибрати як батьківський елемент."],"terms.edit.error.deleteFallback":["Не вдалося видалити термін. Спробуйте знову."],"terms.edit.error.saveFallback":["Не вдалося зберегти зміни. Спробуйте знову."],"terms.edit.heading":["Edit ",["singularLower"]],"terms.edit.loadingAria":["Завантаження терміна"],"terms.edit.notFound.message":["Не вдалося завантажити цей термін. Можливо, його видалено."],"terms.edit.notFound.title":["Не знайдено"],"terms.edit.submit":["Зберегти зміни"],"terms.error.parentMismatch":["Вибраний батьківський належить до іншої таксономії."],"terms.error.parentSelfOrCycle":["Термін не може бути власним предком — виберіть інший батьківський."],"terms.error.slugTaken":["Термін із таким slug уже існує в цій таксономії."],"terms.list.column.description":["Опис"],"terms.list.column.name":["Назва"],"terms.list.empty.cta":["New ",["singularLower"]],"terms.list.empty.description":["Створіть, щоб побачити тут."],"terms.list.empty.title":["No ",["singularLower"]," yet"],"terms.list.loadError":["Couldn't load ",["pluralLower"],". Try again."],"terms.list.loadingLabel":["Loading ",["pluralLower"]],"terms.list.newButton":["New ",["singularLower"]],"terms.list.searchPlaceholder":["Search ",["pluralLower"],"…"],"tokenSwatch.none":["Жоден"],"type.generic.addNew":["Додати"],"type.generic.addNewItem":["Додати"],"type.generic.allItems":["Усі"],"type.generic.editItem":["Редагувати"],"type.generic.filterItemsList":["Фільтрувати список"],"type.generic.itemPublished":["Опубліковано"],"type.generic.itemPublishedPrivately":["Опубліковано приватно"],"type.generic.itemRevertedToDraft":["Повернено до чернетки"],"type.generic.itemScheduled":["Заплановано"],"type.generic.itemTrashed":["Переміщено в кошик"],"type.generic.itemUpdated":["Оновлено"],"type.generic.itemsList":["Список"],"type.generic.itemsListNavigation":["Навігація списком"],"type.generic.loadErrorItems":["Не вдалося завантажити. Спробуйте ще раз."],"type.generic.loadingItems":["Завантаження…"],"type.generic.moveToTrash":["Перемістити в кошик?"],"type.generic.newItem":["Новий"],"type.generic.noMatch":["Збігів немає"],"type.generic.notFound":["Поки нічого"],"type.generic.notFoundInTrash":["Кошик порожній"],"type.generic.parentItem":["Батьківський"],"type.generic.parentItemColon":["Батьківський:"],"type.generic.plural":["Елементи"],"type.generic.searchItems":["Пошук…"],"type.generic.singular":["Елемент"],"type.generic.taxonomy.addOrRemoveItems":["Додати або вилучити"],"type.generic.taxonomy.backToItems":["← Назад"],"type.generic.taxonomy.filterByItem":["Фільтр"],"type.generic.taxonomy.newItemName":["Нова назва"],"type.generic.taxonomy.noTerms":["—"],"type.generic.taxonomy.plural":["Терміни"],"type.generic.taxonomy.separateItemsWithCommas":["Розділяйте комами"],"type.generic.taxonomy.singular":["Термін"],"type.generic.taxonomy.updateItem":["Оновити"],"type.generic.untitledItem":["Без назви"],"type.generic.viewItem":["Переглянути"],"type.generic.viewItems":["Переглянути"],"userEdit.backToList":["До користувачів"],"userEdit.cancel":["Скасувати"],"userEdit.delete.button":["Видалити користувача"],"userEdit.delete.confirm.description":["Якщо цей користувач створив якісь записи, наступний крок дозволить переназначити їх. Залиште «Зберегти як є», якщо таких немає."],"userEdit.delete.confirm.idle":["Видалити назавжди"],"userEdit.delete.confirm.pending":["Видалення…"],"userEdit.delete.confirm.title":["Підтвердити видалення: ",["email"]],"userEdit.delete.description":["Незворотно. Записи залишаються, але вам потрібно вибрати, кому передати авторство."],"userEdit.delete.reassign.keepAsIs":["Зберегти записи як є (не переназначати)"],"userEdit.delete.reassign.label":["Переназначити записи на"],"userEdit.delete.title":["Видалити користувача"],"userEdit.description.other":["Оновіть деталі цього облікового запису. Зміна ролі негайно скасовує наявні сеанси."],"userEdit.description.self":["Оновіть ваше відображуване ім'я. Роль і стан облікового запису керуються адміністраторами."],"userEdit.email.cancelPending.idle":["Скасувати"],"userEdit.email.cancelPending.pending":["Скасування…"],"userEdit.email.changeButton":["Змінити email"],"userEdit.email.confirmationSent":["Підтвердження надіслано на ",["email"],". Зміна набуде чинності після натискання посилання."],"userEdit.email.dialog.cancel":["Скасувати"],"userEdit.email.dialog.currentLabel":["Поточний email"],"userEdit.email.dialog.description":["Ми надішлемо посилання підтвердження на нову адресу. Зміна набуде чинності після натискання посилання. Сеанси цього облікового запису на цьому етапі завершуються — повторний вхід використовує новий email."],"userEdit.email.dialog.newLabel":["Новий email"],"userEdit.email.dialog.submit.idle":["Надіслати підтвердження"],"userEdit.email.dialog.submit.pending":["Надсилання…"],"userEdit.email.dialog.title":["Змінити email"],"userEdit.email.error.accountDisabled":["Цей обліковий запис вимкнено."],"userEdit.email.error.mailerNotConfigured":["Зміна email потребує налаштованого magic-link mailer на сервері. Передайте \`auth.magicLink\` та \`mailer:\` в \`plumix({...})\`, щоб увімкнути."],"userEdit.email.error.requestFallback":["Не вдалося надіслати запит на зміну. Спробуйте знову."],"userEdit.email.error.taken":["Цей email уже використовується в іншому обліковому записі."],"userEdit.email.invalid":["Введіть дійсну email-адресу."],"userEdit.email.label":["Email"],"userEdit.email.pending":["Очікує зміни на <code>",["newEmail"],"</code> — спливає ",["expiresAt"]],"userEdit.email.placeholder":["new@example.com"],"userEdit.error.deleteFallback":["Не вдалося видалити користувача. Спробуйте знову."],"userEdit.error.emailTaken":["Користувач із такою електронною адресою вже існує."],"userEdit.error.hasEntries":["Цей користувач створив записи. Виберіть когось вище, кому переназначити."],"userEdit.error.lastAdmin.delete":["Не можна видалити останнього адміністратора. Спочатку підвищте когось іншого."],"userEdit.error.lastAdmin.status":["Не можна вимкнути останнього адміністратора. Спочатку підвищте когось іншого."],"userEdit.error.lastAdmin.update":["Не можна цього зробити — це останній адміністратор. Спочатку підвищте когось іншого."],"userEdit.error.reassignToSelf":["Не можна переназначити користувачу, якого видаляють."],"userEdit.error.slugTaken":["That author slug is already taken. Choose a different one."],"userEdit.error.statusFallback":["Не вдалося змінити стан облікового запису. Спробуйте знову."],"userEdit.error.updateFallback":["Не вдалося зберегти зміни. Спробуйте знову."],"userEdit.loadFailed":["Не вдалося завантажити цього користувача. Можливо, його видалено."],"userEdit.loading.aria":["Завантаження користувача"],"userEdit.name.label":["Ім'я"],"userEdit.notFound.title":["Не знайдено"],"userEdit.role.label":["Роль"],"userEdit.role.selfReadonly":["Лише інший адміністратор може змінити вашу роль."],"userEdit.slug.description":["Used in this author's archive URL under /authors/. Changing it breaks existing links to the old address."],"userEdit.slug.format":["Slug must be lowercase letters, numbers, and dashes."],"userEdit.slug.label":["Author slug"],"userEdit.status.description.active":["Вимкнення негайно завершує сеанс користувача та блокує наступні входи. Їхні записи залишаються опублікованими."],"userEdit.status.description.disabled":["Вимкнені облікові записи не можуть увійти. Повторне вмикання відновлює доступ; їхній passkey залишається зареєстрованим."],"userEdit.status.title":["Стан облікового запису"],"userEdit.status.toggle.disable":["Вимкнути користувача"],"userEdit.status.toggle.disabling":["Вимкнення…"],"userEdit.status.toggle.enable":["Повторно ввімкнути користувача"],"userEdit.status.toggle.enabling":["Увімкнення…"],"userEdit.submit.idle":["Зберегти зміни"],"userEdit.submit.pending":["Збереження…"],"userEdit.title.other":["Редагувати ",["email"]],"userEdit.title.self":["Ваш профіль"],"userInvite.backToList":["До користувачів"],"userInvite.cancel":["Скасувати"],"userInvite.copy.aria":["Копіювати посилання запрошення"],"userInvite.copy.copied":["Скопійовано"],"userInvite.copy.idle":["Копіювати"],"userInvite.description":["Вони зареєструють passkey під час першого відкриття посилання запрошення. Пароль не потрібен."],"userInvite.email.invalid":["Введіть дійсну email-адресу"],"userInvite.email.label":["Email"],"userInvite.error.emailTaken":["Користувач із такою електронною адресою вже існує."],"userInvite.error.fallback":["Не вдалося надіслати запрошення. Спробуйте знову."],"userInvite.name.label":["Ім'я"],"userInvite.role.label":["Роль"],"userInvite.submit.idle":["Надіслати запрошення"],"userInvite.submit.pending":["Запрошення…"],"userInvite.success.another":["Запросити ще"],"userInvite.success.backToList":["До користувачів"],"userInvite.success.description":["Поділіться посиланням нижче з ",["email"],". Вони зареєструють passkey під час першого відкриття. Посилання діє 7 днів."],"userInvite.success.link.label":["Посилання запрошення"],"userInvite.success.title":["Запрошення готове"],"userInvite.title":["Запросити користувача"],"userRole.admin":["Адміністратор"],"userRole.author":["Автор"],"userRole.contributor":["Дописувач"],"userRole.editor":["Редактор"],"userRole.long.admin":["Адміністратор — повний контроль"],"userRole.long.author":["Автор — публікація власних записів"],"userRole.long.contributor":["Дописувач — чернетки без публікації"],"userRole.long.editor":["Редактор — публікація та редагування будь-яких записів"],"userRole.long.subscriber":["Передплатник — лише читання"],"userRole.subscriber":["Передплатник"],"users.list.column.created":["Створено"],"users.list.column.lastSignIn":["Останній вхід"],"users.list.column.role":["Роль"],"users.list.column.status":["Статус"],"users.list.column.user":["Користувач"],"users.list.empty.description":["Очистіть фільтр або запросіть когось нового."],"users.list.empty.invite":["Запросити користувача"],"users.list.empty.title":["За фільтром не знайдено користувачів"],"users.list.invite":["Додати"],"users.list.loadFailed":["Не вдалося завантажити користувачів. Спробуйте знову."],"users.list.loading":["Завантаження користувачів"],"users.list.roleFilter.all":["Усі ролі"],"users.list.roleFilter.aria":["Фільтр за роллю"],"users.list.row.active":["Активний"],"users.list.row.disabled":["Вимкнено"],"users.list.row.lastSignIn.never":["Ніколи"],"users.list.row.noName":["(без імені)"],"users.list.row.you":["Ви"],"users.list.searchPlaceholder":["Пошук за email…"],"users.list.title":["Користувачі"],"validate.email.invalid":["Введіть дійсну email-адресу."],"validate.email.maxLength":["Email задовгий."],"validate.email.required":["Введіть адресу email."],"validate.id.format":["id має бути додатним цілим числом"],"validate.name.maxLength":["Ім'я задовге."]}`);export{e as messages};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./rich-text-field-DGgpOqHQ.js","./jsx-runtime-DUAcabCT.js","./react-DbyrFoBd.js","./react-dom-i-Mcm3wj.js","./dist-BL2bKHuR.js","./with-selector-Bf4HMdmS.js","./select-D3kIVy0H.js","./dist-Dgy1ZZMQ.js","./dist-C4yHjFuP.js","./dist-BbwCNMFC.js","./dist-vYFq1OyT.js","./es2015-Di0DqwZ-.js","./dist-BP9v0gZx.js","./utils-DKOQrNEG.js","./createLucideIcon-C0O-yxZG.js","./button-DG1Ca1S5.js","./dist-B66OmIyr.js","./underline-CbWPdoFR.js","./trash-2-Bn-rv3EX.js","./headings-B7oI9nfr.js","./w3c-keyname-BOAvb0qz.js","./input-xYuLUQID.js","./popover-BoiNmQB7.js","./dist-CFgtqwWs.js","./toggle-M64NT8hi.js","./dist-Cz1zPiFe.js","./json-code-editor-9PGQwSkN.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{i as r,n as i}from"./dist-BL2bKHuR.js";import{t as a}from"./orpc-CmtRGLtZ.js";import{t as o}from"./useQuery-QAYxQfCx.js";import{T as s}from"./lazyRouteComponent-CQbKoKTD.js";import{a as c,i as l,n as u,r as d,t as f}from"./select-D3kIVy0H.js";import{t as p}from"./utils-DKOQrNEG.js";import{t as m}from"./button-DG1Ca1S5.js";import{t as h}from"./createLucideIcon-C0O-yxZG.js";import{b as g,c as _,d as v,f as y,g as b,h as x,l as S,m as C,p as w,v as T,y as E}from"./breadcrumb-Di_E7s51.js";import{n as D,r as O,t as k}from"./textarea-iIsBg5jH.js";import{K as ee,M as A,j,m as te,n as M,p as N,t as ne,w as re}from"./utils-RSNxndzY.js";import{t as ie}from"./triangle-alert-BpzHmkii.js";import{t as P}from"./use-label-CykSHq9A.js";import{f as ae,n as oe,x as se}from"./manifest-2YUNz_ML.js";import{i as ce,t as le}from"./type-labels-DEpt0nSb.js";import{t as F}from"./skeleton-BnBM1862.js";import{n as ue}from"./plugin-registry-DLDusPOA.js";import{t as I}from"./input-xYuLUQID.js";import{a as L,h as de,i as fe,m as pe,n as R,o as z,p as me,r as B,s as V}from"./form-CY307HEl.js";var he=h(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);function ge(e,t){let n=e.visibleWhen;return n===void 0||n.length===0||n.some(e=>e.every(e=>_e(e,t[e.key])))}function _e(e,t){switch(e.op){case`eq`:return H(t,e.value);case`neq`:return!H(t,e.value);case`empty`:return be(t);case`not_empty`:return!be(t);case`gt`:return U(t,e.value,(e,t)=>e>t);case`lt`:return U(t,e.value,(e,t)=>e<t);case`contains`:return ve(t,e.value);case`not_contains`:return!ve(t,e.value);case`count_gt`:return U(ye(t),e.value,(e,t)=>e>t);case`count_lt`:return U(ye(t),e.value,(e,t)=>e<t)}}function ve(e,t){return Array.isArray(e)&&e.some(e=>H(e,t))}function ye(e){return Array.isArray(e)?e.length:0}function H(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((e,n)=>H(e,t[n]));if(typeof e==`object`&&typeof t==`object`&&e!==null&&t!==null&&!Array.isArray(e)&&!Array.isArray(t)){let n=Object.entries(e);return n.length===Object.keys(t).length&&n.every(([e,n])=>e in t&&H(n,t[e]))}return!1}function be(e){return e==null||e===``||Array.isArray(e)&&e.length===0}function U(e,t,n){let r=xe(e);return r!==void 0&&typeof t==`number`&&n(r,t)}function xe(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}}var Se={1:`col-span-1`,2:`col-span-2`,3:`col-span-3`,4:`col-span-4`,5:`col-span-5`,6:`col-span-6`,7:`col-span-7`,8:`col-span-8`,9:`col-span-9`,10:`col-span-10`,11:`col-span-11`,12:`col-span-12`},Ce={1:`@sm:col-span-1`,2:`@sm:col-span-2`,3:`@sm:col-span-3`,4:`@sm:col-span-4`,5:`@sm:col-span-5`,6:`@sm:col-span-6`,7:`@sm:col-span-7`,8:`@sm:col-span-8`,9:`@sm:col-span-9`,10:`@sm:col-span-10`,11:`@sm:col-span-11`,12:`@sm:col-span-12`},we={1:`@md:col-span-1`,2:`@md:col-span-2`,3:`@md:col-span-3`,4:`@md:col-span-4`,5:`@md:col-span-5`,6:`@md:col-span-6`,7:`@md:col-span-7`,8:`@md:col-span-8`,9:`@md:col-span-9`,10:`@md:col-span-10`,11:`@md:col-span-11`,12:`@md:col-span-12`},Te={1:`@lg:col-span-1`,2:`@lg:col-span-2`,3:`@lg:col-span-3`,4:`@lg:col-span-4`,5:`@lg:col-span-5`,6:`@lg:col-span-6`,7:`@lg:col-span-7`,8:`@lg:col-span-8`,9:`@lg:col-span-9`,10:`@lg:col-span-10`,11:`@lg:col-span-11`,12:`@lg:col-span-12`},Ee=12;function W(e){if(!Number.isFinite(e))return Ee;let t=Math.round(e);return t<1?1:t>12?12:t}function De(e){return typeof e==`number`?Se[W(e)]:p(Se[W(e?.base??Ee)],e?.sm!==void 0&&Ce[W(e.sm)],e?.md!==void 0&&we[W(e.md)],e?.lg!==void 0&&Te[W(e.lg)])}var Oe={sm:`sm:max-w-lg`,md:`sm:max-w-2xl`,lg:`sm:max-w-4xl`};function ke(e){return Oe[e??`md`]}var G=e(t(),1);function Ae({field:e,name:t,disabled:n,testId:r}){return(0,G.jsx)(`div`,{"data-testid":r,className:`border-input @container rounded-md border p-2`,children:(0,G.jsx)(`div`,{className:`grid grid-cols-12 gap-4`,children:(e.subFields??[]).map(e=>(0,G.jsx)($e,{field:e,name:`${t}.${e.key}`,disabled:n,className:De(e.span)},e.key))})})}function je(e){if(e.trim()===``)return{kind:`empty`};try{return{kind:`value`,value:JSON.parse(e)}}catch(e){return{kind:`error`,message:e instanceof Error?e.message:``}}}function Me(){let e=P();return(t,n)=>{if(t!==null)return t;if(n!==void 0){let t=oe(n);if(t)return e(le(t,`untitledItem`))}return e(ce.untitledItem)}}var K=e(n(),1),q={selectIdle:{id:`metaBox.reference.selectIdle`},selectChange:{id:`metaBox.reference.selectChange`},clear:{id:`metaBox.reference.clear`},emptyValue:{id:`metaBox.reference.emptyValue`},orphan:{id:`metaBox.reference.orphan`},loading:{id:`metaBox.reference.loading`},noMatches:{id:`metaBox.reference.noMatches`},dialogDescription:{id:`metaBox.reference.dialogDescription`},searchPlaceholder:{id:`metaBox.reference.searchPlaceholder`}};function Ne({value:e,onChange:t,kind:n,scope:i,disabled:s=!1,required:c=!1,label:l,testId:u,initialSelected:d=null}){let{i18n:f}=r(),p=P(),h=Me(),[g,y]=(0,K.useState)(!1),[b,x]=(0,K.useState)(``),S=e!==null&&d!==null&&d.id===e,C=o({...a.lookup.resolve.queryOptions({input:{kind:n,id:e??``,scope:i}}),enabled:e!==null&&!S}),T=o({...a.lookup.list.queryOptions({input:{kind:n,query:b.trim()||void 0,scope:i,limit:20}}),enabled:g}),E=e===null?null:S?d:C.data?.result??null,D=T.data?.items??[],O=f._(q.dialogDescription.id,{kind:n},{message:q.dialogDescription.message}),k=f._(q.searchPlaceholder.id,{kind:n},{message:q.searchPlaceholder.message});return(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":u,children:[(0,G.jsx)(`div`,{className:`min-w-0 flex-1`,children:Pe({testId:u,value:e,selected:E,isResolving:C.isLoading,untitledLabel:h})}),(0,G.jsx)(m,{type:`button`,variant:`outline`,size:`sm`,disabled:s,onClick:()=>{x(``),y(!0)},"data-testid":`${u}-open`,children:p(e===null?q.selectIdle:q.selectChange)}),e!==null&&!c?(0,G.jsx)(m,{type:`button`,variant:`ghost`,size:`sm`,disabled:s,onClick:()=>{t(null)},"data-testid":`${u}-clear`,children:p(q.clear)}):null,(0,G.jsxs)(_,{open:g,onOpenChange:y,title:l,description:O,children:[(0,G.jsx)(v,{placeholder:k,value:b,onValueChange:x,"data-testid":`${u}-search`}),(0,G.jsx)(w,{children:Fe({isLoading:T.isLoading,items:D,testId:u,onSelect:e=>{t(e.id),y(!1)},untitledLabel:h})})]})]})}function Pe({testId:e,value:t,selected:n,isResolving:r,untitledLabel:a}){return t===null?(0,G.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${e}-empty`,children:(0,G.jsx)(i,{id:`metaBox.reference.emptyValue`,message:`None selected`})}):n?(0,G.jsxs)(`div`,{className:`text-sm`,"data-testid":`${e}-selected`,children:[(0,G.jsx)(`p`,{className:`truncate font-medium`,children:a(n.label,n.targetType)}),n.subtitle?(0,G.jsx)(`p`,{className:`text-muted-foreground truncate text-xs`,children:n.subtitle}):null]}):r?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5`,"data-testid":`${e}-resolving`,"aria-busy":`true`,children:[(0,G.jsx)(F,{className:`h-4 w-32`}),(0,G.jsx)(F,{className:`h-3 w-20`})]}):(0,G.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${e}-orphan`,children:(0,G.jsx)(i,{id:`metaBox.reference.orphan`,message:`Reference missing — re-pick or clear`})})}function Fe({isLoading:e,items:t,testId:n,onSelect:r,untitledLabel:a}){return e?(0,G.jsx)(S,{children:(0,G.jsx)(i,{id:`metaBox.reference.loading`,message:`Loading…`})}):t.length===0?(0,G.jsx)(S,{children:(0,G.jsx)(i,{id:`metaBox.reference.noMatches`,message:`No matches`})}):t.map(e=>(0,G.jsx)(y,{value:`${e.label??``} ${e.subtitle??``}`,onSelect:()=>{r(e)},"data-testid":`${n}-option-${e.id}`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,G.jsx)(`span`,{className:`text-sm font-medium`,children:a(e.label,e.targetType)}),e.subtitle?(0,G.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.subtitle}):null]})},e.id))}var J={url:{id:`metaBox.link.url`},linkText:{id:`metaBox.link.text`},pick:{id:`metaBox.link.pick`},dialogDescription:{id:`metaBox.link.dialogDescription`},searchPlaceholder:{id:`metaBox.link.searchPlaceholder`}};function Ie(e){if(typeof e!=`object`||!e||Array.isArray(e))return{url:``,label:``,newTab:!1};let{url:t,label:n,newTab:r}=e;return{url:typeof t==`string`?t:``,label:typeof n==`string`?n:``,newTab:r===!0}}function Le(e,t){return e.url===t.url&&e.label===t.label&&e.newTab===t.newTab}function Re({field:e,rhf:t,disabled:n,testId:r}){let s=P(),c=Me(),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(``),p=Ie(t.value),[h,g]=(0,K.useState)(p),[y,b]=(0,K.useState)(p);Le(p,y)||(b(p),g(p));let x=e=>{g(e);let n=e.url===``?null:{url:e.url,...e.label===``?{}:{label:e.label},...e.newTab?{newTab:!0}:{}};b(Ie(n)),t.onChange(n)},S=ae(),C={entryTypes:S,status:`published`},T=o({...a.lookup.list.queryOptions({input:{kind:`entry`,query:d.trim()||void 0,scope:C,limit:20}}),enabled:l}),E=(T.data?.items??[]).filter(e=>e.href!==void 0);return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":r,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(I,{name:t.name,type:`text`,inputMode:`url`,value:h.url,placeholder:e.placeholder?s(e.placeholder):void 0,required:e.required,disabled:n,onBlur:t.onBlur,onChange:e=>{x({...h,url:e.target.value})},"aria-label":s(J.url),"data-testid":`${r}-url`}),S.length>0?(0,G.jsx)(m,{type:`button`,variant:`outline`,size:`sm`,disabled:n,onClick:()=>{f(``),u(!0)},"data-testid":`${r}-pick`,children:s(J.pick)}):null]}),(0,G.jsx)(I,{type:`text`,value:h.label,disabled:n,onChange:e=>{x({...h,label:e.target.value})},"aria-label":s(J.linkText),placeholder:s(J.linkText),"data-testid":`${r}-label`}),(0,G.jsxs)(`label`,{className:`flex w-fit items-center gap-2 text-sm`,children:[(0,G.jsx)(N,{checked:h.newTab,disabled:n,onCheckedChange:e=>{x({...h,newTab:e})},"data-testid":`${r}-newtab`}),(0,G.jsx)(i,{id:`metaBox.link.newTab`,message:`Open in new tab`})]}),(0,G.jsxs)(_,{open:l,onOpenChange:u,title:s(e.label),description:s(J.dialogDescription),children:[(0,G.jsx)(v,{placeholder:s(J.searchPlaceholder),value:d,onValueChange:f,"data-testid":`${r}-search`}),(0,G.jsx)(w,{children:Fe({isLoading:T.isLoading,items:E,testId:r,untitledLabel:c,onSelect:e=>{e.href!==void 0&&x({...h,url:e.href}),u(!1)}})})]})]})}var Y={resolveError:{id:`metaBox.multiReference.resolveError`},emptyValue:{id:`metaBox.multiReference.emptyValue`},orphan:{id:`metaBox.multiReference.orphan`},selectIdle:{id:`metaBox.multiReference.selectIdle`},addMore:{id:`metaBox.multiReference.addMore`},loading:{id:`metaBox.multiReference.loading`},noMatches:{id:`metaBox.multiReference.noMatches`},dialogDescription:{id:`metaBox.multiReference.dialogDescription`},searchPlaceholder:{id:`metaBox.multiReference.searchPlaceholder`}};function ze({value:e,onChange:t,kind:n,scope:s,max:c,disabled:l=!1,required:u=!1,label:d,testId:f,initialSelected:p=[]}){let{i18n:h}=r(),g=P(),b=Me(),[x,C]=(0,K.useState)(!1),[T,E]=(0,K.useState)(``),D=(0,K.useMemo)(()=>{let e=new Map;for(let t of p)e.set(t.id,t);return e},[p]),O=e.length>0&&e.every(e=>D.has(e)),k=o({...a.lookup.list.queryOptions({input:{kind:n,scope:s,ids:[...e]}}),enabled:e.length>0&&!O}),ee=(0,K.useMemo)(()=>{let e=new Map;for(let t of D.values())e.set(t.id,t);for(let t of k.data?.items??[])e.set(t.id,t);return e},[D,k.data]),A=o({...a.lookup.list.queryOptions({input:{kind:n,query:T.trim()||void 0,scope:s,limit:20}}),enabled:x}),j=A.data?.items??[],M=new Set(e),N=c!==void 0&&e.length>=c,ne=n=>{M.has(n)||N||t([...e,n])},re=n=>{t(e.filter(e=>e!==n))},ie=e=>{t(e.map(e=>e.id))},ae=e.length>0&&k.data===void 0&&!k.isError,oe=e.map(e=>{let t=ee.get(e)??null;return{id:e,result:t,pending:t===null&&ae}}),se=h._(Y.dialogDescription.id,{kind:n},{message:Y.dialogDescription.message}),ce=h._(Y.searchPlaceholder.id,{kind:n},{message:Y.searchPlaceholder.message});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":f,children:[k.isError?(0,G.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${f}-resolve-error`,children:(0,G.jsx)(i,{id:`metaBox.multiReference.resolveError`,message:`Couldn’t load selected items — refresh to retry.`})}):null,e.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${f}-empty`,children:(0,G.jsx)(i,{id:`metaBox.multiReference.emptyValue`,message:`None selected`})}):(0,G.jsx)(te,{items:oe,onReorder:ie,onRemove:u&&e.length===1?void 0:re,renderItem:e=>e.result?(0,G.jsxs)(`div`,{className:`text-sm`,children:[(0,G.jsx)(`p`,{className:`truncate font-medium`,children:b(e.result.label,e.result.targetType)}),e.result.subtitle?(0,G.jsx)(`p`,{className:`text-muted-foreground truncate text-xs`,children:e.result.subtitle}):null]}):e.pending?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5`,"data-testid":`${f}-resolving-${e.id}`,"aria-busy":`true`,children:[(0,G.jsx)(F,{className:`h-4 w-32`}),(0,G.jsx)(F,{className:`h-3 w-20`})]}):(0,G.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${f}-orphan-${e.id}`,children:(0,G.jsx)(i,{id:`metaBox.multiReference.orphan`,message:`Reference missing — remove or re-pick`})}),disabled:l,testId:`${f}-list`}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(m,{type:`button`,variant:`outline`,size:`sm`,disabled:l||N,onClick:()=>{E(``),C(!0)},"data-testid":`${f}-add`,children:e.length===0?g(Y.selectIdle):g(Y.addMore)}),c===void 0?null:(0,G.jsxs)(`span`,{className:`text-muted-foreground text-xs`,"data-testid":`${f}-count`,children:[e.length,` / `,c]})]}),(0,G.jsxs)(_,{open:x,onOpenChange:C,title:d,description:se,children:[(0,G.jsx)(v,{placeholder:ce,value:T,onValueChange:E,"data-testid":`${f}-search`}),(0,G.jsx)(w,{children:A.isLoading?(0,G.jsx)(S,{children:(0,G.jsx)(i,{id:`metaBox.multiReference.loading`,message:`Loading…`})}):j.length===0?(0,G.jsx)(S,{children:(0,G.jsx)(i,{id:`metaBox.multiReference.noMatches`,message:`No matches`})}):j.map(e=>{let t=M.has(e.id);return(0,G.jsx)(y,{value:`${e.label??``} ${e.subtitle??``}`,disabled:t||N,onSelect:()=>{ne(e.id)},"data-testid":`${f}-option-${e.id}`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,G.jsxs)(`span`,{className:`text-sm font-medium`,children:[b(e.label,e.targetType),t?` ✓`:``]}),e.subtitle?(0,G.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.subtitle}):null]})},e.id)})})]})]})}var Be=class extends K.Component{constructor(e){super(e),this.state={error:null,resetKey:e.resetKey}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{error:null,resetKey:e.resetKey}}componentDidCatch(e,t){console.error(`[plumix] plugin field renderer for "${this.props.inputType}" (field "${this.props.fieldKey}") crashed:`,e,t)}render(){return this.state.error?(0,G.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${this.props.testId}-plugin-error`,children:(0,G.jsx)(i,{id:`metaBox.pluginField.crashed`,message:`This field couldn’t render. Check the browser console for details.`})}):this.props.children}},Ve={id:`metaBox.repeater.rowError`},He={id:`metaBox.repeater.editRow.button`};function Ue(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}function We({field:e,rhf:t,disabled:n,testId:r}){let a=P(),o=e.subFields??[],s=typeof e.max==`number`?e.max:void 0,c=typeof e.min==`number`?e.min:void 0,l=e.collapsed,u=(0,K.useId)(),[d,f]=(0,K.useState)(null),{control:p,getFieldState:h,clearErrors:_}=me(),v=Ue(de({control:p,name:t.name})??t.value),y=pe({control:p,name:t.name}),S=e=>h(`${t.name}.${e}`,y).invalid,w=s!==void 0&&v.length>=s,D=v.map((e,t)=>({id:`${u}-r${t}`,index:t})),O=e=>{t.onChange(e)},k=e=>{f(null),_(t.name),O(e.map(e=>v[e.index]??{}))},A=e=>{let n=D.findIndex(t=>t.id===e);if(n===-1)return;f(null),_(t.name);let r=[...v];r.splice(n,1),O(r)},j=()=>{if(w)return;let e={};for(let t of o)e[t.key]=t.default??null;O([...v,e]),f(v.length)},M=d===null?void 0:v[d],N=d===null?null:`${t.name}.${d}`;return(0,G.jsxs)(`div`,{"data-testid":r,className:`border-input flex min-w-0 flex-col gap-2 rounded-md border p-2`,children:[v.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${r}-empty`,children:(0,G.jsx)(i,{id:`metaBox.repeater.empty`,message:`No rows`})}):(0,G.jsx)(te,{items:D,onReorder:k,onRemove:n?void 0:A,disabled:n,testId:`${r}-list`,renderItem:e=>(0,G.jsx)(Ge,{summary:qe(v[e.index]??{},o,l,a),rowNumber:e.index+1,disabled:n,hasError:S(e.index),onEdit:()=>{f(e.index)},testId:`${r}-row-${e.index}`})}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsxs)(m,{type:`button`,variant:`outline`,size:`sm`,disabled:n||w,onClick:j,"data-testid":`${r}-add`,children:[(0,G.jsx)(ee,{className:`size-4`}),e.addLabel?a(e.addLabel):v.length===0?(0,G.jsx)(i,{id:`metaBox.repeater.addFirst`,message:`Add row`}):(0,G.jsx)(i,{id:`metaBox.repeater.addAnother`,message:`Add another`})]}),s!==void 0||c!==void 0?(0,G.jsxs)(`span`,{className:`text-muted-foreground text-xs`,"data-testid":`${r}-count`,children:[v.length,(0,G.jsx)(Ke,{min:c,max:s})]}):null]}),(0,G.jsx)(C,{open:M!==void 0,onOpenChange:e=>{e||f(null)},children:(0,G.jsxs)(b,{className:ke(e.dialogSize),"aria-describedby":void 0,"data-testid":`${r}-dialog`,children:[(0,G.jsx)(E,{children:(0,G.jsx)(g,{children:(0,G.jsx)(i,{id:`metaBox.repeater.editRow`,message:`Edit row {n}`,values:{n:(d??0)+1},comment:`n: 1-based index of the repeater row being edited`})})}),N?(0,G.jsx)(`div`,{className:`@container`,children:(0,G.jsx)(`div`,{className:`grid grid-cols-12 items-start gap-4`,children:o.map(e=>(0,G.jsx)($e,{field:e,name:`${N}.${e.key}`,disabled:n,className:De(e.span)},e.key))})}):null,(0,G.jsx)(T,{children:(0,G.jsx)(x,{asChild:!0,children:(0,G.jsx)(m,{type:`button`,size:`sm`,"data-testid":`${r}-dialog-done`,children:(0,G.jsx)(i,{id:`metaBox.repeater.done`,message:`Done`})})})})]})})]})}function Ge({summary:e,rowNumber:t,disabled:n,hasError:a,onEdit:o,testId:s}){let c=P(),{i18n:l}=r(),u=l._(He.id,{n:t},{message:He.message});return(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,"data-testid":s,children:[a?(0,G.jsx)(ie,{className:`text-destructive size-4 shrink-0`,"data-testid":`${s}-error`,"aria-label":c(Ve)}):null,(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,"data-testid":`${s}-summary`,children:e??(0,G.jsx)(i,{id:`metaBox.repeater.rowSummaryEmpty`,message:`Row {n}`,values:{n:t},comment:`n: 1-based index of an unlabelled repeater row`})}),(0,G.jsx)(m,{type:`button`,variant:`ghost`,size:`icon-sm`,disabled:n,onClick:o,"aria-label":u,title:u,"data-testid":`${s}-edit`,children:(0,G.jsx)(he,{className:`size-4`})})]})}function Ke({min:e,max:t}){return e!==void 0&&t!==void 0?(0,G.jsx)(i,{id:`metaBox.repeater.countSuffixBoth`,message:` / min {min} / max {max}`,values:{min:e,max:t},comment:`min, max: integers bounding the repeater row count`}):e===void 0?t===void 0?null:(0,G.jsx)(i,{id:`metaBox.repeater.countSuffixMax`,message:` / max {max}`,values:{max:t},comment:`max: upper bound on the repeater row count`}):(0,G.jsx)(i,{id:`metaBox.repeater.countSuffixMin`,message:` / min {min}`,values:{min:e},comment:`min: lower bound on the repeater row count`})}function qe(e,t,n,r){if(n!==void 0){let i=t.find(e=>e.key===n);return Je(e[n],i,r)}for(let n of t){let t=Je(e[n.key],n,r);if(t!==null)return t}return null}function Je(e,t,n){let r=Ye(e);if(r===null)return null;let i=t?.options?.find(e=>e.value===r);return i?n(i.label):r}function Ye(e){return typeof e==`string`?e===``?null:e:typeof e==`number`||typeof e==`boolean`?String(e):null}var Xe=(0,K.lazy)(()=>s(()=>import(`./rich-text-field-DGgpOqHQ.js`).then(e=>({default:e.RichTextField})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]),import.meta.url)),Ze=(0,K.lazy)(()=>s(()=>import(`./json-code-editor-9PGQwSkN.js`),__vite__mapDeps([26,1,2,20]),import.meta.url)),Qe={invalidJson:{id:`metaBox.field.json.invalid`}};function $e({field:e,name:t,disabled:n=!1,className:r}){let i=P(),a=i(e.label),o=`meta-box-field-${e.key}`,s=`${o}-input`;return(0,G.jsx)(fe,{name:t,render:({field:t})=>{if(e.inputType===`checkbox`)return(0,G.jsxs)(L,{className:r,"data-testid":o,children:[(0,G.jsx)(z,{children:a}),(0,G.jsx)(`div`,{className:`flex min-h-9 items-center gap-2`,children:(0,G.jsx)(R,{children:(0,G.jsx)(A,{name:t.name,checked:t.value===!0,required:e.required,disabled:n,onBlur:t.onBlur,onCheckedChange:e=>{t.onChange(e===!0)},"data-testid":s})})}),e.description?(0,G.jsx)(B,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,G.jsx)(V,{"data-testid":`${o}-error`})]});if(e.inputType===`toggle`){let c=t.value===!0?e.onText:e.offText;return(0,G.jsxs)(L,{className:r,"data-testid":o,children:[(0,G.jsx)(z,{children:a}),(0,G.jsxs)(`div`,{className:`flex min-h-9 items-center gap-2`,children:[(0,G.jsx)(R,{children:(0,G.jsx)(N,{name:t.name,checked:t.value===!0,required:e.required,disabled:n,onBlur:t.onBlur,onCheckedChange:t.onChange,"data-testid":s})}),c?(0,G.jsx)(`span`,{className:`text-muted-foreground text-sm`,"data-testid":`${s}-state`,children:i(c)}):null]}),e.description?(0,G.jsx)(B,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,G.jsx)(V,{"data-testid":`${o}-error`})]})}return e.inputType===`select`&&e.multiple!==!0&&(e.appearance??`select`)===`select`&&ue(e.inputType)===void 0?(0,G.jsxs)(L,{className:r,"data-testid":o,children:[(0,G.jsx)(z,{children:a}),(0,G.jsxs)(f,{name:t.name,value:X($(t.value)),onValueChange:e=>{t.onChange(tt(e))},disabled:n,required:e.required,children:[(0,G.jsx)(R,{children:(0,G.jsx)(l,{className:`w-full`,onBlur:t.onBlur,"data-testid":s,children:(0,G.jsx)(c,{})})}),(0,G.jsx)(u,{children:(e.options??[]).map(e=>(0,G.jsx)(d,{value:X(e.value),"data-testid":`${s}-option-${e.value}`,children:i(e.label)},e.value))})]}),e.description?(0,G.jsx)(B,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,G.jsx)(V,{"data-testid":`${o}-error`})]}):(0,G.jsxs)(L,{className:r,"data-testid":o,children:[(0,G.jsx)(z,{children:a}),(0,G.jsx)(R,{children:xt({field:e,rhf:t,disabled:n,testId:s,renderLabel:i})}),e.description?(0,G.jsx)(B,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,G.jsx)(V,{"data-testid":`${o}-error`})]})}})}var et=`__plumix_empty__`;function X(e){return e===``?et:e}function tt(e){return e===et?``:e}function Z({rhf:e,field:t,disabled:n,testId:r}){return{name:e.name,ref:e.ref,required:t.required,disabled:n,onBlur:e.onBlur,"data-testid":r}}function Q({field:e,renderLabel:t}){return e.placeholder?t(e.placeholder):void 0}function nt(e){let{field:t,rhf:n}=e,r=Q(e);return(0,G.jsx)(k,{...Z(e),value:$(n.value),maxLength:t.maxLength,placeholder:r,rows:3,onChange:e=>{n.onChange(e.target.value)},className:`min-h-20`})}function rt(e){let{field:t,rhf:n}=e,r=Q(e);return(0,G.jsx)(I,{...Z(e),type:`number`,value:Tt(n.value),placeholder:r,min:t.min,max:t.max,step:t.step??1,onChange:e=>{let t=e.target.value;if(t===``){n.onChange(null);return}let r=Number(t);Number.isFinite(r)&&n.onChange(r)}})}function it({field:e,rhf:t,disabled:n,testId:r}){return(0,G.jsx)(j,{value:$(t.value),onChange:e=>{t.onChange(e)},disabled:n,required:e.required,name:t.name,testId:r})}function at({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label),o=typeof t.value==`number`?t.value:Number(t.value),s=Et(e.min,0),c=Et(e.max,100),l=Number.isFinite(o)?o:s;return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,"data-testid":r,children:[(0,G.jsx)(re,{name:t.name,min:s,max:c,step:e.step??1,value:[l],disabled:n,onValueChange:e=>{let n=e[0];typeof n==`number`&&Number.isFinite(n)&&t.onChange(n)},onBlur:t.onBlur,"aria-label":a,"aria-required":e.required,"data-testid":`${r}-slider`,className:`flex-1`}),(0,G.jsx)(`span`,{className:`text-muted-foreground min-w-[3ch] text-end text-sm tabular-nums`,"data-testid":`${r}-display`,children:Number.isFinite(o)?o:`–`})]})}function ot({field:e,rhf:t,disabled:n,testId:r}){return(0,G.jsx)(We,{field:e,rhf:t,disabled:n,testId:r})}function st({field:e,rhf:t,disabled:n,testId:r}){return(0,G.jsx)(Ae,{field:e,name:t.name,disabled:n,testId:r})}function ct({field:e,rhf:t,disabled:n,testId:r}){return(0,G.jsx)(Re,{field:e,rhf:t,disabled:n,testId:r})}function lt(e){let{field:t}=e;return t.multiple===!0?t.appearance===`checkboxes`?dt(e):ft(e):t.appearance===`radio`?_t(e):ut(e)}function ut({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label);return(0,G.jsx)(ne,{type:`single`,variant:`outline`,spacing:1,value:X($(t.value)),disabled:n,onValueChange:e=>{e!==``&&t.onChange(tt(e))},onBlur:t.onBlur,"aria-label":a,"data-testid":r,children:(e.options??[]).map(e=>(0,G.jsx)(M,{value:X(e.value),"data-testid":`${r}-${e.value}`,children:i(e.label)},e.value))})}function dt({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label),o=new Set(Array.isArray(t.value)?t.value.filter(e=>typeof e==`string`):[]),s=e.options??[];return(0,G.jsx)(`div`,{role:`group`,"aria-label":a,className:`flex flex-col gap-1`,"data-testid":r,children:s.map(e=>(0,G.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,G.jsx)(A,{checked:o.has(e.value),disabled:n,onBlur:t.onBlur,onCheckedChange:n=>{let r=new Set(o);n===!0?r.add(e.value):r.delete(e.value),t.onChange(s.filter(e=>r.has(e.value)).map(e=>e.value))},id:`${r}-${e.value}`,"data-testid":`${r}-${e.value}`}),(0,G.jsx)(`label`,{htmlFor:`${r}-${e.value}`,children:i(e.label)})]},e.value))})}function ft({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label),o=e.options??[];return(0,G.jsx)(ne,{type:`multiple`,variant:`outline`,spacing:1,value:Array.isArray(t.value)?t.value.filter(e=>typeof e==`string`):[],disabled:n,onValueChange:e=>{let n=new Set(e);t.onChange(o.filter(e=>n.has(e.value)).map(e=>e.value))},onBlur:t.onBlur,"aria-label":a,"data-testid":r,children:o.map(e=>(0,G.jsx)(M,{value:e.value,"data-testid":`${r}-${e.value}`,children:i(e.label)},e.value))})}function pt({rhf:e,disabled:t,testId:n}){return(0,G.jsx)(Dt,{value:e.value,onChange:e.onChange,onBlur:e.onBlur,name:e.name,disabled:t,testId:n})}function mt({field:e,rhf:t,disabled:n,renderLabel:r}){let i=e,a=`meta-box-field-${e.key}`,o=t.value&&typeof t.value==`object`?t.value:null;return(0,G.jsx)(K.Suspense,{fallback:(0,G.jsx)(ht,{testId:a}),children:(0,G.jsx)(Xe,{serialization:`json`,value:o,onChange:t.onChange,disabled:n,ariaLabel:r(e.label),allow:{marks:i.marks,nodes:i.nodes},testId:a})})}function ht({testId:e}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5`,"data-testid":`${e}-loading`,"aria-busy":`true`,children:[(0,G.jsx)(`div`,{className:`bg-muted h-8 w-full animate-pulse rounded-md`}),(0,G.jsx)(`div`,{className:`bg-muted h-32 w-full animate-pulse rounded-md`})]})}function gt(e){let{field:t,rhf:n}=e,r=t.inputType===`datetime`?`datetime-local`:t.inputType;return(0,G.jsx)(I,{...Z(e),type:r,value:n.value instanceof Date?wt(t.inputType,n.value):$(n.value),min:t.min,max:t.max,onChange:e=>{let t=e.target.value;n.onChange(t===``?null:t)}})}function _t({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label);return(0,G.jsx)(D,{name:t.name,value:X($(t.value)),onValueChange:e=>{t.onChange(tt(e))},onBlur:t.onBlur,disabled:n,required:e.required,"aria-label":a,className:`gap-1`,"data-testid":r,children:(e.options??[]).map(e=>(0,G.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,G.jsx)(O,{value:X(e.value),id:`${r}-${e.value}`,"data-testid":`${r}-${e.value}`}),(0,G.jsx)(`label`,{htmlFor:`${r}-${e.value}`,children:i(e.label)})]},e.value))})}function vt(e){let{field:t,rhf:n}=e,r=Q(e);t.inputType!==`text`&&t.inputType!==`email`&&t.inputType!==`url`&&t.inputType!==`password`&&console.warn(`[plumix] unknown meta-box field inputType "${t.inputType}" — falling back to text input. Register a custom renderer or use a built-in type (text/textarea/number/email/url/password/date/datetime/time/color/range/json/richtext/repeater/user/userList/entry/entryList/term/termList/select/toggle/link).`);let i=t.inputType===`email`||t.inputType===`url`||t.inputType===`password`?t.inputType:`text`;return(0,G.jsx)(I,{...Z(e),type:i,value:$(n.value),placeholder:r,maxLength:t.maxLength,onChange:e=>{n.onChange(e.target.value)}})}var yt={textarea:nt,number:rt,color:it,range:at,repeater:ot,group:st},bt={select:lt,multiselect:ft,json:pt,richtext:mt,date:gt,datetime:gt,time:gt,radio:_t,link:ct};function xt(e){let{field:t,rhf:n,disabled:r,testId:i,renderLabel:a}=e,o=a(t.label),s=ue(t.inputType);if(s)return(0,G.jsx)(Be,{fieldKey:t.key,inputType:t.inputType,testId:i,resetKey:At(n.value),children:(0,G.jsx)(s,{field:t,rhf:n,disabled:r,testId:i})});let c=yt[t.inputType];if(c)return c(e);if(t.referenceTarget?.multiple===!0){let e=Array.isArray(n.value)?n.value:[],a=e.map(St).filter(e=>e!==null),s=e.map(Ct).filter(e=>e!==null);return(0,G.jsx)(ze,{value:a,onChange:e=>{n.onChange(e)},kind:t.referenceTarget.kind,scope:t.referenceTarget.scope,max:typeof t.max==`number`?t.max:void 0,disabled:r,required:t.required,label:o,testId:i,initialSelected:s})}if(t.referenceTarget&&(t.inputType===`user`||t.inputType===`entry`||t.inputType===`term`))return(0,G.jsx)(Ne,{value:St(n.value),onChange:e=>{n.onChange(e)},kind:t.referenceTarget.kind,scope:t.referenceTarget.scope,disabled:r,required:t.required,label:o,testId:i,initialSelected:Ct(n.value)});let l=bt[t.inputType];return l?l(e):vt(e)}function St(e){if(typeof e==`string`&&e!==``)return e;if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e.id;if(typeof t==`string`&&t!==``)return t}return null}function Ct(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;if(typeof t.id!=`string`||t.id===``)return null;let n=typeof t.title==`string`?t.title:typeof t.name==`string`?t.name:null;return n===null?null:{id:t.id,label:n}}function $(e){return e==null?``:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):``}function wt(e,t){return Number.isNaN(t.getTime())?``:se(e,t)}function Tt(e){return typeof e==`number`&&!Number.isNaN(e)?e:``}function Et(e,t){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(Number.isFinite(t))return t}return t}function Dt({value:e,onChange:t,onBlur:n,name:r,disabled:i,testId:a}){let o=P(),s=kt(e),[c,l]=(0,K.useState)(s),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(s);return s!==f&&(p(s),l(s),d(null)),(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,"data-testid":`${a}-shell`,onBlur:n,children:[(0,G.jsx)(K.Suspense,{fallback:(0,G.jsx)(Ot,{testId:a}),children:(0,G.jsx)(Ze,{value:c,onChange:e=>{l(e);let n=je(e);n.kind===`empty`?(d(null),t(null)):n.kind===`value`?(d(null),t(n.value)):d(n.message||o(Qe.invalidJson))},disabled:i,ariaInvalid:u?!0:void 0,ariaLabel:r,testId:a})}),u?(0,G.jsx)(`p`,{className:`text-destructive text-xs`,"data-testid":`${a}-error`,children:u}):null]})}function Ot({testId:e}){return(0,G.jsx)(`div`,{className:`bg-muted h-32 w-full animate-pulse rounded-md`,"data-testid":`${e}-loading`,"aria-busy":`true`})}function kt(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return``}}function At(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return`__unserializable__`}}function jt(e,{name:t,control:n}={}){let r=de({name:t,control:n}),i=typeof r==`object`&&r&&!Array.isArray(r)?r:{};return e.filter(e=>ge(e,i))}export{he as i,$e as n,De as r,jt as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{n as r}from"./dist-BL2bKHuR.js";import{t as i}from"./orpc-CmtRGLtZ.js";import{t as a}from"./useQuery-QAYxQfCx.js";import{t as o}from"./link-CI3qhqYu.js";import{a as s,i as c,n as l,r as u,t as d}from"./select-D3kIVy0H.js";import{t as f}from"./button-DG1Ca1S5.js";import{i as p,n as m,o as h,r as g,t as _}from"./empty-p3QKoEqD.js";import{t as v}from"./createLucideIcon-C0O-yxZG.js";import{n as y,r as b,t as x}from"./search-input-
|
|
1
|
+
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{n as r}from"./dist-BL2bKHuR.js";import{t as i}from"./orpc-CmtRGLtZ.js";import{t as a}from"./useQuery-QAYxQfCx.js";import{t as o}from"./link-CI3qhqYu.js";import{a as s,i as c,n as l,r as u,t as d}from"./select-D3kIVy0H.js";import{t as f}from"./button-DG1Ca1S5.js";import{i as p,n as m,o as h,r as g,t as _}from"./empty-p3QKoEqD.js";import{t as v}from"./createLucideIcon-C0O-yxZG.js";import{n as y,r as b,t as x}from"./search-input-B7zZp8UE.js";import{K as S,N as C}from"./utils-RSNxndzY.js";import{t as w}from"./use-label-CykSHq9A.js";import{t as T}from"./caps-SYhabp1B.js";import{t as E}from"./use-formatters-DLJOFcWE.js";import{t as D}from"./user-role-labels-NFC7DRSs.js";import{n as O}from"./-constants-D2aYlJ-p.js";import{t as k}from"./users-ZRNKnWGa.js";import{n as A,t as j}from"./alert-cwX3fWUu.js";import{t as M}from"./dates-CSmOj6E-.js";var N=v(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),P=e(n()),F=e(t()),I=20;[...O];var L={admin:`default`,editor:`default`,author:`secondary`,contributor:`secondary`,subscriber:`outline`},R={searchPlaceholder:{id:`users.list.searchPlaceholder`},loadingLabel:{id:`users.list.loading`},loadFailed:{id:`users.list.loadFailed`},roleFilterAria:{id:`users.list.roleFilter.aria`},roleFilterAll:{id:`users.list.roleFilter.all`},columnUser:{id:`users.list.column.user`},columnRole:{id:`users.list.column.role`},columnStatus:{id:`users.list.column.status`},columnLastSignIn:{id:`users.list.column.lastSignIn`},columnCreated:{id:`users.list.column.created`}};function z(){let e=k.useNavigate();return{setRole:(0,P.useCallback)(t=>{e({search:e=>({...e,role:t,page:1})})},[e]),setPage:(0,P.useCallback)(t=>{e({search:e=>({...e,page:t})})},[e]),setSearch:(0,P.useCallback)(t=>{e({search:e=>({...e,q:t,page:1})})},[e])}}function B(){let e=k.useSearch(),{user:t}=k.useRouteContext(),n=w(),s=a(i.user.list.queryOptions({input:{limit:I,offset:(e.page-1)*I,...e.role===`all`?{}:{role:e.role},...e.q?{search:e.q}:{}}})),{setRole:c,setPage:l,setSearch:u}=z(),d=s.data??[],p=e.page>1,m=d.length===I,h=T(t.capabilities,`user:create`),{formatDate:g,formatRelative:_}=E(),v=(0,P.useMemo)(()=>V({currentUserId:t.id,formatDate:g,formatRelative:_,label:n}),[t.id,g,_,n]);return(0,F.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,F.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,F.jsx)(`div`,{children:(0,F.jsx)(`h1`,{"data-testid":`users-list-heading`,className:`text-2xl font-semibold`,children:(0,F.jsx)(r,{id:`users.list.title`,message:`Users`})})}),h?(0,F.jsx)(f,{asChild:!0,children:(0,F.jsxs)(o,{to:`/users/create`,"data-testid":`users-list-invite-button`,children:[(0,F.jsx)(N,{}),(0,F.jsx)(r,{id:`users.list.invite`,message:`Add new`})]})}):null]}),(0,F.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,F.jsx)(H,{value:e.role,onChange:c}),(0,F.jsx)(`div`,{className:`ms-auto`,children:(0,F.jsx)(x,{initialValue:e.q??``,placeholder:n(R.searchPlaceholder),testId:`users-list-search-input`,onCommit:u},e.q??``)})]}),s.isError?(0,F.jsx)(j,{variant:`destructive`,children:(0,F.jsx)(A,{children:n(s.error instanceof Error?s.error.message:R.loadFailed)})}):(0,F.jsx)(b,{columns:v,data:d,isLoading:s.isPending,loadingLabel:n(R.loadingLabel),emptyState:(0,F.jsx)(U,{canInvite:h})}),(0,F.jsx)(y,{page:e.page,canPrev:p,canNext:m,isLoading:s.isPending,onPageChange:l})]})}function V({currentUserId:e,formatDate:t,formatRelative:n,label:i}){return[{accessorKey:`name`,header:i(R.columnUser),cell:({row:t})=>{let n=t.original,i=n.id===e;return(0,F.jsxs)(`div`,{className:`flex flex-col`,"data-testid":`users-list-row-${String(n.id)}`,children:[(0,F.jsxs)(`span`,{className:`flex items-center gap-2 font-medium`,children:[n.name??(0,F.jsx)(`span`,{className:`text-muted-foreground italic`,children:(0,F.jsx)(r,{id:`users.list.row.noName`,message:`(no name)`})}),i?(0,F.jsx)(C,{variant:`outline`,className:`text-xs`,"data-testid":`users-list-row-you`,children:(0,F.jsx)(r,{id:`users.list.row.you`,message:`You`})}):null]}),(0,F.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:n.email})]})}},{accessorKey:`role`,header:i(R.columnRole),cell:({row:e})=>(0,F.jsx)(C,{variant:L[e.original.role],className:`capitalize`,children:i(D[e.original.role])})},{accessorKey:`disabledAt`,header:i(R.columnStatus),cell:({row:e})=>{let t=e.original.disabledAt!=null;return(0,F.jsx)(C,{variant:t?`destructive`:`secondary`,children:t?(0,F.jsx)(r,{id:`users.list.row.disabled`,message:`Disabled`}):(0,F.jsx)(r,{id:`users.list.row.active`,message:`Active`})})}},{accessorKey:`lastSignInAt`,meta:{className:`text-end`},header:i(R.columnLastSignIn),cell:({row:e})=>{let t=e.original.lastSignInAt;return t==null?(0,F.jsx)(`span`,{className:`text-muted-foreground text-sm italic`,children:(0,F.jsx)(r,{id:`users.list.row.lastSignIn.never`,message:`Never`})}):(0,F.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:n(M(t))})}},{accessorKey:`createdAt`,meta:{className:`text-end`},header:i(R.columnCreated),cell:({row:e})=>(0,F.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:t(M(e.original.createdAt),{dateStyle:`medium`})})}]}function H({value:e,onChange:t}){let n=w();return(0,F.jsxs)(d,{value:e,onValueChange:e=>{t(e)},children:[(0,F.jsx)(c,{size:`sm`,"aria-label":n(R.roleFilterAria),"data-testid":`users-role-filter`,className:`w-[180px]`,children:(0,F.jsx)(s,{})}),(0,F.jsxs)(l,{children:[(0,F.jsx)(u,{value:`all`,"data-testid":`users-role-filter-all`,children:n(R.roleFilterAll)}),O.map(e=>(0,F.jsx)(u,{value:e,"data-testid":`users-role-filter-${e}`,children:n(D[e])},e))]})]})}function U({canInvite:e}){return(0,F.jsxs)(_,{"data-testid":`users-list-empty-state`,className:`border`,children:[(0,F.jsxs)(p,{children:[(0,F.jsx)(h,{children:(0,F.jsx)(r,{id:`users.list.empty.title`,message:`No users match your filter`})}),(0,F.jsx)(g,{children:(0,F.jsx)(r,{id:`users.list.empty.description`,message:`Clear the filter, or invite someone new to join.`})})]}),(0,F.jsx)(m,{children:e?(0,F.jsx)(f,{asChild:!0,children:(0,F.jsxs)(o,{to:`/users/create`,children:[(0,F.jsx)(S,{}),(0,F.jsx)(r,{id:`users.list.empty.invite`,message:`Invite user`})]})}):(0,F.jsxs)(f,{disabled:!0,children:[(0,F.jsx)(S,{}),(0,F.jsx)(r,{id:`users.list.empty.invite`,message:`Invite user`})]})})]})}export{B as component};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./users-
|
|
2
|
-
import{t as e}from"./jsx-runtime-DUAcabCT.js";import{T as t,a as n,t as r}from"./lazyRouteComponent-CQbKoKTD.js";import{i}from"./matchContext-DKtpdvCQ.js";import"./select-D3kIVy0H.js";import"./use-label-CykSHq9A.js";import{D as a,E as o,_ as s,f as c,g as l,h as u,i as d,l as f,m as p,o as m,v as h,w as g,y as _}from"./dist-ClOzYsk5.js";import{t as v}from"./caps-SYhabp1B.js";import{n as y}from"./-constants-D2aYlJ-p.js";e();var b=()=>t(()=>import(`./users-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./users-BmZY207i.js","./jsx-runtime-DUAcabCT.js","./react-DbyrFoBd.js","./dist-BL2bKHuR.js","./orpc-CmtRGLtZ.js","./useQuery-QAYxQfCx.js","./link-CI3qhqYu.js","./react-dom-i-Mcm3wj.js","./useStore-Vo4KhxPy.js","./with-selector-Bf4HMdmS.js","./select-D3kIVy0H.js","./dist-Dgy1ZZMQ.js","./dist-C4yHjFuP.js","./dist-BbwCNMFC.js","./dist-vYFq1OyT.js","./es2015-Di0DqwZ-.js","./dist-BP9v0gZx.js","./utils-DKOQrNEG.js","./createLucideIcon-C0O-yxZG.js","./button-DG1Ca1S5.js","./dist-B66OmIyr.js","./empty-p3QKoEqD.js","./search-input-B7zZp8UE.js","./breadcrumb-Di_E7s51.js","./dist-RxmsRBXP.js","./dist-DWZq3eNY.js","./skeleton-BnBM1862.js","./input-xYuLUQID.js","./separator-DzRLZTkg.js","./dist-BaNJ6JYm.js","./tooltip-Bf2rZUeB.js","./dist-BreUs1Gf.js","./utils-RSNxndzY.js","./sonner-1kBVu4ZN.js","./dist-Cz1zPiFe.js","./textarea-iIsBg5jH.js","./dist-hUh7dFZi.js","./card-L2-kK5VK.js","./popover-BoiNmQB7.js","./dist-CFgtqwWs.js","./toggle-M64NT8hi.js","./form-CY307HEl.js","./alert-cwX3fWUu.js","./use-label-CykSHq9A.js","./caps-SYhabp1B.js","./use-formatters-DLJOFcWE.js","./dist-DKhWWf1L.js","./user-role-labels-NFC7DRSs.js","./-constants-D2aYlJ-p.js","./dates-CSmOj6E-.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./jsx-runtime-DUAcabCT.js";import{T as t,a as n,t as r}from"./lazyRouteComponent-CQbKoKTD.js";import{i}from"./matchContext-DKtpdvCQ.js";import"./select-D3kIVy0H.js";import"./use-label-CykSHq9A.js";import{D as a,E as o,_ as s,f as c,g as l,h as u,i as d,l as f,m as p,o as m,v as h,w as g,y as _}from"./dist-ClOzYsk5.js";import{t as v}from"./caps-SYhabp1B.js";import{n as y}from"./-constants-D2aYlJ-p.js";e();var b=()=>t(()=>import(`./users-BmZY207i.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]),import.meta.url),x=[`all`,...y],S=u({page:l(d(_(p(),m(),c(1)),1),1),role:l(d(h(x),`all`),`all`),q:l(d(_(g(),a(),f(200),o(e=>e.length===0?void 0:e)),void 0))}),C=n(`/_authenticated/users/`)({validateSearch:e=>s(S,e),beforeLoad:({context:e})=>{if(!v(e.user.capabilities,`user:list`))throw i({to:`/`})},component:r(b,`component`)});export{C as t};
|