diff --git a/.gitattributes b/.gitattributes
index 3db48397e3..01e107ec49 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -15,7 +15,9 @@ tests/ export-ignore
panel/.env.example export-ignore
panel/.eslintrc.js export-ignore
panel/.prettierrc.json export-ignore
+panel/dist/ui export-ignore
panel/jsconfig.json export-ignore
+panel/lab export-ignore
panel/package-lock.json export-ignore
panel/package.json export-ignore
panel/public export-ignore
diff --git a/composer.json b/composer.json
index 22cac7ee64..b970be3faa 100644
--- a/composer.json
+++ b/composer.json
@@ -3,7 +3,7 @@
"description": "The Kirby core",
"license": "proprietary",
"type": "kirby-cms",
- "version": "4.0.0-beta.3",
+ "version": "4.0.0-rc.1",
"keywords": [
"kirby",
"cms",
@@ -39,7 +39,7 @@
"christian-riesen/base32": "1.6.0",
"claviska/simpleimage": "4.0.6",
"composer/semver": "3.4.0",
- "filp/whoops": "2.15.3",
+ "filp/whoops": "2.15.4",
"getkirby/composer-installer": "^1.2.1",
"laminas/laminas-escaper": "2.13.0",
"michelf/php-smartypants": "1.8.1",
diff --git a/composer.lock b/composer.lock
index 759b3a5da5..5b95a8fb66 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "2a7a03197b9625e82cec7a7d3a8f2059",
+ "content-hash": "98e712fd34f395cf5adb90233cc22416",
"packages": [
{
"name": "christian-riesen/base32",
@@ -201,16 +201,16 @@
},
{
"name": "filp/whoops",
- "version": "2.15.3",
+ "version": "2.15.4",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "c83e88a30524f9360b11f585f71e6b17313b7187"
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/c83e88a30524f9360b11f585f71e6b17313b7187",
- "reference": "c83e88a30524f9360b11f585f71e6b17313b7187",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546",
"shasum": ""
},
"require": {
@@ -260,7 +260,7 @@
],
"support": {
"issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.15.3"
+ "source": "https://github.com/filp/whoops/tree/2.15.4"
},
"funding": [
{
@@ -268,7 +268,7 @@
"type": "github"
}
],
- "time": "2023-07-13T12:00:00+00:00"
+ "time": "2023-11-03T12:00:00+00:00"
},
{
"name": "getkirby/composer-installer",
diff --git a/config/areas/lab/drawers.php b/config/areas/lab/drawers.php
index 24a80acf54..9d16d81f14 100644
--- a/config/areas/lab/drawers.php
+++ b/config/areas/lab/drawers.php
@@ -6,6 +6,15 @@
'lab.docs' => [
'pattern' => 'lab/docs/(:any)',
'load' => function (string $component) {
+ if (Docs::installed() === false) {
+ return [
+ 'component' => 'k-text-drawer',
+ 'props' => [
+ 'text' => 'The UI docs are not installed.'
+ ]
+ ];
+ }
+
$docs = new Docs($component);
return [
diff --git a/config/areas/lab/views.php b/config/areas/lab/views.php
index 9753d63883..53428dda99 100644
--- a/config/areas/lab/views.php
+++ b/config/areas/lab/views.php
@@ -10,8 +10,9 @@
return [
'component' => 'k-lab-index-view',
'props' => [
- 'tab' => 'examples',
'categories' => Category::all(),
+ 'info' => Category::installed() ? null : 'The default Lab examples are not installed.',
+ 'tab' => 'examples',
],
];
}
@@ -19,6 +20,17 @@
'lab.docs' => [
'pattern' => 'lab/docs',
'action' => function () {
+ $props = match (Docs::installed()) {
+ true => [
+ 'categories' => [['examples' => Docs::all()]],
+ 'tab' => 'docs',
+ ],
+ false => [
+ 'info' => 'The UI docs are not installed.',
+ 'tab' => 'docs',
+ ]
+ };
+
return [
'component' => 'k-lab-index-view',
'title' => 'Docs',
@@ -28,34 +40,43 @@
'link' => 'lab/docs'
]
],
- 'props' => [
- 'tab' => 'docs',
- 'categories' => [
- ['examples' => Docs::all()]
- ],
- ],
+ 'props' => $props,
];
}
],
'lab.doc' => [
'pattern' => 'lab/docs/(:any)',
'action' => function (string $component) {
+ $crumbs = [
+ [
+ 'label' => 'Docs',
+ 'link' => 'lab/docs'
+ ],
+ [
+ 'label' => $component,
+ 'link' => 'lab/docs/' . $component
+ ]
+ ];
+
+ if (Docs::installed() === false) {
+ return [
+ 'component' => 'k-lab-index-view',
+ 'title' => $component,
+ 'breadcrumb' => $crumbs,
+ 'props' => [
+ 'info' => 'The UI docs are not installed.',
+ 'tab' => 'docs',
+ ],
+ ];
+ }
+
$docs = new Docs($component);
return [
- 'component' => 'k-lab-docs-view',
- 'title' => $component,
- 'breadcrumb' => [
- [
- 'label' => 'Docs',
- 'link' => 'lab/docs'
- ],
- [
- 'label' => $component,
- 'link' => 'lab/docs/' . $component
- ]
- ],
- 'props' => [
+ 'component' => 'k-lab-docs-view',
+ 'title' => $component,
+ 'breadcrumb' => $crumbs,
+ 'props' => [
'component' => $component,
'docs' => $docs->toArray(),
'lab' => $docs->lab()
diff --git a/config/areas/site/dialogs.php b/config/areas/site/dialogs.php
index ee46c48bb1..ec22a73a26 100644
--- a/config/areas/site/dialogs.php
+++ b/config/areas/site/dialogs.php
@@ -2,9 +2,7 @@
use Kirby\Cms\App;
use Kirby\Cms\Find;
-use Kirby\Cms\Page;
use Kirby\Cms\PageRules;
-use Kirby\Cms\Response;
use Kirby\Exception\Exception;
use Kirby\Exception\InvalidArgumentException;
use Kirby\Exception\PermissionException;
@@ -14,6 +12,7 @@
use Kirby\Panel\Panel;
use Kirby\Toolkit\I18n;
use Kirby\Toolkit\Str;
+use Kirby\Uuid\Uuids;
$fields = require __DIR__ . '/../fields/dialogs.php';
$files = require __DIR__ . '/../files/dialogs.php';
@@ -516,14 +515,21 @@
'page.move' => [
'pattern' => 'pages/(:any)/move',
'load' => function (string $id) {
- $page = Find::page($id);
+ $page = Find::page($id);
+ $parent = $page->parentModel();
+
+ if (Uuids::enabled() === false) {
+ $parentId = $parent?->id() ?? '/';
+ } else {
+ $parentId = $parent?->uuid()->toString() ?? 'site://';
+ }
return [
'component' => 'k-page-move-dialog',
'props' => [
'value' => [
'move' => $page->panel()->url(true),
- 'parent' => $page->parent()?->panel()->url(true) ?? '/site'
+ 'parent' => $parentId
]
]
];
diff --git a/config/areas/site/requests.php b/config/areas/site/requests.php
index 8d2fcbcd1a..352334a400 100644
--- a/config/areas/site/requests.php
+++ b/config/areas/site/requests.php
@@ -19,7 +19,7 @@
$panel = $site->panel();
$uuid = $site->uuid()?->toString();
$url = $site->url();
- $value = $uuid ?? $url;
+ $value = $uuid ?? '/';
return [
[
@@ -44,7 +44,7 @@
$panel = $child->panel();
$uuid = $child->uuid()?->toString();
$url = $child->url();
- $value = $uuid ?? $url;
+ $value = $uuid ?? $child->id();
$pages[] = [
'children' => $panel->url(true),
diff --git a/config/areas/system/dialogs.php b/config/areas/system/dialogs.php
index 50ff9d4d9e..de88a5f596 100644
--- a/config/areas/system/dialogs.php
+++ b/config/areas/system/dialogs.php
@@ -52,24 +52,24 @@
'props' => [
'fields' => [
'domain' => [
- 'label' => I18n::translate('license.unregistered'),
+ 'label' => I18n::translate('license.activate.label'),
'type' => 'info',
'theme' => $local ? 'warning' : 'info',
- 'text' => I18n::template('license.register.' . ($local ? 'local' : 'domain'), ['host' => $system->indexUrl()])
+ 'text' => I18n::template('license.activate.' . ($local ? 'local' : 'domain'), ['host' => $system->indexUrl()])
],
'license' => [
- 'label' => I18n::translate('license.register.label'),
+ 'label' => I18n::translate('license.code.label'),
'type' => 'text',
'required' => true,
'counter' => false,
'placeholder' => 'K3-',
- 'help' => I18n::translate('license.register.help') . ' ' . '' . I18n::translate('license.buy') . ' →'
+ 'help' => I18n::translate('license.code.help') . ' ' . '' . I18n::translate('license.buy') . ' →'
],
'email' => Field::email(['required' => true])
],
'submitButton' => [
'icon' => 'key',
- 'text' => I18n::translate('license.register'),
+ 'text' => I18n::translate('activate'),
],
'value' => [
'license' => null,
@@ -88,7 +88,7 @@
return [
'event' => 'system.register',
- 'message' => I18n::translate('license.register.success')
+ 'message' => I18n::translate('license.success')
];
// @codeCoverageIgnoreEnd
}
diff --git a/config/areas/system/views.php b/config/areas/system/views.php
index dab7de6cfd..b1b99bda83 100644
--- a/config/areas/system/views.php
+++ b/config/areas/system/views.php
@@ -14,28 +14,29 @@
$environment = [
[
- 'label' => $license ? I18n::translate('license') : I18n::translate('license.register.label'),
+ 'label' => $license ? I18n::translate('license') : I18n::translate('license.activate.label'),
'value' => $license ? 'Kirby 3' : I18n::translate('license.unregistered.label'),
'theme' => $license ? null : 'negative',
+ 'icon' => $license ? 'info' : 'key',
'dialog' => $license ? 'license' : 'registration'
],
[
'label' => $updateStatus?->label() ?? I18n::translate('version'),
'value' => $kirby->version(),
- 'link' => (
- $updateStatus ?
- $updateStatus->url() :
- 'https://github.com/getkirby/kirby/releases/tag/' . $kirby->version()
- ),
- 'theme' => $updateStatus?->theme()
+ 'link' => $updateStatus?->url() ??
+ 'https://github.com/getkirby/kirby/releases/tag/' . $kirby->version(),
+ 'theme' => $updateStatus?->theme(),
+ 'icon' => $updateStatus?->icon() ?? 'info'
],
[
'label' => 'PHP',
- 'value' => phpversion()
+ 'value' => phpversion(),
+ 'icon' => 'code'
],
[
'label' => I18n::translate('server'),
- 'value' => $system->serverSoftware() ?? '?'
+ 'value' => $system->serverSoftware() ?? '?',
+ 'icon' => 'server'
]
];
diff --git a/config/fields/date.php b/config/fields/date.php
index b05a8b9d6f..1cfa41cd86 100644
--- a/config/fields/date.php
+++ b/config/fields/date.php
@@ -129,7 +129,7 @@
'key' => 'validation.date.between',
'data' => [
'min' => $min->format($format),
- 'max' => $min->format($format)
+ 'max' => $max->format($format)
]
]);
} elseif ($min && $value->isMin($min) === false) {
diff --git a/i18n/translations/bg.json b/i18n/translations/bg.json
index 0b3c02f222..eb93fa6f17 100644
--- a/i18n/translations/bg.json
+++ b/i18n/translations/bg.json
@@ -3,6 +3,7 @@
"account.delete": "Delete your account",
"account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.",
+ "activate": "Activate",
"add": "\u0414\u043e\u0431\u0430\u0432\u0438",
"alpha": "Alpha",
"author": "Author",
@@ -47,6 +48,7 @@
"dialog.users.empty": "No users to select",
"dimensions": "Размери",
+ "disable": "Disable",
"disabled": "Disabled",
"discard": "\u041e\u0442\u043c\u0435\u043d\u0438",
@@ -134,6 +136,9 @@
"error.license.email": "Моля въведете валиден email адрес",
"error.license.verification": "The license could not be verified",
+ "error.login.totp.confirm.invalid": "Invalid code",
+ "error.login.totp.confirm.missing": "Please enter the current code",
+
"error.object.validation": "There’s an error in the \"{label}\" field:\n{message}",
"error.offline": "The Panel is currently offline",
@@ -407,15 +412,16 @@
"languages.secondary.empty": "Все още няма второстепенни езици",
"license": "\u041b\u0438\u0446\u0435\u043d\u0437 \u0437\u0430 Kirby",
+ "license.activate": "Activate it now",
+ "license.activate.label": "Please activate your license",
+ "license.activate.domain": "Your license will be activated for {host}.",
+ "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.",
"license.buy": "Купи лиценз",
- "license.register": "Регистрирай",
+ "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.",
+ "license.code.label": "Please enter your license code",
"license.manage": "Manage your licenses",
- "license.register.help": "You received your license code after the purchase via email. Please copy and paste it to register.",
- "license.register.label": "Please enter your license code",
- "license.register.domain": "Your license will be registered to {host}.",
- "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.",
- "license.register.success": "Thank you for supporting Kirby",
- "license.unregistered": "Това е нерегистрирана демо версия на Kirby",
+ "license.ready": "Ready to launch your site?",
+ "license.success": "Thank you for supporting Kirby",
"license.unregistered.label": "Unregistered",
"link": "\u0412\u0440\u044a\u0437\u043a\u0430",
@@ -434,7 +440,9 @@
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
+ "login.code.placeholder.totp": "000000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
+ "login.code.text.totp": "Please enter the one‑time code from your authenticator app.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
@@ -445,6 +453,20 @@
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
+ "login.totp.enable.option": "Set up one‑time codes",
+ "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.",
+ "login.totp.enable.qr.label": "1. Scan this QR code",
+ "login.totp.enable.qr.help": "Unable to scan? Add the setup key {secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "
This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Изход", @@ -481,6 +503,7 @@ "option": "Option", "options": "Options", "options.none": "No options", + "options.all": "Show all {count} options", "orientation": "Ориентация", "orientation.landscape": "Пейзаж", @@ -550,7 +573,7 @@ "save": "\u0417\u0430\u043f\u0438\u0448\u0438", "search": "Търси", "search.min": "Enter {min} characters to search", - "search.all": "Show all", + "search.all": "Show all {count} results", "search.results.none": "No results", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/ca.json b/i18n/translations/ca.json index 0c7ee34544..53d60c6ff9 100644 --- a/i18n/translations/ca.json +++ b/i18n/translations/ca.json @@ -3,6 +3,7 @@ "account.delete": "Delete your account", "account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.", + "activate": "Activate", "add": "Afegir", "alpha": "Alpha", "author": "Author", @@ -47,6 +48,7 @@ "dialog.users.empty": "No hi ha cap usuari per seleccionar", "dimensions": "Dimensions", + "disable": "Disable", "disabled": "Desactivat", "discard": "Descartar", @@ -134,6 +136,9 @@ "error.license.email": "Si us plau, introdueix una adreça de correu electrònic vàlida", "error.license.verification": "No s’ha pogut verificar la llicència", + "error.login.totp.confirm.invalid": "Codi invàlid", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "The Panel is currently offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Encara no hi ha idiomes secundaris", "license": "Llic\u00e8ncia Kirby", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Comprar una llicència", - "license.register": "Registrar", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Si us plau, introdueixi el seu codi de llicència", "license.manage": "Manage your licenses", - "license.register.help": "Heu rebut el codi de la vostra llicència després de la compra, per correu electrònic. Copieu-lo i enganxeu-lo per registrar-vos.", - "license.register.label": "Si us plau, introdueixi el seu codi de llicència", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Gràcies per donar suport a Kirby", - "license.unregistered": "Aquesta és una demo no registrada de Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Gràcies per donar suport a Kirby", "license.unregistered.label": "Unregistered", "link": "Enlla\u00e7", @@ -434,7 +440,9 @@ "login.code.label.login": "Login code", "login.code.label.password-reset": "Password reset code", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "If your email address is registered, the requested code was sent via email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", "login.email.login.subject": "Your login code", "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Login with password", "login.toggleText.password-reset.email": "Forgot your password?", "login.toggleText.password-reset.email-password": "← Back to login", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Tancar sessió", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opcions", "options.none": "Sense opcions", + "options.all": "Show all {count} options", "orientation": "Orientació", "orientation.landscape": "Horitzontal", @@ -550,7 +573,7 @@ "save": "Desar", "search": "Cercar", "search.min": "Introduïu {min} caràcters per cercar", - "search.all": "Mostrar tots", + "search.all": "Show all {count} results", "search.results.none": "Sense resultats", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/cs.json b/i18n/translations/cs.json index 459e96505f..09f2b65a28 100644 --- a/i18n/translations/cs.json +++ b/i18n/translations/cs.json @@ -3,6 +3,7 @@ "account.delete": "Smazat účet", "account.delete.confirm": "Opravdu chcete smazat svůj účet? Budete okamžitě odhlášeni. Účet nemůže být zpětně obnoven.", + "activate": "Activate", "add": "P\u0159idat", "alpha": "Alfa", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "Žádní uživatelé k výběru", "dimensions": "Rozměry", + "disable": "Disable", "disabled": "Zakázáno", "discard": "Zahodit", @@ -134,6 +136,9 @@ "error.license.email": "Zadejte prosím platnou emailovou adresu", "error.license.verification": "Licenci nelze ověřit", + "error.login.totp.confirm.invalid": "Neplatný kód", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "V poli \"{label}\" je chyba:\n{message}", "error.offline": "Panel je v současnosti off-line", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Neexistují zatím žádné další jazyky", "license": "Kirby licence", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Zakoupit licenci", - "license.register": "Registrovat", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Zadejte prosím licenční kód", "license.manage": "Spravovat licence", - "license.register.help": "Licenční kód jste po zakoupení obdrželi na email. Vložte prosím kód a zaregistrujte Vaší kopii.", - "license.register.label": "Zadejte prosím licenční kód", - "license.register.domain": "Vaše licence bude zaregistrována na {host}.", - "license.register.local": "Chystáte se registrovat licenci na Vaší lokální doméně {host}. Pokud bude tato stránka nasazena na veřejnou doménu, registrujte prosím licenci až tam. Pokud je {host} opravdu doménou, na které si přejete licenci registrovat, pokračujte prosím dále.", - "license.register.success": "Děkujeme Vám za podporu Kirby", - "license.unregistered": "Toto je neregistrovaná kopie Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Děkujeme Vám za podporu Kirby", "license.unregistered.label": "Neregistrovaný", "link": "Odkaz", @@ -434,7 +440,9 @@ "login.code.label.login": "Kód pro přihlášení", "login.code.label.password-reset": "Kód pro resetování hesla", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Vaše e-mailová adresa byla zaregistrována, kód byl odeslán do Vaší e-mailové schránky.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Ahoj {user.nameOrEmail},\n\nV nedávné době jsi zažádal(a) o kód pro přihlášení do Kirby Panelu na stránce {site}.\nNásledující kód pro přihlášení je platný {timeout} minut:\n\n{code}\n\nPokud jsi o kód pro přihlášení nežádal(a), tuto zprávu prosím ignoruj a v případě dotazů prosím kontaktuj svého administrátora.\nZ bezpečnostních důvodů prosím tuto zprávu nepřeposílej nikomu dalšímu.", "login.email.login.subject": "Váš kód pro přihlášení", "login.email.password-reset.body": "Ahoj {user.nameOrEmail},\n\nV nedávné době jsi zažádal(a) o kód pro resetování hesla do Kirby Panelu na stránce {site}.\nNásledující kód pro resetování hesla je platný {timeout} minut:\n\n{code}\n\nPokud jsi o kód pro resetování hesla nežádal(a), tuto zprávu prosím ignoruj a v případě dotazů prosím kontaktuj svého administrátora.\nZ bezpečnostních důvodů prosím tuto zprávu nepřeposílej nikomu dalšímu.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Přihlásit se pomocí hesla", "login.toggleText.password-reset.email": "Zapomenuté heslo?", "login.toggleText.password-reset.email-password": "← Zpět na přihlášení", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Odhlásit se", @@ -481,6 +503,7 @@ "option": "Možnost", "options": "Možnosti", "options.none": "Žádné možnosti", + "options.all": "Show all {count} options", "orientation": "Orientace", "orientation.landscape": "Na šířku", @@ -550,7 +573,7 @@ "save": "Ulo\u017eit", "search": "Hledat", "search.min": "Pro vyhledání zadejte alespoň {min} znaky", - "search.all": "Zobrazit vše", + "search.all": "Show all {count} results", "search.results.none": "Žádné výsledky", "section.invalid": "Sekce je neplatná", @@ -572,6 +595,7 @@ "system.issues.content": "Složka content je zřejmě přístupná zvenčí", "system.issues.eol.kirby": "Instalovaná verze Kirby dosáhla konce životnosti a nebude již dále dostávat bezpečnostní aktualizace", "system.issues.eol.plugin": "Instalovaná verze doplňku { plugin } dosáhla konce životnosti a nebude již dále dostávat bezpečnostní aktualizace", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debug mode musí být v produkci vypnutý", "system.issues.git": "Složka .git je zřejmě přístupná zvenčí", "system.issues.https": "Pro všechny stránky doporučujeme používat protokol HTTPS", diff --git a/i18n/translations/da.json b/i18n/translations/da.json index d13d8b3e87..96d0798b3f 100644 --- a/i18n/translations/da.json +++ b/i18n/translations/da.json @@ -3,6 +3,7 @@ "account.delete": "Slet din konto", "account.delete.confirm": "Ønsker du virkelig at slette din konto? Du vil blive logget ud med det samme. Din konto kan ikke gendannes.", + "activate": "Activate", "add": "Ny", "alpha": "Alpha", "author": "Forfatter", @@ -47,6 +48,7 @@ "dialog.users.empty": "Ingen brugere kan vælges", "dimensions": "Dimensioner", + "disable": "Disable", "disabled": "Deaktiveret", "discard": "Kass\u00e9r", @@ -134,6 +136,9 @@ "error.license.email": "Indtast venligst en gyldig email adresse", "error.license.verification": "Licensen kunne ikke verificeres", + "error.login.totp.confirm.invalid": "Ugyldig kode", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "Panelet er i øjeblikket offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Der er ingen sekundære sprog endnu", "license": "Kirby licens", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Køb en licens", - "license.register": "Registrer", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Indtast venligst din licenskode", "license.manage": "Manage your licenses", - "license.register.help": "Du modtog din licenskode efter købet via email. Venligst kopier og indsæt den for at registrere.", - "license.register.label": "Indtast venligst din licenskode", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Tak for din støtte af Kirby", - "license.unregistered": "Dette er en uregistreret demo af Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Tak for din støtte af Kirby", "license.unregistered.label": "Unregistered", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Log ind kode", "login.code.label.password-reset": "Sikkerhedskode", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Hvis din email adresse er registreret er en sikkerhedskode blevet sendt via email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hej {user.nameOrEmail},\n\nDu har for nyligt anmodet om en log ind kode til panelet af {site}.\nFølgende log ind kode vil være gyldig i {timeout} minutter:\n\n{code}\n\nHvis du ikke har anmodet om en log ind kode, kan du blot ignorere denne email eller kontakte din administrator hvis du har spørgsmål.\nAf sikkerhedsmæssige årsager, bør du IKKE videresende denne email.", "login.email.login.subject": "Din log ind kode", "login.email.password-reset.body": "Hej {user.nameOrEmail},\n\nDu har for nyligt anmodet om kode til nulstilling af adgangskode til panelet af {site}.\nFølgende kode til nulstilling af adgangskode vil være gyldig i {timeout} minutter:\n\n{code}\n\nHvis du ikke har anmodet om kode til nulstilling af adgangskode, kan du blot ignorere denne email eller kontakte din administrator hvis du har spørgsmål.\nAf sikkerhedsmæssige årsager, bør du IKKE videresende denne email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Log ind med adgangskode", "login.toggleText.password-reset.email": "Glemt din adgangskode?", "login.toggleText.password-reset.email-password": "← Tilbage til log ind", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Log ud", @@ -481,6 +503,7 @@ "option": "Option", "options": "Indstillinger", "options.none": "Ingen muligheder", + "options.all": "Show all {count} options", "orientation": "Orientering", "orientation.landscape": "Landskab", @@ -550,7 +573,7 @@ "save": "Gem", "search": "Søg", "search.min": "Indtast {min} tegn for at søge", - "search.all": "Vis alle", + "search.all": "Show all {count} results", "search.results.none": "Ingen resultater", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/de.json b/i18n/translations/de.json index 7f2c6525e0..7fa816c45f 100644 --- a/i18n/translations/de.json +++ b/i18n/translations/de.json @@ -3,6 +3,7 @@ "account.delete": "Deinen Account löschen", "account.delete.confirm": "Willst du deinen Account wirklich löschen? Du wirst sofort danach abgemeldet. Dein Account kann nicht wieder hergestellt werden.", + "activate": "Aktivieren", "add": "Hinzuf\u00fcgen", "alpha": "Alpha", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "Keine verfügbaren Accounts", "dimensions": "Maße", + "disable": "Deaktivieren", "disabled": "Gesperrt", "discard": "Verwerfen", @@ -134,6 +136,9 @@ "error.license.email": "Bitte gib eine gültige E-Mailadresse an", "error.license.verification": "Die Lizenz konnte nicht verifiziert werden", + "error.login.totp.confirm.invalid": "Ungültiger Code", + "error.login.totp.confirm.missing": "Bitte gib den aktuellen Code ein", + "error.object.validation": "Fehler im \"{label}\" Feld:\n{message}", "error.offline": "Das Panel ist zur Zeit offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Noch keine sekundären Sprachen", "license": "Lizenz", + "license.activate": "Aktiviere Kirby jetzt", + "license.activate.label": "Bitte aktiviere deine Lizenz", + "license.activate.domain": "Deine Lizenz wird für die Domain {host} aktiviert.", + "license.activate.local": "Du bist dabei, deine Kirby Lizenz für die lokale Domain {host} zu aktivieren. Falls diese Seite später unter einer anderen Domain veröffentlicht wird, solltest du sie erst dort aktivieren. Falls {host} die Domain ist, die du für deine Lizenz nutzen möchtest, fahre bitte fort. ", "license.buy": "Kaufe eine Lizenz", - "license.register": "Registrieren", + "license.code.help": "Du hast deinen Lizenz Code nach dem Kauf per Email bekommen. Bitte kopiere sie aus der Email und füge sie hier ein. ", + "license.code.label": "Bitte gib deinen Lizenzcode ein", "license.manage": "Verwalte deine Lizenzen", - "license.register.help": "Den Lizenzcode findest du in der Bestätigungsmail zu deinem Kauf. Bitte kopiere und füge ihn ein, um Kirby zu registrieren.", - "license.register.label": "Bitte gib deinen Lizenzcode ein", - "license.register.domain": "Deine Lizenz wird unter der Domain {host} registriert", - "license.register.local": "Du bist dabei, deine Lizenz unter der lokalen Domain {host} zu registrieren. Wenn diese Seite unter einer anderen Domain veröffentlicht werden soll, registriere die Lizenz statt dessen bitte dort. Wenn du {host} als Domain verwenden möchtest, fahre bitte fort. ", - "license.register.success": "Vielen Dank für deine Unterstützung", - "license.unregistered": "Dies ist eine unregistrierte Kirby-Demo", + "license.ready": "Bereit, deine Seite zu veröffentlichen?", + "license.success": "Vielen Dank für deine Unterstützung", "license.unregistered.label": "Unregistriert", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Anmeldecode", "login.code.label.password-reset": "Anmeldecode", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Wenn deine E-Mail-Adresse registriert ist, wurde der angeforderte Code per E-Mail versendet.", + "login.code.text.totp": "Bitte gib den Einmal-Code von deiner Authentifizierungs-App ein. ", "login.email.login.body": "Hallo {user.nameOrEmail},\n\ndu hast gerade einen Anmeldecode für das Kirby Panel von {site} angefordert.\n\nDer folgende Anmeldecode ist für die nächsten {timeout} Minuten gültig:\n\n{code}\n\nWenn du keinen Anmeldecode angefordert hast, ignoriere bitte diese E-Mail oder kontaktiere bei Fragen deinen Administrator.\nBitte leite diese E-Mail aus Sicherheitsgründen NICHT weiter.", "login.email.login.subject": "Dein Anmeldecode", "login.email.password-reset.body": "Hallo {user.nameOrEmail},\n\ndu hast gerade einen Anmeldecode für das Kirby Panel von {site} angefordert.\n\nDer folgende Anmeldecode ist für die nächsten {timeout} Minuten gültig:\n\n{code}\n\nWenn du keinen Anmeldecode angefordert hast, ignoriere bitte diese E-Mail oder kontaktiere bei Fragen deinen Administrator.\nBitte leite diese E-Mail aus Sicherheitsgründen NICHT weiter.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Anmelden mit Passwort", "login.toggleText.password-reset.email": "Passwort vergessen?", "login.toggleText.password-reset.email-password": "← Zurück zur Anmeldung", + "login.totp.enable.option": "Einmal-Codes einrichten", + "login.totp.enable.intro": "Authentifizierungs-Apps können Einmal-Codes erstellen, die als zweiter Faktor für die Anmeldung dienen. ", + "login.totp.enable.qr.label": "1. Scanne diesen QR Code", + "login.totp.enable.qr.help": "Scannen funktioniert nicht? Gib den Setup-Schlüssel{secret}
manuell in deiner Authentifizierungs-App ein. ",
+ "login.totp.enable.confirm.headline": "2. Bestätige den erstellten Code.",
+ "login.totp.enable.confirm.text": "Deine App erstellt alle 30 Sekunden einen neuen Einmal-Code. Gib den aktuellen Code ein, um das Setup abzuschliessen. ",
+ "login.totp.enable.confirm.label": "Aktueller Code",
+ "login.totp.enable.confirm.help": "Nach dem Setup werden wir dich bei jeder Anmeldung nach einem Einmal-Code fragen. ",
+ "login.totp.enable.success": "Aktivierte Einmal-Codes",
+ "login.totp.disable.option": "Einmal-Codes deaktivieren",
+ "login.totp.disable.label": "Gib dein Passwort ein, um die Einmal-Codes zu deaktivieren. ",
+ "login.totp.disable.help": "In Zukunft wird bei der Anmeldung ein anderer zweiter Faktor abgefragt. Z.B. ein Login-Code der per Email zugeschickt wird. Du kannst die Einmal-Codes jeder Zeit später wieder neu einrichten. ",
+ "login.totp.disable.admin": "Einmal-Codes für {user} werden hiermit deaktiviert.
In Zukunft wird für die Anmeldung ein anderer zweiter Faktor abgefragt. Z.B. ein Login-Code, der per Email zugeschickt wird. {user} kann nach der nächsten Anmeldung jeder Zeit wieder Einmal-Codes für den Account aktivieren.
", + "login.totp.disable.success": "Deaktivierte Einmal-Codes", "logout": "Abmelden", @@ -481,6 +503,7 @@ "option": "Option", "options": "Optionen", "options.none": "Keine Optionen", + "options.all": "Zeige alle {count} Optionen", "orientation": "Ausrichtung", "orientation.landscape": "Querformat", @@ -550,7 +573,7 @@ "save": "Speichern", "search": "Suchen", "search.min": "Gib mindestens {min} Zeichen ein, um zu suchen", - "search.all": "Alles zeigen", + "search.all": "Zeige alle {count} Ergebnisse", "search.results.none": "Keine Ergebnisse", "section.invalid": "Der Bereich ist ungültig", @@ -572,6 +595,7 @@ "system.issues.content": "Der content Ordner scheint öffentlich zugänglich zu sein", "system.issues.eol.kirby": "Deine Kirby Installation ist veraltet und erhält keine weiteren Sicherheitsupdates", "system.issues.eol.plugin": "Deine Version des { plugin } Plugins ist veraltet und erhält keine weiteren Sicherheitsupdates", + "system.issues.eol.php": "Deine installierte PHP-Version { release } ist veraltet und erhält keinen Sicherheits-Updates mehr", "system.issues.debug": "Debugging muss im öffentlichen Betrieb ausgeschaltet sein", "system.issues.git": "Der .git Ordner scheint öffentlich zugänglich zu sein", "system.issues.https": "Wir empfehlen HTTPS für alle deine Seiten", diff --git a/i18n/translations/el.json b/i18n/translations/el.json index da54c382bd..f8dc2e7dc1 100644 --- a/i18n/translations/el.json +++ b/i18n/translations/el.json @@ -3,6 +3,7 @@ "account.delete": "Delete your account", "account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.", + "activate": "Activate", "add": "\u03a0\u03c1\u03bf\u03c3\u03b8\u03ae\u03ba\u03b7", "alpha": "Alpha", "author": "Author", @@ -47,6 +48,7 @@ "dialog.users.empty": "No users to select", "dimensions": "Διαστάσεις", + "disable": "Disable", "disabled": "Disabled", "discard": "Απόρριψη", @@ -134,6 +136,9 @@ "error.license.email": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου", "error.license.verification": "The license could not be verified", + "error.login.totp.confirm.invalid": "Mη έγκυρος κωδικός", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "The Panel is currently offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Δεν υπάρχουν ακόμα δευτερεύουσες γλώσσες", "license": "\u0386\u03b4\u03b5\u03b9\u03b1 \u03a7\u03c1\u03ae\u03c3\u03b7\u03c2 \u03c4\u03bf\u03c5 Kirby", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Αγοράστε μια άδεια", - "license.register": "Εγγραφή", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Παρακαλώ εισαγάγετε τον κωδικό άδειας χρήσης", "license.manage": "Manage your licenses", - "license.register.help": "Έχετε λάβει τον κωδικό άδειας χρήσης μετά την αγορά μέσω ηλεκτρονικού ταχυδρομείου. Παρακαλώ αντιγράψτε και επικολλήστε τον για να εγγραφείτε.", - "license.register.label": "Παρακαλώ εισαγάγετε τον κωδικό άδειας χρήσης", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Σας ευχαριστούμε για την υποστήριξη του Kirby", - "license.unregistered": "Αυτό είναι ένα μη καταχωρημένο demo του Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Σας ευχαριστούμε για την υποστήριξη του Kirby", "license.unregistered.label": "Unregistered", "link": "\u03a3\u03cd\u03bd\u03b4\u03b5\u03c3\u03bc\u03bf\u03c2", @@ -434,7 +440,9 @@ "login.code.label.login": "Login code", "login.code.label.password-reset": "Password reset code", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "If your email address is registered, the requested code was sent via email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", "login.email.login.subject": "Your login code", "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Login with password", "login.toggleText.password-reset.email": "Forgot your password?", "login.toggleText.password-reset.email-password": "← Back to login", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Αποσύνδεση", @@ -481,6 +503,7 @@ "option": "Option", "options": "Eπιλογές", "options.none": "No options", + "options.all": "Show all {count} options", "orientation": "Προσανατολισμός", "orientation.landscape": "Οριζόντιος", @@ -550,7 +573,7 @@ "save": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7", "search": "Αναζήτηση", "search.min": "Enter {min} characters to search", - "search.all": "Show all", + "search.all": "Show all {count} results", "search.results.none": "No results", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/en.json b/i18n/translations/en.json index 7a5ff44cce..d6300fc2fa 100644 --- a/i18n/translations/en.json +++ b/i18n/translations/en.json @@ -412,15 +412,16 @@ "languages.secondary.empty": "There are no secondary languages yet", "license": "License", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Buy a license", - "license.register": "Register", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Please enter your license code", "license.manage": "Manage your licenses", - "license.register.help": "You received your license code after the purchase via email. Please copy and paste it to register.", - "license.register.label": "Please enter your license code", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Thank you for supporting Kirby", - "license.unregistered": "This is an unregistered demo of Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Thank you for supporting Kirby", "license.unregistered.label": "Unregistered", "link": "Link", @@ -502,6 +503,7 @@ "option": "Option", "options": "Options", "options.none": "No options", + "options.all": "Show all {count} options", "orientation": "Orientation", "orientation.landscape": "Landscape", diff --git a/i18n/translations/eo.json b/i18n/translations/eo.json index 80993b941f..7585e65de0 100644 --- a/i18n/translations/eo.json +++ b/i18n/translations/eo.json @@ -3,6 +3,7 @@ "account.delete": "Forigi vian konton", "account.delete.confirm": "Ĉu vi certe deziras forigi vian konton? Vi estos tuj elsalutita. Ne eblos malforigi vian konton.", + "activate": "Activate", "add": "Aldoni", "alpha": "Alpha", "author": "Aŭtoro", @@ -47,6 +48,7 @@ "dialog.users.empty": "Neniu uzanto por elekti", "dimensions": "Dimensioj", + "disable": "Disable", "disabled": "Malebligita", "discard": "Forĵeti", @@ -134,6 +136,9 @@ "error.license.email": "Bonvolu entajpi validan retpoŝtadreson", "error.license.verification": "Ne eblis kontroli la permisilon", + "error.login.totp.confirm.invalid": "Nevalida kodo", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "La panelo estas ĉi-momente nekonektita", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Ankoraŭ estas neniu kromlingvoj", "license": "Permisilo", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Aĉeti permisilon", - "license.register": "Registriĝi", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Bonvolu entajpi vian kodon de permisilo", "license.manage": "Manage your licenses", - "license.register.help": "Vi ricevis vian kodon de permisilo retpoŝte, post aĉeti ĝin. Bonvolu kopii kaj alglui ĝin por registriĝi.", - "license.register.label": "Bonvolu entajpi vian kodon de permisilo", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Dankon pro subteni Kirby", - "license.unregistered": "Ĉi tiu estas neregistrita kopio de Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Dankon pro subteni Kirby", "license.unregistered.label": "Unregistered", "link": "Ligilo", @@ -434,7 +440,9 @@ "login.code.label.login": "Ensaluta kodo", "login.code.label.password-reset": "Kodo por restarigi pasvorton", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Se via retpoŝtadreso estas enregistrita, via kodo estis sendita retpoŝte", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Saluton {user.nameOrEmail},\n\nVi petis ensalutan kodon por la panelo de la retejo {site}.\nLa sekvanta kodo validos dum {timeout} minutoj:\n\n{code}\n\nSe vi ne petis ensalutan kodon, bonvolu ignori ĉi tiun mesaĝon, aŭ kontaktu vian sistem-administranton se vi havas demandojn.\nPro sekureco, bonvolu NE plusendi ĉi tiun mesaĝon.", "login.email.login.subject": "Via ensaluta kodo", "login.email.password-reset.body": "Saluton {user.nameOrEmail},\n\nVi petis kodon por restarigi vian pasvorton por la panelo de la retejo {site}.\nLa sekvanta kodo validos dum {timeout} minutoj:\n\n{code}\n\nSe vi ne petis kodon por restarigi vian pasvorton, bonvolu ignori ĉi tiun mesaĝon, aŭ kontaktu vian sistem-administranton se vi havas demandojn.\nPro sekureco, bonvolu NE plusendi ĉi tiun mesaĝon.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Ensaluti per pasvorto", "login.toggleText.password-reset.email": "Ĉu vi forgesis vian pasvorton?", "login.toggleText.password-reset.email-password": "← Reen al ensaluto", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Elsaluti", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opcioj", "options.none": "Neniu opcio", + "options.all": "Show all {count} options", "orientation": "Orientiĝo", "orientation.landscape": "Horizontala", @@ -550,7 +573,7 @@ "save": "Konservi", "search": "Serĉi", "search.min": "Entajpu {min} literojn por serĉi", - "search.all": "Montri ĉiujn", + "search.all": "Show all {count} results", "search.results.none": "Neniu rezulto", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/es_419.json b/i18n/translations/es_419.json index 61c209d772..a50ee62093 100644 --- a/i18n/translations/es_419.json +++ b/i18n/translations/es_419.json @@ -3,6 +3,7 @@ "account.delete": "Eliminar cuenta", "account.delete.confirm": "¿Realmente quieres eliminar tu cuenta? Tu sesión se cerrará inmediatamente. Tu cuenta no podrá ser recuperada. ", + "activate": "Activate", "add": "Agregar", "alpha": "Alpha", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "No has seleccionado ningún usuario", "dimensions": "Dimensiones", + "disable": "Disable", "disabled": "Deshabilitado", "discard": "Descartar", @@ -134,6 +136,9 @@ "error.license.email": "Por favor ingresa un correo electrónico valido", "error.license.verification": "La licencia no pude ser verificada", + "error.login.totp.confirm.invalid": "Código inválido", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Hay un error en el campo \"{label}\":\n{message}", "error.offline": "El Panel se encuentra fuera de linea ", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Todavía no hay idiomas secundarios", "license": "Licencia", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Comprar una licencia", - "license.register": "Registrar", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Por favor, ingresa tu código de licencia", "license.manage": "Gestiona tus licencias", - "license.register.help": "Recibió su código de licencia después de la compra por correo electrónico. Por favor copie y pegue para registrarse.", - "license.register.label": "Por favor, ingresa tu código de licencia", - "license.register.domain": "Tu licencia será registrada para {host}.", - "license.register.local": "Estás a punto de registrar tu licencia para el dominio local {host}. Si este sitio va a ser desplegado en un dominio público, por favor regístralo allí. Si {host} es el dominio en el que quiere registrar Kirby, por favor continúa.", - "license.register.success": "Gracias por apoyar a Kirby", - "license.unregistered": "Este es un demo no registrado de Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Gracias por apoyar a Kirby", "license.unregistered.label": "No registrado", "link": "Enlace", @@ -434,7 +440,9 @@ "login.code.label.login": "Código de inicio de sesión", "login.code.label.password-reset": "Código de restablecimiento de contraseña", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Si tu dirección de correo electrónico está registrada, el código solicitado fue enviado por correo electrónico.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hola {user.nameOrEmail},\n\nHas pedido, recientemente, un código de restablecimiento de contraseña para el Panel del sitio {site}.\nEl siguiente código de restablecimiento de contraseña será válido por {timeout} minutos:\n\n{code}\n\nSi no pediste un código de restablecimiento de contraseña, por favor ignora este correo o contacta a tu administrador si tienes dudas.\nPor seguridad, por favor NO reenvíes este correo.", "login.email.login.subject": "Tu código de inicio de sesión", "login.email.password-reset.body": "Hola {user.nameOrEmail},\n\nHas pedido, recientemente, un código de restablecimiento de contraseña para el Panel del sitio {site}.\nEl siguiente código de restablecimiento de contraseña será válido por {timeout} minutos:\n\n{code}\n\nSi no pediste un código de restablecimiento de contraseña, por favor ignora este correo o contacta a tu administrador si tienes dudas.\nPor seguridad, por favor NO reenvíes este correo.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Iniciar sesión con contraseña", "login.toggleText.password-reset.email": "¿Olvidaste tu contraseña?", "login.toggleText.password-reset.email-password": "← Volver al inicio de sesión", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Cerrar sesión", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opciones", "options.none": "Sin opciones", + "options.all": "Show all {count} options", "orientation": "Orientación", "orientation.landscape": "Paisaje", @@ -550,7 +573,7 @@ "save": "Guardar", "search": "Buscar", "search.min": "Introduce {min} caracteres para buscar", - "search.all": "Mostrar todo", + "search.all": "Show all {count} results", "search.results.none": "Sin resultados", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "La carpeta content parece estar expuesta", "system.issues.eol.kirby": "La versión de Kirby que tienes instalada ha llegado al final de su vida útil y no recibirá más actualizaciones de seguridad.", "system.issues.eol.plugin": "Tu versión instalada del plugin { plugin } ha llegado al final de su vida útil y no recibirá más actualizaciones de seguridad.", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "La depuración debe estar desactivada en producción", "system.issues.git": "La carpeta .git parece estar expuesta", "system.issues.https": "Recomendamos HTTPS para todos tus sitios web", diff --git a/i18n/translations/es_ES.json b/i18n/translations/es_ES.json index a8c8424e9d..395de69315 100644 --- a/i18n/translations/es_ES.json +++ b/i18n/translations/es_ES.json @@ -3,6 +3,7 @@ "account.delete": "Borrar cuenta", "account.delete.confirm": "¿Realmente quieres eliminar tu cuenta? Tu sesión se cerrará inmediatamente. La cuenta no podrá ser recuperada.", + "activate": "Activate", "add": "Añadir", "alpha": "Alpha", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "No hay usuarios para seleccionar", "dimensions": "Dimensiones", + "disable": "Disable", "disabled": "Desabilitado", "discard": "Descartar", @@ -134,6 +136,9 @@ "error.license.email": "Por favor, introduce un correo electrónico válido", "error.license.verification": "La licencia no pudo ser verificada", + "error.login.totp.confirm.invalid": "Código inválido", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Hay un error en el campo \"{label}\":\n{message}", "error.offline": "El Panel se encuentra actualmente fuera de línea ", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Aún no hay idiomas secundarios", "license": "Licencia", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Comprar una licencia", - "license.register": "Registro", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Por favor, introduce tu código de licencia", "license.manage": "Gestiona licencias", - "license.register.help": "Recibiste tu código de licencia tras la compra por correo electrónico. Por favor, copia y pega para registrarte.", - "license.register.label": "Por favor, introduce tu código de licencia", - "license.register.domain": "Tu licencia será registrada para {host}.", - "license.register.local": "Estás a punto de registrar tu licencia para el dominio local {host}. Si este sitio va a ser desplegado en un dominio público, por favor regístralo allí. Si {host} es el dominio en el que quiere registrar Kirby, por favor continúa.", - "license.register.success": "Gracias por apoyar a Kirby", - "license.unregistered": "Esta es una demo no registrada de Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Gracias por apoyar a Kirby", "license.unregistered.label": "No registrado", "link": "Enlace", @@ -434,7 +440,9 @@ "login.code.label.login": "Código de inicio de sesión", "login.code.label.password-reset": "Código de restablecimiento de contraseña", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Si tu dirección de correo electrónico está registrada, el código solicitado fue enviado por correo electrónico.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hola {user.nameOrEmail},\n\nHas pedido, recientemente, un código de restablecimiento de contraseña para el Panel del sitio {site}.\nEl siguiente código de restablecimiento de contraseña será válido por {timeout} minutos:\n\n{code}\n\nSi no pediste un código de restablecimiento de contraseña, por favor ignora este correo o contacta a tu administrador si tienes dudas.\nPor seguridad, por favor NO reenvíes este correo.", "login.email.login.subject": "Tu código de inicio de sesión", "login.email.password-reset.body": "Hola {user.nameOrEmail},\n\nHas pedido, recientemente, un código de restablecimiento de contraseña para el Panel del sitio {site}.\nEl siguiente código de restablecimiento de contraseña será válido por {timeout} minutos:\n\n{code}\n\nSi no pediste un código de restablecimiento de contraseña, por favor ignora este correo o contacta a tu administrador si tienes dudas.\nPor seguridad, por favor NO reenvíes este correo.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Iniciar sesión con contraseña", "login.toggleText.password-reset.email": "¿Olvidaste tu contraseña?", "login.toggleText.password-reset.email-password": "← Volver al inicio de sesión", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Cerrar sesión", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opciones", "options.none": "Sin opciones", + "options.all": "Show all {count} options", "orientation": "Orientación", "orientation.landscape": "Paisaje", @@ -550,7 +573,7 @@ "save": "Guardar", "search": "Buscar", "search.min": "Introduce {min} caracteres para buscar", - "search.all": "Mostrar todo", + "search.all": "Show all {count} results", "search.results.none": "Sin resultados", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "La carpeta content parece estar expuesta", "system.issues.eol.kirby": "La versión de Kirby que tienes instalada ha llegado al final de su vida útil y no recibirá más actualizaciones de seguridad.", "system.issues.eol.plugin": "La versión del plugin { plugin } que tienes instalada ha llegado al final de su vida útil y no recibirá más actualizaciones de seguridad.", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "La depuración debe estar desactivada en producción", "system.issues.git": "La carpeta .git parece estar expuesta", "system.issues.https": "Recomendamos HTTPS para todos tus sitios web", diff --git a/i18n/translations/fa.json b/i18n/translations/fa.json index affaf4234f..69f8b9776a 100644 --- a/i18n/translations/fa.json +++ b/i18n/translations/fa.json @@ -3,6 +3,7 @@ "account.delete": "Delete your account", "account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.", + "activate": "Activate", "add": "\u0627\u0641\u0632\u0648\u062f\u0646", "alpha": "Alpha", "author": "Author", @@ -47,6 +48,7 @@ "dialog.users.empty": "No users to select", "dimensions": "ابعاد", + "disable": "Disable", "disabled": "Disabled", "discard": "\u0627\u0646\u0635\u0631\u0627\u0641", @@ -134,6 +136,9 @@ "error.license.email": "لطفا ایمیل صحیحی وارد کنید", "error.license.verification": "The license could not be verified", + "error.login.totp.confirm.invalid": "Invalid code", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "The Panel is currently offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "هنوز هیچ زبان ثانویهای موجود نیست", "license": "\u0645\u062c\u0648\u0632", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "خرید مجوز", - "license.register": "ثبت", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "لطفا کد مجوز خود را وارد کنید", "license.manage": "Manage your licenses", - "license.register.help": "پس از خرید از طریق ایمیل، کد مجوز خود را دریافت کردید. لطفا برای ثبتنام آن را کپی و اینجا پیست کنید.", - "license.register.label": "لطفا کد مجوز خود را وارد کنید", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "با تشکر از شما برای حمایت از کربی", - "license.unregistered": "این یک نسخه آزمایشی ثبت نشده از کربی است", + "license.ready": "Ready to launch your site?", + "license.success": "با تشکر از شما برای حمایت از کربی", "license.unregistered.label": "Unregistered", "link": "\u067e\u06cc\u0648\u0646\u062f", @@ -434,7 +440,9 @@ "login.code.label.login": "Login code", "login.code.label.password-reset": "Password reset code", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "If your email address is registered, the requested code was sent via email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", "login.email.login.subject": "Your login code", "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Login with password", "login.toggleText.password-reset.email": "Forgot your password?", "login.toggleText.password-reset.email-password": "← Back to login", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "خروج", @@ -481,6 +503,7 @@ "option": "Option", "options": "گزینهها", "options.none": "No options", + "options.all": "Show all {count} options", "orientation": "جهت", "orientation.landscape": "افقی", @@ -550,7 +573,7 @@ "save": "\u0630\u062e\u06cc\u0631\u0647", "search": "جستجو", "search.min": "Enter {min} characters to search", - "search.all": "Show all", + "search.all": "Show all {count} results", "search.results.none": "No results", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/fi.json b/i18n/translations/fi.json index cdc6f7d8ae..7010b5472d 100644 --- a/i18n/translations/fi.json +++ b/i18n/translations/fi.json @@ -3,6 +3,7 @@ "account.delete": "Poista tilisi", "account.delete.confirm": "Haluatko varmasti poistaa tilisi? Sinut kirjataan ulos välittömästi, eikä tiliäsi voi palauttaa.", + "activate": "Activate", "add": "Lis\u00e4\u00e4", "alpha": "Alpha", "author": "Tekijä", @@ -47,6 +48,7 @@ "dialog.users.empty": "Ei valittavissa olevia käyttäjiä", "dimensions": "Mitat", + "disable": "Disable", "disabled": "Pois käytöstä", "discard": "Hylkää", @@ -134,6 +136,9 @@ "error.license.email": "Anna sähköpostiosoite", "error.license.verification": "Lisenssiä ei voitu vahvistaa", + "error.login.totp.confirm.invalid": "Väärä koodi", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "Paneeli on offline-tilassa", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Toissijaisia kieliä ei ole vielä määritetty", "license": "Lisenssi", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Osta lisenssi", - "license.register": "Rekisteröi", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Anna lisenssiavain", "license.manage": "Hallinnoi lisenssejäsi", - "license.register.help": "Lisenssiavain on lähetetty oston jälkeen sähköpostiisi. Kopioi ja liitä avain tähän.", - "license.register.label": "Anna lisenssiavain", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Kiitos kun tuet Kirbyä", - "license.unregistered": "Tämä on rekisteröimätön demo Kirbystä", + "license.ready": "Ready to launch your site?", + "license.success": "Kiitos kun tuet Kirbyä", "license.unregistered.label": "Rekisteröimätön", "link": "Linkki", @@ -434,7 +440,9 @@ "login.code.label.login": "Kirjautumiskoodi", "login.code.label.password-reset": "Salasanan asetuskoodi", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Jos sähköpostiosoitteesi on rekisteröity, tilaamasi koodi lähetetään tähän osoitteeseen.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", "login.email.login.subject": "Kirjautumiskoodisi", "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Kirjaudu salasanalla", "login.toggleText.password-reset.email": "Unohditko salasanasi?", "login.toggleText.password-reset.email-password": "← Takaisin kirjautumiseen", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Kirjaudu ulos", @@ -481,6 +503,7 @@ "option": "Option", "options": "Asetukset", "options.none": "Ei valintoja", + "options.all": "Show all {count} options", "orientation": "Suunta", "orientation.landscape": "Vaakasuuntainen", @@ -550,7 +573,7 @@ "save": "Tallenna", "search": "Haku", "search.min": "Anna vähintään {min} merkkiä hakua varten", - "search.all": "Näytä kaikki", + "search.all": "Show all {count} results", "search.results.none": "Ei tuloksia", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "Content-kansio näyttäisi olevan julkinen", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Virheenkäsittelytila pitää poistaa käytöstä tuotantoympäristössä", "system.issues.git": ".git-kansio näyttäisi olevan julkinen", "system.issues.https": "Suosittelemme HTTPS:n käyttöä kaikilla sivustoillasi", diff --git a/i18n/translations/fr.json b/i18n/translations/fr.json index c5d298c88b..4caf615444 100644 --- a/i18n/translations/fr.json +++ b/i18n/translations/fr.json @@ -3,6 +3,7 @@ "account.delete": "Supprimer votre compte", "account.delete.confirm": "Voulez-vous vraiment supprimer votre compte ? Vous serez déconnecté immédiatement. Votre compte ne pourra pas être récupéré.", + "activate": "Activate", "add": "Ajouter", "alpha": "Alpha", "author": "Auteur", @@ -47,6 +48,7 @@ "dialog.users.empty": "Aucun utilisateur à sélectionner", "dimensions": "Dimensions", + "disable": "Disable", "disabled": "Désactivé", "discard": "Supprimer", @@ -134,6 +136,9 @@ "error.license.email": "Veuillez saisir un courriel correct", "error.license.verification": "La licence n’a pu être vérifiée", + "error.login.totp.confirm.invalid": "Code incorrect", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Il y a une erreur dans le champ « {label} » :\n{message}", "error.offline": "Le Panel est actuellement hors ligne", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Il n’y a pas encore de langues secondaires", "license": "Licence", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Acheter une licence", - "license.register": "S’enregistrer", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Veuillez saisir votre numéro de licence", "license.manage": "Gérer vos licences", - "license.register.help": "Vous avez reçu votre numéro de licence par courriel après l'achat. Veuillez le copier et le coller ici pour l'enregistrer.", - "license.register.label": "Veuillez saisir votre numéro de licence", - "license.register.domain": "Votre licence sera enregistrée pour {host}.", - "license.register.local": "Vous êtes sur le point d’enregistrer votre licence pour votre domaine local {host}. Si votre site sera déployé sur un domaine publique, veuillez plutôt l’y l’enregistrer. Si {host} est le domaine pour lequel vous voulez enregistrer Kirby, veuillez continuer.", - "license.register.success": "Merci pour votre soutien à Kirby", - "license.unregistered": "Ceci est une démo non enregistrée de Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Merci pour votre soutien à Kirby", "license.unregistered.label": "Non enregistré", "link": "Lien", @@ -434,7 +440,9 @@ "login.code.label.login": "Code de connexion", "login.code.label.password-reset": "Code de réinitialisation du mot de passe", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Si votre adresse de courriel est enregistrée, le code demandé vous sera envoyé par courriel.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Bonjour {user.nameOrEmail},\n\nVous avez récemment demandé un code de connexion pour le Panel de {site}.\nLe code de connexion suivant sera valable pendant {timeout} minutes :\n\n{code}\n\nSi vous n’avez pas demandé de code de connexion, veuillez ignorer cet email ou contacter votre administrateur si vous avez des questions.\nPar sécurité, merci de ne PAS faire suivre cet email.", "login.email.login.subject": "Votre code de connexion", "login.email.password-reset.body": "Bonjour {user.nameOrEmail},\n\nVous avez récemment demandé un code de réinitialisation de mot de passe pour le Panel de {site}.\nLe code de réinitialisation de mot de passe suivant sera valable pendant {timeout} minutes :\n\n{code}\n\nSi vous n’avez pas demandé de code de réinitialisation de mot de passe, veuillez ignorer cet email ou contacter votre administrateur si vous avez des questions.\nPar sécurité, merci de ne PAS faire suivre cet email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Se connecter avec un mot de passe", "login.toggleText.password-reset.email": "Mot de passe oublié ?", "login.toggleText.password-reset.email-password": "← Retour à la connexion", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Déconnexion", @@ -481,6 +503,7 @@ "option": "Option", "options": "Options", "options.none": "Pas d’options", + "options.all": "Show all {count} options", "orientation": "Orientation", "orientation.landscape": "Paysage", @@ -550,7 +573,7 @@ "save": "Enregistrer", "search": "Rechercher", "search.min": "Saisissez {min} caractères pour rechercher", - "search.all": "Tout afficher", + "search.all": "Show all {count} results", "search.results.none": "Pas de résultats", "section.invalid": "La section est invalide", @@ -572,6 +595,7 @@ "system.issues.content": "Le dossier content semble exposé", "system.issues.eol.kirby": "La version de Kirby installée a atteint la fin de son cycle de vie et ne recevra plus de mises à jour de sécurité", "system.issues.eol.plugin": "La version du plugin { plugin } installée a atteint la fin de son cycle de vie et ne recevra plus de mises à jour de sécurité", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Le débogage doit être désactivé en production", "system.issues.git": "Le dossier .git semble exposé", "system.issues.https": "Nous recommandons HTTPS pour tous vos sites", diff --git a/i18n/translations/hu.json b/i18n/translations/hu.json index a6888b6978..12e54fe6fc 100644 --- a/i18n/translations/hu.json +++ b/i18n/translations/hu.json @@ -3,6 +3,7 @@ "account.delete": "Fiók törlése", "account.delete.confirm": "Tényleg törölni szeretnéd a fiókodat? Azonnal kijelentkeztetünk és ez a folyamat visszavonhatatlan.", + "activate": "Activate", "add": "Hozz\u00e1ad", "alpha": "Alpha", "author": "Szerző", @@ -47,6 +48,7 @@ "dialog.users.empty": "Nincsenek felhasználók kiválasztva", "dimensions": "Méretek", + "disable": "Disable", "disabled": "Inaktív", "discard": "Visszavon\u00e1s", @@ -134,6 +136,9 @@ "error.license.email": "Kérlek adj meg egy valós email-címet", "error.license.verification": "A licensz nem ellenőrizhető", + "error.login.totp.confirm.invalid": "Érvénytelen kód", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "A Panel jelenleg nem elérhető", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Nincsnek még másodlagos nyelvek", "license": "Kirby licenc", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Licenc vásárlása", - "license.register": "Regisztráció", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Kérlek írd be a licenc-kódot", "license.manage": "Manage your licenses", - "license.register.help": "A vásárlás után emailben küldjük el a licenc-kódot. Regisztrációhoz másold ide a kapott kódot.", - "license.register.label": "Kérlek írd be a licenc-kódot", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Köszönjük, hogy támogatod a Kirby-t", - "license.unregistered": "Jelenleg a Kirby nem regisztrált próbaverzióját használod", + "license.ready": "Ready to launch your site?", + "license.success": "Köszönjük, hogy támogatod a Kirby-t", "license.unregistered.label": "Unregistered", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Bejelentkezéshez szükséges kód", "login.code.label.password-reset": "Jelszóvisszaállításhoz szükséges kód", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Amennyiben az email-címed létezik a rendszerben, a kódot oda küldjük el.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Helló {user.nameOrEmail},\n\nNemrégiben bejelentkezési kódot igényeltél a(z) {site} Paneljéhez.\nAz alábbi kód {timeout} percig lesz érvényes:\n\n{code}\n\nHa nem te igényelted a kódot, kérlek hagyd figyelmen kívül ezt az emailt, kérdések esetén pedig vedd fel a kapcsolatot az oldal Adminisztrátorával.\nBiztonsági okokból kérjük NE továbbítsd ezt az emailt.", "login.email.login.subject": "Bejelentkezési kódod", "login.email.password-reset.body": "Helló {user.nameOrEmail},\n\nNemrégiben jelszóvisszaállítási kódot igényeltél a(z) {site} Paneljéhez.\nAz alábbi jelszóvisszaállítási kód {timeout} percig lesz érvényes:\n\n{code}\n\nHa nem te igényelted a jelszóvisszaállítási kódot, kérlek hagyd figyelmen kívül ezt az emailt, kérdések esetén pedig vedd fel a kapcsolatot az oldal Adminisztrátorával.\nBiztonsági okokból kérjük NE továbbítsd ezt az emailt.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Bejelentkezés jelszóval", "login.toggleText.password-reset.email": "Elfelejtetted a jelszavad?", "login.toggleText.password-reset.email-password": "← Vissza a bejelentkezéshez", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Kijelentkezés", @@ -481,6 +503,7 @@ "option": "Option", "options": "Beállítások", "options.none": "Nincsnek beállítások", + "options.all": "Show all {count} options", "orientation": "Tájolás", "orientation.landscape": "Fekvő", @@ -550,7 +573,7 @@ "save": "Ment\u00e9s", "search": "Keresés", "search.min": "A kereséshez írj be minimum {min} karaktert", - "search.all": "Összes mutatása", + "search.all": "Show all {count} results", "search.results.none": "Nincs találat", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/id.json b/i18n/translations/id.json index 6f30513793..5bd5484bf1 100644 --- a/i18n/translations/id.json +++ b/i18n/translations/id.json @@ -3,6 +3,7 @@ "account.delete": "Hapus akun Anda", "account.delete.confirm": "Anda yakin menghapus akun? Anda akan dikeluarkan segera. Akun Anda tidak dapat dipulihkan.", + "activate": "Activate", "add": "Tambah", "alpha": "Alpha", "author": "Penulis", @@ -47,6 +48,7 @@ "dialog.users.empty": "Tidak ada pengguna untuk dipilih", "dimensions": "Dimensi", + "disable": "Disable", "disabled": "Dimatikan", "discard": "Buang", @@ -134,6 +136,9 @@ "error.license.email": "Masukkan surel yang valid", "error.license.verification": "Lisensi tidak dapat diverifikasi", + "error.login.totp.confirm.invalid": "Kode tidak valid", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Ada kesalahan di bidang \"{label}\":\n{message}", "error.offline": "Panel saat ini luring", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Belum ada bahasa sekunder", "license": "Lisensi Kirby", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Beli lisensi", - "license.register": "Daftar", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Masukkan kode lisensi Anda", "license.manage": "Manage your licenses", - "license.register.help": "Anda menerima kode lisensi via surel setelah pembelian. Salin dan tempel kode tersebut untuk mendaftarkan.", - "license.register.label": "Masukkan kode lisensi Anda", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Terima kasih atas dukungan untuk Kirby", - "license.unregistered": "Ini adalah demo tidak diregistrasi dari Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Terima kasih atas dukungan untuk Kirby", "license.unregistered.label": "Unregistered", "link": "Tautan", @@ -434,7 +440,9 @@ "login.code.label.login": "Kode masuk", "login.code.label.password-reset": "Kode atur ulang sandi", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Jika alamat surel terdaftar, kode yang diminta dikirim via surel", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", "login.email.login.subject": "Kode masuk Anda", "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Masuk dengan sandi", "login.toggleText.password-reset.email": "Lupa sandi Anda?", "login.toggleText.password-reset.email-password": "← Kembali ke masuk", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Keluar", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opsi", "options.none": "Tidak ada opsi", + "options.all": "Show all {count} options", "orientation": "Orientasi", "orientation.landscape": "Rebah", @@ -550,7 +573,7 @@ "save": "Simpan", "search": "Cari", "search.min": "Masukkan {min} karakter untuk mencari", - "search.all": "Tampilkan semua", + "search.all": "Show all {count} results", "search.results.none": "Tidak ada hasil", "section.invalid": "Bagian ini tidak valid", @@ -572,6 +595,7 @@ "system.issues.content": "Folder konten nampaknya terekspos", "system.issues.eol.kirby": "Versi instalasi Kirby Anda sudah mencapai akhir dan tidak akan lagi mendapat pembaruan keamanan", "system.issues.eol.plugin": "Versi instalasi plugin { plugin } Anda sudah mencapai akhir dan tidak akan lagi mendapatkan pembaruan keamanan", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/is_IS.json b/i18n/translations/is_IS.json index 3b5ca1d38e..6a5ed352a7 100644 --- a/i18n/translations/is_IS.json +++ b/i18n/translations/is_IS.json @@ -3,6 +3,7 @@ "account.delete": "Eyða notandareikning þínum", "account.delete.confirm": "Ertu alveg viss um að þú viljir endanlega eyða reikningnum þínum? Þú munt verða útskráð/ur án tafar. Ómögulegt verður að endurheimta reikninginn þinn.", + "activate": "Activate", "add": "Bæta við", "alpha": "Gagnsæi", "author": "Höfundur", @@ -47,6 +48,7 @@ "dialog.users.empty": "Engir notendur til að velja úr", "dimensions": "Rýmd", + "disable": "Disable", "disabled": "Óvirkt", "discard": "Hunsa", @@ -134,6 +136,9 @@ "error.license.email": "Almennilegt netfang hér", "error.license.verification": "Ekki heppnaðist að staðfesta leyfið", + "error.login.totp.confirm.invalid": "Ógildur kóði", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Það er villa í \"{label}\" sviðinu:\n{message}", "error.offline": "Stjórnborðið er óvirkt eins og stendur.", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Það eru engin auka tungumál skilgreind enn", "license": "Leyfi", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Kaupa leyfi", - "license.register": "Skr\u00E1 Kirby", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Vinsamlegast settu inn leyfiskóðan", "license.manage": "Sýslaðu með leyfin þín", - "license.register.help": "Þú fékkst sendan tölvupóst með leyfiskóðanum þegar þú keyptir leyfi. Vinsamlegast afritaðu hann og settu hann hingað til að skrá þig.", - "license.register.label": "Vinsamlegast settu inn leyfiskóðan", - "license.register.domain": "Leyfið þitt verður skráð á {host}.", - "license.register.local": "Nú ertu að fara skrá leyfið þitt á staðbundna lénið (e. local domain) {host}. Ef þetta vefsvæði verður fært út á vefinn, vinsamlegast skráðu það frekar þar þegar það hefur verið gefið þar út. Ef {host] er raunverulega lénið sem þú vilt skrá leyfir þitt á, endilega haltu þínu striki.", - "license.register.success": "Þakka þér fyrir að velja Kirby", - "license.unregistered": "Þetta er óskráð prufueintak af Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Þakka þér fyrir að velja Kirby", "license.unregistered.label": "Óskráð", "link": "Tengill", @@ -434,7 +440,9 @@ "login.code.label.login": "Innskráningarkóði", "login.code.label.password-reset": "Kóði fyrir endurstillingu lykilorðs", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Ef netfangið þitt er skráð þá bíður þín nýr tölvupóstur.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Já halló {user.nameOrEmail},\n\nNýlega baðstu um innskráningarkóða fyrir bakendan á {site}.\nEftirfarandi kóði er virkur í {timeout} mínútur:\n\n{code}\n\nEf þú óskaðir ekki eftir þessu þá hunsaðu þennan tölvupóst eða talaðu við vefstjóran ef þú vilt fræðast nánar.\nAf öryggisástæðum vinsamlegast áframsendu þennan tölvupóst ALLS EKKI.", "login.email.login.subject": "Innskráningarkóðinn þinn", "login.email.password-reset.body": "Nei halló {user.nameOrEmail},\n\nNýverið baðstu um að lykilorði þínu væri endurstillt fyrir bakendan á {site}. \nEftirfarandi kóði er virkur í {timeout} mínútur:\n\n{code}\n\nEf þú óskaðir ekki eftir þessu þá hunsaðu þennan tölvupóst eða talaðu við vefstjóran ef þú vilt fræðast nánar.\nAf öryggisástæðum vinsamlegast áframsendu þennan tölvupóst ALLS EKKI.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Innskrá með lykilorði", "login.toggleText.password-reset.email": "Mannstu ekki lykilorðið?", "login.toggleText.password-reset.email-password": "← Aftur í innskráningu", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Útskrá", @@ -481,6 +503,7 @@ "option": "Kostur", "options": "Valmöguleikar", "options.none": "Engir valmöguleikar", + "options.all": "Show all {count} options", "orientation": "Snúningur", "orientation.landscape": "Langsnið", @@ -550,7 +573,7 @@ "save": "Vista", "search": "Leita", "search.min": "Lágmark {min} stafir til að leita", - "search.all": "Sýna allt", + "search.all": "Show all {count} results", "search.results.none": "Engar niðurstöður", "section.invalid": "Þetta svæði er bara ógillt sem stendur.", @@ -572,6 +595,7 @@ "system.issues.content": "Efnismappan virðist vera berskjölduð", "system.issues.eol.kirby": "Uppsett Kirby eintak þitt hefur runnið sitt skeið á enda og mun ekki verða uppfært framar", "system.issues.eol.plugin": "Uppsett eintak þitt af viðbótinni { plugin } hefur runnið sitt skeið á enda og mun ekki verða uppfærð framar", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Aflúsun ætti alltaf að vera óvirk í útgefnum vef", "system.issues.git": ".git mappan virðist vera berskjölduð", "system.issues.https": "Við mælum harðlega með því að þú notir HTTPS fyrir öll þín vefsvæði", diff --git a/i18n/translations/it.json b/i18n/translations/it.json index 0c614854e0..a6647668cd 100644 --- a/i18n/translations/it.json +++ b/i18n/translations/it.json @@ -3,6 +3,7 @@ "account.delete": "Elimina l'account", "account.delete.confirm": "Vuoi davvero eliminare il tuo account? Verrai disconnesso immediatamente. Il tuo account non potrà essere recuperato.", + "activate": "Activate", "add": "Aggiungi", "alpha": "Alpha", "author": "Autore", @@ -47,6 +48,7 @@ "dialog.users.empty": "Nessuno user selezionabile", "dimensions": "Dimensioni", + "disable": "Disable", "disabled": "Disabilitato", "discard": "Abbandona", @@ -134,6 +136,9 @@ "error.license.email": "Inserisci un indirizzo email valido", "error.license.verification": "Non è stato possibile verificare la licenza", + "error.login.totp.confirm.invalid": "Codice non valido", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "C'è un errore nel campo \"{label}\":\n{message}", "error.offline": "Il pannello di controllo è attualmente offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Non ci sono lingue secondarie impostate", "license": "Licenza di Kirby", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Acquista una licenza", - "license.register": "Registra", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Inserisci il codice di licenza", "license.manage": "Gestisci le tue licenze", - "license.register.help": "Hai ricevuto il codice di licenza tramite email dopo l'acquisto. Per favore inseriscilo per registrare Kirby.", - "license.register.label": "Inserisci il codice di licenza", - "license.register.domain": "La tua licenza verrà registrata su {host}.", - "license.register.local": "Stai per registrare la licenza per il dominio locale {host}. Se questo sito verrà rilasciato su un dominio pubblico, ti preghiamo di registrarlo lì. Se {host} è il dominio per il quale desideri ottenere la licenza di Kirby, procedi pure.", - "license.register.success": "Ti ringraziamo per aver supportato Kirby", - "license.unregistered": "Questa è una versione demo di Kirby non registrata", + "license.ready": "Ready to launch your site?", + "license.success": "Ti ringraziamo per aver supportato Kirby", "license.unregistered.label": "Non registrato", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Codice di accesso", "login.code.label.password-reset": "Codice per reimpostare la password", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Qualora il tuo indirizzo email fosse registrato, il codice richiesto è stato inviato tramite email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Ciao {user.nameOrEmail},\n\nHai recentemente richiesto un codice di login per il pannello di controllo di {site}.\nIl seguente codice di login sarà valido per {timeout} minuti:\n\n{code}\n\nSe non hai richiesto un codice di login, per favore ignora questa mail o contatta il tuo amministratore in caso di domande.\nPer sicurezza, per favore NON inoltrare questa email.", "login.email.login.subject": "Il tuo codice di accesso", "login.email.password-reset.body": "Ciao {user.nameOrEmail},\n\nHai recentemente richiesto di resettare la password per il pannello di controllo di {site}.\nIl seguente codice di reset della password sarà valido per {timeout} minuti:\n\n{code}\n\nSe non hai richiesto di resettare la password per favore ignora questa email o contatta il tuo amministratore in caso di domande.\nPer sicurezza, per favore NON inoltrare questa email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Accedi con la password", "login.toggleText.password-reset.email": "Hai dimenticato la password?", "login.toggleText.password-reset.email-password": "← Torna al login", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Esci", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opzioni", "options.none": "Nessuna opzione", + "options.all": "Show all {count} options", "orientation": "Orientamento", "orientation.landscape": "Orizzontale", @@ -550,7 +573,7 @@ "save": "Salva", "search": "Cerca", "search.min": "Inserisci almeno {min} caratteri per la ricerca", - "search.all": "Mostra tutti", + "search.all": "Show all {count} results", "search.results.none": "Nessun risultato", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "La cartella content sembra essere esposta", "system.issues.eol.kirby": "La versione di Kirby installata è giunta alla fine del suo ciclo di vita e non riceverà ulteriori aggiornamenti di sicurezza ", "system.issues.eol.plugin": "La versione installata del plugin { plugin } è giunta alla fine del suo ciclo di vita e non riceverà ulteriori aggiornamenti di sicurezza", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Il debug deve essere disattivato in produzione", "system.issues.git": "La cartella .git sembra essere esposta", "system.issues.https": "Raccomandiamo l'utilizzo di HTTPS per tutti i siti", diff --git a/i18n/translations/ko.json b/i18n/translations/ko.json index 9177ecdc4b..2157af6945 100644 --- a/i18n/translations/ko.json +++ b/i18n/translations/ko.json @@ -3,6 +3,7 @@ "account.delete": "계정 삭제", "account.delete.confirm": "계정을 삭제할까요? 계정을 삭제한 뒤에는 복구할 수 없습니다.", + "activate": "Activate", "add": "\ucd94\uac00", "alpha": "Alpha", "author": "저자", @@ -47,6 +48,7 @@ "dialog.users.empty": "선택할 사용자가 없습니다.", "dimensions": "크기", + "disable": "Disable", "disabled": "비활성화", "discard": "무시", @@ -134,6 +136,9 @@ "error.license.email": "올바른 이메일 주소를 입력하세요.", "error.license.verification": "라이선스 키가 올바르지 않습니다.", + "error.login.totp.confirm.invalid": "코드가 올바르지 않습니다.", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "{label} 필드에 오류가 있습니다.\n{message}", "error.offline": "패널이 오프라인 상태입니다.", @@ -407,15 +412,16 @@ "languages.secondary.empty": "보조 언어가 없습니다.", "license": "라이선스", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "라이선스 구매", - "license.register": "등록", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "라이선스 코드를 입력하세요.", "license.manage": "라이선스 관리", - "license.register.help": "Kirby를 등록하려면 이메일로 전송받은 라이선스 코드와 이메일 주소를 입력하세요.", - "license.register.label": "라이선스 코드를 입력하세요.", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Kirby와 함께해주셔서 감사합니다.", - "license.unregistered": "Kirby가 등록되지 않았습니다.", + "license.ready": "Ready to launch your site?", + "license.success": "Kirby와 함께해주셔서 감사합니다.", "license.unregistered.label": "Kirby가 등록되지 않았습니다.", "link": "\uc77c\ubc18 \ub9c1\ud06c", @@ -434,7 +440,9 @@ "login.code.label.login": "로그인 코드", "login.code.label.password-reset": "암호 초기화 코드", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "입력한 이메일 주소로 코드를 전송했습니다.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "{user.nameOrEmail} 님,\n\n{site} 패널에서 요청한 로그인 코드는 다음과 같습니다. 로그인 코드는 {timeout}분 동안 유효합니다.\n\n{code}\n\n로그인 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.", "login.email.login.subject": "로그인 코드", "login.email.password-reset.body": "{user.nameOrEmail} 님,\n\n{site} 패널에서 요청한 암호 초기화 코드는 다음과 같습니다. 암호 초기화 코드는 {timeout}분 동안 유효합니다.\n\n{code}\n\n암호 초기화 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "암호로 로그인", "login.toggleText.password-reset.email": "암호 찾기", "login.toggleText.password-reset.email-password": "로그인 화면으로", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "로그아웃", @@ -481,6 +503,7 @@ "option": "옵션", "options": "옵션", "options.none": "옵션이 없습니다.", + "options.all": "Show all {count} options", "orientation": "비율", "orientation.landscape": "가로로 긴 사각형", @@ -550,7 +573,7 @@ "save": "\uc800\uc7a5", "search": "검색", "search.min": "{min}자 이상 입력하세요.", - "search.all": "모두 보기", + "search.all": "Show all {count} results", "search.results.none": "해당하는 결과가 없습니다.", "section.invalid": "섹션이 올바르지 않습니다.", @@ -572,6 +595,7 @@ "system.issues.content": "/content
폴더의 권한을 확인하세요.",
"system.issues.eol.kirby": "설치된 Kirby는 버전이 만료되었습니다. 더 이상 보안 업데이트를 받을 수 없습니다.",
"system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates",
+ "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates",
"system.issues.debug": "공개 서버상에서는 디버그 모드를 해제하세요.",
"system.issues.git": "/.git
폴더의 권한을 확인하세요.",
"system.issues.https": "HTTPS를 권장합니다.",
diff --git a/i18n/translations/lt.json b/i18n/translations/lt.json
index 70a26cff06..a23e87859c 100644
--- a/i18n/translations/lt.json
+++ b/i18n/translations/lt.json
@@ -3,6 +3,7 @@
"account.delete": "Panaikinti savo paskyrą",
"account.delete.confirm": "Ar tikrai norite panaikinti savo paskyrą? Jūs iš karto atsijungsite. Paskyros bus neįmanoma atstatyti.",
+ "activate": "Activate",
"add": "Pridėti",
"alpha": "Alpha",
"author": "Autorius",
@@ -47,6 +48,7 @@
"dialog.users.empty": "Nėra vartotojų pasirinkimui",
"dimensions": "Išmatavimai",
+ "disable": "Disable",
"disabled": "Išjungta",
"discard": "Atšaukti",
@@ -134,6 +136,9 @@
"error.license.email": "Prašome įrašyti teisingą el. pašto adresą",
"error.license.verification": "Nepavyko patikrinti licenzijos",
+ "error.login.totp.confirm.invalid": "Neteisinas kodas",
+ "error.login.totp.confirm.missing": "Please enter the current code",
+
"error.object.validation": "There’s an error in the \"{label}\" field:\n{message}",
"error.offline": "Valdymo pultas dabar yra offline",
@@ -407,15 +412,16 @@
"languages.secondary.empty": "Dar nėra papildomų kalbų",
"license": "Licenzija",
+ "license.activate": "Activate it now",
+ "license.activate.label": "Please activate your license",
+ "license.activate.domain": "Your license will be activated for {host}.",
+ "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.",
"license.buy": "Pirkti licenziją",
- "license.register": "Registruoti",
+ "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.",
+ "license.code.label": "Prašome įrašyti jūsų licenzijos kodą",
"license.manage": "Valdyti savo licencijas",
- "license.register.help": "Licenzijos kodą gavote el. paštu po apmokėjimo. Prašome įterpti čia, kad sistema būtų užregistruota.",
- "license.register.label": "Prašome įrašyti jūsų licenzijos kodą",
- "license.register.domain": "Your license will be registered to {host}.",
- "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.",
- "license.register.success": "Ačiū, kad palaikote Kirby",
- "license.unregistered": "Tai neregistruota Kirby demo versija",
+ "license.ready": "Ready to launch your site?",
+ "license.success": "Ačiū, kad palaikote Kirby",
"license.unregistered.label": "Neregistruota",
"link": "Nuoroda",
@@ -434,7 +440,9 @@
"login.code.label.login": "Prisijungimo kodas",
"login.code.label.password-reset": "Slaptažodžio atstatymo kodas",
"login.code.placeholder.email": "000 000",
+ "login.code.placeholder.totp": "000000",
"login.code.text.email": "Jei jūsų el. paštas yra užregistruotas, užklaistas kodas buvo išsiųstas el. paštu.",
+ "login.code.text.totp": "Please enter the one‑time code from your authenticator app.",
"login.email.login.body": "Sveiki, {user.nameOrEmail},\n\nNeseniai užklausėte prisijungimo kodo svetainėje {site}.\nŠis kodas galios {timeout} min.:\n\n{code}\n\nJei neprašėte šio kodo, tiesiog ignoruokite, arba susisiekite su administratoriumi.\nDėl saugumo, prašome NEPERSIŲSTI šio laiško.",
"login.email.login.subject": "Jūsų prisijungimo kodas",
"login.email.password-reset.body": "Sveiki, {user.nameOrEmail},\n\nNeseniai užklausėte naujo slaptažodžio kūrimo kodo svetainėje {site}.\nŠis kodas galios {timeout} min.:\n\n{code}\n\nJei neprašėte šio kodo, tiesiog ignoruokite, arba susisiekite su administratoriumi.\nDėl saugumo, prašome NEPERSIŲSTI šio laiško",
@@ -445,6 +453,20 @@
"login.toggleText.code.email-password": "Prisijungti su slaptažodžiu",
"login.toggleText.password-reset.email": "Pamiršote slaptažodį?",
"login.toggleText.password-reset.email-password": "← Atgal į prisijungimą",
+ "login.totp.enable.option": "Set up one‑time codes",
+ "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.",
+ "login.totp.enable.qr.label": "1. Scan this QR code",
+ "login.totp.enable.qr.help": "Unable to scan? Add the setup key {secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Atsijungti", @@ -481,6 +503,7 @@ "option": "Option", "options": "Pasirinkimai", "options.none": "Nėra pasirinkimų", + "options.all": "Show all {count} options", "orientation": "Orientacija", "orientation.landscape": "Horizontali", @@ -550,7 +573,7 @@ "save": "Išsaugoti", "search": "Ieškoti", "search.min": "Minimalus simbolių kiekis paieškai: {min}", - "search.all": "Rodyti viską", + "search.all": "Show all {count} results", "search.results.none": "Nėra rezultatų", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "Rekomenduojame HTTPS visoms svetainėms", diff --git a/i18n/translations/nb.json b/i18n/translations/nb.json index 063f6a6525..6c17718dc5 100644 --- a/i18n/translations/nb.json +++ b/i18n/translations/nb.json @@ -3,6 +3,7 @@ "account.delete": "Slett kontoen din", "account.delete.confirm": "Er du sikker på at du vil slette kontoen din? Du vil bli logget ut umiddelbart. Kontoen din kan ikke gjenopprettes.", + "activate": "Activate", "add": "Legg til", "alpha": "Alfa", "author": "Forfatter", @@ -47,6 +48,7 @@ "dialog.users.empty": "Ingen brukere å velge", "dimensions": "Dimensjoner", + "disable": "Disable", "disabled": "Deaktivert", "discard": "Forkast", @@ -134,6 +136,9 @@ "error.license.email": "Vennligst skriv inn en gyldig e-postadresse", "error.license.verification": "Lisensen kunne ikke verifiseres", + "error.login.totp.confirm.invalid": "Ugyldig kode", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "Panelet er i øyeblikket offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Det er ingen andre språk ennå", "license": "Kirby lisens", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Kjøp lisens", - "license.register": "Registrer", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Vennligst skriv inn din lisenskode", "license.manage": "Håndter dine lisenser", - "license.register.help": "Du skal ha mottatt din lisenskode for kjøpet via e-post. Vennligst kopier og lim inn denne for å registrere deg.", - "license.register.label": "Vennligst skriv inn din lisenskode", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Takk for at du støtter Kirby", - "license.unregistered": "Dette er en uregistrert demo av Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Takk for at du støtter Kirby", "license.unregistered.label": "Unregistered", "link": "Adresse", @@ -434,7 +440,9 @@ "login.code.label.login": "Login kode", "login.code.label.password-reset": "Passord tilbakestillingskode", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Dersom din e-post er registrert vil den forespurte koden bli sendt via e-post.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hei {user.nameOrEmail},\n\nDu ba nylig om en innloggingskode til panelet til {site}.\nFølgende innloggingskode vil være gyldig i {timeout} minutter:\n\n{code}\n\nDersom du ikke ba om en innloggingskode, vennligst ignorer denne e-posten eller kontakt din administrator hvis du har spørsmål.\nFor sikkerhets skyld, vennligst IKKE videresend denne e-posten.", "login.email.login.subject": "Din innloggingskode", "login.email.password-reset.body": "Hei {user.nameOrEmail},\n\nDu ba nylig om en tilbakestilling av passord til panelet til {site}.\nFølgende tilbakestillingskode vil være gyldig i {timeout} minutter:\n\n{code}\n\nDersom du ikke ba om en tilbakestillingskode, vennligst ignorer denne e-posten eller kontakt din administrator hvis du har spørsmål.\nFor sikkerhets skyld, vennligst IKKE videresend denne e-posten.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Logg inn med passord", "login.toggleText.password-reset.email": "Glemt passord?", "login.toggleText.password-reset.email-password": "← Tilbake til innlogging", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Logg ut", @@ -481,6 +503,7 @@ "option": "Alternativ", "options": "Alternativer", "options.none": "Ingen alternativer", + "options.all": "Show all {count} options", "orientation": "Orientering", "orientation.landscape": "Landskap", @@ -550,7 +573,7 @@ "save": "Lagre", "search": "Søk", "search.min": "Skriv inn {min} tegn for å søke", - "search.all": "Vis alle", + "search.all": "Show all {count} results", "search.results.none": "Ingen resultater", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/nl.json b/i18n/translations/nl.json index e4dde0a300..f5771cd0ac 100644 --- a/i18n/translations/nl.json +++ b/i18n/translations/nl.json @@ -3,6 +3,7 @@ "account.delete": "Verwijder je account", "account.delete.confirm": "Wil je echt je account verwijderen? Je wordt direct uitgelogd. Uw account kan niet worden hersteld.", + "activate": "Activate", "add": "Voeg toe", "alpha": "Alpha", "author": "Auteur", @@ -47,6 +48,7 @@ "dialog.users.empty": "Geen gebruikers om te selecteren", "dimensions": "Dimensies", + "disable": "Disable", "disabled": "Uitgeschakeld", "discard": "Annuleren", @@ -134,6 +136,9 @@ "error.license.email": "Gelieve een geldig emailadres in te voeren", "error.license.verification": "De licentie kon niet worden geverifieerd. ", + "error.login.totp.confirm.invalid": "Ongeldige code", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "Het Panel is momenteel offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Er zijn nog geen andere talen beschikbaar", "license": "Licentie", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Koop een licentie", - "license.register": "Registreren", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Vul je licentie in", "license.manage": "Beheer je licenties", - "license.register.help": "Je hebt de licentie via e-mail gekregen nadat je de aankoop hebt gedaan. Kopieer en plak de licentie om te registreren. ", - "license.register.label": "Vul je licentie in", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Bedankt dat je Kirby ondersteunt", - "license.unregistered": "Dit is een niet geregistreerde demo van Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Bedankt dat je Kirby ondersteunt", "license.unregistered.label": "Unregistered", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Log in code", "login.code.label.password-reset": "Wachtwoord herstel code", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Als uw e-mailadres geregistreerd is, werd de gevraagde code per e-mail verzonden.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hallo {user.nameOrEmail},\n\nJe hebt onlangs een inlogcode aangevraagd voor het Panel van {site}.\nDe volgende inlogcode is {timeout} minuten geldig:\n\n{code}\n\nAls je geen inlogcode hebt aangevraagd, mag je deze mail negeren of neem je contact op met uw beheerder.\nOm veiligheidsredenen verzoeken wij deze e-mail NIET door te sturen.", "login.email.login.subject": "Jouw log in code", "login.email.password-reset.body": "Hallo {user.nameOrEmail},\n\nJe hebt onlangs een paswoord herstel code aangevraagd voor het Panel van {site}.\nDe volgende paswoord herstel code is {timeout} minuten geldig:\n\n{code}\n\nAls je geen paswoord herstel code hebt aangevraagd, mag je deze mail negeren of neem je contact op met uw beheerder.\nOm veiligheidsredenen verzoeken wij deze e-mail NIET door te sturen.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Log in met je wachtwoord", "login.toggleText.password-reset.email": "Wachtwoord vergeten?", "login.toggleText.password-reset.email-password": "← Terug naar log in", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Uitloggen", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opties", "options.none": "Geen opties beschikbaar", + "options.all": "Show all {count} options", "orientation": "Oriëntatie", "orientation.landscape": "Liggend", @@ -550,7 +573,7 @@ "save": "Opslaan", "search": "Zoeken", "search.min": "Voer {min} tekens in om te zoeken", - "search.all": "Toon alles", + "search.all": "Show all {count} results", "search.results.none": "Geen resultaten", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "De .git map lijkt zichtbaar te zijn", "system.issues.https": "We raden HTTPS aan voor al je sites", diff --git a/i18n/translations/pl.json b/i18n/translations/pl.json index a6f1b8489a..e6a37e0c86 100644 --- a/i18n/translations/pl.json +++ b/i18n/translations/pl.json @@ -3,6 +3,7 @@ "account.delete": "Usuń swoje konto", "account.delete.confirm": "Czy na pewno chcesz usunąć swoje konto? Zostaniesz natychmiast wylogowany. Twojego konta nie da się odzyskać.", + "activate": "Activate", "add": "Dodaj", "alpha": "Alfa", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "Brak użytkowników do wyboru", "dimensions": "Wymiary", + "disable": "Disable", "disabled": "Wyłączone", "discard": "Odrzu\u0107", @@ -134,6 +136,9 @@ "error.license.email": "Wprowadź poprawny adres email", "error.license.verification": "Nie udało się zweryfikować licencji", + "error.login.totp.confirm.invalid": "Nieprawidłowy kod", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Wystąpił błąd w polu „{label}”:\n{message}", "error.offline": "Panel jest obecnie offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Nie ma jeszcze dodatkowych języków", "license": "Licencja", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Kup licencję", - "license.register": "Zarejestruj", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Wprowadź swój kod licencji", "license.manage": "Zarządzaj swoimi licencjami", - "license.register.help": "Po zakupieniu licencji otrzymałaś/-eś mailem klucz. Skopiuj go i wklej tutaj, aby dokonać rejestracji.", - "license.register.label": "Wprowadź swój kod licencji", - "license.register.domain": "Twoja licencja zostanie zarejestrowana na {host}.", - "license.register.local": "Zamierzasz zarejestrować licencję dla swojej domeny lokalnej {host}. Jeśli ta witryna zostanie wdrożona w domenie ogólnodostępnej, zarejestruj ją tam. Jeżeli {host} jest faktycznie domeną, do której chcesz przypisać licencję, kontynuuj.", - "license.register.success": "Dziękujemy za wspieranie Kirby", - "license.unregistered": "To jest niezarejestrowana wersja demonstracyjna Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Dziękujemy za wspieranie Kirby", "license.unregistered.label": "Niezarejestrowane", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Kod logowania się", "login.code.label.password-reset": "Kod resetowania hasła", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Jeśli Twój adres email jest zarejestrowany, żądany kod został wysłany na Twoją skrzynkę.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Cześć {user.nameOrEmail},\n\nNiedawno poprosiłaś/-eś o kod do zalogowania się do panelu strony {site}.\nPoniższy kod do zalogowania się będzie ważny przez {timeout} minut:\n\n{code}\n\nJeżeli nie zażądałaś/-eś kodu do logowania się, zignoruj tę wiadomość e-mail lub skontaktuj się z administratorem, jeśli masz pytania.\nZe względów bezpieczeństwa NIE przesyłaj dalej tego e-maila.", "login.email.login.subject": "Twój kod logowania się", "login.email.password-reset.body": "Cześć {user.nameOrEmail},\n\nNiedawno poprosiłaś/-eś o kod resetowania hasła do panelu strony {site}.\nPoniższy kod resetowania hasła będzie ważny przez {timeout} minut:\n\n{code}\n\nJeżeli nie zażądałaś/-eś kodu resetowania hasła, zignoruj tę wiadomość e-mail lub skontaktuj się z administratorem, jeśli masz pytania. \nZe względów bezpieczeństwa NIE przesyłaj dalej tego e-maila. ", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Zaloguj się za pomocą hasła", "login.toggleText.password-reset.email": "Zapomniałeś/-aś hasła?", "login.toggleText.password-reset.email-password": "← Powrót do logowania", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Wyloguj się", @@ -481,6 +503,7 @@ "option": "Opcja", "options": "Opcje", "options.none": "Brak opcji", + "options.all": "Show all {count} options", "orientation": "Orientacja", "orientation.landscape": "Pozioma", @@ -550,7 +573,7 @@ "save": "Zapisz", "search": "Szukaj", "search.min": "Aby wyszukać, wprowadź co najmniej {min} znaków", - "search.all": "Pokaż wzystkie", + "search.all": "Show all {count} results", "search.results.none": "Brak wyników", "section.invalid": "Sekcja jest nieprawidłowa", @@ -572,6 +595,7 @@ "system.issues.content": "Zdaje się, że folder „content” jest wystawiony na publiczny dostęp", "system.issues.eol.kirby": "Twoja zainstalowana wersja Kirby osiągnęła koniec okresu wsparcia i nie będzie otrzymywać dalszych aktualizacji zabezpieczeń", "system.issues.eol.plugin": "Twoja zainstalowana wersja wtyczki { plugin } osiągnęła koniec okresu wsparcia i nie będzie otrzymywać dalszych aktualizacji zabezpieczeń", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugowanie musi być wyłączone w środowisku produkcyjnym", "system.issues.git": "Zdaje się, że folder „.git” jest wystawiony na publiczny dostęp", "system.issues.https": "Zalecamy HTTPS dla wszystkich Twoich witryn", diff --git a/i18n/translations/pt_BR.json b/i18n/translations/pt_BR.json index 8015b4bfe9..0844848606 100644 --- a/i18n/translations/pt_BR.json +++ b/i18n/translations/pt_BR.json @@ -3,6 +3,7 @@ "account.delete": "Deletar sua conta", "account.delete.confirm": "Deseja realmente deletar sua conta? Você sairá do site imediatamente. Sua conta não poderá ser recuperada. ", + "activate": "Activate", "add": "Adicionar", "alpha": "Alpha", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "Nenhum usuário para selecionar", "dimensions": "Dimensões", + "disable": "Disable", "disabled": "Desativado", "discard": "Descartar", @@ -134,6 +136,9 @@ "error.license.email": "Digite um endereço de email válido", "error.license.verification": "A licensa não pôde ser verificada", + "error.login.totp.confirm.invalid": "Código inválido", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "O painel está offline no momento", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Nenhum idioma secundário", "license": "Licen\u00e7a do Kirby ", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Comprar licença", - "license.register": "Registrar", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Por favor, digite o código da sua licença", "license.manage": "Manage your licenses", - "license.register.help": "Você recebeu o código da sua licença por email ao efetuar sua compra. Por favor, copie e cole o código para completar seu registro.", - "license.register.label": "Por favor, digite o código da sua licença", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Obrigado por apoiar o Kirby", - "license.unregistered": "Esta é uma cópia de demonstração não registrada do Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Obrigado por apoiar o Kirby", "license.unregistered.label": "Unregistered", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Código de acesso", "login.code.label.password-reset": "Código de redefinição de senha", "login.code.placeholder.email": "000 0000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Se seu endereço de email está registrado, o código requisitado será mandado por email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Oi, {user.nameOrEmail},\n\nVocê recentemente pediu um código de acesso ao painel administrativo do site {site}.\nO seguinte código será válido por {timeout} minutos:\n\n{code}\n\nSe você não pediu este código de acesso, por favor ignore esta mensagem, ou contate seu Administrador de Sistemas se você tiver dúvidas.\nPor questões de segurança, por favor NÃO compartilhe esta mensagem.", "login.email.login.subject": "Seu código de acesso", "login.email.password-reset.body": "Oi, {user.nameOrEmail},\n\nVocê recentemente pediu um código de redefinição de senha, para o painel administrativo do site {site}.\nO seguinte código de redefinição de senha será válido por {timeout} minutos:\n\n{code}\n\nSe você não pediu este código, por favor ignore esta mensagem, ou contate seu Administrador de Sistemas se você tiver dúvidas.\nPor questões de segurança, por favor NÃO compartilhe esta mensagem.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Entrar com senha", "login.toggleText.password-reset.email": "Esqueceu sua senha?", "login.toggleText.password-reset.email-password": "← Voltar à entrada", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Sair", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opções", "options.none": "Nenhuma opção", + "options.all": "Show all {count} options", "orientation": "Orientação", "orientation.landscape": "Paisagem", @@ -550,7 +573,7 @@ "save": "Salvar", "search": "Buscar", "search.min": "Digite {min} caracteres para fazer uma busca", - "search.all": "Mostrar todos", + "search.all": "Show all {count} results", "search.results.none": "Nenhum resultado", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/pt_PT.json b/i18n/translations/pt_PT.json index ab31d45abc..8dbed7e35d 100644 --- a/i18n/translations/pt_PT.json +++ b/i18n/translations/pt_PT.json @@ -3,6 +3,7 @@ "account.delete": "Deletar sua conta", "account.delete.confirm": "Deseja realmente deletar sua conta? Você sairá do site imediatamente. Sua conta não poderá ser recuperada. ", + "activate": "Activate", "add": "Adicionar", "alpha": "Alpha", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "Sem utilizadores para selecionar", "dimensions": "Dimensões", + "disable": "Disable", "disabled": "Inativo", "discard": "Descartar", @@ -134,6 +136,9 @@ "error.license.email": "Digite um endereço de email válido", "error.license.verification": "Não foi possível verificar a licença", + "error.login.totp.confirm.invalid": "Código inválido", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "O painel está offline no momento", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Nenhum idioma secundário", "license": "Licen\u00e7a do Kirby ", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Comprar uma licença", - "license.register": "Registrar", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Por favor, digite o código da sua licença", "license.manage": "Manage your licenses", - "license.register.help": "Recebeu o código da sua licença por email após a compra. Por favor, copie e cole-o para completar o registro.", - "license.register.label": "Por favor, digite o código da sua licença", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Obrigado por apoiar o Kirby", - "license.unregistered": "Esta é uma demonstração não registrada do Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Obrigado por apoiar o Kirby", "license.unregistered.label": "Unregistered", "link": "Link", @@ -434,7 +440,9 @@ "login.code.label.login": "Código de acesso", "login.code.label.password-reset": "Código de redefinição de senha", "login.code.placeholder.email": "000 0000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Se seu endereço de email está registrado, o código requisitado será mandado por email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", "login.email.login.subject": "Seu código de acesso", "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Entrar com senha", "login.toggleText.password-reset.email": "Esqueceu sua senha?", "login.toggleText.password-reset.email-password": "← Voltar à entrada", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Sair", @@ -481,6 +503,7 @@ "option": "Option", "options": "Opções", "options.none": "Sem opções", + "options.all": "Show all {count} options", "orientation": "Orientação", "orientation.landscape": "Paisagem", @@ -550,7 +573,7 @@ "save": "Salvar", "search": "Buscar", "search.min": "Introduza {min} caracteres para pesquisar", - "search.all": "Mostrar todos", + "search.all": "Show all {count} results", "search.results.none": "Sem resultados", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/ro.json b/i18n/translations/ro.json index 10b4b5a9cb..9f4a198eab 100644 --- a/i18n/translations/ro.json +++ b/i18n/translations/ro.json @@ -3,6 +3,7 @@ "account.delete": "Șterge-ți contul", "account.delete.confirm": "Chiar vrei să îți ștergi contul? Vei fi deconectat imediat. Contul nu poate fi recuperat.", + "activate": "Activate", "add": "Adaug\u0103", "alpha": "Alfa", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "Nu există utilizatori de selectat", "dimensions": "Dimensiuni", + "disable": "Disable", "disabled": "Dezactivat", "discard": "Renun\u021b\u0103", @@ -134,6 +136,9 @@ "error.license.email": "Te rog introdu o adresă de e-mail validă", "error.license.verification": "Licența nu a putut fi verificată", + "error.login.totp.confirm.invalid": "Cod invalid", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Există o eroare la câmpul \"{label}\":\n{message}", "error.offline": "Panoul este momentan offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Nu există limbi secundare deocamdată.", "license": "Licența", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Cumpără o licență", - "license.register": "Înregistrează-te", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Te rog introdu codul tău de licență", "license.manage": "Gestionează-ți licențele", - "license.register.help": "Ai primit codul de licență pe adresa de e-mail după cumpărare. Te rog copiaz-o și insereaz-o pentru a te înregistra.", - "license.register.label": "Te rog introdu codul tău de licență", - "license.register.domain": "Licența îți va fi înregistrată pentru {host}.", - "license.register.local": "Ești pe punctul de a-ți înregistra licența pentru domeniul tău local {host}. Dacă acest site va fi instalat pe un domeniu public, te rog înregistrează licența acolo, nu aici. Dacă {host} este domeniul pentru care vrei licența Kirby, te rog continuă.", - "license.register.success": "Mulțumim că susții Kirby", - "license.unregistered": "Acesta este un demo Kirby neînregistrat", + "license.ready": "Ready to launch your site?", + "license.success": "Mulțumim că susții Kirby", "license.unregistered.label": "Neînregistrat", "link": "Legătură", @@ -434,7 +440,9 @@ "login.code.label.login": "Cod de conectare", "login.code.label.password-reset": "Cod de restabilire parolă", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Dacă adresa de e-mail este înregistrată, codul cerut a fost trimis pe adresă.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Salut {user.nameOrEmail},\n\nAi cerut recent un cod de conectare pentru Panoul site-ului {site}.\nCodul de conectare de mai jos va fi valid pentru următoarele {timeout} minute:\n\n{code}\n\nDacă nu tu ai cerut un cod de conectare, te rog ignoră acest e-mail sau ia legătura cu administratorul site-ului dacă ai întrebări.\nDin motive de siguranță, te rog să NU trimiți acest email mai departe.", "login.email.login.subject": "Codul tău de conectare", "login.email.password-reset.body": "Salut {user.nameOrEmail},\n\nAi cerut recent un cod de restabilire a parolei pentru Panoul site-ului {site}.\nCodul de restabilire a parolei de mai jos este valabil pentru următoarele {timeout} minute:\n\n{code}\n\nDacă nu tu ai cerut codul de restabilire a parolei, te rog ignoră acest e-mail sau ia legătura cu administratorul site-ului dacă ai întrebări.\nDin motive de securitate, te rog să NU trimiți acest e-mail mai departe.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Conectare cu parola", "login.toggleText.password-reset.email": "Ți-ai uitat parola?", "login.toggleText.password-reset.email-password": "← Înapoi la conectare", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Deconectare", @@ -481,6 +503,7 @@ "option": "Opțiune", "options": "Opțiuni", "options.none": "Nicio opțiune", + "options.all": "Show all {count} options", "orientation": "Orientare", "orientation.landscape": "Landscape", @@ -550,7 +573,7 @@ "save": "Salveaz\u0103", "search": "Caută", "search.min": "Introdu {min} caractere pentru a căuta", - "search.all": "Arată toate", + "search.all": "Show all {count} results", "search.results.none": "Niciun rezultat", "section.invalid": "Secțiunea este invalidă", @@ -572,6 +595,7 @@ "system.issues.content": "Directorul de conținut pare să fie expus", "system.issues.eol.kirby": "Versiunea instalată de Kirby a ajuns la sfârșitul vieții utile și nu va mai primi actualizări de securitate.", "system.issues.eol.plugin": "Versiunea instalată a plugin-ului { plugin } a ajuns la sfârșitul vieții utile și nu va mai primi actualizări de securitate.", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Modul depanare trebuie să fie oprit în producție", "system.issues.git": "Directorul .git pare să fie expus", "system.issues.https": "Recomandăm HTTPS pentru toate site-urile.", diff --git a/i18n/translations/ru.json b/i18n/translations/ru.json index 14bcb950fb..198c809317 100644 --- a/i18n/translations/ru.json +++ b/i18n/translations/ru.json @@ -3,6 +3,7 @@ "account.delete": "Удалить пользователя", "account.delete.confirm": "Вы действительно хотите удалить свой аккаунт? Вы сразу покинете панель управления, а аккаунт нельзя будет восстановить.", + "activate": "Activate", "add": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c", "alpha": "Альфа", "author": "Автор", @@ -47,6 +48,7 @@ "dialog.users.empty": "Нет пользователей для выбора", "dimensions": "Размеры", + "disable": "Disable", "disabled": "Отключено", "discard": "\u0421\u0431\u0440\u043e\u0441", @@ -134,6 +136,9 @@ "error.license.email": "Пожалуйста, введите правильный Email", "error.license.verification": "Лицензия не подтверждена", + "error.login.totp.confirm.invalid": "Неверный код", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Ошибка в поле \"{label}\":\n{message}", "error.offline": "Панель управления не в сети", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Дополнительных языков нет", "license": "Лицензия", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Купить лицензию", - "license.register": "Зарегистрировать", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Пожалуйста вставьте код лицензии", "license.manage": "Управление лицензиями", - "license.register.help": "После покупки вы получили на Email код лицензии. Вставьте его сюда, чтобы зарегистрировать копию.", - "license.register.label": "Пожалуйста вставьте код лицензии", - "license.register.domain": "Ваша лицензия будет зарегистрирована на {host}.", - "license.register.local": "Вы собираетесь зарегистрировать лицензию на локальный домен {host}. Если этот сайт будет размещен на общедоступном домене, то, пожалуйста, укажите его вместо {host}.", - "license.register.success": "Спасибо за поддержку Kirby", - "license.unregistered": "Это незарегистрированная версия Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Спасибо за поддержку Kirby", "license.unregistered.label": "Не зарегистрировано", "link": "\u0421\u0441\u044b\u043b\u043a\u0430", @@ -434,7 +440,9 @@ "login.code.label.login": "Код для входа", "login.code.label.password-reset": "Код для сброса пароля", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Если ваш Email уже зарегистрирован, запрашиваемый код был отправлен на него.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "{code} — код для входа на сайт {site}. Код действителен {timeout} минут.\n\nЗдравствуйте, {user.nameOrEmail}!\n\nЕсли вы не запрашивали код для входа, проигнорируйте это письмо или обратитесь к администратору, если у вас есть вопросы.\nВ целях безопасности НЕ ПЕРЕСЫЛАЙТЕ это письмо.", "login.email.login.subject": "Ваш код для входа", "login.email.password-reset.body": "{code} — код для сброса пароля на сайт «{site}». Код действителен {timeout} минут.\n\nЗдравствуйте, {user.nameOrEmail}!\n\nЕсли вы не запрашивали сброс пароля, проигнорируйте это письмо или обратитесь к администратору, если у вас есть вопросы.\nВ целях безопасности НЕ ПЕРЕСЫЛАЙТЕ это письмо.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Вход с паролем", "login.toggleText.password-reset.email": "Забыли ваш пароль?", "login.toggleText.password-reset.email-password": "← Вернуться к форме входа", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Выйти", @@ -481,6 +503,7 @@ "option": "Опция", "options": "Опции", "options.none": "Параметров нет", + "options.all": "Show all {count} options", "orientation": "Ориентация", "orientation.landscape": "Горизонтальная", @@ -550,7 +573,7 @@ "save": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", "search": "Поиск", "search.min": "Введите хотя бы {min} символов для поиска", - "search.all": "Показать все", + "search.all": "Show all {count} results", "search.results.none": "Нет результатов", "section.invalid": "Неверная секция", @@ -572,6 +595,7 @@ "system.issues.content": "Похоже, к папке content есть несанкционированный доступ", "system.issues.eol.kirby": "Срок службы установленной вами версии Kirby истек, и она больше не будет получать обновления для системы безопасности", "system.issues.eol.plugin": "Срок службы установленной вами версии плагина { plugin } истек, и он не будет получать дальнейших обновлений для системы безопасности", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Включен режим отладки (debugging). Используйте его только при разработке.", "system.issues.git": "Похоже, к папке .git есть несанкционированный доступ", "system.issues.https": "Рекомендуется использовать HTTPS на всех сайтах", diff --git a/i18n/translations/sk.json b/i18n/translations/sk.json index 43c2a95f0e..660640098a 100644 --- a/i18n/translations/sk.json +++ b/i18n/translations/sk.json @@ -3,6 +3,7 @@ "account.delete": "Zmazať váš účet", "account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.", + "activate": "Activate", "add": "Pridať", "alpha": "Alpha", "author": "Autor", @@ -47,6 +48,7 @@ "dialog.users.empty": "Zvolení neboli žiadni uživátelia", "dimensions": "Rozmery", + "disable": "Disable", "disabled": "Disabled", "discard": "Zahodiť", @@ -134,6 +136,9 @@ "error.license.email": "Prosím, zadajte platnú e-mailovú adresu", "error.license.verification": "The license could not be verified", + "error.login.totp.confirm.invalid": "Neplatný kód", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "There’s an error in the \"{label}\" field:\n{message}", "error.offline": "The Panel is currently offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Zatiaľ žiadne sekundárne jazyky", "license": "Licencia", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Zakúpiť licenciu", - "license.register": "Registrovať", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Prosím, zadajte váš licenčný kód", "license.manage": "Manage your licenses", - "license.register.help": "Licenčný kód vám bol doručený e-mailom po úspešnom nákupe. Prosím, skopírujte a prilepte ho na uskutočnenie registrácie.", - "license.register.label": "Prosím, zadajte váš licenčný kód", - "license.register.domain": "Your license will be registered to {host}.", - "license.register.local": "You are about to register your license for your local domain {host}. If this site will be deployed to a public domain, please register it there instead. If {host} is the domain you want to license Kirby to, please continue.", - "license.register.success": "Ďakujeme za vašu podporu Kirby", - "license.unregistered": "Toto je neregistrované demo Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Ďakujeme za vašu podporu Kirby", "license.unregistered.label": "Unregistered", "link": "Odkaz", @@ -434,7 +440,9 @@ "login.code.label.login": "Login code", "login.code.label.password-reset": "Password reset code", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "If your email address is registered, the requested code was sent via email.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", "login.email.login.subject": "Your login code", "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Login with password", "login.toggleText.password-reset.email": "Forgot your password?", "login.toggleText.password-reset.email-password": "← Back to login", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Odhlásenie", @@ -481,6 +503,7 @@ "option": "Option", "options": "Nastavenia", "options.none": "No options", + "options.all": "Show all {count} options", "orientation": "Orientácia", "orientation.landscape": "Širokouhlá", @@ -550,7 +573,7 @@ "save": "Uložiť", "search": "Hľadať", "search.min": "Enter {min} characters to search", - "search.all": "Show all", + "search.all": "Show all {count} results", "search.results.none": "No results", "section.invalid": "The section is invalid", @@ -572,6 +595,7 @@ "system.issues.content": "The content folder seems to be exposed", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Debugging must be turned off in production", "system.issues.git": "The .git folder seems to be exposed", "system.issues.https": "We recommend HTTPS for all your sites", diff --git a/i18n/translations/sv_SE.json b/i18n/translations/sv_SE.json index bcb5d4229f..b12902d712 100644 --- a/i18n/translations/sv_SE.json +++ b/i18n/translations/sv_SE.json @@ -3,6 +3,7 @@ "account.delete": "Radera ditt konto", "account.delete.confirm": "Vill du verkligen radera ditt konto? Du kommer att loggas ut omedelbart. Ditt konto kan inte återställas.", + "activate": "Activate", "add": "L\u00e4gg till", "alpha": "Alpha", "author": "Författare", @@ -47,6 +48,7 @@ "dialog.users.empty": "Inga användare att välja", "dimensions": "Dimensioner", + "disable": "Disable", "disabled": "Inaktiverad", "discard": "Kassera", @@ -134,6 +136,9 @@ "error.license.email": "Ange en giltig e-postadress", "error.license.verification": "Licensen kunde inte verifieras", + "error.login.totp.confirm.invalid": "Ogiltig kod", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "Det finns ett fel i fältet \"{label}\":\n{message}", "error.offline": "Panelen är för närvarande offline", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Det finns inga sekundära språk ännu", "license": "Licens", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Köp en licens", - "license.register": "Registrera", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Ange din licenskod", "license.manage": "Hantera dina licenser", - "license.register.help": "Du fick din licenskod via e-post efter inköpet. Kopiera och klistra in den för att registrera licensen.", - "license.register.label": "Ange din licenskod", - "license.register.domain": "Din licens kommer att bli registrerad för {host}.", - "license.register.local": "Du är på väg att registrera din licens för din lokala domän {host}. Om den här webbplatsen kommer att distribueras till en offentlig domän, registrera den där istället. Om {host} är domänen du vill licensiera Kirby till, fortsätt.", - "license.register.success": "Tack för att du stödjer Kirby", - "license.unregistered": "Detta är en oregistrerad demo av Kirby", + "license.ready": "Ready to launch your site?", + "license.success": "Tack för att du stödjer Kirby", "license.unregistered.label": "Oregistrerad", "link": "L\u00e4nk", @@ -434,7 +440,9 @@ "login.code.label.login": "Inloggningskod", "login.code.label.password-reset": "Kod för återställning av lösenord", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "Om din e-postadress är registrerad skickades den begärda koden via e-post.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Hej {user.nameOrEmail}.\n\nDu begärde nyligen en inloggningskod till panelen för {site}.\nFöljande kod är giltig i {timeout} minuter:\n\n{code}\n\nOm du inte har begärt någon inloggningskod, ignorera detta e-postmeddelande eller kontakta din administratör om du har frågor.\nAv säkerhetsskäl, vidarebefordra INTE detta e-postmeddelande.", "login.email.login.subject": "Din inloggningskod", "login.email.password-reset.body": "Hej {user.nameOrEmail}.\n\nDu begärde nyligen en kod för återställning av ditt lösenord till panelen för {site}.\nFöljande kod är giltig i {timeout} minuter:\n\n{code}\n\nOm du inte har begärt en återställning av ditt lösenord, ignorera detta e-postmeddelande eller kontakta din administratör om du har frågor.\nAv säkerhetsskäl, vidarebefordra INTE detta e-postmeddelande.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Logga in med lösenord", "login.toggleText.password-reset.email": "Glömt ditt lösenord?", "login.toggleText.password-reset.email-password": "← Tillbaka till inloggning", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Logga ut", @@ -481,6 +503,7 @@ "option": "Alternativ", "options": "Alternativ", "options.none": "Inga alternativ", + "options.all": "Show all {count} options", "orientation": "Orientering", "orientation.landscape": "Liggande", @@ -550,7 +573,7 @@ "save": "Spara", "search": "Sök", "search.min": "Ange {min} tecken för att söka", - "search.all": "Visa alla", + "search.all": "Show all {count} results", "search.results.none": "Inga träffar", "section.invalid": "Sektionen är ogiltig", @@ -572,6 +595,7 @@ "system.issues.content": "Mappen content verkar vara exponerad", "system.issues.eol.kirby": "Din installerade Kirby-version har nått slutet av sin livscykel och kommer inte att få fler säkerhetsuppdateringar", "system.issues.eol.plugin": "Den installerade versionen av tillägget { plugin } har nått slutet på sin livscykel och kommer inte att få fler säkerhetsuppdateringar.", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Felsökningsläget måste vara avstängt i produktion", "system.issues.git": "Mappen .git verkar vara exponerad", "system.issues.https": "Vi rekommenderar HTTPS för alla dina webbplatser", diff --git a/i18n/translations/tr.json b/i18n/translations/tr.json index 6fed476f82..f3ea5298cd 100644 --- a/i18n/translations/tr.json +++ b/i18n/translations/tr.json @@ -3,6 +3,7 @@ "account.delete": "Hesabınızı silin", "account.delete.confirm": "Hesabınızı gerçekten silmek istiyor musunuz? Oturumunuz hemen sonlandırılacaktır. Hesabınız daha sonra geri alınamaz.", + "activate": "Activate", "add": "Ekle", "alpha": "Alfa", "author": "Yazar", @@ -47,6 +48,7 @@ "dialog.users.empty": "Seçilecek kullanıcı yok", "dimensions": "Boyutlar", + "disable": "Disable", "disabled": "Devredışı", "discard": "Vazge\u00e7", @@ -134,6 +136,9 @@ "error.license.email": "Lütfen geçerli bir e-posta adresi girin", "error.license.verification": "Lisans doğrulanamadı", + "error.login.totp.confirm.invalid": "Geçersiz kod", + "error.login.totp.confirm.missing": "Please enter the current code", + "error.object.validation": "\"{label}\" alanında bir hata var:\n{message}", "error.offline": "Panel şu anda çevrimdışı", @@ -407,15 +412,16 @@ "languages.secondary.empty": "Henüz ikincil bir dil yok", "license": "Lisans", + "license.activate": "Activate it now", + "license.activate.label": "Please activate your license", + "license.activate.domain": "Your license will be activated for {host}.", + "license.activate.local": "You are about to activate your Kirby license for your local domain {host}. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.buy": "Bir lisans satın al", - "license.register": "Kayıt Ol", + "license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", + "license.code.label": "Lütfen lisans kodunu giriniz", "license.manage": "Lisanslarınızı yönetin", - "license.register.help": "Satın alma işleminden sonra e-posta yoluyla lisans kodunuzu aldınız. Lütfen kayıt olmak için kodu kopyalayıp yapıştırın.", - "license.register.label": "Lütfen lisans kodunu giriniz", - "license.register.domain": "Lisansınız {host} için kaydedilecek.", - "license.register.local": "Lisansınızı yerel alan adınız {host} için kaydetmek üzeresiniz. Bu site genel bir etki alanına dağıtılacaksa, lütfen bunun yerine lisansı orada kaydedin. Kirby'yi lisanslamak istediğiniz alan adı {host} ise lütfen devam edin.", - "license.register.success": "Kirby'yi desteklediğiniz için teşekkürler", - "license.unregistered": "Bu Kirby'nin kayıtsız bir demosu", + "license.ready": "Ready to launch your site?", + "license.success": "Kirby'yi desteklediğiniz için teşekkürler", "license.unregistered.label": "Kayıtsız", "link": "Ba\u011flant\u0131", @@ -434,7 +440,9 @@ "login.code.label.login": "Giriş kodu", "login.code.label.password-reset": "Şifre sıfırlama kodu", "login.code.placeholder.email": "000 000", + "login.code.placeholder.totp": "000000", "login.code.text.email": "E-posta adresiniz kayıtlıysa, istenen kod e-posta yoluyla gönderilmiştir.", + "login.code.text.totp": "Please enter the one‑time code from your authenticator app.", "login.email.login.body": "Merhaba {user.nameOrEmail},\n\nKısa süre önce {site} Panel'i için bir giriş kodu istediniz.\nAşağıdaki giriş kodu {timeout} dakika boyunca geçerli olacaktır:\n\n{code}\n\nBir giriş kodu istemediyseniz, lütfen bu e-postayı dikkate almayın veya sorularınız varsa yöneticinize başvurun.\nGüvenliğiniz için lütfen bu e-postayı İLETMEYİN.", "login.email.login.subject": "Giriş kodunuz", "login.email.password-reset.body": "Merhaba {user.nameOrEmail},\n\nKısa süre önce {site} Panel'i için bir şifre sıfırlama kodu istediniz.\nAşağıdaki şifre sıfırlama kodu {timeout} dakika boyunca geçerli olacaktır:\n\n{code}\n\nŞifre sıfırlama kodu istemediyseniz, lütfen bu e-postayı dikkate almayın veya sorularınız varsa yöneticinizle iletişime geçin.\nGüvenliğiniz için lütfen bu e-postayı İLETMEYİN.", @@ -445,6 +453,20 @@ "login.toggleText.code.email-password": "Şifre ile giriş yapın", "login.toggleText.password-reset.email": "Şifrenizi mi unuttunuz?", "login.toggleText.password-reset.email-password": "← Girişe geri dön", + "login.totp.enable.option": "Set up one‑time codes", + "login.totp.enable.intro": "Authenticator apps can generate one‑time codes that are used as a second factor when signing into your account.", + "login.totp.enable.qr.label": "1. Scan this QR code", + "login.totp.enable.qr.help": "Unable to scan? Add the setup key{secret}
manually to your authenticator app.",
+ "login.totp.enable.confirm.headline": "2. Confirm with generated code",
+ "login.totp.enable.confirm.text": "Your app generates a new one‑time code every 30 seconds. Enter the current code to complete the setup:",
+ "login.totp.enable.confirm.label": "Current code",
+ "login.totp.enable.confirm.help": "After this setup, we will ask you for a one‑time code every time you log in.",
+ "login.totp.enable.success": "Activated one‑time codes",
+ "login.totp.disable.option": "Disable one‑time codes",
+ "login.totp.disable.label": "Enter your password to disable one‑time codes",
+ "login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up one‑time codes again later.",
+ "login.totp.disable.admin": "This will disable one‑time codes for {user}.
In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up one‑time codes again after their next login.
", + "login.totp.disable.success": "Disabled one‑time codes", "logout": "Oturumu kapat", @@ -481,6 +503,7 @@ "option": "Seçenek", "options": "Seçenekler", "options.none": "Seçenek yok", + "options.all": "Show all {count} options", "orientation": "Oryantasyon", "orientation.landscape": "Yatay", @@ -550,7 +573,7 @@ "save": "Kaydet", "search": "Arama", "search.min": "Aramak için {min} karakter girin", - "search.all": "Tümünü göster", + "search.all": "Show all {count} results", "search.results.none": "Sonuç yok", "section.invalid": "Bu bölüm geçersizdir", @@ -572,6 +595,7 @@ "system.issues.content": "İçerik klasörü açığa çıkmış görünüyor", "system.issues.eol.kirby": "Yüklü Kirby sürümünüz kullanım ömrünün sonuna ulaştı ve daha fazla güvenlik güncellemesi almayacak", "system.issues.eol.plugin": "{ plugin } eklentisinin yüklü sürümü kullanım ömrünün sonuna ulaştı ve daha fazla güvenlik güncellemesi almayacak", + "system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.debug": "Canlı modda hata ayıklama kapatılmalıdır", "system.issues.git": ".git klasörü açığa çıkmış görünüyor", "system.issues.https": "Tüm siteleriniz için HTTPS'yi öneriyoruz", diff --git a/panel/dist/css/style.min.css b/panel/dist/css/style.min.css index 351335e041..591c5448fc 100644 --- a/panel/dist/css/style.min.css +++ b/panel/dist/css/style.min.css @@ -1 +1 @@ -.k-items{display:grid;position:relative;container-type:inline-size}.k-items[data-layout=list]{gap:2px}.k-items[data-layout=cardlets]{--items-size:1fr;grid-template-columns:repeat(auto-fill,minmax(var(--items-size),1fr));gap:.75rem;display:grid}@container (width>=15rem){.k-items[data-layout=cardlets]{--items-size:15rem}}.k-items[data-layout=cards]{grid-template-columns:1fr;gap:1.5rem;display:grid}@container (width>=6rem){.k-items[data-layout=cards][data-size=tiny]{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}}@container (width>=9rem){.k-items[data-layout=cards][data-size=small]{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}}@container (width>=12rem){.k-items[data-layout=cards][data-size=auto],.k-items[data-layout=cards][data-size=medium]{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}}@container (width>=15rem){.k-items[data-layout=cards][data-size=large]{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}}@container (width>=18rem){.k-items[data-layout=cards][data-size=huge]{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}}.k-collection-footer{margin-top:var(--spacing-2);flex-wrap:wrap}.k-empty{max-width:100%}:root{--item-button-height:var(--height-md);--item-button-width:var(--height-md);--item-height:auto;--item-height-cardlet:calc(var(--height-md)*3)}.k-item{background:var(--color-white);box-shadow:var(--shadow);border-radius:var(--rounded);height:var(--item-height);position:relative;container-type:inline-size}.k-item:has(a:focus){outline:2px solid var(--color-focus)}@supports not selector(:has(*)){.k-item:focus-within{outline:2px solid var(--color-focus)}}.k-item .k-icon-frame{--back:var(--color-gray-300)}.k-item-content{padding:var(--spacing-2);line-height:1.25;overflow:hidden}.k-item-content a:focus{outline:0}.k-item-content a:after{content:"";position:absolute;inset:0}.k-item-info{color:var(--color-text-dimmed)}.k-item-options{z-index:1;justify-content:space-between;align-items:center;display:flex;transform:translate(0)}.k-item-options[data-only-option=true]{justify-content:flex-end}.k-item-options .k-button{--button-height:var(--item-button-height);--button-width:var(--item-button-width)}.k-item .k-sort-button{z-index:2;position:absolute}.k-item:not(:hover):not(.k-sortable-fallback) .k-sort-button{opacity:0}.k-item[data-layout=list]{--item-height:var(--field-input-height);--item-button-height:var(--item-height);--item-button-width:auto;height:var(--item-height);grid-template-columns:1fr auto;align-items:center;display:grid}.k-item[data-layout=list][data-has-image=true]{grid-template-columns:var(--item-height)1fr auto}.k-item[data-layout=list] .k-frame{--ratio:1/1;height:var(--item-height);border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded)}.k-item[data-layout=list] .k-item-content{white-space:nowrap;gap:var(--spacing-2);justify-content:space-between;min-width:0;display:flex}.k-item[data-layout=list] .k-item-title,.k-item[data-layout=list] .k-item-info{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-item[data-layout=list] .k-item-title{flex-shrink:1}.k-item[data-layout=list] .k-item-info{flex-shrink:2}@container (width<=30rem){.k-item[data-layout=list] .k-item-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-item[data-layout=list] .k-item-info{display:none}}.k-item[data-layout=list] .k-sort-button{--button-width:calc(1.5rem + var(--spacing-1));--button-height:var(--item-height);left:calc(-1*var(--button-width))}.k-item:is([data-layout=cardlets],[data-layout=cards]) .k-sort-button{top:var(--spacing-2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);--button-width:1.5rem;--button-height:1.5rem;--button-rounded:var(--rounded-sm);--button-padding:0;--icon-size:14px;background:#ffffff80;inset-inline-start:var(--spacing-2);box-shadow:0 2px 5px #0003}.k-item:is([data-layout=cardlets],[data-layout=cards]) .k-sort-button:hover{background:#fffffff2}.k-item[data-layout=cardlets]{--item-height:var(--item-height-cardlet);grid-template-columns:1fr;grid-template-areas:"content""options";grid-template-rows:1fr var(--height-md);display:grid}.k-item[data-layout=cardlets][data-has-image=true]{grid-template-areas:"image content""image options";grid-template-columns:minmax(0,var(--item-height))1fr}.k-item[data-layout=cardlets] .k-frame{aspect-ratio:auto;height:var(--item-height);border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded);grid-area:image}.k-item[data-layout=cardlets] .k-item-content{grid-area:content}.k-item[data-layout=cardlets] .k-item-info{white-space:nowrap;text-overflow:ellipsis;margin-top:.125em;overflow:hidden}.k-item[data-layout=cardlets] .k-item-options{grid-area:options}.k-item[data-layout=cards]{flex-direction:column;display:flex}.k-item[data-layout=cards] .k-frame{border-start-start-radius:var(--rounded);border-start-end-radius:var(--rounded)}.k-item[data-layout=cards] .k-item-content{padding:var(--spacing-2);flex-grow:1}.k-item[data-layout=cards] .k-item-info{margin-top:.125em}.k-dialog-body{padding:var(--dialog-padding)}.k-dialog[data-has-footer=true] .k-dialog-body{padding-bottom:0}.k-button-group.k-dialog-buttons{gap:var(--spacing-3);--button-height:var(--height-lg);grid-template-columns:1fr 1fr;display:grid}.k-dialog-fields{padding-bottom:.5rem}.k-dialog-footer{padding:var(--dialog-padding);flex-shrink:0;line-height:1}.k-dialog .k-notification{border-start-start-radius:var(--dialog-rounded);border-start-end-radius:var(--dialog-rounded);margin-top:-1px;padding-block:.325rem}.k-dialog-search{--input-color-border:transparent;--input-color-back:var(--color-gray-300);margin-bottom:.75rem}:root{--dialog-color-back:var(--color-light);--dialog-color-text:currentColor;--dialog-margin:var(--spacing-6);--dialog-padding:var(--spacing-6);--dialog-rounded:var(--rounded-xl);--dialog-shadow:var(--shadow-xl);--dialog-width:22rem}.k-dialog-portal{padding:var(--dialog-margin)}.k-dialog{background:var(--dialog-color-back);color:var(--dialog-color-text);width:clamp(10rem,100%,var(--dialog-width));box-shadow:var(--dialog-shadow);border-radius:var(--dialog-rounded);flex-direction:column;line-height:1;display:flex;position:relative;overflow:clip;container-type:inline-size}@media screen and (width>=20rem){.k-dialog[data-size=small]{--dialog-width:20rem}}@media screen and (width>=22rem){.k-dialog[data-size=default]{--dialog-width:22rem}}@media screen and (width>=30rem){.k-dialog[data-size=medium]{--dialog-width:30rem}}@media screen and (width>=40rem){.k-dialog[data-size=large]{--dialog-width:40rem}}@media screen and (width>=60rem){.k-dialog[data-size=huge]{--dialog-width:60rem}}.k-dialog .k-pagination{justify-content:center;align-items:center;margin-bottom:-1.5rem;display:flex}.k-changes-dialog .k-headline{margin-top:-.5rem;margin-bottom:var(--spacing-3)}.k-error-details{background:var(--color-white);font-size:var(--text-sm);margin-top:.75rem;padding:1rem;line-height:1.25em;display:block;overflow:auto}.k-error-details dt{color:var(--color-red-500);margin-bottom:.25rem}.k-error-details dd{overflow-wrap:break-word;text-overflow:ellipsis;overflow:hidden}.k-error-details dd:not(:last-of-type){margin-bottom:1.5em}.k-error-details li{white-space:pre-line}.k-error-details li:not(:last-child){border-bottom:1px solid var(--color-background);margin-bottom:.25rem;padding-bottom:.25rem}.k-models-dialog .k-list-item{cursor:pointer}.k-page-template-switch{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:1px dashed var(--color-gray-300)}.k-page-move-dialog .k-headline{margin-bottom:var(--spacing-2)}.k-page-move-parent{--tree-color-back:var(--color-white);--tree-color-hover-back:var(--color-light);padding:var(--spacing-3);background:var(--color-white);border-radius:var(--rounded);box-shadow:var(--shadow)}.k-pages-dialog-navbar{justify-content:center;align-items:center;margin-bottom:.5rem;padding-inline-end:38px;display:flex}.k-pages-dialog-navbar .k-button[aria-disabled]{opacity:0}.k-pages-dialog-navbar .k-headline{text-align:center;flex-grow:1}.k-pages-dialog-option[aria-disabled]{opacity:.25}.k-search-dialog{--dialog-padding:0;--dialog-rounded:var(--rounded);overflow:visible}.k-overlay[open][data-type=dialog]>.k-portal>.k-search-dialog{margin-top:0}.k-search-dialog-input{--button-height:var(--input-height);align-items:center;display:flex}.k-search-dialog-types{flex-shrink:0}.k-search-dialog-input input{height:var(--input-height);border-left:1px solid var(--color-border);line-height:var(--input-height);border-radius:var(--rounded);font-size:var(--input-font-size);flex-grow:1;padding-inline:.75rem}.k-search-dialog-input input:focus{outline:0}.k-search-dialog-input .k-search-dialog-close{flex-shrink:0}.k-search-dialog-results{border-top:1px solid var(--color-border);padding:1rem}.k-search-dialog-results .k-item[data-selected=true]{outline:var(--outline)}.k-search-dialog-footer{text-align:center}.k-search-dialog-footer p{color:var(--color-text-dimmed)}.k-search-dialog-footer .k-button{margin-top:var(--spacing-4)}.k-totp-dialog-headline{margin-bottom:var(--spacing-1)}.k-totp-dialog-intro{margin-bottom:var(--spacing-6)}.k-totp-dialog-grid{gap:var(--spacing-6);display:grid}@media screen and (width>=40rem){.k-totp-dialog-grid{gap:var(--spacing-8);grid-template-columns:1fr 1fr}}.k-totp-qrcode .k-box[data-theme]{padding:var(--box-padding-inline)}.k-totp-dialog-fields .k-field-name-confirm{--input-height:var(--height-xl);--input-rounded:var(--rounded-xl);--input-font-size:var(--text-3xl)}.k-upload-dialog.k-dialog{--dialog-width:40rem}.k-upload-items{gap:.25rem;display:grid}.k-upload-item{accent-color:var(--color-focus);grid-template-columns:6rem 1fr auto;grid-template-areas:"preview input input""preview body toggle";grid-template-rows:var(--input-height)1fr;border-radius:var(--rounded);background:var(--color-white);box-shadow:var(--shadow);min-height:6rem;display:grid}.k-upload-item-preview{border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded);grid-area:preview;width:100%;height:100%;display:flex;overflow:hidden}.k-upload-item-preview:focus{border-radius:var(--rounded);outline:2px solid var(--color-focus);z-index:1}.k-upload-item-body{padding:var(--spacing-2)var(--spacing-3);flex-direction:column;grid-area:body;justify-content:space-between;min-width:0;display:flex}.k-upload-item-input.k-input{--input-color-border:transparent;--input-padding:var(--spacing-2)var(--spacing-3);--input-rounded:0;font-size:var(--text-sm);border-bottom:1px solid var(--color-light);grid-area:input}.k-upload-item-input.k-input:focus-within{outline:2px solid var(--color-focus);z-index:1;border-radius:var(--rounded)}.k-upload-item-input .k-input-after{color:var(--color-gray-600)}.k-upload-item-meta{font-size:var(--text-xs);color:var(--color-gray-600)}.k-upload-item-error{font-size:var(--text-xs);color:var(--color-red-700);margin-top:.25rem}.k-upload-item-progress{--progress-height:.25rem;--progress-color-back:var(--color-light)}.k-upload-item-toggle{grid-area:toggle;align-self:end}.k-upload-item-toggle>*{padding:var(--spacing-3)}.k-upload-item[data-completed] .k-upload-item-progress{--progress-color-value:var(--color-green-400)}.k-upload-replace-dialog .k-upload-items{gap:var(--spacing-3);align-items:center;display:flex}.k-upload-original{border-radius:var(--rounded);box-shadow:var(--shadow);width:6rem;overflow:hidden}.k-upload-replace-dialog .k-upload-item{flex-grow:1}.k-drawer-body{padding:var(--drawer-body-padding);background:var(--color-background);flex-grow:1}.k-drawer-body .k-writer-input-wrapper:focus-within .k-toolbar:not([data-inline=true]),.k-drawer-body .k-textarea-input-wrapper:focus-within .k-toolbar,.k-drawer-body .k-table th{top:-1.5rem}.k-drawer-header{--button-height:calc(var(--drawer-header-height) - var(--spacing-1));height:var(--drawer-header-height);background:var(--color-white);line-height:1;font-size:var(--text-sm);flex-shrink:0;justify-content:space-between;align-items:center;padding-inline-start:var(--drawer-header-padding);display:flex}.k-drawer-breadcrumb{flex-grow:1}.k-drawer-options{align-items:center;padding-inline-end:.75rem;display:flex}.k-drawer-option{--button-width:var(--button-height)}.k-drawer-option[aria-disabled]{opacity:var(--opacity-disabled)}.k-notification.k-drawer-notification{padding:.625rem 1.5rem}.k-drawer-tabs{align-items:center;line-height:1;display:flex}.k-drawer-tab.k-button{--button-height:calc(var(--drawer-header-height) - var(--spacing-1));--button-padding:var(--spacing-3);font-size:var(--text-xs);align-items:center;display:flex;overflow-x:visible}.k-drawer-tab.k-button[aria-current]:after{bottom:-2px;inset-inline:var(--button-padding);content:"";background:var(--color-black);z-index:1;height:2px;position:absolute}:root{--drawer-body-padding:1.5rem;--drawer-color-back:var(--color-light);--drawer-header-height:2.5rem;--drawer-header-padding:1rem;--drawer-shadow:var(--shadow-xl);--drawer-width:50rem}.k-drawer-overlay+.k-drawer-overlay{--overlay-color-back:none}.k-drawer{--header-sticky-offset:calc(var(--drawer-body-padding)*-1);z-index:var(--z-toolbar);flex-basis:var(--drawer-width);background:var(--drawer-color-back);box-shadow:var(--drawer-shadow);flex-direction:column;display:flex;position:relative;container-type:inline-size}.k-drawer[aria-disabled]{pointer-events:none;display:none}.k-dropdown{position:relative}:root{--dropdown-color-bg:var(--color-black);--dropdown-color-text:var(--color-white);--dropdown-color-hr:#ffffff40;--dropdown-padding:var(--spacing-2);--dropdown-rounded:var(--rounded);--dropdown-shadow:var(--shadow-xl)}.k-dropdown-content{--dropdown-x:0;--dropdown-y:0;inset-block-start:0;inset-inline-start:initial;padding:var(--dropdown-padding);background:var(--dropdown-color-bg);border-radius:var(--dropdown-rounded);color:var(--dropdown-color-text);box-shadow:var(--dropdown-shadow);text-align:start;transform:translate(var(--dropdown-x),var(--dropdown-y));width:max-content;position:absolute;left:0}.k-dropdown-content::backdrop{background:0 0}.k-dropdown-content[data-align-x=end]{--dropdown-x:-100%}.k-dropdown-content[data-align-x=center]{--dropdown-x:-50%}.k-dropdown-content[data-align-y=top]{--dropdown-y:-100%}.k-dropdown-content hr{background:var(--dropdown-color-hr);height:1px;margin:.5rem 0}.k-dropdown-content[data-theme=light]{--dropdown-color-bg:var(--color-white);--dropdown-color-text:var(--color-black);--dropdown-color-hr:#0000001a}.k-dropdown-item.k-button{--button-align:flex-start;--button-color-text:var(--dropdown-color-text);--button-height:var(--height-sm);--button-rounded:var(--rounded-sm);--button-width:100%;gap:.75rem;display:flex}.k-dropdown-item.k-button:focus{outline:var(--outline)}.k-dropdown-item.k-button[aria-current]{--button-color-text:var(--color-blue-500)}.k-dropdown-item.k-button:not([aria-disabled]):hover{--button-color-back:var(--dropdown-color-hr)}.k-options-dropdown{justify-content:center;align-items:center;display:flex}:root{--selector-color-highlight:var(--color-yellow-500)}.k-selector{--button-align:start;--button-height:var(--height-sm);--button-rounded:var(--rounded-sm);--button-width:100%}.k-selector-input{height:var(--button-height);padding:0 var(--button-padding);border-radius:var(--button-rounded)}.k-selector-input::placeholder{color:var(--color-text-dimmed)}.k-selector[data-has-current=true] .k-selector-input:focus{outline:0}.k-selector-empty{height:var(--button-height);padding-inline:var(--button-padding);color:var(--color-text-dimmed);align-items:center;display:flex}.k-selector-button[aria-current]{outline:var(--outline)}.k-selector-button b{color:var(--selector-color-highlight);font-weight:var(--font-normal)}.k-selector-add-button{--button-height:auto;padding-block:var(--button-padding)}.k-selector-add-button .k-button-icon{align-self:start}.k-selector-add-button .k-button-text strong{font-weight:var(--font-semi);margin-bottom:.25rem;display:block}.k-selector-preview{color:var(--selector-color-highlight)}.k-selector-dropdown-content{--color-text-dimmed:var(--color-gray-400);min-width:15rem;max-width:30rem;padding:0}.k-selector-dropdown .k-selector-header{border-bottom:1px solid var(--dropdown-color-hr)}.k-selector-dropdown .k-selector-label{padding-inline:var(--spacing-3);height:var(--height-lg);font-weight:var(--font-semi);align-items:center;display:flex}.k-selector-dropdown .k-selector-search{padding:var(--dropdown-padding);border-top:1px solid var(--dropdown-color-hr)}.k-selector-dropdown .k-selector-input{background:var(--color-gray-800)}.k-selector-dropdown .k-selector-footer{padding:var(--dropdown-padding)}.k-selector-dropdown .k-selector-body{max-height:calc((var(--button-height)*10) + calc(var(--dropdown-padding)*2));padding:var(--dropdown-padding);overscroll-behavior:contain;scroll-padding-top:var(--dropdown-padding);scroll-padding-bottom:var(--dropdown-padding);overflow-y:auto}.k-selector-dropdown .k-selector-button{gap:.75rem}.k-selector-dropdown .k-selector-button:hover{--button-color-back:var(--dropdown-color-hr)}.k-selector-dropdown .k-selector-body+.k-selector-footer{border-top:1px solid var(--dropdown-color-hr)}.k-counter{font-size:var(--text-xs);color:var(--color-gray-900)}.k-counter[data-invalid=true]{box-shadow:none;color:var(--color-red-700);border:0}.k-counter-rules{color:var(--color-gray-600);font-weight:var(--font-normal);padding-inline-start:.5rem}.k-form-submitter{display:none}.k-field-header{margin-bottom:var(--spacing-2);position:relative}.k-field[data-disabled=true]{cursor:not-allowed}.k-field[data-disabled=true] *{pointer-events:none}.k-field[data-disabled=true] .k-text[data-theme=help] *{pointer-events:initial}.k-field:focus-within>.k-field-header>.k-field-counter{display:block}.k-field-footer{margin-top:var(--spacing-2)}.k-fieldset{border:0}:root{--input-color-back:var(--color-white);--input-color-border:var(--color-border);--input-color-description:var(--color-text-dimmed);--input-color-icon:currentColor;--input-color-placeholder:var(--color-gray-600);--input-color-text:currentColor;--input-font-family:var(--font-sans);--input-font-size:var(--text-sm);--input-height:2.25rem;--input-leading:1;--input-outline-focus:var(--outline);--input-padding:var(--spacing-2);--input-padding-multiline:.475rem var(--input-padding);--input-rounded:var(--rounded);--input-shadow:none}@media (pointer:coarse){:root{--input-font-size:var(--text-md);--input-padding-multiline:.375rem var(--input-padding)}}.k-input{line-height:var(--input-leading);background:var(--input-color-back);border-radius:var(--input-rounded);outline:1px solid var(--input-color-border);color:var(--input-color-text);min-height:var(--input-height);box-shadow:var(--input-shadow);font-family:var(--input-font-family);font-size:var(--input-font-size);border:0;align-items:center;display:flex}.k-input:focus-within{outline:var(--input-outline-focus)}.k-input-element{flex-grow:1}.k-input-icon{color:var(--input-color-icon);width:var(--input-height);justify-content:center;align-items:center;display:flex}.k-input-icon-button{flex-shrink:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.k-input-description{color:var(--input-color-description);padding-inline:var(--input-padding)}.k-input-before{padding-inline-end:0}.k-input-after{padding-inline-start:0}.k-input :where(.k-input-description,.k-input-icon){flex-shrink:0;align-self:stretch;align-items:center;display:flex}.k-input[data-disabled=true]{--input-color-back:var(--color-background);--input-color-icon:var(--color-gray-600);pointer-events:none}.k-login-code-form .k-user-info{margin-bottom:var(--spacing-6)}.k-structure-backdrop{z-index:2;height:100vh;position:absolute;inset:0}.k-structure-form section{z-index:3;border-radius:var(--rounded-xs);border:1px solid var(--color-border);background:var(--color-background);margin-bottom:1px;position:relative;box-shadow:0 0 0 3px #1111110d}.k-structure-form-fields{padding:1.5rem 1.5rem 2rem}.k-structure-form-buttons{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.25rem .5rem;display:flex}@container (width<=30rem){.k-pagination-details{display:none}}.k-block-type-code-editor{--input-color-border:none;--input-color-back:var(--color-black);--input-color-text:var(--color-white);--input-font-family:var(--font-mono);--input-outline-focus:none;--input-padding:var(--spacing-3);--input-padding-multiline:var(--input-padding);position:relative}.k-block-type-code-editor .k-input[data-type=textarea]{white-space:pre-wrap}.k-block-type-code-editor-language{--input-font-size:var(--text-xs);inset-inline-end:0;position:absolute;bottom:0}.k-block-type-code-editor-language .k-input-element{padding-inline-start:1.5rem}.k-block-type-code-editor-language .k-input-icon{inset-inline-start:0}.k-block-type-default .k-block-title{line-height:1.5em}.k-block-container.k-block-container-type-fields{padding-block:0}.k-block-container:not([data-hidden=true]) .k-block-type-fields>:not([data-collapsed=true]){padding-bottom:var(--spacing-3)}.k-block-type-fields-header{justify-content:space-between;display:flex}.k-block-type-fields-header .k-block-title{padding-block:var(--spacing-3);cursor:pointer}.k-block-type-fields-form{background-color:var(--color-gray-200);padding:var(--spacing-6)var(--spacing-6)var(--spacing-8);border-radius:var(--rounded-sm)}.k-block-container-type-fields[data-hidden=true] :where(.k-drawer-tabs,.k-block-type-fields-form){display:none}.k-block-type-gallery ul{grid-gap:.75rem;cursor:pointer;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));justify-content:center;align-items:center;line-height:0;display:grid}.k-block-type-gallery-placeholder{background:var(--color-background)}.k-block-type-gallery figcaption{color:var(--color-gray-600);font-size:var(--text-sm);text-align:center;padding-top:.5rem}.k-block-type-heading-input{line-height:1.25em;font-size:var(--text-size);font-weight:var(--font-bold);align-items:center;display:flex}.k-block-type-heading-input[data-level=h1]{--text-size:var(--text-3xl);line-height:1.125em}.k-block-type-heading-input[data-level=h2]{--text-size:var(--text-2xl)}.k-block-type-heading-input[data-level=h3]{--text-size:var(--text-xl)}.k-block-type-heading-input[data-level=h4]{--text-size:var(--text-lg)}.k-block-type-heading-input[data-level=h5]{--text-size:var(--text-md);line-height:1.5em}.k-block-type-heading-input[data-level=h6]{--text-size:var(--text-sm);line-height:1.5em}.k-block-type-heading-input .k-writer .ProseMirror strong{font-weight:700}.k-block-type-heading-level{--input-color-back:transparent;--input-color-border:none;--input-color-text:var(--color-gray-600);font-weight:var(--font-bold);text-transform:uppercase}.k-block-type-image .k-block-figure-container{text-align:center;line-height:0}.k-block-type-image-auto{max-width:100%;max-height:30rem;margin-inline:auto}.k-block-type-line hr{border:0;border-top:1px solid var(--color-border);margin-block:.75rem}.k-block-type-list-input{--input-color-border:none;--input-outline-focus:none}.k-block-type-markdown-input{--input-color-back:var(--color-light);--input-color-border:none;--input-outline-focus:none;--input-padding-multiline:var(--spacing-3)}.k-block-type-quote-editor{border-inline-start:2px solid var(--color-black);padding-inline-start:var(--spacing-3)}.k-block-type-quote-text{font-size:var(--text-xl);margin-bottom:var(--spacing-1);line-height:1.25em}.k-block-type-quote-citation{color:var(--color-text-dimmed);font-style:italic}.k-block-type-table-preview{cursor:pointer;border:1px solid var(--color-gray-300);border-spacing:0;border-radius:var(--rounded-sm);overflow:hidden}.k-block-type-table-preview td,.k-block-type-table-preview th{text-align:start;line-height:1.5em;font-size:var(--text-sm)}.k-block-type-table-preview th{padding:.5rem .75rem}.k-block-type-table-preview td:not(.k-table-index-column){padding:0 .75rem}.k-block-type-table-preview td>*,.k-block-type-table-preview td [class$=-field-preview]{padding:0}.k-block-type-text-input{height:100%;line-height:1.5}.k-block-container.k-block-container-type-text{padding:0}.k-block-type-text-input.k-writer[data-toolbar-inline=true]{padding:var(--spacing-3)}.k-block-type-text-input.k-writer:not([data-toolbar-inline=true])>.ProseMirror,.k-block-type-text-input.k-writer:not([data-toolbar-inline=true])[data-placeholder][data-empty=true]:before{padding:var(--spacing-3)var(--spacing-6)}.k-block-container{background:var(--color-white);border-radius:var(--rounded);padding:.75rem;position:relative}.k-block-container:not(:last-of-type){border-bottom:1px dashed #0000001a}.k-block-container:focus{outline:0}.k-block-container[data-selected=true]{z-index:2;outline:var(--outline);border-bottom-color:#0000}.k-block-container[data-batched=true]:after{content:"";mix-blend-mode:multiply;background:#b1c2d82d;position:absolute;inset:0}.k-block-container .k-block-options{top:0;margin-top:calc(2px - 1.75rem);display:none;position:absolute;inset-inline-end:.75rem}.k-block-container[data-last-selected=true]>.k-block-options{display:flex}.k-block-container[data-hidden=true] .k-block{opacity:.25}.k-drawer-options .k-drawer-option[data-disabled=true]{vertical-align:middle;display:inline-grid}[data-disabled=true] .k-block-container{background:var(--color-background)}.k-block-container:is(.k-sortable-ghost,.k-sortable-fallback) .k-block{max-height:4rem;position:relative;overflow:hidden}.k-block-container:is(.k-sortable-ghost,.k-sortable-fallback) .k-block:after{content:"";background:linear-gradient(to top,var(--color-white),transparent);width:100%;height:2rem;position:absolute;bottom:0}.k-blocks{border-radius:var(--rounded)}.k-blocks:not([data-empty=true],[data-disabled=true]){background:var(--color-white);box-shadow:var(--shadow)}.k-blocks[data-disabled=true]:not([data-empty=true]){border:1px solid var(--input-color-border)}.k-blocks-list[data-multi-select-key=true]>.k-block-container *{pointer-events:none}.k-blocks-list[data-multi-select-key=true]>.k-block-container .k-blocks *{pointer-events:all}.k-blocks .k-sortable-ghost{outline:2px solid var(--color-focus);cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing;box-shadow:0 5px 10px #11111140}.k-blocks-list>.k-blocks-empty{align-items:center;display:flex}.k-block-figure{cursor:pointer}.k-block-figure iframe{pointer-events:none;background:var(--color-black);border:0}.k-block-figure figcaption{color:var(--color-text-dimmed);font-size:var(--text-sm);text-align:center;padding-top:.5rem}.k-block-figure-empty{--button-width:100%;--button-height:6rem;--button-color-text:var(--color-text-dimmed);--button-color-back:var(--color-gray-200)}.k-block-figure-empty,.k-block-figure-container>*{border-radius:var(--rounded-sm)}.k-block-options{--toolbar-size:30px;box-shadow:var(--shadow-toolbar)}.k-block-options>.k-button:not(:last-of-type){border-inline-end:1px solid var(--color-background)}.k-block-options .k-dropdown-content{margin-top:.5rem}.k-block-importer .k-dialog-body{padding:0}.k-block-importer label{padding:var(--spacing-6)var(--spacing-6)0;color:var(--color-text-dimmed);line-height:var(--leading-normal);display:block}.k-block-importer label small{font-size:inherit;display:block}.k-block-importer textarea{font:inherit;color:var(--color-white);padding:var(--spacing-6);resize:none;background:0 0;border:0;width:100%;height:20rem}.k-block-importer textarea:focus{outline:0}.k-block-selector .k-headline{margin-bottom:1rem}.k-block-selector details+details{margin-top:var(--spacing-6)}.k-block-selector summary{font-size:var(--text-xs);cursor:pointer;color:var(--color-text-dimmed)}.k-block-selector details:only-of-type summary{pointer-events:none}.k-block-selector summary:focus{outline:0}.k-block-selector summary:focus-visible{color:var(--color-focus)}.k-block-types{grid-gap:2px;grid-template-columns:repeat(1,1fr);margin-top:.75rem;display:grid}.k-block-types .k-button{--button-color-icon:var(--color-text);--button-color-back:var(--color-white);--button-padding:var(--spacing-3);box-shadow:var(--shadow);justify-content:start;gap:1rem;width:100%}.k-block-types .k-button[aria-disabled]{opacity:var(--opacity-disabled);--button-color-back:var(--color-gray-200);box-shadow:none}.k-clipboard-hint{line-height:var(--leading-normal);font-size:var(--text-xs);color:var(--color-text-dimmed);padding-top:1.5rem}.k-clipboard-hint small{font-size:inherit;color:var(--color-text-dimmed);display:block}.k-block-title{align-items:center;gap:var(--spacing-2);min-width:0;padding-inline-end:.75rem;line-height:1;display:flex}.k-block-icon{--icon-color:var(--color-gray-600);width:1rem}.k-block-label{color:var(--color-text-dimmed);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-blocks-field{position:relative}.k-blocks-field>footer{margin-top:var(--spacing-3)}.k-string-input{padding:var(--input-padding);border-radius:var(--input-rounded)}.k-string-input:focus{outline:0}.k-string-input[data-font=monospace]{font-family:var(--font-mono)}.k-color-field{--color-frame-size:calc(var(--input-height) - var(--spacing-2))}.k-color-field .k-input-before{align-items:center;padding-inline-start:var(--spacing-1)}.k-color-field-options{--color-frame-size:var(--input-height)}.k-color-field-picker{padding:var(--spacing-3)}.k-color-field-picker-toggle{--color-frame-rounded:var(--rounded-sm);border-radius:var(--color-frame-rounded)}.k-color-field .k-colorname-input{padding-inline:var(--input-padding)}.k-color-field .k-colorname-input:focus{outline:0}.k-date-field-body{gap:var(--spacing-2);display:grid}@container (width>=20rem){.k-date-field-body[data-has-time=true]{grid-template-columns:1fr minmax(6rem,9rem)}}.k-text-input{padding:var(--input-padding);border-radius:var(--input-rounded)}.k-text-input:focus{outline:0}.k-text-input[data-font=monospace]{font-family:var(--font-mono)}.k-models-field[data-disabled=true] .k-item *{pointer-events:all!important}.k-headline-field{padding-top:1.5rem;position:relative}.k-fieldset>.k-grid .k-column:first-child .k-headline-field{padding-top:0}.k-headline-field h2.k-headline{font-weight:var(--font-normal)}.k-headline-field footer{margin-top:var(--spacing-2)}.k-info-field .k-headline{padding-bottom:.75rem;line-height:1.25rem}.k-layout-field>footer{margin-top:var(--spacing-3)}.k-line-field{border:0;width:auto;height:3rem;position:relative}.k-line-field:after{content:"";top:50%;background:var(--color-border);height:1px;margin-top:-1px;position:absolute;inset-inline:0}.k-link-input-header{height:var(--input-height);grid-area:header;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.25rem;display:grid}.k-link-input-toggle.k-button{--button-height:var(--height-sm);--button-rounded:var(--rounded-sm);--button-color-back:var(--color-gray-200);margin-inline-start:.25rem}.k-link-input-model{--tag-height:var(--height-sm);--tag-color-back:var(--color-gray-200);--tag-color-text:var(--color-black);--tag-color-toggle:var(--tag-color-text);--tag-color-toggle-border:var(--color-gray-300);--tag-color-focus-back:var(--tag-color-back);--tag-color-focus-text:var(--tag-color-text);--tag-rounded:var(--rounded-sm);justify-content:space-between;margin-inline-end:var(--spacing-1);display:flex;overflow:hidden}.k-link-input-model-placeholder.k-button{--button-align:flex-start;--button-color-text:var(--color-gray-600);--button-height:var(--height-sm);--button-padding:var(--spacing-2);white-space:nowrap;flex-grow:1;align-items:center;overflow:hidden}.k-link-input-model-toggle{--button-height:var(--height-sm);--button-width:var(--height-sm)}.k-link-input-body{border-top:1px solid var(--color-gray-300);background:var(--color-gray-100);--tree-color-back:var(--color-gray-100);--tree-color-hover-back:var(--color-gray-200);display:grid;overflow:hidden}.k-link-input-body[data-type=page] .k-page-browser{padding:var(--spacing-2);padding-bottom:calc(var(--spacing-2) - 1px);width:100%;overflow:auto;container-type:inline-size}.k-writer{gap:var(--spacing-1);grid-template-areas:"content";width:100%;display:grid;position:relative}.k-writer .ProseMirror{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;font-variant-ligatures:none;padding:var(--input-padding-multiline);grid-area:content}.k-writer .ProseMirror:focus{outline:0}.k-writer .ProseMirror *{caret-color:currentColor}.k-writer .ProseMirror hr.ProseMirror-selectednode{outline:var(--outline)}.k-writer[data-placeholder][data-empty=true]:before{content:attr(data-placeholder);color:var(--input-color-placeholder);pointer-events:none;white-space:pre-wrap;word-wrap:break-word;line-height:var(--text-line-height);padding:var(--input-padding-multiline);grid-area:content}.k-list-input.k-writer[data-placeholder][data-empty=true]:before{padding-inline-start:2.5em}.k-list-field .k-list-input .ProseMirror,.k-list-field .k-list-input:before{padding:.475rem .5rem .475rem .75rem}:root{--tags-gap:.375rem}.k-tags{gap:var(--tags-gap);flex-wrap:wrap;align-items:center;display:inline-flex}.k-tags .k-sortable-ghost{outline:var(--outline)}.k-tags[data-layout=list],.k-tags[data-layout=list] .k-tag{width:100%}.k-tags-toggle.k-button{--button-rounded:var(--rounded-sm);--button-color-icon:var(--color-gray-600);opacity:0;transition:opacity .3s}.k-tags:is(:hover,:focus-within) .k-tags-toggle{opacity:1}.k-tags .k-tags-toggle:is(:focus,:hover){--button-color-icon:var(--color-text)}.k-tags-input{padding:var(--tags-gap)}.k-number-input{padding:var(--input-padding);border-radius:var(--input-rounded)}.k-number-input:focus{outline:0}.k-table.k-object-field-table{table-layout:auto}.k-table.k-object-field-table tbody td{max-width:0}.k-range-input{--range-track-height:1px;--range-track-back:var(--color-gray-300);--range-tooltip-back:var(--color-black);border-radius:var(--range-track-height);align-items:center;display:flex}.k-range-input input[type=range]:focus{outline:0}.k-range-input-tooltip{color:var(--color-white);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;border-radius:var(--rounded-sm);background:var(--range-tooltip-back);white-space:nowrap;align-items:center;max-width:20%;margin-inline-start:1rem;padding:0 .25rem;line-height:1;display:flex;position:relative}.k-range-input-tooltip:after{top:50%;border-block:3px solid #0000;border-inline-end:3px solid var(--range-tooltip-back);content:"";width:0;height:0;position:absolute;inset-inline-start:-3px;transform:translateY(-50%)}.k-range-input-tooltip>*{padding:var(--spacing-1)}.k-range-input[data-disabled=true]{--range-tooltip-back:var(--color-gray-600)}.k-input[data-type=range] .k-range-input{padding-inline:var(--input-padding)}.k-select-input{padding:var(--input-padding);border-radius:var(--input-rounded);display:block;position:relative;overflow:hidden}.k-select-input[data-empty=true]{color:var(--input-color-placeholder)}.k-select-input-native{opacity:0;z-index:1;position:absolute;inset:0}.k-select-input-native[disabled]{cursor:default}.k-input[data-type=select]{position:relative}.k-input[data-type=select] .k-input-icon{position:absolute;inset-block:0;inset-inline-end:0}.k-structure-field:not([data-disabled=true]) td.k-table-column{cursor:pointer}.k-structure-field .k-table+footer{margin-top:var(--spacing-3)}.k-field-counter{display:none}.k-text-field:focus-within .k-field-counter{display:block}.k-toolbar.k-textarea-toolbar{border-bottom:1px solid var(--toolbar-border);border-end-end-radius:0;border-end-start-radius:0}.k-toolbar.k-textarea-toolbar>.k-button:first-child{border-end-start-radius:0}.k-toolbar.k-textarea-toolbar>.k-button:last-child{border-end-end-radius:0}.k-textarea-input[data-size=small]{--textarea-size:7.5rem}.k-textarea-input[data-size=medium]{--textarea-size:15rem}.k-textarea-input[data-size=large]{--textarea-size:30rem}.k-textarea-input[data-size=huge]{--textarea-size:45rem}.k-textarea-input-wrapper{display:block;position:relative}.k-textarea-input-native{resize:none;min-height:var(--textarea-size)}.k-textarea-input-native:focus{outline:0}.k-textarea-input-native[data-font=monospace]{font-family:var(--font-mono)}.k-input[data-type=textarea] .k-input-element{min-width:0}.k-input[data-type=textarea] .k-textarea-input-native{padding:var(--input-padding-multiline)}.k-input[data-type=toggle]{--input-color-border:transparent;--input-shadow:var(--shadow)}.k-input[data-type=toggle] .k-input-before{padding-inline-end:calc(var(--input-padding)/2)}.k-input[data-type=toggle] .k-toggle-input{padding-inline-start:var(--input-padding)}.k-input[data-type=toggle][data-disabled]{box-shadow:none}.k-input[data-type=toggles]{display:inline-flex}.k-input[data-type=toggles].grow{display:flex}.k-input[data-type=toggles]:has(.k-empty){outline:0;display:flex}.k-toggles-input{grid-template-columns:repeat(var(--options),minmax(0,1fr));border-radius:var(--rounded);background:var(--color-border);gap:1px;line-height:1;display:grid;overflow:hidden}.k-toggles-input li{height:var(--field-input-height);background:var(--color-white)}.k-toggles-input label{background:var(--color-white);cursor:pointer;font-size:var(--text-sm);padding:0 var(--spacing-3);justify-content:center;align-items:center;height:100%;line-height:1.25;display:flex}.k-toggles-input li[data-disabled=true] label{color:var(--color-text-dimmed);background:var(--color-light)}.k-toggles-input .k-icon+.k-toggles-text{margin-inline-start:var(--spacing-2)}.k-toggles-input input:focus:not(:checked)+label{background:var(--color-blue-200)}.k-toggles-input input:checked+label{background:var(--color-black);color:var(--color-white)}.k-alpha-input{--range-track-back:linear-gradient(to right,transparent,currentColor);--range-track-height:var(--range-thumb-size);color:#000;background:var(--color-white)var(--pattern-light)}.k-calendar-input{--button-height:var(--height-sm);--button-width:var(--button-height);--button-padding:0;padding:var(--spacing-2);width:min-content}.k-calendar-table{table-layout:fixed;min-width:15rem}.k-calendar-input .k-button{justify-content:center}.k-calendar-input>nav{direction:ltr;margin-bottom:var(--spacing-2);align-items:center;display:flex}.k-calendar-selects{flex-grow:1;justify-content:center;align-items:center;display:flex}[dir=ltr] .k-calendar-selects{direction:ltr}[dir=rtl] .k-calendar-selects{direction:rtl}.k-calendar-selects .k-select-input{text-align:center;height:var(--button-height);border-radius:var(--input-rounded);align-items:center;padding:0 .5rem;display:flex}.k-calendar-selects .k-select-input:focus-within{outline:var(--outline)}.k-calendar-input th{color:var(--color-gray-500);font-size:var(--text-xs);text-align:center;padding-block:.5rem}.k-calendar-day{padding:2px}.k-calendar-day[aria-current=date] .k-button{text-decoration:underline}.k-calendar-day[aria-selected=date] .k-button,.k-calendar-day[aria-selected=date] .k-button:focus{--button-color-text:var(--color-text);--button-color-back:var(--color-blue-500)}.k-calendar-day[aria-selected=date] .k-button:focus-visible{outline-offset:2px}.k-calendar-today{padding-top:var(--spacing-2);text-align:center}.k-calendar-today .k-button{--button-width:auto;--button-padding:var(--spacing-3);font-size:var(--text-xs);text-decoration:underline}.k-choice-input{gap:var(--spacing-3);min-width:0;display:flex}.k-choice-input input{top:2px}.k-choice-input-label{color:var(--choice-color-text);flex-direction:column;min-width:0;line-height:1.25rem;display:flex}.k-choice-input-label>*{text-overflow:ellipsis;display:block;overflow:hidden}.k-choice-input-label-info{color:var(--choice-color-info)}.k-choice-input[aria-disabled]{cursor:not-allowed}:where(.k-checkboxes-field,.k-radio-field) .k-choice-input{background:var(--input-color-back);min-height:var(--input-height);padding-block:var(--spacing-2);padding-inline:var(--spacing-3);border-radius:var(--input-rounded);box-shadow:var(--shadow)}.k-coloroptions-input{--color-preview-size:var(--input-height)}.k-coloroptions-input ul{grid-template-columns:repeat(auto-fill,var(--color-preview-size));gap:var(--spacing-2);display:grid}.k-coloroptions-input input:focus+.k-color-frame{outline:var(--outline)}.k-coloroptions-input[disabled] label{opacity:var(--opacity-disabled);cursor:not-allowed}.k-coloroptions-input input:checked+.k-color-frame{outline-offset:2px;outline:2px solid}.k-colorpicker-input{--h:0;--s:0%;--l:0%;--a:1;--range-thumb-size:.75rem;--range-track-height:.75rem;gap:var(--spacing-3);flex-direction:column;width:max-content;display:flex}.k-colorpicker-input .k-coords-input{border-radius:var(--rounded-sm);aspect-ratio:1;background:linear-gradient(to bottom,transparent,#000),linear-gradient(to right,#fff,hsl(var(--h),100%,50%))}.k-colorpicker-input .k-alpha-input{color:hsl(var(--h),var(--s),var(--l))}.k-colorpicker-input .k-coloroptions-input ul{grid-template-columns:repeat(6,1fr)}.k-coords-input{position:relative;display:block!important}.k-coords-input img{width:100%}.k-coords-input-thumb{aspect-ratio:1;width:var(--range-thumb-size);background:var(--range-thumb-color);border-radius:var(--range-thumb-size);box-shadow:var(--range-thumb-shadow);cursor:move;position:absolute;transform:translate(-50%,-50%)}.k-coords-input[data-empty] .k-coords-input-thumb{opacity:0}.k-coords-input-thumb:active{cursor:grabbing}.k-coords-input:focus-within{outline:var(--outline)}.k-coords-input[aria-disabled]{pointer-events:none;opacity:var(--opacity-disabled)}.k-coords-input .k-coords-input-thumb:focus{outline:var(--outline)}.k-hue-input{--range-track-back:linear-gradient(to right,red 0%,#ff0 16.67%,#0f0 33.33%,#0ff 50%,#00f 66.67%,#f0a 83.33%,red 100%)no-repeat;--range-track-height:var(--range-thumb-size)}.k-multiselect-input{padding:var(--tags-gap)}.k-timeoptions-input{--button-height:var(--height-sm);gap:var(--spacing-3);grid-template-columns:1fr 1fr;display:grid}.k-timeoptions-input h3{padding-inline:var(--button-padding);height:var(--button-height);margin-bottom:var(--spacing-1);align-items:center;display:flex}.k-timeoptions-input hr{margin:var(--spacing-2)var(--spacing-3)}.k-timeoptions-input .k-button[aria-selected=time]{--button-color-text:var(--color-text);--button-color-back:var(--color-blue-500)}.k-layout{--layout-border-color:var(--color-gray-300);--layout-toolbar-width:2rem;box-shadow:var(--shadow);background:#fff;padding-inline-end:var(--layout-toolbar-width);position:relative}[data-disabled=true] .k-layout{padding-inline-end:0}.k-layout:not(:last-of-type){margin-bottom:1px}.k-layout:focus{outline:0}.k-layout-toolbar{width:var(--layout-toolbar-width);padding-bottom:var(--spacing-2);font-size:var(--text-sm);background:var(--color-gray-100);border-inline-start:1px solid var(--color-light);color:var(--color-gray-500);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;inset-block:0;inset-inline-end:0}.k-layout-toolbar:hover{color:var(--color-black)}.k-layout-toolbar-button{width:var(--layout-toolbar-width);height:var(--layout-toolbar-width)}.k-layout-columns.k-grid{grid-gap:1px;background:var(--layout-border-color);background:var(--color-gray-300)}.k-layout:not(:first-child) .k-layout-columns.k-grid{border-top:0}.k-layout-column{background:var(--color-white);flex-direction:column;height:100%;min-height:6rem;display:flex;position:relative}.k-layout-column:focus{outline:0}.k-layout-column .k-blocks{box-shadow:none;background:0 0;background:var(--color-white);height:100%;min-height:4rem;padding:0}.k-layout-column .k-blocks[data-empty=true]{min-height:6rem}.k-layout-column .k-blocks-list{flex-direction:column;height:100%;display:flex}.k-layout-column .k-blocks .k-block-container:last-of-type{flex-grow:1}.k-layout-column .k-blocks-empty.k-box{--box-color-back:transparent;opacity:0;border:0;justify-content:center;transition:opacity .3s;position:absolute;inset:0}.k-layout-column .k-blocks-empty:hover{opacity:1}.k-layouts .k-sortable-ghost{outline:2px solid var(--color-focus);cursor:grabbing;z-index:1;position:relative;box-shadow:0 5px 10px #11111140}.k-layout-selector h3{margin-top:-.5rem;margin-bottom:var(--spacing-3)}.k-layout-selector-options{gap:var(--spacing-6);grid-template-columns:repeat(3,1fr);display:grid}@media screen and (width>=65em){.k-layout-selector-options{grid-template-columns:repeat(var(--columns),1fr)}}.k-layout-selector-option{--color-border:hsla(var(--color-gray-hs),0%,6%);--color-back:var(--color-white);border-radius:var(--rounded)}.k-layout-selector-option:focus-visible{outline:var(--outline);outline-offset:-1px}.k-layout-selector-option .k-grid{border:1px solid var(--color-border);grid-template-columns:repeat(var(--columns),1fr);cursor:pointer;background:var(--color-border);border-radius:var(--rounded);box-shadow:var(--shadow);gap:1px;height:5rem;overflow:hidden}.k-layout-selector-option .k-column{grid-column:span var(--span);background:var(--color-back);height:100%}.k-layout-selector-option:hover{--color-border:var(--color-gray-500);--color-back:var(--color-gray-100)}.k-layout-selector-option[aria-current]{--color-border:var(--color-focus);--color-back:var(--color-blue-300)}.k-bubbles{gap:.25rem;display:flex}.k-bubbles-field-preview{--bubble-back:var(--color-light);--bubble-text:var(--color-black);padding:.375rem var(--table-cell-padding);overflow:hidden}.k-bubbles-field-preview .k-bubbles{gap:.375rem}.k-color-field-preview{--color-frame-rounded:var(--tag-rounded);--color-frame-size:var(--tag-height);padding:.375rem var(--table-cell-padding);align-items:center;gap:var(--spacing-2);display:flex}.k-text-field-preview{text-overflow:ellipsis;white-space:nowrap;padding:.325rem .75rem;overflow-x:hidden}.k-url-field-preview{padding-inline:var(--table-cell-padding)}.k-url-field-preview[data-link]{color:var(--link-color)}.k-url-field-preview a{height:var(--height-xs);padding-inline:var(--spacing-1);margin-inline:calc(var(--spacing-1)*-1);border-radius:var(--rounded);align-items:center;min-width:0;max-width:100%;display:inline-flex}.k-url-field-preview a>*{white-space:nowrap;text-overflow:ellipsis;text-underline-offset:var(--link-underline-offset);text-decoration:underline;overflow:hidden}.k-url-field-preview a:hover{color:var(--color-black)}.k-flag-field-preview{--button-height:var(--table-row-height);--button-width:100%;outline-offset:-2px}.k-html-field-preview{padding:.375rem var(--table-cell-padding);text-overflow:ellipsis;overflow:hidden}.k-image-field-preview{height:100%}.k-toggle-field-preview{padding-inline:var(--table-cell-padding)}:root{--toolbar-size:var(--height);--toolbar-text:var(--color-black);--toolbar-back:var(--color-white);--toolbar-hover:#efefef80;--toolbar-border:#0000001a;--toolbar-current:var(--color-focus)}.k-toolbar{height:var(--toolbar-size);color:var(--toolbar-text);background:var(--toolbar-back);border-radius:var(--rounded);align-items:center;max-width:100%;display:flex;overflow:auto hidden}.k-toolbar[data-theme=dark]{--toolbar-text:var(--color-white);--toolbar-back:var(--color-black);--toolbar-hover:#fff3;--toolbar-border:var(--color-gray-800)}.k-toolbar>hr{height:var(--toolbar-size);border-left:1px solid var(--toolbar-border);width:1px}.k-toolbar-button.k-button{--button-width:var(--toolbar-size);--button-height:var(--toolbar-size);--button-rounded:0;outline-offset:-2px}.k-toolbar-button:hover{--button-color-back:var(--toolbar-hover)}.k-toolbar .k-button[aria-current]{--button-color-text:var(--toolbar-current)}.k-toolbar>.k-button:first-child{border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded)}.k-toolbar>.k-button:last-child{border-start-end-radius:var(--rounded);border-end-end-radius:var(--rounded)}:where(.k-textarea-input,.k-writer-input):not(:focus-within){--toolbar-text:var(--color-gray-400);--toolbar-border:var(--color-background)}:where(.k-textarea-input,.k-writer-input):focus-within .k-toolbar:not([data-inline=true]){top:var(--header-sticky-offset);z-index:1;position:sticky;inset-inline:0;box-shadow:0 2px 5px #0000000d}.k-writer:not([data-toolbar-inline=true]):not([data-disabled=true]){grid-template-areas:"topbar""content";grid-template-rows:var(--toolbar-size)1fr;gap:0}.k-writer:not(:focus-within){--toolbar-current:currentColor}.k-writer-toolbar[data-inline=true]{z-index:calc(var(--z-dropdown) + 1);box-shadow:var(--shadow-toolbar);max-width:none;position:absolute}.k-writer-toolbar:not([data-inline=true]){border-bottom:1px solid var(--toolbar-border);border-end-end-radius:0;border-end-start-radius:0}.k-writer-toolbar:not([data-inline=true])>.k-button:first-child{border-end-start-radius:0}.k-writer-toolbar:not([data-inline=true])>.k-button:last-child{border-end-end-radius:0}.k-aspect-ratio{padding-bottom:100%;display:block;position:relative;overflow:hidden}.k-aspect-ratio>*{object-fit:contain;width:100%;height:100%;inset:0;position:absolute!important}.k-aspect-ratio[data-cover=true]>*{object-fit:cover}:root{--bar-height:var(--height-xs)}.k-bar{align-items:center;gap:var(--spacing-3);height:var(--bar-height);justify-content:space-between;display:flex}.k-bar:where([data-align=center]){justify-content:center}.k-bar:where([data-align=end]):has(:first-child:last-child){justify-content:end}.k-bar-slot{flex-grow:1}.k-bar-slot[data-position=center]{text-align:center}.k-bar-slot[data-position=right]{text-align:end}:root{--box-height:var(--field-input-height);--box-padding-inline:var(--spacing-2);--box-font-size:var(--text-sm);--box-color-back:none;--box-color-text:currentColor}.k-box{--icon-color:var(--box-color-icon);--text-font-size:var(--box-font-size);align-items:center;gap:var(--spacing-2);color:var(--box-color-text);background:var(--box-color-back);word-wrap:break-word;width:100%;display:flex}.k-box[data-theme]{--box-color-back:var(--theme-color-back);--box-color-text:var(--theme-color-text);--box-color-icon:var(--theme-color-700);min-height:var(--box-height);padding:.375rem var(--box-padding-inline);border-radius:var(--rounded);line-height:1.25}.k-box[data-theme=text],.k-box[data-theme=white]{box-shadow:var(--shadow)}.k-box[data-theme=text]{padding:var(--spacing-6)}.k-box[data-theme=none]{padding:0}.k-box[data-align=center]{justify-content:center}:root{--bubble-size:1.525rem;--bubble-back:var(--color-light);--bubble-text:var(--color-black)}.k-bubble{height:var(--bubble-size);white-space:nowrap;background:var(--bubble-back);color:var(--bubble-text);border-radius:var(--rounded);width:min-content;line-height:1.5;overflow:hidden}.k-bubble .k-frame{width:var(--bubble-size);height:var(--bubble-size)}.k-bubble[data-has-text=true]{gap:var(--spacing-2);font-size:var(--text-xs);align-items:center;padding-inline-end:.5rem;display:flex}.k-column{min-width:0}.k-column[data-sticky=true]{align-self:stretch}.k-column[data-sticky=true]>div{top:calc(var(--header-sticky-offset) + 2vh);z-index:2;position:sticky}.k-column[data-disabled=true]{cursor:not-allowed;opacity:.4}.k-column[data-disabled=true] *{pointer-events:none}.k-column[data-disabled=true] .k-text[data-theme=help] *{pointer-events:initial}.k-frame{--fit:contain;--ratio:1/1;aspect-ratio:var(--ratio);background:var(--back);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.k-frame:where([data-theme]){--back:var(--theme-color-back);color:var(--theme-color-text)}.k-frame :where(img,video,iframe,button){object-fit:var(--fit);width:100%;height:100%;position:absolute;inset:0}.k-frame>*{text-overflow:ellipsis;min-width:0;min-height:0;overflow:hidden}:root{--color-frame-rounded:var(--rounded);--color-frame-size:100%;--color-frame-darkness:0%}.k-color-frame.k-frame{background:var(--pattern-light);width:var(--color-frame-size);color:#0000;border-radius:var(--color-frame-rounded);background-clip:padding-box;overflow:hidden}.k-color-frame:after{border-radius:var(--color-frame-rounded);box-shadow:0 0 0 1px inset hsla(0,0%,var(--color-frame-darkness),.175);content:"";background-color:currentColor;position:absolute;inset:0}.k-dropzone{position:relative}.k-dropzone:after{content:"";pointer-events:none;z-index:1;border-radius:var(--rounded);display:none;position:absolute;inset:0}.k-dropzone[data-over=true]:after{background:hsla(var(--color-blue-hs),var(--color-blue-l-300),.6);outline:var(--outline);display:block}.k-grid{--columns:12;--grid-inline-gap:0;--grid-block-gap:0;grid-column-gap:var(--grid-inline-gap);grid-row-gap:var(--grid-block-gap);align-items:start;display:grid}.k-grid>*{--width:calc(1/var(--columns));--span:calc(var(--columns)*var(--width))}@container (width>=30rem){.k-grid{grid-template-columns:repeat(var(--columns),1fr)}.k-grid>*{grid-column:span var(--span)}.k-grid[data-gutter=small]{--grid-inline-gap:1rem;--grid-block-gap:1rem}.k-grid:where([data-gutter=medium],[data-gutter=large],[data-gutter=huge]){--grid-inline-gap:1.5rem;--grid-block-gap:1.5rem}}@container (width>=65em){.k-grid[data-gutter=large]{--grid-inline-gap:3rem}.k-grid[data-gutter=huge]{--grid-inline-gap:4.5rem}}@container (width>=90em){.k-grid[data-gutter=large]{--grid-inline-gap:4.5rem}.k-grid[data-gutter=huge]{--grid-inline-gap:6rem}}@container (width>=120em){.k-grid[data-gutter=large]{--grid-inline-gap:6rem}.k-grid[data-gutter=huge]{--grid-inline-gap:7.5rem}}:root{--columns-inline-gap:clamp(.75rem,6cqw,6rem);--columns-block-gap:clamp(var(--spacing-8),6vh,6rem)}.k-grid[data-variant=columns]{--grid-inline-gap:var(--columns-inline-gap);--grid-block-gap:var(--columns-block-gap)}.k-grid:where([data-variant=columns],[data-variant=fields])>*{container:column/inline-size}.k-grid[data-variant=fields]{gap:var(--spacing-8)}.k-grid[data-variant=choices]{align-items:stretch;gap:2px}:root{--header-color-back:var(--color-light);--header-padding-block:var(--spacing-4);--header-sticky-offset:calc(var(--scroll-top,0rem) + 4rem)}.k-header{border-bottom:1px solid var(--color-border);background:var(--header-color-back);padding-top:var(--header-padding-block);margin-bottom:var(--spacing-12);box-shadow:2px 0 0 0 var(--header-color-back),-2px 0 0 0 var(--header-color-back);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex;position:relative}.k-header-title{font-size:var(--text-h1);font-weight:var(--font-h1);line-height:var(--leading-h1);margin-bottom:var(--header-padding-block);min-width:0}.k-header-title-button{text-align:start;gap:var(--spacing-2);outline:0;align-items:baseline;max-width:100%;display:inline-flex}.k-header-title-text{text-overflow:ellipsis;overflow-x:clip}.k-header-title-icon{--icon-color:var(--color-text-dimmed);border-radius:var(--rounded);height:var(--height-sm);width:var(--height-sm);opacity:0;flex-shrink:0;place-items:center;transition:opacity .2s;display:grid}.k-header-title-button:is(:hover,:focus) .k-header-title-icon{opacity:1}.k-header-title-button:focus .k-header-title-icon{outline:var(--outline)}.k-header-buttons{gap:var(--spacing-2);margin-bottom:var(--header-padding-block);flex-shrink:0;display:flex}.k-header[data-has-buttons=true]{top:var(--scroll-top,0);z-index:var(--z-toolbar);position:sticky}:root{--icon-size:18px;--icon-color:currentColor}.k-icon{width:var(--icon-size);height:var(--icon-size);color:var(--icon-color);flex-shrink:0}.k-icon[data-type=loader]{animation:1.5s linear infinite Spin}@media only screen and (-webkit-device-pixel-ratio>=2),not all,not all,not all,only screen and (resolution>=192dpi),only screen and (resolution>=2x){.k-icon-frame [data-type=emoji]{font-size:1.25em}}.k-image[data-back=pattern]{--back:var(--color-black)var(--pattern)}.k-image[data-back=black]{--back:var(--color-black)}.k-image[data-back=white]{--back:var(--color-white);color:var(--color-gray-900)}:root{--overlay-color-back:var(--color-backdrop)}.k-overlay[open]{overscroll-behavior:contain;z-index:var(--z-dialog);background:0 0;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden;transform:translate(0)}.k-overlay[open]::backdrop{background:0 0}.k-overlay[open]>.k-portal{background:var(--overlay-color-back);position:fixed;inset:0;overflow:auto}.k-overlay[open][data-type=dialog]>.k-portal{display:inline-flex}.k-overlay[open][data-type=dialog]>.k-portal>*{margin:auto}.k-overlay[open][data-type=drawer]>.k-portal{--overlay-color-back:#0003;justify-content:flex-end;align-items:stretch;display:flex}html[data-overlay]{overflow:hidden}html[data-overlay] body{overflow:scroll}:root{--stat-value-text-size:var(--text-2xl);--stat-info-text-color:var(--color-text-dimmed)}.k-stat{padding:var(--spacing-3)var(--spacing-6);background:var(--color-white);border-radius:var(--rounded);box-shadow:var(--shadow);line-height:var(--leading-normal);flex-direction:column;display:flex}.k-stat.k-link:hover{cursor:pointer;background:var(--color-gray-100)}.k-stat :where(dt,dd){display:block}.k-stat-value{font-size:var(--stat-value-text-size);margin-bottom:var(--spacing-1);order:1}.k-stat-label{font-size:var(--text-xs);order:2}.k-stat-info{font-size:var(--text-xs);color:var(--stat-info-text-color);order:3}.k-stat[data-theme] .k-stat-info{--stat-info-text-color:var(--theme-color-700)}.k-stats{grid-gap:var(--spacing-2px);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));grid-auto-rows:1fr;display:grid}.k-stats[data-size=small]{--stat-value-text-size:var(--text-md)}.k-stats[data-size=medium]{--stat-value-text-size:var(--text-xl)}.k-stats[data-size=large]{--stat-value-text-size:var(--text-2xl)}.k-stats[data-size=huge]{--stat-value-text-size:var(--text-3xl)}:root{--table-cell-padding:var(--spacing-3);--table-color-back:var(--color-white);--table-color-border:var(--color-background);--table-color-hover:var(--color-gray-100);--table-color-th-back:var(--color-gray-100);--table-color-th-text:var(--color-text-dimmed);--table-row-height:var(--input-height)}.k-table{background:var(--table-color-back);box-shadow:var(--shadow);border-radius:var(--rounded);position:relative}.k-table table{table-layout:fixed}.k-table th,.k-table td{padding-inline:var(--table-cell-padding);height:var(--table-row-height);text-overflow:ellipsis;border-inline-end:1px solid var(--table-color-border);width:100%;line-height:1.25;overflow:hidden}.k-table tr>:last-child{border-inline-end:0}.k-table th,.k-table tr:not(:last-child) td{border-block-end:1px solid var(--table-color-border)}.k-table :where(td,th)[data-align]{text-align:var(--align)}.k-table th{padding-inline:var(--table-cell-padding);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--table-color-th-text);background:var(--table-color-th-back)}.k-table th[data-has-button]{padding:0}.k-table th button{padding-inline:var(--table-cell-padding);border-radius:var(--rounded);text-align:start;width:100%;height:100%}.k-table th button:focus-visible{outline-offset:-2px}.k-table thead th:first-child{border-start-start-radius:var(--rounded)}.k-table thead th:last-child{border-start-end-radius:var(--rounded)}.k-table thead th{top:var(--header-sticky-offset);z-index:1;position:sticky;inset-inline:0}.k-table tbody tr:hover td{background:var(--table-color-hover)}.k-table tbody th{white-space:nowrap;border-radius:0;width:auto;overflow:visible}.k-table tbody tr:first-child th{border-start-start-radius:var(--rounded)}.k-table tbody tr:last-child th{border-block-end:0;border-end-start-radius:var(--rounded)}.k-table-row-ghost{background:var(--color-white);outline:var(--outline);border-radius:var(--rounded);cursor:grabbing;margin-bottom:2px}.k-table-row-fallback{opacity:0!important}.k-table .k-table-index-column{width:var(--table-row-height);text-align:center}.k-table .k-table-index{font-size:var(--text-xs);color:var(--color-text-dimmed);line-height:1.1em}.k-table .k-table-index-column .k-sort-handle{--button-width:100%;display:none}.k-table tr:hover .k-table-index-column[data-sortable=true] .k-table-index{display:none}.k-table tr:hover .k-table-index-column[data-sortable=true] .k-sort-handle{display:flex}.k-table .k-table-options-column{width:var(--table-row-height);text-align:center;padding:0}.k-table .k-table-options-column .k-options-dropdown-toggle{--button-width:100%;--button-height:100%;outline-offset:-2px}.k-table-empty{color:var(--color-text-dimmed);font-size:var(--text-sm)}.k-table[aria-disabled=true]{--table-color-back:transparent;--table-color-border:var(--color-border);--table-color-hover:transparent;--table-color-th-back:transparent;border:1px solid var(--table-color-border);box-shadow:none}.k-table[aria-disabled=true] thead th{position:static}@container (width<=40rem){.k-table{overflow-x:scroll}.k-table thead th{position:static}}.k-table .k-table-cell{padding:0}.k-tabs{--button-height:var(--height-md);--button-padding:var(--spacing-2);gap:var(--spacing-1);margin-bottom:var(--spacing-12);margin-inline:calc(var(--button-padding)*-1);display:flex}.k-tab-button.k-button{margin-block:2px;overflow-x:visible}.k-tab-button[aria-current]:after{content:"";inset-inline:var(--button-padding);background:currentColor;height:2px;position:absolute;bottom:-2px}.k-tabs-badge{font-variant-numeric:tabular-nums;top:2px;padding:0 var(--spacing-1);text-align:center;box-shadow:var(--shadow-md);background:var(--theme-color-back);border:1px solid var(--theme-color-500);color:var(--theme-color-text);z-index:1;border-radius:1rem;font-size:10px;line-height:1.5;position:absolute;inset-inline-end:var(--button-padding);transform:translate(75%)}.k-view{padding-inline:1.5rem}@container (width>=30rem){.k-view{padding-inline:3rem}}.k-view[data-align=center]{justify-content:center;align-items:center;height:100vh;padding:0 3rem;display:flex;overflow:auto}.k-view[data-align=center]>*{flex-basis:22.5rem}.k-fatal[open]{background:var(--overlay-color-back);padding:var(--spacing-6)}.k-fatal-box{box-shadow:var(--dialog-shadow);border-radius:var(--dialog-rounded);flex-direction:column;width:100%;height:calc(100dvh - 3rem);line-height:1;display:flex;position:relative;overflow:hidden}.k-fatal-iframe{background:var(--color-white);padding:var(--spacing-3);border:0;flex-grow:1;width:100%}.k-icons{width:0;height:0;position:absolute}.k-loader{z-index:1}.k-loader-icon{animation:.9s linear infinite Spin}.k-notification{background:var(--color-gray-900);color:var(--color-white);flex-shrink:0;align-items:center;width:100%;padding:.75rem 1.5rem;line-height:1.25rem;display:flex}.k-notification[data-theme]{background:var(--theme-color-back);color:var(--color-black)}.k-notification p{word-wrap:break-word;flex-grow:1;overflow:hidden}.k-notification .k-button{margin-inline-start:1rem;display:flex}.k-offline-warning{z-index:var(--z-offline);background:var(--color-backdrop);justify-content:center;align-items:center;line-height:1;display:flex;position:fixed;inset:0}.k-offline-warning p{background:var(--color-white);box-shadow:var(--shadow);border-radius:var(--rounded);align-items:center;gap:.5rem;padding:.75rem;display:flex}.k-offline-warning p .k-icon{color:var(--color-red-400)}:root{--progress-height:var(--spacing-2);--progress-color-back:var(--color-gray-300);--progress-color-value:var(--color-focus)}progress{height:var(--progress-height);border-radius:var(--progress-height);border:0;width:100%;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--progress-color-back)}progress::-webkit-progress-value{background:var(--progress-color-value);border-radius:var(--progress-height)}progress::-moz-progress-bar{background:var(--progress-color-value)}progress:not([value])::-webkit-progress-bar{background:var(--progress-color-value)}progress:not([value])::-moz-progress-bar{background:var(--progress-color-value)}.k-sort-handle{cursor:grab;z-index:1}.k-sort-handle:active{cursor:grabbing}.k-breadcrumb{--breadcrumb-divider:"/";padding:2px;overflow-x:clip}.k-breadcrumb ol{align-items:center;gap:.125rem;display:none}.k-breadcrumb ol li{align-items:center;min-width:0;display:flex}.k-breadcrumb ol li:not(:last-child):after{content:var(--breadcrumb-divider);opacity:.175;flex-shrink:0}.k-breadcrumb ol li{min-width:0;transition:flex-shrink .1s}.k-breadcrumb .k-icon[data-type=loader]{opacity:.5}.k-breadcrumb ol li:is(:hover,:focus-within){flex-shrink:0}.k-button.k-breadcrumb-link{flex-shrink:1;justify-content:flex-start;min-width:0}.k-breadcrumb-dropdown{display:grid}.k-breadcrumb-dropdown .k-dropdown-content{width:15rem}@container (width>=40em){.k-breadcrumb ol{display:flex}.k-breadcrumb-dropdown{display:none}}.k-browser{font-size:var(--text-sm);container-type:inline-size}.k-browser-items{--browser-item-gap:1px;--browser-item-size:1fr;--browser-item-height:var(--height-sm);--browser-item-padding:.25rem;--browser-item-rounded:var(--rounded);column-gap:var(--browser-item-gap);row-gap:var(--browser-item-gap);grid-template-columns:repeat(auto-fill,minmax(var(--browser-item-size),1fr));display:grid}.k-browser-item{height:var(--browser-item-height);padding-inline:calc(var(--browser-item-padding) + 1px);border-radius:var(--browser-item-rounded);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:.5rem;display:flex;overflow:hidden}.k-browser-item-image{height:calc(var(--browser-item-height) - var(--browser-item-padding)*2);aspect-ratio:1;border-radius:var(--rounded-sm);box-shadow:var(--shadow);flex-shrink:0}.k-browser-item-image.k-icon-frame{box-shadow:none;background:var(--color-white)}.k-browser-item-image svg{transform:scale(.8)}.k-browser-item input{box-shadow:var(--shadow);opacity:0;width:0;position:absolute}.k-browser-item[aria-selected]{background:var(--color-blue-300)}:root{--button-align:center;--button-height:var(--height-md);--button-width:auto;--button-color-back:none;--button-color-text:currentColor;--button-color-icon:currentColor;--button-padding:var(--spacing-2);--button-rounded:var(--spacing-1);--button-text-display:block;--button-icon-display:block}.k-button{align-items:center;justify-content:var(--button-align);padding-inline:var(--button-padding);white-space:nowrap;border-radius:var(--button-rounded);background:var(--button-color-back);height:var(--button-height);width:var(--button-width);color:var(--button-color-text);font-variant-numeric:tabular-nums;text-align:var(--button-align);flex-shrink:0;gap:.5rem;line-height:1;display:inline-flex;position:relative;overflow-x:clip}.k-button-icon{--icon-color:var(--button-color-icon);display:var(--button-icon-display);flex-shrink:0}.k-button-text{text-overflow:ellipsis;display:var(--button-text-display);min-width:0;overflow-x:clip}.k-button:where([data-theme]){--button-color-icon:var(--theme-color-icon);--button-color-text:var(--theme-color-text)}.k-button:where([data-variant=dimmed]){--button-color-icon:var(--color-text);--button-color-dimmed-on:var(--color-text-dimmed);--button-color-dimmed-off:var(--color-text);--button-color-text:var(--button-color-dimmed-on)}.k-button:where([data-variant=dimmed]):not([aria-disabled]):is(:hover,[aria-current]){--button-color-text:var(--button-color-dimmed-off)}.k-button:where([data-theme][data-variant=dimmed]){--button-color-icon:var(--theme-color-icon);--button-color-dimmed-on:var(--theme-color-text-dimmed);--button-color-dimmed-off:var(--theme-color-text)}.k-button:where([data-variant=filled]){--button-color-back:var(--color-gray-300)}.k-button:where([data-variant=filled]):not([aria-disabled]):hover{filter:brightness(97%)}.k-button:where([data-theme][data-variant=filled]){--button-color-icon:var(--theme-color-700);--button-color-back:var(--theme-color-back);--button-color-text:var(--theme-color-text)}.k-button:not([data-has-text=true]){--button-padding:0;aspect-ratio:1}@container (width<=30rem){.k-button[data-responsive=true][data-has-icon=true]{--button-padding:0;aspect-ratio:1;--button-text-display:none}.k-button[data-responsive=text][data-has-text=true]{--button-icon-display:none}.k-button[data-responsive][data-has-icon=true] .k-button-arrow{display:none}}.k-button:not(button,a,summary,label,.k-link){pointer-events:none}.k-button:where([data-size=xs]){--button-height:var(--height-xs);--button-padding:.325rem}.k-button:where([data-size=sm]){--button-height:var(--height-sm);--button-padding:.5rem}.k-button:where([data-size=lg]){--button-height:var(--height-lg)}.k-button-arrow{--icon-size:10px;width:max-content;margin-inline-start:-.125rem}.k-button:where([aria-disabled]){cursor:not-allowed}.k-button:where([aria-disabled])>*{opacity:var(--opacity-disabled)}.k-button-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.k-button-group:where([data-layout=collapsed]){gap:0}.k-button-group[data-layout=collapsed]>.k-button[data-variant=filled]:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.k-button-group[data-layout=collapsed]>.k-button[data-variant=filled]:not(:first-child){border-left:1px solid var(--theme-color-500,var(--color-gray-400));border-start-start-radius:0;border-end-start-radius:0}.k-button-group[data-layout=collapsed]>.k-button[data-variant=filled]:focus-visible{z-index:1;border-radius:var(--button-rounded)}.k-file-browser{overflow:hidden;container-type:inline-size}.k-file-browser-layout{grid-template-columns:minmax(10rem,15rem) 1fr;display:grid}.k-file-browser-tree{padding:var(--spacing-2);border-right:1px solid var(--color-gray-300)}.k-file-browser-items{padding:var(--spacing-2);background:var(--color-gray-100)}.k-file-browser-back-button{display:none}@container (width<=30rem){.k-file-browser-layout{grid-template-columns:minmax(0,1fr);min-height:10rem}.k-file-browser-back-button{height:var(--height-sm);background:var(--color-gray-200);border-radius:var(--rounded);justify-content:flex-start;align-items:center;width:100%;margin-bottom:.5rem;padding-inline:.25rem;display:flex}.k-file-browser-tree{border-right:0}.k-file-browser[data-view=files] .k-file-browser-tree,.k-file-browser[data-view=tree] .k-file-browser-items{display:none}}:root{--tree-color-back:var(--color-gray-200);--tree-color-hover-back:var(--color-gray-300);--tree-color-selected-back:var(--color-blue-300);--tree-color-selected-text:var(--color-black);--tree-color-text:var(--color-gray-dimmed);--tree-level:0;--tree-indentation:.6rem}.k-tree-branch{align-items:center;margin-bottom:1px;padding-inline-start:calc(var(--tree-level)*var(--tree-indentation));display:flex}.k-tree-branch[data-has-subtree=true]{z-index:calc(100 - var(--tree-level));background:var(--tree-color-back);inset-block-start:calc(var(--tree-level)*1.5rem)}.k-tree-branch:hover,li[aria-current]>.k-tree-branch{--tree-color-text:var(--tree-color-selected-text);background:var(--tree-color-hover-back);border-radius:var(--rounded)}li[aria-current]>.k-tree-branch{background:var(--tree-color-selected-back)}.k-tree-toggle{--icon-size:12px;aspect-ratio:1;border-radius:var(--rounded-sm);flex-shrink:0;place-items:center;width:1rem;margin-inline-start:.25rem;padding:0;display:grid}.k-tree-toggle:hover{background:#00000013}.k-tree-toggle[disabled]{visibility:hidden}.k-tree-folder{height:var(--height-sm);border-radius:var(--rounded-sm);line-height:1.25;font-size:var(--text-sm);align-items:center;gap:.325rem;width:100%;min-width:3rem;padding-inline:.25rem;display:flex}@container (width<=15rem){.k-tree{--tree-indentation:.375rem}.k-tree-folder{padding-inline:.125rem}.k-tree-folder .k-icon{display:none}}.k-tree-folder>.k-frame{flex-shrink:0}.k-tree-folder-label{text-overflow:ellipsis;white-space:nowrap;color:currentColor;overflow:hidden}.k-tree-folder[disabled]{opacity:var(--opacity-disabled)}.k-pagination-details{--button-padding:var(--spacing-3);font-size:var(--text-xs)}.k-pagination-selector{--button-height:var(--height);--dropdown-padding:0;overflow:visible}.k-pagination-selector form{justify-content:space-between;align-items:center;display:flex}.k-pagination-selector label{padding-inline-start:var(--spacing-3);padding-inline-end:var(--spacing-2)}.k-pagination-selector select{--height:calc(var(--button-height) - .5rem);min-width:var(--height);height:var(--height);text-align:center;background:var(--color-gray-800);color:var(--color-white);border-radius:var(--rounded-sm);width:auto}.k-prev-next{direction:ltr;flex-shrink:0}:root{--tag-color-back:var(--color-black);--tag-color-text:var(--color-white);--tag-color-toggle:currentColor;--tag-color-disabled-back:var(--color-gray-600);--tag-color-disabled-text:var(--tag-color-text);--tag-height:var(--height-xs);--tag-rounded:var(--rounded-sm)}.k-tag{height:var(--tag-height);font-size:var(--text-sm);color:var(--tag-color-text);background-color:var(--tag-color-back);border-radius:var(--tag-rounded);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;line-height:1;display:flex;position:relative}.k-tag:not([aria-disabled]):focus{outline:var(--outline)}.k-tag-image{height:calc(var(--tag-height) - var(--spacing-2));margin-inline:var(--spacing-1);border-radius:var(--tag-rounded);overflow:hidden}.k-tag-text{padding-inline:var(--spacing-2);line-height:var(--leading-tight)}.k-tag[data-has-image=true] .k-tag-text{padding-inline-start:var(--spacing-1)}.k-tag[data-has-toggle=true] .k-tag-text{padding-inline-end:0}.k-tag-toggle{width:var(--tag-height);height:var(--tag-height);filter:brightness(70%)}.k-tag-toggle:hover{filter:brightness()}.k-tag:where([aria-disabled]){background-color:var(--tag-color-disabled-back);color:var(--tag-color-disabled-text);cursor:not-allowed}.k-button[data-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.k-card-options>.k-button[data-disabled=true]{display:inline-flex}.k-section+.k-section{margin-top:var(--columns-block-gap)}.k-section-header{margin-bottom:var(--spacing-2)}.k-fields-section input[type=submit]{display:none}[data-locked=true] .k-fields-section{opacity:.2;pointer-events:none}.k-models-section[data-processing=true]{pointer-events:none}.k-models-section-search.k-input{--input-color-back:var(--color-gray-300);--input-color-border:transparent;margin-bottom:var(--spacing-3)}:root{--code-color-back:var(--color-black);--code-color-icon:var(--color-gray-500);--code-color-text:var(--color-gray-200,white);--code-font-family:var(--font-mono);--code-font-size:1em;--code-inline-color-back:var(--color-blue-300);--code-inline-color-border:var(--color-blue-400);--code-inline-color-text:var(--color-blue-900);--code-inline-font-size:.9em;--code-padding:var(--spacing-3)}code{font-family:var(--code-font-family);font-size:var(--code-font-size);font-weight:var(--font-normal)}.k-code,.k-text pre{padding:var(--code-padding);border-radius:var(--rounded,.5rem);background:var(--code-color-back);color:var(--code-color-text);white-space:nowrap;-moz-tab-size:2;tab-size:2;max-width:100%;line-height:1.5;display:block;position:relative;overflow:auto hidden}.k-code:not(code),.k-text pre{white-space:pre-wrap}.k-code:before{content:attr(data-language);font-size:calc(.75*var(--text-xs));background:var(--code-color-back);border-radius:var(--rounded,.5rem);padding:.5rem .5rem .25rem .25rem;position:absolute;inset-block-start:0;inset-inline-end:0}.k-text>code,.k-text :not(pre)>code{padding-inline:var(--spacing-1);font-size:var(--code-inline-font-size);color:var(--code-inline-color-text);background:var(--code-inline-color-back);border-radius:var(--rounded);outline:1px solid var(--code-inline-color-border);outline-offset:-1px;display:inline-flex}:root{--text-h1:2em;--text-h2:1.75em;--text-h3:1.5em;--text-h4:1.25em;--text-h5:1.125em;--text-h6:1em;--font-h1:var(--font-semi);--font-h2:var(--font-semi);--font-h3:var(--font-semi);--font-h4:var(--font-semi);--font-h5:var(--font-semi);--font-h6:var(--font-semi);--leading-h1:1.125;--leading-h2:1.125;--leading-h3:1.25;--leading-h4:1.375;--leading-h5:1.5;--leading-h6:1.5}.k-headline{line-height:1.5em;font-weight:var(--font-bold)}.h1,.k-text h1,.k-headline[data-size=huge]{color:var(--color-h1,var(--color-h));font-family:var(--font-family-h1);font-size:var(--text-h1);font-weight:var(--font-h1);line-height:var(--leading-h1)}.h2,.k-text h2,.k-headline[data-size=large]{color:var(--color-h2,var(--color-h));font-family:var(--font-family-h2);font-size:var(--text-h2);font-weight:var(--font-h2);line-height:var(--leading-h2)}.h3,.k-text h3{color:var(--color-h3,var(--color-h));font-family:var(--font-family-h3);font-size:var(--text-h3);font-weight:var(--font-h3);line-height:var(--leading-h3)}.h4,.k-text h4,.k-headline[data-size=small]{color:var(--color-h4,var(--color-h));font-family:var(--font-family-h4);font-size:var(--text-h4);font-weight:var(--font-h4);line-height:var(--leading-h4)}.h5,.k-text h5{color:var(--color-h5,var(--color-h));font-family:var(--font-family-h5);font-size:var(--text-h5);font-weight:var(--font-h5);line-height:var(--leading-h5)}.h6,.k-text h6{color:var(--color-h6,var(--color-h));font-family:var(--font-family-h6);font-size:var(--text-h6);font-weight:var(--font-h6);line-height:var(--leading-h6)}.k-text>*+h6{margin-block-start:calc(var(--text-line-height)*1.5em)}.k-headline[data-theme]{color:var(--theme)}.k-label{height:var(--height-xs);font-weight:var(--font-semi);align-items:center;min-width:0;display:flex;position:relative}[aria-disabled] .k-label{opacity:var(--opacity-disabled);cursor:not-allowed}.k-label>a{height:var(--height-xs);padding-inline:var(--spacing-2);border-radius:var(--rounded);align-items:center;min-width:0;margin-inline-start:calc(-1*var(--spacing-2));display:inline-flex}.k-label-text{text-overflow:ellipsis;white-space:nowrap;overflow-x:clip}.k-label abbr{font-size:var(--text-xs);color:var(--color-gray-500);margin-inline-start:var(--spacing-1)}.k-label abbr.k-label-invalid{color:var(--color-red-700);display:none}:where(.k-field:has([data-invalid]),.k-section:has([data-invalid]))>header>.k-label abbr.k-label-invalid{display:inline-block}.k-field:has([data-invalid])>.k-field-header>.k-label abbr:has(+abbr.k-label-invalid){display:none}:root{--text-font-size:1em;--text-line-height:1.5;--link-color:var(--color-blue-800);--link-underline-offset:2px}.k-text{font-size:var(--text-font-size);line-height:var(--text-line-height)}.k-text[data-size=tiny]{--text-font-size:var(--text-xs)}.k-text[data-size=small]{--text-font-size:var(--text-sm)}.k-text[data-size=medium]{--text-font-size:var(--text-md)}.k-text[data-size=large]{--text-font-size:var(--text-xl)}.k-text[data-align]{text-align:var(--align)}.k-text>:where(audio,blockquote,details,div,figure,h1,h2,h3,h4,h5,h6,hr,iframe,img,object,ol,p,picture,pre,table,ul)+*{margin-block-start:calc(var(--text-line-height)*1em)}.k-text :where(.k-link,a){color:var(--link-color);text-underline-offset:var(--link-underline-offset);border-radius:var(--rounded-xs);outline-offset:2px;text-decoration:underline}.k-text ol,.k-text ul{padding-inline-start:1.75em}.k-text ol{list-style:numeric}.k-text ol>li{list-style:decimal}.k-text ul>li{list-style:disc}.k-text ul ul>li{list-style:circle}.k-text ul ul ul>li{list-style:square}.k-text blockquote{font-size:var(--text-lg);border-inline-start:2px solid var(--color-black);padding-inline-start:var(--spacing-4);line-height:1.25}.k-text img{border-radius:var(--rounded)}.k-text iframe{aspect-ratio:16/9;border-radius:var(--rounded);width:100%}.k-text hr{background:var(--color-border);height:1px}.k-help{color:var(--color-text-dimmed)}:root{--main-padding-inline:clamp(var(--spacing-6),5cqw,var(--spacing-24))}.k-panel-main{padding:var(--spacing-3)var(--main-padding-inline)var(--spacing-24);min-height:100dvh;margin-inline-start:var(--main-start);container:main/inline-size}.k-panel-notification{--button-height:var(--height-sm);--button-color-icon:var(--theme-color-800);--button-color-text:var(--theme-color-800);outline:1px solid var(--theme-color-500);box-shadow:var(--shadow-lg);z-index:var(--z-notification);position:fixed;inset-block-end:var(--spacing-6);inset-inline-end:var(--spacing-6)}:root{--menu-button-height:var(--height);--menu-button-width:100%;--menu-color-back:var(--color-gray-250);--menu-color-border:var(--color-gray-300);--menu-display:none;--menu-display-backdrop:block;--menu-padding:var(--spacing-3);--menu-shadow:var(--shadow-xl);--menu-toggle-height:var(--menu-button-height);--menu-toggle-width:1rem;--menu-width-closed:calc(var(--menu-button-height) + 2*var(--menu-padding));--menu-width-open:12rem;--menu-width:var(--menu-width-open)}.k-panel-menu{z-index:var(--z-navigation);display:var(--menu-display);width:var(--menu-width);background-color:var(--menu-color-back);border-right:1px solid var(--menu-color-border);box-shadow:var(--menu-shadow);position:fixed;inset-block:0;inset-inline-start:0}.k-panel-menu-body{gap:var(--spacing-4);padding:var(--menu-padding);overscroll-behavior:contain;flex-direction:column;height:100%;display:flex;overflow:hidden auto}.k-panel-menu-search{margin-bottom:var(--spacing-8)}.k-panel-menu-buttons{flex-direction:column;width:100%;display:flex}.k-panel-menu-buttons[data-second-last=true]{flex-grow:1}.k-panel-menu-buttons:last-child{justify-content:flex-end}.k-panel-menu-button{--button-align:flex-start;--button-height:var(--menu-button-height);--button-width:var(--menu-button-width);flex-shrink:0}.k-panel-menu-button[aria-current]{--button-color-back:var(--color-white);box-shadow:var(--shadow)}.k-panel-menu-button:focus{z-index:1}.k-panel[data-menu=true]{--menu-button-width:100%;--menu-display:block;--menu-width:var(--menu-width-open)}.k-panel[data-menu=true]:after{content:"";background:var(--color-backdrop);display:var(--menu-display-backdrop);pointer-events:none;position:fixed;inset:0}.k-panel-menu-toggle{--button-align:flex-start;--button-height:100%;--button-width:var(--menu-toggle-width);opacity:0;border-radius:0;align-items:flex-start;transition:opacity .2s;position:absolute;inset-block:0;inset-inline-start:100%;overflow:visible}.k-panel-menu-toggle:focus{outline:0}.k-panel-menu-toggle .k-button-icon{height:var(--menu-toggle-height);width:var(--menu-toggle-width);margin-top:var(--menu-padding);border-block:1px solid var(--menu-color-border);border-inline-end:1px solid var(--menu-color-border);background:var(--menu-color-back);border-start-end-radius:var(--button-rounded);border-end-end-radius:var(--button-rounded);place-items:center;display:grid}@media (width>=60rem){.k-panel{--menu-display:block;--menu-display-backdrop:none;--menu-shadow:none;--main-start:var(--menu-width)}.k-panel[data-menu=false]{--menu-button-width:var(--menu-button-height);--menu-width:var(--menu-width-closed)}.k-panel-menu-proxy{display:none}.k-panel-menu-toggle:focus-visible,.k-panel-menu[data-hover] .k-panel-menu-toggle{opacity:1}.k-panel-menu-toggle:focus-visible .k-button-icon{outline:var(--outline);border-radius:var(--button-rounded)}.k-panel-menu-search[aria-disabled=true]{opacity:0}}.k-panel.k-panel-outside{padding:var(--spacing-6);grid-template-rows:1fr;place-items:center;min-height:100dvh;display:grid}html{background:var(--color-light);overflow:hidden scroll}body{font-size:var(--text-sm)}.k-panel[data-loading=true]{animation:.5s LoadingCursor}.k-panel[data-loading=true]:after,.k-panel[data-dragging=true]{-webkit-user-select:none;user-select:none}.k-topbar{margin-inline:calc(var(--button-padding)*-1);margin-bottom:var(--spacing-8);align-items:center;gap:var(--spacing-1);display:flex;position:relative}.k-topbar-breadcrumb{margin-inline-start:-2px}.k-topbar-spacer{flex-grow:1}.k-topbar-signals{align-items:center;display:flex}.k-search-view .k-header{margin-bottom:0}.k-header+.k-search-view-results{margin-top:var(--spacing-12)}.k-search-view-input{--input-color-border:transparent;--input-color-back:var(--color-gray-300);--input-height:var(--height-md);width:40cqw}.k-file-view-header,.k-file-view[data-has-tabs=true] .k-file-preview{margin-bottom:0}.k-file-preview{background:var(--color-gray-900);border-radius:var(--rounded-lg);margin-bottom:var(--spacing-12);align-items:stretch;display:grid;overflow:hidden}.k-file-preview-thumb-column{background:var(--pattern);aspect-ratio:1}.k-file-preview-thumb{padding:var(--spacing-12);justify-content:center;align-items:center;height:100%;display:flex;container-type:size}.k-file-preview-thumb img{width:auto;max-width:100cqw;max-height:100cqh}.k-file-preview-thumb>.k-icon{--icon-size:3rem}.k-file-preview-thumb>.k-button{top:var(--spacing-2);position:absolute;inset-inline-start:var(--spacing-2)}.k-file-preview .k-coords-input{--opacity-disabled:1;--range-thumb-color:#5c8dd6bf;--range-thumb-size:1.25rem;--range-thumb-shadow:none;cursor:crosshair}.k-file-preview .k-coords-input-thumb:after{--size:.4rem;--pos:calc(50% - (var(--size)/2));top:var(--pos);width:var(--size);height:var(--size);content:"";background:var(--color-white);border-radius:50%;position:absolute;inset-inline-start:var(--pos)}.k-file-preview:not([data-has-focus=true]) .k-coords-input-thumb{display:none}.k-file-preview-details{display:grid}.k-file-preview-details dl{grid-gap:var(--spacing-6)var(--spacing-12);padding:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));align-self:center;line-height:1.5em;display:grid}.k-file-preview-details dt{font-size:var(--text-sm);font-weight:500;font-weight:var(--font-semi);color:var(--color-gray-500);margin-bottom:var(--spacing-1)}.k-file-preview-details :where(dd,a){font-size:var(--text-xs);color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-sm);overflow:hidden}.k-file-preview-focus-info dd{align-items:center;display:flex}.k-file-preview-focus-info .k-button{--button-padding:var(--spacing-2);--button-color-back:var(--color-gray-800)}.k-file-preview[data-has-focus=true] .k-file-preview-focus-info .k-button{flex-direction:row-reverse}@container (width>=36rem){.k-file-preview{grid-template-columns:50% auto}.k-file-preview-thumb-column{aspect-ratio:auto}}@container (width>=65rem){.k-file-preview{grid-template-columns:33.333% auto}.k-file-preview-thumb-column{aspect-ratio:1}}@container (width>=90rem){.k-file-preview-layout{grid-template-columns:25% auto}}.k-login-dialog{--dialog-color-back:var(--color-white);--dialog-shadow:var(--shadow);container-type:inline-size}.k-login-fields{position:relative}.k-login-toggler{top:-2px;z-index:1;color:var(--link-color);padding-inline:var(--spacing-2);text-decoration:underline;text-decoration-color:var(--link-color);text-underline-offset:1px;height:var(--height-xs);border-radius:var(--rounded);line-height:1;position:absolute;inset-inline-end:calc(var(--spacing-2)*-1)}.k-login-form label abbr{visibility:hidden}.k-login-buttons{--button-padding:var(--spacing-3);margin-top:var(--spacing-10);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.k-installation-dialog{--dialog-color-back:var(--color-white);--dialog-shadow:var(--shadow);container-type:inline-size}.k-installation-view .k-button{margin-top:var(--spacing-3);width:100%}.k-installation-view form .k-button{margin-top:var(--spacing-10)}.k-installation-view .k-headline{font-weight:var(--font-semi);margin-top:-.5rem;margin-bottom:.75rem}.k-installation-issues{line-height:1.5em;font-size:var(--text-sm)}.k-installation-issues li{padding:var(--spacing-6);background:var(--color-red-300);border-radius:var(--rounded);padding-inline-start:3.5rem;position:relative}.k-installation-issues .k-icon{top:calc(1.5rem + 2px);color:var(--color-red-700);position:absolute;inset-inline-start:1.5rem}.k-installation-issues li:not(:last-child){margin-bottom:2px}.k-installation-issues li code{font:inherit;color:var(--color-red-700)}.k-password-reset-view .k-user-info{margin-bottom:var(--spacing-8)}.k-user-info{font-size:var(--text-sm);height:var(--height-lg);padding-inline:var(--spacing-2);background:var(--color-white);box-shadow:var(--shadow);align-items:center;gap:.75rem;display:flex}.k-user-info :where(.k-image-frame,.k-icon-frame){border-radius:var(--rounded-sm);width:1.5rem}.k-page-view[data-has-tabs=true] .k-page-view-header{margin-bottom:0}.k-page-view-status{--button-color-back:var(--color-gray-300);--button-color-icon:var(--theme-color-600);--button-color-text:initial}.k-site-view[data-has-tabs=true] .k-site-view-header{margin-bottom:0}.k-system-info .k-stat-label{color:var(--theme,var(--color-black))}.k-table-update-status-cell{align-items:center;height:100%;padding:0 .75rem;display:flex}.k-table-update-status-cell-version,.k-table-update-status-cell-button{font-variant-numeric:tabular-nums}.k-plugin-info{column-gap:var(--spacing-3);padding:var(--button-padding);row-gap:2px;display:grid}.k-plugin-info dt{color:var(--color-gray-400)}.k-plugin-info dd[data-theme]{color:var(--theme-color-600)}@container (width<=30em){.k-plugin-info dd:not(:last-of-type){margin-bottom:var(--spacing-2)}}@container (width>=30em){.k-plugin-info{grid-template-columns:1fr auto;width:20rem}}.k-user-name-placeholder{color:var(--color-gray-500);transition:color .3s}.k-user-view-header[data-editable=true] .k-user-name-placeholder:hover{color:var(--color-gray-900)}.k-user-view-header{border-bottom:0;margin-bottom:0}.k-user-view .k-user-profile{margin-bottom:var(--spacing-12)}.k-user-view[data-has-tabs=true] .k-user-profile{margin-bottom:0}.k-user-view-image{padding:0}.k-user-view-image .k-frame{border-radius:var(--rounded);width:6rem;height:6rem;line-height:0}.k-user-view-image .k-icon-frame{--back:var(--color-black);--icon-color:var(--color-gray-200)}.k-user-profile{--button-height:auto;padding:var(--spacing-2);background:var(--color-white);border-radius:var(--rounded-lg);align-items:center;gap:var(--spacing-3);box-shadow:var(--shadow);display:flex}.k-user-profile .k-button-group{flex-direction:column;align-items:flex-start;display:flex}.k-users-view-header{margin-bottom:0}:root{--color-l-100:98%;--color-l-200:94%;--color-l-300:88%;--color-l-400:80%;--color-l-500:70%;--color-l-600:60%;--color-l-700:45%;--color-l-800:30%;--color-l-900:15%;--color-red-h:0;--color-red-s:80%;--color-red-hs:var(--color-red-h),var(--color-red-s);--color-red-boost:3%;--color-red-l-100:calc(var(--color-l-100) + var(--color-red-boost));--color-red-l-200:calc(var(--color-l-200) + var(--color-red-boost));--color-red-l-300:calc(var(--color-l-300) + var(--color-red-boost));--color-red-l-400:calc(var(--color-l-400) + var(--color-red-boost));--color-red-l-500:calc(var(--color-l-500) + var(--color-red-boost));--color-red-l-600:calc(var(--color-l-600) + var(--color-red-boost));--color-red-l-700:calc(var(--color-l-700) + var(--color-red-boost));--color-red-l-800:calc(var(--color-l-800) + var(--color-red-boost));--color-red-l-900:calc(var(--color-l-900) + var(--color-red-boost));--color-red-100:hsl(var(--color-red-hs),var(--color-red-l-100));--color-red-200:hsl(var(--color-red-hs),var(--color-red-l-200));--color-red-300:hsl(var(--color-red-hs),var(--color-red-l-300));--color-red-400:hsl(var(--color-red-hs),var(--color-red-l-400));--color-red-500:hsl(var(--color-red-hs),var(--color-red-l-500));--color-red-600:hsl(var(--color-red-hs),var(--color-red-l-600));--color-red-700:hsl(var(--color-red-hs),var(--color-red-l-700));--color-red-800:hsl(var(--color-red-hs),var(--color-red-l-800));--color-red-900:hsl(var(--color-red-hs),var(--color-red-l-900));--color-orange-h:28;--color-orange-s:80%;--color-orange-hs:var(--color-orange-h),var(--color-orange-s);--color-orange-boost:2.5%;--color-orange-l-100:calc(var(--color-l-100) + var(--color-orange-boost));--color-orange-l-200:calc(var(--color-l-200) + var(--color-orange-boost));--color-orange-l-300:calc(var(--color-l-300) + var(--color-orange-boost));--color-orange-l-400:calc(var(--color-l-400) + var(--color-orange-boost));--color-orange-l-500:calc(var(--color-l-500) + var(--color-orange-boost));--color-orange-l-600:calc(var(--color-l-600) + var(--color-orange-boost));--color-orange-l-700:calc(var(--color-l-700) + var(--color-orange-boost));--color-orange-l-800:calc(var(--color-l-800) + var(--color-orange-boost));--color-orange-l-900:calc(var(--color-l-900) + var(--color-orange-boost));--color-orange-100:hsl(var(--color-orange-hs),var(--color-orange-l-100));--color-orange-200:hsl(var(--color-orange-hs),var(--color-orange-l-200));--color-orange-300:hsl(var(--color-orange-hs),var(--color-orange-l-300));--color-orange-400:hsl(var(--color-orange-hs),var(--color-orange-l-400));--color-orange-500:hsl(var(--color-orange-hs),var(--color-orange-l-500));--color-orange-600:hsl(var(--color-orange-hs),var(--color-orange-l-600));--color-orange-700:hsl(var(--color-orange-hs),var(--color-orange-l-700));--color-orange-800:hsl(var(--color-orange-hs),var(--color-orange-l-800));--color-orange-900:hsl(var(--color-orange-hs),var(--color-orange-l-900));--color-yellow-h:47;--color-yellow-s:80%;--color-yellow-hs:var(--color-yellow-h),var(--color-yellow-s);--color-yellow-boost:0%;--color-yellow-l-100:calc(var(--color-l-100) + var(--color-yellow-boost));--color-yellow-l-200:calc(var(--color-l-200) + var(--color-yellow-boost));--color-yellow-l-300:calc(var(--color-l-300) + var(--color-yellow-boost));--color-yellow-l-400:calc(var(--color-l-400) + var(--color-yellow-boost));--color-yellow-l-500:calc(var(--color-l-500) + var(--color-yellow-boost));--color-yellow-l-600:calc(var(--color-l-600) + var(--color-yellow-boost));--color-yellow-l-700:calc(var(--color-l-700) + var(--color-yellow-boost));--color-yellow-l-800:calc(var(--color-l-800) + var(--color-yellow-boost));--color-yellow-l-900:calc(var(--color-l-900) + var(--color-yellow-boost));--color-yellow-100:hsl(var(--color-yellow-hs),var(--color-yellow-l-100));--color-yellow-200:hsl(var(--color-yellow-hs),var(--color-yellow-l-200));--color-yellow-300:hsl(var(--color-yellow-hs),var(--color-yellow-l-300));--color-yellow-400:hsl(var(--color-yellow-hs),var(--color-yellow-l-400));--color-yellow-500:hsl(var(--color-yellow-hs),var(--color-yellow-l-500));--color-yellow-600:hsl(var(--color-yellow-hs),var(--color-yellow-l-600));--color-yellow-700:hsl(var(--color-yellow-hs),var(--color-yellow-l-700));--color-yellow-800:hsl(var(--color-yellow-hs),var(--color-yellow-l-800));--color-yellow-900:hsl(var(--color-yellow-hs),var(--color-yellow-l-900));--color-green-h:80;--color-green-s:60%;--color-green-hs:var(--color-green-h),var(--color-green-s);--color-green-boost:-2.5%;--color-green-l-100:calc(var(--color-l-100) + var(--color-green-boost));--color-green-l-200:calc(var(--color-l-200) + var(--color-green-boost));--color-green-l-300:calc(var(--color-l-300) + var(--color-green-boost));--color-green-l-400:calc(var(--color-l-400) + var(--color-green-boost));--color-green-l-500:calc(var(--color-l-500) + var(--color-green-boost));--color-green-l-600:calc(var(--color-l-600) + var(--color-green-boost));--color-green-l-700:calc(var(--color-l-700) + var(--color-green-boost));--color-green-l-800:calc(var(--color-l-800) + var(--color-green-boost));--color-green-l-900:calc(var(--color-l-900) + var(--color-green-boost));--color-green-100:hsl(var(--color-green-hs),var(--color-green-l-100));--color-green-200:hsl(var(--color-green-hs),var(--color-green-l-200));--color-green-300:hsl(var(--color-green-hs),var(--color-green-l-300));--color-green-400:hsl(var(--color-green-hs),var(--color-green-l-400));--color-green-500:hsl(var(--color-green-hs),var(--color-green-l-500));--color-green-600:hsl(var(--color-green-hs),var(--color-green-l-600));--color-green-700:hsl(var(--color-green-hs),var(--color-green-l-700));--color-green-800:hsl(var(--color-green-hs),var(--color-green-l-800));--color-green-900:hsl(var(--color-green-hs),var(--color-green-l-900));--color-aqua-h:180;--color-aqua-s:50%;--color-aqua-hs:var(--color-aqua-h),var(--color-aqua-s);--color-aqua-boost:0%;--color-aqua-l-100:calc(var(--color-l-100) + var(--color-aqua-boost));--color-aqua-l-200:calc(var(--color-l-200) + var(--color-aqua-boost));--color-aqua-l-300:calc(var(--color-l-300) + var(--color-aqua-boost));--color-aqua-l-400:calc(var(--color-l-400) + var(--color-aqua-boost));--color-aqua-l-500:calc(var(--color-l-500) + var(--color-aqua-boost));--color-aqua-l-600:calc(var(--color-l-600) + var(--color-aqua-boost));--color-aqua-l-700:calc(var(--color-l-700) + var(--color-aqua-boost));--color-aqua-l-800:calc(var(--color-l-800) + var(--color-aqua-boost));--color-aqua-l-900:calc(var(--color-l-900) + var(--color-aqua-boost));--color-aqua-100:hsl(var(--color-aqua-hs),var(--color-aqua-l-100));--color-aqua-200:hsl(var(--color-aqua-hs),var(--color-aqua-l-200));--color-aqua-300:hsl(var(--color-aqua-hs),var(--color-aqua-l-300));--color-aqua-400:hsl(var(--color-aqua-hs),var(--color-aqua-l-400));--color-aqua-500:hsl(var(--color-aqua-hs),var(--color-aqua-l-500));--color-aqua-600:hsl(var(--color-aqua-hs),var(--color-aqua-l-600));--color-aqua-700:hsl(var(--color-aqua-hs),var(--color-aqua-l-700));--color-aqua-800:hsl(var(--color-aqua-hs),var(--color-aqua-l-800));--color-aqua-900:hsl(var(--color-aqua-hs),var(--color-aqua-l-900));--color-blue-h:210;--color-blue-s:65%;--color-blue-hs:var(--color-blue-h),var(--color-blue-s);--color-blue-boost:3%;--color-blue-l-100:calc(var(--color-l-100) + var(--color-blue-boost));--color-blue-l-200:calc(var(--color-l-200) + var(--color-blue-boost));--color-blue-l-300:calc(var(--color-l-300) + var(--color-blue-boost));--color-blue-l-400:calc(var(--color-l-400) + var(--color-blue-boost));--color-blue-l-500:calc(var(--color-l-500) + var(--color-blue-boost));--color-blue-l-600:calc(var(--color-l-600) + var(--color-blue-boost));--color-blue-l-700:calc(var(--color-l-700) + var(--color-blue-boost));--color-blue-l-800:calc(var(--color-l-800) + var(--color-blue-boost));--color-blue-l-900:calc(var(--color-l-900) + var(--color-blue-boost));--color-blue-100:hsl(var(--color-blue-hs),var(--color-blue-l-100));--color-blue-200:hsl(var(--color-blue-hs),var(--color-blue-l-200));--color-blue-300:hsl(var(--color-blue-hs),var(--color-blue-l-300));--color-blue-400:hsl(var(--color-blue-hs),var(--color-blue-l-400));--color-blue-500:hsl(var(--color-blue-hs),var(--color-blue-l-500));--color-blue-600:hsl(var(--color-blue-hs),var(--color-blue-l-600));--color-blue-700:hsl(var(--color-blue-hs),var(--color-blue-l-700));--color-blue-800:hsl(var(--color-blue-hs),var(--color-blue-l-800));--color-blue-900:hsl(var(--color-blue-hs),var(--color-blue-l-900));--color-purple-h:275;--color-purple-s:60%;--color-purple-hs:var(--color-purple-h),var(--color-purple-s);--color-purple-boost:0%;--color-purple-l-100:calc(var(--color-l-100) + var(--color-purple-boost));--color-purple-l-200:calc(var(--color-l-200) + var(--color-purple-boost));--color-purple-l-300:calc(var(--color-l-300) + var(--color-purple-boost));--color-purple-l-400:calc(var(--color-l-400) + var(--color-purple-boost));--color-purple-l-500:calc(var(--color-l-500) + var(--color-purple-boost));--color-purple-l-600:calc(var(--color-l-600) + var(--color-purple-boost));--color-purple-l-700:calc(var(--color-l-700) + var(--color-purple-boost));--color-purple-l-800:calc(var(--color-l-800) + var(--color-purple-boost));--color-purple-l-900:calc(var(--color-l-900) + var(--color-purple-boost));--color-purple-100:hsl(var(--color-purple-hs),var(--color-purple-l-100));--color-purple-200:hsl(var(--color-purple-hs),var(--color-purple-l-200));--color-purple-300:hsl(var(--color-purple-hs),var(--color-purple-l-300));--color-purple-400:hsl(var(--color-purple-hs),var(--color-purple-l-400));--color-purple-500:hsl(var(--color-purple-hs),var(--color-purple-l-500));--color-purple-600:hsl(var(--color-purple-hs),var(--color-purple-l-600));--color-purple-700:hsl(var(--color-purple-hs),var(--color-purple-l-700));--color-purple-800:hsl(var(--color-purple-hs),var(--color-purple-l-800));--color-purple-900:hsl(var(--color-purple-hs),var(--color-purple-l-900));--color-pink-h:320;--color-pink-s:70%;--color-pink-hs:var(--color-pink-h),var(--color-pink-s);--color-pink-boost:0%;--color-pink-l-100:calc(var(--color-l-100) + var(--color-pink-boost));--color-pink-l-200:calc(var(--color-l-200) + var(--color-pink-boost));--color-pink-l-300:calc(var(--color-l-300) + var(--color-pink-boost));--color-pink-l-400:calc(var(--color-l-400) + var(--color-pink-boost));--color-pink-l-500:calc(var(--color-l-500) + var(--color-pink-boost));--color-pink-l-600:calc(var(--color-l-600) + var(--color-pink-boost));--color-pink-l-700:calc(var(--color-l-700) + var(--color-pink-boost));--color-pink-l-800:calc(var(--color-l-800) + var(--color-pink-boost));--color-pink-l-900:calc(var(--color-l-900) + var(--color-pink-boost));--color-pink-100:hsl(var(--color-pink-hs),var(--color-pink-l-100));--color-pink-200:hsl(var(--color-pink-hs),var(--color-pink-l-200));--color-pink-300:hsl(var(--color-pink-hs),var(--color-pink-l-300));--color-pink-400:hsl(var(--color-pink-hs),var(--color-pink-l-400));--color-pink-500:hsl(var(--color-pink-hs),var(--color-pink-l-500));--color-pink-600:hsl(var(--color-pink-hs),var(--color-pink-l-600));--color-pink-700:hsl(var(--color-pink-hs),var(--color-pink-l-700));--color-pink-800:hsl(var(--color-pink-hs),var(--color-pink-l-800));--color-pink-900:hsl(var(--color-pink-hs),var(--color-pink-l-900));--color-gray-h:0;--color-gray-s:0%;--color-gray-hs:var(--color-gray-h),var(--color-gray-s);--color-gray-boost:0%;--color-gray-l-100:calc(var(--color-l-100) + var(--color-gray-boost));--color-gray-l-200:calc(var(--color-l-200) + var(--color-gray-boost));--color-gray-l-300:calc(var(--color-l-300) + var(--color-gray-boost));--color-gray-l-400:calc(var(--color-l-400) + var(--color-gray-boost));--color-gray-l-500:calc(var(--color-l-500) + var(--color-gray-boost));--color-gray-l-600:calc(var(--color-l-600) + var(--color-gray-boost));--color-gray-l-700:calc(var(--color-l-700) + var(--color-gray-boost));--color-gray-l-800:calc(var(--color-l-800) + var(--color-gray-boost));--color-gray-l-900:calc(var(--color-l-900) + var(--color-gray-boost));--color-gray-100:hsl(var(--color-gray-hs),var(--color-gray-l-100));--color-gray-200:hsl(var(--color-gray-hs),var(--color-gray-l-200));--color-gray-250:#e8e8e8;--color-gray-300:hsl(var(--color-gray-hs),var(--color-gray-l-300));--color-gray-400:hsl(var(--color-gray-hs),var(--color-gray-l-400));--color-gray-500:hsl(var(--color-gray-hs),var(--color-gray-l-500));--color-gray-600:hsl(var(--color-gray-hs),var(--color-gray-l-600));--color-gray-700:hsl(var(--color-gray-hs),var(--color-gray-l-700));--color-gray-800:hsl(var(--color-gray-hs),var(--color-gray-l-800));--color-gray-900:hsl(var(--color-gray-hs),var(--color-gray-l-900));--color-backdrop:#0009;--color-black:black;--color-border:var(--color-gray-300);--color-dark:var(--color-gray-900);--color-focus:var(--color-blue-600);--color-light:var(--color-gray-200);--color-text:var(--color-black);--color-text-dimmed:var(--color-gray-700);--color-white:white;--color-background:var(--color-light);--color-gray:var(--color-gray-600);--color-red:var(--color-red-600);--color-orange:var(--color-orange-600);--color-yellow:var(--color-yellow-600);--color-green:var(--color-green-600);--color-aqua:var(--color-aqua-600);--color-blue:var(--color-blue-600);--color-purple:var(--color-purple-600);--color-focus-light:var(--color-focus);--color-focus-outline:var(--color-focus);--color-negative:var(--color-red-700);--color-negative-light:var(--color-red-500);--color-negative-outline:var(--color-red-900);--color-notice:var(--color-orange-700);--color-notice-light:var(--color-orange-500);--color-positive:var(--color-green-700);--color-positive-light:var(--color-green-500);--color-positive-outline:var(--color-green-900);--color-text-light:var(--color-text-dimmed);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-mono:"SFMono-Regular",Consolas,Liberation Mono,Menlo,Courier,monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2.5rem;--text-5xl:3rem;--text-6xl:4rem;--text-base:var(--text-md);--font-size-tiny:var(--text-xs);--font-size-small:var(--text-sm);--font-size-medium:var(--text-base);--font-size-large:var(--text-xl);--font-size-huge:var(--text-2xl);--font-size-monster:var(--text-3xl);--font-thin:300;--font-normal:400;--font-semi:500;--font-bold:600;--height-xs:1.5rem;--height-sm:1.75rem;--height-md:2rem;--height-lg:2.25rem;--height-xl:2.5rem;--height:var(--height-md);--opacity-disabled:.5;--rounded-xs:1px;--rounded-sm:.125rem;--rounded-md:.25rem;--rounded-lg:.375rem;--rounded-xl:.5rem;--rounded:var(--rounded-md);--shadow-sm:0 1px 3px 0 #0000000d,0 1px 2px 0 #00000006;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000d;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000d;--shadow:var(--shadow-sm);--shadow-toolbar:#0000001a -2px 0 5px,var(--shadow),var(--shadow-xl);--shadow-outline:var(--color-focus,currentColor)0 0 0 2px;--shadow-inset:inset 0 2px 4px 0 #0000000f;--shadow-sticky:#0000000d 0 2px 5px;--box-shadow-dropdown:var(--shadow-dropdown);--box-shadow-item:var(--shadow);--box-shadow-focus:var(--shadow-xl);--shadow-dropdown:var(--shadow-lg);--shadow-item:var(--shadow-sm);--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-24:6rem;--spacing-36:9rem;--spacing-48:12rem;--spacing-px:1px;--spacing-2px:2px;--spacing-5:1.25rem;--spacing-10:2.5rem;--spacing-20:5rem;--z-offline:1200;--z-fatal:1100;--z-loader:1000;--z-notification:900;--z-dialog:800;--z-navigation:700;--z-dropdown:600;--z-drawer:500;--z-dropzone:400;--z-toolbar:300;--z-content:200;--z-background:100;--pattern-size:16px;--pattern-light:repeating-conic-gradient(#fff 0% 25%,#e6e6e6 0% 50%)50%/var(--pattern-size)var(--pattern-size);--pattern-dark:repeating-conic-gradient(#262626 0% 25%,#383838 0% 50%)50%/var(--pattern-size)var(--pattern-size);--pattern:var(--pattern-dark)}:root{--container:80rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--field-input-padding:var(--input-padding);--field-input-height:var(--input-height);--field-input-line-height:var(--input-leading);--field-input-font-size:var(--input-font-size);--bg-pattern:var(--pattern)}:root{--choice-color-back:var(--color-white);--choice-color-border:var(--color-gray-500);--choice-color-checked:var(--color-black);--choice-color-disabled:var(--color-gray-400);--choice-color-icon:var(--color-light);--choice-color-info:var(--color-text-dimmed);--choice-color-text:var(--color-text);--choice-color-toggle:var(--choice-color-disabled);--choice-height:1rem;--choice-rounded:var(--rounded-sm)}input:where([type=checkbox],[type=radio]){cursor:pointer;height:var(--choice-height);aspect-ratio:1;border:1px solid var(--choice-color-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--choice-rounded);background:var(--choice-color-back);box-shadow:var(--shadow-sm);flex-shrink:0;position:relative;overflow:hidden}input:where([type=checkbox],[type=radio]):after{content:"";text-align:center;place-items:center;display:none;position:absolute}input:where([type=checkbox],[type=radio]):focus{outline:var(--outline);outline-offset:-1px;color:var(--color-focus)}input:where([type=checkbox]):checked{border-color:var(--choice-color-checked)}input:where([type=checkbox],[type=radio]):checked:after{background:var(--choice-color-checked);display:grid}input:where([type=checkbox],[type=radio]):checked:focus{--choice-color-checked:var(--color-focus)}input:where([type=checkbox],[type=radio])[disabled]{--choice-color-back:none;--choice-color-border:var(--color-gray-300);--choice-color-checked:var(--choice-color-disabled);box-shadow:none;cursor:not-allowed}input[type=checkbox]:checked:after{content:"✓";color:var(--choice-color-icon);font-size:9px;font-weight:700;line-height:1;inset:0}input[type=radio]{--choice-rounded:50%}input[type=radio]:after{border-radius:var(--choice-rounded);inset:3px}input[type=checkbox][data-variant=toggle]{--choice-rounded:var(--choice-height);aspect-ratio:2}input[type=checkbox][data-variant=toggle]:after{background:var(--choice-color-toggle);border-radius:var(--choice-rounded);width:50%;display:grid;inset:1px}input[type=checkbox][data-variant=toggle]:checked{border-color:var(--choice-color-border)}input[type=checkbox][data-variant=toggle]:checked:after{background:var(--choice-color-checked);margin-inline-start:auto}:root{--range-thumb-color:var(--color-white);--range-thumb-focus-outline:var(--outline);--range-thumb-size:1rem;--range-thumb-shadow:#0000001a 0 2px 4px 2px,#00000020 0 0 0 1px;--range-track-back:var(--color-gray-250);--range-track-height:var(--range-thumb-size)}:where(input[type=range]){-webkit-appearance:none;-moz-appearance:none;appearance:none;height:var(--range-thumb-size);border-radius:var(--range-track-size);align-items:center;width:100%;padding:0;display:flex}:where(input[type=range])::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-color);box-shadow:var(--range-thumb-shadow);margin-top:calc(((var(--range-thumb-size) - var(--range-track-height))/2)*-1);z-index:1;cursor:grab;border:0;border-radius:50%;transform:translate(0)}:where(input[type=range])::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-color);box-shadow:var(--range-thumb-shadow);z-index:1;cursor:grab;border:0;border-radius:50%;transform:translate(0)}:where(input[type=range])::-webkit-slider-thumb:active{cursor:grabbing}:where(input[type=range])::-moz-range-thumb:active{cursor:grabbing}:where(input[type=range])::-webkit-slider-runnable-track{background:var(--range-track-back);height:var(--range-track-height);border-radius:var(--range-track-height)}:where(input[type=range])::-moz-range-track{background:var(--range-track-back);height:var(--range-track-height);border-radius:var(--range-track-height)}:where(input[type=range][disabled]){--range-thumb-color:#fff3}:where(input[type=range][disabled])::-webkit-slider-thumb{cursor:not-allowed}:where(input[type=range][disabled])::-moz-range-thumb{cursor:not-allowed}:where(input[type=range]):focus{outline:var(--outline)}:where(input[type=range]):focus::-webkit-slider-thumb{outline:var(--range-thumb-focus-outline)}:where(input[type=range]):focus::-moz-range-thumb{outline:var(--range-thumb-focus-outline)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:where(b,strong){font-weight:var(--font-bold,600)}:where([hidden]){display:none!important}:where(abbr){text-decoration:none}:where(input,button,textarea,select){font:inherit;line-height:inherit;color:inherit;background:0 0;border:0}:where(fieldset){border:0}:where(legend){float:left;width:100%}:where(legend+*){clear:both}:where(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-white);color:var(--color-black);cursor:pointer}:where(textarea,select,input:not([type=checkbox],[type=radio],[type=reset],[type=submit])){font-variant-numeric:tabular-nums;width:100%}:where(textarea){resize:vertical;line-height:1.5}:where(input)::-webkit-calendar-picker-indicator{display:none}:where(input[type=search]){-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(input)::-webkit-search-cancel-button{display:none}:where(button,label,select,summary,[role=button],[role=option]){cursor:pointer}:where(select[multiple]) option{align-items:center;display:flex}:where(input:autofill){-webkit-background-clip:text;-webkit-text-fill-color:var(--input-color-text)!important}:where(:disabled){cursor:not-allowed}::placeholder{color:var(--input-color-placeholder);opacity:1}:where(a){color:currentColor;text-underline-offset:.2ex;text-decoration:none}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(iframe){border:0}:where(img,picture,svg){block-size:auto;max-inline-size:100%}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3,h4,h5,h6){font:inherit}:where(:focus,:focus-visible,:focus-within){outline-color:var(--color-focus,currentColor);outline-offset:0}:where(:focus-visible){outline:var(--outline,2px solid var(--color-focus,currentColor))}:where(:invalid){box-shadow:none;outline:0}:where(dialog){border:0;max-width:none;max-height:none}:where(hr){border:0}:where(table){font:inherit;border-spacing:0;font-variant-numeric:tabular-nums;width:100%}:where(table th){font:inherit;text-align:start}:where(svg){fill:currentColor}body{font-family:var(--font-sans,sans-serif);font-size:var(--text-sm);accent-color:var(--color-focus,currentColor);line-height:1;position:relative}:where(sup,sub){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where(sup){top:-.5em}:where(sub){bottom:-.25em}:where(mark){background:var(--color-yellow-300)}:where(kbd){padding-inline:var(--spacing-2);border-radius:var(--rounded);background:var(--color-white);box-shadow:var(--shadow);display:inline-block}[data-align=left]{--align:start}[data-align=center]{--align:center}[data-align=right]{--align:end}@keyframes LoadingCursor{to{cursor:progress}}@keyframes Spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-theme]{--theme-color-h:0;--theme-color-s:0%;--theme-color-hs:var(--theme-color-h),var(--theme-color-s);--theme-color-boost:3%;--theme-color-l-100:calc(var(--color-l-100) + var(--theme-color-boost));--theme-color-l-200:calc(var(--color-l-200) + var(--theme-color-boost));--theme-color-l-300:calc(var(--color-l-300) + var(--theme-color-boost));--theme-color-l-400:calc(var(--color-l-400) + var(--theme-color-boost));--theme-color-l-500:calc(var(--color-l-500) + var(--theme-color-boost));--theme-color-l-600:calc(var(--color-l-600) + var(--theme-color-boost));--theme-color-l-700:calc(var(--color-l-700) + var(--theme-color-boost));--theme-color-l-800:calc(var(--color-l-800) + var(--theme-color-boost));--theme-color-l-900:calc(var(--color-l-900) + var(--theme-color-boost));--theme-color-100:hsl(var(--theme-color-hs),var(--theme-color-l-100));--theme-color-200:hsl(var(--theme-color-hs),var(--theme-color-l-200));--theme-color-300:hsl(var(--theme-color-hs),var(--theme-color-l-300));--theme-color-400:hsl(var(--theme-color-hs),var(--theme-color-l-400));--theme-color-500:hsl(var(--theme-color-hs),var(--theme-color-l-500));--theme-color-600:hsl(var(--theme-color-hs),var(--theme-color-l-600));--theme-color-700:hsl(var(--theme-color-hs),var(--theme-color-l-700));--theme-color-800:hsl(var(--theme-color-hs),var(--theme-color-l-800));--theme-color-900:hsl(var(--theme-color-hs),var(--theme-color-l-900));--theme-color-text:var(--theme-color-900);--theme-color-text-dimmed:var(--theme-color-700);--theme-color-back:var(--theme-color-400);--theme-color-hover:var(--theme-color-500);--theme-color-icon:var(--theme-color-600)}[data-theme=error],[data-theme=negative]{--theme-color-h:var(--color-red-h);--theme-color-s:var(--color-red-s);--theme-color-boost:var(--color-red-boost)}[data-theme=notice]{--theme-color-h:var(--color-orange-h);--theme-color-s:var(--color-orange-s);--theme-color-boost:var(--color-orange-boost)}[data-theme=warning]{--theme-color-h:var(--color-yellow-h);--theme-color-s:var(--color-yellow-s);--theme-color-boost:var(--color-yellow-boost)}[data-theme=info]{--theme-color-h:var(--color-blue-h);--theme-color-s:var(--color-blue-s);--theme-color-boost:var(--color-blue-boost)}[data-theme=positive]{--theme-color-h:var(--color-green-h);--theme-color-s:var(--color-green-s);--theme-color-boost:var(--color-green-boost)}[data-theme=passive]{--theme-color-h:var(--color-gray-h);--theme-color-s:var(--color-gray-s);--theme-color-boost:10%}[data-theme=white],[data-theme=text]{--theme-color-back:var(--color-white);--theme-color-icon:var(--color-gray-800);--theme-color-text:var(--color-text);--color-h:var(--color-black)}[data-theme=dark]{--theme-color-h:var(--color-gray-h);--theme-color-s:var(--color-gray-s);--theme-color-boost:var(--color-gray-boost);--theme-color-back:var(--color-gray-800);--theme-color-icon:var(--color-gray-500);--theme-color-text:var(--color-gray-200)}[data-theme=code]{--theme-color-back:var(--code-color-back);--theme-color-hover:var(--color-black);--theme-color-icon:var(--code-color-icon);--theme-color-text:var(--code-color-text);font-family:var(--code-font-family);font-size:var(--code-font-size)}[data-theme=empty]{--theme-color-back:var(--color-light);--theme-color-border:var(--color-gray-400);--theme-color-icon:var(--color-gray-600);--theme-color-text:var(--color-text-dimmed);border:1px dashed var(--theme-color-border)}[data-theme=none]{--theme-color-back:transparent;--theme-color-border:transparent;--theme-color-icon:var(--color-text);--theme-color-text:var(--color-text)}[data-theme]{--theme:var(--theme-color-700);--theme-light:var(--theme-color-500);--theme-bg:var(--theme-color-500)}:root{--outline:2px solid var(--color-focus,currentColor)}.scroll-x,.scroll-x-auto,.scroll-y,.scroll-y-auto{-webkit-overflow-scrolling:touch;transform:translate(0)}.scroll-x{overflow:scroll hidden}.scroll-x-auto{overflow:auto hidden}.scroll-y{overflow:hidden scroll}.scroll-y-auto{overflow:hidden auto}.input-hidden{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;width:0;height:0;position:absolute}.k-lab-index-view .k-header{margin-bottom:0}.k-lab-index-view .k-list-items{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}.k-lab-example{outline-offset:-2px;border-radius:var(--rounded);border:1px solid var(--color-gray-300);max-width:100%;position:relative;container-type:inline-size}.k-lab-example+.k-lab-example{margin-top:var(--spacing-12)}.k-lab-example-header{height:var(--height-md);padding-block:var(--spacing-3);padding-inline:var(--spacing-2);border-bottom:1px solid var(--color-gray-300);justify-content:space-between;align-items:center;display:flex}.k-lab-example-label{color:var(--color-text-dimmed);font-size:12px}.k-lab-example-canvas,.k-lab-example-code{padding:var(--spacing-16)}.k-lab-example[data-flex] .k-lab-example-canvas{align-items:center;gap:var(--spacing-6);display:flex}.k-lab-example-inspector{--icon-size:13px;--button-color-icon:var(--color-gray-500)}.k-lab-example-inspector .k-button:not([data-theme]):hover{--button-color-icon:var(--color-gray-600)}.k-lab-example-inspector .k-button:where([data-theme]){--button-color-icon:var(--color-gray-800)}.k-lab-examples>:where(.k-text,.k-box){margin-bottom:var(--spacing-6)}.k-lab-form>footer{border-top:1px dashed var(--color-border);padding-top:var(--spacing-6)}.k-lab-input-examples :not([type=checkbox],[type=radio]):invalid{outline:2px solid var(--color-red-600)!important}.k-lab-options-input-examples fieldset:invalid,.k-lab-options-input-examples :not([type=checkbox],[type=radio]):invalid{outline:2px solid var(--color-red-600)}.k-lab-playground-view[data-has-tabs=true] .k-header{margin-bottom:0}.k-lab-docs-deprecated .k-box{box-shadow:var(--shadow)}.k-lab-docs-examples .k-code+.k-code{margin-top:var(--spacing-4)}.k-lab-docs-prop-values{font-size:var(--text-xs);border-left:2px solid var(--color-blue-300);padding-inline-start:var(--spacing-2)}.k-lab-docs-prop-values dl{font-weight:var(--font-bold)}.k-lab-docs-prop-values dl+dl{margin-top:var(--spacing-2)}.k-lab-docs-prop-values dd{gap:var(--spacing-1);flex-wrap:wrap;display:inline-flex}.k-lab-docs-desc-header{justify-content:space-between;align-items:center;display:flex}.k-table .k-lab-docs-deprecated{--box-height:var(--height-xs);--text-font-size:var(--text-xs)}.k-labs-docs-params li{margin-inline-start:var(--spacing-3);list-style:square}.k-labs-docs-params .k-lab-docs-types{margin-inline:1ch}.k-lab-docs-types{gap:var(--spacing-1);flex-wrap:wrap;display:inline-flex}.k-lab-docs-types.k-text code{color:var(--color-gray-800);outline-color:var(--color-gray-400);background:var(--color-gray-300)}.k-lab-docs-types code:is([data-type=boolean],[data-type=Boolean]){color:var(--color-purple-800);outline-color:var(--color-purple-400);background:var(--color-purple-300)}.k-lab-docs-types code:is([data-type=string],[data-type=String]){color:var(--color-green-800);outline-color:var(--color-green-500);background:var(--color-green-300)}.k-lab-docs-types code:is([data-type=number],[data-type=Number]){color:var(--color-orange-800);outline-color:var(--color-orange-500);background:var(--color-orange-300)}.k-lab-docs-types code:is([data-type=array],[data-type=Array]){color:var(--color-aqua-800);outline-color:var(--color-aqua-500);background:var(--color-aqua-300)}.k-lab-docs-types code:is([data-type=object],[data-type=Object]){color:var(--color-yellow-800);outline-color:var(--color-yellow-500);background:var(--color-yellow-300)}.k-lab-docs-types code[data-type=func]{color:var(--color-pink-800);outline-color:var(--color-pink-400);background:var(--color-pink-300)}.k-lab-docs-section+.k-lab-docs-section{margin-top:var(--spacing-12)}.k-lab-docs-section .k-headline{margin-bottom:var(--spacing-3)}.k-lab-docs-section .k-table td{padding:.375rem var(--table-cell-padding);vertical-align:top;word-break:break-word;line-height:1.5}.k-lab-docs-description :where(.k-text,.k-box)+:where(.k-text,.k-box){margin-top:var(--spacing-3)}.k-lab-docs-required{vertical-align:super;color:var(--color-red-600);margin-inline-start:var(--spacing-1);font-size:.7rem}.k-lab-docs-since{margin-top:var(--spacing-1);font-size:var(--text-xs);color:var(--color-gray-600)}.token.punctuation,.token.comment,.token.doctype{color:var(--color-gray-500)}.token.tag,.token.markup,.token.variable,.token.this,.token.selector,.token.key,.token.kirbytag-bracket,.token.prolog,.token.delimiter{color:var(--color-red-500)}.token.constant,.token.number,.token.boolean,.token.boolean.important,.token.attr-name,.token.kirbytag-attr,.token.kirbytag-name,.token.entity,.token.bold,.token.bold>.punctuation{color:var(--color-orange-500)}.token.keyword,.token.italic,.token.italic>.punctuation{color:var(--color-purple-500)}.token.function{color:var(--color-blue-500)}.token.operator,.token.title{color:var(--color-aqua-500)}.token.string,.token.attr-value,.token.attr-value .punctuation,.token.list.punctuation{color:var(--color-green-500)}.token.scope,.token.class-name,.token.property,.token.url{color:var(--color-yellow-500)}.token.title,.token.kirbytag-bracket,.token.list.punctuation,.token.bold{font-weight:var(--font-bold)}.token.title .punctuation{color:var(--color-gray-500)}.token.italic{font-style:italic} +.k-items{display:grid;position:relative;container-type:inline-size}.k-items[data-layout=list]{gap:2px}.k-items[data-layout=cardlets]{--items-size:1fr;grid-template-columns:repeat(auto-fill,minmax(var(--items-size),1fr));gap:.75rem;display:grid}@container (width>=15rem){.k-items[data-layout=cardlets]{--items-size:15rem}}.k-items[data-layout=cards]{grid-template-columns:1fr;gap:1.5rem;display:grid}@container (width>=6rem){.k-items[data-layout=cards][data-size=tiny]{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}}@container (width>=9rem){.k-items[data-layout=cards][data-size=small]{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}}@container (width>=12rem){.k-items[data-layout=cards][data-size=auto],.k-items[data-layout=cards][data-size=medium]{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}}@container (width>=15rem){.k-items[data-layout=cards][data-size=large]{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}}@container (width>=18rem){.k-items[data-layout=cards][data-size=huge]{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}}.k-collection-footer{margin-top:var(--spacing-2);flex-wrap:wrap}.k-empty{max-width:100%}:root{--item-button-height:var(--height-md);--item-button-width:var(--height-md);--item-height:auto;--item-height-cardlet:calc(var(--height-md)*3)}.k-item{background:var(--color-white);box-shadow:var(--shadow);border-radius:var(--rounded);height:var(--item-height);position:relative;container-type:inline-size}.k-item:has(a:focus){outline:2px solid var(--color-focus)}@supports not selector(:has(*)){.k-item:focus-within{outline:2px solid var(--color-focus)}}.k-item .k-icon-frame{--back:var(--color-gray-300)}.k-item-content{padding:var(--spacing-2);line-height:1.25;overflow:hidden}.k-item-content a:focus{outline:0}.k-item-content a:after{content:"";position:absolute;inset:0}.k-item-info{color:var(--color-text-dimmed)}.k-item-options{z-index:1;justify-content:space-between;align-items:center;display:flex;transform:translate(0)}.k-item-options[data-only-option=true]{justify-content:flex-end}.k-item-options .k-button{--button-height:var(--item-button-height);--button-width:var(--item-button-width)}.k-item .k-sort-button{z-index:2;position:absolute}.k-item:not(:hover):not(.k-sortable-fallback) .k-sort-button{opacity:0}.k-item[data-layout=list]{--item-height:var(--field-input-height);--item-button-height:var(--item-height);--item-button-width:auto;height:var(--item-height);grid-template-columns:1fr auto;align-items:center;display:grid}.k-item[data-layout=list][data-has-image=true]{grid-template-columns:var(--item-height)1fr auto}.k-item[data-layout=list] .k-frame{--ratio:1/1;height:var(--item-height);border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded)}.k-item[data-layout=list] .k-item-content{white-space:nowrap;gap:var(--spacing-2);justify-content:space-between;min-width:0;display:flex}.k-item[data-layout=list] .k-item-title,.k-item[data-layout=list] .k-item-info{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-item[data-layout=list] .k-item-title{flex-shrink:1}.k-item[data-layout=list] .k-item-info{flex-shrink:2}@container (width<=30rem){.k-item[data-layout=list] .k-item-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-item[data-layout=list] .k-item-info{display:none}}.k-item[data-layout=list] .k-sort-button{--button-width:calc(1.5rem + var(--spacing-1));--button-height:var(--item-height);left:calc(-1*var(--button-width))}.k-item:is([data-layout=cardlets],[data-layout=cards]) .k-sort-button{top:var(--spacing-2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);--button-width:1.5rem;--button-height:1.5rem;--button-rounded:var(--rounded-sm);--button-padding:0;--icon-size:14px;background:#ffffff80;inset-inline-start:var(--spacing-2);box-shadow:0 2px 5px #0003}.k-item:is([data-layout=cardlets],[data-layout=cards]) .k-sort-button:hover{background:#fffffff2}.k-item[data-layout=cardlets]{--item-height:var(--item-height-cardlet);grid-template-columns:1fr;grid-template-areas:"content""options";grid-template-rows:1fr var(--height-md);display:grid}.k-item[data-layout=cardlets][data-has-image=true]{grid-template-areas:"image content""image options";grid-template-columns:minmax(0,var(--item-height))1fr}.k-item[data-layout=cardlets] .k-frame{aspect-ratio:auto;height:var(--item-height);border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded);grid-area:image}.k-item[data-layout=cardlets] .k-item-content{grid-area:content}.k-item[data-layout=cardlets] .k-item-info{white-space:nowrap;text-overflow:ellipsis;margin-top:.125em;overflow:hidden}.k-item[data-layout=cardlets] .k-item-options{grid-area:options}.k-item[data-layout=cards]{flex-direction:column;display:flex}.k-item[data-layout=cards] .k-frame{border-start-start-radius:var(--rounded);border-start-end-radius:var(--rounded)}.k-item[data-layout=cards] .k-item-content{padding:var(--spacing-2);flex-grow:1}.k-item[data-layout=cards] .k-item-info{margin-top:.125em}.k-dialog-body{padding:var(--dialog-padding)}.k-dialog[data-has-footer=true] .k-dialog-body{padding-bottom:0}.k-button-group.k-dialog-buttons{gap:var(--spacing-3);--button-height:var(--height-lg);grid-template-columns:1fr 1fr;display:grid}.k-dialog-fields{padding-bottom:.5rem;container-type:inline-size}.k-dialog-footer{padding:var(--dialog-padding);flex-shrink:0;line-height:1}.k-dialog .k-notification{border-start-start-radius:var(--dialog-rounded);border-start-end-radius:var(--dialog-rounded);margin-top:-1px;padding-block:.325rem}.k-dialog-search{--input-color-border:transparent;--input-color-back:var(--color-gray-300);margin-bottom:.75rem}:root{--dialog-color-back:var(--color-light);--dialog-color-text:currentColor;--dialog-margin:var(--spacing-6);--dialog-padding:var(--spacing-6);--dialog-rounded:var(--rounded-xl);--dialog-shadow:var(--shadow-xl);--dialog-width:22rem}.k-dialog-portal{padding:var(--dialog-margin)}.k-dialog{background:var(--dialog-color-back);color:var(--dialog-color-text);width:clamp(10rem,100%,var(--dialog-width));box-shadow:var(--dialog-shadow);border-radius:var(--dialog-rounded);flex-direction:column;line-height:1;display:flex;position:relative;overflow:clip;container-type:inline-size}@media screen and (width>=20rem){.k-dialog[data-size=small]{--dialog-width:20rem}}@media screen and (width>=22rem){.k-dialog[data-size=default]{--dialog-width:22rem}}@media screen and (width>=30rem){.k-dialog[data-size=medium]{--dialog-width:30rem}}@media screen and (width>=40rem){.k-dialog[data-size=large]{--dialog-width:40rem}}@media screen and (width>=60rem){.k-dialog[data-size=huge]{--dialog-width:60rem}}.k-dialog .k-pagination{justify-content:center;align-items:center;margin-bottom:-1.5rem;display:flex}.k-changes-dialog .k-headline{margin-top:-.5rem;margin-bottom:var(--spacing-3)}.k-error-details{background:var(--color-white);font-size:var(--text-sm);margin-top:.75rem;padding:1rem;line-height:1.25em;display:block;overflow:auto}.k-error-details dt{color:var(--color-red-500);margin-bottom:.25rem}.k-error-details dd{overflow-wrap:break-word;text-overflow:ellipsis;overflow:hidden}.k-error-details dd:not(:last-of-type){margin-bottom:1.5em}.k-error-details li{white-space:pre-line}.k-error-details li:not(:last-child){border-bottom:1px solid var(--color-background);margin-bottom:.25rem;padding-bottom:.25rem}.k-models-dialog .k-list-item{cursor:pointer}.k-page-template-switch{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:1px dashed var(--color-gray-300)}.k-page-move-dialog .k-headline{margin-bottom:var(--spacing-2)}.k-page-move-parent{--tree-color-back:var(--color-white);--tree-color-hover-back:var(--color-light);padding:var(--spacing-3);background:var(--color-white);border-radius:var(--rounded);box-shadow:var(--shadow)}.k-pages-dialog-navbar{justify-content:center;align-items:center;margin-bottom:.5rem;padding-inline-end:38px;display:flex}.k-pages-dialog-navbar .k-button[aria-disabled]{opacity:0}.k-pages-dialog-navbar .k-headline{text-align:center;flex-grow:1}.k-pages-dialog-option[aria-disabled]{opacity:.25}.k-search-dialog{--dialog-padding:0;--dialog-rounded:var(--rounded);overflow:visible}.k-overlay[open][data-type=dialog]>.k-portal>.k-search-dialog{margin-top:0}.k-search-dialog-input{--button-height:var(--input-height);align-items:center;display:flex}.k-search-dialog-types{flex-shrink:0}.k-search-dialog-input input{height:var(--input-height);border-left:1px solid var(--color-border);line-height:var(--input-height);border-radius:var(--rounded);font-size:var(--input-font-size);flex-grow:1;padding-inline:.75rem}.k-search-dialog-input input:focus{outline:0}.k-search-dialog-input .k-search-dialog-close{flex-shrink:0}.k-search-dialog-results{border-top:1px solid var(--color-border);padding:1rem}.k-search-dialog-results .k-item[data-selected=true]{outline:var(--outline)}.k-search-dialog-footer{text-align:center}.k-search-dialog-footer p{color:var(--color-text-dimmed)}.k-search-dialog-footer .k-button{margin-top:var(--spacing-4)}.k-totp-dialog-headline{margin-bottom:var(--spacing-1)}.k-totp-dialog-intro{margin-bottom:var(--spacing-6)}.k-totp-dialog-grid{gap:var(--spacing-6);display:grid}@media screen and (width>=40rem){.k-totp-dialog-grid{gap:var(--spacing-8);grid-template-columns:1fr 1fr}}.k-totp-qrcode .k-box[data-theme]{padding:var(--box-padding-inline)}.k-totp-dialog-fields .k-field-name-confirm{--input-height:var(--height-xl);--input-rounded:var(--rounded);--input-font-size:var(--text-3xl)}.k-upload-dialog.k-dialog{--dialog-width:40rem}.k-upload-items{gap:.25rem;display:grid}.k-upload-item{accent-color:var(--color-focus);grid-template-columns:6rem 1fr auto;grid-template-areas:"preview input input""preview body toggle";grid-template-rows:var(--input-height)1fr;border-radius:var(--rounded);background:var(--color-white);box-shadow:var(--shadow);min-height:6rem;display:grid}.k-upload-item-preview{border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded);grid-area:preview;width:100%;height:100%;display:flex;overflow:hidden}.k-upload-item-preview:focus{border-radius:var(--rounded);outline:2px solid var(--color-focus);z-index:1}.k-upload-item-body{padding:var(--spacing-2)var(--spacing-3);flex-direction:column;grid-area:body;justify-content:space-between;min-width:0;display:flex}.k-upload-item-input.k-input{--input-color-border:transparent;--input-padding:var(--spacing-2)var(--spacing-3);--input-rounded:0;font-size:var(--text-sm);border-bottom:1px solid var(--color-light);grid-area:input}.k-upload-item-input.k-input:focus-within{outline:2px solid var(--color-focus);z-index:1;border-radius:var(--rounded)}.k-upload-item-input .k-input-after{color:var(--color-gray-600)}.k-upload-item-meta{font-size:var(--text-xs);color:var(--color-gray-600)}.k-upload-item-error{font-size:var(--text-xs);color:var(--color-red-700);margin-top:.25rem}.k-upload-item-progress{--progress-height:.25rem;--progress-color-back:var(--color-light)}.k-upload-item-toggle{grid-area:toggle;align-self:end}.k-upload-item-toggle>*{padding:var(--spacing-3)}.k-upload-item[data-completed] .k-upload-item-progress{--progress-color-value:var(--color-green-400)}.k-upload-replace-dialog .k-upload-items{gap:var(--spacing-3);align-items:center;display:flex}.k-upload-original{border-radius:var(--rounded);box-shadow:var(--shadow);width:6rem;overflow:hidden}.k-upload-replace-dialog .k-upload-item{flex-grow:1}.k-drawer-body{padding:var(--drawer-body-padding);background:var(--color-background);flex-grow:1}.k-drawer-body .k-writer-input-wrapper:focus-within .k-toolbar:not([data-inline=true]),.k-drawer-body .k-textarea-input-wrapper:focus-within .k-toolbar,.k-drawer-body .k-table th{top:-1.5rem}.k-drawer-header{--button-height:calc(var(--drawer-header-height) - var(--spacing-1));height:var(--drawer-header-height);background:var(--color-white);line-height:1;font-size:var(--text-sm);flex-shrink:0;justify-content:space-between;align-items:center;padding-inline-start:var(--drawer-header-padding);display:flex}.k-drawer-breadcrumb{flex-grow:1}.k-drawer-options{align-items:center;padding-inline-end:.75rem;display:flex}.k-drawer-option{--button-width:var(--button-height)}.k-drawer-option[aria-disabled]{opacity:var(--opacity-disabled)}.k-notification.k-drawer-notification{padding:.625rem 1.5rem}.k-drawer-tabs{align-items:center;line-height:1;display:flex}.k-drawer-tab.k-button{--button-height:calc(var(--drawer-header-height) - var(--spacing-1));--button-padding:var(--spacing-3);font-size:var(--text-xs);align-items:center;display:flex;overflow-x:visible}.k-drawer-tab.k-button[aria-current]:after{bottom:-2px;inset-inline:var(--button-padding);content:"";background:var(--color-black);z-index:1;height:2px;position:absolute}:root{--drawer-body-padding:1.5rem;--drawer-color-back:var(--color-light);--drawer-header-height:2.5rem;--drawer-header-padding:1rem;--drawer-shadow:var(--shadow-xl);--drawer-width:50rem}.k-drawer-overlay+.k-drawer-overlay{--overlay-color-back:none}.k-drawer{--header-sticky-offset:calc(var(--drawer-body-padding)*-1);z-index:var(--z-toolbar);flex-basis:var(--drawer-width);background:var(--drawer-color-back);box-shadow:var(--drawer-shadow);flex-direction:column;display:flex;position:relative;container-type:inline-size}.k-drawer[aria-disabled]{pointer-events:none;display:none}.k-dropdown{position:relative}:root{--dropdown-color-bg:var(--color-black);--dropdown-color-text:var(--color-white);--dropdown-color-hr:#ffffff40;--dropdown-padding:var(--spacing-2);--dropdown-rounded:var(--rounded);--dropdown-shadow:var(--shadow-xl)}.k-dropdown-content{--dropdown-x:0;--dropdown-y:0;inset-block-start:0;inset-inline-start:initial;padding:var(--dropdown-padding);background:var(--dropdown-color-bg);border-radius:var(--dropdown-rounded);color:var(--dropdown-color-text);box-shadow:var(--dropdown-shadow);text-align:start;transform:translate(var(--dropdown-x),var(--dropdown-y));width:max-content;position:absolute;left:0}.k-dropdown-content::backdrop{background:0 0}.k-dropdown-content[data-align-x=end]{--dropdown-x:-100%}.k-dropdown-content[data-align-x=center]{--dropdown-x:-50%}.k-dropdown-content[data-align-y=top]{--dropdown-y:-100%}.k-dropdown-content hr{background:var(--dropdown-color-hr);height:1px;margin:.5rem 0}.k-dropdown-content[data-theme=light]{--dropdown-color-bg:var(--color-white);--dropdown-color-text:var(--color-black);--dropdown-color-hr:#0000001a}.k-dropdown-item.k-button{--button-align:flex-start;--button-color-text:var(--dropdown-color-text);--button-height:var(--height-sm);--button-rounded:var(--rounded-sm);--button-width:100%;gap:.75rem;display:flex}.k-dropdown-item.k-button:focus{outline:var(--outline)}.k-dropdown-item.k-button[aria-current]{--button-color-text:var(--color-blue-500)}.k-dropdown-item.k-button:not([aria-disabled]):hover{--button-color-back:var(--dropdown-color-hr)}.k-options-dropdown{justify-content:center;align-items:center;display:flex}:root{--picklist-rounded:var(--rounded-sm);--picklist-highlight:var(--color-yellow-500)}.k-picklist-input{--choice-color-text:currentColor;--button-rounded:var(--picklist-rounded)}.k-picklist-input-header{--input-rounded:var(--picklist-rounded)}.k-picklist-input-search{border-radius:var(--picklist-rounded);align-items:center;display:flex}.k-picklist-input-search .k-search-input{height:var(--button-height)}.k-picklist-input-search:focus-within{outline:var(--outline)}.k-picklist-dropdown .k-picklist-input-create:focus{outline:0}.k-picklist-dropdown .k-picklist-input-create[aria-disabled=true]{visibility:hidden}.k-picklist-input-options li+li{margin-top:var(--spacing-1)}.k-picklist-input-options .k-choice-input{padding-inline:var(--spacing-2);--choice-color-checked:var(--color-focus)}.k-picklist-input-options .k-choice-input:has(:checked){--choice-color-text:var(--color-focus)}.k-picklist-input-options .k-choice-input[aria-disabled=true]{--choice-color-text:var(--color-text-dimmed)}.k-picklist-input-options .k-choice-input:has(:focus-within){outline:var(--outline)}.k-picklist-input-options .k-choice-input b{font-weight:var(--font-normal);color:var(--picklist-highlight)}.k-picklist-input-more.k-button{--button-width:100%;--button-align:start;--button-color-text:var(--color-text-dimmed);padding-inline:var(--spacing-2)}.k-picklist-input-more.k-button .k-button-icon{position:relative;inset-inline-start:-1px}.k-picklist-input-empty{height:var(--button-height);padding:var(--spacing-1)var(--spacing-2);color:var(--color-text-dimmed);line-height:1.25rem}.k-picklist-dropdown{--color-text-dimmed:var(--color-gray-400);min-width:8rem;max-width:30rem;padding:0}.k-picklist-dropdown :where(.k-picklist-input-header,.k-picklist-input-body,.k-picklist-input-footer){padding:var(--dropdown-padding)}.k-picklist-dropdown .k-picklist-input-header{border-bottom:1px solid var(--dropdown-color-hr)}.k-picklist-dropdown .k-picklist-input-search{background:var(--dropdown-color-hr);padding-inline-end:var(--input-padding)}.k-picklist-dropdown .k-picklist-input-create{--button-rounded:1rem;--button-height:1.125rem}.k-picklist-dropdown .k-picklist-input-create:focus{--button-color-back:var(--color-blue-500);--button-color-text:var(--color-black)}.k-picklist-dropdown .k-picklist-input-body{max-height:calc(var(--button-height)*9.5 + 2px*9 + var(--dropdown-padding));outline-offset:-2px;overscroll-behavior:contain;scroll-padding-top:var(--dropdown-padding);scroll-padding-bottom:var(--dropdown-padding);overflow-y:auto}.k-picklist-dropdown .k-picklist-input-options .k-choice-input{--choice-color-border:var(--dropdown-color-hr);--choice-color-back:var(--dropdown-color-hr);--choice-color-info:var(--color-text-dimmed);min-height:var(--button-height);border-radius:var(--picklist-rounded);padding-block:.375rem}.k-picklist-dropdown .k-picklist-input-options li+li{margin-top:0}.k-picklist-dropdown .k-picklist-input-options .k-choice-input[aria-disabled=true] input{--choice-color-border:var(--dropdown-color-hr);--choice-color-back:var(--dropdown-color-hr);--choice-color-checked:var(--dropdown-color-hr);opacity:var(--opacity-disabled)}.k-picklist-dropdown .k-picklist-input-options .k-choice-input:not([aria-disabled=true]):hover{background-color:var(--dropdown-color-hr)}.k-picklist-dropdown .k-picklist-input-options .k-choice-input:not([aria-disabled=true]):focus-within{--choice-color-text:var(--color-blue-500)}.k-picklist-dropdown .k-picklist-input-more.k-button:hover{--button-color-back:var(--dropdown-color-hr)}.k-picklist-dropdown .k-picklist-input-body+.k-picklist-input-footer{border-top:1px solid var(--dropdown-color-hr)}.k-counter{font-size:var(--text-xs);color:var(--color-gray-900)}.k-counter[data-invalid=true]{box-shadow:none;color:var(--color-red-700);border:0}.k-counter-rules{color:var(--color-gray-600);font-weight:var(--font-normal);padding-inline-start:.5rem}.k-form-submitter{display:none}.k-field-header{margin-bottom:var(--spacing-2);position:relative}.k-field[data-disabled=true]{cursor:not-allowed}.k-field[data-disabled=true] *{pointer-events:none}.k-field[data-disabled=true] .k-text[data-theme=help] *{pointer-events:initial}.k-field:focus-within>.k-field-header>.k-field-counter{display:block}.k-field-footer{margin-top:var(--spacing-2)}.k-fieldset{border:0}:root{--input-color-back:var(--color-white);--input-color-border:var(--color-border);--input-color-description:var(--color-text-dimmed);--input-color-icon:currentColor;--input-color-placeholder:var(--color-gray-600);--input-color-text:currentColor;--input-font-family:var(--font-sans);--input-font-size:var(--text-sm);--input-height:2.25rem;--input-leading:1;--input-outline-focus:var(--outline);--input-padding:var(--spacing-2);--input-padding-multiline:.475rem var(--input-padding);--input-rounded:var(--rounded);--input-shadow:none}@media (pointer:coarse){:root{--input-font-size:var(--text-md);--input-padding-multiline:.375rem var(--input-padding)}}.k-input{line-height:var(--input-leading);background:var(--input-color-back);border-radius:var(--input-rounded);outline:1px solid var(--input-color-border);color:var(--input-color-text);min-height:var(--input-height);box-shadow:var(--input-shadow);font-family:var(--input-font-family);font-size:var(--input-font-size);border:0;align-items:center;display:flex}.k-input:focus-within{outline:var(--input-outline-focus)}.k-input-element{flex-grow:1}.k-input-icon{color:var(--input-color-icon);width:var(--input-height);justify-content:center;align-items:center;display:flex}.k-input-icon-button{flex-shrink:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.k-input-description{color:var(--input-color-description);padding-inline:var(--input-padding)}.k-input-before{padding-inline-end:0}.k-input-after{padding-inline-start:0}.k-input :where(.k-input-description,.k-input-icon){flex-shrink:0;align-self:stretch;align-items:center;display:flex}.k-input[data-disabled=true]{--input-color-back:var(--color-background);--input-color-icon:var(--color-gray-600);pointer-events:none}.k-login-code-form .k-user-info{margin-bottom:var(--spacing-6)}.k-structure-backdrop{z-index:2;height:100vh;position:absolute;inset:0}.k-structure-form section{z-index:3;border-radius:var(--rounded-xs);border:1px solid var(--color-border);background:var(--color-background);margin-bottom:1px;position:relative;box-shadow:0 0 0 3px #1111110d}.k-structure-form-fields{padding:1.5rem 1.5rem 2rem}.k-structure-form-buttons{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.25rem .5rem;display:flex}@container (width<=30rem){.k-pagination-details{display:none}}.k-block-type-code-editor{--input-color-border:none;--input-color-back:var(--color-black);--input-color-text:var(--color-white);--input-font-family:var(--font-mono);--input-outline-focus:none;--input-padding:var(--spacing-3);--input-padding-multiline:var(--input-padding);position:relative}.k-block-type-code-editor .k-input[data-type=textarea]{white-space:pre-wrap}.k-block-type-code-editor-language{--input-font-size:var(--text-xs);inset-inline-end:0;position:absolute;bottom:0}.k-block-type-code-editor-language .k-input-element{padding-inline-start:1.5rem}.k-block-type-code-editor-language .k-input-icon{inset-inline-start:0}.k-block-type-default .k-block-title{line-height:1.5em}.k-block-container.k-block-container-type-fields{padding-block:0}.k-block-container:not([data-hidden=true]) .k-block-type-fields>:not([data-collapsed=true]){padding-bottom:var(--spacing-3)}.k-block-type-fields-header{justify-content:space-between;display:flex}.k-block-type-fields-header .k-block-title{padding-block:var(--spacing-3);cursor:pointer}.k-block-type-fields-form{background-color:var(--color-gray-200);padding:var(--spacing-6)var(--spacing-6)var(--spacing-8);border-radius:var(--rounded-sm)}.k-block-container-type-fields[data-hidden=true] :where(.k-drawer-tabs,.k-block-type-fields-form){display:none}.k-block-type-gallery ul{grid-gap:.75rem;cursor:pointer;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));justify-content:center;align-items:center;line-height:0;display:grid}.k-block-type-gallery-placeholder{background:var(--color-background)}.k-block-type-gallery figcaption{color:var(--color-gray-600);font-size:var(--text-sm);text-align:center;padding-top:.5rem}.k-block-type-heading-input{line-height:1.25em;font-size:var(--text-size);font-weight:var(--font-bold);align-items:center;display:flex}.k-block-type-heading-input[data-level=h1]{--text-size:var(--text-3xl);line-height:1.125em}.k-block-type-heading-input[data-level=h2]{--text-size:var(--text-2xl)}.k-block-type-heading-input[data-level=h3]{--text-size:var(--text-xl)}.k-block-type-heading-input[data-level=h4]{--text-size:var(--text-lg)}.k-block-type-heading-input[data-level=h5]{--text-size:var(--text-md);line-height:1.5em}.k-block-type-heading-input[data-level=h6]{--text-size:var(--text-sm);line-height:1.5em}.k-block-type-heading-input .k-writer .ProseMirror strong{font-weight:700}.k-block-type-heading-level{--input-color-back:transparent;--input-color-border:none;--input-color-text:var(--color-gray-600);font-weight:var(--font-bold);text-transform:uppercase}.k-block-type-image .k-block-figure-container{text-align:center;line-height:0}.k-block-type-image-auto{max-width:100%;max-height:30rem;margin-inline:auto}.k-block-type-line hr{border:0;border-top:1px solid var(--color-border);margin-block:.75rem}.k-block-type-list-input{--input-color-border:none;--input-outline-focus:none}.k-block-type-markdown-input{--input-color-back:var(--color-light);--input-color-border:none;--input-outline-focus:none;--input-padding-multiline:var(--spacing-3)}.k-block-type-quote-editor{border-inline-start:2px solid var(--color-black);padding-inline-start:var(--spacing-3)}.k-block-type-quote-text{font-size:var(--text-xl);margin-bottom:var(--spacing-1);line-height:1.25em}.k-block-type-quote-citation{color:var(--color-text-dimmed);font-style:italic}.k-block-type-table-preview{cursor:pointer;border:1px solid var(--color-gray-300);border-spacing:0;border-radius:var(--rounded-sm);overflow:hidden}.k-block-type-table-preview td,.k-block-type-table-preview th{text-align:start;line-height:1.5em;font-size:var(--text-sm)}.k-block-type-table-preview th{padding:.5rem .75rem}.k-block-type-table-preview td:not(.k-table-index-column){padding:0 .75rem}.k-block-type-table-preview td>*,.k-block-type-table-preview td [class$=-field-preview]{padding:0}.k-block-type-text-input{height:100%;line-height:1.5}.k-block-container.k-block-container-type-text{padding:0}.k-block-type-text-input.k-writer[data-toolbar-inline=true]{padding:var(--spacing-3)}.k-block-type-text-input.k-writer:not([data-toolbar-inline=true])>.ProseMirror,.k-block-type-text-input.k-writer:not([data-toolbar-inline=true])[data-placeholder][data-empty=true]:before{padding:var(--spacing-3)var(--spacing-6)}.k-block-container{background:var(--color-white);border-radius:var(--rounded);padding:.75rem;position:relative}.k-block-container:not(:last-of-type){border-bottom:1px dashed #0000001a}.k-block-container:focus{outline:0}.k-block-container[data-selected=true]{z-index:2;outline:var(--outline);border-bottom-color:#0000}.k-block-container[data-batched=true]:after{content:"";mix-blend-mode:multiply;background:#b1c2d82d;position:absolute;inset:0}.k-block-container .k-block-options{top:0;margin-top:calc(2px - 1.75rem);display:none;position:absolute;inset-inline-end:.75rem}.k-block-container[data-last-selected=true]>.k-block-options{display:flex}.k-block-container[data-hidden=true] .k-block{opacity:.25}.k-drawer-options .k-drawer-option[data-disabled=true]{vertical-align:middle;display:inline-grid}[data-disabled=true] .k-block-container{background:var(--color-background)}.k-block-container:is(.k-sortable-ghost,.k-sortable-fallback) .k-block{max-height:4rem;position:relative;overflow:hidden}.k-block-container:is(.k-sortable-ghost,.k-sortable-fallback) .k-block:after{content:"";background:linear-gradient(to top,var(--color-white),transparent);width:100%;height:2rem;position:absolute;bottom:0}.k-blocks{border-radius:var(--rounded)}.k-blocks:not([data-empty=true],[data-disabled=true]){background:var(--color-white);box-shadow:var(--shadow)}.k-blocks[data-disabled=true]:not([data-empty=true]){border:1px solid var(--input-color-border)}.k-blocks-list[data-multi-select-key=true]>.k-block-container *{pointer-events:none}.k-blocks-list[data-multi-select-key=true]>.k-block-container .k-blocks *{pointer-events:all}.k-blocks .k-sortable-ghost{outline:2px solid var(--color-focus);cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing;box-shadow:0 5px 10px #11111140}.k-blocks-list>.k-blocks-empty{align-items:center;display:flex}.k-block-figure{cursor:pointer}.k-block-figure iframe{pointer-events:none;background:var(--color-black);border:0}.k-block-figure figcaption{color:var(--color-text-dimmed);font-size:var(--text-sm);text-align:center;padding-top:.5rem}.k-block-figure-empty{--button-width:100%;--button-height:6rem;--button-color-text:var(--color-text-dimmed);--button-color-back:var(--color-gray-200)}.k-block-figure-empty,.k-block-figure-container>*{border-radius:var(--rounded-sm)}.k-block-options{--toolbar-size:30px;box-shadow:var(--shadow-toolbar)}.k-block-options>.k-button:not(:last-of-type){border-inline-end:1px solid var(--color-background)}.k-block-options .k-dropdown-content{margin-top:.5rem}.k-block-importer .k-dialog-body{padding:0}.k-block-importer label{padding:var(--spacing-6)var(--spacing-6)0;color:var(--color-text-dimmed);line-height:var(--leading-normal);display:block}.k-block-importer label small{font-size:inherit;display:block}.k-block-importer textarea{font:inherit;color:var(--color-white);padding:var(--spacing-6);resize:none;background:0 0;border:0;width:100%;height:20rem}.k-block-importer textarea:focus{outline:0}.k-block-selector .k-headline{margin-bottom:1rem}.k-block-selector details+details{margin-top:var(--spacing-6)}.k-block-selector summary{font-size:var(--text-xs);cursor:pointer;color:var(--color-text-dimmed)}.k-block-selector details:only-of-type summary{pointer-events:none}.k-block-selector summary:focus{outline:0}.k-block-selector summary:focus-visible{color:var(--color-focus)}.k-block-types{grid-gap:2px;grid-template-columns:repeat(1,1fr);margin-top:.75rem;display:grid}.k-block-types .k-button{--button-color-icon:var(--color-text);--button-color-back:var(--color-white);--button-padding:var(--spacing-3);box-shadow:var(--shadow);justify-content:start;gap:1rem;width:100%}.k-block-types .k-button[aria-disabled]{opacity:var(--opacity-disabled);--button-color-back:var(--color-gray-200);box-shadow:none}.k-clipboard-hint{line-height:var(--leading-normal);font-size:var(--text-xs);color:var(--color-text-dimmed);padding-top:1.5rem}.k-clipboard-hint small{font-size:inherit;color:var(--color-text-dimmed);display:block}.k-block-title{align-items:center;gap:var(--spacing-2);min-width:0;padding-inline-end:.75rem;line-height:1;display:flex}.k-block-icon{--icon-color:var(--color-gray-600);width:1rem}.k-block-label{color:var(--color-text-dimmed);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-blocks-field{position:relative}.k-blocks-field>footer{margin-top:var(--spacing-3)}.k-string-input{padding:var(--input-padding);border-radius:var(--input-rounded)}.k-string-input:focus{outline:0}.k-string-input[data-font=monospace]{font-family:var(--font-mono)}.k-color-field{--color-frame-size:calc(var(--input-height) - var(--spacing-2))}.k-color-field .k-input-before{align-items:center;padding-inline-start:var(--spacing-1)}.k-color-field-options{--color-frame-size:var(--input-height)}.k-color-field-picker{padding:var(--spacing-3)}.k-color-field-picker-toggle{--color-frame-rounded:var(--rounded-sm);border-radius:var(--color-frame-rounded)}.k-color-field .k-colorname-input{padding-inline:var(--input-padding)}.k-color-field .k-colorname-input:focus{outline:0}.k-date-field-body{gap:var(--spacing-2);display:grid}@container (width>=20rem){.k-date-field-body[data-has-time=true]{grid-template-columns:1fr minmax(6rem,9rem)}}.k-text-input{padding:var(--input-padding);border-radius:var(--input-rounded)}.k-text-input:focus{outline:0}.k-text-input[data-font=monospace]{font-family:var(--font-mono)}.k-models-field[data-disabled=true] .k-item *{pointer-events:all!important}.k-headline-field{padding-top:1.5rem;position:relative}.k-fieldset>.k-grid .k-column:first-child .k-headline-field{padding-top:0}.k-headline-field h2.k-headline{font-weight:var(--font-normal)}.k-headline-field footer{margin-top:var(--spacing-2)}.k-info-field .k-headline{padding-bottom:.75rem;line-height:1.25rem}.k-layout-field>footer{margin-top:var(--spacing-3)}.k-line-field{border:0;width:auto;height:3rem;position:relative}.k-line-field:after{content:"";top:50%;background:var(--color-border);height:1px;margin-top:-1px;position:absolute;inset-inline:0}.k-link-input-header{height:var(--input-height);grid-area:header;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.25rem;display:grid}.k-link-input-toggle.k-button{--button-height:var(--height-sm);--button-rounded:var(--rounded-sm);--button-color-back:var(--color-gray-200);margin-inline-start:.25rem}.k-link-input-model{--tag-height:var(--height-sm);--tag-color-back:var(--color-gray-200);--tag-color-text:var(--color-black);--tag-color-toggle:var(--tag-color-text);--tag-color-toggle-border:var(--color-gray-300);--tag-color-focus-back:var(--tag-color-back);--tag-color-focus-text:var(--tag-color-text);--tag-rounded:var(--rounded-sm);justify-content:space-between;margin-inline-end:var(--spacing-1);display:flex;overflow:hidden}.k-link-input-model-placeholder.k-button{--button-align:flex-start;--button-color-text:var(--color-gray-600);--button-height:var(--height-sm);--button-padding:var(--spacing-2);white-space:nowrap;flex-grow:1;align-items:center;overflow:hidden}.k-link-input-model-toggle{--button-height:var(--height-sm);--button-width:var(--height-sm)}.k-link-input-body{border-top:1px solid var(--color-gray-300);background:var(--color-gray-100);--tree-color-back:var(--color-gray-100);--tree-color-hover-back:var(--color-gray-200);display:grid;overflow:hidden}.k-link-input-body[data-type=page] .k-page-browser{padding:var(--spacing-2);padding-bottom:calc(var(--spacing-2) - 1px);width:100%;overflow:auto;container-type:inline-size}.k-writer{gap:var(--spacing-1);grid-template-areas:"content";width:100%;display:grid;position:relative}.k-writer .ProseMirror{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;font-variant-ligatures:none;padding:var(--input-padding-multiline);grid-area:content}.k-writer .ProseMirror:focus{outline:0}.k-writer .ProseMirror *{caret-color:currentColor}.k-writer .ProseMirror hr.ProseMirror-selectednode{outline:var(--outline)}.k-writer[data-placeholder][data-empty=true]:before{content:attr(data-placeholder);color:var(--input-color-placeholder);pointer-events:none;white-space:pre-wrap;word-wrap:break-word;line-height:var(--text-line-height);padding:var(--input-padding-multiline);grid-area:content}.k-list-input.k-writer[data-placeholder][data-empty=true]:before{padding-inline-start:2.5em}.k-list-field .k-list-input .ProseMirror,.k-list-field .k-list-input:before{padding:.475rem .5rem .475rem .75rem}:root{--tags-gap:.375rem}.k-tags{gap:var(--tags-gap);flex-wrap:wrap;align-items:center;display:inline-flex}.k-tags .k-sortable-ghost{outline:var(--outline)}.k-tags[data-layout=list],.k-tags[data-layout=list] .k-tag{width:100%}.k-tags.k-draggable .k-tag-text{cursor:grab}.k-tags.k-draggable .k-tag-text:active{cursor:grabbing}.k-multiselect-input{padding:var(--tags-gap);cursor:pointer}.k-multiselect-input-toggle.k-button{opacity:0}.k-tags-input{padding:var(--tags-gap);cursor:pointer}.k-tags-input-toggle.k-button{--button-color-text:var(--input-color-placeholder);opacity:0}.k-tags-input-toggle.k-button:focus{--button-color-text:var(--input-color-text)}.k-tags-input:focus-within .k-tags-input-toggle{opacity:1}.k-tags-input .k-picklist-dropdown{margin-top:var(--spacing-1)}.k-tags-input .k-picklist-dropdown .k-choice-input{gap:0}.k-tags-input .k-picklist-dropdown .k-choice-input:focus-within{outline:var(--outline)}.k-tags-input .k-picklist-dropdown .k-choice-input input{opacity:0;width:0}.k-number-input{padding:var(--input-padding);border-radius:var(--input-rounded)}.k-number-input:focus{outline:0}.k-table.k-object-field-table{table-layout:auto}.k-table.k-object-field-table tbody td{max-width:0}.k-range-input{--range-track-height:1px;--range-track-back:var(--color-gray-300);--range-tooltip-back:var(--color-black);border-radius:var(--range-track-height);align-items:center;display:flex}.k-range-input input[type=range]:focus{outline:0}.k-range-input-tooltip{color:var(--color-white);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;border-radius:var(--rounded-sm);background:var(--range-tooltip-back);white-space:nowrap;align-items:center;max-width:20%;margin-inline-start:1rem;padding:0 .25rem;line-height:1;display:flex;position:relative}.k-range-input-tooltip:after{top:50%;border-block:3px solid #0000;border-inline-end:3px solid var(--range-tooltip-back);content:"";width:0;height:0;position:absolute;inset-inline-start:-3px;transform:translateY(-50%)}.k-range-input-tooltip>*{padding:var(--spacing-1)}.k-range-input[data-disabled=true]{--range-tooltip-back:var(--color-gray-600)}.k-input[data-type=range] .k-range-input{padding-inline:var(--input-padding)}.k-select-input{padding:var(--input-padding);border-radius:var(--input-rounded);display:block;position:relative;overflow:hidden}.k-select-input[data-empty=true]{color:var(--input-color-placeholder)}.k-select-input-native{opacity:0;z-index:1;position:absolute;inset:0}.k-select-input-native[disabled]{cursor:default}.k-input[data-type=select]{position:relative}.k-input[data-type=select] .k-input-icon{position:absolute;inset-block:0;inset-inline-end:0}.k-structure-field:not([data-disabled=true]) td.k-table-column{cursor:pointer}.k-structure-field .k-table+footer{margin-top:var(--spacing-3)}.k-field-counter{display:none}.k-text-field:focus-within .k-field-counter{display:block}.k-toolbar.k-textarea-toolbar{border-bottom:1px solid var(--toolbar-border);border-end-end-radius:0;border-end-start-radius:0}.k-toolbar.k-textarea-toolbar>.k-button:first-child{border-end-start-radius:0}.k-toolbar.k-textarea-toolbar>.k-button:last-child{border-end-end-radius:0}.k-textarea-input[data-size=small]{--textarea-size:7.5rem}.k-textarea-input[data-size=medium]{--textarea-size:15rem}.k-textarea-input[data-size=large]{--textarea-size:30rem}.k-textarea-input[data-size=huge]{--textarea-size:45rem}.k-textarea-input-wrapper{display:block;position:relative}.k-textarea-input-native{resize:none;min-height:var(--textarea-size)}.k-textarea-input-native:focus{outline:0}.k-textarea-input-native[data-font=monospace]{font-family:var(--font-mono)}.k-input[data-type=textarea] .k-input-element{min-width:0}.k-input[data-type=textarea] .k-textarea-input-native{padding:var(--input-padding-multiline)}.k-input[data-type=toggle]{--input-color-border:transparent;--input-shadow:var(--shadow)}.k-input[data-type=toggle] .k-input-before{padding-inline-end:calc(var(--input-padding)/2)}.k-input[data-type=toggle] .k-toggle-input{padding-inline-start:var(--input-padding)}.k-input[data-type=toggle][data-disabled]{box-shadow:none}.k-input[data-type=toggles]{display:inline-flex}.k-input[data-type=toggles].grow{display:flex}.k-input[data-type=toggles]:has(.k-empty){outline:0;display:flex}.k-toggles-input{grid-template-columns:repeat(var(--options),minmax(0,1fr));border-radius:var(--rounded);background:var(--color-border);gap:1px;line-height:1;display:grid;overflow:hidden}.k-toggles-input li{height:var(--field-input-height);background:var(--color-white)}.k-toggles-input label{background:var(--color-white);cursor:pointer;font-size:var(--text-sm);padding:0 var(--spacing-3);justify-content:center;align-items:center;height:100%;line-height:1.25;display:flex}.k-toggles-input li[data-disabled=true] label{color:var(--color-text-dimmed);background:var(--color-light)}.k-toggles-input .k-icon+.k-toggles-text{margin-inline-start:var(--spacing-2)}.k-toggles-input input:focus:not(:checked)+label{background:var(--color-blue-200)}.k-toggles-input input:checked+label{background:var(--color-black);color:var(--color-white)}.k-alpha-input{--range-track-back:linear-gradient(to right,transparent,currentColor);--range-track-height:var(--range-thumb-size);color:#000;background:var(--color-white)var(--pattern-light)}.k-calendar-input{--button-height:var(--height-sm);--button-width:var(--button-height);--button-padding:0;padding:var(--spacing-2);width:min-content}.k-calendar-table{table-layout:fixed;min-width:15rem}.k-calendar-input .k-button{justify-content:center}.k-calendar-input>nav{direction:ltr;margin-bottom:var(--spacing-2);align-items:center;display:flex}.k-calendar-selects{flex-grow:1;justify-content:center;align-items:center;display:flex}[dir=ltr] .k-calendar-selects{direction:ltr}[dir=rtl] .k-calendar-selects{direction:rtl}.k-calendar-selects .k-select-input{text-align:center;height:var(--button-height);border-radius:var(--input-rounded);align-items:center;padding:0 .5rem;display:flex}.k-calendar-selects .k-select-input:focus-within{outline:var(--outline)}.k-calendar-input th{color:var(--color-gray-500);font-size:var(--text-xs);text-align:center;padding-block:.5rem}.k-calendar-day{padding:2px}.k-calendar-day[aria-current=date] .k-button{text-decoration:underline}.k-calendar-day[aria-selected=date] .k-button,.k-calendar-day[aria-selected=date] .k-button:focus{--button-color-text:var(--color-text);--button-color-back:var(--color-blue-500)}.k-calendar-day[aria-selected=date] .k-button:focus-visible{outline-offset:2px}.k-calendar-today{padding-top:var(--spacing-2);text-align:center}.k-calendar-today .k-button{--button-width:auto;--button-padding:var(--spacing-3);font-size:var(--text-xs);text-decoration:underline}.k-choice-input{gap:var(--spacing-3);min-width:0;display:flex}.k-choice-input input{top:2px}.k-choice-input-label{color:var(--choice-color-text);flex-direction:column;min-width:0;line-height:1.25rem;display:flex}.k-choice-input-label>*{text-overflow:ellipsis;display:block;overflow:hidden}.k-choice-input-label-info{color:var(--choice-color-info)}.k-choice-input[aria-disabled]{cursor:not-allowed}:where(.k-checkboxes-field,.k-radio-field) .k-choice-input{background:var(--input-color-back);min-height:var(--input-height);padding-block:var(--spacing-2);padding-inline:var(--spacing-3);border-radius:var(--input-rounded);box-shadow:var(--shadow)}.k-coloroptions-input{--color-preview-size:var(--input-height)}.k-coloroptions-input ul{grid-template-columns:repeat(auto-fill,var(--color-preview-size));gap:var(--spacing-2);display:grid}.k-coloroptions-input input:focus+.k-color-frame{outline:var(--outline)}.k-coloroptions-input[disabled] label{opacity:var(--opacity-disabled);cursor:not-allowed}.k-coloroptions-input input:checked+.k-color-frame{outline-offset:2px;outline:2px solid}.k-colorpicker-input{--h:0;--s:0%;--l:0%;--a:1;--range-thumb-size:.75rem;--range-track-height:.75rem;gap:var(--spacing-3);flex-direction:column;width:max-content;display:flex}.k-colorpicker-input .k-coords-input{border-radius:var(--rounded-sm);aspect-ratio:1;background:linear-gradient(to bottom,transparent,#000),linear-gradient(to right,#fff,hsl(var(--h),100%,50%))}.k-colorpicker-input .k-alpha-input{color:hsl(var(--h),var(--s),var(--l))}.k-colorpicker-input .k-coloroptions-input ul{grid-template-columns:repeat(6,1fr)}.k-coords-input{position:relative;display:block!important}.k-coords-input img{width:100%}.k-coords-input-thumb{aspect-ratio:1;width:var(--range-thumb-size);background:var(--range-thumb-color);border-radius:var(--range-thumb-size);box-shadow:var(--range-thumb-shadow);cursor:move;position:absolute;transform:translate(-50%,-50%)}.k-coords-input[data-empty] .k-coords-input-thumb{opacity:0}.k-coords-input-thumb:active{cursor:grabbing}.k-coords-input:focus-within{outline:var(--outline)}.k-coords-input[aria-disabled]{pointer-events:none;opacity:var(--opacity-disabled)}.k-coords-input .k-coords-input-thumb:focus{outline:var(--outline)}.k-hue-input{--range-track-back:linear-gradient(to right,red 0%,#ff0 16.67%,#0f0 33.33%,#0ff 50%,#00f 66.67%,#f0a 83.33%,red 100%)no-repeat;--range-track-height:var(--range-thumb-size)}.k-timeoptions-input{--button-height:var(--height-sm);gap:var(--spacing-3);grid-template-columns:1fr 1fr;display:grid}.k-timeoptions-input h3{padding-inline:var(--button-padding);height:var(--button-height);margin-bottom:var(--spacing-1);align-items:center;display:flex}.k-timeoptions-input hr{margin:var(--spacing-2)var(--spacing-3)}.k-timeoptions-input .k-button[aria-selected=time]{--button-color-text:var(--color-text);--button-color-back:var(--color-blue-500)}.k-layout{--layout-border-color:var(--color-gray-300);--layout-toolbar-width:2rem;box-shadow:var(--shadow);background:#fff;padding-inline-end:var(--layout-toolbar-width);position:relative}[data-disabled=true] .k-layout{padding-inline-end:0}.k-layout:not(:last-of-type){margin-bottom:1px}.k-layout:focus{outline:0}.k-layout-toolbar{width:var(--layout-toolbar-width);padding-bottom:var(--spacing-2);font-size:var(--text-sm);background:var(--color-gray-100);border-inline-start:1px solid var(--color-light);color:var(--color-gray-500);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;inset-block:0;inset-inline-end:0}.k-layout-toolbar:hover{color:var(--color-black)}.k-layout-toolbar-button{width:var(--layout-toolbar-width);height:var(--layout-toolbar-width)}.k-layout-columns.k-grid{grid-gap:1px;background:var(--layout-border-color);background:var(--color-gray-300)}.k-layout:not(:first-child) .k-layout-columns.k-grid{border-top:0}.k-layout-column{background:var(--color-white);flex-direction:column;height:100%;min-height:6rem;display:flex;position:relative}.k-layout-column:focus{outline:0}.k-layout-column .k-blocks{box-shadow:none;background:0 0;background:var(--color-white);height:100%;min-height:4rem;padding:0}.k-layout-column .k-blocks[data-empty=true]{min-height:6rem}.k-layout-column .k-blocks-list{flex-direction:column;height:100%;display:flex}.k-layout-column .k-blocks .k-block-container:last-of-type{flex-grow:1}.k-layout-column .k-blocks-empty.k-box{--box-color-back:transparent;opacity:0;border:0;justify-content:center;transition:opacity .3s;position:absolute;inset:0}.k-layout-column .k-blocks-empty:hover{opacity:1}.k-layouts .k-sortable-ghost{outline:2px solid var(--color-focus);cursor:grabbing;z-index:1;position:relative;box-shadow:0 5px 10px #11111140}.k-layout-selector h3{margin-top:-.5rem;margin-bottom:var(--spacing-3)}.k-layout-selector-options{gap:var(--spacing-6);grid-template-columns:repeat(3,1fr);display:grid}@media screen and (width>=65em){.k-layout-selector-options{grid-template-columns:repeat(var(--columns),1fr)}}.k-layout-selector-option{--color-border:hsla(var(--color-gray-hs),0%,6%);--color-back:var(--color-white);border-radius:var(--rounded)}.k-layout-selector-option:focus-visible{outline:var(--outline);outline-offset:-1px}.k-layout-selector-option .k-grid{border:1px solid var(--color-border);grid-template-columns:repeat(var(--columns),1fr);cursor:pointer;background:var(--color-border);border-radius:var(--rounded);box-shadow:var(--shadow);gap:1px;height:5rem;overflow:hidden}.k-layout-selector-option .k-column{grid-column:span var(--span);background:var(--color-back);height:100%}.k-layout-selector-option:hover{--color-border:var(--color-gray-500);--color-back:var(--color-gray-100)}.k-layout-selector-option[aria-current]{--color-border:var(--color-focus);--color-back:var(--color-blue-300)}.k-bubbles{gap:.25rem;display:flex}.k-bubbles-field-preview{--bubble-back:var(--color-light);--bubble-text:var(--color-black);padding:.375rem var(--table-cell-padding);overflow:hidden}.k-bubbles-field-preview .k-bubbles{gap:.375rem}.k-color-field-preview{--color-frame-rounded:var(--tag-rounded);--color-frame-size:var(--tag-height);padding:.375rem var(--table-cell-padding);align-items:center;gap:var(--spacing-2);display:flex}.k-text-field-preview{text-overflow:ellipsis;white-space:nowrap;padding:.325rem .75rem;overflow-x:hidden}.k-url-field-preview{padding-inline:var(--table-cell-padding)}.k-url-field-preview[data-link]{color:var(--link-color)}.k-url-field-preview a{height:var(--height-xs);padding-inline:var(--spacing-1);margin-inline:calc(var(--spacing-1)*-1);border-radius:var(--rounded);align-items:center;min-width:0;max-width:100%;display:inline-flex}.k-url-field-preview a>*{white-space:nowrap;text-overflow:ellipsis;text-underline-offset:var(--link-underline-offset);text-decoration:underline;overflow:hidden}.k-url-field-preview a:hover{color:var(--color-black)}.k-flag-field-preview{--button-height:var(--table-row-height);--button-width:100%;outline-offset:-2px}.k-html-field-preview{padding:.375rem var(--table-cell-padding);text-overflow:ellipsis;overflow:hidden}.k-image-field-preview{height:100%}.k-toggle-field-preview{padding-inline:var(--table-cell-padding)}:root{--toolbar-size:var(--height);--toolbar-text:var(--color-black);--toolbar-back:var(--color-white);--toolbar-hover:#efefef80;--toolbar-border:#0000001a;--toolbar-current:var(--color-focus)}.k-toolbar{height:var(--toolbar-size);color:var(--toolbar-text);background:var(--toolbar-back);border-radius:var(--rounded);align-items:center;max-width:100%;display:flex;overflow:auto hidden}.k-toolbar[data-theme=dark]{--toolbar-text:var(--color-white);--toolbar-back:var(--color-black);--toolbar-hover:#fff3;--toolbar-border:var(--color-gray-800)}.k-toolbar>hr{height:var(--toolbar-size);border-left:1px solid var(--toolbar-border);width:1px}.k-toolbar-button.k-button{--button-width:var(--toolbar-size);--button-height:var(--toolbar-size);--button-rounded:0;outline-offset:-2px}.k-toolbar-button:hover{--button-color-back:var(--toolbar-hover)}.k-toolbar .k-button[aria-current]{--button-color-text:var(--toolbar-current)}.k-toolbar>.k-button:first-child{border-start-start-radius:var(--rounded);border-end-start-radius:var(--rounded)}.k-toolbar>.k-button:last-child{border-start-end-radius:var(--rounded);border-end-end-radius:var(--rounded)}:where(.k-textarea-input,.k-writer-input):not(:focus-within){--toolbar-text:var(--color-gray-400);--toolbar-border:var(--color-background)}:where(.k-textarea-input,.k-writer-input):focus-within .k-toolbar:not([data-inline=true]){top:var(--header-sticky-offset);z-index:1;position:sticky;inset-inline:0;box-shadow:0 2px 5px #0000000d}.k-writer:not([data-toolbar-inline=true]):not([data-disabled=true]){grid-template-areas:"topbar""content";grid-template-rows:var(--toolbar-size)1fr;gap:0}.k-writer:not(:focus-within){--toolbar-current:currentColor}.k-writer-toolbar[data-inline=true]{z-index:calc(var(--z-dropdown) + 1);box-shadow:var(--shadow-toolbar);max-width:none;position:absolute}.k-writer-toolbar:not([data-inline=true]){border-bottom:1px solid var(--toolbar-border);border-end-end-radius:0;border-end-start-radius:0}.k-writer-toolbar:not([data-inline=true])>.k-button:first-child{border-end-start-radius:0}.k-writer-toolbar:not([data-inline=true])>.k-button:last-child{border-end-end-radius:0}.k-aspect-ratio{padding-bottom:100%;display:block;position:relative;overflow:hidden}.k-aspect-ratio>*{object-fit:contain;width:100%;height:100%;inset:0;position:absolute!important}.k-aspect-ratio[data-cover=true]>*{object-fit:cover}:root{--bar-height:var(--height-xs)}.k-bar{align-items:center;gap:var(--spacing-3);height:var(--bar-height);justify-content:space-between;display:flex}.k-bar:where([data-align=center]){justify-content:center}.k-bar:where([data-align=end]):has(:first-child:last-child){justify-content:end}.k-bar-slot{flex-grow:1}.k-bar-slot[data-position=center]{text-align:center}.k-bar-slot[data-position=right]{text-align:end}:root{--box-height:var(--field-input-height);--box-padding-inline:var(--spacing-2);--box-font-size:var(--text-sm);--box-color-back:none;--box-color-text:currentColor}.k-box{--icon-color:var(--box-color-icon);--text-font-size:var(--box-font-size);align-items:center;gap:var(--spacing-2);color:var(--box-color-text);background:var(--box-color-back);word-wrap:break-word;width:100%;display:flex}.k-box[data-theme]{--box-color-back:var(--theme-color-back);--box-color-text:var(--theme-color-text);--box-color-icon:var(--theme-color-700);min-height:var(--box-height);padding:.375rem var(--box-padding-inline);border-radius:var(--rounded);line-height:1.25}.k-box[data-theme=text],.k-box[data-theme=white]{box-shadow:var(--shadow)}.k-box[data-theme=text]{padding:var(--spacing-6)}.k-box[data-theme=none]{padding:0}.k-box[data-align=center]{justify-content:center}:root{--bubble-size:1.525rem;--bubble-back:var(--color-light);--bubble-text:var(--color-black)}.k-bubble{height:var(--bubble-size);white-space:nowrap;background:var(--bubble-back);color:var(--bubble-text);border-radius:var(--rounded);width:min-content;line-height:1.5;overflow:hidden}.k-bubble .k-frame{width:var(--bubble-size);height:var(--bubble-size)}.k-bubble[data-has-text=true]{gap:var(--spacing-2);font-size:var(--text-xs);align-items:center;padding-inline-end:.5rem;display:flex}.k-column{min-width:0}.k-column[data-sticky=true]{align-self:stretch}.k-column[data-sticky=true]>div{top:calc(var(--header-sticky-offset) + 2vh);z-index:2;position:sticky}.k-column[data-disabled=true]{cursor:not-allowed;opacity:.4}.k-column[data-disabled=true] *{pointer-events:none}.k-column[data-disabled=true] .k-text[data-theme=help] *{pointer-events:initial}.k-frame{--fit:contain;--ratio:1/1;aspect-ratio:var(--ratio);background:var(--back);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.k-frame:where([data-theme]){--back:var(--theme-color-back);color:var(--theme-color-text)}.k-frame :where(img,video,iframe,button){object-fit:var(--fit);width:100%;height:100%;position:absolute;inset:0}.k-frame>*{text-overflow:ellipsis;min-width:0;min-height:0;overflow:hidden}:root{--color-frame-rounded:var(--rounded);--color-frame-size:100%;--color-frame-darkness:0%}.k-color-frame.k-frame{background:var(--pattern-light);width:var(--color-frame-size);color:#0000;border-radius:var(--color-frame-rounded);background-clip:padding-box;overflow:hidden}.k-color-frame:after{border-radius:var(--color-frame-rounded);box-shadow:0 0 0 1px inset hsla(0,0%,var(--color-frame-darkness),.175);content:"";background-color:currentColor;position:absolute;inset:0}.k-dropzone{position:relative}.k-dropzone:after{content:"";pointer-events:none;z-index:1;border-radius:var(--rounded);display:none;position:absolute;inset:0}.k-dropzone[data-over=true]:after{background:hsla(var(--color-blue-hs),var(--color-blue-l-300),.6);outline:var(--outline);display:block}.k-grid{--columns:12;--grid-inline-gap:0;--grid-block-gap:0;grid-column-gap:var(--grid-inline-gap);grid-row-gap:var(--grid-block-gap);align-items:start;display:grid}.k-grid>*{--width:calc(1/var(--columns));--span:calc(var(--columns)*var(--width))}@container (width>=30rem){.k-grid{grid-template-columns:repeat(var(--columns),1fr)}.k-grid>*{grid-column:span var(--span)}.k-grid[data-gutter=small]{--grid-inline-gap:1rem;--grid-block-gap:1rem}.k-grid:where([data-gutter=medium],[data-gutter=large],[data-gutter=huge]){--grid-inline-gap:1.5rem;--grid-block-gap:1.5rem}}@container (width>=65em){.k-grid[data-gutter=large]{--grid-inline-gap:3rem}.k-grid[data-gutter=huge]{--grid-inline-gap:4.5rem}}@container (width>=90em){.k-grid[data-gutter=large]{--grid-inline-gap:4.5rem}.k-grid[data-gutter=huge]{--grid-inline-gap:6rem}}@container (width>=120em){.k-grid[data-gutter=large]{--grid-inline-gap:6rem}.k-grid[data-gutter=huge]{--grid-inline-gap:7.5rem}}:root{--columns-inline-gap:clamp(.75rem,6cqw,6rem);--columns-block-gap:clamp(var(--spacing-8),6vh,6rem)}.k-grid[data-variant=columns]{--grid-inline-gap:var(--columns-inline-gap);--grid-block-gap:var(--columns-block-gap)}.k-grid:where([data-variant=columns],[data-variant=fields])>*{container:column/inline-size}.k-grid[data-variant=fields]{gap:var(--spacing-8)}.k-grid[data-variant=choices]{align-items:stretch;gap:2px}:root{--header-color-back:var(--color-light);--header-padding-block:var(--spacing-4);--header-sticky-offset:calc(var(--scroll-top,0rem) + 4rem)}.k-header{border-bottom:1px solid var(--color-border);background:var(--header-color-back);padding-top:var(--header-padding-block);margin-bottom:var(--spacing-12);box-shadow:2px 0 0 0 var(--header-color-back),-2px 0 0 0 var(--header-color-back);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex;position:relative}.k-header-title{font-size:var(--text-h1);font-weight:var(--font-h1);line-height:var(--leading-h1);margin-bottom:var(--header-padding-block);min-width:0}.k-header-title-button{text-align:start;gap:var(--spacing-2);outline:0;align-items:baseline;max-width:100%;display:inline-flex}.k-header-title-text{text-overflow:ellipsis;overflow-x:clip}.k-header-title-icon{--icon-color:var(--color-text-dimmed);border-radius:var(--rounded);height:var(--height-sm);width:var(--height-sm);opacity:0;flex-shrink:0;place-items:center;transition:opacity .2s;display:grid}.k-header-title-button:is(:hover,:focus) .k-header-title-icon{opacity:1}.k-header-title-button:focus .k-header-title-icon{outline:var(--outline)}.k-header-buttons{gap:var(--spacing-2);margin-bottom:var(--header-padding-block);flex-shrink:0;display:flex}.k-header[data-has-buttons=true]{top:var(--scroll-top,0);z-index:var(--z-toolbar);position:sticky}:root{--icon-size:18px;--icon-color:currentColor}.k-icon{width:var(--icon-size);height:var(--icon-size);color:var(--icon-color);flex-shrink:0}.k-icon[data-type=loader]{animation:1.5s linear infinite Spin}@media only screen and (-webkit-device-pixel-ratio>=2),not all,not all,not all,only screen and (resolution>=192dpi),only screen and (resolution>=2x){.k-icon-frame [data-type=emoji]{font-size:1.25em}}.k-image[data-back=pattern]{--back:var(--color-black)var(--pattern)}.k-image[data-back=black]{--back:var(--color-black)}.k-image[data-back=white]{--back:var(--color-white);color:var(--color-gray-900)}:root{--overlay-color-back:var(--color-backdrop)}.k-overlay[open]{overscroll-behavior:contain;z-index:var(--z-dialog);background:0 0;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden;transform:translate(0)}.k-overlay[open]::backdrop{background:0 0}.k-overlay[open]>.k-portal{background:var(--overlay-color-back);position:fixed;inset:0;overflow:auto}.k-overlay[open][data-type=dialog]>.k-portal{display:inline-flex}.k-overlay[open][data-type=dialog]>.k-portal>*{margin:auto}.k-overlay[open][data-type=drawer]>.k-portal{--overlay-color-back:#0003;justify-content:flex-end;align-items:stretch;display:flex}html[data-overlay]{overflow:hidden}html[data-overlay] body{overflow:scroll}:root{--stat-value-text-size:var(--text-2xl);--stat-info-text-color:var(--color-text-dimmed)}.k-stat{padding:var(--spacing-3)var(--spacing-6);background:var(--color-white);border-radius:var(--rounded);box-shadow:var(--shadow);line-height:var(--leading-normal);flex-direction:column;display:flex}.k-stat.k-link:hover{cursor:pointer;background:var(--color-gray-100)}.k-stat :where(dt,dd){display:block}.k-stat-value{font-size:var(--stat-value-text-size);margin-bottom:var(--spacing-1);order:1}.k-stat-label{--icon-size:var(--text-sm);justify-content:start;align-items:center;gap:var(--spacing-1);font-size:var(--text-xs);order:2;display:flex}.k-stat-info{font-size:var(--text-xs);color:var(--stat-info-text-color);order:3}.k-stat[data-theme] .k-stat-info{--stat-info-text-color:var(--theme-color-700)}.k-stats{grid-gap:var(--spacing-2px);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));grid-auto-rows:1fr;display:grid}.k-stats[data-size=small]{--stat-value-text-size:var(--text-md)}.k-stats[data-size=medium]{--stat-value-text-size:var(--text-xl)}.k-stats[data-size=large]{--stat-value-text-size:var(--text-2xl)}.k-stats[data-size=huge]{--stat-value-text-size:var(--text-3xl)}:root{--table-cell-padding:var(--spacing-3);--table-color-back:var(--color-white);--table-color-border:var(--color-background);--table-color-hover:var(--color-gray-100);--table-color-th-back:var(--color-gray-100);--table-color-th-text:var(--color-text-dimmed);--table-row-height:var(--input-height)}.k-table{background:var(--table-color-back);box-shadow:var(--shadow);border-radius:var(--rounded);position:relative}.k-table table{table-layout:fixed}.k-table th,.k-table td{padding-inline:var(--table-cell-padding);height:var(--table-row-height);text-overflow:ellipsis;border-inline-end:1px solid var(--table-color-border);width:100%;line-height:1.25;overflow:hidden}.k-table tr>:last-child{border-inline-end:0}.k-table th,.k-table tr:not(:last-child) td{border-block-end:1px solid var(--table-color-border)}.k-table :where(td,th)[data-align]{text-align:var(--align)}.k-table th{padding-inline:var(--table-cell-padding);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--table-color-th-text);background:var(--table-color-th-back)}.k-table th[data-has-button]{padding:0}.k-table th button{padding-inline:var(--table-cell-padding);border-radius:var(--rounded);text-align:start;width:100%;height:100%}.k-table th button:focus-visible{outline-offset:-2px}.k-table thead th:first-child{border-start-start-radius:var(--rounded)}.k-table thead th:last-child{border-start-end-radius:var(--rounded)}.k-table thead th{top:var(--header-sticky-offset);z-index:1;position:sticky;inset-inline:0}.k-table tbody tr:hover td{background:var(--table-color-hover)}.k-table tbody th{white-space:nowrap;border-radius:0;width:auto;overflow:visible}.k-table tbody tr:first-child th{border-start-start-radius:var(--rounded)}.k-table tbody tr:last-child th{border-block-end:0;border-end-start-radius:var(--rounded)}.k-table-row-ghost{background:var(--color-white);outline:var(--outline);border-radius:var(--rounded);cursor:grabbing;margin-bottom:2px}.k-table-row-fallback{opacity:0!important}.k-table .k-table-index-column{width:var(--table-row-height);text-align:center}.k-table .k-table-index{font-size:var(--text-xs);color:var(--color-text-dimmed);line-height:1.1em}.k-table .k-table-index-column .k-sort-handle{--button-width:100%;display:none}.k-table tr:hover .k-table-index-column[data-sortable=true] .k-table-index{display:none}.k-table tr:hover .k-table-index-column[data-sortable=true] .k-sort-handle{display:flex}.k-table .k-table-options-column{width:var(--table-row-height);text-align:center;padding:0}.k-table .k-table-options-column .k-options-dropdown-toggle{--button-width:100%;--button-height:100%;outline-offset:-2px}.k-table-empty{color:var(--color-text-dimmed);font-size:var(--text-sm)}.k-table[aria-disabled=true]{--table-color-back:transparent;--table-color-border:var(--color-border);--table-color-hover:transparent;--table-color-th-back:transparent;border:1px solid var(--table-color-border);box-shadow:none}.k-table[aria-disabled=true] thead th{position:static}@container (width<=40rem){.k-table{overflow-x:scroll}.k-table thead th{position:static}}.k-table .k-table-cell{padding:0}.k-tabs{--button-height:var(--height-md);--button-padding:var(--spacing-2);gap:var(--spacing-1);margin-bottom:var(--spacing-12);margin-inline:calc(var(--button-padding)*-1);display:flex}.k-tab-button.k-button{margin-block:2px;overflow-x:visible}.k-tab-button[aria-current]:after{content:"";inset-inline:var(--button-padding);background:currentColor;height:2px;position:absolute;bottom:-2px}.k-tabs-badge{font-variant-numeric:tabular-nums;top:2px;padding:0 var(--spacing-1);text-align:center;box-shadow:var(--shadow-md);background:var(--theme-color-back);border:1px solid var(--theme-color-500);color:var(--theme-color-text);z-index:1;border-radius:1rem;font-size:10px;line-height:1.5;position:absolute;inset-inline-end:var(--button-padding);transform:translate(75%)}.k-view{padding-inline:1.5rem}@container (width>=30rem){.k-view{padding-inline:3rem}}.k-view[data-align=center]{justify-content:center;align-items:center;height:100vh;padding:0 3rem;display:flex;overflow:auto}.k-view[data-align=center]>*{flex-basis:22.5rem}.k-fatal[open]{background:var(--overlay-color-back);padding:var(--spacing-6)}.k-fatal-box{box-shadow:var(--dialog-shadow);border-radius:var(--dialog-rounded);flex-direction:column;width:100%;height:calc(100dvh - 3rem);line-height:1;display:flex;position:relative;overflow:hidden}.k-fatal-iframe{background:var(--color-white);padding:var(--spacing-3);border:0;flex-grow:1;width:100%}.k-icons{width:0;height:0;position:absolute}.k-loader{z-index:1}.k-loader-icon{animation:.9s linear infinite Spin}.k-notification{background:var(--color-gray-900);color:var(--color-white);flex-shrink:0;align-items:center;width:100%;padding:.75rem 1.5rem;line-height:1.25rem;display:flex}.k-notification[data-theme]{background:var(--theme-color-back);color:var(--color-black)}.k-notification p{word-wrap:break-word;flex-grow:1;overflow:hidden}.k-notification .k-button{margin-inline-start:1rem;display:flex}.k-offline-warning{z-index:var(--z-offline);background:var(--color-backdrop);justify-content:center;align-items:center;line-height:1;display:flex;position:fixed;inset:0}.k-offline-warning p{background:var(--color-white);box-shadow:var(--shadow);border-radius:var(--rounded);align-items:center;gap:.5rem;padding:.75rem;display:flex}.k-offline-warning p .k-icon{color:var(--color-red-400)}:root{--progress-height:var(--spacing-2);--progress-color-back:var(--color-gray-300);--progress-color-value:var(--color-focus)}progress{height:var(--progress-height);border-radius:var(--progress-height);border:0;width:100%;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--progress-color-back)}progress::-webkit-progress-value{background:var(--progress-color-value);border-radius:var(--progress-height)}progress::-moz-progress-bar{background:var(--progress-color-value)}progress:not([value])::-webkit-progress-bar{background:var(--progress-color-value)}progress:not([value])::-moz-progress-bar{background:var(--progress-color-value)}.k-sort-handle{cursor:grab;z-index:1}.k-sort-handle:active{cursor:grabbing}.k-breadcrumb{--breadcrumb-divider:"/";padding:2px;overflow-x:clip}.k-breadcrumb ol{align-items:center;gap:.125rem;display:none}.k-breadcrumb ol li{align-items:center;min-width:0;display:flex}.k-breadcrumb ol li:not(:last-child):after{content:var(--breadcrumb-divider);opacity:.175;flex-shrink:0}.k-breadcrumb ol li{min-width:0;transition:flex-shrink .1s}.k-breadcrumb .k-icon[data-type=loader]{opacity:.5}.k-breadcrumb ol li:is(:hover,:focus-within){flex-shrink:0}.k-button.k-breadcrumb-link{flex-shrink:1;justify-content:flex-start;min-width:0}.k-breadcrumb-dropdown{display:grid}.k-breadcrumb-dropdown .k-dropdown-content{width:15rem}@container (width>=40em){.k-breadcrumb ol{display:flex}.k-breadcrumb-dropdown{display:none}}.k-browser{font-size:var(--text-sm);container-type:inline-size}.k-browser-items{--browser-item-gap:1px;--browser-item-size:1fr;--browser-item-height:var(--height-sm);--browser-item-padding:.25rem;--browser-item-rounded:var(--rounded);column-gap:var(--browser-item-gap);row-gap:var(--browser-item-gap);grid-template-columns:repeat(auto-fill,minmax(var(--browser-item-size),1fr));display:grid}.k-browser-item{height:var(--browser-item-height);padding-inline:calc(var(--browser-item-padding) + 1px);border-radius:var(--browser-item-rounded);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:.5rem;display:flex;overflow:hidden}.k-browser-item-image{height:calc(var(--browser-item-height) - var(--browser-item-padding)*2);aspect-ratio:1;border-radius:var(--rounded-sm);box-shadow:var(--shadow);flex-shrink:0}.k-browser-item-image.k-icon-frame{box-shadow:none;background:var(--color-white)}.k-browser-item-image svg{transform:scale(.8)}.k-browser-item input{box-shadow:var(--shadow);opacity:0;width:0;position:absolute}.k-browser-item[aria-selected]{background:var(--color-blue-300)}:root{--button-align:center;--button-height:var(--height-md);--button-width:auto;--button-color-back:none;--button-color-text:currentColor;--button-color-icon:currentColor;--button-padding:var(--spacing-2);--button-rounded:var(--spacing-1);--button-text-display:block;--button-icon-display:block}.k-button{align-items:center;justify-content:var(--button-align);padding-inline:var(--button-padding);white-space:nowrap;border-radius:var(--button-rounded);background:var(--button-color-back);height:var(--button-height);width:var(--button-width);color:var(--button-color-text);font-variant-numeric:tabular-nums;text-align:var(--button-align);flex-shrink:0;gap:.5rem;line-height:1;display:inline-flex;position:relative;overflow-x:clip}.k-button-icon{--icon-color:var(--button-color-icon);display:var(--button-icon-display);flex-shrink:0}.k-button-text{text-overflow:ellipsis;display:var(--button-text-display);min-width:0;overflow-x:clip}.k-button:where([data-theme]){--button-color-icon:var(--theme-color-icon);--button-color-text:var(--theme-color-text)}.k-button:where([data-variant=dimmed]){--button-color-icon:var(--color-text);--button-color-dimmed-on:var(--color-text-dimmed);--button-color-dimmed-off:var(--color-text);--button-color-text:var(--button-color-dimmed-on)}.k-button:where([data-variant=dimmed]):not([aria-disabled]):is(:hover,[aria-current]){--button-color-text:var(--button-color-dimmed-off)}.k-button:where([data-theme][data-variant=dimmed]){--button-color-icon:var(--theme-color-icon);--button-color-dimmed-on:var(--theme-color-text-dimmed);--button-color-dimmed-off:var(--theme-color-text)}.k-button:where([data-variant=filled]){--button-color-back:var(--color-gray-300)}.k-button:where([data-variant=filled]):not([aria-disabled]):hover{filter:brightness(97%)}.k-button:where([data-theme][data-variant=filled]){--button-color-icon:var(--theme-color-700);--button-color-back:var(--theme-color-back);--button-color-text:var(--theme-color-text)}.k-button:not([data-has-text=true]){--button-padding:0;aspect-ratio:1}@container (width<=30rem){.k-button[data-responsive=true][data-has-icon=true]{--button-padding:0;aspect-ratio:1;--button-text-display:none}.k-button[data-responsive=text][data-has-text=true]{--button-icon-display:none}.k-button[data-responsive][data-has-icon=true] .k-button-arrow{display:none}}.k-button:not(button,a,summary,label,.k-link){pointer-events:none}.k-button:where([data-size=xs]){--button-height:var(--height-xs);--button-padding:.325rem}.k-button:where([data-size=sm]){--button-height:var(--height-sm);--button-padding:.5rem}.k-button:where([data-size=lg]){--button-height:var(--height-lg)}.k-button-arrow{--icon-size:10px;width:max-content;margin-inline-start:-.125rem}.k-button:where([aria-disabled]){cursor:not-allowed}.k-button:where([aria-disabled])>*{opacity:var(--opacity-disabled)}.k-button-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.k-button-group:where([data-layout=collapsed]){gap:0}.k-button-group[data-layout=collapsed]>.k-button[data-variant=filled]:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.k-button-group[data-layout=collapsed]>.k-button[data-variant=filled]:not(:first-child){border-left:1px solid var(--theme-color-500,var(--color-gray-400));border-start-start-radius:0;border-end-start-radius:0}.k-button-group[data-layout=collapsed]>.k-button[data-variant=filled]:focus-visible{z-index:1;border-radius:var(--button-rounded)}.k-file-browser{overflow:hidden;container-type:inline-size}.k-file-browser-layout{grid-template-columns:minmax(10rem,15rem) 1fr;display:grid}.k-file-browser-tree{padding:var(--spacing-2);border-right:1px solid var(--color-gray-300)}.k-file-browser-items{padding:var(--spacing-2);background:var(--color-gray-100)}.k-file-browser-back-button{display:none}@container (width<=30rem){.k-file-browser-layout{grid-template-columns:minmax(0,1fr);min-height:10rem}.k-file-browser-back-button{height:var(--height-sm);background:var(--color-gray-200);border-radius:var(--rounded);justify-content:flex-start;align-items:center;width:100%;margin-bottom:.5rem;padding-inline:.25rem;display:flex}.k-file-browser-tree{border-right:0}.k-file-browser[data-view=files] .k-file-browser-tree,.k-file-browser[data-view=tree] .k-file-browser-items{display:none}}:root{--tree-color-back:var(--color-gray-200);--tree-color-hover-back:var(--color-gray-300);--tree-color-selected-back:var(--color-blue-300);--tree-color-selected-text:var(--color-black);--tree-color-text:var(--color-gray-dimmed);--tree-level:0;--tree-indentation:.6rem}.k-tree-branch{align-items:center;margin-bottom:1px;padding-inline-start:calc(var(--tree-level)*var(--tree-indentation));display:flex}.k-tree-branch[data-has-subtree=true]{z-index:calc(100 - var(--tree-level));background:var(--tree-color-back);inset-block-start:calc(var(--tree-level)*1.5rem)}.k-tree-branch:hover,li[aria-current]>.k-tree-branch{--tree-color-text:var(--tree-color-selected-text);background:var(--tree-color-hover-back);border-radius:var(--rounded)}li[aria-current]>.k-tree-branch{background:var(--tree-color-selected-back)}.k-tree-toggle{--icon-size:12px;aspect-ratio:1;border-radius:var(--rounded-sm);flex-shrink:0;place-items:center;width:1rem;margin-inline-start:.25rem;padding:0;display:grid}.k-tree-toggle:hover{background:#00000013}.k-tree-toggle[disabled]{visibility:hidden}.k-tree-folder{height:var(--height-sm);border-radius:var(--rounded-sm);line-height:1.25;font-size:var(--text-sm);align-items:center;gap:.325rem;width:100%;min-width:3rem;padding-inline:.25rem;display:flex}@container (width<=15rem){.k-tree{--tree-indentation:.375rem}.k-tree-folder{padding-inline:.125rem}.k-tree-folder .k-icon{display:none}}.k-tree-folder>.k-frame{flex-shrink:0}.k-tree-folder-label{text-overflow:ellipsis;white-space:nowrap;color:currentColor;overflow:hidden}.k-tree-folder[disabled]{opacity:var(--opacity-disabled)}.k-pagination-details{--button-padding:var(--spacing-3);font-size:var(--text-xs)}.k-pagination-selector{--button-height:var(--height);--dropdown-padding:0;overflow:visible}.k-pagination-selector form{justify-content:space-between;align-items:center;display:flex}.k-pagination-selector label{padding-inline-start:var(--spacing-3);padding-inline-end:var(--spacing-2)}.k-pagination-selector select{--height:calc(var(--button-height) - .5rem);min-width:var(--height);height:var(--height);text-align:center;background:var(--color-gray-800);color:var(--color-white);border-radius:var(--rounded-sm);width:auto}.k-prev-next{direction:ltr;flex-shrink:0}:root{--tag-color-back:var(--color-black);--tag-color-text:var(--color-white);--tag-color-toggle:currentColor;--tag-color-disabled-back:var(--color-gray-600);--tag-color-disabled-text:var(--tag-color-text);--tag-height:var(--height-xs);--tag-rounded:var(--rounded-sm)}.k-tag{height:var(--tag-height);font-size:var(--text-sm);color:var(--tag-color-text);background-color:var(--tag-color-back);border-radius:var(--tag-rounded);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;line-height:1;display:flex;position:relative}.k-tag:not([aria-disabled]):focus{outline:var(--outline)}.k-tag-image{height:calc(var(--tag-height) - var(--spacing-2));margin-inline:var(--spacing-1);border-radius:var(--tag-rounded);overflow:hidden}.k-tag-text{padding-inline:var(--spacing-2);line-height:var(--leading-tight)}.k-tag[data-has-image=true] .k-tag-text{padding-inline-start:var(--spacing-1)}.k-tag[data-has-toggle=true] .k-tag-text{padding-inline-end:0}.k-tag-toggle{width:var(--tag-height);height:var(--tag-height);filter:brightness(70%)}.k-tag-toggle:hover{filter:brightness()}.k-tag:where([aria-disabled]){background-color:var(--tag-color-disabled-back);color:var(--tag-color-disabled-text);cursor:not-allowed}.k-button[data-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.k-card-options>.k-button[data-disabled=true]{display:inline-flex}.k-section+.k-section{margin-top:var(--columns-block-gap)}.k-section-header{margin-bottom:var(--spacing-2)}.k-fields-section input[type=submit]{display:none}[data-locked=true] .k-fields-section{opacity:.2;pointer-events:none}.k-models-section[data-processing=true]{pointer-events:none}.k-models-section-search.k-input{--input-color-back:var(--color-gray-300);--input-color-border:transparent;margin-bottom:var(--spacing-3)}:root{--code-color-back:var(--color-black);--code-color-icon:var(--color-gray-500);--code-color-text:var(--color-gray-200,white);--code-font-family:var(--font-mono);--code-font-size:1em;--code-inline-color-back:var(--color-blue-300);--code-inline-color-border:var(--color-blue-400);--code-inline-color-text:var(--color-blue-900);--code-inline-font-size:.9em;--code-padding:var(--spacing-3)}code{font-family:var(--code-font-family);font-size:var(--code-font-size);font-weight:var(--font-normal)}.k-code,.k-text pre{padding:var(--code-padding);border-radius:var(--rounded,.5rem);background:var(--code-color-back);color:var(--code-color-text);white-space:nowrap;-moz-tab-size:2;tab-size:2;max-width:100%;line-height:1.5;display:block;position:relative;overflow:auto hidden}.k-code:not(code),.k-text pre{white-space:pre-wrap}.k-code:before{content:attr(data-language);font-size:calc(.75*var(--text-xs));background:var(--code-color-back);border-radius:var(--rounded,.5rem);padding:.5rem .5rem .25rem .25rem;position:absolute;inset-block-start:0;inset-inline-end:0}.k-text>code,.k-text :not(pre)>code{padding-inline:var(--spacing-1);font-size:var(--code-inline-font-size);color:var(--code-inline-color-text);background:var(--code-inline-color-back);border-radius:var(--rounded);outline:1px solid var(--code-inline-color-border);outline-offset:-1px;display:inline-flex}:root{--text-h1:2em;--text-h2:1.75em;--text-h3:1.5em;--text-h4:1.25em;--text-h5:1.125em;--text-h6:1em;--font-h1:var(--font-semi);--font-h2:var(--font-semi);--font-h3:var(--font-semi);--font-h4:var(--font-semi);--font-h5:var(--font-semi);--font-h6:var(--font-semi);--leading-h1:1.125;--leading-h2:1.125;--leading-h3:1.25;--leading-h4:1.375;--leading-h5:1.5;--leading-h6:1.5}.k-headline{line-height:1.5em;font-weight:var(--font-bold)}.h1,.k-text h1,.k-headline[data-size=huge]{color:var(--color-h1,var(--color-h));font-family:var(--font-family-h1);font-size:var(--text-h1);font-weight:var(--font-h1);line-height:var(--leading-h1)}.h2,.k-text h2,.k-headline[data-size=large]{color:var(--color-h2,var(--color-h));font-family:var(--font-family-h2);font-size:var(--text-h2);font-weight:var(--font-h2);line-height:var(--leading-h2)}.h3,.k-text h3{color:var(--color-h3,var(--color-h));font-family:var(--font-family-h3);font-size:var(--text-h3);font-weight:var(--font-h3);line-height:var(--leading-h3)}.h4,.k-text h4,.k-headline[data-size=small]{color:var(--color-h4,var(--color-h));font-family:var(--font-family-h4);font-size:var(--text-h4);font-weight:var(--font-h4);line-height:var(--leading-h4)}.h5,.k-text h5{color:var(--color-h5,var(--color-h));font-family:var(--font-family-h5);font-size:var(--text-h5);font-weight:var(--font-h5);line-height:var(--leading-h5)}.h6,.k-text h6{color:var(--color-h6,var(--color-h));font-family:var(--font-family-h6);font-size:var(--text-h6);font-weight:var(--font-h6);line-height:var(--leading-h6)}.k-text>*+h6{margin-block-start:calc(var(--text-line-height)*1.5em)}.k-headline[data-theme]{color:var(--theme)}.k-label{height:var(--height-xs);font-weight:var(--font-semi);align-items:center;min-width:0;display:flex;position:relative}[aria-disabled] .k-label{opacity:var(--opacity-disabled);cursor:not-allowed}.k-label>a{height:var(--height-xs);padding-inline:var(--spacing-2);border-radius:var(--rounded);align-items:center;min-width:0;margin-inline-start:calc(-1*var(--spacing-2));display:inline-flex}.k-label-text{text-overflow:ellipsis;white-space:nowrap;overflow-x:clip}.k-label abbr{font-size:var(--text-xs);color:var(--color-gray-500);margin-inline-start:var(--spacing-1)}.k-label abbr.k-label-invalid{color:var(--color-red-700);display:none}:where(.k-field:has([data-invalid]),.k-section:has([data-invalid]))>header>.k-label abbr.k-label-invalid{display:inline-block}.k-field:has([data-invalid])>.k-field-header>.k-label abbr:has(+abbr.k-label-invalid){display:none}:root{--text-font-size:1em;--text-line-height:1.5;--link-color:var(--color-blue-800);--link-underline-offset:2px}.k-text{font-size:var(--text-font-size);line-height:var(--text-line-height)}.k-text[data-size=tiny]{--text-font-size:var(--text-xs)}.k-text[data-size=small]{--text-font-size:var(--text-sm)}.k-text[data-size=medium]{--text-font-size:var(--text-md)}.k-text[data-size=large]{--text-font-size:var(--text-xl)}.k-text[data-align]{text-align:var(--align)}.k-text>:where(audio,blockquote,details,div,figure,h1,h2,h3,h4,h5,h6,hr,iframe,img,object,ol,p,picture,pre,table,ul)+*{margin-block-start:calc(var(--text-line-height)*1em)}.k-text :where(.k-link,a){color:var(--link-color);text-underline-offset:var(--link-underline-offset);border-radius:var(--rounded-xs);outline-offset:2px;text-decoration:underline}.k-text ol,.k-text ul{padding-inline-start:1.75em}.k-text ol{list-style:numeric}.k-text ol>li{list-style:decimal}.k-text ul>li{list-style:disc}.k-text ul ul>li{list-style:circle}.k-text ul ul ul>li{list-style:square}.k-text blockquote{font-size:var(--text-lg);border-inline-start:2px solid var(--color-black);padding-inline-start:var(--spacing-4);line-height:1.25}.k-text img{border-radius:var(--rounded)}.k-text iframe{aspect-ratio:16/9;border-radius:var(--rounded);width:100%}.k-text hr{background:var(--color-border);height:1px}.k-help{color:var(--color-text-dimmed)}.k-activation{color:var(--dropdown-color-text);background:var(--dropdown-color-bg);border-radius:var(--dropdown-rounded);box-shadow:var(--dropdown-shadow);display:flex;position:relative}.k-activation p{padding-block:.425rem;padding-inline-start:var(--spacing-3);padding-inline-end:var(--spacing-2);line-height:1.25}.k-activation p strong{font-weight:var(--font-normal);margin-inline-end:var(--spacing-1)}.k-activation p :where(button,a){color:var(--color-pink-400);text-underline-offset:2px;border-radius:var(--rounded-sm);text-decoration:underline}.k-activation-toggle{--button-color-text:var(--color-gray-400);--button-rounded:0;border-left:1px solid var(--dropdown-color-hr)}.k-activation-toggle:is(:hover,:focus){--button-color-text:var(--color-white)}.k-activation-toggle:focus{--button-rounded:var(--rounded)}:root{--main-padding-inline:clamp(var(--spacing-6),5cqw,var(--spacing-24))}.k-panel-main{padding:var(--spacing-3)var(--main-padding-inline)var(--spacing-24);min-height:100dvh;margin-inline-start:var(--main-start);container:main/inline-size}.k-panel-notification{--button-height:var(--height-md);--button-color-icon:var(--theme-color-900);--button-color-text:var(--theme-color-900);border:1px solid var(--theme-color-500);box-shadow:var(--dropdown-shadow);z-index:var(--z-notification);position:fixed;inset-block-end:var(--menu-padding);inset-inline-end:var(--menu-padding)}:root{--menu-button-height:var(--height);--menu-button-width:100%;--menu-color-back:var(--color-gray-250);--menu-color-border:var(--color-gray-300);--menu-display:none;--menu-display-backdrop:block;--menu-padding:var(--spacing-3);--menu-shadow:var(--shadow-xl);--menu-toggle-height:var(--menu-button-height);--menu-toggle-width:1rem;--menu-width-closed:calc(var(--menu-button-height) + 2*var(--menu-padding));--menu-width-open:12rem;--menu-width:var(--menu-width-open)}.k-panel-menu{z-index:var(--z-navigation);display:var(--menu-display);width:var(--menu-width);background-color:var(--menu-color-back);border-right:1px solid var(--menu-color-border);box-shadow:var(--menu-shadow);position:fixed;inset-block:0;inset-inline-start:0}.k-panel-menu-body{gap:var(--spacing-4);padding:var(--menu-padding);overscroll-behavior:contain;flex-direction:column;height:100%;display:flex;overflow:hidden auto}.k-panel-menu-search{margin-bottom:var(--spacing-8)}.k-panel-menu-buttons{flex-direction:column;width:100%;display:flex}.k-panel-menu-buttons[data-second-last=true]{flex-grow:1}.k-panel-menu-buttons:last-child{justify-content:flex-end}.k-panel-menu-button{--button-align:flex-start;--button-height:var(--menu-button-height);--button-width:var(--menu-button-width);flex-shrink:0}.k-panel-menu-button[aria-current]{--button-color-back:var(--color-white);box-shadow:var(--shadow)}.k-panel-menu-button:focus{z-index:1}.k-panel[data-menu=true]{--menu-button-width:100%;--menu-display:block;--menu-width:var(--menu-width-open)}.k-panel[data-menu=true]:after{content:"";background:var(--color-backdrop);display:var(--menu-display-backdrop);pointer-events:none;position:fixed;inset:0}.k-panel-menu-toggle{--button-align:flex-start;--button-height:100%;--button-width:var(--menu-toggle-width);opacity:0;border-radius:0;align-items:flex-start;transition:opacity .2s;position:absolute;inset-block:0;inset-inline-start:100%;overflow:visible}.k-panel-menu-toggle:focus{outline:0}.k-panel-menu-toggle .k-button-icon{height:var(--menu-toggle-height);width:var(--menu-toggle-width);margin-top:var(--menu-padding);border-block:1px solid var(--menu-color-border);border-inline-end:1px solid var(--menu-color-border);background:var(--menu-color-back);border-start-end-radius:var(--button-rounded);border-end-end-radius:var(--button-rounded);place-items:center;display:grid}.k-panel-menu .k-activation-button{--button-color-back:var(--color-pink-300);--button-color-text:var(--color-pink-800);border:1px solid var(--color-pink-400)}@media (width<=60rem){.k-panel-menu .k-activation-button{margin-bottom:var(--spacing-3)}.k-panel-menu .k-activation-toggle{display:none}}@media (width>=60rem){.k-panel{--menu-display:block;--menu-display-backdrop:none;--menu-shadow:none;--main-start:var(--menu-width)}.k-panel[data-menu=false]{--menu-button-width:var(--menu-button-height);--menu-width:var(--menu-width-closed)}.k-panel-menu-proxy{display:none}.k-panel-menu-toggle:focus-visible,.k-panel-menu[data-hover] .k-panel-menu-toggle{opacity:1}.k-panel-menu-toggle:focus-visible .k-button-icon{outline:var(--outline);border-radius:var(--button-rounded)}.k-panel-menu-search[aria-disabled=true]{opacity:0}.k-panel-menu .k-activation{bottom:var(--menu-padding);height:var(--height-md);margin-left:var(--menu-padding);width:max-content;position:absolute;inset-inline-start:100%}.k-panel-menu .k-activation:before{content:"";border-top:4px solid #0000;border-right:4px solid var(--color-black);border-bottom:4px solid #0000;margin-top:-4px;position:absolute;top:50%;left:-4px}.k-panel-menu .k-activation p :where(button,a){padding-inline:var(--spacing-1)}.k-panel-menu .k-activation-toggle{border-left:1px solid var(--dropdown-color-hr)}}.k-panel.k-panel-outside{padding:var(--spacing-6);grid-template-rows:1fr;place-items:center;min-height:100dvh;display:grid}html{background:var(--color-light);overflow:hidden scroll}body{font-size:var(--text-sm)}.k-panel[data-loading=true]{animation:.5s LoadingCursor}.k-panel[data-loading=true]:after,.k-panel[data-dragging=true]{-webkit-user-select:none;user-select:none}.k-topbar{margin-inline:calc(var(--button-padding)*-1);margin-bottom:var(--spacing-8);align-items:center;gap:var(--spacing-1);display:flex;position:relative}.k-topbar-breadcrumb{margin-inline-start:-2px}.k-topbar-spacer{flex-grow:1}.k-topbar-signals{align-items:center;display:flex}.k-search-view .k-header{margin-bottom:0}.k-header+.k-search-view-results{margin-top:var(--spacing-12)}.k-search-view-input{--input-color-border:transparent;--input-color-back:var(--color-gray-300);--input-height:var(--height-md);width:40cqw}.k-file-view-header,.k-file-view[data-has-tabs=true] .k-file-preview{margin-bottom:0}.k-file-preview{background:var(--color-gray-900);border-radius:var(--rounded-lg);margin-bottom:var(--spacing-12);align-items:stretch;display:grid;overflow:hidden}.k-file-preview-thumb-column{background:var(--pattern);aspect-ratio:1}.k-file-preview-thumb{padding:var(--spacing-12);justify-content:center;align-items:center;height:100%;display:flex;container-type:size}.k-file-preview-thumb img{width:auto;max-width:100cqw;max-height:100cqh}.k-file-preview-thumb>.k-icon{--icon-size:3rem}.k-file-preview-thumb>.k-button{top:var(--spacing-2);position:absolute;inset-inline-start:var(--spacing-2)}.k-file-preview .k-coords-input{--opacity-disabled:1;--range-thumb-color:#5c8dd6bf;--range-thumb-size:1.25rem;--range-thumb-shadow:none;cursor:crosshair}.k-file-preview .k-coords-input-thumb:after{--size:.4rem;--pos:calc(50% - (var(--size)/2));top:var(--pos);width:var(--size);height:var(--size);content:"";background:var(--color-white);border-radius:50%;position:absolute;inset-inline-start:var(--pos)}.k-file-preview:not([data-has-focus=true]) .k-coords-input-thumb{display:none}.k-file-preview-details{display:grid}.k-file-preview-details dl{grid-gap:var(--spacing-6)var(--spacing-12);padding:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));align-self:center;line-height:1.5em;display:grid}.k-file-preview-details dt{font-size:var(--text-sm);font-weight:500;font-weight:var(--font-semi);color:var(--color-gray-500);margin-bottom:var(--spacing-1)}.k-file-preview-details :where(dd,a){font-size:var(--text-xs);color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-sm);overflow:hidden}.k-file-preview-focus-info dd{align-items:center;display:flex}.k-file-preview-focus-info .k-button{--button-padding:var(--spacing-2);--button-color-back:var(--color-gray-800)}.k-file-preview[data-has-focus=true] .k-file-preview-focus-info .k-button{flex-direction:row-reverse}@container (width>=36rem){.k-file-preview{grid-template-columns:50% auto}.k-file-preview-thumb-column{aspect-ratio:auto}}@container (width>=65rem){.k-file-preview{grid-template-columns:33.333% auto}.k-file-preview-thumb-column{aspect-ratio:1}}@container (width>=90rem){.k-file-preview-layout{grid-template-columns:25% auto}}.k-login-dialog{--dialog-color-back:var(--color-white);--dialog-shadow:var(--shadow);container-type:inline-size}.k-login-fields{position:relative}.k-login-toggler{top:-2px;z-index:1;color:var(--link-color);padding-inline:var(--spacing-2);text-decoration:underline;text-decoration-color:var(--link-color);text-underline-offset:1px;height:var(--height-xs);border-radius:var(--rounded);line-height:1;position:absolute;inset-inline-end:calc(var(--spacing-2)*-1)}.k-login-form label abbr{visibility:hidden}.k-login-buttons{--button-padding:var(--spacing-3);margin-top:var(--spacing-10);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.k-installation-dialog{--dialog-color-back:var(--color-white);--dialog-shadow:var(--shadow);container-type:inline-size}.k-installation-view .k-button{margin-top:var(--spacing-3);width:100%}.k-installation-view form .k-button{margin-top:var(--spacing-10)}.k-installation-view .k-headline{font-weight:var(--font-semi);margin-top:-.5rem;margin-bottom:.75rem}.k-installation-issues{line-height:1.5em;font-size:var(--text-sm)}.k-installation-issues li{padding:var(--spacing-6);background:var(--color-red-300);border-radius:var(--rounded);padding-inline-start:3.5rem;position:relative}.k-installation-issues .k-icon{top:calc(1.5rem + 2px);color:var(--color-red-700);position:absolute;inset-inline-start:1.5rem}.k-installation-issues li:not(:last-child){margin-bottom:2px}.k-installation-issues li code{font:inherit;color:var(--color-red-700)}.k-password-reset-view .k-user-info{margin-bottom:var(--spacing-8)}.k-user-info{font-size:var(--text-sm);height:var(--height-lg);padding-inline:var(--spacing-2);background:var(--color-white);box-shadow:var(--shadow);align-items:center;gap:.75rem;display:flex}.k-user-info :where(.k-image-frame,.k-icon-frame){border-radius:var(--rounded-sm);width:1.5rem}.k-page-view[data-has-tabs=true] .k-page-view-header{margin-bottom:0}.k-page-view-status{--button-color-back:var(--color-gray-300);--button-color-icon:var(--theme-color-600);--button-color-text:initial}.k-site-view[data-has-tabs=true] .k-site-view-header{margin-bottom:0}.k-system-info .k-stat-label{color:var(--theme,var(--color-black))}.k-table-update-status-cell{align-items:center;height:100%;padding:0 .75rem;display:flex}.k-table-update-status-cell-version,.k-table-update-status-cell-button{font-variant-numeric:tabular-nums}.k-plugin-info{column-gap:var(--spacing-3);padding:var(--button-padding);row-gap:2px;display:grid}.k-plugin-info dt{color:var(--color-gray-400)}.k-plugin-info dd[data-theme]{color:var(--theme-color-600)}@container (width<=30em){.k-plugin-info dd:not(:last-of-type){margin-bottom:var(--spacing-2)}}@container (width>=30em){.k-plugin-info{grid-template-columns:1fr auto;width:20rem}}.k-user-name-placeholder{color:var(--color-gray-500);transition:color .3s}.k-user-view-header[data-editable=true] .k-user-name-placeholder:hover{color:var(--color-gray-900)}.k-user-view-header{border-bottom:0;margin-bottom:0}.k-user-view .k-user-profile{margin-bottom:var(--spacing-12)}.k-user-view[data-has-tabs=true] .k-user-profile{margin-bottom:0}.k-user-view-image{padding:0}.k-user-view-image .k-frame{border-radius:var(--rounded);width:6rem;height:6rem;line-height:0}.k-user-view-image .k-icon-frame{--back:var(--color-black);--icon-color:var(--color-gray-200)}.k-user-profile{--button-height:auto;padding:var(--spacing-2);background:var(--color-white);border-radius:var(--rounded-lg);align-items:center;gap:var(--spacing-3);box-shadow:var(--shadow);display:flex}.k-user-profile .k-button-group{flex-direction:column;align-items:flex-start;display:flex}.k-users-view-header{margin-bottom:0}:root{--color-l-100:98%;--color-l-200:94%;--color-l-300:88%;--color-l-400:80%;--color-l-500:70%;--color-l-600:60%;--color-l-700:45%;--color-l-800:30%;--color-l-900:15%;--color-red-h:0;--color-red-s:80%;--color-red-hs:var(--color-red-h),var(--color-red-s);--color-red-boost:3%;--color-red-l-100:calc(var(--color-l-100) + var(--color-red-boost));--color-red-l-200:calc(var(--color-l-200) + var(--color-red-boost));--color-red-l-300:calc(var(--color-l-300) + var(--color-red-boost));--color-red-l-400:calc(var(--color-l-400) + var(--color-red-boost));--color-red-l-500:calc(var(--color-l-500) + var(--color-red-boost));--color-red-l-600:calc(var(--color-l-600) + var(--color-red-boost));--color-red-l-700:calc(var(--color-l-700) + var(--color-red-boost));--color-red-l-800:calc(var(--color-l-800) + var(--color-red-boost));--color-red-l-900:calc(var(--color-l-900) + var(--color-red-boost));--color-red-100:hsl(var(--color-red-hs),var(--color-red-l-100));--color-red-200:hsl(var(--color-red-hs),var(--color-red-l-200));--color-red-300:hsl(var(--color-red-hs),var(--color-red-l-300));--color-red-400:hsl(var(--color-red-hs),var(--color-red-l-400));--color-red-500:hsl(var(--color-red-hs),var(--color-red-l-500));--color-red-600:hsl(var(--color-red-hs),var(--color-red-l-600));--color-red-700:hsl(var(--color-red-hs),var(--color-red-l-700));--color-red-800:hsl(var(--color-red-hs),var(--color-red-l-800));--color-red-900:hsl(var(--color-red-hs),var(--color-red-l-900));--color-orange-h:28;--color-orange-s:80%;--color-orange-hs:var(--color-orange-h),var(--color-orange-s);--color-orange-boost:2.5%;--color-orange-l-100:calc(var(--color-l-100) + var(--color-orange-boost));--color-orange-l-200:calc(var(--color-l-200) + var(--color-orange-boost));--color-orange-l-300:calc(var(--color-l-300) + var(--color-orange-boost));--color-orange-l-400:calc(var(--color-l-400) + var(--color-orange-boost));--color-orange-l-500:calc(var(--color-l-500) + var(--color-orange-boost));--color-orange-l-600:calc(var(--color-l-600) + var(--color-orange-boost));--color-orange-l-700:calc(var(--color-l-700) + var(--color-orange-boost));--color-orange-l-800:calc(var(--color-l-800) + var(--color-orange-boost));--color-orange-l-900:calc(var(--color-l-900) + var(--color-orange-boost));--color-orange-100:hsl(var(--color-orange-hs),var(--color-orange-l-100));--color-orange-200:hsl(var(--color-orange-hs),var(--color-orange-l-200));--color-orange-300:hsl(var(--color-orange-hs),var(--color-orange-l-300));--color-orange-400:hsl(var(--color-orange-hs),var(--color-orange-l-400));--color-orange-500:hsl(var(--color-orange-hs),var(--color-orange-l-500));--color-orange-600:hsl(var(--color-orange-hs),var(--color-orange-l-600));--color-orange-700:hsl(var(--color-orange-hs),var(--color-orange-l-700));--color-orange-800:hsl(var(--color-orange-hs),var(--color-orange-l-800));--color-orange-900:hsl(var(--color-orange-hs),var(--color-orange-l-900));--color-yellow-h:47;--color-yellow-s:80%;--color-yellow-hs:var(--color-yellow-h),var(--color-yellow-s);--color-yellow-boost:0%;--color-yellow-l-100:calc(var(--color-l-100) + var(--color-yellow-boost));--color-yellow-l-200:calc(var(--color-l-200) + var(--color-yellow-boost));--color-yellow-l-300:calc(var(--color-l-300) + var(--color-yellow-boost));--color-yellow-l-400:calc(var(--color-l-400) + var(--color-yellow-boost));--color-yellow-l-500:calc(var(--color-l-500) + var(--color-yellow-boost));--color-yellow-l-600:calc(var(--color-l-600) + var(--color-yellow-boost));--color-yellow-l-700:calc(var(--color-l-700) + var(--color-yellow-boost));--color-yellow-l-800:calc(var(--color-l-800) + var(--color-yellow-boost));--color-yellow-l-900:calc(var(--color-l-900) + var(--color-yellow-boost));--color-yellow-100:hsl(var(--color-yellow-hs),var(--color-yellow-l-100));--color-yellow-200:hsl(var(--color-yellow-hs),var(--color-yellow-l-200));--color-yellow-300:hsl(var(--color-yellow-hs),var(--color-yellow-l-300));--color-yellow-400:hsl(var(--color-yellow-hs),var(--color-yellow-l-400));--color-yellow-500:hsl(var(--color-yellow-hs),var(--color-yellow-l-500));--color-yellow-600:hsl(var(--color-yellow-hs),var(--color-yellow-l-600));--color-yellow-700:hsl(var(--color-yellow-hs),var(--color-yellow-l-700));--color-yellow-800:hsl(var(--color-yellow-hs),var(--color-yellow-l-800));--color-yellow-900:hsl(var(--color-yellow-hs),var(--color-yellow-l-900));--color-green-h:80;--color-green-s:60%;--color-green-hs:var(--color-green-h),var(--color-green-s);--color-green-boost:-2.5%;--color-green-l-100:calc(var(--color-l-100) + var(--color-green-boost));--color-green-l-200:calc(var(--color-l-200) + var(--color-green-boost));--color-green-l-300:calc(var(--color-l-300) + var(--color-green-boost));--color-green-l-400:calc(var(--color-l-400) + var(--color-green-boost));--color-green-l-500:calc(var(--color-l-500) + var(--color-green-boost));--color-green-l-600:calc(var(--color-l-600) + var(--color-green-boost));--color-green-l-700:calc(var(--color-l-700) + var(--color-green-boost));--color-green-l-800:calc(var(--color-l-800) + var(--color-green-boost));--color-green-l-900:calc(var(--color-l-900) + var(--color-green-boost));--color-green-100:hsl(var(--color-green-hs),var(--color-green-l-100));--color-green-200:hsl(var(--color-green-hs),var(--color-green-l-200));--color-green-300:hsl(var(--color-green-hs),var(--color-green-l-300));--color-green-400:hsl(var(--color-green-hs),var(--color-green-l-400));--color-green-500:hsl(var(--color-green-hs),var(--color-green-l-500));--color-green-600:hsl(var(--color-green-hs),var(--color-green-l-600));--color-green-700:hsl(var(--color-green-hs),var(--color-green-l-700));--color-green-800:hsl(var(--color-green-hs),var(--color-green-l-800));--color-green-900:hsl(var(--color-green-hs),var(--color-green-l-900));--color-aqua-h:180;--color-aqua-s:50%;--color-aqua-hs:var(--color-aqua-h),var(--color-aqua-s);--color-aqua-boost:0%;--color-aqua-l-100:calc(var(--color-l-100) + var(--color-aqua-boost));--color-aqua-l-200:calc(var(--color-l-200) + var(--color-aqua-boost));--color-aqua-l-300:calc(var(--color-l-300) + var(--color-aqua-boost));--color-aqua-l-400:calc(var(--color-l-400) + var(--color-aqua-boost));--color-aqua-l-500:calc(var(--color-l-500) + var(--color-aqua-boost));--color-aqua-l-600:calc(var(--color-l-600) + var(--color-aqua-boost));--color-aqua-l-700:calc(var(--color-l-700) + var(--color-aqua-boost));--color-aqua-l-800:calc(var(--color-l-800) + var(--color-aqua-boost));--color-aqua-l-900:calc(var(--color-l-900) + var(--color-aqua-boost));--color-aqua-100:hsl(var(--color-aqua-hs),var(--color-aqua-l-100));--color-aqua-200:hsl(var(--color-aqua-hs),var(--color-aqua-l-200));--color-aqua-300:hsl(var(--color-aqua-hs),var(--color-aqua-l-300));--color-aqua-400:hsl(var(--color-aqua-hs),var(--color-aqua-l-400));--color-aqua-500:hsl(var(--color-aqua-hs),var(--color-aqua-l-500));--color-aqua-600:hsl(var(--color-aqua-hs),var(--color-aqua-l-600));--color-aqua-700:hsl(var(--color-aqua-hs),var(--color-aqua-l-700));--color-aqua-800:hsl(var(--color-aqua-hs),var(--color-aqua-l-800));--color-aqua-900:hsl(var(--color-aqua-hs),var(--color-aqua-l-900));--color-blue-h:210;--color-blue-s:65%;--color-blue-hs:var(--color-blue-h),var(--color-blue-s);--color-blue-boost:3%;--color-blue-l-100:calc(var(--color-l-100) + var(--color-blue-boost));--color-blue-l-200:calc(var(--color-l-200) + var(--color-blue-boost));--color-blue-l-300:calc(var(--color-l-300) + var(--color-blue-boost));--color-blue-l-400:calc(var(--color-l-400) + var(--color-blue-boost));--color-blue-l-500:calc(var(--color-l-500) + var(--color-blue-boost));--color-blue-l-600:calc(var(--color-l-600) + var(--color-blue-boost));--color-blue-l-700:calc(var(--color-l-700) + var(--color-blue-boost));--color-blue-l-800:calc(var(--color-l-800) + var(--color-blue-boost));--color-blue-l-900:calc(var(--color-l-900) + var(--color-blue-boost));--color-blue-100:hsl(var(--color-blue-hs),var(--color-blue-l-100));--color-blue-200:hsl(var(--color-blue-hs),var(--color-blue-l-200));--color-blue-300:hsl(var(--color-blue-hs),var(--color-blue-l-300));--color-blue-400:hsl(var(--color-blue-hs),var(--color-blue-l-400));--color-blue-500:hsl(var(--color-blue-hs),var(--color-blue-l-500));--color-blue-600:hsl(var(--color-blue-hs),var(--color-blue-l-600));--color-blue-700:hsl(var(--color-blue-hs),var(--color-blue-l-700));--color-blue-800:hsl(var(--color-blue-hs),var(--color-blue-l-800));--color-blue-900:hsl(var(--color-blue-hs),var(--color-blue-l-900));--color-purple-h:275;--color-purple-s:60%;--color-purple-hs:var(--color-purple-h),var(--color-purple-s);--color-purple-boost:0%;--color-purple-l-100:calc(var(--color-l-100) + var(--color-purple-boost));--color-purple-l-200:calc(var(--color-l-200) + var(--color-purple-boost));--color-purple-l-300:calc(var(--color-l-300) + var(--color-purple-boost));--color-purple-l-400:calc(var(--color-l-400) + var(--color-purple-boost));--color-purple-l-500:calc(var(--color-l-500) + var(--color-purple-boost));--color-purple-l-600:calc(var(--color-l-600) + var(--color-purple-boost));--color-purple-l-700:calc(var(--color-l-700) + var(--color-purple-boost));--color-purple-l-800:calc(var(--color-l-800) + var(--color-purple-boost));--color-purple-l-900:calc(var(--color-l-900) + var(--color-purple-boost));--color-purple-100:hsl(var(--color-purple-hs),var(--color-purple-l-100));--color-purple-200:hsl(var(--color-purple-hs),var(--color-purple-l-200));--color-purple-300:hsl(var(--color-purple-hs),var(--color-purple-l-300));--color-purple-400:hsl(var(--color-purple-hs),var(--color-purple-l-400));--color-purple-500:hsl(var(--color-purple-hs),var(--color-purple-l-500));--color-purple-600:hsl(var(--color-purple-hs),var(--color-purple-l-600));--color-purple-700:hsl(var(--color-purple-hs),var(--color-purple-l-700));--color-purple-800:hsl(var(--color-purple-hs),var(--color-purple-l-800));--color-purple-900:hsl(var(--color-purple-hs),var(--color-purple-l-900));--color-pink-h:320;--color-pink-s:70%;--color-pink-hs:var(--color-pink-h),var(--color-pink-s);--color-pink-boost:0%;--color-pink-l-100:calc(var(--color-l-100) + var(--color-pink-boost));--color-pink-l-200:calc(var(--color-l-200) + var(--color-pink-boost));--color-pink-l-300:calc(var(--color-l-300) + var(--color-pink-boost));--color-pink-l-400:calc(var(--color-l-400) + var(--color-pink-boost));--color-pink-l-500:calc(var(--color-l-500) + var(--color-pink-boost));--color-pink-l-600:calc(var(--color-l-600) + var(--color-pink-boost));--color-pink-l-700:calc(var(--color-l-700) + var(--color-pink-boost));--color-pink-l-800:calc(var(--color-l-800) + var(--color-pink-boost));--color-pink-l-900:calc(var(--color-l-900) + var(--color-pink-boost));--color-pink-100:hsl(var(--color-pink-hs),var(--color-pink-l-100));--color-pink-200:hsl(var(--color-pink-hs),var(--color-pink-l-200));--color-pink-300:hsl(var(--color-pink-hs),var(--color-pink-l-300));--color-pink-400:hsl(var(--color-pink-hs),var(--color-pink-l-400));--color-pink-500:hsl(var(--color-pink-hs),var(--color-pink-l-500));--color-pink-600:hsl(var(--color-pink-hs),var(--color-pink-l-600));--color-pink-700:hsl(var(--color-pink-hs),var(--color-pink-l-700));--color-pink-800:hsl(var(--color-pink-hs),var(--color-pink-l-800));--color-pink-900:hsl(var(--color-pink-hs),var(--color-pink-l-900));--color-gray-h:0;--color-gray-s:0%;--color-gray-hs:var(--color-gray-h),var(--color-gray-s);--color-gray-boost:0%;--color-gray-l-100:calc(var(--color-l-100) + var(--color-gray-boost));--color-gray-l-200:calc(var(--color-l-200) + var(--color-gray-boost));--color-gray-l-300:calc(var(--color-l-300) + var(--color-gray-boost));--color-gray-l-400:calc(var(--color-l-400) + var(--color-gray-boost));--color-gray-l-500:calc(var(--color-l-500) + var(--color-gray-boost));--color-gray-l-600:calc(var(--color-l-600) + var(--color-gray-boost));--color-gray-l-700:calc(var(--color-l-700) + var(--color-gray-boost));--color-gray-l-800:calc(var(--color-l-800) + var(--color-gray-boost));--color-gray-l-900:calc(var(--color-l-900) + var(--color-gray-boost));--color-gray-100:hsl(var(--color-gray-hs),var(--color-gray-l-100));--color-gray-200:hsl(var(--color-gray-hs),var(--color-gray-l-200));--color-gray-250:#e8e8e8;--color-gray-300:hsl(var(--color-gray-hs),var(--color-gray-l-300));--color-gray-400:hsl(var(--color-gray-hs),var(--color-gray-l-400));--color-gray-500:hsl(var(--color-gray-hs),var(--color-gray-l-500));--color-gray-600:hsl(var(--color-gray-hs),var(--color-gray-l-600));--color-gray-700:hsl(var(--color-gray-hs),var(--color-gray-l-700));--color-gray-800:hsl(var(--color-gray-hs),var(--color-gray-l-800));--color-gray-900:hsl(var(--color-gray-hs),var(--color-gray-l-900));--color-backdrop:#0009;--color-black:black;--color-border:var(--color-gray-300);--color-dark:var(--color-gray-900);--color-focus:var(--color-blue-600);--color-light:var(--color-gray-200);--color-text:var(--color-black);--color-text-dimmed:var(--color-gray-700);--color-white:white;--color-background:var(--color-light);--color-gray:var(--color-gray-600);--color-red:var(--color-red-600);--color-orange:var(--color-orange-600);--color-yellow:var(--color-yellow-600);--color-green:var(--color-green-600);--color-aqua:var(--color-aqua-600);--color-blue:var(--color-blue-600);--color-purple:var(--color-purple-600);--color-focus-light:var(--color-focus);--color-focus-outline:var(--color-focus);--color-negative:var(--color-red-700);--color-negative-light:var(--color-red-500);--color-negative-outline:var(--color-red-900);--color-notice:var(--color-orange-700);--color-notice-light:var(--color-orange-500);--color-positive:var(--color-green-700);--color-positive-light:var(--color-green-500);--color-positive-outline:var(--color-green-900);--color-text-light:var(--color-text-dimmed);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-mono:"SFMono-Regular",Consolas,Liberation Mono,Menlo,Courier,monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2.5rem;--text-5xl:3rem;--text-6xl:4rem;--text-base:var(--text-md);--font-size-tiny:var(--text-xs);--font-size-small:var(--text-sm);--font-size-medium:var(--text-base);--font-size-large:var(--text-xl);--font-size-huge:var(--text-2xl);--font-size-monster:var(--text-3xl);--font-thin:300;--font-normal:400;--font-semi:500;--font-bold:600;--height-xs:1.5rem;--height-sm:1.75rem;--height-md:2rem;--height-lg:2.25rem;--height-xl:2.5rem;--height:var(--height-md);--opacity-disabled:.5;--rounded-xs:1px;--rounded-sm:.125rem;--rounded-md:.25rem;--rounded-lg:.375rem;--rounded-xl:.5rem;--rounded:var(--rounded-md);--shadow-sm:0 1px 3px 0 #0000000d,0 1px 2px 0 #00000006;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000d;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000d;--shadow:var(--shadow-sm);--shadow-toolbar:#0000001a -2px 0 5px,var(--shadow),var(--shadow-xl);--shadow-outline:var(--color-focus,currentColor)0 0 0 2px;--shadow-inset:inset 0 2px 4px 0 #0000000f;--shadow-sticky:#0000000d 0 2px 5px;--box-shadow-dropdown:var(--shadow-dropdown);--box-shadow-item:var(--shadow);--box-shadow-focus:var(--shadow-xl);--shadow-dropdown:var(--shadow-lg);--shadow-item:var(--shadow-sm);--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-24:6rem;--spacing-36:9rem;--spacing-48:12rem;--spacing-px:1px;--spacing-2px:2px;--spacing-5:1.25rem;--spacing-10:2.5rem;--spacing-20:5rem;--z-offline:1200;--z-fatal:1100;--z-loader:1000;--z-notification:900;--z-dialog:800;--z-navigation:700;--z-dropdown:600;--z-drawer:500;--z-dropzone:400;--z-toolbar:300;--z-content:200;--z-background:100;--pattern-size:16px;--pattern-light:repeating-conic-gradient(#fff 0% 25%,#e6e6e6 0% 50%)50%/var(--pattern-size)var(--pattern-size);--pattern-dark:repeating-conic-gradient(#262626 0% 25%,#383838 0% 50%)50%/var(--pattern-size)var(--pattern-size);--pattern:var(--pattern-dark)}:root{--container:80rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--field-input-padding:var(--input-padding);--field-input-height:var(--input-height);--field-input-line-height:var(--input-leading);--field-input-font-size:var(--input-font-size);--bg-pattern:var(--pattern)}:root{--choice-color-back:var(--color-white);--choice-color-border:var(--color-gray-500);--choice-color-checked:var(--color-black);--choice-color-disabled:var(--color-gray-400);--choice-color-icon:var(--color-light);--choice-color-info:var(--color-text-dimmed);--choice-color-text:var(--color-text);--choice-color-toggle:var(--choice-color-disabled);--choice-height:1rem;--choice-rounded:var(--rounded-sm)}input:where([type=checkbox],[type=radio]){cursor:pointer;height:var(--choice-height);aspect-ratio:1;border:1px solid var(--choice-color-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--choice-rounded);background:var(--choice-color-back);box-shadow:var(--shadow-sm);flex-shrink:0;position:relative;overflow:hidden}input:where([type=checkbox],[type=radio]):after{content:"";text-align:center;place-items:center;display:none;position:absolute}input:where([type=checkbox],[type=radio]):focus{outline:var(--outline);outline-offset:-1px;color:var(--color-focus)}input:where([type=checkbox]):checked{border-color:var(--choice-color-checked)}input:where([type=checkbox],[type=radio]):checked:after{background:var(--choice-color-checked);display:grid}input:where([type=checkbox],[type=radio]):checked:focus{--choice-color-checked:var(--color-focus)}input:where([type=checkbox],[type=radio])[disabled]{--choice-color-back:none;--choice-color-border:var(--color-gray-300);--choice-color-checked:var(--choice-color-disabled);box-shadow:none;cursor:not-allowed}input[type=checkbox]:checked:after{content:"✓";color:var(--choice-color-icon);font-weight:700;line-height:1;inset:0}input[type=radio]{--choice-rounded:50%}input[type=radio]:after{border-radius:var(--choice-rounded);font-size:9px;inset:3px}input[type=checkbox][data-variant=toggle]{--choice-rounded:var(--choice-height);aspect-ratio:2}input[type=checkbox][data-variant=toggle]:after{background:var(--choice-color-toggle);border-radius:var(--choice-rounded);width:.8rem;font-size:7px;transition:margin-inline-start 75ms ease-in-out,background .1s ease-in-out;display:grid;inset:1px}input[type=checkbox][data-variant=toggle]:checked{border-color:var(--choice-color-border)}input[type=checkbox][data-variant=toggle]:checked:after{background:var(--choice-color-checked);margin-inline-start:50%}:root{--range-thumb-color:var(--color-white);--range-thumb-focus-outline:var(--outline);--range-thumb-size:1rem;--range-thumb-shadow:#0000001a 0 2px 4px 2px,#00000020 0 0 0 1px;--range-track-back:var(--color-gray-250);--range-track-height:var(--range-thumb-size)}:where(input[type=range]){-webkit-appearance:none;-moz-appearance:none;appearance:none;height:var(--range-thumb-size);border-radius:var(--range-track-size);align-items:center;width:100%;padding:0;display:flex}:where(input[type=range])::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-color);box-shadow:var(--range-thumb-shadow);margin-top:calc(((var(--range-thumb-size) - var(--range-track-height))/2)*-1);z-index:1;cursor:grab;border:0;border-radius:50%;transform:translate(0)}:where(input[type=range])::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-color);box-shadow:var(--range-thumb-shadow);z-index:1;cursor:grab;border:0;border-radius:50%;transform:translate(0)}:where(input[type=range])::-webkit-slider-thumb:active{cursor:grabbing}:where(input[type=range])::-moz-range-thumb:active{cursor:grabbing}:where(input[type=range])::-webkit-slider-runnable-track{background:var(--range-track-back);height:var(--range-track-height);border-radius:var(--range-track-height)}:where(input[type=range])::-moz-range-track{background:var(--range-track-back);height:var(--range-track-height);border-radius:var(--range-track-height)}:where(input[type=range][disabled]){--range-thumb-color:#fff3}:where(input[type=range][disabled])::-webkit-slider-thumb{cursor:not-allowed}:where(input[type=range][disabled])::-moz-range-thumb{cursor:not-allowed}:where(input[type=range]):focus{outline:var(--outline)}:where(input[type=range]):focus::-webkit-slider-thumb{outline:var(--range-thumb-focus-outline)}:where(input[type=range]):focus::-moz-range-thumb{outline:var(--range-thumb-focus-outline)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:where(b,strong){font-weight:var(--font-bold,600)}:where([hidden]){display:none!important}:where(abbr){text-decoration:none}:where(input,button,textarea,select){font:inherit;line-height:inherit;color:inherit;background:0 0;border:0}:where(fieldset){border:0}:where(legend){float:left;width:100%}:where(legend+*){clear:both}:where(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-white);color:var(--color-black);cursor:pointer}:where(textarea,select,input:not([type=checkbox],[type=radio],[type=reset],[type=submit])){font-variant-numeric:tabular-nums;width:100%}:where(textarea){resize:vertical;line-height:1.5}:where(input)::-webkit-calendar-picker-indicator{display:none}:where(input[type=search]){-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(input)::-webkit-search-cancel-button{display:none}:where(button,label,select,summary,[role=button],[role=option]){cursor:pointer}:where(select[multiple]) option{align-items:center;display:flex}:where(input:autofill){-webkit-background-clip:text;-webkit-text-fill-color:var(--input-color-text)!important}:where(:disabled){cursor:not-allowed}::placeholder{color:var(--input-color-placeholder);opacity:1}:where(a){color:currentColor;text-underline-offset:.2ex;text-decoration:none}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(iframe){border:0}:where(img,picture,svg){block-size:auto;max-inline-size:100%}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3,h4,h5,h6){font:inherit}:where(:focus,:focus-visible,:focus-within){outline-color:var(--color-focus,currentColor);outline-offset:0}:where(:focus-visible){outline:var(--outline,2px solid var(--color-focus,currentColor))}:where(:invalid){box-shadow:none;outline:0}:where(dialog){border:0;max-width:none;max-height:none}:where(hr){border:0}:where(table){font:inherit;border-spacing:0;font-variant-numeric:tabular-nums;width:100%}:where(table th){font:inherit;text-align:start}:where(svg){fill:currentColor}body{font-family:var(--font-sans,sans-serif);font-size:var(--text-sm);accent-color:var(--color-focus,currentColor);line-height:1;position:relative}:where(sup,sub){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where(sup){top:-.5em}:where(sub){bottom:-.25em}:where(mark){background:var(--color-yellow-300)}:where(kbd){padding-inline:var(--spacing-2);border-radius:var(--rounded);background:var(--color-white);box-shadow:var(--shadow);display:inline-block}[data-align=left]{--align:start}[data-align=center]{--align:center}[data-align=right]{--align:end}@keyframes LoadingCursor{to{cursor:progress}}@keyframes Spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-theme]{--theme-color-h:0;--theme-color-s:0%;--theme-color-hs:var(--theme-color-h),var(--theme-color-s);--theme-color-boost:3%;--theme-color-l-100:calc(var(--color-l-100) + var(--theme-color-boost));--theme-color-l-200:calc(var(--color-l-200) + var(--theme-color-boost));--theme-color-l-300:calc(var(--color-l-300) + var(--theme-color-boost));--theme-color-l-400:calc(var(--color-l-400) + var(--theme-color-boost));--theme-color-l-500:calc(var(--color-l-500) + var(--theme-color-boost));--theme-color-l-600:calc(var(--color-l-600) + var(--theme-color-boost));--theme-color-l-700:calc(var(--color-l-700) + var(--theme-color-boost));--theme-color-l-800:calc(var(--color-l-800) + var(--theme-color-boost));--theme-color-l-900:calc(var(--color-l-900) + var(--theme-color-boost));--theme-color-100:hsl(var(--theme-color-hs),var(--theme-color-l-100));--theme-color-200:hsl(var(--theme-color-hs),var(--theme-color-l-200));--theme-color-300:hsl(var(--theme-color-hs),var(--theme-color-l-300));--theme-color-400:hsl(var(--theme-color-hs),var(--theme-color-l-400));--theme-color-500:hsl(var(--theme-color-hs),var(--theme-color-l-500));--theme-color-600:hsl(var(--theme-color-hs),var(--theme-color-l-600));--theme-color-700:hsl(var(--theme-color-hs),var(--theme-color-l-700));--theme-color-800:hsl(var(--theme-color-hs),var(--theme-color-l-800));--theme-color-900:hsl(var(--theme-color-hs),var(--theme-color-l-900));--theme-color-text:var(--theme-color-900);--theme-color-text-dimmed:var(--theme-color-700);--theme-color-back:var(--theme-color-400);--theme-color-hover:var(--theme-color-500);--theme-color-icon:var(--theme-color-600)}[data-theme=error],[data-theme=negative]{--theme-color-h:var(--color-red-h);--theme-color-s:var(--color-red-s);--theme-color-boost:var(--color-red-boost)}[data-theme=notice]{--theme-color-h:var(--color-orange-h);--theme-color-s:var(--color-orange-s);--theme-color-boost:var(--color-orange-boost)}[data-theme=warning]{--theme-color-h:var(--color-yellow-h);--theme-color-s:var(--color-yellow-s);--theme-color-boost:var(--color-yellow-boost)}[data-theme=info]{--theme-color-h:var(--color-blue-h);--theme-color-s:var(--color-blue-s);--theme-color-boost:var(--color-blue-boost)}[data-theme=positive]{--theme-color-h:var(--color-green-h);--theme-color-s:var(--color-green-s);--theme-color-boost:var(--color-green-boost)}[data-theme=passive]{--theme-color-h:var(--color-gray-h);--theme-color-s:var(--color-gray-s);--theme-color-boost:10%}[data-theme=white],[data-theme=text]{--theme-color-back:var(--color-white);--theme-color-icon:var(--color-gray-800);--theme-color-text:var(--color-text);--color-h:var(--color-black)}[data-theme=dark]{--theme-color-h:var(--color-gray-h);--theme-color-s:var(--color-gray-s);--theme-color-boost:var(--color-gray-boost);--theme-color-back:var(--color-gray-800);--theme-color-icon:var(--color-gray-500);--theme-color-text:var(--color-gray-200)}[data-theme=code]{--theme-color-back:var(--code-color-back);--theme-color-hover:var(--color-black);--theme-color-icon:var(--code-color-icon);--theme-color-text:var(--code-color-text);font-family:var(--code-font-family);font-size:var(--code-font-size)}[data-theme=empty]{--theme-color-back:var(--color-light);--theme-color-border:var(--color-gray-400);--theme-color-icon:var(--color-gray-600);--theme-color-text:var(--color-text-dimmed);border:1px dashed var(--theme-color-border)}[data-theme=none]{--theme-color-back:transparent;--theme-color-border:transparent;--theme-color-icon:var(--color-text);--theme-color-text:var(--color-text)}[data-theme]{--theme:var(--theme-color-700);--theme-light:var(--theme-color-500);--theme-bg:var(--theme-color-500)}:root{--outline:2px solid var(--color-focus,currentColor)}.scroll-x,.scroll-x-auto,.scroll-y,.scroll-y-auto{-webkit-overflow-scrolling:touch;transform:translate(0)}.scroll-x{overflow:scroll hidden}.scroll-x-auto{overflow:auto hidden}.scroll-y{overflow:hidden scroll}.scroll-y-auto{overflow:hidden auto}.input-hidden{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;width:0;height:0;position:absolute}.k-lab-index-view>.k-header{margin-bottom:0}.k-lab-index-view>.k-box{margin-bottom:var(--spacing-8)}.k-lab-index-view .k-list-items{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}.k-lab-example{outline-offset:-2px;border-radius:var(--rounded);border:1px solid var(--color-gray-300);max-width:100%;position:relative;container-type:inline-size}.k-lab-example+.k-lab-example{margin-top:var(--spacing-12)}.k-lab-example-header{height:var(--height-md);padding-block:var(--spacing-3);padding-inline:var(--spacing-2);border-bottom:1px solid var(--color-gray-300);justify-content:space-between;align-items:center;display:flex}.k-lab-example-label{color:var(--color-text-dimmed);font-size:12px}.k-lab-example-canvas,.k-lab-example-code{padding:var(--spacing-16)}.k-lab-example[data-flex] .k-lab-example-canvas{align-items:center;gap:var(--spacing-6);display:flex}.k-lab-example-inspector{--icon-size:13px;--button-color-icon:var(--color-gray-500)}.k-lab-example-inspector .k-button:not([data-theme]):hover{--button-color-icon:var(--color-gray-600)}.k-lab-example-inspector .k-button:where([data-theme]){--button-color-icon:var(--color-gray-800)}.k-lab-examples>:where(.k-text,.k-box){margin-bottom:var(--spacing-6)}.k-lab-form>footer{border-top:1px dashed var(--color-border);padding-top:var(--spacing-6)}.k-lab-input-examples :not([type=checkbox],[type=radio]):invalid{outline:2px solid var(--color-red-600)!important}.k-lab-options-input-examples fieldset:invalid,.k-lab-options-input-examples :not([type=checkbox],[type=radio]):invalid{outline:2px solid var(--color-red-600)}.k-lab-playground-view[data-has-tabs=true] .k-header{margin-bottom:0}.k-lab-docs-deprecated .k-box{box-shadow:var(--shadow)}.k-lab-docs-examples .k-code+.k-code{margin-top:var(--spacing-4)}.k-lab-docs-prop-values{font-size:var(--text-xs);border-left:2px solid var(--color-blue-300);padding-inline-start:var(--spacing-2)}.k-lab-docs-prop-values dl{font-weight:var(--font-bold)}.k-lab-docs-prop-values dl+dl{margin-top:var(--spacing-2)}.k-lab-docs-prop-values dd{gap:var(--spacing-1);flex-wrap:wrap;display:inline-flex}.k-lab-docs-desc-header{justify-content:space-between;align-items:center;display:flex}.k-table .k-lab-docs-deprecated{--box-height:var(--height-xs);--text-font-size:var(--text-xs)}.k-labs-docs-params li{margin-inline-start:var(--spacing-3);list-style:square}.k-labs-docs-params .k-lab-docs-types{margin-inline:1ch}.k-lab-docs-types{gap:var(--spacing-1);flex-wrap:wrap;display:inline-flex}.k-lab-docs-types.k-text code{color:var(--color-gray-800);outline-color:var(--color-gray-400);background:var(--color-gray-300)}.k-lab-docs-types code:is([data-type=boolean],[data-type=Boolean]){color:var(--color-purple-800);outline-color:var(--color-purple-400);background:var(--color-purple-300)}.k-lab-docs-types code:is([data-type=string],[data-type=String]){color:var(--color-green-800);outline-color:var(--color-green-500);background:var(--color-green-300)}.k-lab-docs-types code:is([data-type=number],[data-type=Number]){color:var(--color-orange-800);outline-color:var(--color-orange-500);background:var(--color-orange-300)}.k-lab-docs-types code:is([data-type=array],[data-type=Array]){color:var(--color-aqua-800);outline-color:var(--color-aqua-500);background:var(--color-aqua-300)}.k-lab-docs-types code:is([data-type=object],[data-type=Object]){color:var(--color-yellow-800);outline-color:var(--color-yellow-500);background:var(--color-yellow-300)}.k-lab-docs-types code[data-type=func]{color:var(--color-pink-800);outline-color:var(--color-pink-400);background:var(--color-pink-300)}.k-lab-docs-section+.k-lab-docs-section{margin-top:var(--spacing-12)}.k-lab-docs-section .k-headline{margin-bottom:var(--spacing-3)}.k-lab-docs-section .k-table td{padding:.375rem var(--table-cell-padding);vertical-align:top;word-break:break-word;line-height:1.5}.k-lab-docs-description :where(.k-text,.k-box)+:where(.k-text,.k-box){margin-top:var(--spacing-3)}.k-lab-docs-required{vertical-align:super;color:var(--color-red-600);margin-inline-start:var(--spacing-1);font-size:.7rem}.k-lab-docs-since{margin-top:var(--spacing-1);font-size:var(--text-xs);color:var(--color-gray-600)}.token.punctuation,.token.comment,.token.doctype{color:var(--color-gray-500)}.token.tag,.token.markup,.token.variable,.token.this,.token.selector,.token.key,.token.kirbytag-bracket,.token.prolog,.token.delimiter{color:var(--color-red-500)}.token.constant,.token.number,.token.boolean,.token.boolean.important,.token.attr-name,.token.kirbytag-attr,.token.kirbytag-name,.token.entity,.token.bold,.token.bold>.punctuation{color:var(--color-orange-500)}.token.keyword,.token.italic,.token.italic>.punctuation{color:var(--color-purple-500)}.token.function{color:var(--color-blue-500)}.token.operator,.token.title{color:var(--color-aqua-500)}.token.string,.token.attr-value,.token.attr-value .punctuation,.token.list.punctuation{color:var(--color-green-500)}.token.scope,.token.class-name,.token.property,.token.url{color:var(--color-yellow-500)}.token.title,.token.kirbytag-bracket,.token.list.punctuation,.token.bold{font-weight:var(--font-bold)}.token.title .punctuation{color:var(--color-gray-500)}.token.italic{font-style:italic} diff --git a/panel/dist/js/Highlight.min.js b/panel/dist/js/Highlight.min.js index bc6254c838..b6f6ca5007 100644 --- a/panel/dist/js/Highlight.min.js +++ b/panel/dist/js/Highlight.min.js @@ -1 +1 @@ -import{J as e,K as t}from"./vendor.min.js";import{n as a}from"./index.min.js";var n,r,i={exports:{}};n=i,r=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,a=0,n={},r={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof i?new i(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);F+=w.value.length,w=w.next){var A=w.value;if(t.length>e.length)return;if(!(A instanceof i)){var $,P=1;if(y){if(!($=s(x,F,e,h))||$.index>=e.length)break;var _=$.index,z=$.index+$[0].length,S=F;for(S+=w.value.length;_>=S;)S+=(w=w.next).value.length;if(F=S-=w.value.length,w.value instanceof i)continue;for(var j=w;j!==t.tail&&(S<\/p><\/li><\/ul>)$/,"
<\/p><\/li>)/,"
<\/p>)$/,""),i[1]=i[1].replace(/^(
<\/p>)/,"")),this.$emit("split",i.map((t=>({text:t})))))}}},(function(){var t=this;return(0,t._self._c)(t.component,t._b({ref:"input",tag:"component",staticClass:"k-block-type-text-input",attrs:{keys:t.keys,value:t.content.text},on:{input:function(e){return t.update({text:e})}}},"component",t.textField,!1))}),[],!1,null,null,null,null).exports,ki=Object.freeze(Object.defineProperty({__proto__:null,default:gi},Symbol.toStringTag,{value:"Module"}));const bi=at({computed:{captionMarks(){return this.field("caption",{marks:!0}).marks},video(){return this.$helper.embed.video(this.content.url??"",!0)}}},(function(){var t=this,e=t._self._c;return e("k-block-figure",{attrs:{caption:t.content.caption,"caption-marks":t.captionMarks,"empty-text":t.$t("field.blocks.video.placeholder")+" …","is-empty":!t.video,"empty-icon":"video"},on:{open:t.open,update:t.update}},[e("k-frame",{attrs:{ratio:"16/9"}},[t.video?e("iframe",{attrs:{src:t.video,referrerpolicy:"strict-origin-when-cross-origin"}}):t._e()])],1)}),[],!1,null,null,null,null).exports,vi=Object.freeze(Object.defineProperty({__proto__:null,default:bi},Symbol.toStringTag,{value:"Module"}));const yi=at({inheritAttrs:!1,props:{attrs:{default:()=>({}),type:[Array,Object]},content:{default:()=>({}),type:[Array,Object]},endpoints:{default:()=>({}),type:[Array,Object]},fieldset:{default:()=>({}),type:Object},id:String,isBatched:Boolean,isFull:Boolean,isHidden:Boolean,isLastSelected:Boolean,isMergable:Boolean,isSelected:Boolean,name:String,next:Object,prev:Object,type:String},emits:["append","chooseToAppend","chooseToConvert","chooseToPrepend","close","copy","duplicate","focus","hide","merge","open","paste","prepend","remove","selectDown","selectUp","show","sortDown","sortUp","split","submit","update"],computed:{className(){let t=["k-block-type-"+this.type];return this.fieldset.preview!==this.type&&t.push("k-block-type-"+this.fieldset.preview),!1===this.wysiwyg&&t.push("k-block-type-default"),t},containerType(){const t=this.fieldset.preview;return!1!==t&&(t&&this.$helper.isComponent("k-block-type-"+t)?t:!!this.$helper.isComponent("k-block-type-"+this.type)&&this.type)},customComponent(){return this.wysiwyg?this.wysiwygComponent:"k-block-type-default"},isEditable(){return!1!==this.fieldset.editable},listeners(){return{append:t=>this.$emit("append",t),chooseToAppend:t=>this.$emit("chooseToAppend",t),chooseToConvert:t=>this.$emit("chooseToConvert",t),chooseToPrepend:t=>this.$emit("chooseToPrepend",t),close:()=>this.$emit("close"),copy:()=>this.$emit("copy"),duplicate:()=>this.$emit("duplicate"),focus:()=>this.$emit("focus"),hide:()=>this.$emit("hide"),merge:()=>this.$emit("merge"),open:t=>this.open(t),paste:()=>this.$emit("paste"),prepend:t=>this.$emit("prepend",t),remove:()=>this.remove(),removeSelected:()=>this.$emit("removeSelected"),show:()=>this.$emit("show"),sortDown:()=>this.$emit("sortDown"),sortUp:()=>this.$emit("sortUp"),split:t=>this.$emit("split",t),update:t=>this.$emit("update",t)}},tabs(){const t=this.fieldset.tabs??{};for(const[e,i]of Object.entries(t))for(const[n]of Object.entries(i.fields??{}))t[e].fields[n].section=this.name,t[e].fields[n].endpoints={field:this.endpoints.field+"/fieldsets/"+this.type+"/fields/"+n,section:this.endpoints.section,model:this.endpoints.model};return t},wysiwyg(){return!1!==this.wysiwygComponent},wysiwygComponent(){return!!this.containerType&&"k-block-type-"+this.containerType}},methods:{backspace(t){if(t.target.matches("[contenteditable], input, textarea"))return!1;t.preventDefault(),this.remove()},close(){this.$panel.drawer.close(this.id)},focus(){var t,e;"function"==typeof(null==(t=this.$refs.editor)?void 0:t.focus)?this.$refs.editor.focus():null==(e=this.$refs.container)||e.focus()},goTo(t){var e;t&&(null==(e=t.$refs.container)||e.focus(),t.open(null,!0))},isSplitable(){var t;return!0!==this.isFull&&(!!this.$refs.editor&&((this.$refs.editor.isSplitable??!0)&&"function"==typeof(null==(t=this.$refs.editor)?void 0:t.split)))},onClose(){this.$emit("close"),this.focus()},onFocusIn(t){var e,i;(null==(i=null==(e=this.$refs.options)?void 0:e.$el)?void 0:i.contains(t.target))||this.$emit("focus",t)},onInput(t){this.$emit("update",t)},open(t,e=!1){this.isEditable&&!this.isBatched&&(this.$panel.drawer.open({component:"k-block-drawer",id:this.id,tab:t,on:{close:this.onClose,input:this.onInput,next:()=>this.goTo(this.next),prev:()=>this.goTo(this.prev),remove:this.remove,show:this.show,submit:this.submit},props:{hidden:this.isHidden,icon:this.fieldset.icon??"box",next:this.next,prev:this.prev,tabs:this.tabs,title:this.fieldset.name,value:this.content},replace:e}),this.$emit("open"))},remove(){if(this.isBatched)return this.$emit("removeSelected");this.$panel.dialog.open({component:"k-remove-dialog",props:{text:this.$t("field.blocks.delete.confirm")},on:{submit:()=>{this.$panel.dialog.close(),this.close(),this.$emit("remove",this.id)}}})},show(){this.$emit("show")},submit(){this.close(),this.$emit("submit")}}},(function(){var t=this,e=t._self._c;return e("div",{ref:"container",staticClass:"k-block-container",class:["k-block-container-fieldset-"+t.type,t.containerType?"k-block-container-type-"+t.containerType:""],attrs:{"data-batched":t.isBatched,"data-disabled":t.fieldset.disabled,"data-hidden":t.isHidden,"data-id":t.id,"data-last-selected":t.isLastSelected,"data-selected":t.isSelected,"data-translate":t.fieldset.translate,tabindex:"0"},on:{keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"j",void 0,e.key,void 0)?null:e.ctrlKey?(e.preventDefault(),e.stopPropagation(),t.$emit("merge")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:e.ctrlKey&&e.altKey?(e.preventDefault(),e.stopPropagation(),t.$emit("selectDown")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:e.ctrlKey&&e.altKey?(e.preventDefault(),e.stopPropagation(),t.$emit("selectUp")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:e.ctrlKey&&e.shiftKey?(e.preventDefault(),e.stopPropagation(),t.$emit("sortDown")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:e.ctrlKey&&e.shiftKey?(e.preventDefault(),e.stopPropagation(),t.$emit("sortUp")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"backspace",void 0,e.key,void 0)?null:e.ctrlKey?(e.stopPropagation(),t.backspace.apply(null,arguments)):null}],focus:function(e){return e.stopPropagation(),t.$emit("focus")},focusin:function(e){return e.stopPropagation(),t.onFocusIn.apply(null,arguments)}}},[e("div",{staticClass:"k-block",class:t.className},[e(t.customComponent,t._g(t._b({ref:"editor",tag:"component",attrs:{tabs:t.tabs}},"component",t.$props,!1),t.listeners))],1),e("k-block-options",t._g({ref:"options",attrs:{"is-batched":t.isBatched,"is-editable":t.isEditable,"is-full":t.isFull,"is-hidden":t.isHidden,"is-mergable":t.isMergable,"is-splitable":t.isSplitable()}},{...t.listeners,split:()=>t.$refs.editor.split(),open:()=>{"function"==typeof t.$refs.editor.open?t.$refs.editor.open():t.open()}}))],1)}),[],!1,null,null,null,null).exports;const $i=at({inheritAttrs:!1,props:{autofocus:Boolean,disabled:Boolean,empty:String,endpoints:Object,fieldsets:Object,fieldsetGroups:Object,group:String,max:{type:Number,default:null},value:{type:Array,default:()=>[]}},data(){return{blocks:this.value??[],isEditing:!1,isMultiSelectKey:!1,selected:[]}},computed:{draggableOptions(){return{id:this._uid,handle:".k-sort-handle",list:this.blocks,move:this.move,delay:10,data:{fieldsets:this.fieldsets,isFull:this.isFull},options:{group:this.group}}},hasFieldsets(){return this.$helper.object.length(this.fieldsets)>0},isEmpty(){return 0===this.blocks.length},isFull(){return null!==this.max&&this.blocks.length>=this.max},isMergable(){if(this.selected.length<2)return!1;const t=this.selected.map((t=>this.find(t)));return!(new Set(t.map((t=>t.type))).size>1)&&"function"==typeof this.ref(t[0]).$refs.editor.merge}},watch:{value(){this.blocks=this.value}},created(){this.$events.on("blur",this.onBlur),this.$events.on("click",this.onClickGlobal),this.$events.on("copy",this.onCopy),this.$events.on("keydown",this.onKey),this.$events.on("keyup",this.onKey),this.$events.on("paste",this.onPaste)},destroyed(){this.$events.off("blur",this.onBlur),this.$events.off("click",this.onClickGlobal),this.$events.off("copy",this.onCopy),this.$events.off("keydown",this.onKey),this.$events.off("keyup",this.onKey),this.$events.off("paste",this.onPaste)},mounted(){!0===this.$props.autofocus&&setTimeout(this.focus,100)},methods:{async add(t="text",e){const i=await this.$api.get(this.endpoints.field+"/fieldsets/"+t);this.blocks.splice(e,0,i),this.save(),await this.$nextTick(),this.focusOrOpen(i)},choose(t){if(1===this.$helper.object.length(this.fieldsets))return this.add(Object.values(this.fieldsets)[0].type,t);this.$panel.dialog.open({component:"k-block-selector",props:{fieldsetGroups:this.fieldsetGroups,fieldsets:this.fieldsets},on:{submit:e=>{this.add(e,t),this.$panel.dialog.close()},paste:e=>{this.paste(e,t)}}})},chooseToConvert(t){this.$panel.dialog.open({component:"k-block-selector",props:{disabledFieldsets:[t.type],fieldsetGroups:this.fieldsetGroups,fieldsets:this.fieldsets,headline:this.$t("field.blocks.changeType")},on:{submit:e=>{this.convert(e,t),this.$panel.dialog.close()},paste:this.paste}})},copy(t){if(0===this.blocks.length)return!1;if(0===this.selected.length)return!1;let e=[];for(const i of this.blocks)this.selected.includes(i.id)&&e.push(i);if(0===e.length)return!1;this.$helper.clipboard.write(e,t),this.selected=e.map((t=>t.id)),this.$panel.notification.success({message:this.$t("copy.success",{count:e.length}),icon:"template"})},copyAll(){this.selectAll(),this.copy(),this.deselectAll()},async convert(t,e){var i;const n=this.findIndex(e.id);if(-1===n)return!1;const s=t=>{let e={};for(const i of Object.values((null==t?void 0:t.tabs)??{}))e={...e,...i.fields};return e},o=this.blocks[n],l=await this.$api.get(this.endpoints.field+"/fieldsets/"+t),r=this.fieldsets[o.type],a=this.fieldsets[t];if(!a)return!1;let u=l.content;const c=s(a),d=s(r);for(const[p,h]of Object.entries(c)){const t=d[p];(null==t?void 0:t.type)===h.type&&(null==(i=null==o?void 0:o.content)?void 0:i[p])&&(u[p]=o.content[p])}this.blocks[n]={...l,id:o.id,content:u},this.save()},deselect(t){const e=this.selected.findIndex((e=>e===t.id));-1!==e&&this.selected.splice(e,1)},deselectAll(){this.selected=[]},async duplicate(t,e){const i={...this.$helper.clone(t),id:this.$helper.uuid()};this.blocks.splice(e+1,0,i),this.save()},fieldset(t){return this.fieldsets[t.type]??{icon:"box",name:t.type,tabs:{content:{fields:{}}},type:t.type}},find(t){return this.blocks.find((e=>e.id===t))},findIndex(t){return this.blocks.findIndex((e=>e.id===t))},focus(t){const e=this.ref(t);this.selected=[(null==t?void 0:t.id)??this.blocks[0]],null==e||e.focus(),null==e||e.$el.scrollIntoView({block:"nearest"})},focusOrOpen(t){this.fieldsets[t.type].wysiwyg?this.focus(t):this.open(t)},hide(t){Vue.set(t,"isHidden",!0),this.save()},isInputEvent(){const t=document.querySelector(":focus");return null==t?void 0:t.matches("input, textarea, [contenteditable], .k-writer")},isLastSelected(t){const[e]=this.selected.slice(-1);return e&&t.id===e},isOnlyInstance:()=>1===document.querySelectorAll(".k-blocks").length,isSelected(t){return this.selected.includes(t.id)},async merge(){if(this.isMergable){const t=this.selected.map((t=>this.find(t)));this.ref(t[0]).$refs.editor.merge(t);for(const e of t.slice(1))this.remove(e);await this.$nextTick(),this.focus(t[0])}},move(t){if(t.from!==t.to){const e=t.draggedContext.element,i=t.relatedContext.component.componentData||t.relatedContext.component.$parent.componentData;if(!1===Object.keys(i.fieldsets).includes(e.type))return!1;if(!0===i.isFull)return!1}return!0},onBlur(){0===this.selected.length&&(this.isMultiSelectKey=!1)},onClickBlock(t,e){e&&this.isMultiSelectKey&&this.onKey(e),this.isMultiSelectKey&&(e.preventDefault(),e.stopPropagation(),this.isSelected(t)?this.deselect(t):this.select(t))},onClickGlobal(t){var e;if("function"==typeof t.target.closest&&(t.target.closest(".k-dialog")||t.target.closest(".k-drawer")))return;const i=document.querySelector(".k-overlay:last-of-type");!1!==this.$el.contains(t.target)||!1!==(null==i?void 0:i.contains(t.target))?i&&!1===(null==(e=this.$el.closest(".k-layout-column"))?void 0:e.contains(t.target))&&this.deselectAll():this.deselectAll()},onCopy(t){return!1!==this.$el.contains(t.target)&&!0!==this.isEditing&&!0!==this.$panel.dialog.isOpen&&!0!==this.isInputEvent(t)&&this.copy(t)},onFocus(t){!1===this.isMultiSelectKey&&(this.selected=[t.id])},async onKey(t){if(this.isMultiSelectKey=t.metaKey||t.ctrlKey||t.altKey,"Escape"===t.code&&this.selected.length>1){const t=this.find(this.selected[0]);await this.$nextTick(),this.focus(t)}},onPaste(t){return!0!==this.isInputEvent(t)&&(!0!==this.isEditing&&!0!==this.$panel.dialog.isOpen&&((0!==this.selected.length||!1!==this.$el.contains(t.target))&&this.paste(t)))},open(t){var e;null==(e=this.$refs["block-"+t.id])||e[0].open()},async paste(t,e){const i=this.$helper.clipboard.read(t);let n=await this.$api.post(this.endpoints.field+"/paste",{html:i});if(void 0===e){let t=this.selected[this.selected.length-1];-1===(e=this.findIndex(t))&&(e=this.blocks.length),e++}if(this.max){const t=this.max-this.blocks.length;n=n.slice(0,t)}this.blocks.splice(e,0,...n),this.save(),this.$panel.notification.success({message:this.$t("paste.success",{count:n.length}),icon:"download"})},pasteboard(){this.$panel.dialog.open({component:"k-block-pasteboard",on:{paste:this.paste}})},prevNext(t){var e;if(this.blocks[t])return null==(e=this.$refs["block-"+this.blocks[t].id])?void 0:e[0]},ref(t){var e,i;return null==(i=this.$refs["block-"+((null==t?void 0:t.id)??(null==(e=this.blocks[0])?void 0:e.id))])?void 0:i[0]},remove(t){const e=this.findIndex(t.id);-1!==e&&(this.deselect(t),this.$delete(this.blocks,e),this.save())},removeAll(){this.$panel.dialog.open({component:"k-remove-dialog",props:{text:this.$t("field.blocks.delete.confirm.all"),submitButton:this.$t("delete.all")},on:{submit:()=>{this.selected=[],this.blocks=[],this.save(),this.$panel.dialog.close()}}})},removeSelected(){this.$panel.dialog.open({component:"k-remove-dialog",props:{text:this.$t("field.blocks.delete.confirm.selected")},on:{submit:()=>{for(const t of this.selected){const e=this.findIndex(t);-1!==e&&this.$delete(this.blocks,e)}this.deselectAll(),this.save(),this.$panel.dialog.close()}}})},save(){this.$emit("input",this.blocks)},select(t){!1===this.isSelected(t)&&(this.selected.push(t.id),this.selected.sort(((t,e)=>this.findIndex(t)-this.findIndex(e))))},selectDown(){const t=this.selected[this.selected.length-1],e=this.findIndex(t)+1;e |<\/p>)/gi,""),this.$emit("input",this.html)):this.$emit("input",this.list="")}}},(function(){var t=this;return(0,t._self._c)("k-writer",t._b({ref:"input",staticClass:"k-list-input",attrs:{extensions:t.listExtensions,value:t.list},on:{input:t.onInput}},"k-writer",t.$props,!1))}),[],!1,null,null,null,null).exports;const Kn=at({mixins:[Pe,Fe,Hn],inheritAttrs:!1,methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-list-field",attrs:{input:t._uid,counter:!1}},"k-field",t.$props,!1),[e("k-input",t._b({ref:"input",attrs:{id:t._uid,type:"list",theme:"field"},on:{input:function(e){return t.$emit("input",e)}}},"k-input",t.$props,!1))],1)}),[],!1,null,null,null,null).exports,Wn={mixins:[H,K,G,Me],inheritAttrs:!1,props:{draggable:{default:!0,type:Boolean},layout:String,max:Number,min:Number,sort:{default:!1,type:Boolean},value:{default:()=>[],type:Array}}};const Jn=at({mixins:[Wn],data:()=>({editing:null,tags:[]}),computed:{dragOptions(){return{delay:1,disabled:!this.isDraggable,draggable:".k-tag",handle:".k-tag-text"}},isDraggable(){return!0!==this.sort&&!1!==this.draggable&&0!==this.tags.length&&!0!==this.disabled},isFull(){return!!this.max&&this.tags.length>=this.max},replacable(){return this.options.filter((t=>{var e;return!1===this.value.includes(t.value)||t.value===(null==(e=this.editing)?void 0:e.tag.value)}))},selectable(){return this.options.filter((t=>!1===this.value.includes(t.value)))},selectorOptions(){return{accept:this.accept,disabled:this.disabled,ignore:this.value,search:this.search}},showAddSelector(){return!0!==this.disabled&&(!0!==this.isFull&&("all"===this.accept||0!==this.selectable.length))}},watch:{value:{handler(){!0===this.sort?this.tags=this.sortByOptions(this.value):this.tags=this.value.map(this.tag).filter((t=>t))},immediate:!0}},methods:{add(t){return t=this.tag(t),!0!==this.isFull&&(!1!==this.isAllowed(t)&&(this.tags.push(t),void this.save()))},edit(t,e,i){return this.editing={index:t,tag:e},this.$refs.editor.open(i.target.closest(".k-tag"))},focus(t="last"){this.$refs.navigation.move(t)},index(t){return this.tags.findIndex((e=>e.value===t.value))},isAllowed(t){return"object"==typeof t&&0!==t.value.length&&(!("options"===this.accept&&!this.option(t))&&!0!==this.isDuplicate(t))},isDuplicate(t){return!0===this.value.includes(t.value)},navigate(t){this.focus(t)},remove(t){this.tags.splice(t,1),0===this.tags.length?this.navigate("last"):this.navigate("prev"),this.save()},replace(t){const{index:e}=this.editing,i=this.tag(t);if(!1===this.isAllowed(i))return!1;this.$set(this.tags,e,i),this.save(),this.navigate(e),this.editing=null},open(){this.$refs.selector?(this.$refs.toggle.focus(),this.$refs.selector.open(this.$refs.toggle)):this.focus()},option(t){return this.options.find((e=>e.value===t.value))},select(){this.focus()},save(){this.$emit("input",this.tags.map((t=>t.value)))},sortByOptions(t){t=this.$helper.object.clone(t);const e=[];for(const i of this.options){const n=t.indexOf(i.value);-1!==n&&(e.push(i),t.splice(n,1))}for(const i of t)e.push(this.tag(i));return e},tag(t){"object"!=typeof t&&(t={value:t});const e=this.option(t);return"options"===this.accept?e:e||{text:this.$helper.string.escapeHTML(t.text??t.value),value:t.value}},toggle(t){if(t.metaKey||t.altKey||t.ctrlKey)return!1;String.fromCharCode(t.keyCode).match(/(\w)/g)&&this.$refs.selector.open()}}},(function(){var t=this,e=t._self._c;return e("k-navigate",{ref:"navigation",attrs:{axis:"list"===t.layout?"y":"x"}},[e("k-draggable",{staticClass:"k-tags",attrs:{list:t.tags,options:t.dragOptions,"data-layout":t.layout},on:{end:t.save},scopedSlots:t._u([{key:"footer",fn:function(){var i;return[t.showAddSelector?e("k-selector-dropdown",t._b({ref:"selector",attrs:{options:t.selectable},on:{create:function(e){return t.add(e)},select:function(e){return t.add(e)}}},"k-selector-dropdown",t.selectorOptions,!1),[e("k-button",{ref:"toggle",staticClass:"k-tags-toggle",attrs:{id:t.id,autofocus:t.autofocus,icon:"add",size:"xs"},nativeOn:{click:function(e){return t.$refs.selector.open()},keydown:[function(e){return t.toggle.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete","Del"])?null:t.navigate(t.tags.length-1)}]}})],1):t._e(),e("k-selector-dropdown",t._b({ref:"editor",attrs:{options:t.replacable,value:null==(i=t.editing)?void 0:i.tag.text},on:{create:function(e){return t.replace(e)},select:function(e){return t.replace(e)}}},"k-selector-dropdown",t.selectorOptions,!1))]},proxy:!0}])},t._l(t.tags,(function(i,n){return e("k-tag",{key:n,attrs:{disabled:t.disabled,image:i.image,removable:!t.disabled,name:"tag"},on:{remove:function(e){return t.remove(n,i)}},nativeOn:{click:function(t){t.stopPropagation()},keypress:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.edit(n,i,e)},dblclick:function(e){return t.edit(n,i,e)}}},[e("span",{domProps:{innerHTML:t._s(i.text)}})])})),1)],1)}),[],!1,null,null,null,null).exports,Gn={mixins:[it,lt,Wn]};const Xn=at({mixins:[Ii,Gn],watch:{value:{handler(){this.$emit("invalid",this.$v.$invalid,this.$v)},immediate:!0}},methods:{focus(){this.$refs.tags.open()}},validations(){return{value:{required:!this.required||t.required,minLength:!this.min||t.minLength(this.min),maxLength:!this.max||t.maxLength(this.max)}}}},(function(){var t=this,e=t._self._c;return e("div",{staticClass:"k-tags-input"},[e("k-tags",t._b({ref:"tags",on:{input:function(e){return t.$emit("input",e)}},nativeOn:{click:function(t){t.stopPropagation()}}},"k-tags",t.$props,!1))],1)}),[],!1,null,null,null,null).exports;const Zn=at({mixins:[Pe,Fe,Gn,Li],inheritAttrs:!1,computed:{hasNoOptions(){return 0===this.options.length&&"options"===this.accept}},methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-tags-field",attrs:{input:t._uid,counter:t.counterOptions}},"k-field",t.$props,!1),[t.hasNoOptions?e("k-empty",{attrs:{icon:t.icon,text:t.$t("options.none")}}):e("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field",type:"tags"}},"k-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports;const Qn=at({extends:Zn,inheritAttrs:!1},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-multiselect-field",attrs:{input:t._uid,counter:t.counterOptions}},"k-field",t.$props,!1),[t.hasNoOptions?e("k-empty",{attrs:{icon:t.icon,text:t.$t("options.none")}}):e("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field",type:"multiselect"}},"k-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports,ts={mixins:[ji,ot],props:{max:Number,min:Number,name:[Number,String],preselect:Boolean,step:[Number,String],value:{type:[Number,String],default:""}}};const es=at({mixins:[Ii,ts],data(){return{number:this.format(this.value),stepNumber:this.format(this.step),timeout:null,listeners:{...this.$listeners,input:t=>this.onInput(t.target.value),blur:this.onBlur}}},watch:{value(t){this.number=t},number:{immediate:!0,handler(){this.onInvalid()}}},mounted(){this.$props.autofocus&&this.focus(),this.$props.preselect&&this.select()},methods:{decimals(){const t=Number(this.step??0);return Math.floor(t)===t?0:-1!==t.toString().indexOf("e")?parseInt(t.toFixed(16).split(".")[1].split("").reverse().join("")).toString().length:t.toString().split(".")[1].length??0},format(t){if(isNaN(t)||""===t)return"";const e=this.decimals();return t=e?parseFloat(t).toFixed(e):Number.isInteger(this.step)?parseInt(t):parseFloat(t)},clean(){this.number=this.format(this.number)},emit(t){t=parseFloat(t),isNaN(t)&&(t=""),t!==this.value&&this.$emit("input",t)},onInvalid(){this.$emit("invalid",this.$v.$invalid,this.$v)},onInput(t){this.number=t,this.emit(t)},onBlur(){this.clean(),this.emit(this.number)},select(){this.$refs.input.select()}},validations(){return{value:{required:!this.required||t.required,min:!this.min||t.minValue(this.min),max:!this.max||t.maxValue(this.max)}}}},(function(){var t=this;return(0,t._self._c)("input",t._g(t._b({ref:"input",staticClass:"k-number-input",attrs:{step:t.stepNumber,type:"number"},domProps:{value:t.number},on:{keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"s",void 0,e.key,void 0)?null:e.ctrlKey?t.clean.apply(null,arguments):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"s",void 0,e.key,void 0)?null:e.metaKey?t.clean.apply(null,arguments):null}]}},"input",{autofocus:t.autofocus,disabled:t.disabled,id:t.id,max:t.max,min:t.min,name:t.name,placeholder:t.placeholder,required:t.required},!1),t.listeners))}),[],!1,null,null,null,null).exports;const is=at({mixins:[Pe,Fe,ts],inheritAttrs:!1,methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-number-field",attrs:{input:t._uid}},"k-field",t.$props,!1),[e("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field",type:"number"}},"k-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports;const ns=at({mixins:[Pe,Fe],props:{empty:String,fields:[Object,Array],value:[String,Object]},data:()=>({object:{}}),computed:{hasFields(){return this.$helper.object.length(this.fields)>0},isEmpty(){return null===this.object||0===this.$helper.object.length(this.object)},isInvalid(){return!0===this.required&&this.isEmpty}},watch:{value:{handler(t){this.object=this.valueToObject(t)},immediate:!0}},methods:{add(){this.object=this.$helper.field.form(this.fields),this.save(),this.open()},cell(t,e){this.$set(this.object,t,e),this.save()},form(t){const e=this.$helper.field.subfields(this,this.fields);if(t)for(const i in e)e[i].autofocus=i===t;return e},remove(){this.object={},this.save()},open(t){if(this.disabled)return!1;this.$panel.drawer.open({component:"k-form-drawer",props:{breadcrumb:[],icon:"box",tab:"object",tabs:{object:{fields:this.form(t)}},title:this.label,value:this.object},on:{input:t=>{for(const e in t)this.$set(this.object,e,t[e]);this.save()}}})},save(){this.$emit("input",this.object)},valueToObject:t=>"object"!=typeof t?{}:t}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-object-field",scopedSlots:t._u([!t.disabled&&t.hasFields?{key:"options",fn:function(){return[t.isEmpty?e("k-button",{attrs:{icon:"add",size:"xs",variant:"filled"},on:{click:t.add}}):e("k-button",{attrs:{icon:"remove",size:"xs",variant:"filled"},on:{click:t.remove}})]},proxy:!0}:null],null,!0)},"k-field",t.$props,!1),[t.hasFields?[t.isEmpty?e("k-empty",{attrs:{"data-invalid":t.isInvalid,icon:"box"},on:{click:t.add}},[t._v(" "+t._s(t.empty??t.$t("field.object.empty"))+" ")]):e("table",{staticClass:"k-table k-object-field-table",attrs:{"data-invalid":t.isInvalid}},[e("tbody",[t._l(t.fields,(function(i){return[i.saveable&&t.$helper.field.isVisible(i,t.value)?e("tr",{key:i.name,on:{click:function(e){return t.open(i.name)}}},[e("th",{attrs:{"data-has-button":"","data-mobile":"true"}},[e("button",{attrs:{type:"button"}},[t._v(t._s(i.label))])]),e("k-table-cell",{attrs:{column:i,field:i,mobile:!0,value:t.object[i.name]},on:{input:function(e){return t.cell(i.name,e)}}})],1):t._e()]}))],2)])]:[e("k-empty",{attrs:{icon:"box"}},[t._v(t._s(t.$t("fields.empty")))])]],2)}),[],!1,null,null,null,null).exports;const ss=at({extends:Ji,type:"pages",computed:{emptyProps(){return{icon:"page",text:this.empty??this.$t("field.pages.empty")}}}},null,null,!1,null,null,null,null).exports,os={mixins:[Ui],props:{autocomplete:{type:String,default:"new-password"},type:{type:String,default:"password"}}};const ls=at({extends:Hi,mixins:[os]},null,null,!1,null,null,null,null).exports;const rs=at({mixins:[Pe,Fe,os,Li],inheritAttrs:!1,props:{minlength:{type:Number,default:8},icon:{type:String,default:"key"}},methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-password-field",attrs:{input:t._uid,counter:t.counterOptions},scopedSlots:t._u([{key:"options",fn:function(){return[t._t("options")]},proxy:!0}],null,!0)},"k-field",t.$props,!1),[e("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field",type:"password"}},"k-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports,as={mixins:[ji,nt],props:{columns:Number,reset:{default:!0,type:Boolean},theme:String,value:[String,Number,Boolean]}};const us=at({mixins:[Ii,as],computed:{choices(){return this.options.map(((t,e)=>({autofocus:this.autofocus&&0===e,checked:this.value===t.value,disabled:this.disabled||t.disabled,info:t.info,label:t.text,name:this.name??this.id,type:"radio",value:t.value})))}},watch:{value:{handler(){this.validate()},immediate:!0}},methods:{focus(){var t;null==(t=this.$el.querySelector("input"))||t.focus()},select(){this.focus()},toggle(t){t===this.value&&this.reset&&!this.required&&this.$emit("input","")},validate(){this.$emit("invalid",this.$v.$invalid,this.$v)}},validations(){return{value:{required:!this.required||t.required}}}},(function(){var t=this,e=t._self._c;return e("ul",{staticClass:"k-radio-input k-grid",style:"--columns:"+t.columns,attrs:{"data-variant":"choices"}},t._l(t.choices,(function(i,n){return e("li",{key:n},[e("k-choice-input",t._b({on:{input:function(e){return t.$emit("input",i.value)}},nativeOn:{click:function(e){return e.stopPropagation(),t.toggle(i.value)}}},"k-choice-input",i,!1))],1)})),0)}),[],!1,null,null,null,null).exports;const cs=at({mixins:[Pe,Fe,as],inheritAttrs:!1,methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-radio-field"},"k-field",t.$props,!1),[e("k-radio-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field"}},"k-radio-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports,ds={mixins:[ji],props:{default:[Number,String],max:{type:Number,default:100},min:{type:Number,default:0},step:{type:[Number,String],default:1},tooltip:{type:[Boolean,Object],default:()=>({before:null,after:null})},value:[Number,String]}};const ps=at({mixins:[Ii,ds],computed:{baseline(){return this.min<0?0:this.min},label(){return this.required||this.value||0===this.value?this.format(this.position):"–"},position(){return this.value||0===this.value?this.value:this.default??this.baseline}},watch:{position(){this.onInvalid()}},mounted(){this.onInvalid(),this.$props.autofocus&&this.focus()},methods:{focus(){var t;null==(t=this.$el.querySelector("input"))||t.focus()},format(t){const e=document.lang?document.lang.replace("_","-"):"en",i=this.step.toString().split("."),n=i.length>1?i[1].length:0;return new Intl.NumberFormat(e,{minimumFractionDigits:n}).format(t)},onInvalid(){this.$emit("invalid",this.$v.$invalid,this.$v)},onInput(t){this.$emit("input",t)}},validations(){return{position:{required:!this.required||t.required,min:!this.min||t.minValue(this.min),max:!this.max||t.maxValue(this.max)}}}},(function(){var t=this,e=t._self._c;return e("div",{staticClass:"k-range-input",attrs:{"data-disabled":t.disabled}},[e("input",t._b({ref:"range",attrs:{type:"range"},domProps:{value:t.position},on:{input:function(e){return t.$emit("input",e.target.valueAsNumber)}}},"input",{autofocus:t.autofocus,disabled:t.disabled,id:t.id,max:t.max,min:t.min,name:t.name,required:t.required,step:t.step},!1)),t.tooltip?e("output",{staticClass:"k-range-input-tooltip",attrs:{for:t.id}},[t.tooltip.before?e("span",{staticClass:"k-range-input-tooltip-before"},[t._v(t._s(t.tooltip.before))]):t._e(),e("span",{staticClass:"k-range-input-tooltip-text"},[t._v(t._s(t.label))]),t.tooltip.after?e("span",{staticClass:"k-range-input-tooltip-after"},[t._v(t._s(t.tooltip.after))]):t._e()]):t._e()])}),[],!1,null,null,null,null).exports;const hs=at({mixins:[Fe,Pe,ds],inheritAttrs:!1,methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-range-field",attrs:{input:t._uid}},"k-field",t.$props,!1),[e("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field",type:"range"}},"k-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports,ms={mixins:[ji,nt,ot],props:{ariaLabel:String,default:String,empty:{type:[Boolean,String],default:!0},value:{type:[String,Number,Boolean],default:""}}};const fs=at({mixins:[Ii,ms],data(){return{selected:this.value,listeners:{...this.$listeners,click:t=>this.onClick(t),change:t=>this.onInput(t.target.value),input:()=>{}}}},computed:{emptyOption(){return this.placeholder??"—"},hasEmptyOption(){return!1!==this.empty&&!(this.required&&this.default)},isEmpty(){return null===this.selected||void 0===this.selected||""===this.selected},label(){const t=this.text(this.selected);return""===this.selected||null===this.selected||null===t?this.emptyOption:t}},watch:{value(t){this.selected=t,this.onInvalid()}},mounted(){this.onInvalid(),this.$props.autofocus&&this.focus()},methods:{focus(){this.$refs.input.focus()},onClick(t){t.stopPropagation(),this.$emit("click",t)},onInvalid(){this.$emit("invalid",this.$v.$invalid,this.$v)},onInput(t){this.selected=t,this.$emit("input",this.selected)},select(){this.focus()},text(t){let e=null;for(const i of this.options)i.value==t&&(e=i.text);return e}},validations(){return{selected:{required:!this.required||t.required}}}},(function(){var t=this,e=t._self._c;return e("span",{staticClass:"k-select-input",attrs:{"data-disabled":t.disabled,"data-empty":t.isEmpty}},[e("select",t._g({ref:"input",staticClass:"k-select-input-native",attrs:{id:t.id,autofocus:t.autofocus,"aria-label":t.ariaLabel,disabled:t.disabled,name:t.name,required:t.required},domProps:{value:t.selected}},t.listeners),[t.hasEmptyOption?e("option",{attrs:{disabled:t.required,value:""}},[t._v(" "+t._s(t.emptyOption)+" ")]):t._e(),t._l(t.options,(function(i){return e("option",{key:i.value,attrs:{disabled:i.disabled},domProps:{value:i.value}},[t._v(" "+t._s(i.text)+" ")])}))],2),t._v(" "+t._s(t.label)+" ")])}),[],!1,null,null,null,null).exports;const gs=at({mixins:[Pe,Fe,ms],inheritAttrs:!1,props:{icon:{type:String,default:"angle-down"}},methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-select-field",attrs:{input:t._uid}},"k-field",t.$props,!1),[e("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,theme:"field",type:"select"}},"k-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports,ks={mixins:[Ui],props:{allow:{type:String,default:""},formData:{type:Object,default:()=>({})},sync:{type:String}}};const bs=at({extends:Hi,mixins:[ks],data(){return{slug:this.sluggify(this.value),slugs:this.$panel.language.rules??this.$panel.system.slugs,syncValue:null}},watch:{formData:{handler(t){return!this.disabled&&(!(!this.sync||void 0===t[this.sync])&&(t[this.sync]!=this.syncValue&&(this.syncValue=t[this.sync],void this.onInput(this.sluggify(this.syncValue)))))},deep:!0,immediate:!0},value(t){(t=this.sluggify(t))!==this.slug&&(this.slug=t,this.$emit("input",this.slug))}},methods:{sluggify(t){return this.$helper.slug(t,[this.slugs,this.$panel.system.ascii],this.allow)},onInput(t){this.slug=this.sluggify(t),this.$emit("input",this.slug)}}},(function(){var t=this;return(0,t._self._c)("input",t._g(t._b({directives:[{name:"direction",rawName:"v-direction"}],ref:"input",staticClass:"k-text-input",attrs:{autocomplete:"off",spellcheck:"false",type:"text"},domProps:{value:t.slug}},"input",{autofocus:t.autofocus,disabled:t.disabled,id:t.id,minlength:t.minlength,name:t.name,pattern:t.pattern,placeholder:t.placeholder,required:t.required},!1),t.listeners))}),[],!1,null,null,null,null).exports;const vs=at({mixins:[Pe,Fe,ks],inheritAttrs:!1,props:{icon:{type:String,default:"url"},path:{type:String},wizard:{type:[Boolean,Object],default:!1}},data(){return{slug:this.value}},computed:{preview(){return void 0!==this.help?this.help:void 0!==this.path?this.path+this.value:null}},watch:{value(){this.slug=this.value}},methods:{focus(){this.$refs.input.focus()},onWizard(){var t;this.formData[null==(t=this.wizard)?void 0:t.field]&&(this.slug=this.formData[this.wizard.field])}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-slug-field",attrs:{input:t._uid,help:t.preview},scopedSlots:t._u([t.wizard&&t.wizard.text?{key:"options",fn:function(){return[e("k-button",{attrs:{text:t.wizard.text,icon:"sparkling"},on:{click:t.onWizard}})]},proxy:!0}:null],null,!0)},"k-field",t.$props,!1),[e("k-input",t._g(t._b({ref:"input",attrs:{id:t._uid,value:t.slug,theme:"field",type:"slug"}},"k-input",t.$props,!1),t.$listeners))],1)}),[],!1,null,null,null,null).exports;const ys=at({mixins:[Pe],inheritAttrs:!1,props:{autofocus:Boolean,columns:Object,duplicate:{type:Boolean,default:!0},empty:String,fields:[Array,Object],limit:Number,max:Number,min:Number,prepend:{type:Boolean,default:!1},sortable:{type:Boolean,default:!0},sortBy:String,value:{type:Array,default:()=>[]}},data:()=>({items:[],page:1}),computed:{dragOptions(){return{disabled:!this.isSortable,fallbackClass:"k-sortable-row-fallback"}},index(){return this.limit?(this.page-1)*this.limit+1:1},more(){return!0!==this.disabled&&!(this.max&&this.items.length>=this.max)},hasFields(){return this.$helper.object.length(this.fields)>0},isInvalid(){return!0!==this.disabled&&(!!(this.min&&this.items.length
<\/p><\/li><\/ul>)$/,"
<\/p><\/li>)/,"
<\/p>)$/,""),i[1]=i[1].replace(/^(
<\/p>)/,"")),this.$emit("split",i.map((t=>({text:t})))))}}},(function(){var t=this;return(0,t._self._c)(t.component,t._b({ref:"input",tag:"component",staticClass:"k-block-type-text-input",attrs:{keys:t.keys,value:t.content.text},on:{input:function(e){return t.update({text:e})}}},"component",t.textField,!1))}),[],!1,null,null,null,null).exports,yi=Object.freeze(Object.defineProperty({__proto__:null,default:vi},Symbol.toStringTag,{value:"Module"}));const $i=ut({computed:{captionMarks(){return this.field("caption",{marks:!0}).marks},video(){return this.$helper.embed.video(this.content.url??"",!0)}}},(function(){var t=this,e=t._self._c;return e("k-block-figure",{attrs:{caption:t.content.caption,"caption-marks":t.captionMarks,"empty-text":t.$t("field.blocks.video.placeholder")+" …","is-empty":!t.video,"empty-icon":"video"},on:{open:t.open,update:t.update}},[e("k-frame",{attrs:{ratio:"16/9"}},[t.video?e("iframe",{attrs:{src:t.video,referrerpolicy:"strict-origin-when-cross-origin"}}):t._e()])],1)}),[],!1,null,null,null,null).exports,wi=Object.freeze(Object.defineProperty({__proto__:null,default:$i},Symbol.toStringTag,{value:"Module"}));const xi=ut({inheritAttrs:!1,props:{attrs:{default:()=>({}),type:[Array,Object]},content:{default:()=>({}),type:[Array,Object]},endpoints:{default:()=>({}),type:[Array,Object]},fieldset:{default:()=>({}),type:Object},id:String,isBatched:Boolean,isFull:Boolean,isHidden:Boolean,isLastSelected:Boolean,isMergable:Boolean,isSelected:Boolean,name:String,next:Object,prev:Object,type:String},emits:["append","chooseToAppend","chooseToConvert","chooseToPrepend","close","copy","duplicate","focus","hide","merge","open","paste","prepend","remove","selectDown","selectUp","show","sortDown","sortUp","split","submit","update"],computed:{className(){let t=["k-block-type-"+this.type];return this.fieldset.preview!==this.type&&t.push("k-block-type-"+this.fieldset.preview),!1===this.wysiwyg&&t.push("k-block-type-default"),t},containerType(){const t=this.fieldset.preview;return!1!==t&&(t&&this.$helper.isComponent("k-block-type-"+t)?t:!!this.$helper.isComponent("k-block-type-"+this.type)&&this.type)},customComponent(){return this.wysiwyg?this.wysiwygComponent:"k-block-type-default"},isEditable(){return!1!==this.fieldset.editable},listeners(){return{append:t=>this.$emit("append",t),chooseToAppend:t=>this.$emit("chooseToAppend",t),chooseToConvert:t=>this.$emit("chooseToConvert",t),chooseToPrepend:t=>this.$emit("chooseToPrepend",t),close:()=>this.$emit("close"),copy:()=>this.$emit("copy"),duplicate:()=>this.$emit("duplicate"),focus:()=>this.$emit("focus"),hide:()=>this.$emit("hide"),merge:()=>this.$emit("merge"),open:t=>this.open(t),paste:()=>this.$emit("paste"),prepend:t=>this.$emit("prepend",t),remove:()=>this.remove(),removeSelected:()=>this.$emit("removeSelected"),show:()=>this.$emit("show"),sortDown:()=>this.$emit("sortDown"),sortUp:()=>this.$emit("sortUp"),split:t=>this.$emit("split",t),update:t=>this.$emit("update",t)}},tabs(){const t=this.fieldset.tabs??{};for(const[e,i]of Object.entries(t))for(const[n]of Object.entries(i.fields??{}))t[e].fields[n].section=this.name,t[e].fields[n].endpoints={field:this.endpoints.field+"/fieldsets/"+this.type+"/fields/"+n,section:this.endpoints.section,model:this.endpoints.model};return t},wysiwyg(){return!1!==this.wysiwygComponent},wysiwygComponent(){return!!this.containerType&&"k-block-type-"+this.containerType}},methods:{backspace(t){if(t.target.matches("[contenteditable], input, textarea"))return!1;t.preventDefault(),this.remove()},close(){this.$panel.drawer.close(this.id)},focus(){var t,e;"function"==typeof(null==(t=this.$refs.editor)?void 0:t.focus)?this.$refs.editor.focus():null==(e=this.$refs.container)||e.focus()},goTo(t){var e;t&&(null==(e=t.$refs.container)||e.focus(),t.open(null,!0))},isSplitable(){var t;return!0!==this.isFull&&(!!this.$refs.editor&&((this.$refs.editor.isSplitable??!0)&&"function"==typeof(null==(t=this.$refs.editor)?void 0:t.split)))},onClose(){this.$emit("close"),this.focus()},onFocusIn(t){var e,i;(null==(i=null==(e=this.$refs.options)?void 0:e.$el)?void 0:i.contains(t.target))||this.$emit("focus",t)},onInput(t){this.$emit("update",t)},open(t,e=!1){this.isEditable&&!this.isBatched&&(this.$panel.drawer.open({component:"k-block-drawer",id:this.id,tab:t,on:{close:this.onClose,input:this.onInput,next:()=>this.goTo(this.next),prev:()=>this.goTo(this.prev),remove:this.remove,show:this.show,submit:this.submit},props:{hidden:this.isHidden,icon:this.fieldset.icon??"box",next:this.next,prev:this.prev,tabs:this.tabs,title:this.fieldset.name,value:this.content},replace:e}),this.$emit("open"))},remove(){if(this.isBatched)return this.$emit("removeSelected");this.$panel.dialog.open({component:"k-remove-dialog",props:{text:this.$t("field.blocks.delete.confirm")},on:{submit:()=>{this.$panel.dialog.close(),this.close(),this.$emit("remove",this.id)}}})},show(){this.$emit("show")},submit(){this.close(),this.$emit("submit")}}},(function(){var t=this,e=t._self._c;return e("div",{ref:"container",staticClass:"k-block-container",class:["k-block-container-fieldset-"+t.type,t.containerType?"k-block-container-type-"+t.containerType:""],attrs:{"data-batched":t.isBatched,"data-disabled":t.fieldset.disabled,"data-hidden":t.isHidden,"data-id":t.id,"data-last-selected":t.isLastSelected,"data-selected":t.isSelected,"data-translate":t.fieldset.translate,tabindex:"0"},on:{keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"j",void 0,e.key,void 0)?null:e.ctrlKey?(e.preventDefault(),e.stopPropagation(),t.$emit("merge")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:e.ctrlKey&&e.altKey?(e.preventDefault(),e.stopPropagation(),t.$emit("selectDown")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:e.ctrlKey&&e.altKey?(e.preventDefault(),e.stopPropagation(),t.$emit("selectUp")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:e.ctrlKey&&e.shiftKey?(e.preventDefault(),e.stopPropagation(),t.$emit("sortDown")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:e.ctrlKey&&e.shiftKey?(e.preventDefault(),e.stopPropagation(),t.$emit("sortUp")):null},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"backspace",void 0,e.key,void 0)?null:e.ctrlKey?(e.stopPropagation(),t.backspace.apply(null,arguments)):null}],focus:function(e){return e.stopPropagation(),t.$emit("focus")},focusin:function(e){return e.stopPropagation(),t.onFocusIn.apply(null,arguments)}}},[e("div",{staticClass:"k-block",class:t.className},[e(t.customComponent,t._g(t._b({ref:"editor",tag:"component",attrs:{tabs:t.tabs}},"component",t.$props,!1),t.listeners))],1),e("k-block-options",t._g({ref:"options",attrs:{"is-batched":t.isBatched,"is-editable":t.isEditable,"is-full":t.isFull,"is-hidden":t.isHidden,"is-mergable":t.isMergable,"is-splitable":t.isSplitable()}},{...t.listeners,split:()=>t.$refs.editor.split(),open:()=>{"function"==typeof t.$refs.editor.open?t.$refs.editor.open():t.open()}}))],1)}),[],!1,null,null,null,null).exports;const _i=ut({inheritAttrs:!1,props:{autofocus:Boolean,disabled:Boolean,empty:String,endpoints:Object,fieldsets:Object,fieldsetGroups:Object,group:String,max:{type:Number,default:null},value:{type:Array,default:()=>[]}},data(){return{blocks:this.value??[],isEditing:!1,isMultiSelectKey:!1,selected:[]}},computed:{draggableOptions(){return{id:this._uid,handle:".k-sort-handle",list:this.blocks,move:this.move,delay:10,data:{fieldsets:this.fieldsets,isFull:this.isFull},options:{group:this.group}}},hasFieldsets(){return this.$helper.object.length(this.fieldsets)>0},isEmpty(){return 0===this.blocks.length},isFull(){return null!==this.max&&this.blocks.length>=this.max},isMergable(){if(this.selected.length<2)return!1;const t=this.selected.map((t=>this.find(t)));return!(new Set(t.map((t=>t.type))).size>1)&&"function"==typeof this.ref(t[0]).$refs.editor.merge}},watch:{value(){this.blocks=this.value}},created(){this.$events.on("blur",this.onBlur),this.$events.on("click",this.onClickGlobal),this.$events.on("copy",this.onCopy),this.$events.on("keydown",this.onKey),this.$events.on("keyup",this.onKey),this.$events.on("paste",this.onPaste)},destroyed(){this.$events.off("blur",this.onBlur),this.$events.off("click",this.onClickGlobal),this.$events.off("copy",this.onCopy),this.$events.off("keydown",this.onKey),this.$events.off("keyup",this.onKey),this.$events.off("paste",this.onPaste)},mounted(){!0===this.$props.autofocus&&setTimeout(this.focus,100)},methods:{async add(t="text",e){const i=await this.$api.get(this.endpoints.field+"/fieldsets/"+t);this.blocks.splice(e,0,i),this.save(),await this.$nextTick(),this.focusOrOpen(i)},choose(t){if(1===this.$helper.object.length(this.fieldsets))return this.add(Object.values(this.fieldsets)[0].type,t);this.$panel.dialog.open({component:"k-block-selector",props:{fieldsetGroups:this.fieldsetGroups,fieldsets:this.fieldsets},on:{submit:e=>{this.add(e,t),this.$panel.dialog.close()},paste:e=>{this.paste(e,t)}}})},chooseToConvert(t){this.$panel.dialog.open({component:"k-block-selector",props:{disabledFieldsets:[t.type],fieldsetGroups:this.fieldsetGroups,fieldsets:this.fieldsets,headline:this.$t("field.blocks.changeType")},on:{submit:e=>{this.convert(e,t),this.$panel.dialog.close()},paste:this.paste}})},copy(t){if(0===this.blocks.length)return!1;if(0===this.selected.length)return!1;let e=[];for(const i of this.blocks)this.selected.includes(i.id)&&e.push(i);if(0===e.length)return!1;this.$helper.clipboard.write(e,t),this.selected=e.map((t=>t.id)),this.$panel.notification.success({message:this.$t("copy.success",{count:e.length}),icon:"template"})},copyAll(){this.selectAll(),this.copy(),this.deselectAll()},async convert(t,e){var i;const n=this.findIndex(e.id);if(-1===n)return!1;const s=t=>{let e={};for(const i of Object.values((null==t?void 0:t.tabs)??{}))e={...e,...i.fields};return e},o=this.blocks[n],l=await this.$api.get(this.endpoints.field+"/fieldsets/"+t),r=this.fieldsets[o.type],a=this.fieldsets[t];if(!a)return!1;let u=l.content;const c=s(a),d=s(r);for(const[p,h]of Object.entries(c)){const t=d[p];(null==t?void 0:t.type)===h.type&&(null==(i=null==o?void 0:o.content)?void 0:i[p])&&(u[p]=o.content[p])}this.blocks[n]={...l,id:o.id,content:u},this.save()},deselect(t){const e=this.selected.findIndex((e=>e===t.id));-1!==e&&this.selected.splice(e,1)},deselectAll(){this.selected=[]},async duplicate(t,e){const i={...this.$helper.clone(t),id:this.$helper.uuid()};this.blocks.splice(e+1,0,i),this.save()},fieldset(t){return this.fieldsets[t.type]??{icon:"box",name:t.type,tabs:{content:{fields:{}}},type:t.type}},find(t){return this.blocks.find((e=>e.id===t))},findIndex(t){return this.blocks.findIndex((e=>e.id===t))},focus(t){const e=this.ref(t);this.selected=[(null==t?void 0:t.id)??this.blocks[0]],null==e||e.focus(),null==e||e.$el.scrollIntoView({block:"nearest"})},focusOrOpen(t){this.fieldsets[t.type].wysiwyg?this.focus(t):this.open(t)},hide(t){Vue.set(t,"isHidden",!0),this.save()},isInputEvent(){const t=document.querySelector(":focus");return null==t?void 0:t.matches("input, textarea, [contenteditable], .k-writer")},isLastSelected(t){const[e]=this.selected.slice(-1);return e&&t.id===e},isOnlyInstance:()=>1===document.querySelectorAll(".k-blocks").length,isSelected(t){return this.selected.includes(t.id)},async merge(){if(this.isMergable){const t=this.selected.map((t=>this.find(t)));this.ref(t[0]).$refs.editor.merge(t);for(const e of t.slice(1))this.remove(e);await this.$nextTick(),this.focus(t[0])}},move(t){if(t.from!==t.to){const e=t.draggedContext.element,i=t.relatedContext.component.componentData||t.relatedContext.component.$parent.componentData;if(!1===Object.keys(i.fieldsets).includes(e.type))return!1;if(!0===i.isFull)return!1}return!0},onBlur(){0===this.selected.length&&(this.isMultiSelectKey=!1)},onClickBlock(t,e){e&&this.isMultiSelectKey&&this.onKey(e),this.isMultiSelectKey&&(e.preventDefault(),e.stopPropagation(),this.isSelected(t)?this.deselect(t):this.select(t))},onClickGlobal(t){var e;if("function"==typeof t.target.closest&&(t.target.closest(".k-dialog")||t.target.closest(".k-drawer")))return;const i=document.querySelector(".k-overlay:last-of-type");!1!==this.$el.contains(t.target)||!1!==(null==i?void 0:i.contains(t.target))?i&&!1===(null==(e=this.$el.closest(".k-layout-column"))?void 0:e.contains(t.target))&&this.deselectAll():this.deselectAll()},onCopy(t){return!1!==this.$el.contains(t.target)&&!0!==this.isEditing&&!0!==this.$panel.dialog.isOpen&&!0!==this.isInputEvent(t)&&this.copy(t)},onFocus(t){!1===this.isMultiSelectKey&&(this.selected=[t.id])},async onKey(t){if(this.isMultiSelectKey=t.metaKey||t.ctrlKey||t.altKey,"Escape"===t.code&&this.selected.length>1){const t=this.find(this.selected[0]);await this.$nextTick(),this.focus(t)}},onPaste(t){return!0!==this.isInputEvent(t)&&(!0!==this.isEditing&&!0!==this.$panel.dialog.isOpen&&((0!==this.selected.length||!1!==this.$el.contains(t.target))&&this.paste(t)))},open(t){var e;null==(e=this.$refs["block-"+t.id])||e[0].open()},async paste(t,e){const i=this.$helper.clipboard.read(t);let n=await this.$api.post(this.endpoints.field+"/paste",{html:i});if(void 0===e){let t=this.selected[this.selected.length-1];-1===(e=this.findIndex(t))&&(e=this.blocks.length),e++}if(this.max){const t=this.max-this.blocks.length;n=n.slice(0,t)}this.blocks.splice(e,0,...n),this.save(),this.$panel.notification.success({message:this.$t("paste.success",{count:n.length}),icon:"download"})},pasteboard(){this.$panel.dialog.open({component:"k-block-pasteboard",on:{paste:this.paste}})},prevNext(t){var e;if(this.blocks[t])return null==(e=this.$refs["block-"+this.blocks[t].id])?void 0:e[0]},ref(t){var e,i;return null==(i=this.$refs["block-"+((null==t?void 0:t.id)??(null==(e=this.blocks[0])?void 0:e.id))])?void 0:i[0]},remove(t){const e=this.findIndex(t.id);-1!==e&&(this.deselect(t),this.$delete(this.blocks,e),this.save())},removeAll(){this.$panel.dialog.open({component:"k-remove-dialog",props:{text:this.$t("field.blocks.delete.confirm.all"),submitButton:this.$t("delete.all")},on:{submit:()=>{this.selected=[],this.blocks=[],this.save(),this.$panel.dialog.close()}}})},removeSelected(){this.$panel.dialog.open({component:"k-remove-dialog",props:{text:this.$t("field.blocks.delete.confirm.selected")},on:{submit:()=>{for(const t of this.selected){const e=this.findIndex(t);-1!==e&&this.$delete(this.blocks,e)}this.deselectAll(),this.save(),this.$panel.dialog.close()}}})},save(){this.$emit("input",this.blocks)},select(t){!1===this.isSelected(t)&&(this.selected.push(t.id),this.selected.sort(((t,e)=>this.findIndex(t)-this.findIndex(e))))},selectDown(){const t=this.selected[this.selected.length-1],e=this.findIndex(t)+1;e |<\/p>)/gi,""),this.$emit("input",this.html)):this.$emit("input",this.list="")}}},(function(){var t=this;return(0,t._self._c)("k-writer",t._b({ref:"input",staticClass:"k-list-input",attrs:{extensions:t.listExtensions,value:t.list},on:{input:t.onInput}},"k-writer",t.$props,!1))}),[],!1,null,null,null,null).exports;const Wn=ut({mixins:[Fe,Ue,Vn],inheritAttrs:!1,methods:{focus(){this.$refs.input.focus()}}},(function(){var t=this,e=t._self._c;return e("k-field",t._b({staticClass:"k-list-field",attrs:{input:t._uid,counter:!1}},"k-field",t.$props,!1),[e("k-input",t._b({ref:"input",attrs:{id:t._uid,type:"list",theme:"field"},on:{input:function(e){return t.$emit("input",e)}}},"k-input",t.$props,!1))],1)}),[],!1,null,null,null,null).exports,Jn={mixins:[W,X,st],inheritAttrs:!1,props:{layout:String,sort:{default:!1,type:Boolean},value:{default:()=>[],type:Array}}};const Gn=ut({mixins:[Jn],props:{draggable:{default:!0,type:Boolean}},data:()=>({tags:[]}),computed:{dragOptions(){return{delay:1,disabled:!this.isDraggable,draggable:".k-tag",handle:".k-tag-text"}},isDraggable(){return!0!==this.sort&&!1!==this.draggable&&0!==this.tags.length&&!0!==this.disabled}},watch:{value:{handler(){let t=this.$helper.object.clone(this.value);if(!0===this.sort){const e=[];for(const i of this.options){const n=t.indexOf(i.value);-1!==n&&(e.push(i),t.splice(n,1))}e.push(...t),t=e}this.tags=t.map(this.tag).filter((t=>t))},immediate:!0}},methods:{edit(t,e,i){!1===this.disabled&&this.$emit("edit",t,e,i)},focus(t="last"){this.$refs.navigate.move(t)},index(t){return this.tags.findIndex((e=>e.value===t.value))},input(){this.$emit("input",this.tags.map((t=>t.value)))},navigate(t){this.focus(t)},remove(t){this.tags.length<=1?this.navigate("last"):this.navigate("prev"),this.tags.splice(t,1),this.input()},option(t){return this.options.find((e=>e.value===t.value))},select(){this.focus()},tag(t){"object"!=typeof t&&(t={value:t});const e=this.option(t);return e||{text:this.$helper.string.escapeHTML(t.text??t.value),value:t.value}}}},(function(){var t=this,e=t._self._c;return e("k-navigate",{ref:"navigate",attrs:{axis:"list"===t.layout?"y":"x",select:":where(.k-tag, .k-tags-navigatable):not(:disabled)"}},[e("k-draggable",{staticClass:"k-tags",attrs:{list:t.tags,options:t.dragOptions,"data-layout":t.layout},on:{end:t.input},scopedSlots:t._u([{key:"footer",fn:function(){return[t._t("default")]},proxy:!0}],null,!0)},t._l(t.tags,(function(i,n){return e("k-tag",{key:n,attrs:{disabled:t.disabled,image:i.image,removable:!t.disabled,name:"tag"},on:{remove:function(e){return t.remove(n,i)}},nativeOn:{click:function(t){t.stopPropagation()},keypress:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.edit(n,i,e)},dblclick:function(e){return t.edit(n,i,e)}}},[e("span",{domProps:{innerHTML:t._s(i.text)}})])})),1)],1)}),[],!1,null,null,null,null).exports,Xn={mixins:[nt,rt,Jn,Te],props:{value:{default:()=>[],type:Array}},watch:{value:{handler(){this.$emit("invalid",this.$v.$invalid,this.$v)},immediate:!0}},validations(){return{value:{required:!this.required||t.required,minLength:!this.min||t.minLength(this.min),maxLength:!this.max||t.maxLength(this.max)}}},methods:{open(){this.$refs.dropdown.open(this.$el)}}};const Zn=ut({mixins:[Ie,Xn]},(function(){var t=this,e=t._self._c;return e("div",{staticClass:"k-multiselect-input"},[e("k-tags",t._b({ref:"tags",on:{input:function(e){return t.$emit("input",e)}},nativeOn:{click:function(e){return e.stopPropagation(),t.open.apply(null,arguments)}}},"k-tags",t.$props,!1),[!t.max||t.value.lengthi&&Mt(t,e,i+1),s=r.depth>i&&Mt(n,r,i+1),l=[];return Ct(null,t,i,l),o&&s&&e.index(i)==n.index(i)?(kt(o,s),Ot(Dt(o,Nt(t,e,n,r,i+1)),l)):(o&&Ot(Dt(o,Tt(t,e,i+1)),l),Ct(e,n,i,l),s&&Ot(Dt(s,Tt(n,r,i+1)),l)),Ct(r,null,i,l),new dt(l)}function Tt(t,e,n){let r=[];if(Ct(null,t,n,r),t.depth>n){Ot(Dt(Mt(t,e,n+1),Tt(t,e,n+1)),r)}return Ct(e,null,n,r),new dt(r)}vt.empty=new vt(dt.empty,0,0);class At{constructor(t,e,n){this.pos=t,this.path=e,this.parentOffset=n,this.depth=e.length/3-1}resolveDepth(t){return null==t?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[3*this.resolveDepth(t)]}index(t){return this.path[3*this.resolveDepth(t)+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t!=this.depth||this.textOffset?1:0)}start(t){return 0==(t=this.resolveDepth(t))?0:this.path[3*t-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(!(t=this.resolveDepth(t)))throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]}after(t){if(!(t=this.resolveDepth(t)))throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]+this.path[3*t].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=t.child(e);return n?t.child(e).cut(n):r}get nodeBefore(){let t=this.index(this.depth),e=this.pos-this.path[this.path.length-1];return e?this.parent.child(t).cut(0,e):0==t?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let n=this.path[3*e],r=0==e?0:this.path[3*e-1]+1;for(let i=0;i{t.state==i&&Wr(t)}),50)}function ai(t,e){let n=t.state.doc.resolve(e);if(!qn&&!Yn&&n.parent.inlineContent){let r=t.coordsAtPos(e);if(e>n.start()){let n=t.coordsAtPos(e-1),i=(n.top+n.bottom)/2;if(i>r.top&&i=t){this.children[s]==t&&(n=this.children[s+2]);break}let i=t+1,o=i+e.content.size;for(let s=0;s